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::delete].
387    fn delete(
388        &self,
389        _req: crate::model::backend_buckets::DeleteRequest,
390        _options: crate::RequestOptions,
391    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
392    {
393        gaxi::unimplemented::unimplemented_stub()
394    }
395
396    /// Implements [super::client::BackendBuckets::delete_signed_url_key].
397    fn delete_signed_url_key(
398        &self,
399        _req: crate::model::backend_buckets::DeleteSignedUrlKeyRequest,
400        _options: crate::RequestOptions,
401    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
402    {
403        gaxi::unimplemented::unimplemented_stub()
404    }
405
406    /// Implements [super::client::BackendBuckets::get].
407    fn get(
408        &self,
409        _req: crate::model::backend_buckets::GetRequest,
410        _options: crate::RequestOptions,
411    ) -> impl std::future::Future<
412        Output = crate::Result<crate::Response<crate::model::BackendBucket>>,
413    > + Send {
414        gaxi::unimplemented::unimplemented_stub()
415    }
416
417    /// Implements [super::client::BackendBuckets::get_iam_policy].
418    fn get_iam_policy(
419        &self,
420        _req: crate::model::backend_buckets::GetIamPolicyRequest,
421        _options: crate::RequestOptions,
422    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
423    {
424        gaxi::unimplemented::unimplemented_stub()
425    }
426
427    /// Implements [super::client::BackendBuckets::insert].
428    fn insert(
429        &self,
430        _req: crate::model::backend_buckets::InsertRequest,
431        _options: crate::RequestOptions,
432    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
433    {
434        gaxi::unimplemented::unimplemented_stub()
435    }
436
437    /// Implements [super::client::BackendBuckets::list].
438    fn list(
439        &self,
440        _req: crate::model::backend_buckets::ListRequest,
441        _options: crate::RequestOptions,
442    ) -> impl std::future::Future<
443        Output = crate::Result<crate::Response<crate::model::BackendBucketList>>,
444    > + Send {
445        gaxi::unimplemented::unimplemented_stub()
446    }
447
448    /// Implements [super::client::BackendBuckets::patch].
449    fn patch(
450        &self,
451        _req: crate::model::backend_buckets::PatchRequest,
452        _options: crate::RequestOptions,
453    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
454    {
455        gaxi::unimplemented::unimplemented_stub()
456    }
457
458    /// Implements [super::client::BackendBuckets::set_edge_security_policy].
459    fn set_edge_security_policy(
460        &self,
461        _req: crate::model::backend_buckets::SetEdgeSecurityPolicyRequest,
462        _options: crate::RequestOptions,
463    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
464    {
465        gaxi::unimplemented::unimplemented_stub()
466    }
467
468    /// Implements [super::client::BackendBuckets::set_iam_policy].
469    fn set_iam_policy(
470        &self,
471        _req: crate::model::backend_buckets::SetIamPolicyRequest,
472        _options: crate::RequestOptions,
473    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
474    {
475        gaxi::unimplemented::unimplemented_stub()
476    }
477
478    /// Implements [super::client::BackendBuckets::test_iam_permissions].
479    fn test_iam_permissions(
480        &self,
481        _req: crate::model::backend_buckets::TestIamPermissionsRequest,
482        _options: crate::RequestOptions,
483    ) -> impl std::future::Future<
484        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
485    > + Send {
486        gaxi::unimplemented::unimplemented_stub()
487    }
488
489    /// Implements [super::client::BackendBuckets::update].
490    fn update(
491        &self,
492        _req: crate::model::backend_buckets::UpdateRequest,
493        _options: crate::RequestOptions,
494    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
495    {
496        gaxi::unimplemented::unimplemented_stub()
497    }
498
499    /// Implements [super::client::BackendBuckets::get_operation].
500    fn get_operation(
501        &self,
502        _req: crate::model::global_operations::GetRequest,
503        _options: crate::RequestOptions,
504    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
505    {
506        gaxi::unimplemented::unimplemented_stub()
507    }
508
509    /// Returns the polling error policy.
510    ///
511    /// When mocking, this method is typically irrelevant. Do not try to verify
512    /// it is called by your mocks.
513    fn get_polling_error_policy(
514        &self,
515        _options: &crate::RequestOptions,
516    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
517        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
518    }
519
520    /// Returns the polling backoff policy.
521    ///
522    /// When mocking, this method is typically irrelevant. Do not try to verify
523    /// it is called by your mocks.
524    fn get_polling_backoff_policy(
525        &self,
526        _options: &crate::RequestOptions,
527    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
528        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
529    }
530}
531
532/// Defines the trait used to implement [super::client::BackendServices].
533///
534/// Application developers may need to implement this trait to mock
535/// `client::BackendServices`.  In other use-cases, application developers only
536/// use `client::BackendServices` and need not be concerned with this trait or
537/// its implementations.
538///
539/// Services gain new RPCs routinely. Consequently, this trait gains new methods
540/// too. To avoid breaking applications the trait provides a default
541/// implementation of each method. Most of these implementations just return an
542/// error.
543#[cfg(feature = "backend-services")]
544#[cfg_attr(docsrs, doc(cfg(feature = "backend-services")))]
545pub trait BackendServices: std::fmt::Debug + Send + Sync {
546    /// Implements [super::client::BackendServices::add_signed_url_key].
547    fn add_signed_url_key(
548        &self,
549        _req: crate::model::backend_services::AddSignedUrlKeyRequest,
550        _options: crate::RequestOptions,
551    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
552    {
553        gaxi::unimplemented::unimplemented_stub()
554    }
555
556    /// Implements [super::client::BackendServices::aggregated_list].
557    fn aggregated_list(
558        &self,
559        _req: crate::model::backend_services::AggregatedListRequest,
560        _options: crate::RequestOptions,
561    ) -> impl std::future::Future<
562        Output = crate::Result<crate::Response<crate::model::BackendServiceAggregatedList>>,
563    > + Send {
564        gaxi::unimplemented::unimplemented_stub()
565    }
566
567    /// Implements [super::client::BackendServices::delete].
568    fn delete(
569        &self,
570        _req: crate::model::backend_services::DeleteRequest,
571        _options: crate::RequestOptions,
572    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
573    {
574        gaxi::unimplemented::unimplemented_stub()
575    }
576
577    /// Implements [super::client::BackendServices::delete_signed_url_key].
578    fn delete_signed_url_key(
579        &self,
580        _req: crate::model::backend_services::DeleteSignedUrlKeyRequest,
581        _options: crate::RequestOptions,
582    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
583    {
584        gaxi::unimplemented::unimplemented_stub()
585    }
586
587    /// Implements [super::client::BackendServices::get].
588    fn get(
589        &self,
590        _req: crate::model::backend_services::GetRequest,
591        _options: crate::RequestOptions,
592    ) -> impl std::future::Future<
593        Output = crate::Result<crate::Response<crate::model::BackendService>>,
594    > + Send {
595        gaxi::unimplemented::unimplemented_stub()
596    }
597
598    /// Implements [super::client::BackendServices::get_effective_security_policies].
599    fn get_effective_security_policies(
600        &self,
601        _req: crate::model::backend_services::GetEffectiveSecurityPoliciesRequest,
602        _options: crate::RequestOptions,
603    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
604        gaxi::unimplemented::unimplemented_stub()
605    }
606
607    /// Implements [super::client::BackendServices::get_health].
608    fn get_health(
609        &self,
610        _req: crate::model::backend_services::GetHealthRequest,
611        _options: crate::RequestOptions,
612    ) -> impl std::future::Future<
613        Output = crate::Result<crate::Response<crate::model::BackendServiceGroupHealth>>,
614    > + Send {
615        gaxi::unimplemented::unimplemented_stub()
616    }
617
618    /// Implements [super::client::BackendServices::get_iam_policy].
619    fn get_iam_policy(
620        &self,
621        _req: crate::model::backend_services::GetIamPolicyRequest,
622        _options: crate::RequestOptions,
623    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
624    {
625        gaxi::unimplemented::unimplemented_stub()
626    }
627
628    /// Implements [super::client::BackendServices::insert].
629    fn insert(
630        &self,
631        _req: crate::model::backend_services::InsertRequest,
632        _options: crate::RequestOptions,
633    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
634    {
635        gaxi::unimplemented::unimplemented_stub()
636    }
637
638    /// Implements [super::client::BackendServices::list].
639    fn list(
640        &self,
641        _req: crate::model::backend_services::ListRequest,
642        _options: crate::RequestOptions,
643    ) -> impl std::future::Future<
644        Output = crate::Result<crate::Response<crate::model::BackendServiceList>>,
645    > + Send {
646        gaxi::unimplemented::unimplemented_stub()
647    }
648
649    /// Implements [super::client::BackendServices::list_usable].
650    fn list_usable(
651        &self,
652        _req: crate::model::backend_services::ListUsableRequest,
653        _options: crate::RequestOptions,
654    ) -> impl std::future::Future<
655        Output = crate::Result<crate::Response<crate::model::BackendServiceListUsable>>,
656    > + Send {
657        gaxi::unimplemented::unimplemented_stub()
658    }
659
660    /// Implements [super::client::BackendServices::patch].
661    fn patch(
662        &self,
663        _req: crate::model::backend_services::PatchRequest,
664        _options: crate::RequestOptions,
665    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
666    {
667        gaxi::unimplemented::unimplemented_stub()
668    }
669
670    /// Implements [super::client::BackendServices::set_edge_security_policy].
671    fn set_edge_security_policy(
672        &self,
673        _req: crate::model::backend_services::SetEdgeSecurityPolicyRequest,
674        _options: crate::RequestOptions,
675    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
676    {
677        gaxi::unimplemented::unimplemented_stub()
678    }
679
680    /// Implements [super::client::BackendServices::set_iam_policy].
681    fn set_iam_policy(
682        &self,
683        _req: crate::model::backend_services::SetIamPolicyRequest,
684        _options: crate::RequestOptions,
685    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
686    {
687        gaxi::unimplemented::unimplemented_stub()
688    }
689
690    /// Implements [super::client::BackendServices::set_security_policy].
691    fn set_security_policy(
692        &self,
693        _req: crate::model::backend_services::SetSecurityPolicyRequest,
694        _options: crate::RequestOptions,
695    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
696    {
697        gaxi::unimplemented::unimplemented_stub()
698    }
699
700    /// Implements [super::client::BackendServices::test_iam_permissions].
701    fn test_iam_permissions(
702        &self,
703        _req: crate::model::backend_services::TestIamPermissionsRequest,
704        _options: crate::RequestOptions,
705    ) -> impl std::future::Future<
706        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
707    > + Send {
708        gaxi::unimplemented::unimplemented_stub()
709    }
710
711    /// Implements [super::client::BackendServices::update].
712    fn update(
713        &self,
714        _req: crate::model::backend_services::UpdateRequest,
715        _options: crate::RequestOptions,
716    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
717    {
718        gaxi::unimplemented::unimplemented_stub()
719    }
720
721    /// Implements [super::client::BackendServices::get_operation].
722    fn get_operation(
723        &self,
724        _req: crate::model::global_operations::GetRequest,
725        _options: crate::RequestOptions,
726    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
727    {
728        gaxi::unimplemented::unimplemented_stub()
729    }
730
731    /// Returns the polling error policy.
732    ///
733    /// When mocking, this method is typically irrelevant. Do not try to verify
734    /// it is called by your mocks.
735    fn get_polling_error_policy(
736        &self,
737        _options: &crate::RequestOptions,
738    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
739        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
740    }
741
742    /// Returns the polling backoff policy.
743    ///
744    /// When mocking, this method is typically irrelevant. Do not try to verify
745    /// it is called by your mocks.
746    fn get_polling_backoff_policy(
747        &self,
748        _options: &crate::RequestOptions,
749    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
750        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
751    }
752}
753
754/// Defines the trait used to implement [super::client::CrossSiteNetworks].
755///
756/// Application developers may need to implement this trait to mock
757/// `client::CrossSiteNetworks`.  In other use-cases, application developers only
758/// use `client::CrossSiteNetworks` and need not be concerned with this trait or
759/// its implementations.
760///
761/// Services gain new RPCs routinely. Consequently, this trait gains new methods
762/// too. To avoid breaking applications the trait provides a default
763/// implementation of each method. Most of these implementations just return an
764/// error.
765#[cfg(feature = "cross-site-networks")]
766#[cfg_attr(docsrs, doc(cfg(feature = "cross-site-networks")))]
767pub trait CrossSiteNetworks: std::fmt::Debug + Send + Sync {
768    /// Implements [super::client::CrossSiteNetworks::delete].
769    fn delete(
770        &self,
771        _req: crate::model::cross_site_networks::DeleteRequest,
772        _options: crate::RequestOptions,
773    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
774    {
775        gaxi::unimplemented::unimplemented_stub()
776    }
777
778    /// Implements [super::client::CrossSiteNetworks::get].
779    fn get(
780        &self,
781        _req: crate::model::cross_site_networks::GetRequest,
782        _options: crate::RequestOptions,
783    ) -> impl std::future::Future<
784        Output = crate::Result<crate::Response<crate::model::CrossSiteNetwork>>,
785    > + Send {
786        gaxi::unimplemented::unimplemented_stub()
787    }
788
789    /// Implements [super::client::CrossSiteNetworks::insert].
790    fn insert(
791        &self,
792        _req: crate::model::cross_site_networks::InsertRequest,
793        _options: crate::RequestOptions,
794    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
795    {
796        gaxi::unimplemented::unimplemented_stub()
797    }
798
799    /// Implements [super::client::CrossSiteNetworks::list].
800    fn list(
801        &self,
802        _req: crate::model::cross_site_networks::ListRequest,
803        _options: crate::RequestOptions,
804    ) -> impl std::future::Future<
805        Output = crate::Result<crate::Response<crate::model::CrossSiteNetworkList>>,
806    > + Send {
807        gaxi::unimplemented::unimplemented_stub()
808    }
809
810    /// Implements [super::client::CrossSiteNetworks::patch].
811    fn patch(
812        &self,
813        _req: crate::model::cross_site_networks::PatchRequest,
814        _options: crate::RequestOptions,
815    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
816    {
817        gaxi::unimplemented::unimplemented_stub()
818    }
819
820    /// Implements [super::client::CrossSiteNetworks::get_operation].
821    fn get_operation(
822        &self,
823        _req: crate::model::global_operations::GetRequest,
824        _options: crate::RequestOptions,
825    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
826    {
827        gaxi::unimplemented::unimplemented_stub()
828    }
829
830    /// Returns the polling error policy.
831    ///
832    /// When mocking, this method is typically irrelevant. Do not try to verify
833    /// it is called by your mocks.
834    fn get_polling_error_policy(
835        &self,
836        _options: &crate::RequestOptions,
837    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
838        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
839    }
840
841    /// Returns the polling backoff policy.
842    ///
843    /// When mocking, this method is typically irrelevant. Do not try to verify
844    /// it is called by your mocks.
845    fn get_polling_backoff_policy(
846        &self,
847        _options: &crate::RequestOptions,
848    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
849        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
850    }
851}
852
853/// Defines the trait used to implement [super::client::DiskTypes].
854///
855/// Application developers may need to implement this trait to mock
856/// `client::DiskTypes`.  In other use-cases, application developers only
857/// use `client::DiskTypes` and need not be concerned with this trait or
858/// its implementations.
859///
860/// Services gain new RPCs routinely. Consequently, this trait gains new methods
861/// too. To avoid breaking applications the trait provides a default
862/// implementation of each method. Most of these implementations just return an
863/// error.
864#[cfg(feature = "disk-types")]
865#[cfg_attr(docsrs, doc(cfg(feature = "disk-types")))]
866pub trait DiskTypes: std::fmt::Debug + Send + Sync {
867    /// Implements [super::client::DiskTypes::aggregated_list].
868    fn aggregated_list(
869        &self,
870        _req: crate::model::disk_types::AggregatedListRequest,
871        _options: crate::RequestOptions,
872    ) -> impl std::future::Future<
873        Output = crate::Result<crate::Response<crate::model::DiskTypeAggregatedList>>,
874    > + Send {
875        gaxi::unimplemented::unimplemented_stub()
876    }
877
878    /// Implements [super::client::DiskTypes::get].
879    fn get(
880        &self,
881        _req: crate::model::disk_types::GetRequest,
882        _options: crate::RequestOptions,
883    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskType>>> + Send
884    {
885        gaxi::unimplemented::unimplemented_stub()
886    }
887
888    /// Implements [super::client::DiskTypes::list].
889    fn list(
890        &self,
891        _req: crate::model::disk_types::ListRequest,
892        _options: crate::RequestOptions,
893    ) -> impl std::future::Future<
894        Output = crate::Result<crate::Response<crate::model::DiskTypeList>>,
895    > + Send {
896        gaxi::unimplemented::unimplemented_stub()
897    }
898}
899
900/// Defines the trait used to implement [super::client::Disks].
901///
902/// Application developers may need to implement this trait to mock
903/// `client::Disks`.  In other use-cases, application developers only
904/// use `client::Disks` and need not be concerned with this trait or
905/// its implementations.
906///
907/// Services gain new RPCs routinely. Consequently, this trait gains new methods
908/// too. To avoid breaking applications the trait provides a default
909/// implementation of each method. Most of these implementations just return an
910/// error.
911#[cfg(feature = "disks")]
912#[cfg_attr(docsrs, doc(cfg(feature = "disks")))]
913pub trait Disks: std::fmt::Debug + Send + Sync {
914    /// Implements [super::client::Disks::add_resource_policies].
915    fn add_resource_policies(
916        &self,
917        _req: crate::model::disks::AddResourcePoliciesRequest,
918        _options: crate::RequestOptions,
919    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
920    {
921        gaxi::unimplemented::unimplemented_stub()
922    }
923
924    /// Implements [super::client::Disks::aggregated_list].
925    fn aggregated_list(
926        &self,
927        _req: crate::model::disks::AggregatedListRequest,
928        _options: crate::RequestOptions,
929    ) -> impl std::future::Future<
930        Output = crate::Result<crate::Response<crate::model::DiskAggregatedList>>,
931    > + Send {
932        gaxi::unimplemented::unimplemented_stub()
933    }
934
935    /// Implements [super::client::Disks::bulk_insert].
936    fn bulk_insert(
937        &self,
938        _req: crate::model::disks::BulkInsertRequest,
939        _options: crate::RequestOptions,
940    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
941    {
942        gaxi::unimplemented::unimplemented_stub()
943    }
944
945    /// Implements [super::client::Disks::bulk_set_labels].
946    fn bulk_set_labels(
947        &self,
948        _req: crate::model::disks::BulkSetLabelsRequest,
949        _options: crate::RequestOptions,
950    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
951    {
952        gaxi::unimplemented::unimplemented_stub()
953    }
954
955    /// Implements [super::client::Disks::create_snapshot].
956    fn create_snapshot(
957        &self,
958        _req: crate::model::disks::CreateSnapshotRequest,
959        _options: crate::RequestOptions,
960    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
961    {
962        gaxi::unimplemented::unimplemented_stub()
963    }
964
965    /// Implements [super::client::Disks::delete].
966    fn delete(
967        &self,
968        _req: crate::model::disks::DeleteRequest,
969        _options: crate::RequestOptions,
970    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
971    {
972        gaxi::unimplemented::unimplemented_stub()
973    }
974
975    /// Implements [super::client::Disks::get].
976    fn get(
977        &self,
978        _req: crate::model::disks::GetRequest,
979        _options: crate::RequestOptions,
980    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Disk>>> + Send
981    {
982        gaxi::unimplemented::unimplemented_stub()
983    }
984
985    /// Implements [super::client::Disks::get_iam_policy].
986    fn get_iam_policy(
987        &self,
988        _req: crate::model::disks::GetIamPolicyRequest,
989        _options: crate::RequestOptions,
990    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
991    {
992        gaxi::unimplemented::unimplemented_stub()
993    }
994
995    /// Implements [super::client::Disks::insert].
996    fn insert(
997        &self,
998        _req: crate::model::disks::InsertRequest,
999        _options: crate::RequestOptions,
1000    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1001    {
1002        gaxi::unimplemented::unimplemented_stub()
1003    }
1004
1005    /// Implements [super::client::Disks::list].
1006    fn list(
1007        &self,
1008        _req: crate::model::disks::ListRequest,
1009        _options: crate::RequestOptions,
1010    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskList>>> + Send
1011    {
1012        gaxi::unimplemented::unimplemented_stub()
1013    }
1014
1015    /// Implements [super::client::Disks::remove_resource_policies].
1016    fn remove_resource_policies(
1017        &self,
1018        _req: crate::model::disks::RemoveResourcePoliciesRequest,
1019        _options: crate::RequestOptions,
1020    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1021    {
1022        gaxi::unimplemented::unimplemented_stub()
1023    }
1024
1025    /// Implements [super::client::Disks::resize].
1026    fn resize(
1027        &self,
1028        _req: crate::model::disks::ResizeRequest,
1029        _options: crate::RequestOptions,
1030    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1031    {
1032        gaxi::unimplemented::unimplemented_stub()
1033    }
1034
1035    /// Implements [super::client::Disks::set_iam_policy].
1036    fn set_iam_policy(
1037        &self,
1038        _req: crate::model::disks::SetIamPolicyRequest,
1039        _options: crate::RequestOptions,
1040    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1041    {
1042        gaxi::unimplemented::unimplemented_stub()
1043    }
1044
1045    /// Implements [super::client::Disks::set_labels].
1046    fn set_labels(
1047        &self,
1048        _req: crate::model::disks::SetLabelsRequest,
1049        _options: crate::RequestOptions,
1050    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1051    {
1052        gaxi::unimplemented::unimplemented_stub()
1053    }
1054
1055    /// Implements [super::client::Disks::start_async_replication].
1056    fn start_async_replication(
1057        &self,
1058        _req: crate::model::disks::StartAsyncReplicationRequest,
1059        _options: crate::RequestOptions,
1060    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1061    {
1062        gaxi::unimplemented::unimplemented_stub()
1063    }
1064
1065    /// Implements [super::client::Disks::stop_async_replication].
1066    fn stop_async_replication(
1067        &self,
1068        _req: crate::model::disks::StopAsyncReplicationRequest,
1069        _options: crate::RequestOptions,
1070    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1071    {
1072        gaxi::unimplemented::unimplemented_stub()
1073    }
1074
1075    /// Implements [super::client::Disks::stop_group_async_replication].
1076    fn stop_group_async_replication(
1077        &self,
1078        _req: crate::model::disks::StopGroupAsyncReplicationRequest,
1079        _options: crate::RequestOptions,
1080    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1081    {
1082        gaxi::unimplemented::unimplemented_stub()
1083    }
1084
1085    /// Implements [super::client::Disks::test_iam_permissions].
1086    fn test_iam_permissions(
1087        &self,
1088        _req: crate::model::disks::TestIamPermissionsRequest,
1089        _options: crate::RequestOptions,
1090    ) -> impl std::future::Future<
1091        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1092    > + Send {
1093        gaxi::unimplemented::unimplemented_stub()
1094    }
1095
1096    /// Implements [super::client::Disks::update].
1097    fn update(
1098        &self,
1099        _req: crate::model::disks::UpdateRequest,
1100        _options: crate::RequestOptions,
1101    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1102    {
1103        gaxi::unimplemented::unimplemented_stub()
1104    }
1105
1106    /// Implements [super::client::Disks::get_operation].
1107    fn get_operation(
1108        &self,
1109        _req: crate::model::zone_operations::GetRequest,
1110        _options: crate::RequestOptions,
1111    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1112    {
1113        gaxi::unimplemented::unimplemented_stub()
1114    }
1115
1116    /// Returns the polling error policy.
1117    ///
1118    /// When mocking, this method is typically irrelevant. Do not try to verify
1119    /// it is called by your mocks.
1120    fn get_polling_error_policy(
1121        &self,
1122        _options: &crate::RequestOptions,
1123    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1124        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1125    }
1126
1127    /// Returns the polling backoff policy.
1128    ///
1129    /// When mocking, this method is typically irrelevant. Do not try to verify
1130    /// it is called by your mocks.
1131    fn get_polling_backoff_policy(
1132        &self,
1133        _options: &crate::RequestOptions,
1134    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1135        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1136    }
1137}
1138
1139/// Defines the trait used to implement [super::client::ExternalVpnGateways].
1140///
1141/// Application developers may need to implement this trait to mock
1142/// `client::ExternalVpnGateways`.  In other use-cases, application developers only
1143/// use `client::ExternalVpnGateways` and need not be concerned with this trait or
1144/// its implementations.
1145///
1146/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1147/// too. To avoid breaking applications the trait provides a default
1148/// implementation of each method. Most of these implementations just return an
1149/// error.
1150#[cfg(feature = "external-vpn-gateways")]
1151#[cfg_attr(docsrs, doc(cfg(feature = "external-vpn-gateways")))]
1152pub trait ExternalVpnGateways: std::fmt::Debug + Send + Sync {
1153    /// Implements [super::client::ExternalVpnGateways::delete].
1154    fn delete(
1155        &self,
1156        _req: crate::model::external_vpn_gateways::DeleteRequest,
1157        _options: crate::RequestOptions,
1158    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1159    {
1160        gaxi::unimplemented::unimplemented_stub()
1161    }
1162
1163    /// Implements [super::client::ExternalVpnGateways::get].
1164    fn get(
1165        &self,
1166        _req: crate::model::external_vpn_gateways::GetRequest,
1167        _options: crate::RequestOptions,
1168    ) -> impl std::future::Future<
1169        Output = crate::Result<crate::Response<crate::model::ExternalVpnGateway>>,
1170    > + Send {
1171        gaxi::unimplemented::unimplemented_stub()
1172    }
1173
1174    /// Implements [super::client::ExternalVpnGateways::insert].
1175    fn insert(
1176        &self,
1177        _req: crate::model::external_vpn_gateways::InsertRequest,
1178        _options: crate::RequestOptions,
1179    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1180    {
1181        gaxi::unimplemented::unimplemented_stub()
1182    }
1183
1184    /// Implements [super::client::ExternalVpnGateways::list].
1185    fn list(
1186        &self,
1187        _req: crate::model::external_vpn_gateways::ListRequest,
1188        _options: crate::RequestOptions,
1189    ) -> impl std::future::Future<
1190        Output = crate::Result<crate::Response<crate::model::ExternalVpnGatewayList>>,
1191    > + Send {
1192        gaxi::unimplemented::unimplemented_stub()
1193    }
1194
1195    /// Implements [super::client::ExternalVpnGateways::set_labels].
1196    fn set_labels(
1197        &self,
1198        _req: crate::model::external_vpn_gateways::SetLabelsRequest,
1199        _options: crate::RequestOptions,
1200    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1201    {
1202        gaxi::unimplemented::unimplemented_stub()
1203    }
1204
1205    /// Implements [super::client::ExternalVpnGateways::test_iam_permissions].
1206    fn test_iam_permissions(
1207        &self,
1208        _req: crate::model::external_vpn_gateways::TestIamPermissionsRequest,
1209        _options: crate::RequestOptions,
1210    ) -> impl std::future::Future<
1211        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1212    > + Send {
1213        gaxi::unimplemented::unimplemented_stub()
1214    }
1215
1216    /// Implements [super::client::ExternalVpnGateways::get_operation].
1217    fn get_operation(
1218        &self,
1219        _req: crate::model::global_operations::GetRequest,
1220        _options: crate::RequestOptions,
1221    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1222    {
1223        gaxi::unimplemented::unimplemented_stub()
1224    }
1225
1226    /// Returns the polling error policy.
1227    ///
1228    /// When mocking, this method is typically irrelevant. Do not try to verify
1229    /// it is called by your mocks.
1230    fn get_polling_error_policy(
1231        &self,
1232        _options: &crate::RequestOptions,
1233    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1234        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1235    }
1236
1237    /// Returns the polling backoff policy.
1238    ///
1239    /// When mocking, this method is typically irrelevant. Do not try to verify
1240    /// it is called by your mocks.
1241    fn get_polling_backoff_policy(
1242        &self,
1243        _options: &crate::RequestOptions,
1244    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1245        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1246    }
1247}
1248
1249/// Defines the trait used to implement [super::client::FirewallPolicies].
1250///
1251/// Application developers may need to implement this trait to mock
1252/// `client::FirewallPolicies`.  In other use-cases, application developers only
1253/// use `client::FirewallPolicies` and need not be concerned with this trait or
1254/// its implementations.
1255///
1256/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1257/// too. To avoid breaking applications the trait provides a default
1258/// implementation of each method. Most of these implementations just return an
1259/// error.
1260#[cfg(feature = "firewall-policies")]
1261#[cfg_attr(docsrs, doc(cfg(feature = "firewall-policies")))]
1262pub trait FirewallPolicies: std::fmt::Debug + Send + Sync {
1263    /// Implements [super::client::FirewallPolicies::add_association].
1264    fn add_association(
1265        &self,
1266        _req: crate::model::firewall_policies::AddAssociationRequest,
1267        _options: crate::RequestOptions,
1268    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1269    {
1270        gaxi::unimplemented::unimplemented_stub()
1271    }
1272
1273    /// Implements [super::client::FirewallPolicies::add_rule].
1274    fn add_rule(
1275        &self,
1276        _req: crate::model::firewall_policies::AddRuleRequest,
1277        _options: crate::RequestOptions,
1278    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1279    {
1280        gaxi::unimplemented::unimplemented_stub()
1281    }
1282
1283    /// Implements [super::client::FirewallPolicies::clone_rules].
1284    fn clone_rules(
1285        &self,
1286        _req: crate::model::firewall_policies::CloneRulesRequest,
1287        _options: crate::RequestOptions,
1288    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1289    {
1290        gaxi::unimplemented::unimplemented_stub()
1291    }
1292
1293    /// Implements [super::client::FirewallPolicies::delete].
1294    fn delete(
1295        &self,
1296        _req: crate::model::firewall_policies::DeleteRequest,
1297        _options: crate::RequestOptions,
1298    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1299    {
1300        gaxi::unimplemented::unimplemented_stub()
1301    }
1302
1303    /// Implements [super::client::FirewallPolicies::get].
1304    fn get(
1305        &self,
1306        _req: crate::model::firewall_policies::GetRequest,
1307        _options: crate::RequestOptions,
1308    ) -> impl std::future::Future<
1309        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
1310    > + Send {
1311        gaxi::unimplemented::unimplemented_stub()
1312    }
1313
1314    /// Implements [super::client::FirewallPolicies::get_association].
1315    fn get_association(
1316        &self,
1317        _req: crate::model::firewall_policies::GetAssociationRequest,
1318        _options: crate::RequestOptions,
1319    ) -> impl std::future::Future<
1320        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
1321    > + Send {
1322        gaxi::unimplemented::unimplemented_stub()
1323    }
1324
1325    /// Implements [super::client::FirewallPolicies::get_iam_policy].
1326    fn get_iam_policy(
1327        &self,
1328        _req: crate::model::firewall_policies::GetIamPolicyRequest,
1329        _options: crate::RequestOptions,
1330    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1331    {
1332        gaxi::unimplemented::unimplemented_stub()
1333    }
1334
1335    /// Implements [super::client::FirewallPolicies::get_rule].
1336    fn get_rule(
1337        &self,
1338        _req: crate::model::firewall_policies::GetRuleRequest,
1339        _options: crate::RequestOptions,
1340    ) -> impl std::future::Future<
1341        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
1342    > + Send {
1343        gaxi::unimplemented::unimplemented_stub()
1344    }
1345
1346    /// Implements [super::client::FirewallPolicies::insert].
1347    fn insert(
1348        &self,
1349        _req: crate::model::firewall_policies::InsertRequest,
1350        _options: crate::RequestOptions,
1351    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1352    {
1353        gaxi::unimplemented::unimplemented_stub()
1354    }
1355
1356    /// Implements [super::client::FirewallPolicies::list].
1357    fn list(
1358        &self,
1359        _req: crate::model::firewall_policies::ListRequest,
1360        _options: crate::RequestOptions,
1361    ) -> impl std::future::Future<
1362        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
1363    > + Send {
1364        gaxi::unimplemented::unimplemented_stub()
1365    }
1366
1367    /// Implements [super::client::FirewallPolicies::list_associations].
1368    fn list_associations(
1369        &self,
1370        _req: crate::model::firewall_policies::ListAssociationsRequest,
1371        _options: crate::RequestOptions,
1372    ) -> impl std::future::Future<
1373        Output = crate::Result<
1374            crate::Response<crate::model::FirewallPoliciesListAssociationsResponse>,
1375        >,
1376    > + Send {
1377        gaxi::unimplemented::unimplemented_stub()
1378    }
1379
1380    /// Implements [super::client::FirewallPolicies::r#move].
1381    fn r#move(
1382        &self,
1383        _req: crate::model::firewall_policies::MoveRequest,
1384        _options: crate::RequestOptions,
1385    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1386    {
1387        gaxi::unimplemented::unimplemented_stub()
1388    }
1389
1390    /// Implements [super::client::FirewallPolicies::patch].
1391    fn patch(
1392        &self,
1393        _req: crate::model::firewall_policies::PatchRequest,
1394        _options: crate::RequestOptions,
1395    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1396    {
1397        gaxi::unimplemented::unimplemented_stub()
1398    }
1399
1400    /// Implements [super::client::FirewallPolicies::patch_rule].
1401    fn patch_rule(
1402        &self,
1403        _req: crate::model::firewall_policies::PatchRuleRequest,
1404        _options: crate::RequestOptions,
1405    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1406    {
1407        gaxi::unimplemented::unimplemented_stub()
1408    }
1409
1410    /// Implements [super::client::FirewallPolicies::remove_association].
1411    fn remove_association(
1412        &self,
1413        _req: crate::model::firewall_policies::RemoveAssociationRequest,
1414        _options: crate::RequestOptions,
1415    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1416    {
1417        gaxi::unimplemented::unimplemented_stub()
1418    }
1419
1420    /// Implements [super::client::FirewallPolicies::remove_rule].
1421    fn remove_rule(
1422        &self,
1423        _req: crate::model::firewall_policies::RemoveRuleRequest,
1424        _options: crate::RequestOptions,
1425    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1426    {
1427        gaxi::unimplemented::unimplemented_stub()
1428    }
1429
1430    /// Implements [super::client::FirewallPolicies::set_iam_policy].
1431    fn set_iam_policy(
1432        &self,
1433        _req: crate::model::firewall_policies::SetIamPolicyRequest,
1434        _options: crate::RequestOptions,
1435    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1436    {
1437        gaxi::unimplemented::unimplemented_stub()
1438    }
1439
1440    /// Implements [super::client::FirewallPolicies::test_iam_permissions].
1441    fn test_iam_permissions(
1442        &self,
1443        _req: crate::model::firewall_policies::TestIamPermissionsRequest,
1444        _options: crate::RequestOptions,
1445    ) -> impl std::future::Future<
1446        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1447    > + Send {
1448        gaxi::unimplemented::unimplemented_stub()
1449    }
1450
1451    /// Implements [super::client::FirewallPolicies::get_operation].
1452    fn get_operation(
1453        &self,
1454        _req: crate::model::global_organization_operations::GetRequest,
1455        _options: crate::RequestOptions,
1456    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1457    {
1458        gaxi::unimplemented::unimplemented_stub()
1459    }
1460
1461    /// Returns the polling error policy.
1462    ///
1463    /// When mocking, this method is typically irrelevant. Do not try to verify
1464    /// it is called by your mocks.
1465    fn get_polling_error_policy(
1466        &self,
1467        _options: &crate::RequestOptions,
1468    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1469        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1470    }
1471
1472    /// Returns the polling backoff policy.
1473    ///
1474    /// When mocking, this method is typically irrelevant. Do not try to verify
1475    /// it is called by your mocks.
1476    fn get_polling_backoff_policy(
1477        &self,
1478        _options: &crate::RequestOptions,
1479    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1480        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1481    }
1482}
1483
1484/// Defines the trait used to implement [super::client::Firewalls].
1485///
1486/// Application developers may need to implement this trait to mock
1487/// `client::Firewalls`.  In other use-cases, application developers only
1488/// use `client::Firewalls` and need not be concerned with this trait or
1489/// its implementations.
1490///
1491/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1492/// too. To avoid breaking applications the trait provides a default
1493/// implementation of each method. Most of these implementations just return an
1494/// error.
1495#[cfg(feature = "firewalls")]
1496#[cfg_attr(docsrs, doc(cfg(feature = "firewalls")))]
1497pub trait Firewalls: std::fmt::Debug + Send + Sync {
1498    /// Implements [super::client::Firewalls::delete].
1499    fn delete(
1500        &self,
1501        _req: crate::model::firewalls::DeleteRequest,
1502        _options: crate::RequestOptions,
1503    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1504    {
1505        gaxi::unimplemented::unimplemented_stub()
1506    }
1507
1508    /// Implements [super::client::Firewalls::get].
1509    fn get(
1510        &self,
1511        _req: crate::model::firewalls::GetRequest,
1512        _options: crate::RequestOptions,
1513    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Firewall>>> + Send
1514    {
1515        gaxi::unimplemented::unimplemented_stub()
1516    }
1517
1518    /// Implements [super::client::Firewalls::insert].
1519    fn insert(
1520        &self,
1521        _req: crate::model::firewalls::InsertRequest,
1522        _options: crate::RequestOptions,
1523    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1524    {
1525        gaxi::unimplemented::unimplemented_stub()
1526    }
1527
1528    /// Implements [super::client::Firewalls::list].
1529    fn list(
1530        &self,
1531        _req: crate::model::firewalls::ListRequest,
1532        _options: crate::RequestOptions,
1533    ) -> impl std::future::Future<
1534        Output = crate::Result<crate::Response<crate::model::FirewallList>>,
1535    > + Send {
1536        gaxi::unimplemented::unimplemented_stub()
1537    }
1538
1539    /// Implements [super::client::Firewalls::patch].
1540    fn patch(
1541        &self,
1542        _req: crate::model::firewalls::PatchRequest,
1543        _options: crate::RequestOptions,
1544    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1545    {
1546        gaxi::unimplemented::unimplemented_stub()
1547    }
1548
1549    /// Implements [super::client::Firewalls::test_iam_permissions].
1550    fn test_iam_permissions(
1551        &self,
1552        _req: crate::model::firewalls::TestIamPermissionsRequest,
1553        _options: crate::RequestOptions,
1554    ) -> impl std::future::Future<
1555        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1556    > + Send {
1557        gaxi::unimplemented::unimplemented_stub()
1558    }
1559
1560    /// Implements [super::client::Firewalls::update].
1561    fn update(
1562        &self,
1563        _req: crate::model::firewalls::UpdateRequest,
1564        _options: crate::RequestOptions,
1565    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1566    {
1567        gaxi::unimplemented::unimplemented_stub()
1568    }
1569
1570    /// Implements [super::client::Firewalls::get_operation].
1571    fn get_operation(
1572        &self,
1573        _req: crate::model::global_operations::GetRequest,
1574        _options: crate::RequestOptions,
1575    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1576    {
1577        gaxi::unimplemented::unimplemented_stub()
1578    }
1579
1580    /// Returns the polling error policy.
1581    ///
1582    /// When mocking, this method is typically irrelevant. Do not try to verify
1583    /// it is called by your mocks.
1584    fn get_polling_error_policy(
1585        &self,
1586        _options: &crate::RequestOptions,
1587    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1588        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1589    }
1590
1591    /// Returns the polling backoff policy.
1592    ///
1593    /// When mocking, this method is typically irrelevant. Do not try to verify
1594    /// it is called by your mocks.
1595    fn get_polling_backoff_policy(
1596        &self,
1597        _options: &crate::RequestOptions,
1598    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1599        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1600    }
1601}
1602
1603/// Defines the trait used to implement [super::client::ForwardingRules].
1604///
1605/// Application developers may need to implement this trait to mock
1606/// `client::ForwardingRules`.  In other use-cases, application developers only
1607/// use `client::ForwardingRules` and need not be concerned with this trait or
1608/// its implementations.
1609///
1610/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1611/// too. To avoid breaking applications the trait provides a default
1612/// implementation of each method. Most of these implementations just return an
1613/// error.
1614#[cfg(feature = "forwarding-rules")]
1615#[cfg_attr(docsrs, doc(cfg(feature = "forwarding-rules")))]
1616pub trait ForwardingRules: std::fmt::Debug + Send + Sync {
1617    /// Implements [super::client::ForwardingRules::aggregated_list].
1618    fn aggregated_list(
1619        &self,
1620        _req: crate::model::forwarding_rules::AggregatedListRequest,
1621        _options: crate::RequestOptions,
1622    ) -> impl std::future::Future<
1623        Output = crate::Result<crate::Response<crate::model::ForwardingRuleAggregatedList>>,
1624    > + Send {
1625        gaxi::unimplemented::unimplemented_stub()
1626    }
1627
1628    /// Implements [super::client::ForwardingRules::delete].
1629    fn delete(
1630        &self,
1631        _req: crate::model::forwarding_rules::DeleteRequest,
1632        _options: crate::RequestOptions,
1633    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1634    {
1635        gaxi::unimplemented::unimplemented_stub()
1636    }
1637
1638    /// Implements [super::client::ForwardingRules::get].
1639    fn get(
1640        &self,
1641        _req: crate::model::forwarding_rules::GetRequest,
1642        _options: crate::RequestOptions,
1643    ) -> impl std::future::Future<
1644        Output = crate::Result<crate::Response<crate::model::ForwardingRule>>,
1645    > + Send {
1646        gaxi::unimplemented::unimplemented_stub()
1647    }
1648
1649    /// Implements [super::client::ForwardingRules::insert].
1650    fn insert(
1651        &self,
1652        _req: crate::model::forwarding_rules::InsertRequest,
1653        _options: crate::RequestOptions,
1654    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1655    {
1656        gaxi::unimplemented::unimplemented_stub()
1657    }
1658
1659    /// Implements [super::client::ForwardingRules::list].
1660    fn list(
1661        &self,
1662        _req: crate::model::forwarding_rules::ListRequest,
1663        _options: crate::RequestOptions,
1664    ) -> impl std::future::Future<
1665        Output = crate::Result<crate::Response<crate::model::ForwardingRuleList>>,
1666    > + Send {
1667        gaxi::unimplemented::unimplemented_stub()
1668    }
1669
1670    /// Implements [super::client::ForwardingRules::patch].
1671    fn patch(
1672        &self,
1673        _req: crate::model::forwarding_rules::PatchRequest,
1674        _options: crate::RequestOptions,
1675    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1676    {
1677        gaxi::unimplemented::unimplemented_stub()
1678    }
1679
1680    /// Implements [super::client::ForwardingRules::set_labels].
1681    fn set_labels(
1682        &self,
1683        _req: crate::model::forwarding_rules::SetLabelsRequest,
1684        _options: crate::RequestOptions,
1685    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1686    {
1687        gaxi::unimplemented::unimplemented_stub()
1688    }
1689
1690    /// Implements [super::client::ForwardingRules::set_target].
1691    fn set_target(
1692        &self,
1693        _req: crate::model::forwarding_rules::SetTargetRequest,
1694        _options: crate::RequestOptions,
1695    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1696    {
1697        gaxi::unimplemented::unimplemented_stub()
1698    }
1699
1700    /// Implements [super::client::ForwardingRules::get_operation].
1701    fn get_operation(
1702        &self,
1703        _req: crate::model::region_operations::GetRequest,
1704        _options: crate::RequestOptions,
1705    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1706    {
1707        gaxi::unimplemented::unimplemented_stub()
1708    }
1709
1710    /// Returns the polling error policy.
1711    ///
1712    /// When mocking, this method is typically irrelevant. Do not try to verify
1713    /// it is called by your mocks.
1714    fn get_polling_error_policy(
1715        &self,
1716        _options: &crate::RequestOptions,
1717    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1718        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1719    }
1720
1721    /// Returns the polling backoff policy.
1722    ///
1723    /// When mocking, this method is typically irrelevant. Do not try to verify
1724    /// it is called by your mocks.
1725    fn get_polling_backoff_policy(
1726        &self,
1727        _options: &crate::RequestOptions,
1728    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1729        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1730    }
1731}
1732
1733/// Defines the trait used to implement [super::client::FutureReservations].
1734///
1735/// Application developers may need to implement this trait to mock
1736/// `client::FutureReservations`.  In other use-cases, application developers only
1737/// use `client::FutureReservations` and need not be concerned with this trait or
1738/// its implementations.
1739///
1740/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1741/// too. To avoid breaking applications the trait provides a default
1742/// implementation of each method. Most of these implementations just return an
1743/// error.
1744#[cfg(feature = "future-reservations")]
1745#[cfg_attr(docsrs, doc(cfg(feature = "future-reservations")))]
1746pub trait FutureReservations: std::fmt::Debug + Send + Sync {
1747    /// Implements [super::client::FutureReservations::aggregated_list].
1748    fn aggregated_list(
1749        &self,
1750        _req: crate::model::future_reservations::AggregatedListRequest,
1751        _options: crate::RequestOptions,
1752    ) -> impl std::future::Future<
1753        Output = crate::Result<
1754            crate::Response<crate::model::FutureReservationsAggregatedListResponse>,
1755        >,
1756    > + Send {
1757        gaxi::unimplemented::unimplemented_stub()
1758    }
1759
1760    /// Implements [super::client::FutureReservations::cancel].
1761    fn cancel(
1762        &self,
1763        _req: crate::model::future_reservations::CancelRequest,
1764        _options: crate::RequestOptions,
1765    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1766    {
1767        gaxi::unimplemented::unimplemented_stub()
1768    }
1769
1770    /// Implements [super::client::FutureReservations::delete].
1771    fn delete(
1772        &self,
1773        _req: crate::model::future_reservations::DeleteRequest,
1774        _options: crate::RequestOptions,
1775    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1776    {
1777        gaxi::unimplemented::unimplemented_stub()
1778    }
1779
1780    /// Implements [super::client::FutureReservations::get].
1781    fn get(
1782        &self,
1783        _req: crate::model::future_reservations::GetRequest,
1784        _options: crate::RequestOptions,
1785    ) -> impl std::future::Future<
1786        Output = crate::Result<crate::Response<crate::model::FutureReservation>>,
1787    > + Send {
1788        gaxi::unimplemented::unimplemented_stub()
1789    }
1790
1791    /// Implements [super::client::FutureReservations::insert].
1792    fn insert(
1793        &self,
1794        _req: crate::model::future_reservations::InsertRequest,
1795        _options: crate::RequestOptions,
1796    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1797    {
1798        gaxi::unimplemented::unimplemented_stub()
1799    }
1800
1801    /// Implements [super::client::FutureReservations::list].
1802    fn list(
1803        &self,
1804        _req: crate::model::future_reservations::ListRequest,
1805        _options: crate::RequestOptions,
1806    ) -> impl std::future::Future<
1807        Output = crate::Result<crate::Response<crate::model::FutureReservationsListResponse>>,
1808    > + Send {
1809        gaxi::unimplemented::unimplemented_stub()
1810    }
1811
1812    /// Implements [super::client::FutureReservations::update].
1813    fn update(
1814        &self,
1815        _req: crate::model::future_reservations::UpdateRequest,
1816        _options: crate::RequestOptions,
1817    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1818    {
1819        gaxi::unimplemented::unimplemented_stub()
1820    }
1821
1822    /// Implements [super::client::FutureReservations::get_operation].
1823    fn get_operation(
1824        &self,
1825        _req: crate::model::zone_operations::GetRequest,
1826        _options: crate::RequestOptions,
1827    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1828    {
1829        gaxi::unimplemented::unimplemented_stub()
1830    }
1831
1832    /// Returns the polling error policy.
1833    ///
1834    /// When mocking, this method is typically irrelevant. Do not try to verify
1835    /// it is called by your mocks.
1836    fn get_polling_error_policy(
1837        &self,
1838        _options: &crate::RequestOptions,
1839    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1840        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1841    }
1842
1843    /// Returns the polling backoff policy.
1844    ///
1845    /// When mocking, this method is typically irrelevant. Do not try to verify
1846    /// it is called by your mocks.
1847    fn get_polling_backoff_policy(
1848        &self,
1849        _options: &crate::RequestOptions,
1850    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1851        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1852    }
1853}
1854
1855/// Defines the trait used to implement [super::client::GlobalAddresses].
1856///
1857/// Application developers may need to implement this trait to mock
1858/// `client::GlobalAddresses`.  In other use-cases, application developers only
1859/// use `client::GlobalAddresses` and need not be concerned with this trait or
1860/// its implementations.
1861///
1862/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1863/// too. To avoid breaking applications the trait provides a default
1864/// implementation of each method. Most of these implementations just return an
1865/// error.
1866#[cfg(feature = "global-addresses")]
1867#[cfg_attr(docsrs, doc(cfg(feature = "global-addresses")))]
1868pub trait GlobalAddresses: std::fmt::Debug + Send + Sync {
1869    /// Implements [super::client::GlobalAddresses::delete].
1870    fn delete(
1871        &self,
1872        _req: crate::model::global_addresses::DeleteRequest,
1873        _options: crate::RequestOptions,
1874    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1875    {
1876        gaxi::unimplemented::unimplemented_stub()
1877    }
1878
1879    /// Implements [super::client::GlobalAddresses::get].
1880    fn get(
1881        &self,
1882        _req: crate::model::global_addresses::GetRequest,
1883        _options: crate::RequestOptions,
1884    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Address>>> + Send
1885    {
1886        gaxi::unimplemented::unimplemented_stub()
1887    }
1888
1889    /// Implements [super::client::GlobalAddresses::insert].
1890    fn insert(
1891        &self,
1892        _req: crate::model::global_addresses::InsertRequest,
1893        _options: crate::RequestOptions,
1894    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1895    {
1896        gaxi::unimplemented::unimplemented_stub()
1897    }
1898
1899    /// Implements [super::client::GlobalAddresses::list].
1900    fn list(
1901        &self,
1902        _req: crate::model::global_addresses::ListRequest,
1903        _options: crate::RequestOptions,
1904    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::AddressList>>>
1905    + Send {
1906        gaxi::unimplemented::unimplemented_stub()
1907    }
1908
1909    /// Implements [super::client::GlobalAddresses::r#move].
1910    fn r#move(
1911        &self,
1912        _req: crate::model::global_addresses::MoveRequest,
1913        _options: crate::RequestOptions,
1914    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1915    {
1916        gaxi::unimplemented::unimplemented_stub()
1917    }
1918
1919    /// Implements [super::client::GlobalAddresses::set_labels].
1920    fn set_labels(
1921        &self,
1922        _req: crate::model::global_addresses::SetLabelsRequest,
1923        _options: crate::RequestOptions,
1924    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1925    {
1926        gaxi::unimplemented::unimplemented_stub()
1927    }
1928
1929    /// Implements [super::client::GlobalAddresses::test_iam_permissions].
1930    fn test_iam_permissions(
1931        &self,
1932        _req: crate::model::global_addresses::TestIamPermissionsRequest,
1933        _options: crate::RequestOptions,
1934    ) -> impl std::future::Future<
1935        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1936    > + Send {
1937        gaxi::unimplemented::unimplemented_stub()
1938    }
1939
1940    /// Implements [super::client::GlobalAddresses::get_operation].
1941    fn get_operation(
1942        &self,
1943        _req: crate::model::global_operations::GetRequest,
1944        _options: crate::RequestOptions,
1945    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1946    {
1947        gaxi::unimplemented::unimplemented_stub()
1948    }
1949
1950    /// Returns the polling error policy.
1951    ///
1952    /// When mocking, this method is typically irrelevant. Do not try to verify
1953    /// it is called by your mocks.
1954    fn get_polling_error_policy(
1955        &self,
1956        _options: &crate::RequestOptions,
1957    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1958        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1959    }
1960
1961    /// Returns the polling backoff policy.
1962    ///
1963    /// When mocking, this method is typically irrelevant. Do not try to verify
1964    /// it is called by your mocks.
1965    fn get_polling_backoff_policy(
1966        &self,
1967        _options: &crate::RequestOptions,
1968    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1969        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1970    }
1971}
1972
1973/// Defines the trait used to implement [super::client::GlobalForwardingRules].
1974///
1975/// Application developers may need to implement this trait to mock
1976/// `client::GlobalForwardingRules`.  In other use-cases, application developers only
1977/// use `client::GlobalForwardingRules` and need not be concerned with this trait or
1978/// its implementations.
1979///
1980/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1981/// too. To avoid breaking applications the trait provides a default
1982/// implementation of each method. Most of these implementations just return an
1983/// error.
1984#[cfg(feature = "global-forwarding-rules")]
1985#[cfg_attr(docsrs, doc(cfg(feature = "global-forwarding-rules")))]
1986pub trait GlobalForwardingRules: std::fmt::Debug + Send + Sync {
1987    /// Implements [super::client::GlobalForwardingRules::delete].
1988    fn delete(
1989        &self,
1990        _req: crate::model::global_forwarding_rules::DeleteRequest,
1991        _options: crate::RequestOptions,
1992    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1993    {
1994        gaxi::unimplemented::unimplemented_stub()
1995    }
1996
1997    /// Implements [super::client::GlobalForwardingRules::get].
1998    fn get(
1999        &self,
2000        _req: crate::model::global_forwarding_rules::GetRequest,
2001        _options: crate::RequestOptions,
2002    ) -> impl std::future::Future<
2003        Output = crate::Result<crate::Response<crate::model::ForwardingRule>>,
2004    > + Send {
2005        gaxi::unimplemented::unimplemented_stub()
2006    }
2007
2008    /// Implements [super::client::GlobalForwardingRules::insert].
2009    fn insert(
2010        &self,
2011        _req: crate::model::global_forwarding_rules::InsertRequest,
2012        _options: crate::RequestOptions,
2013    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2014    {
2015        gaxi::unimplemented::unimplemented_stub()
2016    }
2017
2018    /// Implements [super::client::GlobalForwardingRules::list].
2019    fn list(
2020        &self,
2021        _req: crate::model::global_forwarding_rules::ListRequest,
2022        _options: crate::RequestOptions,
2023    ) -> impl std::future::Future<
2024        Output = crate::Result<crate::Response<crate::model::ForwardingRuleList>>,
2025    > + Send {
2026        gaxi::unimplemented::unimplemented_stub()
2027    }
2028
2029    /// Implements [super::client::GlobalForwardingRules::patch].
2030    fn patch(
2031        &self,
2032        _req: crate::model::global_forwarding_rules::PatchRequest,
2033        _options: crate::RequestOptions,
2034    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2035    {
2036        gaxi::unimplemented::unimplemented_stub()
2037    }
2038
2039    /// Implements [super::client::GlobalForwardingRules::set_labels].
2040    fn set_labels(
2041        &self,
2042        _req: crate::model::global_forwarding_rules::SetLabelsRequest,
2043        _options: crate::RequestOptions,
2044    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2045    {
2046        gaxi::unimplemented::unimplemented_stub()
2047    }
2048
2049    /// Implements [super::client::GlobalForwardingRules::set_target].
2050    fn set_target(
2051        &self,
2052        _req: crate::model::global_forwarding_rules::SetTargetRequest,
2053        _options: crate::RequestOptions,
2054    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2055    {
2056        gaxi::unimplemented::unimplemented_stub()
2057    }
2058
2059    /// Implements [super::client::GlobalForwardingRules::get_operation].
2060    fn get_operation(
2061        &self,
2062        _req: crate::model::global_operations::GetRequest,
2063        _options: crate::RequestOptions,
2064    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2065    {
2066        gaxi::unimplemented::unimplemented_stub()
2067    }
2068
2069    /// Returns the polling error policy.
2070    ///
2071    /// When mocking, this method is typically irrelevant. Do not try to verify
2072    /// it is called by your mocks.
2073    fn get_polling_error_policy(
2074        &self,
2075        _options: &crate::RequestOptions,
2076    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2077        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2078    }
2079
2080    /// Returns the polling backoff policy.
2081    ///
2082    /// When mocking, this method is typically irrelevant. Do not try to verify
2083    /// it is called by your mocks.
2084    fn get_polling_backoff_policy(
2085        &self,
2086        _options: &crate::RequestOptions,
2087    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2088        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2089    }
2090}
2091
2092/// Defines the trait used to implement [super::client::GlobalNetworkEndpointGroups].
2093///
2094/// Application developers may need to implement this trait to mock
2095/// `client::GlobalNetworkEndpointGroups`.  In other use-cases, application developers only
2096/// use `client::GlobalNetworkEndpointGroups` and need not be concerned with this trait or
2097/// its implementations.
2098///
2099/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2100/// too. To avoid breaking applications the trait provides a default
2101/// implementation of each method. Most of these implementations just return an
2102/// error.
2103#[cfg(feature = "global-network-endpoint-groups")]
2104#[cfg_attr(docsrs, doc(cfg(feature = "global-network-endpoint-groups")))]
2105pub trait GlobalNetworkEndpointGroups: std::fmt::Debug + Send + Sync {
2106    /// Implements [super::client::GlobalNetworkEndpointGroups::attach_network_endpoints].
2107    fn attach_network_endpoints(
2108        &self,
2109        _req: crate::model::global_network_endpoint_groups::AttachNetworkEndpointsRequest,
2110        _options: crate::RequestOptions,
2111    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2112    {
2113        gaxi::unimplemented::unimplemented_stub()
2114    }
2115
2116    /// Implements [super::client::GlobalNetworkEndpointGroups::delete].
2117    fn delete(
2118        &self,
2119        _req: crate::model::global_network_endpoint_groups::DeleteRequest,
2120        _options: crate::RequestOptions,
2121    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2122    {
2123        gaxi::unimplemented::unimplemented_stub()
2124    }
2125
2126    /// Implements [super::client::GlobalNetworkEndpointGroups::detach_network_endpoints].
2127    fn detach_network_endpoints(
2128        &self,
2129        _req: crate::model::global_network_endpoint_groups::DetachNetworkEndpointsRequest,
2130        _options: crate::RequestOptions,
2131    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2132    {
2133        gaxi::unimplemented::unimplemented_stub()
2134    }
2135
2136    /// Implements [super::client::GlobalNetworkEndpointGroups::get].
2137    fn get(
2138        &self,
2139        _req: crate::model::global_network_endpoint_groups::GetRequest,
2140        _options: crate::RequestOptions,
2141    ) -> impl std::future::Future<
2142        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
2143    > + Send {
2144        gaxi::unimplemented::unimplemented_stub()
2145    }
2146
2147    /// Implements [super::client::GlobalNetworkEndpointGroups::insert].
2148    fn insert(
2149        &self,
2150        _req: crate::model::global_network_endpoint_groups::InsertRequest,
2151        _options: crate::RequestOptions,
2152    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2153    {
2154        gaxi::unimplemented::unimplemented_stub()
2155    }
2156
2157    /// Implements [super::client::GlobalNetworkEndpointGroups::list].
2158    fn list(
2159        &self,
2160        _req: crate::model::global_network_endpoint_groups::ListRequest,
2161        _options: crate::RequestOptions,
2162    ) -> impl std::future::Future<
2163        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
2164    > + Send {
2165        gaxi::unimplemented::unimplemented_stub()
2166    }
2167
2168    /// Implements [super::client::GlobalNetworkEndpointGroups::list_network_endpoints].
2169    fn list_network_endpoints(
2170        &self,
2171        _req: crate::model::global_network_endpoint_groups::ListNetworkEndpointsRequest,
2172        _options: crate::RequestOptions,
2173    ) -> impl std::future::Future<
2174        Output = crate::Result<
2175            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
2176        >,
2177    > + Send {
2178        gaxi::unimplemented::unimplemented_stub()
2179    }
2180
2181    /// Implements [super::client::GlobalNetworkEndpointGroups::get_operation].
2182    fn get_operation(
2183        &self,
2184        _req: crate::model::global_operations::GetRequest,
2185        _options: crate::RequestOptions,
2186    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2187    {
2188        gaxi::unimplemented::unimplemented_stub()
2189    }
2190
2191    /// Returns the polling error policy.
2192    ///
2193    /// When mocking, this method is typically irrelevant. Do not try to verify
2194    /// it is called by your mocks.
2195    fn get_polling_error_policy(
2196        &self,
2197        _options: &crate::RequestOptions,
2198    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2199        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2200    }
2201
2202    /// Returns the polling backoff policy.
2203    ///
2204    /// When mocking, this method is typically irrelevant. Do not try to verify
2205    /// it is called by your mocks.
2206    fn get_polling_backoff_policy(
2207        &self,
2208        _options: &crate::RequestOptions,
2209    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2210        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2211    }
2212}
2213
2214/// Defines the trait used to implement [super::client::GlobalOperations].
2215///
2216/// Application developers may need to implement this trait to mock
2217/// `client::GlobalOperations`.  In other use-cases, application developers only
2218/// use `client::GlobalOperations` and need not be concerned with this trait or
2219/// its implementations.
2220///
2221/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2222/// too. To avoid breaking applications the trait provides a default
2223/// implementation of each method. Most of these implementations just return an
2224/// error.
2225#[cfg(feature = "global-operations")]
2226#[cfg_attr(docsrs, doc(cfg(feature = "global-operations")))]
2227pub trait GlobalOperations: std::fmt::Debug + Send + Sync {
2228    /// Implements [super::client::GlobalOperations::aggregated_list].
2229    fn aggregated_list(
2230        &self,
2231        _req: crate::model::global_operations::AggregatedListRequest,
2232        _options: crate::RequestOptions,
2233    ) -> impl std::future::Future<
2234        Output = crate::Result<crate::Response<crate::model::OperationAggregatedList>>,
2235    > + Send {
2236        gaxi::unimplemented::unimplemented_stub()
2237    }
2238
2239    /// Implements [super::client::GlobalOperations::delete].
2240    fn delete(
2241        &self,
2242        _req: crate::model::global_operations::DeleteRequest,
2243        _options: crate::RequestOptions,
2244    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
2245        gaxi::unimplemented::unimplemented_stub()
2246    }
2247
2248    /// Implements [super::client::GlobalOperations::get].
2249    fn get(
2250        &self,
2251        _req: crate::model::global_operations::GetRequest,
2252        _options: crate::RequestOptions,
2253    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2254    {
2255        gaxi::unimplemented::unimplemented_stub()
2256    }
2257
2258    /// Implements [super::client::GlobalOperations::list].
2259    fn list(
2260        &self,
2261        _req: crate::model::global_operations::ListRequest,
2262        _options: crate::RequestOptions,
2263    ) -> impl std::future::Future<
2264        Output = crate::Result<crate::Response<crate::model::OperationList>>,
2265    > + Send {
2266        gaxi::unimplemented::unimplemented_stub()
2267    }
2268
2269    /// Implements [super::client::GlobalOperations::wait].
2270    fn wait(
2271        &self,
2272        _req: crate::model::global_operations::WaitRequest,
2273        _options: crate::RequestOptions,
2274    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2275    {
2276        gaxi::unimplemented::unimplemented_stub()
2277    }
2278}
2279
2280/// Defines the trait used to implement [super::client::GlobalOrganizationOperations].
2281///
2282/// Application developers may need to implement this trait to mock
2283/// `client::GlobalOrganizationOperations`.  In other use-cases, application developers only
2284/// use `client::GlobalOrganizationOperations` and need not be concerned with this trait or
2285/// its implementations.
2286///
2287/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2288/// too. To avoid breaking applications the trait provides a default
2289/// implementation of each method. Most of these implementations just return an
2290/// error.
2291#[cfg(feature = "global-organization-operations")]
2292#[cfg_attr(docsrs, doc(cfg(feature = "global-organization-operations")))]
2293pub trait GlobalOrganizationOperations: std::fmt::Debug + Send + Sync {
2294    /// Implements [super::client::GlobalOrganizationOperations::delete].
2295    fn delete(
2296        &self,
2297        _req: crate::model::global_organization_operations::DeleteRequest,
2298        _options: crate::RequestOptions,
2299    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
2300        gaxi::unimplemented::unimplemented_stub()
2301    }
2302
2303    /// Implements [super::client::GlobalOrganizationOperations::get].
2304    fn get(
2305        &self,
2306        _req: crate::model::global_organization_operations::GetRequest,
2307        _options: crate::RequestOptions,
2308    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2309    {
2310        gaxi::unimplemented::unimplemented_stub()
2311    }
2312
2313    /// Implements [super::client::GlobalOrganizationOperations::list].
2314    fn list(
2315        &self,
2316        _req: crate::model::global_organization_operations::ListRequest,
2317        _options: crate::RequestOptions,
2318    ) -> impl std::future::Future<
2319        Output = crate::Result<crate::Response<crate::model::OperationList>>,
2320    > + Send {
2321        gaxi::unimplemented::unimplemented_stub()
2322    }
2323}
2324
2325/// Defines the trait used to implement [super::client::GlobalPublicDelegatedPrefixes].
2326///
2327/// Application developers may need to implement this trait to mock
2328/// `client::GlobalPublicDelegatedPrefixes`.  In other use-cases, application developers only
2329/// use `client::GlobalPublicDelegatedPrefixes` and need not be concerned with this trait or
2330/// its implementations.
2331///
2332/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2333/// too. To avoid breaking applications the trait provides a default
2334/// implementation of each method. Most of these implementations just return an
2335/// error.
2336#[cfg(feature = "global-public-delegated-prefixes")]
2337#[cfg_attr(docsrs, doc(cfg(feature = "global-public-delegated-prefixes")))]
2338pub trait GlobalPublicDelegatedPrefixes: std::fmt::Debug + Send + Sync {
2339    /// Implements [super::client::GlobalPublicDelegatedPrefixes::delete].
2340    fn delete(
2341        &self,
2342        _req: crate::model::global_public_delegated_prefixes::DeleteRequest,
2343        _options: crate::RequestOptions,
2344    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2345    {
2346        gaxi::unimplemented::unimplemented_stub()
2347    }
2348
2349    /// Implements [super::client::GlobalPublicDelegatedPrefixes::get].
2350    fn get(
2351        &self,
2352        _req: crate::model::global_public_delegated_prefixes::GetRequest,
2353        _options: crate::RequestOptions,
2354    ) -> impl std::future::Future<
2355        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefix>>,
2356    > + Send {
2357        gaxi::unimplemented::unimplemented_stub()
2358    }
2359
2360    /// Implements [super::client::GlobalPublicDelegatedPrefixes::insert].
2361    fn insert(
2362        &self,
2363        _req: crate::model::global_public_delegated_prefixes::InsertRequest,
2364        _options: crate::RequestOptions,
2365    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2366    {
2367        gaxi::unimplemented::unimplemented_stub()
2368    }
2369
2370    /// Implements [super::client::GlobalPublicDelegatedPrefixes::list].
2371    fn list(
2372        &self,
2373        _req: crate::model::global_public_delegated_prefixes::ListRequest,
2374        _options: crate::RequestOptions,
2375    ) -> impl std::future::Future<
2376        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixList>>,
2377    > + Send {
2378        gaxi::unimplemented::unimplemented_stub()
2379    }
2380
2381    /// Implements [super::client::GlobalPublicDelegatedPrefixes::patch].
2382    fn patch(
2383        &self,
2384        _req: crate::model::global_public_delegated_prefixes::PatchRequest,
2385        _options: crate::RequestOptions,
2386    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2387    {
2388        gaxi::unimplemented::unimplemented_stub()
2389    }
2390
2391    /// Implements [super::client::GlobalPublicDelegatedPrefixes::get_operation].
2392    fn get_operation(
2393        &self,
2394        _req: crate::model::global_operations::GetRequest,
2395        _options: crate::RequestOptions,
2396    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2397    {
2398        gaxi::unimplemented::unimplemented_stub()
2399    }
2400
2401    /// Returns the polling error policy.
2402    ///
2403    /// When mocking, this method is typically irrelevant. Do not try to verify
2404    /// it is called by your mocks.
2405    fn get_polling_error_policy(
2406        &self,
2407        _options: &crate::RequestOptions,
2408    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2409        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2410    }
2411
2412    /// Returns the polling backoff policy.
2413    ///
2414    /// When mocking, this method is typically irrelevant. Do not try to verify
2415    /// it is called by your mocks.
2416    fn get_polling_backoff_policy(
2417        &self,
2418        _options: &crate::RequestOptions,
2419    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2420        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2421    }
2422}
2423
2424/// Defines the trait used to implement [super::client::HealthChecks].
2425///
2426/// Application developers may need to implement this trait to mock
2427/// `client::HealthChecks`.  In other use-cases, application developers only
2428/// use `client::HealthChecks` and need not be concerned with this trait or
2429/// its implementations.
2430///
2431/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2432/// too. To avoid breaking applications the trait provides a default
2433/// implementation of each method. Most of these implementations just return an
2434/// error.
2435#[cfg(feature = "health-checks")]
2436#[cfg_attr(docsrs, doc(cfg(feature = "health-checks")))]
2437pub trait HealthChecks: std::fmt::Debug + Send + Sync {
2438    /// Implements [super::client::HealthChecks::aggregated_list].
2439    fn aggregated_list(
2440        &self,
2441        _req: crate::model::health_checks::AggregatedListRequest,
2442        _options: crate::RequestOptions,
2443    ) -> impl std::future::Future<
2444        Output = crate::Result<crate::Response<crate::model::HealthChecksAggregatedList>>,
2445    > + Send {
2446        gaxi::unimplemented::unimplemented_stub()
2447    }
2448
2449    /// Implements [super::client::HealthChecks::delete].
2450    fn delete(
2451        &self,
2452        _req: crate::model::health_checks::DeleteRequest,
2453        _options: crate::RequestOptions,
2454    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2455    {
2456        gaxi::unimplemented::unimplemented_stub()
2457    }
2458
2459    /// Implements [super::client::HealthChecks::get].
2460    fn get(
2461        &self,
2462        _req: crate::model::health_checks::GetRequest,
2463        _options: crate::RequestOptions,
2464    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::HealthCheck>>>
2465    + Send {
2466        gaxi::unimplemented::unimplemented_stub()
2467    }
2468
2469    /// Implements [super::client::HealthChecks::insert].
2470    fn insert(
2471        &self,
2472        _req: crate::model::health_checks::InsertRequest,
2473        _options: crate::RequestOptions,
2474    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2475    {
2476        gaxi::unimplemented::unimplemented_stub()
2477    }
2478
2479    /// Implements [super::client::HealthChecks::list].
2480    fn list(
2481        &self,
2482        _req: crate::model::health_checks::ListRequest,
2483        _options: crate::RequestOptions,
2484    ) -> impl std::future::Future<
2485        Output = crate::Result<crate::Response<crate::model::HealthCheckList>>,
2486    > + Send {
2487        gaxi::unimplemented::unimplemented_stub()
2488    }
2489
2490    /// Implements [super::client::HealthChecks::patch].
2491    fn patch(
2492        &self,
2493        _req: crate::model::health_checks::PatchRequest,
2494        _options: crate::RequestOptions,
2495    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2496    {
2497        gaxi::unimplemented::unimplemented_stub()
2498    }
2499
2500    /// Implements [super::client::HealthChecks::test_iam_permissions].
2501    fn test_iam_permissions(
2502        &self,
2503        _req: crate::model::health_checks::TestIamPermissionsRequest,
2504        _options: crate::RequestOptions,
2505    ) -> impl std::future::Future<
2506        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2507    > + Send {
2508        gaxi::unimplemented::unimplemented_stub()
2509    }
2510
2511    /// Implements [super::client::HealthChecks::update].
2512    fn update(
2513        &self,
2514        _req: crate::model::health_checks::UpdateRequest,
2515        _options: crate::RequestOptions,
2516    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2517    {
2518        gaxi::unimplemented::unimplemented_stub()
2519    }
2520
2521    /// Implements [super::client::HealthChecks::get_operation].
2522    fn get_operation(
2523        &self,
2524        _req: crate::model::global_operations::GetRequest,
2525        _options: crate::RequestOptions,
2526    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2527    {
2528        gaxi::unimplemented::unimplemented_stub()
2529    }
2530
2531    /// Returns the polling error policy.
2532    ///
2533    /// When mocking, this method is typically irrelevant. Do not try to verify
2534    /// it is called by your mocks.
2535    fn get_polling_error_policy(
2536        &self,
2537        _options: &crate::RequestOptions,
2538    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2539        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2540    }
2541
2542    /// Returns the polling backoff policy.
2543    ///
2544    /// When mocking, this method is typically irrelevant. Do not try to verify
2545    /// it is called by your mocks.
2546    fn get_polling_backoff_policy(
2547        &self,
2548        _options: &crate::RequestOptions,
2549    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2550        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2551    }
2552}
2553
2554/// Defines the trait used to implement [super::client::HttpHealthChecks].
2555///
2556/// Application developers may need to implement this trait to mock
2557/// `client::HttpHealthChecks`.  In other use-cases, application developers only
2558/// use `client::HttpHealthChecks` and need not be concerned with this trait or
2559/// its implementations.
2560///
2561/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2562/// too. To avoid breaking applications the trait provides a default
2563/// implementation of each method. Most of these implementations just return an
2564/// error.
2565#[cfg(feature = "http-health-checks")]
2566#[cfg_attr(docsrs, doc(cfg(feature = "http-health-checks")))]
2567pub trait HttpHealthChecks: std::fmt::Debug + Send + Sync {
2568    /// Implements [super::client::HttpHealthChecks::delete].
2569    fn delete(
2570        &self,
2571        _req: crate::model::http_health_checks::DeleteRequest,
2572        _options: crate::RequestOptions,
2573    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2574    {
2575        gaxi::unimplemented::unimplemented_stub()
2576    }
2577
2578    /// Implements [super::client::HttpHealthChecks::get].
2579    fn get(
2580        &self,
2581        _req: crate::model::http_health_checks::GetRequest,
2582        _options: crate::RequestOptions,
2583    ) -> impl std::future::Future<
2584        Output = crate::Result<crate::Response<crate::model::HttpHealthCheck>>,
2585    > + Send {
2586        gaxi::unimplemented::unimplemented_stub()
2587    }
2588
2589    /// Implements [super::client::HttpHealthChecks::insert].
2590    fn insert(
2591        &self,
2592        _req: crate::model::http_health_checks::InsertRequest,
2593        _options: crate::RequestOptions,
2594    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2595    {
2596        gaxi::unimplemented::unimplemented_stub()
2597    }
2598
2599    /// Implements [super::client::HttpHealthChecks::list].
2600    fn list(
2601        &self,
2602        _req: crate::model::http_health_checks::ListRequest,
2603        _options: crate::RequestOptions,
2604    ) -> impl std::future::Future<
2605        Output = crate::Result<crate::Response<crate::model::HttpHealthCheckList>>,
2606    > + Send {
2607        gaxi::unimplemented::unimplemented_stub()
2608    }
2609
2610    /// Implements [super::client::HttpHealthChecks::patch].
2611    fn patch(
2612        &self,
2613        _req: crate::model::http_health_checks::PatchRequest,
2614        _options: crate::RequestOptions,
2615    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2616    {
2617        gaxi::unimplemented::unimplemented_stub()
2618    }
2619
2620    /// Implements [super::client::HttpHealthChecks::test_iam_permissions].
2621    fn test_iam_permissions(
2622        &self,
2623        _req: crate::model::http_health_checks::TestIamPermissionsRequest,
2624        _options: crate::RequestOptions,
2625    ) -> impl std::future::Future<
2626        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2627    > + Send {
2628        gaxi::unimplemented::unimplemented_stub()
2629    }
2630
2631    /// Implements [super::client::HttpHealthChecks::update].
2632    fn update(
2633        &self,
2634        _req: crate::model::http_health_checks::UpdateRequest,
2635        _options: crate::RequestOptions,
2636    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2637    {
2638        gaxi::unimplemented::unimplemented_stub()
2639    }
2640
2641    /// Implements [super::client::HttpHealthChecks::get_operation].
2642    fn get_operation(
2643        &self,
2644        _req: crate::model::global_operations::GetRequest,
2645        _options: crate::RequestOptions,
2646    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2647    {
2648        gaxi::unimplemented::unimplemented_stub()
2649    }
2650
2651    /// Returns the polling error policy.
2652    ///
2653    /// When mocking, this method is typically irrelevant. Do not try to verify
2654    /// it is called by your mocks.
2655    fn get_polling_error_policy(
2656        &self,
2657        _options: &crate::RequestOptions,
2658    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2659        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2660    }
2661
2662    /// Returns the polling backoff policy.
2663    ///
2664    /// When mocking, this method is typically irrelevant. Do not try to verify
2665    /// it is called by your mocks.
2666    fn get_polling_backoff_policy(
2667        &self,
2668        _options: &crate::RequestOptions,
2669    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2670        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2671    }
2672}
2673
2674/// Defines the trait used to implement [super::client::HttpsHealthChecks].
2675///
2676/// Application developers may need to implement this trait to mock
2677/// `client::HttpsHealthChecks`.  In other use-cases, application developers only
2678/// use `client::HttpsHealthChecks` and need not be concerned with this trait or
2679/// its implementations.
2680///
2681/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2682/// too. To avoid breaking applications the trait provides a default
2683/// implementation of each method. Most of these implementations just return an
2684/// error.
2685#[cfg(feature = "https-health-checks")]
2686#[cfg_attr(docsrs, doc(cfg(feature = "https-health-checks")))]
2687pub trait HttpsHealthChecks: std::fmt::Debug + Send + Sync {
2688    /// Implements [super::client::HttpsHealthChecks::delete].
2689    fn delete(
2690        &self,
2691        _req: crate::model::https_health_checks::DeleteRequest,
2692        _options: crate::RequestOptions,
2693    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2694    {
2695        gaxi::unimplemented::unimplemented_stub()
2696    }
2697
2698    /// Implements [super::client::HttpsHealthChecks::get].
2699    fn get(
2700        &self,
2701        _req: crate::model::https_health_checks::GetRequest,
2702        _options: crate::RequestOptions,
2703    ) -> impl std::future::Future<
2704        Output = crate::Result<crate::Response<crate::model::HttpsHealthCheck>>,
2705    > + Send {
2706        gaxi::unimplemented::unimplemented_stub()
2707    }
2708
2709    /// Implements [super::client::HttpsHealthChecks::insert].
2710    fn insert(
2711        &self,
2712        _req: crate::model::https_health_checks::InsertRequest,
2713        _options: crate::RequestOptions,
2714    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2715    {
2716        gaxi::unimplemented::unimplemented_stub()
2717    }
2718
2719    /// Implements [super::client::HttpsHealthChecks::list].
2720    fn list(
2721        &self,
2722        _req: crate::model::https_health_checks::ListRequest,
2723        _options: crate::RequestOptions,
2724    ) -> impl std::future::Future<
2725        Output = crate::Result<crate::Response<crate::model::HttpsHealthCheckList>>,
2726    > + Send {
2727        gaxi::unimplemented::unimplemented_stub()
2728    }
2729
2730    /// Implements [super::client::HttpsHealthChecks::patch].
2731    fn patch(
2732        &self,
2733        _req: crate::model::https_health_checks::PatchRequest,
2734        _options: crate::RequestOptions,
2735    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2736    {
2737        gaxi::unimplemented::unimplemented_stub()
2738    }
2739
2740    /// Implements [super::client::HttpsHealthChecks::test_iam_permissions].
2741    fn test_iam_permissions(
2742        &self,
2743        _req: crate::model::https_health_checks::TestIamPermissionsRequest,
2744        _options: crate::RequestOptions,
2745    ) -> impl std::future::Future<
2746        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2747    > + Send {
2748        gaxi::unimplemented::unimplemented_stub()
2749    }
2750
2751    /// Implements [super::client::HttpsHealthChecks::update].
2752    fn update(
2753        &self,
2754        _req: crate::model::https_health_checks::UpdateRequest,
2755        _options: crate::RequestOptions,
2756    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2757    {
2758        gaxi::unimplemented::unimplemented_stub()
2759    }
2760
2761    /// Implements [super::client::HttpsHealthChecks::get_operation].
2762    fn get_operation(
2763        &self,
2764        _req: crate::model::global_operations::GetRequest,
2765        _options: crate::RequestOptions,
2766    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2767    {
2768        gaxi::unimplemented::unimplemented_stub()
2769    }
2770
2771    /// Returns the polling error policy.
2772    ///
2773    /// When mocking, this method is typically irrelevant. Do not try to verify
2774    /// it is called by your mocks.
2775    fn get_polling_error_policy(
2776        &self,
2777        _options: &crate::RequestOptions,
2778    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2779        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2780    }
2781
2782    /// Returns the polling backoff policy.
2783    ///
2784    /// When mocking, this method is typically irrelevant. Do not try to verify
2785    /// it is called by your mocks.
2786    fn get_polling_backoff_policy(
2787        &self,
2788        _options: &crate::RequestOptions,
2789    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2790        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2791    }
2792}
2793
2794/// Defines the trait used to implement [super::client::ImageFamilyViews].
2795///
2796/// Application developers may need to implement this trait to mock
2797/// `client::ImageFamilyViews`.  In other use-cases, application developers only
2798/// use `client::ImageFamilyViews` and need not be concerned with this trait or
2799/// its implementations.
2800///
2801/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2802/// too. To avoid breaking applications the trait provides a default
2803/// implementation of each method. Most of these implementations just return an
2804/// error.
2805#[cfg(feature = "image-family-views")]
2806#[cfg_attr(docsrs, doc(cfg(feature = "image-family-views")))]
2807pub trait ImageFamilyViews: std::fmt::Debug + Send + Sync {
2808    /// Implements [super::client::ImageFamilyViews::get].
2809    fn get(
2810        &self,
2811        _req: crate::model::image_family_views::GetRequest,
2812        _options: crate::RequestOptions,
2813    ) -> impl std::future::Future<
2814        Output = crate::Result<crate::Response<crate::model::ImageFamilyView>>,
2815    > + Send {
2816        gaxi::unimplemented::unimplemented_stub()
2817    }
2818}
2819
2820/// Defines the trait used to implement [super::client::Images].
2821///
2822/// Application developers may need to implement this trait to mock
2823/// `client::Images`.  In other use-cases, application developers only
2824/// use `client::Images` and need not be concerned with this trait or
2825/// its implementations.
2826///
2827/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2828/// too. To avoid breaking applications the trait provides a default
2829/// implementation of each method. Most of these implementations just return an
2830/// error.
2831#[cfg(feature = "images")]
2832#[cfg_attr(docsrs, doc(cfg(feature = "images")))]
2833pub trait Images: std::fmt::Debug + Send + Sync {
2834    /// Implements [super::client::Images::delete].
2835    fn delete(
2836        &self,
2837        _req: crate::model::images::DeleteRequest,
2838        _options: crate::RequestOptions,
2839    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2840    {
2841        gaxi::unimplemented::unimplemented_stub()
2842    }
2843
2844    /// Implements [super::client::Images::deprecate].
2845    fn deprecate(
2846        &self,
2847        _req: crate::model::images::DeprecateRequest,
2848        _options: crate::RequestOptions,
2849    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2850    {
2851        gaxi::unimplemented::unimplemented_stub()
2852    }
2853
2854    /// Implements [super::client::Images::get].
2855    fn get(
2856        &self,
2857        _req: crate::model::images::GetRequest,
2858        _options: crate::RequestOptions,
2859    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Image>>> + Send
2860    {
2861        gaxi::unimplemented::unimplemented_stub()
2862    }
2863
2864    /// Implements [super::client::Images::get_from_family].
2865    fn get_from_family(
2866        &self,
2867        _req: crate::model::images::GetFromFamilyRequest,
2868        _options: crate::RequestOptions,
2869    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Image>>> + Send
2870    {
2871        gaxi::unimplemented::unimplemented_stub()
2872    }
2873
2874    /// Implements [super::client::Images::get_iam_policy].
2875    fn get_iam_policy(
2876        &self,
2877        _req: crate::model::images::GetIamPolicyRequest,
2878        _options: crate::RequestOptions,
2879    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
2880    {
2881        gaxi::unimplemented::unimplemented_stub()
2882    }
2883
2884    /// Implements [super::client::Images::insert].
2885    fn insert(
2886        &self,
2887        _req: crate::model::images::InsertRequest,
2888        _options: crate::RequestOptions,
2889    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2890    {
2891        gaxi::unimplemented::unimplemented_stub()
2892    }
2893
2894    /// Implements [super::client::Images::list].
2895    fn list(
2896        &self,
2897        _req: crate::model::images::ListRequest,
2898        _options: crate::RequestOptions,
2899    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ImageList>>> + Send
2900    {
2901        gaxi::unimplemented::unimplemented_stub()
2902    }
2903
2904    /// Implements [super::client::Images::patch].
2905    fn patch(
2906        &self,
2907        _req: crate::model::images::PatchRequest,
2908        _options: crate::RequestOptions,
2909    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2910    {
2911        gaxi::unimplemented::unimplemented_stub()
2912    }
2913
2914    /// Implements [super::client::Images::set_iam_policy].
2915    fn set_iam_policy(
2916        &self,
2917        _req: crate::model::images::SetIamPolicyRequest,
2918        _options: crate::RequestOptions,
2919    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
2920    {
2921        gaxi::unimplemented::unimplemented_stub()
2922    }
2923
2924    /// Implements [super::client::Images::set_labels].
2925    fn set_labels(
2926        &self,
2927        _req: crate::model::images::SetLabelsRequest,
2928        _options: crate::RequestOptions,
2929    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2930    {
2931        gaxi::unimplemented::unimplemented_stub()
2932    }
2933
2934    /// Implements [super::client::Images::test_iam_permissions].
2935    fn test_iam_permissions(
2936        &self,
2937        _req: crate::model::images::TestIamPermissionsRequest,
2938        _options: crate::RequestOptions,
2939    ) -> impl std::future::Future<
2940        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2941    > + Send {
2942        gaxi::unimplemented::unimplemented_stub()
2943    }
2944
2945    /// Implements [super::client::Images::get_operation].
2946    fn get_operation(
2947        &self,
2948        _req: crate::model::global_operations::GetRequest,
2949        _options: crate::RequestOptions,
2950    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2951    {
2952        gaxi::unimplemented::unimplemented_stub()
2953    }
2954
2955    /// Returns the polling error policy.
2956    ///
2957    /// When mocking, this method is typically irrelevant. Do not try to verify
2958    /// it is called by your mocks.
2959    fn get_polling_error_policy(
2960        &self,
2961        _options: &crate::RequestOptions,
2962    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2963        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2964    }
2965
2966    /// Returns the polling backoff policy.
2967    ///
2968    /// When mocking, this method is typically irrelevant. Do not try to verify
2969    /// it is called by your mocks.
2970    fn get_polling_backoff_policy(
2971        &self,
2972        _options: &crate::RequestOptions,
2973    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2974        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2975    }
2976}
2977
2978/// Defines the trait used to implement [super::client::InstanceGroupManagerResizeRequests].
2979///
2980/// Application developers may need to implement this trait to mock
2981/// `client::InstanceGroupManagerResizeRequests`.  In other use-cases, application developers only
2982/// use `client::InstanceGroupManagerResizeRequests` and need not be concerned with this trait or
2983/// its implementations.
2984///
2985/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2986/// too. To avoid breaking applications the trait provides a default
2987/// implementation of each method. Most of these implementations just return an
2988/// error.
2989#[cfg(feature = "instance-group-manager-resize-requests")]
2990#[cfg_attr(docsrs, doc(cfg(feature = "instance-group-manager-resize-requests")))]
2991pub trait InstanceGroupManagerResizeRequests: std::fmt::Debug + Send + Sync {
2992    /// Implements [super::client::InstanceGroupManagerResizeRequests::cancel].
2993    fn cancel(
2994        &self,
2995        _req: crate::model::instance_group_manager_resize_requests::CancelRequest,
2996        _options: crate::RequestOptions,
2997    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2998    {
2999        gaxi::unimplemented::unimplemented_stub()
3000    }
3001
3002    /// Implements [super::client::InstanceGroupManagerResizeRequests::delete].
3003    fn delete(
3004        &self,
3005        _req: crate::model::instance_group_manager_resize_requests::DeleteRequest,
3006        _options: crate::RequestOptions,
3007    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3008    {
3009        gaxi::unimplemented::unimplemented_stub()
3010    }
3011
3012    /// Implements [super::client::InstanceGroupManagerResizeRequests::get].
3013    fn get(
3014        &self,
3015        _req: crate::model::instance_group_manager_resize_requests::GetRequest,
3016        _options: crate::RequestOptions,
3017    ) -> impl std::future::Future<
3018        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerResizeRequest>>,
3019    > + Send {
3020        gaxi::unimplemented::unimplemented_stub()
3021    }
3022
3023    /// Implements [super::client::InstanceGroupManagerResizeRequests::insert].
3024    fn insert(
3025        &self,
3026        _req: crate::model::instance_group_manager_resize_requests::InsertRequest,
3027        _options: crate::RequestOptions,
3028    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3029    {
3030        gaxi::unimplemented::unimplemented_stub()
3031    }
3032
3033    /// Implements [super::client::InstanceGroupManagerResizeRequests::list].
3034    fn list(
3035        &self,
3036        _req: crate::model::instance_group_manager_resize_requests::ListRequest,
3037        _options: crate::RequestOptions,
3038    ) -> impl std::future::Future<
3039        Output = crate::Result<
3040            crate::Response<crate::model::InstanceGroupManagerResizeRequestsListResponse>,
3041        >,
3042    > + Send {
3043        gaxi::unimplemented::unimplemented_stub()
3044    }
3045
3046    /// Implements [super::client::InstanceGroupManagerResizeRequests::get_operation].
3047    fn get_operation(
3048        &self,
3049        _req: crate::model::zone_operations::GetRequest,
3050        _options: crate::RequestOptions,
3051    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3052    {
3053        gaxi::unimplemented::unimplemented_stub()
3054    }
3055
3056    /// Returns the polling error policy.
3057    ///
3058    /// When mocking, this method is typically irrelevant. Do not try to verify
3059    /// it is called by your mocks.
3060    fn get_polling_error_policy(
3061        &self,
3062        _options: &crate::RequestOptions,
3063    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3064        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3065    }
3066
3067    /// Returns the polling backoff policy.
3068    ///
3069    /// When mocking, this method is typically irrelevant. Do not try to verify
3070    /// it is called by your mocks.
3071    fn get_polling_backoff_policy(
3072        &self,
3073        _options: &crate::RequestOptions,
3074    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3075        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3076    }
3077}
3078
3079/// Defines the trait used to implement [super::client::InstanceGroupManagers].
3080///
3081/// Application developers may need to implement this trait to mock
3082/// `client::InstanceGroupManagers`.  In other use-cases, application developers only
3083/// use `client::InstanceGroupManagers` and need not be concerned with this trait or
3084/// its implementations.
3085///
3086/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3087/// too. To avoid breaking applications the trait provides a default
3088/// implementation of each method. Most of these implementations just return an
3089/// error.
3090#[cfg(feature = "instance-group-managers")]
3091#[cfg_attr(docsrs, doc(cfg(feature = "instance-group-managers")))]
3092pub trait InstanceGroupManagers: std::fmt::Debug + Send + Sync {
3093    /// Implements [super::client::InstanceGroupManagers::abandon_instances].
3094    fn abandon_instances(
3095        &self,
3096        _req: crate::model::instance_group_managers::AbandonInstancesRequest,
3097        _options: crate::RequestOptions,
3098    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3099    {
3100        gaxi::unimplemented::unimplemented_stub()
3101    }
3102
3103    /// Implements [super::client::InstanceGroupManagers::aggregated_list].
3104    fn aggregated_list(
3105        &self,
3106        _req: crate::model::instance_group_managers::AggregatedListRequest,
3107        _options: crate::RequestOptions,
3108    ) -> impl std::future::Future<
3109        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerAggregatedList>>,
3110    > + Send {
3111        gaxi::unimplemented::unimplemented_stub()
3112    }
3113
3114    /// Implements [super::client::InstanceGroupManagers::apply_updates_to_instances].
3115    fn apply_updates_to_instances(
3116        &self,
3117        _req: crate::model::instance_group_managers::ApplyUpdatesToInstancesRequest,
3118        _options: crate::RequestOptions,
3119    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3120    {
3121        gaxi::unimplemented::unimplemented_stub()
3122    }
3123
3124    /// Implements [super::client::InstanceGroupManagers::create_instances].
3125    fn create_instances(
3126        &self,
3127        _req: crate::model::instance_group_managers::CreateInstancesRequest,
3128        _options: crate::RequestOptions,
3129    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3130    {
3131        gaxi::unimplemented::unimplemented_stub()
3132    }
3133
3134    /// Implements [super::client::InstanceGroupManagers::delete].
3135    fn delete(
3136        &self,
3137        _req: crate::model::instance_group_managers::DeleteRequest,
3138        _options: crate::RequestOptions,
3139    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3140    {
3141        gaxi::unimplemented::unimplemented_stub()
3142    }
3143
3144    /// Implements [super::client::InstanceGroupManagers::delete_instances].
3145    fn delete_instances(
3146        &self,
3147        _req: crate::model::instance_group_managers::DeleteInstancesRequest,
3148        _options: crate::RequestOptions,
3149    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3150    {
3151        gaxi::unimplemented::unimplemented_stub()
3152    }
3153
3154    /// Implements [super::client::InstanceGroupManagers::delete_per_instance_configs].
3155    fn delete_per_instance_configs(
3156        &self,
3157        _req: crate::model::instance_group_managers::DeletePerInstanceConfigsRequest,
3158        _options: crate::RequestOptions,
3159    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3160    {
3161        gaxi::unimplemented::unimplemented_stub()
3162    }
3163
3164    /// Implements [super::client::InstanceGroupManagers::get].
3165    fn get(
3166        &self,
3167        _req: crate::model::instance_group_managers::GetRequest,
3168        _options: crate::RequestOptions,
3169    ) -> impl std::future::Future<
3170        Output = crate::Result<crate::Response<crate::model::InstanceGroupManager>>,
3171    > + Send {
3172        gaxi::unimplemented::unimplemented_stub()
3173    }
3174
3175    /// Implements [super::client::InstanceGroupManagers::insert].
3176    fn insert(
3177        &self,
3178        _req: crate::model::instance_group_managers::InsertRequest,
3179        _options: crate::RequestOptions,
3180    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3181    {
3182        gaxi::unimplemented::unimplemented_stub()
3183    }
3184
3185    /// Implements [super::client::InstanceGroupManagers::list].
3186    fn list(
3187        &self,
3188        _req: crate::model::instance_group_managers::ListRequest,
3189        _options: crate::RequestOptions,
3190    ) -> impl std::future::Future<
3191        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerList>>,
3192    > + Send {
3193        gaxi::unimplemented::unimplemented_stub()
3194    }
3195
3196    /// Implements [super::client::InstanceGroupManagers::list_errors].
3197    fn list_errors(
3198        &self,
3199        _req: crate::model::instance_group_managers::ListErrorsRequest,
3200        _options: crate::RequestOptions,
3201    ) -> impl std::future::Future<
3202        Output = crate::Result<
3203            crate::Response<crate::model::InstanceGroupManagersListErrorsResponse>,
3204        >,
3205    > + Send {
3206        gaxi::unimplemented::unimplemented_stub()
3207    }
3208
3209    /// Implements [super::client::InstanceGroupManagers::list_managed_instances].
3210    fn list_managed_instances(
3211        &self,
3212        _req: crate::model::instance_group_managers::ListManagedInstancesRequest,
3213        _options: crate::RequestOptions,
3214    ) -> impl std::future::Future<
3215        Output = crate::Result<
3216            crate::Response<crate::model::InstanceGroupManagersListManagedInstancesResponse>,
3217        >,
3218    > + Send {
3219        gaxi::unimplemented::unimplemented_stub()
3220    }
3221
3222    /// Implements [super::client::InstanceGroupManagers::list_per_instance_configs].
3223    fn list_per_instance_configs(
3224        &self,
3225        _req: crate::model::instance_group_managers::ListPerInstanceConfigsRequest,
3226        _options: crate::RequestOptions,
3227    ) -> impl std::future::Future<
3228        Output = crate::Result<
3229            crate::Response<crate::model::InstanceGroupManagersListPerInstanceConfigsResp>,
3230        >,
3231    > + Send {
3232        gaxi::unimplemented::unimplemented_stub()
3233    }
3234
3235    /// Implements [super::client::InstanceGroupManagers::patch].
3236    fn patch(
3237        &self,
3238        _req: crate::model::instance_group_managers::PatchRequest,
3239        _options: crate::RequestOptions,
3240    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3241    {
3242        gaxi::unimplemented::unimplemented_stub()
3243    }
3244
3245    /// Implements [super::client::InstanceGroupManagers::patch_per_instance_configs].
3246    fn patch_per_instance_configs(
3247        &self,
3248        _req: crate::model::instance_group_managers::PatchPerInstanceConfigsRequest,
3249        _options: crate::RequestOptions,
3250    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3251    {
3252        gaxi::unimplemented::unimplemented_stub()
3253    }
3254
3255    /// Implements [super::client::InstanceGroupManagers::recreate_instances].
3256    fn recreate_instances(
3257        &self,
3258        _req: crate::model::instance_group_managers::RecreateInstancesRequest,
3259        _options: crate::RequestOptions,
3260    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3261    {
3262        gaxi::unimplemented::unimplemented_stub()
3263    }
3264
3265    /// Implements [super::client::InstanceGroupManagers::resize].
3266    fn resize(
3267        &self,
3268        _req: crate::model::instance_group_managers::ResizeRequest,
3269        _options: crate::RequestOptions,
3270    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3271    {
3272        gaxi::unimplemented::unimplemented_stub()
3273    }
3274
3275    /// Implements [super::client::InstanceGroupManagers::resume_instances].
3276    fn resume_instances(
3277        &self,
3278        _req: crate::model::instance_group_managers::ResumeInstancesRequest,
3279        _options: crate::RequestOptions,
3280    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3281    {
3282        gaxi::unimplemented::unimplemented_stub()
3283    }
3284
3285    /// Implements [super::client::InstanceGroupManagers::set_instance_template].
3286    fn set_instance_template(
3287        &self,
3288        _req: crate::model::instance_group_managers::SetInstanceTemplateRequest,
3289        _options: crate::RequestOptions,
3290    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3291    {
3292        gaxi::unimplemented::unimplemented_stub()
3293    }
3294
3295    /// Implements [super::client::InstanceGroupManagers::set_target_pools].
3296    fn set_target_pools(
3297        &self,
3298        _req: crate::model::instance_group_managers::SetTargetPoolsRequest,
3299        _options: crate::RequestOptions,
3300    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3301    {
3302        gaxi::unimplemented::unimplemented_stub()
3303    }
3304
3305    /// Implements [super::client::InstanceGroupManagers::start_instances].
3306    fn start_instances(
3307        &self,
3308        _req: crate::model::instance_group_managers::StartInstancesRequest,
3309        _options: crate::RequestOptions,
3310    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3311    {
3312        gaxi::unimplemented::unimplemented_stub()
3313    }
3314
3315    /// Implements [super::client::InstanceGroupManagers::stop_instances].
3316    fn stop_instances(
3317        &self,
3318        _req: crate::model::instance_group_managers::StopInstancesRequest,
3319        _options: crate::RequestOptions,
3320    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3321    {
3322        gaxi::unimplemented::unimplemented_stub()
3323    }
3324
3325    /// Implements [super::client::InstanceGroupManagers::suspend_instances].
3326    fn suspend_instances(
3327        &self,
3328        _req: crate::model::instance_group_managers::SuspendInstancesRequest,
3329        _options: crate::RequestOptions,
3330    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3331    {
3332        gaxi::unimplemented::unimplemented_stub()
3333    }
3334
3335    /// Implements [super::client::InstanceGroupManagers::update_per_instance_configs].
3336    fn update_per_instance_configs(
3337        &self,
3338        _req: crate::model::instance_group_managers::UpdatePerInstanceConfigsRequest,
3339        _options: crate::RequestOptions,
3340    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3341    {
3342        gaxi::unimplemented::unimplemented_stub()
3343    }
3344
3345    /// Implements [super::client::InstanceGroupManagers::get_operation].
3346    fn get_operation(
3347        &self,
3348        _req: crate::model::zone_operations::GetRequest,
3349        _options: crate::RequestOptions,
3350    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3351    {
3352        gaxi::unimplemented::unimplemented_stub()
3353    }
3354
3355    /// Returns the polling error policy.
3356    ///
3357    /// When mocking, this method is typically irrelevant. Do not try to verify
3358    /// it is called by your mocks.
3359    fn get_polling_error_policy(
3360        &self,
3361        _options: &crate::RequestOptions,
3362    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3363        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3364    }
3365
3366    /// Returns the polling backoff policy.
3367    ///
3368    /// When mocking, this method is typically irrelevant. Do not try to verify
3369    /// it is called by your mocks.
3370    fn get_polling_backoff_policy(
3371        &self,
3372        _options: &crate::RequestOptions,
3373    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3374        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3375    }
3376}
3377
3378/// Defines the trait used to implement [super::client::InstanceGroups].
3379///
3380/// Application developers may need to implement this trait to mock
3381/// `client::InstanceGroups`.  In other use-cases, application developers only
3382/// use `client::InstanceGroups` and need not be concerned with this trait or
3383/// its implementations.
3384///
3385/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3386/// too. To avoid breaking applications the trait provides a default
3387/// implementation of each method. Most of these implementations just return an
3388/// error.
3389#[cfg(feature = "instance-groups")]
3390#[cfg_attr(docsrs, doc(cfg(feature = "instance-groups")))]
3391pub trait InstanceGroups: std::fmt::Debug + Send + Sync {
3392    /// Implements [super::client::InstanceGroups::add_instances].
3393    fn add_instances(
3394        &self,
3395        _req: crate::model::instance_groups::AddInstancesRequest,
3396        _options: crate::RequestOptions,
3397    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3398    {
3399        gaxi::unimplemented::unimplemented_stub()
3400    }
3401
3402    /// Implements [super::client::InstanceGroups::aggregated_list].
3403    fn aggregated_list(
3404        &self,
3405        _req: crate::model::instance_groups::AggregatedListRequest,
3406        _options: crate::RequestOptions,
3407    ) -> impl std::future::Future<
3408        Output = crate::Result<crate::Response<crate::model::InstanceGroupAggregatedList>>,
3409    > + Send {
3410        gaxi::unimplemented::unimplemented_stub()
3411    }
3412
3413    /// Implements [super::client::InstanceGroups::delete].
3414    fn delete(
3415        &self,
3416        _req: crate::model::instance_groups::DeleteRequest,
3417        _options: crate::RequestOptions,
3418    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3419    {
3420        gaxi::unimplemented::unimplemented_stub()
3421    }
3422
3423    /// Implements [super::client::InstanceGroups::get].
3424    fn get(
3425        &self,
3426        _req: crate::model::instance_groups::GetRequest,
3427        _options: crate::RequestOptions,
3428    ) -> impl std::future::Future<
3429        Output = crate::Result<crate::Response<crate::model::InstanceGroup>>,
3430    > + Send {
3431        gaxi::unimplemented::unimplemented_stub()
3432    }
3433
3434    /// Implements [super::client::InstanceGroups::insert].
3435    fn insert(
3436        &self,
3437        _req: crate::model::instance_groups::InsertRequest,
3438        _options: crate::RequestOptions,
3439    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3440    {
3441        gaxi::unimplemented::unimplemented_stub()
3442    }
3443
3444    /// Implements [super::client::InstanceGroups::list].
3445    fn list(
3446        &self,
3447        _req: crate::model::instance_groups::ListRequest,
3448        _options: crate::RequestOptions,
3449    ) -> impl std::future::Future<
3450        Output = crate::Result<crate::Response<crate::model::InstanceGroupList>>,
3451    > + Send {
3452        gaxi::unimplemented::unimplemented_stub()
3453    }
3454
3455    /// Implements [super::client::InstanceGroups::list_instances].
3456    fn list_instances(
3457        &self,
3458        _req: crate::model::instance_groups::ListInstancesRequest,
3459        _options: crate::RequestOptions,
3460    ) -> impl std::future::Future<
3461        Output = crate::Result<crate::Response<crate::model::InstanceGroupsListInstances>>,
3462    > + Send {
3463        gaxi::unimplemented::unimplemented_stub()
3464    }
3465
3466    /// Implements [super::client::InstanceGroups::remove_instances].
3467    fn remove_instances(
3468        &self,
3469        _req: crate::model::instance_groups::RemoveInstancesRequest,
3470        _options: crate::RequestOptions,
3471    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3472    {
3473        gaxi::unimplemented::unimplemented_stub()
3474    }
3475
3476    /// Implements [super::client::InstanceGroups::set_named_ports].
3477    fn set_named_ports(
3478        &self,
3479        _req: crate::model::instance_groups::SetNamedPortsRequest,
3480        _options: crate::RequestOptions,
3481    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3482    {
3483        gaxi::unimplemented::unimplemented_stub()
3484    }
3485
3486    /// Implements [super::client::InstanceGroups::test_iam_permissions].
3487    fn test_iam_permissions(
3488        &self,
3489        _req: crate::model::instance_groups::TestIamPermissionsRequest,
3490        _options: crate::RequestOptions,
3491    ) -> impl std::future::Future<
3492        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3493    > + Send {
3494        gaxi::unimplemented::unimplemented_stub()
3495    }
3496
3497    /// Implements [super::client::InstanceGroups::get_operation].
3498    fn get_operation(
3499        &self,
3500        _req: crate::model::zone_operations::GetRequest,
3501        _options: crate::RequestOptions,
3502    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3503    {
3504        gaxi::unimplemented::unimplemented_stub()
3505    }
3506
3507    /// Returns the polling error policy.
3508    ///
3509    /// When mocking, this method is typically irrelevant. Do not try to verify
3510    /// it is called by your mocks.
3511    fn get_polling_error_policy(
3512        &self,
3513        _options: &crate::RequestOptions,
3514    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3515        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3516    }
3517
3518    /// Returns the polling backoff policy.
3519    ///
3520    /// When mocking, this method is typically irrelevant. Do not try to verify
3521    /// it is called by your mocks.
3522    fn get_polling_backoff_policy(
3523        &self,
3524        _options: &crate::RequestOptions,
3525    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3526        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3527    }
3528}
3529
3530/// Defines the trait used to implement [super::client::InstanceSettings].
3531///
3532/// Application developers may need to implement this trait to mock
3533/// `client::InstanceSettings`.  In other use-cases, application developers only
3534/// use `client::InstanceSettings` and need not be concerned with this trait or
3535/// its implementations.
3536///
3537/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3538/// too. To avoid breaking applications the trait provides a default
3539/// implementation of each method. Most of these implementations just return an
3540/// error.
3541#[cfg(feature = "instance-settings")]
3542#[cfg_attr(docsrs, doc(cfg(feature = "instance-settings")))]
3543pub trait InstanceSettings: std::fmt::Debug + Send + Sync {
3544    /// Implements [super::client::InstanceSettings::get].
3545    fn get(
3546        &self,
3547        _req: crate::model::instance_settings::GetRequest,
3548        _options: crate::RequestOptions,
3549    ) -> impl std::future::Future<
3550        Output = crate::Result<crate::Response<crate::model::InstanceSettings>>,
3551    > + Send {
3552        gaxi::unimplemented::unimplemented_stub()
3553    }
3554
3555    /// Implements [super::client::InstanceSettings::patch].
3556    fn patch(
3557        &self,
3558        _req: crate::model::instance_settings::PatchRequest,
3559        _options: crate::RequestOptions,
3560    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3561    {
3562        gaxi::unimplemented::unimplemented_stub()
3563    }
3564
3565    /// Implements [super::client::InstanceSettings::get_operation].
3566    fn get_operation(
3567        &self,
3568        _req: crate::model::zone_operations::GetRequest,
3569        _options: crate::RequestOptions,
3570    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3571    {
3572        gaxi::unimplemented::unimplemented_stub()
3573    }
3574
3575    /// Returns the polling error policy.
3576    ///
3577    /// When mocking, this method is typically irrelevant. Do not try to verify
3578    /// it is called by your mocks.
3579    fn get_polling_error_policy(
3580        &self,
3581        _options: &crate::RequestOptions,
3582    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3583        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3584    }
3585
3586    /// Returns the polling backoff policy.
3587    ///
3588    /// When mocking, this method is typically irrelevant. Do not try to verify
3589    /// it is called by your mocks.
3590    fn get_polling_backoff_policy(
3591        &self,
3592        _options: &crate::RequestOptions,
3593    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3594        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3595    }
3596}
3597
3598/// Defines the trait used to implement [super::client::InstanceTemplates].
3599///
3600/// Application developers may need to implement this trait to mock
3601/// `client::InstanceTemplates`.  In other use-cases, application developers only
3602/// use `client::InstanceTemplates` and need not be concerned with this trait or
3603/// its implementations.
3604///
3605/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3606/// too. To avoid breaking applications the trait provides a default
3607/// implementation of each method. Most of these implementations just return an
3608/// error.
3609#[cfg(feature = "instance-templates")]
3610#[cfg_attr(docsrs, doc(cfg(feature = "instance-templates")))]
3611pub trait InstanceTemplates: std::fmt::Debug + Send + Sync {
3612    /// Implements [super::client::InstanceTemplates::aggregated_list].
3613    fn aggregated_list(
3614        &self,
3615        _req: crate::model::instance_templates::AggregatedListRequest,
3616        _options: crate::RequestOptions,
3617    ) -> impl std::future::Future<
3618        Output = crate::Result<crate::Response<crate::model::InstanceTemplateAggregatedList>>,
3619    > + Send {
3620        gaxi::unimplemented::unimplemented_stub()
3621    }
3622
3623    /// Implements [super::client::InstanceTemplates::delete].
3624    fn delete(
3625        &self,
3626        _req: crate::model::instance_templates::DeleteRequest,
3627        _options: crate::RequestOptions,
3628    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3629    {
3630        gaxi::unimplemented::unimplemented_stub()
3631    }
3632
3633    /// Implements [super::client::InstanceTemplates::get].
3634    fn get(
3635        &self,
3636        _req: crate::model::instance_templates::GetRequest,
3637        _options: crate::RequestOptions,
3638    ) -> impl std::future::Future<
3639        Output = crate::Result<crate::Response<crate::model::InstanceTemplate>>,
3640    > + Send {
3641        gaxi::unimplemented::unimplemented_stub()
3642    }
3643
3644    /// Implements [super::client::InstanceTemplates::get_iam_policy].
3645    fn get_iam_policy(
3646        &self,
3647        _req: crate::model::instance_templates::GetIamPolicyRequest,
3648        _options: crate::RequestOptions,
3649    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
3650    {
3651        gaxi::unimplemented::unimplemented_stub()
3652    }
3653
3654    /// Implements [super::client::InstanceTemplates::insert].
3655    fn insert(
3656        &self,
3657        _req: crate::model::instance_templates::InsertRequest,
3658        _options: crate::RequestOptions,
3659    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3660    {
3661        gaxi::unimplemented::unimplemented_stub()
3662    }
3663
3664    /// Implements [super::client::InstanceTemplates::list].
3665    fn list(
3666        &self,
3667        _req: crate::model::instance_templates::ListRequest,
3668        _options: crate::RequestOptions,
3669    ) -> impl std::future::Future<
3670        Output = crate::Result<crate::Response<crate::model::InstanceTemplateList>>,
3671    > + Send {
3672        gaxi::unimplemented::unimplemented_stub()
3673    }
3674
3675    /// Implements [super::client::InstanceTemplates::set_iam_policy].
3676    fn set_iam_policy(
3677        &self,
3678        _req: crate::model::instance_templates::SetIamPolicyRequest,
3679        _options: crate::RequestOptions,
3680    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
3681    {
3682        gaxi::unimplemented::unimplemented_stub()
3683    }
3684
3685    /// Implements [super::client::InstanceTemplates::test_iam_permissions].
3686    fn test_iam_permissions(
3687        &self,
3688        _req: crate::model::instance_templates::TestIamPermissionsRequest,
3689        _options: crate::RequestOptions,
3690    ) -> impl std::future::Future<
3691        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3692    > + Send {
3693        gaxi::unimplemented::unimplemented_stub()
3694    }
3695
3696    /// Implements [super::client::InstanceTemplates::get_operation].
3697    fn get_operation(
3698        &self,
3699        _req: crate::model::global_operations::GetRequest,
3700        _options: crate::RequestOptions,
3701    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3702    {
3703        gaxi::unimplemented::unimplemented_stub()
3704    }
3705
3706    /// Returns the polling error policy.
3707    ///
3708    /// When mocking, this method is typically irrelevant. Do not try to verify
3709    /// it is called by your mocks.
3710    fn get_polling_error_policy(
3711        &self,
3712        _options: &crate::RequestOptions,
3713    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3714        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3715    }
3716
3717    /// Returns the polling backoff policy.
3718    ///
3719    /// When mocking, this method is typically irrelevant. Do not try to verify
3720    /// it is called by your mocks.
3721    fn get_polling_backoff_policy(
3722        &self,
3723        _options: &crate::RequestOptions,
3724    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3725        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3726    }
3727}
3728
3729/// Defines the trait used to implement [super::client::Instances].
3730///
3731/// Application developers may need to implement this trait to mock
3732/// `client::Instances`.  In other use-cases, application developers only
3733/// use `client::Instances` and need not be concerned with this trait or
3734/// its implementations.
3735///
3736/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3737/// too. To avoid breaking applications the trait provides a default
3738/// implementation of each method. Most of these implementations just return an
3739/// error.
3740#[cfg(feature = "instances")]
3741#[cfg_attr(docsrs, doc(cfg(feature = "instances")))]
3742pub trait Instances: std::fmt::Debug + Send + Sync {
3743    /// Implements [super::client::Instances::add_access_config].
3744    fn add_access_config(
3745        &self,
3746        _req: crate::model::instances::AddAccessConfigRequest,
3747        _options: crate::RequestOptions,
3748    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3749    {
3750        gaxi::unimplemented::unimplemented_stub()
3751    }
3752
3753    /// Implements [super::client::Instances::add_network_interface].
3754    fn add_network_interface(
3755        &self,
3756        _req: crate::model::instances::AddNetworkInterfaceRequest,
3757        _options: crate::RequestOptions,
3758    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3759    {
3760        gaxi::unimplemented::unimplemented_stub()
3761    }
3762
3763    /// Implements [super::client::Instances::add_resource_policies].
3764    fn add_resource_policies(
3765        &self,
3766        _req: crate::model::instances::AddResourcePoliciesRequest,
3767        _options: crate::RequestOptions,
3768    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3769    {
3770        gaxi::unimplemented::unimplemented_stub()
3771    }
3772
3773    /// Implements [super::client::Instances::aggregated_list].
3774    fn aggregated_list(
3775        &self,
3776        _req: crate::model::instances::AggregatedListRequest,
3777        _options: crate::RequestOptions,
3778    ) -> impl std::future::Future<
3779        Output = crate::Result<crate::Response<crate::model::InstanceAggregatedList>>,
3780    > + Send {
3781        gaxi::unimplemented::unimplemented_stub()
3782    }
3783
3784    /// Implements [super::client::Instances::attach_disk].
3785    fn attach_disk(
3786        &self,
3787        _req: crate::model::instances::AttachDiskRequest,
3788        _options: crate::RequestOptions,
3789    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3790    {
3791        gaxi::unimplemented::unimplemented_stub()
3792    }
3793
3794    /// Implements [super::client::Instances::bulk_insert].
3795    fn bulk_insert(
3796        &self,
3797        _req: crate::model::instances::BulkInsertRequest,
3798        _options: crate::RequestOptions,
3799    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3800    {
3801        gaxi::unimplemented::unimplemented_stub()
3802    }
3803
3804    /// Implements [super::client::Instances::delete].
3805    fn delete(
3806        &self,
3807        _req: crate::model::instances::DeleteRequest,
3808        _options: crate::RequestOptions,
3809    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3810    {
3811        gaxi::unimplemented::unimplemented_stub()
3812    }
3813
3814    /// Implements [super::client::Instances::delete_access_config].
3815    fn delete_access_config(
3816        &self,
3817        _req: crate::model::instances::DeleteAccessConfigRequest,
3818        _options: crate::RequestOptions,
3819    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3820    {
3821        gaxi::unimplemented::unimplemented_stub()
3822    }
3823
3824    /// Implements [super::client::Instances::delete_network_interface].
3825    fn delete_network_interface(
3826        &self,
3827        _req: crate::model::instances::DeleteNetworkInterfaceRequest,
3828        _options: crate::RequestOptions,
3829    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3830    {
3831        gaxi::unimplemented::unimplemented_stub()
3832    }
3833
3834    /// Implements [super::client::Instances::detach_disk].
3835    fn detach_disk(
3836        &self,
3837        _req: crate::model::instances::DetachDiskRequest,
3838        _options: crate::RequestOptions,
3839    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3840    {
3841        gaxi::unimplemented::unimplemented_stub()
3842    }
3843
3844    /// Implements [super::client::Instances::get].
3845    fn get(
3846        &self,
3847        _req: crate::model::instances::GetRequest,
3848        _options: crate::RequestOptions,
3849    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Instance>>> + Send
3850    {
3851        gaxi::unimplemented::unimplemented_stub()
3852    }
3853
3854    /// Implements [super::client::Instances::get_effective_firewalls].
3855    fn get_effective_firewalls(
3856        &self,
3857        _req: crate::model::instances::GetEffectiveFirewallsRequest,
3858        _options: crate::RequestOptions,
3859    ) -> impl std::future::Future<
3860        Output = crate::Result<
3861            crate::Response<crate::model::InstancesGetEffectiveFirewallsResponse>,
3862        >,
3863    > + Send {
3864        gaxi::unimplemented::unimplemented_stub()
3865    }
3866
3867    /// Implements [super::client::Instances::get_guest_attributes].
3868    fn get_guest_attributes(
3869        &self,
3870        _req: crate::model::instances::GetGuestAttributesRequest,
3871        _options: crate::RequestOptions,
3872    ) -> impl std::future::Future<
3873        Output = crate::Result<crate::Response<crate::model::GuestAttributes>>,
3874    > + Send {
3875        gaxi::unimplemented::unimplemented_stub()
3876    }
3877
3878    /// Implements [super::client::Instances::get_iam_policy].
3879    fn get_iam_policy(
3880        &self,
3881        _req: crate::model::instances::GetIamPolicyRequest,
3882        _options: crate::RequestOptions,
3883    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
3884    {
3885        gaxi::unimplemented::unimplemented_stub()
3886    }
3887
3888    /// Implements [super::client::Instances::get_screenshot].
3889    fn get_screenshot(
3890        &self,
3891        _req: crate::model::instances::GetScreenshotRequest,
3892        _options: crate::RequestOptions,
3893    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Screenshot>>> + Send
3894    {
3895        gaxi::unimplemented::unimplemented_stub()
3896    }
3897
3898    /// Implements [super::client::Instances::get_serial_port_output].
3899    fn get_serial_port_output(
3900        &self,
3901        _req: crate::model::instances::GetSerialPortOutputRequest,
3902        _options: crate::RequestOptions,
3903    ) -> impl std::future::Future<
3904        Output = crate::Result<crate::Response<crate::model::SerialPortOutput>>,
3905    > + Send {
3906        gaxi::unimplemented::unimplemented_stub()
3907    }
3908
3909    /// Implements [super::client::Instances::get_shielded_instance_identity].
3910    fn get_shielded_instance_identity(
3911        &self,
3912        _req: crate::model::instances::GetShieldedInstanceIdentityRequest,
3913        _options: crate::RequestOptions,
3914    ) -> impl std::future::Future<
3915        Output = crate::Result<crate::Response<crate::model::ShieldedInstanceIdentity>>,
3916    > + Send {
3917        gaxi::unimplemented::unimplemented_stub()
3918    }
3919
3920    /// Implements [super::client::Instances::insert].
3921    fn insert(
3922        &self,
3923        _req: crate::model::instances::InsertRequest,
3924        _options: crate::RequestOptions,
3925    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3926    {
3927        gaxi::unimplemented::unimplemented_stub()
3928    }
3929
3930    /// Implements [super::client::Instances::list].
3931    fn list(
3932        &self,
3933        _req: crate::model::instances::ListRequest,
3934        _options: crate::RequestOptions,
3935    ) -> impl std::future::Future<
3936        Output = crate::Result<crate::Response<crate::model::InstanceList>>,
3937    > + Send {
3938        gaxi::unimplemented::unimplemented_stub()
3939    }
3940
3941    /// Implements [super::client::Instances::list_referrers].
3942    fn list_referrers(
3943        &self,
3944        _req: crate::model::instances::ListReferrersRequest,
3945        _options: crate::RequestOptions,
3946    ) -> impl std::future::Future<
3947        Output = crate::Result<crate::Response<crate::model::InstanceListReferrers>>,
3948    > + Send {
3949        gaxi::unimplemented::unimplemented_stub()
3950    }
3951
3952    /// Implements [super::client::Instances::perform_maintenance].
3953    fn perform_maintenance(
3954        &self,
3955        _req: crate::model::instances::PerformMaintenanceRequest,
3956        _options: crate::RequestOptions,
3957    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3958    {
3959        gaxi::unimplemented::unimplemented_stub()
3960    }
3961
3962    /// Implements [super::client::Instances::remove_resource_policies].
3963    fn remove_resource_policies(
3964        &self,
3965        _req: crate::model::instances::RemoveResourcePoliciesRequest,
3966        _options: crate::RequestOptions,
3967    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3968    {
3969        gaxi::unimplemented::unimplemented_stub()
3970    }
3971
3972    /// Implements [super::client::Instances::report_host_as_faulty].
3973    fn report_host_as_faulty(
3974        &self,
3975        _req: crate::model::instances::ReportHostAsFaultyRequest,
3976        _options: crate::RequestOptions,
3977    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3978    {
3979        gaxi::unimplemented::unimplemented_stub()
3980    }
3981
3982    /// Implements [super::client::Instances::reset].
3983    fn reset(
3984        &self,
3985        _req: crate::model::instances::ResetRequest,
3986        _options: crate::RequestOptions,
3987    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3988    {
3989        gaxi::unimplemented::unimplemented_stub()
3990    }
3991
3992    /// Implements [super::client::Instances::resume].
3993    fn resume(
3994        &self,
3995        _req: crate::model::instances::ResumeRequest,
3996        _options: crate::RequestOptions,
3997    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3998    {
3999        gaxi::unimplemented::unimplemented_stub()
4000    }
4001
4002    /// Implements [super::client::Instances::send_diagnostic_interrupt].
4003    fn send_diagnostic_interrupt(
4004        &self,
4005        _req: crate::model::instances::SendDiagnosticInterruptRequest,
4006        _options: crate::RequestOptions,
4007    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
4008        gaxi::unimplemented::unimplemented_stub()
4009    }
4010
4011    /// Implements [super::client::Instances::set_deletion_protection].
4012    fn set_deletion_protection(
4013        &self,
4014        _req: crate::model::instances::SetDeletionProtectionRequest,
4015        _options: crate::RequestOptions,
4016    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4017    {
4018        gaxi::unimplemented::unimplemented_stub()
4019    }
4020
4021    /// Implements [super::client::Instances::set_disk_auto_delete].
4022    fn set_disk_auto_delete(
4023        &self,
4024        _req: crate::model::instances::SetDiskAutoDeleteRequest,
4025        _options: crate::RequestOptions,
4026    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4027    {
4028        gaxi::unimplemented::unimplemented_stub()
4029    }
4030
4031    /// Implements [super::client::Instances::set_iam_policy].
4032    fn set_iam_policy(
4033        &self,
4034        _req: crate::model::instances::SetIamPolicyRequest,
4035        _options: crate::RequestOptions,
4036    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4037    {
4038        gaxi::unimplemented::unimplemented_stub()
4039    }
4040
4041    /// Implements [super::client::Instances::set_labels].
4042    fn set_labels(
4043        &self,
4044        _req: crate::model::instances::SetLabelsRequest,
4045        _options: crate::RequestOptions,
4046    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4047    {
4048        gaxi::unimplemented::unimplemented_stub()
4049    }
4050
4051    /// Implements [super::client::Instances::set_machine_resources].
4052    fn set_machine_resources(
4053        &self,
4054        _req: crate::model::instances::SetMachineResourcesRequest,
4055        _options: crate::RequestOptions,
4056    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4057    {
4058        gaxi::unimplemented::unimplemented_stub()
4059    }
4060
4061    /// Implements [super::client::Instances::set_machine_type].
4062    fn set_machine_type(
4063        &self,
4064        _req: crate::model::instances::SetMachineTypeRequest,
4065        _options: crate::RequestOptions,
4066    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4067    {
4068        gaxi::unimplemented::unimplemented_stub()
4069    }
4070
4071    /// Implements [super::client::Instances::set_metadata].
4072    fn set_metadata(
4073        &self,
4074        _req: crate::model::instances::SetMetadataRequest,
4075        _options: crate::RequestOptions,
4076    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4077    {
4078        gaxi::unimplemented::unimplemented_stub()
4079    }
4080
4081    /// Implements [super::client::Instances::set_min_cpu_platform].
4082    fn set_min_cpu_platform(
4083        &self,
4084        _req: crate::model::instances::SetMinCpuPlatformRequest,
4085        _options: crate::RequestOptions,
4086    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4087    {
4088        gaxi::unimplemented::unimplemented_stub()
4089    }
4090
4091    /// Implements [super::client::Instances::set_name].
4092    fn set_name(
4093        &self,
4094        _req: crate::model::instances::SetNameRequest,
4095        _options: crate::RequestOptions,
4096    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4097    {
4098        gaxi::unimplemented::unimplemented_stub()
4099    }
4100
4101    /// Implements [super::client::Instances::set_scheduling].
4102    fn set_scheduling(
4103        &self,
4104        _req: crate::model::instances::SetSchedulingRequest,
4105        _options: crate::RequestOptions,
4106    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4107    {
4108        gaxi::unimplemented::unimplemented_stub()
4109    }
4110
4111    /// Implements [super::client::Instances::set_security_policy].
4112    fn set_security_policy(
4113        &self,
4114        _req: crate::model::instances::SetSecurityPolicyRequest,
4115        _options: crate::RequestOptions,
4116    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4117    {
4118        gaxi::unimplemented::unimplemented_stub()
4119    }
4120
4121    /// Implements [super::client::Instances::set_service_account].
4122    fn set_service_account(
4123        &self,
4124        _req: crate::model::instances::SetServiceAccountRequest,
4125        _options: crate::RequestOptions,
4126    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4127    {
4128        gaxi::unimplemented::unimplemented_stub()
4129    }
4130
4131    /// Implements [super::client::Instances::set_shielded_instance_integrity_policy].
4132    fn set_shielded_instance_integrity_policy(
4133        &self,
4134        _req: crate::model::instances::SetShieldedInstanceIntegrityPolicyRequest,
4135        _options: crate::RequestOptions,
4136    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4137    {
4138        gaxi::unimplemented::unimplemented_stub()
4139    }
4140
4141    /// Implements [super::client::Instances::set_tags].
4142    fn set_tags(
4143        &self,
4144        _req: crate::model::instances::SetTagsRequest,
4145        _options: crate::RequestOptions,
4146    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4147    {
4148        gaxi::unimplemented::unimplemented_stub()
4149    }
4150
4151    /// Implements [super::client::Instances::simulate_maintenance_event].
4152    fn simulate_maintenance_event(
4153        &self,
4154        _req: crate::model::instances::SimulateMaintenanceEventRequest,
4155        _options: crate::RequestOptions,
4156    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4157    {
4158        gaxi::unimplemented::unimplemented_stub()
4159    }
4160
4161    /// Implements [super::client::Instances::start].
4162    fn start(
4163        &self,
4164        _req: crate::model::instances::StartRequest,
4165        _options: crate::RequestOptions,
4166    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4167    {
4168        gaxi::unimplemented::unimplemented_stub()
4169    }
4170
4171    /// Implements [super::client::Instances::start_with_encryption_key].
4172    fn start_with_encryption_key(
4173        &self,
4174        _req: crate::model::instances::StartWithEncryptionKeyRequest,
4175        _options: crate::RequestOptions,
4176    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4177    {
4178        gaxi::unimplemented::unimplemented_stub()
4179    }
4180
4181    /// Implements [super::client::Instances::stop].
4182    fn stop(
4183        &self,
4184        _req: crate::model::instances::StopRequest,
4185        _options: crate::RequestOptions,
4186    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4187    {
4188        gaxi::unimplemented::unimplemented_stub()
4189    }
4190
4191    /// Implements [super::client::Instances::suspend].
4192    fn suspend(
4193        &self,
4194        _req: crate::model::instances::SuspendRequest,
4195        _options: crate::RequestOptions,
4196    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4197    {
4198        gaxi::unimplemented::unimplemented_stub()
4199    }
4200
4201    /// Implements [super::client::Instances::test_iam_permissions].
4202    fn test_iam_permissions(
4203        &self,
4204        _req: crate::model::instances::TestIamPermissionsRequest,
4205        _options: crate::RequestOptions,
4206    ) -> impl std::future::Future<
4207        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4208    > + Send {
4209        gaxi::unimplemented::unimplemented_stub()
4210    }
4211
4212    /// Implements [super::client::Instances::update].
4213    fn update(
4214        &self,
4215        _req: crate::model::instances::UpdateRequest,
4216        _options: crate::RequestOptions,
4217    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4218    {
4219        gaxi::unimplemented::unimplemented_stub()
4220    }
4221
4222    /// Implements [super::client::Instances::update_access_config].
4223    fn update_access_config(
4224        &self,
4225        _req: crate::model::instances::UpdateAccessConfigRequest,
4226        _options: crate::RequestOptions,
4227    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4228    {
4229        gaxi::unimplemented::unimplemented_stub()
4230    }
4231
4232    /// Implements [super::client::Instances::update_display_device].
4233    fn update_display_device(
4234        &self,
4235        _req: crate::model::instances::UpdateDisplayDeviceRequest,
4236        _options: crate::RequestOptions,
4237    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4238    {
4239        gaxi::unimplemented::unimplemented_stub()
4240    }
4241
4242    /// Implements [super::client::Instances::update_network_interface].
4243    fn update_network_interface(
4244        &self,
4245        _req: crate::model::instances::UpdateNetworkInterfaceRequest,
4246        _options: crate::RequestOptions,
4247    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4248    {
4249        gaxi::unimplemented::unimplemented_stub()
4250    }
4251
4252    /// Implements [super::client::Instances::update_shielded_instance_config].
4253    fn update_shielded_instance_config(
4254        &self,
4255        _req: crate::model::instances::UpdateShieldedInstanceConfigRequest,
4256        _options: crate::RequestOptions,
4257    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4258    {
4259        gaxi::unimplemented::unimplemented_stub()
4260    }
4261
4262    /// Implements [super::client::Instances::get_operation].
4263    fn get_operation(
4264        &self,
4265        _req: crate::model::zone_operations::GetRequest,
4266        _options: crate::RequestOptions,
4267    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4268    {
4269        gaxi::unimplemented::unimplemented_stub()
4270    }
4271
4272    /// Returns the polling error policy.
4273    ///
4274    /// When mocking, this method is typically irrelevant. Do not try to verify
4275    /// it is called by your mocks.
4276    fn get_polling_error_policy(
4277        &self,
4278        _options: &crate::RequestOptions,
4279    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4280        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4281    }
4282
4283    /// Returns the polling backoff policy.
4284    ///
4285    /// When mocking, this method is typically irrelevant. Do not try to verify
4286    /// it is called by your mocks.
4287    fn get_polling_backoff_policy(
4288        &self,
4289        _options: &crate::RequestOptions,
4290    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4291        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4292    }
4293}
4294
4295/// Defines the trait used to implement [super::client::InstantSnapshots].
4296///
4297/// Application developers may need to implement this trait to mock
4298/// `client::InstantSnapshots`.  In other use-cases, application developers only
4299/// use `client::InstantSnapshots` and need not be concerned with this trait or
4300/// its implementations.
4301///
4302/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4303/// too. To avoid breaking applications the trait provides a default
4304/// implementation of each method. Most of these implementations just return an
4305/// error.
4306#[cfg(feature = "instant-snapshots")]
4307#[cfg_attr(docsrs, doc(cfg(feature = "instant-snapshots")))]
4308pub trait InstantSnapshots: std::fmt::Debug + Send + Sync {
4309    /// Implements [super::client::InstantSnapshots::aggregated_list].
4310    fn aggregated_list(
4311        &self,
4312        _req: crate::model::instant_snapshots::AggregatedListRequest,
4313        _options: crate::RequestOptions,
4314    ) -> impl std::future::Future<
4315        Output = crate::Result<crate::Response<crate::model::InstantSnapshotAggregatedList>>,
4316    > + Send {
4317        gaxi::unimplemented::unimplemented_stub()
4318    }
4319
4320    /// Implements [super::client::InstantSnapshots::delete].
4321    fn delete(
4322        &self,
4323        _req: crate::model::instant_snapshots::DeleteRequest,
4324        _options: crate::RequestOptions,
4325    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4326    {
4327        gaxi::unimplemented::unimplemented_stub()
4328    }
4329
4330    /// Implements [super::client::InstantSnapshots::get].
4331    fn get(
4332        &self,
4333        _req: crate::model::instant_snapshots::GetRequest,
4334        _options: crate::RequestOptions,
4335    ) -> impl std::future::Future<
4336        Output = crate::Result<crate::Response<crate::model::InstantSnapshot>>,
4337    > + Send {
4338        gaxi::unimplemented::unimplemented_stub()
4339    }
4340
4341    /// Implements [super::client::InstantSnapshots::get_iam_policy].
4342    fn get_iam_policy(
4343        &self,
4344        _req: crate::model::instant_snapshots::GetIamPolicyRequest,
4345        _options: crate::RequestOptions,
4346    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4347    {
4348        gaxi::unimplemented::unimplemented_stub()
4349    }
4350
4351    /// Implements [super::client::InstantSnapshots::insert].
4352    fn insert(
4353        &self,
4354        _req: crate::model::instant_snapshots::InsertRequest,
4355        _options: crate::RequestOptions,
4356    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4357    {
4358        gaxi::unimplemented::unimplemented_stub()
4359    }
4360
4361    /// Implements [super::client::InstantSnapshots::list].
4362    fn list(
4363        &self,
4364        _req: crate::model::instant_snapshots::ListRequest,
4365        _options: crate::RequestOptions,
4366    ) -> impl std::future::Future<
4367        Output = crate::Result<crate::Response<crate::model::InstantSnapshotList>>,
4368    > + Send {
4369        gaxi::unimplemented::unimplemented_stub()
4370    }
4371
4372    /// Implements [super::client::InstantSnapshots::set_iam_policy].
4373    fn set_iam_policy(
4374        &self,
4375        _req: crate::model::instant_snapshots::SetIamPolicyRequest,
4376        _options: crate::RequestOptions,
4377    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4378    {
4379        gaxi::unimplemented::unimplemented_stub()
4380    }
4381
4382    /// Implements [super::client::InstantSnapshots::set_labels].
4383    fn set_labels(
4384        &self,
4385        _req: crate::model::instant_snapshots::SetLabelsRequest,
4386        _options: crate::RequestOptions,
4387    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4388    {
4389        gaxi::unimplemented::unimplemented_stub()
4390    }
4391
4392    /// Implements [super::client::InstantSnapshots::test_iam_permissions].
4393    fn test_iam_permissions(
4394        &self,
4395        _req: crate::model::instant_snapshots::TestIamPermissionsRequest,
4396        _options: crate::RequestOptions,
4397    ) -> impl std::future::Future<
4398        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4399    > + Send {
4400        gaxi::unimplemented::unimplemented_stub()
4401    }
4402
4403    /// Implements [super::client::InstantSnapshots::get_operation].
4404    fn get_operation(
4405        &self,
4406        _req: crate::model::zone_operations::GetRequest,
4407        _options: crate::RequestOptions,
4408    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4409    {
4410        gaxi::unimplemented::unimplemented_stub()
4411    }
4412
4413    /// Returns the polling error policy.
4414    ///
4415    /// When mocking, this method is typically irrelevant. Do not try to verify
4416    /// it is called by your mocks.
4417    fn get_polling_error_policy(
4418        &self,
4419        _options: &crate::RequestOptions,
4420    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4421        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4422    }
4423
4424    /// Returns the polling backoff policy.
4425    ///
4426    /// When mocking, this method is typically irrelevant. Do not try to verify
4427    /// it is called by your mocks.
4428    fn get_polling_backoff_policy(
4429        &self,
4430        _options: &crate::RequestOptions,
4431    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4432        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4433    }
4434}
4435
4436/// Defines the trait used to implement [super::client::InterconnectAttachmentGroups].
4437///
4438/// Application developers may need to implement this trait to mock
4439/// `client::InterconnectAttachmentGroups`.  In other use-cases, application developers only
4440/// use `client::InterconnectAttachmentGroups` and need not be concerned with this trait or
4441/// its implementations.
4442///
4443/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4444/// too. To avoid breaking applications the trait provides a default
4445/// implementation of each method. Most of these implementations just return an
4446/// error.
4447#[cfg(feature = "interconnect-attachment-groups")]
4448#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-attachment-groups")))]
4449pub trait InterconnectAttachmentGroups: std::fmt::Debug + Send + Sync {
4450    /// Implements [super::client::InterconnectAttachmentGroups::delete].
4451    fn delete(
4452        &self,
4453        _req: crate::model::interconnect_attachment_groups::DeleteRequest,
4454        _options: crate::RequestOptions,
4455    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4456    {
4457        gaxi::unimplemented::unimplemented_stub()
4458    }
4459
4460    /// Implements [super::client::InterconnectAttachmentGroups::get].
4461    fn get(
4462        &self,
4463        _req: crate::model::interconnect_attachment_groups::GetRequest,
4464        _options: crate::RequestOptions,
4465    ) -> impl std::future::Future<
4466        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentGroup>>,
4467    > + Send {
4468        gaxi::unimplemented::unimplemented_stub()
4469    }
4470
4471    /// Implements [super::client::InterconnectAttachmentGroups::get_iam_policy].
4472    fn get_iam_policy(
4473        &self,
4474        _req: crate::model::interconnect_attachment_groups::GetIamPolicyRequest,
4475        _options: crate::RequestOptions,
4476    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4477    {
4478        gaxi::unimplemented::unimplemented_stub()
4479    }
4480
4481    /// Implements [super::client::InterconnectAttachmentGroups::get_operational_status].
4482    fn get_operational_status(
4483        &self,
4484        _req: crate::model::interconnect_attachment_groups::GetOperationalStatusRequest,
4485        _options: crate::RequestOptions,
4486    ) -> impl std::future::Future<
4487        Output = crate::Result<
4488            crate::Response<crate::model::InterconnectAttachmentGroupsGetOperationalStatusResponse>,
4489        >,
4490    > + Send {
4491        gaxi::unimplemented::unimplemented_stub()
4492    }
4493
4494    /// Implements [super::client::InterconnectAttachmentGroups::insert].
4495    fn insert(
4496        &self,
4497        _req: crate::model::interconnect_attachment_groups::InsertRequest,
4498        _options: crate::RequestOptions,
4499    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4500    {
4501        gaxi::unimplemented::unimplemented_stub()
4502    }
4503
4504    /// Implements [super::client::InterconnectAttachmentGroups::list].
4505    fn list(
4506        &self,
4507        _req: crate::model::interconnect_attachment_groups::ListRequest,
4508        _options: crate::RequestOptions,
4509    ) -> impl std::future::Future<
4510        Output = crate::Result<
4511            crate::Response<crate::model::InterconnectAttachmentGroupsListResponse>,
4512        >,
4513    > + Send {
4514        gaxi::unimplemented::unimplemented_stub()
4515    }
4516
4517    /// Implements [super::client::InterconnectAttachmentGroups::patch].
4518    fn patch(
4519        &self,
4520        _req: crate::model::interconnect_attachment_groups::PatchRequest,
4521        _options: crate::RequestOptions,
4522    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4523    {
4524        gaxi::unimplemented::unimplemented_stub()
4525    }
4526
4527    /// Implements [super::client::InterconnectAttachmentGroups::set_iam_policy].
4528    fn set_iam_policy(
4529        &self,
4530        _req: crate::model::interconnect_attachment_groups::SetIamPolicyRequest,
4531        _options: crate::RequestOptions,
4532    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4533    {
4534        gaxi::unimplemented::unimplemented_stub()
4535    }
4536
4537    /// Implements [super::client::InterconnectAttachmentGroups::test_iam_permissions].
4538    fn test_iam_permissions(
4539        &self,
4540        _req: crate::model::interconnect_attachment_groups::TestIamPermissionsRequest,
4541        _options: crate::RequestOptions,
4542    ) -> impl std::future::Future<
4543        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4544    > + Send {
4545        gaxi::unimplemented::unimplemented_stub()
4546    }
4547
4548    /// Implements [super::client::InterconnectAttachmentGroups::get_operation].
4549    fn get_operation(
4550        &self,
4551        _req: crate::model::global_operations::GetRequest,
4552        _options: crate::RequestOptions,
4553    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4554    {
4555        gaxi::unimplemented::unimplemented_stub()
4556    }
4557
4558    /// Returns the polling error policy.
4559    ///
4560    /// When mocking, this method is typically irrelevant. Do not try to verify
4561    /// it is called by your mocks.
4562    fn get_polling_error_policy(
4563        &self,
4564        _options: &crate::RequestOptions,
4565    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4566        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4567    }
4568
4569    /// Returns the polling backoff policy.
4570    ///
4571    /// When mocking, this method is typically irrelevant. Do not try to verify
4572    /// it is called by your mocks.
4573    fn get_polling_backoff_policy(
4574        &self,
4575        _options: &crate::RequestOptions,
4576    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4577        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4578    }
4579}
4580
4581/// Defines the trait used to implement [super::client::InterconnectAttachments].
4582///
4583/// Application developers may need to implement this trait to mock
4584/// `client::InterconnectAttachments`.  In other use-cases, application developers only
4585/// use `client::InterconnectAttachments` and need not be concerned with this trait or
4586/// its implementations.
4587///
4588/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4589/// too. To avoid breaking applications the trait provides a default
4590/// implementation of each method. Most of these implementations just return an
4591/// error.
4592#[cfg(feature = "interconnect-attachments")]
4593#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-attachments")))]
4594pub trait InterconnectAttachments: std::fmt::Debug + Send + Sync {
4595    /// Implements [super::client::InterconnectAttachments::aggregated_list].
4596    fn aggregated_list(
4597        &self,
4598        _req: crate::model::interconnect_attachments::AggregatedListRequest,
4599        _options: crate::RequestOptions,
4600    ) -> impl std::future::Future<
4601        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentAggregatedList>>,
4602    > + Send {
4603        gaxi::unimplemented::unimplemented_stub()
4604    }
4605
4606    /// Implements [super::client::InterconnectAttachments::delete].
4607    fn delete(
4608        &self,
4609        _req: crate::model::interconnect_attachments::DeleteRequest,
4610        _options: crate::RequestOptions,
4611    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4612    {
4613        gaxi::unimplemented::unimplemented_stub()
4614    }
4615
4616    /// Implements [super::client::InterconnectAttachments::get].
4617    fn get(
4618        &self,
4619        _req: crate::model::interconnect_attachments::GetRequest,
4620        _options: crate::RequestOptions,
4621    ) -> impl std::future::Future<
4622        Output = crate::Result<crate::Response<crate::model::InterconnectAttachment>>,
4623    > + Send {
4624        gaxi::unimplemented::unimplemented_stub()
4625    }
4626
4627    /// Implements [super::client::InterconnectAttachments::insert].
4628    fn insert(
4629        &self,
4630        _req: crate::model::interconnect_attachments::InsertRequest,
4631        _options: crate::RequestOptions,
4632    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4633    {
4634        gaxi::unimplemented::unimplemented_stub()
4635    }
4636
4637    /// Implements [super::client::InterconnectAttachments::list].
4638    fn list(
4639        &self,
4640        _req: crate::model::interconnect_attachments::ListRequest,
4641        _options: crate::RequestOptions,
4642    ) -> impl std::future::Future<
4643        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentList>>,
4644    > + Send {
4645        gaxi::unimplemented::unimplemented_stub()
4646    }
4647
4648    /// Implements [super::client::InterconnectAttachments::patch].
4649    fn patch(
4650        &self,
4651        _req: crate::model::interconnect_attachments::PatchRequest,
4652        _options: crate::RequestOptions,
4653    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4654    {
4655        gaxi::unimplemented::unimplemented_stub()
4656    }
4657
4658    /// Implements [super::client::InterconnectAttachments::set_labels].
4659    fn set_labels(
4660        &self,
4661        _req: crate::model::interconnect_attachments::SetLabelsRequest,
4662        _options: crate::RequestOptions,
4663    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4664    {
4665        gaxi::unimplemented::unimplemented_stub()
4666    }
4667
4668    /// Implements [super::client::InterconnectAttachments::get_operation].
4669    fn get_operation(
4670        &self,
4671        _req: crate::model::region_operations::GetRequest,
4672        _options: crate::RequestOptions,
4673    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4674    {
4675        gaxi::unimplemented::unimplemented_stub()
4676    }
4677
4678    /// Returns the polling error policy.
4679    ///
4680    /// When mocking, this method is typically irrelevant. Do not try to verify
4681    /// it is called by your mocks.
4682    fn get_polling_error_policy(
4683        &self,
4684        _options: &crate::RequestOptions,
4685    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4686        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4687    }
4688
4689    /// Returns the polling backoff policy.
4690    ///
4691    /// When mocking, this method is typically irrelevant. Do not try to verify
4692    /// it is called by your mocks.
4693    fn get_polling_backoff_policy(
4694        &self,
4695        _options: &crate::RequestOptions,
4696    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4697        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4698    }
4699}
4700
4701/// Defines the trait used to implement [super::client::InterconnectGroups].
4702///
4703/// Application developers may need to implement this trait to mock
4704/// `client::InterconnectGroups`.  In other use-cases, application developers only
4705/// use `client::InterconnectGroups` and need not be concerned with this trait or
4706/// its implementations.
4707///
4708/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4709/// too. To avoid breaking applications the trait provides a default
4710/// implementation of each method. Most of these implementations just return an
4711/// error.
4712#[cfg(feature = "interconnect-groups")]
4713#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-groups")))]
4714pub trait InterconnectGroups: std::fmt::Debug + Send + Sync {
4715    /// Implements [super::client::InterconnectGroups::create_members].
4716    fn create_members(
4717        &self,
4718        _req: crate::model::interconnect_groups::CreateMembersRequest,
4719        _options: crate::RequestOptions,
4720    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4721    {
4722        gaxi::unimplemented::unimplemented_stub()
4723    }
4724
4725    /// Implements [super::client::InterconnectGroups::delete].
4726    fn delete(
4727        &self,
4728        _req: crate::model::interconnect_groups::DeleteRequest,
4729        _options: crate::RequestOptions,
4730    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4731    {
4732        gaxi::unimplemented::unimplemented_stub()
4733    }
4734
4735    /// Implements [super::client::InterconnectGroups::get].
4736    fn get(
4737        &self,
4738        _req: crate::model::interconnect_groups::GetRequest,
4739        _options: crate::RequestOptions,
4740    ) -> impl std::future::Future<
4741        Output = crate::Result<crate::Response<crate::model::InterconnectGroup>>,
4742    > + Send {
4743        gaxi::unimplemented::unimplemented_stub()
4744    }
4745
4746    /// Implements [super::client::InterconnectGroups::get_iam_policy].
4747    fn get_iam_policy(
4748        &self,
4749        _req: crate::model::interconnect_groups::GetIamPolicyRequest,
4750        _options: crate::RequestOptions,
4751    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4752    {
4753        gaxi::unimplemented::unimplemented_stub()
4754    }
4755
4756    /// Implements [super::client::InterconnectGroups::get_operational_status].
4757    fn get_operational_status(
4758        &self,
4759        _req: crate::model::interconnect_groups::GetOperationalStatusRequest,
4760        _options: crate::RequestOptions,
4761    ) -> impl std::future::Future<
4762        Output = crate::Result<
4763            crate::Response<crate::model::InterconnectGroupsGetOperationalStatusResponse>,
4764        >,
4765    > + Send {
4766        gaxi::unimplemented::unimplemented_stub()
4767    }
4768
4769    /// Implements [super::client::InterconnectGroups::insert].
4770    fn insert(
4771        &self,
4772        _req: crate::model::interconnect_groups::InsertRequest,
4773        _options: crate::RequestOptions,
4774    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4775    {
4776        gaxi::unimplemented::unimplemented_stub()
4777    }
4778
4779    /// Implements [super::client::InterconnectGroups::list].
4780    fn list(
4781        &self,
4782        _req: crate::model::interconnect_groups::ListRequest,
4783        _options: crate::RequestOptions,
4784    ) -> impl std::future::Future<
4785        Output = crate::Result<crate::Response<crate::model::InterconnectGroupsListResponse>>,
4786    > + Send {
4787        gaxi::unimplemented::unimplemented_stub()
4788    }
4789
4790    /// Implements [super::client::InterconnectGroups::patch].
4791    fn patch(
4792        &self,
4793        _req: crate::model::interconnect_groups::PatchRequest,
4794        _options: crate::RequestOptions,
4795    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4796    {
4797        gaxi::unimplemented::unimplemented_stub()
4798    }
4799
4800    /// Implements [super::client::InterconnectGroups::set_iam_policy].
4801    fn set_iam_policy(
4802        &self,
4803        _req: crate::model::interconnect_groups::SetIamPolicyRequest,
4804        _options: crate::RequestOptions,
4805    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4806    {
4807        gaxi::unimplemented::unimplemented_stub()
4808    }
4809
4810    /// Implements [super::client::InterconnectGroups::test_iam_permissions].
4811    fn test_iam_permissions(
4812        &self,
4813        _req: crate::model::interconnect_groups::TestIamPermissionsRequest,
4814        _options: crate::RequestOptions,
4815    ) -> impl std::future::Future<
4816        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4817    > + Send {
4818        gaxi::unimplemented::unimplemented_stub()
4819    }
4820
4821    /// Implements [super::client::InterconnectGroups::get_operation].
4822    fn get_operation(
4823        &self,
4824        _req: crate::model::global_operations::GetRequest,
4825        _options: crate::RequestOptions,
4826    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4827    {
4828        gaxi::unimplemented::unimplemented_stub()
4829    }
4830
4831    /// Returns the polling error policy.
4832    ///
4833    /// When mocking, this method is typically irrelevant. Do not try to verify
4834    /// it is called by your mocks.
4835    fn get_polling_error_policy(
4836        &self,
4837        _options: &crate::RequestOptions,
4838    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4839        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4840    }
4841
4842    /// Returns the polling backoff policy.
4843    ///
4844    /// When mocking, this method is typically irrelevant. Do not try to verify
4845    /// it is called by your mocks.
4846    fn get_polling_backoff_policy(
4847        &self,
4848        _options: &crate::RequestOptions,
4849    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4850        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4851    }
4852}
4853
4854/// Defines the trait used to implement [super::client::InterconnectLocations].
4855///
4856/// Application developers may need to implement this trait to mock
4857/// `client::InterconnectLocations`.  In other use-cases, application developers only
4858/// use `client::InterconnectLocations` and need not be concerned with this trait or
4859/// its implementations.
4860///
4861/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4862/// too. To avoid breaking applications the trait provides a default
4863/// implementation of each method. Most of these implementations just return an
4864/// error.
4865#[cfg(feature = "interconnect-locations")]
4866#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-locations")))]
4867pub trait InterconnectLocations: std::fmt::Debug + Send + Sync {
4868    /// Implements [super::client::InterconnectLocations::get].
4869    fn get(
4870        &self,
4871        _req: crate::model::interconnect_locations::GetRequest,
4872        _options: crate::RequestOptions,
4873    ) -> impl std::future::Future<
4874        Output = crate::Result<crate::Response<crate::model::InterconnectLocation>>,
4875    > + Send {
4876        gaxi::unimplemented::unimplemented_stub()
4877    }
4878
4879    /// Implements [super::client::InterconnectLocations::list].
4880    fn list(
4881        &self,
4882        _req: crate::model::interconnect_locations::ListRequest,
4883        _options: crate::RequestOptions,
4884    ) -> impl std::future::Future<
4885        Output = crate::Result<crate::Response<crate::model::InterconnectLocationList>>,
4886    > + Send {
4887        gaxi::unimplemented::unimplemented_stub()
4888    }
4889}
4890
4891/// Defines the trait used to implement [super::client::InterconnectRemoteLocations].
4892///
4893/// Application developers may need to implement this trait to mock
4894/// `client::InterconnectRemoteLocations`.  In other use-cases, application developers only
4895/// use `client::InterconnectRemoteLocations` and need not be concerned with this trait or
4896/// its implementations.
4897///
4898/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4899/// too. To avoid breaking applications the trait provides a default
4900/// implementation of each method. Most of these implementations just return an
4901/// error.
4902#[cfg(feature = "interconnect-remote-locations")]
4903#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-remote-locations")))]
4904pub trait InterconnectRemoteLocations: std::fmt::Debug + Send + Sync {
4905    /// Implements [super::client::InterconnectRemoteLocations::get].
4906    fn get(
4907        &self,
4908        _req: crate::model::interconnect_remote_locations::GetRequest,
4909        _options: crate::RequestOptions,
4910    ) -> impl std::future::Future<
4911        Output = crate::Result<crate::Response<crate::model::InterconnectRemoteLocation>>,
4912    > + Send {
4913        gaxi::unimplemented::unimplemented_stub()
4914    }
4915
4916    /// Implements [super::client::InterconnectRemoteLocations::list].
4917    fn list(
4918        &self,
4919        _req: crate::model::interconnect_remote_locations::ListRequest,
4920        _options: crate::RequestOptions,
4921    ) -> impl std::future::Future<
4922        Output = crate::Result<crate::Response<crate::model::InterconnectRemoteLocationList>>,
4923    > + Send {
4924        gaxi::unimplemented::unimplemented_stub()
4925    }
4926}
4927
4928/// Defines the trait used to implement [super::client::Interconnects].
4929///
4930/// Application developers may need to implement this trait to mock
4931/// `client::Interconnects`.  In other use-cases, application developers only
4932/// use `client::Interconnects` and need not be concerned with this trait or
4933/// its implementations.
4934///
4935/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4936/// too. To avoid breaking applications the trait provides a default
4937/// implementation of each method. Most of these implementations just return an
4938/// error.
4939#[cfg(feature = "interconnects")]
4940#[cfg_attr(docsrs, doc(cfg(feature = "interconnects")))]
4941pub trait Interconnects: std::fmt::Debug + Send + Sync {
4942    /// Implements [super::client::Interconnects::delete].
4943    fn delete(
4944        &self,
4945        _req: crate::model::interconnects::DeleteRequest,
4946        _options: crate::RequestOptions,
4947    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4948    {
4949        gaxi::unimplemented::unimplemented_stub()
4950    }
4951
4952    /// Implements [super::client::Interconnects::get].
4953    fn get(
4954        &self,
4955        _req: crate::model::interconnects::GetRequest,
4956        _options: crate::RequestOptions,
4957    ) -> impl std::future::Future<
4958        Output = crate::Result<crate::Response<crate::model::Interconnect>>,
4959    > + Send {
4960        gaxi::unimplemented::unimplemented_stub()
4961    }
4962
4963    /// Implements [super::client::Interconnects::get_diagnostics].
4964    fn get_diagnostics(
4965        &self,
4966        _req: crate::model::interconnects::GetDiagnosticsRequest,
4967        _options: crate::RequestOptions,
4968    ) -> impl std::future::Future<
4969        Output = crate::Result<crate::Response<crate::model::InterconnectsGetDiagnosticsResponse>>,
4970    > + Send {
4971        gaxi::unimplemented::unimplemented_stub()
4972    }
4973
4974    /// Implements [super::client::Interconnects::get_macsec_config].
4975    fn get_macsec_config(
4976        &self,
4977        _req: crate::model::interconnects::GetMacsecConfigRequest,
4978        _options: crate::RequestOptions,
4979    ) -> impl std::future::Future<
4980        Output = crate::Result<crate::Response<crate::model::InterconnectsGetMacsecConfigResponse>>,
4981    > + Send {
4982        gaxi::unimplemented::unimplemented_stub()
4983    }
4984
4985    /// Implements [super::client::Interconnects::insert].
4986    fn insert(
4987        &self,
4988        _req: crate::model::interconnects::InsertRequest,
4989        _options: crate::RequestOptions,
4990    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4991    {
4992        gaxi::unimplemented::unimplemented_stub()
4993    }
4994
4995    /// Implements [super::client::Interconnects::list].
4996    fn list(
4997        &self,
4998        _req: crate::model::interconnects::ListRequest,
4999        _options: crate::RequestOptions,
5000    ) -> impl std::future::Future<
5001        Output = crate::Result<crate::Response<crate::model::InterconnectList>>,
5002    > + Send {
5003        gaxi::unimplemented::unimplemented_stub()
5004    }
5005
5006    /// Implements [super::client::Interconnects::patch].
5007    fn patch(
5008        &self,
5009        _req: crate::model::interconnects::PatchRequest,
5010        _options: crate::RequestOptions,
5011    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5012    {
5013        gaxi::unimplemented::unimplemented_stub()
5014    }
5015
5016    /// Implements [super::client::Interconnects::set_labels].
5017    fn set_labels(
5018        &self,
5019        _req: crate::model::interconnects::SetLabelsRequest,
5020        _options: crate::RequestOptions,
5021    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5022    {
5023        gaxi::unimplemented::unimplemented_stub()
5024    }
5025
5026    /// Implements [super::client::Interconnects::get_operation].
5027    fn get_operation(
5028        &self,
5029        _req: crate::model::global_operations::GetRequest,
5030        _options: crate::RequestOptions,
5031    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5032    {
5033        gaxi::unimplemented::unimplemented_stub()
5034    }
5035
5036    /// Returns the polling error policy.
5037    ///
5038    /// When mocking, this method is typically irrelevant. Do not try to verify
5039    /// it is called by your mocks.
5040    fn get_polling_error_policy(
5041        &self,
5042        _options: &crate::RequestOptions,
5043    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5044        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5045    }
5046
5047    /// Returns the polling backoff policy.
5048    ///
5049    /// When mocking, this method is typically irrelevant. Do not try to verify
5050    /// it is called by your mocks.
5051    fn get_polling_backoff_policy(
5052        &self,
5053        _options: &crate::RequestOptions,
5054    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5055        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5056    }
5057}
5058
5059/// Defines the trait used to implement [super::client::LicenseCodes].
5060///
5061/// Application developers may need to implement this trait to mock
5062/// `client::LicenseCodes`.  In other use-cases, application developers only
5063/// use `client::LicenseCodes` and need not be concerned with this trait or
5064/// its implementations.
5065///
5066/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5067/// too. To avoid breaking applications the trait provides a default
5068/// implementation of each method. Most of these implementations just return an
5069/// error.
5070#[cfg(feature = "license-codes")]
5071#[cfg_attr(docsrs, doc(cfg(feature = "license-codes")))]
5072pub trait LicenseCodes: std::fmt::Debug + Send + Sync {
5073    /// Implements [super::client::LicenseCodes::get].
5074    fn get(
5075        &self,
5076        _req: crate::model::license_codes::GetRequest,
5077        _options: crate::RequestOptions,
5078    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::LicenseCode>>>
5079    + Send {
5080        gaxi::unimplemented::unimplemented_stub()
5081    }
5082
5083    /// Implements [super::client::LicenseCodes::test_iam_permissions].
5084    fn test_iam_permissions(
5085        &self,
5086        _req: crate::model::license_codes::TestIamPermissionsRequest,
5087        _options: crate::RequestOptions,
5088    ) -> impl std::future::Future<
5089        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5090    > + Send {
5091        gaxi::unimplemented::unimplemented_stub()
5092    }
5093}
5094
5095/// Defines the trait used to implement [super::client::Licenses].
5096///
5097/// Application developers may need to implement this trait to mock
5098/// `client::Licenses`.  In other use-cases, application developers only
5099/// use `client::Licenses` and need not be concerned with this trait or
5100/// its implementations.
5101///
5102/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5103/// too. To avoid breaking applications the trait provides a default
5104/// implementation of each method. Most of these implementations just return an
5105/// error.
5106#[cfg(feature = "licenses")]
5107#[cfg_attr(docsrs, doc(cfg(feature = "licenses")))]
5108pub trait Licenses: std::fmt::Debug + Send + Sync {
5109    /// Implements [super::client::Licenses::delete].
5110    fn delete(
5111        &self,
5112        _req: crate::model::licenses::DeleteRequest,
5113        _options: crate::RequestOptions,
5114    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5115    {
5116        gaxi::unimplemented::unimplemented_stub()
5117    }
5118
5119    /// Implements [super::client::Licenses::get].
5120    fn get(
5121        &self,
5122        _req: crate::model::licenses::GetRequest,
5123        _options: crate::RequestOptions,
5124    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::License>>> + Send
5125    {
5126        gaxi::unimplemented::unimplemented_stub()
5127    }
5128
5129    /// Implements [super::client::Licenses::get_iam_policy].
5130    fn get_iam_policy(
5131        &self,
5132        _req: crate::model::licenses::GetIamPolicyRequest,
5133        _options: crate::RequestOptions,
5134    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5135    {
5136        gaxi::unimplemented::unimplemented_stub()
5137    }
5138
5139    /// Implements [super::client::Licenses::insert].
5140    fn insert(
5141        &self,
5142        _req: crate::model::licenses::InsertRequest,
5143        _options: crate::RequestOptions,
5144    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5145    {
5146        gaxi::unimplemented::unimplemented_stub()
5147    }
5148
5149    /// Implements [super::client::Licenses::list].
5150    fn list(
5151        &self,
5152        _req: crate::model::licenses::ListRequest,
5153        _options: crate::RequestOptions,
5154    ) -> impl std::future::Future<
5155        Output = crate::Result<crate::Response<crate::model::LicensesListResponse>>,
5156    > + Send {
5157        gaxi::unimplemented::unimplemented_stub()
5158    }
5159
5160    /// Implements [super::client::Licenses::set_iam_policy].
5161    fn set_iam_policy(
5162        &self,
5163        _req: crate::model::licenses::SetIamPolicyRequest,
5164        _options: crate::RequestOptions,
5165    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5166    {
5167        gaxi::unimplemented::unimplemented_stub()
5168    }
5169
5170    /// Implements [super::client::Licenses::test_iam_permissions].
5171    fn test_iam_permissions(
5172        &self,
5173        _req: crate::model::licenses::TestIamPermissionsRequest,
5174        _options: crate::RequestOptions,
5175    ) -> impl std::future::Future<
5176        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5177    > + Send {
5178        gaxi::unimplemented::unimplemented_stub()
5179    }
5180
5181    /// Implements [super::client::Licenses::update].
5182    fn update(
5183        &self,
5184        _req: crate::model::licenses::UpdateRequest,
5185        _options: crate::RequestOptions,
5186    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5187    {
5188        gaxi::unimplemented::unimplemented_stub()
5189    }
5190
5191    /// Implements [super::client::Licenses::get_operation].
5192    fn get_operation(
5193        &self,
5194        _req: crate::model::global_operations::GetRequest,
5195        _options: crate::RequestOptions,
5196    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5197    {
5198        gaxi::unimplemented::unimplemented_stub()
5199    }
5200
5201    /// Returns the polling error policy.
5202    ///
5203    /// When mocking, this method is typically irrelevant. Do not try to verify
5204    /// it is called by your mocks.
5205    fn get_polling_error_policy(
5206        &self,
5207        _options: &crate::RequestOptions,
5208    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5209        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5210    }
5211
5212    /// Returns the polling backoff policy.
5213    ///
5214    /// When mocking, this method is typically irrelevant. Do not try to verify
5215    /// it is called by your mocks.
5216    fn get_polling_backoff_policy(
5217        &self,
5218        _options: &crate::RequestOptions,
5219    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5220        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5221    }
5222}
5223
5224/// Defines the trait used to implement [super::client::MachineImages].
5225///
5226/// Application developers may need to implement this trait to mock
5227/// `client::MachineImages`.  In other use-cases, application developers only
5228/// use `client::MachineImages` and need not be concerned with this trait or
5229/// its implementations.
5230///
5231/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5232/// too. To avoid breaking applications the trait provides a default
5233/// implementation of each method. Most of these implementations just return an
5234/// error.
5235#[cfg(feature = "machine-images")]
5236#[cfg_attr(docsrs, doc(cfg(feature = "machine-images")))]
5237pub trait MachineImages: std::fmt::Debug + Send + Sync {
5238    /// Implements [super::client::MachineImages::delete].
5239    fn delete(
5240        &self,
5241        _req: crate::model::machine_images::DeleteRequest,
5242        _options: crate::RequestOptions,
5243    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5244    {
5245        gaxi::unimplemented::unimplemented_stub()
5246    }
5247
5248    /// Implements [super::client::MachineImages::get].
5249    fn get(
5250        &self,
5251        _req: crate::model::machine_images::GetRequest,
5252        _options: crate::RequestOptions,
5253    ) -> impl std::future::Future<
5254        Output = crate::Result<crate::Response<crate::model::MachineImage>>,
5255    > + Send {
5256        gaxi::unimplemented::unimplemented_stub()
5257    }
5258
5259    /// Implements [super::client::MachineImages::get_iam_policy].
5260    fn get_iam_policy(
5261        &self,
5262        _req: crate::model::machine_images::GetIamPolicyRequest,
5263        _options: crate::RequestOptions,
5264    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5265    {
5266        gaxi::unimplemented::unimplemented_stub()
5267    }
5268
5269    /// Implements [super::client::MachineImages::insert].
5270    fn insert(
5271        &self,
5272        _req: crate::model::machine_images::InsertRequest,
5273        _options: crate::RequestOptions,
5274    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5275    {
5276        gaxi::unimplemented::unimplemented_stub()
5277    }
5278
5279    /// Implements [super::client::MachineImages::list].
5280    fn list(
5281        &self,
5282        _req: crate::model::machine_images::ListRequest,
5283        _options: crate::RequestOptions,
5284    ) -> impl std::future::Future<
5285        Output = crate::Result<crate::Response<crate::model::MachineImageList>>,
5286    > + Send {
5287        gaxi::unimplemented::unimplemented_stub()
5288    }
5289
5290    /// Implements [super::client::MachineImages::set_iam_policy].
5291    fn set_iam_policy(
5292        &self,
5293        _req: crate::model::machine_images::SetIamPolicyRequest,
5294        _options: crate::RequestOptions,
5295    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5296    {
5297        gaxi::unimplemented::unimplemented_stub()
5298    }
5299
5300    /// Implements [super::client::MachineImages::set_labels].
5301    fn set_labels(
5302        &self,
5303        _req: crate::model::machine_images::SetLabelsRequest,
5304        _options: crate::RequestOptions,
5305    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5306    {
5307        gaxi::unimplemented::unimplemented_stub()
5308    }
5309
5310    /// Implements [super::client::MachineImages::test_iam_permissions].
5311    fn test_iam_permissions(
5312        &self,
5313        _req: crate::model::machine_images::TestIamPermissionsRequest,
5314        _options: crate::RequestOptions,
5315    ) -> impl std::future::Future<
5316        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5317    > + Send {
5318        gaxi::unimplemented::unimplemented_stub()
5319    }
5320
5321    /// Implements [super::client::MachineImages::get_operation].
5322    fn get_operation(
5323        &self,
5324        _req: crate::model::global_operations::GetRequest,
5325        _options: crate::RequestOptions,
5326    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5327    {
5328        gaxi::unimplemented::unimplemented_stub()
5329    }
5330
5331    /// Returns the polling error policy.
5332    ///
5333    /// When mocking, this method is typically irrelevant. Do not try to verify
5334    /// it is called by your mocks.
5335    fn get_polling_error_policy(
5336        &self,
5337        _options: &crate::RequestOptions,
5338    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5339        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5340    }
5341
5342    /// Returns the polling backoff policy.
5343    ///
5344    /// When mocking, this method is typically irrelevant. Do not try to verify
5345    /// it is called by your mocks.
5346    fn get_polling_backoff_policy(
5347        &self,
5348        _options: &crate::RequestOptions,
5349    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5350        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5351    }
5352}
5353
5354/// Defines the trait used to implement [super::client::MachineTypes].
5355///
5356/// Application developers may need to implement this trait to mock
5357/// `client::MachineTypes`.  In other use-cases, application developers only
5358/// use `client::MachineTypes` and need not be concerned with this trait or
5359/// its implementations.
5360///
5361/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5362/// too. To avoid breaking applications the trait provides a default
5363/// implementation of each method. Most of these implementations just return an
5364/// error.
5365#[cfg(feature = "machine-types")]
5366#[cfg_attr(docsrs, doc(cfg(feature = "machine-types")))]
5367pub trait MachineTypes: std::fmt::Debug + Send + Sync {
5368    /// Implements [super::client::MachineTypes::aggregated_list].
5369    fn aggregated_list(
5370        &self,
5371        _req: crate::model::machine_types::AggregatedListRequest,
5372        _options: crate::RequestOptions,
5373    ) -> impl std::future::Future<
5374        Output = crate::Result<crate::Response<crate::model::MachineTypeAggregatedList>>,
5375    > + Send {
5376        gaxi::unimplemented::unimplemented_stub()
5377    }
5378
5379    /// Implements [super::client::MachineTypes::get].
5380    fn get(
5381        &self,
5382        _req: crate::model::machine_types::GetRequest,
5383        _options: crate::RequestOptions,
5384    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::MachineType>>>
5385    + Send {
5386        gaxi::unimplemented::unimplemented_stub()
5387    }
5388
5389    /// Implements [super::client::MachineTypes::list].
5390    fn list(
5391        &self,
5392        _req: crate::model::machine_types::ListRequest,
5393        _options: crate::RequestOptions,
5394    ) -> impl std::future::Future<
5395        Output = crate::Result<crate::Response<crate::model::MachineTypeList>>,
5396    > + Send {
5397        gaxi::unimplemented::unimplemented_stub()
5398    }
5399}
5400
5401/// Defines the trait used to implement [super::client::NetworkAttachments].
5402///
5403/// Application developers may need to implement this trait to mock
5404/// `client::NetworkAttachments`.  In other use-cases, application developers only
5405/// use `client::NetworkAttachments` and need not be concerned with this trait or
5406/// its implementations.
5407///
5408/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5409/// too. To avoid breaking applications the trait provides a default
5410/// implementation of each method. Most of these implementations just return an
5411/// error.
5412#[cfg(feature = "network-attachments")]
5413#[cfg_attr(docsrs, doc(cfg(feature = "network-attachments")))]
5414pub trait NetworkAttachments: std::fmt::Debug + Send + Sync {
5415    /// Implements [super::client::NetworkAttachments::aggregated_list].
5416    fn aggregated_list(
5417        &self,
5418        _req: crate::model::network_attachments::AggregatedListRequest,
5419        _options: crate::RequestOptions,
5420    ) -> impl std::future::Future<
5421        Output = crate::Result<crate::Response<crate::model::NetworkAttachmentAggregatedList>>,
5422    > + Send {
5423        gaxi::unimplemented::unimplemented_stub()
5424    }
5425
5426    /// Implements [super::client::NetworkAttachments::delete].
5427    fn delete(
5428        &self,
5429        _req: crate::model::network_attachments::DeleteRequest,
5430        _options: crate::RequestOptions,
5431    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5432    {
5433        gaxi::unimplemented::unimplemented_stub()
5434    }
5435
5436    /// Implements [super::client::NetworkAttachments::get].
5437    fn get(
5438        &self,
5439        _req: crate::model::network_attachments::GetRequest,
5440        _options: crate::RequestOptions,
5441    ) -> impl std::future::Future<
5442        Output = crate::Result<crate::Response<crate::model::NetworkAttachment>>,
5443    > + Send {
5444        gaxi::unimplemented::unimplemented_stub()
5445    }
5446
5447    /// Implements [super::client::NetworkAttachments::get_iam_policy].
5448    fn get_iam_policy(
5449        &self,
5450        _req: crate::model::network_attachments::GetIamPolicyRequest,
5451        _options: crate::RequestOptions,
5452    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5453    {
5454        gaxi::unimplemented::unimplemented_stub()
5455    }
5456
5457    /// Implements [super::client::NetworkAttachments::insert].
5458    fn insert(
5459        &self,
5460        _req: crate::model::network_attachments::InsertRequest,
5461        _options: crate::RequestOptions,
5462    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5463    {
5464        gaxi::unimplemented::unimplemented_stub()
5465    }
5466
5467    /// Implements [super::client::NetworkAttachments::list].
5468    fn list(
5469        &self,
5470        _req: crate::model::network_attachments::ListRequest,
5471        _options: crate::RequestOptions,
5472    ) -> impl std::future::Future<
5473        Output = crate::Result<crate::Response<crate::model::NetworkAttachmentList>>,
5474    > + Send {
5475        gaxi::unimplemented::unimplemented_stub()
5476    }
5477
5478    /// Implements [super::client::NetworkAttachments::patch].
5479    fn patch(
5480        &self,
5481        _req: crate::model::network_attachments::PatchRequest,
5482        _options: crate::RequestOptions,
5483    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5484    {
5485        gaxi::unimplemented::unimplemented_stub()
5486    }
5487
5488    /// Implements [super::client::NetworkAttachments::set_iam_policy].
5489    fn set_iam_policy(
5490        &self,
5491        _req: crate::model::network_attachments::SetIamPolicyRequest,
5492        _options: crate::RequestOptions,
5493    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5494    {
5495        gaxi::unimplemented::unimplemented_stub()
5496    }
5497
5498    /// Implements [super::client::NetworkAttachments::test_iam_permissions].
5499    fn test_iam_permissions(
5500        &self,
5501        _req: crate::model::network_attachments::TestIamPermissionsRequest,
5502        _options: crate::RequestOptions,
5503    ) -> impl std::future::Future<
5504        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5505    > + Send {
5506        gaxi::unimplemented::unimplemented_stub()
5507    }
5508
5509    /// Implements [super::client::NetworkAttachments::get_operation].
5510    fn get_operation(
5511        &self,
5512        _req: crate::model::region_operations::GetRequest,
5513        _options: crate::RequestOptions,
5514    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5515    {
5516        gaxi::unimplemented::unimplemented_stub()
5517    }
5518
5519    /// Returns the polling error policy.
5520    ///
5521    /// When mocking, this method is typically irrelevant. Do not try to verify
5522    /// it is called by your mocks.
5523    fn get_polling_error_policy(
5524        &self,
5525        _options: &crate::RequestOptions,
5526    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5527        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5528    }
5529
5530    /// Returns the polling backoff policy.
5531    ///
5532    /// When mocking, this method is typically irrelevant. Do not try to verify
5533    /// it is called by your mocks.
5534    fn get_polling_backoff_policy(
5535        &self,
5536        _options: &crate::RequestOptions,
5537    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5538        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5539    }
5540}
5541
5542/// Defines the trait used to implement [super::client::NetworkEdgeSecurityServices].
5543///
5544/// Application developers may need to implement this trait to mock
5545/// `client::NetworkEdgeSecurityServices`.  In other use-cases, application developers only
5546/// use `client::NetworkEdgeSecurityServices` and need not be concerned with this trait or
5547/// its implementations.
5548///
5549/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5550/// too. To avoid breaking applications the trait provides a default
5551/// implementation of each method. Most of these implementations just return an
5552/// error.
5553#[cfg(feature = "network-edge-security-services")]
5554#[cfg_attr(docsrs, doc(cfg(feature = "network-edge-security-services")))]
5555pub trait NetworkEdgeSecurityServices: std::fmt::Debug + Send + Sync {
5556    /// Implements [super::client::NetworkEdgeSecurityServices::aggregated_list].
5557    fn aggregated_list(
5558        &self,
5559        _req: crate::model::network_edge_security_services::AggregatedListRequest,
5560        _options: crate::RequestOptions,
5561    ) -> impl std::future::Future<
5562        Output = crate::Result<
5563            crate::Response<crate::model::NetworkEdgeSecurityServiceAggregatedList>,
5564        >,
5565    > + Send {
5566        gaxi::unimplemented::unimplemented_stub()
5567    }
5568
5569    /// Implements [super::client::NetworkEdgeSecurityServices::delete].
5570    fn delete(
5571        &self,
5572        _req: crate::model::network_edge_security_services::DeleteRequest,
5573        _options: crate::RequestOptions,
5574    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5575    {
5576        gaxi::unimplemented::unimplemented_stub()
5577    }
5578
5579    /// Implements [super::client::NetworkEdgeSecurityServices::get].
5580    fn get(
5581        &self,
5582        _req: crate::model::network_edge_security_services::GetRequest,
5583        _options: crate::RequestOptions,
5584    ) -> impl std::future::Future<
5585        Output = crate::Result<crate::Response<crate::model::NetworkEdgeSecurityService>>,
5586    > + Send {
5587        gaxi::unimplemented::unimplemented_stub()
5588    }
5589
5590    /// Implements [super::client::NetworkEdgeSecurityServices::insert].
5591    fn insert(
5592        &self,
5593        _req: crate::model::network_edge_security_services::InsertRequest,
5594        _options: crate::RequestOptions,
5595    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5596    {
5597        gaxi::unimplemented::unimplemented_stub()
5598    }
5599
5600    /// Implements [super::client::NetworkEdgeSecurityServices::patch].
5601    fn patch(
5602        &self,
5603        _req: crate::model::network_edge_security_services::PatchRequest,
5604        _options: crate::RequestOptions,
5605    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5606    {
5607        gaxi::unimplemented::unimplemented_stub()
5608    }
5609
5610    /// Implements [super::client::NetworkEdgeSecurityServices::get_operation].
5611    fn get_operation(
5612        &self,
5613        _req: crate::model::region_operations::GetRequest,
5614        _options: crate::RequestOptions,
5615    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5616    {
5617        gaxi::unimplemented::unimplemented_stub()
5618    }
5619
5620    /// Returns the polling error policy.
5621    ///
5622    /// When mocking, this method is typically irrelevant. Do not try to verify
5623    /// it is called by your mocks.
5624    fn get_polling_error_policy(
5625        &self,
5626        _options: &crate::RequestOptions,
5627    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5628        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5629    }
5630
5631    /// Returns the polling backoff policy.
5632    ///
5633    /// When mocking, this method is typically irrelevant. Do not try to verify
5634    /// it is called by your mocks.
5635    fn get_polling_backoff_policy(
5636        &self,
5637        _options: &crate::RequestOptions,
5638    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5639        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5640    }
5641}
5642
5643/// Defines the trait used to implement [super::client::NetworkEndpointGroups].
5644///
5645/// Application developers may need to implement this trait to mock
5646/// `client::NetworkEndpointGroups`.  In other use-cases, application developers only
5647/// use `client::NetworkEndpointGroups` and need not be concerned with this trait or
5648/// its implementations.
5649///
5650/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5651/// too. To avoid breaking applications the trait provides a default
5652/// implementation of each method. Most of these implementations just return an
5653/// error.
5654#[cfg(feature = "network-endpoint-groups")]
5655#[cfg_attr(docsrs, doc(cfg(feature = "network-endpoint-groups")))]
5656pub trait NetworkEndpointGroups: std::fmt::Debug + Send + Sync {
5657    /// Implements [super::client::NetworkEndpointGroups::aggregated_list].
5658    fn aggregated_list(
5659        &self,
5660        _req: crate::model::network_endpoint_groups::AggregatedListRequest,
5661        _options: crate::RequestOptions,
5662    ) -> impl std::future::Future<
5663        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupAggregatedList>>,
5664    > + Send {
5665        gaxi::unimplemented::unimplemented_stub()
5666    }
5667
5668    /// Implements [super::client::NetworkEndpointGroups::attach_network_endpoints].
5669    fn attach_network_endpoints(
5670        &self,
5671        _req: crate::model::network_endpoint_groups::AttachNetworkEndpointsRequest,
5672        _options: crate::RequestOptions,
5673    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5674    {
5675        gaxi::unimplemented::unimplemented_stub()
5676    }
5677
5678    /// Implements [super::client::NetworkEndpointGroups::delete].
5679    fn delete(
5680        &self,
5681        _req: crate::model::network_endpoint_groups::DeleteRequest,
5682        _options: crate::RequestOptions,
5683    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5684    {
5685        gaxi::unimplemented::unimplemented_stub()
5686    }
5687
5688    /// Implements [super::client::NetworkEndpointGroups::detach_network_endpoints].
5689    fn detach_network_endpoints(
5690        &self,
5691        _req: crate::model::network_endpoint_groups::DetachNetworkEndpointsRequest,
5692        _options: crate::RequestOptions,
5693    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5694    {
5695        gaxi::unimplemented::unimplemented_stub()
5696    }
5697
5698    /// Implements [super::client::NetworkEndpointGroups::get].
5699    fn get(
5700        &self,
5701        _req: crate::model::network_endpoint_groups::GetRequest,
5702        _options: crate::RequestOptions,
5703    ) -> impl std::future::Future<
5704        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
5705    > + Send {
5706        gaxi::unimplemented::unimplemented_stub()
5707    }
5708
5709    /// Implements [super::client::NetworkEndpointGroups::insert].
5710    fn insert(
5711        &self,
5712        _req: crate::model::network_endpoint_groups::InsertRequest,
5713        _options: crate::RequestOptions,
5714    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5715    {
5716        gaxi::unimplemented::unimplemented_stub()
5717    }
5718
5719    /// Implements [super::client::NetworkEndpointGroups::list].
5720    fn list(
5721        &self,
5722        _req: crate::model::network_endpoint_groups::ListRequest,
5723        _options: crate::RequestOptions,
5724    ) -> impl std::future::Future<
5725        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
5726    > + Send {
5727        gaxi::unimplemented::unimplemented_stub()
5728    }
5729
5730    /// Implements [super::client::NetworkEndpointGroups::list_network_endpoints].
5731    fn list_network_endpoints(
5732        &self,
5733        _req: crate::model::network_endpoint_groups::ListNetworkEndpointsRequest,
5734        _options: crate::RequestOptions,
5735    ) -> impl std::future::Future<
5736        Output = crate::Result<
5737            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
5738        >,
5739    > + Send {
5740        gaxi::unimplemented::unimplemented_stub()
5741    }
5742
5743    /// Implements [super::client::NetworkEndpointGroups::test_iam_permissions].
5744    fn test_iam_permissions(
5745        &self,
5746        _req: crate::model::network_endpoint_groups::TestIamPermissionsRequest,
5747        _options: crate::RequestOptions,
5748    ) -> impl std::future::Future<
5749        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5750    > + Send {
5751        gaxi::unimplemented::unimplemented_stub()
5752    }
5753
5754    /// Implements [super::client::NetworkEndpointGroups::get_operation].
5755    fn get_operation(
5756        &self,
5757        _req: crate::model::zone_operations::GetRequest,
5758        _options: crate::RequestOptions,
5759    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5760    {
5761        gaxi::unimplemented::unimplemented_stub()
5762    }
5763
5764    /// Returns the polling error policy.
5765    ///
5766    /// When mocking, this method is typically irrelevant. Do not try to verify
5767    /// it is called by your mocks.
5768    fn get_polling_error_policy(
5769        &self,
5770        _options: &crate::RequestOptions,
5771    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5772        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5773    }
5774
5775    /// Returns the polling backoff policy.
5776    ///
5777    /// When mocking, this method is typically irrelevant. Do not try to verify
5778    /// it is called by your mocks.
5779    fn get_polling_backoff_policy(
5780        &self,
5781        _options: &crate::RequestOptions,
5782    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5783        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5784    }
5785}
5786
5787/// Defines the trait used to implement [super::client::NetworkFirewallPolicies].
5788///
5789/// Application developers may need to implement this trait to mock
5790/// `client::NetworkFirewallPolicies`.  In other use-cases, application developers only
5791/// use `client::NetworkFirewallPolicies` and need not be concerned with this trait or
5792/// its implementations.
5793///
5794/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5795/// too. To avoid breaking applications the trait provides a default
5796/// implementation of each method. Most of these implementations just return an
5797/// error.
5798#[cfg(feature = "network-firewall-policies")]
5799#[cfg_attr(docsrs, doc(cfg(feature = "network-firewall-policies")))]
5800pub trait NetworkFirewallPolicies: std::fmt::Debug + Send + Sync {
5801    /// Implements [super::client::NetworkFirewallPolicies::add_association].
5802    fn add_association(
5803        &self,
5804        _req: crate::model::network_firewall_policies::AddAssociationRequest,
5805        _options: crate::RequestOptions,
5806    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5807    {
5808        gaxi::unimplemented::unimplemented_stub()
5809    }
5810
5811    /// Implements [super::client::NetworkFirewallPolicies::add_packet_mirroring_rule].
5812    fn add_packet_mirroring_rule(
5813        &self,
5814        _req: crate::model::network_firewall_policies::AddPacketMirroringRuleRequest,
5815        _options: crate::RequestOptions,
5816    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5817    {
5818        gaxi::unimplemented::unimplemented_stub()
5819    }
5820
5821    /// Implements [super::client::NetworkFirewallPolicies::add_rule].
5822    fn add_rule(
5823        &self,
5824        _req: crate::model::network_firewall_policies::AddRuleRequest,
5825        _options: crate::RequestOptions,
5826    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5827    {
5828        gaxi::unimplemented::unimplemented_stub()
5829    }
5830
5831    /// Implements [super::client::NetworkFirewallPolicies::aggregated_list].
5832    fn aggregated_list(
5833        &self,
5834        _req: crate::model::network_firewall_policies::AggregatedListRequest,
5835        _options: crate::RequestOptions,
5836    ) -> impl std::future::Future<
5837        Output = crate::Result<crate::Response<crate::model::NetworkFirewallPolicyAggregatedList>>,
5838    > + Send {
5839        gaxi::unimplemented::unimplemented_stub()
5840    }
5841
5842    /// Implements [super::client::NetworkFirewallPolicies::clone_rules].
5843    fn clone_rules(
5844        &self,
5845        _req: crate::model::network_firewall_policies::CloneRulesRequest,
5846        _options: crate::RequestOptions,
5847    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5848    {
5849        gaxi::unimplemented::unimplemented_stub()
5850    }
5851
5852    /// Implements [super::client::NetworkFirewallPolicies::delete].
5853    fn delete(
5854        &self,
5855        _req: crate::model::network_firewall_policies::DeleteRequest,
5856        _options: crate::RequestOptions,
5857    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5858    {
5859        gaxi::unimplemented::unimplemented_stub()
5860    }
5861
5862    /// Implements [super::client::NetworkFirewallPolicies::get].
5863    fn get(
5864        &self,
5865        _req: crate::model::network_firewall_policies::GetRequest,
5866        _options: crate::RequestOptions,
5867    ) -> impl std::future::Future<
5868        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
5869    > + Send {
5870        gaxi::unimplemented::unimplemented_stub()
5871    }
5872
5873    /// Implements [super::client::NetworkFirewallPolicies::get_association].
5874    fn get_association(
5875        &self,
5876        _req: crate::model::network_firewall_policies::GetAssociationRequest,
5877        _options: crate::RequestOptions,
5878    ) -> impl std::future::Future<
5879        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
5880    > + Send {
5881        gaxi::unimplemented::unimplemented_stub()
5882    }
5883
5884    /// Implements [super::client::NetworkFirewallPolicies::get_iam_policy].
5885    fn get_iam_policy(
5886        &self,
5887        _req: crate::model::network_firewall_policies::GetIamPolicyRequest,
5888        _options: crate::RequestOptions,
5889    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5890    {
5891        gaxi::unimplemented::unimplemented_stub()
5892    }
5893
5894    /// Implements [super::client::NetworkFirewallPolicies::get_packet_mirroring_rule].
5895    fn get_packet_mirroring_rule(
5896        &self,
5897        _req: crate::model::network_firewall_policies::GetPacketMirroringRuleRequest,
5898        _options: crate::RequestOptions,
5899    ) -> impl std::future::Future<
5900        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
5901    > + Send {
5902        gaxi::unimplemented::unimplemented_stub()
5903    }
5904
5905    /// Implements [super::client::NetworkFirewallPolicies::get_rule].
5906    fn get_rule(
5907        &self,
5908        _req: crate::model::network_firewall_policies::GetRuleRequest,
5909        _options: crate::RequestOptions,
5910    ) -> impl std::future::Future<
5911        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
5912    > + Send {
5913        gaxi::unimplemented::unimplemented_stub()
5914    }
5915
5916    /// Implements [super::client::NetworkFirewallPolicies::insert].
5917    fn insert(
5918        &self,
5919        _req: crate::model::network_firewall_policies::InsertRequest,
5920        _options: crate::RequestOptions,
5921    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5922    {
5923        gaxi::unimplemented::unimplemented_stub()
5924    }
5925
5926    /// Implements [super::client::NetworkFirewallPolicies::list].
5927    fn list(
5928        &self,
5929        _req: crate::model::network_firewall_policies::ListRequest,
5930        _options: crate::RequestOptions,
5931    ) -> impl std::future::Future<
5932        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
5933    > + Send {
5934        gaxi::unimplemented::unimplemented_stub()
5935    }
5936
5937    /// Implements [super::client::NetworkFirewallPolicies::patch].
5938    fn patch(
5939        &self,
5940        _req: crate::model::network_firewall_policies::PatchRequest,
5941        _options: crate::RequestOptions,
5942    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5943    {
5944        gaxi::unimplemented::unimplemented_stub()
5945    }
5946
5947    /// Implements [super::client::NetworkFirewallPolicies::patch_packet_mirroring_rule].
5948    fn patch_packet_mirroring_rule(
5949        &self,
5950        _req: crate::model::network_firewall_policies::PatchPacketMirroringRuleRequest,
5951        _options: crate::RequestOptions,
5952    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5953    {
5954        gaxi::unimplemented::unimplemented_stub()
5955    }
5956
5957    /// Implements [super::client::NetworkFirewallPolicies::patch_rule].
5958    fn patch_rule(
5959        &self,
5960        _req: crate::model::network_firewall_policies::PatchRuleRequest,
5961        _options: crate::RequestOptions,
5962    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5963    {
5964        gaxi::unimplemented::unimplemented_stub()
5965    }
5966
5967    /// Implements [super::client::NetworkFirewallPolicies::remove_association].
5968    fn remove_association(
5969        &self,
5970        _req: crate::model::network_firewall_policies::RemoveAssociationRequest,
5971        _options: crate::RequestOptions,
5972    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5973    {
5974        gaxi::unimplemented::unimplemented_stub()
5975    }
5976
5977    /// Implements [super::client::NetworkFirewallPolicies::remove_packet_mirroring_rule].
5978    fn remove_packet_mirroring_rule(
5979        &self,
5980        _req: crate::model::network_firewall_policies::RemovePacketMirroringRuleRequest,
5981        _options: crate::RequestOptions,
5982    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5983    {
5984        gaxi::unimplemented::unimplemented_stub()
5985    }
5986
5987    /// Implements [super::client::NetworkFirewallPolicies::remove_rule].
5988    fn remove_rule(
5989        &self,
5990        _req: crate::model::network_firewall_policies::RemoveRuleRequest,
5991        _options: crate::RequestOptions,
5992    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5993    {
5994        gaxi::unimplemented::unimplemented_stub()
5995    }
5996
5997    /// Implements [super::client::NetworkFirewallPolicies::set_iam_policy].
5998    fn set_iam_policy(
5999        &self,
6000        _req: crate::model::network_firewall_policies::SetIamPolicyRequest,
6001        _options: crate::RequestOptions,
6002    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6003    {
6004        gaxi::unimplemented::unimplemented_stub()
6005    }
6006
6007    /// Implements [super::client::NetworkFirewallPolicies::test_iam_permissions].
6008    fn test_iam_permissions(
6009        &self,
6010        _req: crate::model::network_firewall_policies::TestIamPermissionsRequest,
6011        _options: crate::RequestOptions,
6012    ) -> impl std::future::Future<
6013        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6014    > + Send {
6015        gaxi::unimplemented::unimplemented_stub()
6016    }
6017
6018    /// Implements [super::client::NetworkFirewallPolicies::get_operation].
6019    fn get_operation(
6020        &self,
6021        _req: crate::model::global_operations::GetRequest,
6022        _options: crate::RequestOptions,
6023    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6024    {
6025        gaxi::unimplemented::unimplemented_stub()
6026    }
6027
6028    /// Returns the polling error policy.
6029    ///
6030    /// When mocking, this method is typically irrelevant. Do not try to verify
6031    /// it is called by your mocks.
6032    fn get_polling_error_policy(
6033        &self,
6034        _options: &crate::RequestOptions,
6035    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6036        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6037    }
6038
6039    /// Returns the polling backoff policy.
6040    ///
6041    /// When mocking, this method is typically irrelevant. Do not try to verify
6042    /// it is called by your mocks.
6043    fn get_polling_backoff_policy(
6044        &self,
6045        _options: &crate::RequestOptions,
6046    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6047        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6048    }
6049}
6050
6051/// Defines the trait used to implement [super::client::NetworkProfiles].
6052///
6053/// Application developers may need to implement this trait to mock
6054/// `client::NetworkProfiles`.  In other use-cases, application developers only
6055/// use `client::NetworkProfiles` and need not be concerned with this trait or
6056/// its implementations.
6057///
6058/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6059/// too. To avoid breaking applications the trait provides a default
6060/// implementation of each method. Most of these implementations just return an
6061/// error.
6062#[cfg(feature = "network-profiles")]
6063#[cfg_attr(docsrs, doc(cfg(feature = "network-profiles")))]
6064pub trait NetworkProfiles: std::fmt::Debug + Send + Sync {
6065    /// Implements [super::client::NetworkProfiles::get].
6066    fn get(
6067        &self,
6068        _req: crate::model::network_profiles::GetRequest,
6069        _options: crate::RequestOptions,
6070    ) -> impl std::future::Future<
6071        Output = crate::Result<crate::Response<crate::model::NetworkProfile>>,
6072    > + Send {
6073        gaxi::unimplemented::unimplemented_stub()
6074    }
6075
6076    /// Implements [super::client::NetworkProfiles::list].
6077    fn list(
6078        &self,
6079        _req: crate::model::network_profiles::ListRequest,
6080        _options: crate::RequestOptions,
6081    ) -> impl std::future::Future<
6082        Output = crate::Result<crate::Response<crate::model::NetworkProfilesListResponse>>,
6083    > + Send {
6084        gaxi::unimplemented::unimplemented_stub()
6085    }
6086}
6087
6088/// Defines the trait used to implement [super::client::Networks].
6089///
6090/// Application developers may need to implement this trait to mock
6091/// `client::Networks`.  In other use-cases, application developers only
6092/// use `client::Networks` and need not be concerned with this trait or
6093/// its implementations.
6094///
6095/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6096/// too. To avoid breaking applications the trait provides a default
6097/// implementation of each method. Most of these implementations just return an
6098/// error.
6099#[cfg(feature = "networks")]
6100#[cfg_attr(docsrs, doc(cfg(feature = "networks")))]
6101pub trait Networks: std::fmt::Debug + Send + Sync {
6102    /// Implements [super::client::Networks::add_peering].
6103    fn add_peering(
6104        &self,
6105        _req: crate::model::networks::AddPeeringRequest,
6106        _options: crate::RequestOptions,
6107    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6108    {
6109        gaxi::unimplemented::unimplemented_stub()
6110    }
6111
6112    /// Implements [super::client::Networks::delete].
6113    fn delete(
6114        &self,
6115        _req: crate::model::networks::DeleteRequest,
6116        _options: crate::RequestOptions,
6117    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6118    {
6119        gaxi::unimplemented::unimplemented_stub()
6120    }
6121
6122    /// Implements [super::client::Networks::get].
6123    fn get(
6124        &self,
6125        _req: crate::model::networks::GetRequest,
6126        _options: crate::RequestOptions,
6127    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Network>>> + Send
6128    {
6129        gaxi::unimplemented::unimplemented_stub()
6130    }
6131
6132    /// Implements [super::client::Networks::get_effective_firewalls].
6133    fn get_effective_firewalls(
6134        &self,
6135        _req: crate::model::networks::GetEffectiveFirewallsRequest,
6136        _options: crate::RequestOptions,
6137    ) -> impl std::future::Future<
6138        Output = crate::Result<
6139            crate::Response<crate::model::NetworksGetEffectiveFirewallsResponse>,
6140        >,
6141    > + Send {
6142        gaxi::unimplemented::unimplemented_stub()
6143    }
6144
6145    /// Implements [super::client::Networks::insert].
6146    fn insert(
6147        &self,
6148        _req: crate::model::networks::InsertRequest,
6149        _options: crate::RequestOptions,
6150    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6151    {
6152        gaxi::unimplemented::unimplemented_stub()
6153    }
6154
6155    /// Implements [super::client::Networks::list].
6156    fn list(
6157        &self,
6158        _req: crate::model::networks::ListRequest,
6159        _options: crate::RequestOptions,
6160    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NetworkList>>>
6161    + Send {
6162        gaxi::unimplemented::unimplemented_stub()
6163    }
6164
6165    /// Implements [super::client::Networks::list_peering_routes].
6166    fn list_peering_routes(
6167        &self,
6168        _req: crate::model::networks::ListPeeringRoutesRequest,
6169        _options: crate::RequestOptions,
6170    ) -> impl std::future::Future<
6171        Output = crate::Result<crate::Response<crate::model::ExchangedPeeringRoutesList>>,
6172    > + Send {
6173        gaxi::unimplemented::unimplemented_stub()
6174    }
6175
6176    /// Implements [super::client::Networks::patch].
6177    fn patch(
6178        &self,
6179        _req: crate::model::networks::PatchRequest,
6180        _options: crate::RequestOptions,
6181    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6182    {
6183        gaxi::unimplemented::unimplemented_stub()
6184    }
6185
6186    /// Implements [super::client::Networks::remove_peering].
6187    fn remove_peering(
6188        &self,
6189        _req: crate::model::networks::RemovePeeringRequest,
6190        _options: crate::RequestOptions,
6191    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6192    {
6193        gaxi::unimplemented::unimplemented_stub()
6194    }
6195
6196    /// Implements [super::client::Networks::request_remove_peering].
6197    fn request_remove_peering(
6198        &self,
6199        _req: crate::model::networks::RequestRemovePeeringRequest,
6200        _options: crate::RequestOptions,
6201    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6202    {
6203        gaxi::unimplemented::unimplemented_stub()
6204    }
6205
6206    /// Implements [super::client::Networks::switch_to_custom_mode].
6207    fn switch_to_custom_mode(
6208        &self,
6209        _req: crate::model::networks::SwitchToCustomModeRequest,
6210        _options: crate::RequestOptions,
6211    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6212    {
6213        gaxi::unimplemented::unimplemented_stub()
6214    }
6215
6216    /// Implements [super::client::Networks::update_peering].
6217    fn update_peering(
6218        &self,
6219        _req: crate::model::networks::UpdatePeeringRequest,
6220        _options: crate::RequestOptions,
6221    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6222    {
6223        gaxi::unimplemented::unimplemented_stub()
6224    }
6225
6226    /// Implements [super::client::Networks::get_operation].
6227    fn get_operation(
6228        &self,
6229        _req: crate::model::global_operations::GetRequest,
6230        _options: crate::RequestOptions,
6231    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6232    {
6233        gaxi::unimplemented::unimplemented_stub()
6234    }
6235
6236    /// Returns the polling error policy.
6237    ///
6238    /// When mocking, this method is typically irrelevant. Do not try to verify
6239    /// it is called by your mocks.
6240    fn get_polling_error_policy(
6241        &self,
6242        _options: &crate::RequestOptions,
6243    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6244        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6245    }
6246
6247    /// Returns the polling backoff policy.
6248    ///
6249    /// When mocking, this method is typically irrelevant. Do not try to verify
6250    /// it is called by your mocks.
6251    fn get_polling_backoff_policy(
6252        &self,
6253        _options: &crate::RequestOptions,
6254    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6255        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6256    }
6257}
6258
6259/// Defines the trait used to implement [super::client::NodeGroups].
6260///
6261/// Application developers may need to implement this trait to mock
6262/// `client::NodeGroups`.  In other use-cases, application developers only
6263/// use `client::NodeGroups` and need not be concerned with this trait or
6264/// its implementations.
6265///
6266/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6267/// too. To avoid breaking applications the trait provides a default
6268/// implementation of each method. Most of these implementations just return an
6269/// error.
6270#[cfg(feature = "node-groups")]
6271#[cfg_attr(docsrs, doc(cfg(feature = "node-groups")))]
6272pub trait NodeGroups: std::fmt::Debug + Send + Sync {
6273    /// Implements [super::client::NodeGroups::add_nodes].
6274    fn add_nodes(
6275        &self,
6276        _req: crate::model::node_groups::AddNodesRequest,
6277        _options: crate::RequestOptions,
6278    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6279    {
6280        gaxi::unimplemented::unimplemented_stub()
6281    }
6282
6283    /// Implements [super::client::NodeGroups::aggregated_list].
6284    fn aggregated_list(
6285        &self,
6286        _req: crate::model::node_groups::AggregatedListRequest,
6287        _options: crate::RequestOptions,
6288    ) -> impl std::future::Future<
6289        Output = crate::Result<crate::Response<crate::model::NodeGroupAggregatedList>>,
6290    > + Send {
6291        gaxi::unimplemented::unimplemented_stub()
6292    }
6293
6294    /// Implements [super::client::NodeGroups::delete].
6295    fn delete(
6296        &self,
6297        _req: crate::model::node_groups::DeleteRequest,
6298        _options: crate::RequestOptions,
6299    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6300    {
6301        gaxi::unimplemented::unimplemented_stub()
6302    }
6303
6304    /// Implements [super::client::NodeGroups::delete_nodes].
6305    fn delete_nodes(
6306        &self,
6307        _req: crate::model::node_groups::DeleteNodesRequest,
6308        _options: crate::RequestOptions,
6309    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6310    {
6311        gaxi::unimplemented::unimplemented_stub()
6312    }
6313
6314    /// Implements [super::client::NodeGroups::get].
6315    fn get(
6316        &self,
6317        _req: crate::model::node_groups::GetRequest,
6318        _options: crate::RequestOptions,
6319    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NodeGroup>>> + Send
6320    {
6321        gaxi::unimplemented::unimplemented_stub()
6322    }
6323
6324    /// Implements [super::client::NodeGroups::get_iam_policy].
6325    fn get_iam_policy(
6326        &self,
6327        _req: crate::model::node_groups::GetIamPolicyRequest,
6328        _options: crate::RequestOptions,
6329    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6330    {
6331        gaxi::unimplemented::unimplemented_stub()
6332    }
6333
6334    /// Implements [super::client::NodeGroups::insert].
6335    fn insert(
6336        &self,
6337        _req: crate::model::node_groups::InsertRequest,
6338        _options: crate::RequestOptions,
6339    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6340    {
6341        gaxi::unimplemented::unimplemented_stub()
6342    }
6343
6344    /// Implements [super::client::NodeGroups::list].
6345    fn list(
6346        &self,
6347        _req: crate::model::node_groups::ListRequest,
6348        _options: crate::RequestOptions,
6349    ) -> impl std::future::Future<
6350        Output = crate::Result<crate::Response<crate::model::NodeGroupList>>,
6351    > + Send {
6352        gaxi::unimplemented::unimplemented_stub()
6353    }
6354
6355    /// Implements [super::client::NodeGroups::list_nodes].
6356    fn list_nodes(
6357        &self,
6358        _req: crate::model::node_groups::ListNodesRequest,
6359        _options: crate::RequestOptions,
6360    ) -> impl std::future::Future<
6361        Output = crate::Result<crate::Response<crate::model::NodeGroupsListNodes>>,
6362    > + Send {
6363        gaxi::unimplemented::unimplemented_stub()
6364    }
6365
6366    /// Implements [super::client::NodeGroups::patch].
6367    fn patch(
6368        &self,
6369        _req: crate::model::node_groups::PatchRequest,
6370        _options: crate::RequestOptions,
6371    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6372    {
6373        gaxi::unimplemented::unimplemented_stub()
6374    }
6375
6376    /// Implements [super::client::NodeGroups::perform_maintenance].
6377    fn perform_maintenance(
6378        &self,
6379        _req: crate::model::node_groups::PerformMaintenanceRequest,
6380        _options: crate::RequestOptions,
6381    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6382    {
6383        gaxi::unimplemented::unimplemented_stub()
6384    }
6385
6386    /// Implements [super::client::NodeGroups::set_iam_policy].
6387    fn set_iam_policy(
6388        &self,
6389        _req: crate::model::node_groups::SetIamPolicyRequest,
6390        _options: crate::RequestOptions,
6391    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6392    {
6393        gaxi::unimplemented::unimplemented_stub()
6394    }
6395
6396    /// Implements [super::client::NodeGroups::set_node_template].
6397    fn set_node_template(
6398        &self,
6399        _req: crate::model::node_groups::SetNodeTemplateRequest,
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::NodeGroups::simulate_maintenance_event].
6407    fn simulate_maintenance_event(
6408        &self,
6409        _req: crate::model::node_groups::SimulateMaintenanceEventRequest,
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::NodeGroups::test_iam_permissions].
6417    fn test_iam_permissions(
6418        &self,
6419        _req: crate::model::node_groups::TestIamPermissionsRequest,
6420        _options: crate::RequestOptions,
6421    ) -> impl std::future::Future<
6422        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6423    > + Send {
6424        gaxi::unimplemented::unimplemented_stub()
6425    }
6426
6427    /// Implements [super::client::NodeGroups::get_operation].
6428    fn get_operation(
6429        &self,
6430        _req: crate::model::zone_operations::GetRequest,
6431        _options: crate::RequestOptions,
6432    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6433    {
6434        gaxi::unimplemented::unimplemented_stub()
6435    }
6436
6437    /// Returns the polling error policy.
6438    ///
6439    /// When mocking, this method is typically irrelevant. Do not try to verify
6440    /// it is called by your mocks.
6441    fn get_polling_error_policy(
6442        &self,
6443        _options: &crate::RequestOptions,
6444    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6445        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6446    }
6447
6448    /// Returns the polling backoff policy.
6449    ///
6450    /// When mocking, this method is typically irrelevant. Do not try to verify
6451    /// it is called by your mocks.
6452    fn get_polling_backoff_policy(
6453        &self,
6454        _options: &crate::RequestOptions,
6455    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6456        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6457    }
6458}
6459
6460/// Defines the trait used to implement [super::client::NodeTemplates].
6461///
6462/// Application developers may need to implement this trait to mock
6463/// `client::NodeTemplates`.  In other use-cases, application developers only
6464/// use `client::NodeTemplates` and need not be concerned with this trait or
6465/// its implementations.
6466///
6467/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6468/// too. To avoid breaking applications the trait provides a default
6469/// implementation of each method. Most of these implementations just return an
6470/// error.
6471#[cfg(feature = "node-templates")]
6472#[cfg_attr(docsrs, doc(cfg(feature = "node-templates")))]
6473pub trait NodeTemplates: std::fmt::Debug + Send + Sync {
6474    /// Implements [super::client::NodeTemplates::aggregated_list].
6475    fn aggregated_list(
6476        &self,
6477        _req: crate::model::node_templates::AggregatedListRequest,
6478        _options: crate::RequestOptions,
6479    ) -> impl std::future::Future<
6480        Output = crate::Result<crate::Response<crate::model::NodeTemplateAggregatedList>>,
6481    > + Send {
6482        gaxi::unimplemented::unimplemented_stub()
6483    }
6484
6485    /// Implements [super::client::NodeTemplates::delete].
6486    fn delete(
6487        &self,
6488        _req: crate::model::node_templates::DeleteRequest,
6489        _options: crate::RequestOptions,
6490    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6491    {
6492        gaxi::unimplemented::unimplemented_stub()
6493    }
6494
6495    /// Implements [super::client::NodeTemplates::get].
6496    fn get(
6497        &self,
6498        _req: crate::model::node_templates::GetRequest,
6499        _options: crate::RequestOptions,
6500    ) -> impl std::future::Future<
6501        Output = crate::Result<crate::Response<crate::model::NodeTemplate>>,
6502    > + Send {
6503        gaxi::unimplemented::unimplemented_stub()
6504    }
6505
6506    /// Implements [super::client::NodeTemplates::get_iam_policy].
6507    fn get_iam_policy(
6508        &self,
6509        _req: crate::model::node_templates::GetIamPolicyRequest,
6510        _options: crate::RequestOptions,
6511    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6512    {
6513        gaxi::unimplemented::unimplemented_stub()
6514    }
6515
6516    /// Implements [super::client::NodeTemplates::insert].
6517    fn insert(
6518        &self,
6519        _req: crate::model::node_templates::InsertRequest,
6520        _options: crate::RequestOptions,
6521    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6522    {
6523        gaxi::unimplemented::unimplemented_stub()
6524    }
6525
6526    /// Implements [super::client::NodeTemplates::list].
6527    fn list(
6528        &self,
6529        _req: crate::model::node_templates::ListRequest,
6530        _options: crate::RequestOptions,
6531    ) -> impl std::future::Future<
6532        Output = crate::Result<crate::Response<crate::model::NodeTemplateList>>,
6533    > + Send {
6534        gaxi::unimplemented::unimplemented_stub()
6535    }
6536
6537    /// Implements [super::client::NodeTemplates::set_iam_policy].
6538    fn set_iam_policy(
6539        &self,
6540        _req: crate::model::node_templates::SetIamPolicyRequest,
6541        _options: crate::RequestOptions,
6542    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6543    {
6544        gaxi::unimplemented::unimplemented_stub()
6545    }
6546
6547    /// Implements [super::client::NodeTemplates::test_iam_permissions].
6548    fn test_iam_permissions(
6549        &self,
6550        _req: crate::model::node_templates::TestIamPermissionsRequest,
6551        _options: crate::RequestOptions,
6552    ) -> impl std::future::Future<
6553        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6554    > + Send {
6555        gaxi::unimplemented::unimplemented_stub()
6556    }
6557
6558    /// Implements [super::client::NodeTemplates::get_operation].
6559    fn get_operation(
6560        &self,
6561        _req: crate::model::region_operations::GetRequest,
6562        _options: crate::RequestOptions,
6563    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6564    {
6565        gaxi::unimplemented::unimplemented_stub()
6566    }
6567
6568    /// Returns the polling error policy.
6569    ///
6570    /// When mocking, this method is typically irrelevant. Do not try to verify
6571    /// it is called by your mocks.
6572    fn get_polling_error_policy(
6573        &self,
6574        _options: &crate::RequestOptions,
6575    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6576        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6577    }
6578
6579    /// Returns the polling backoff policy.
6580    ///
6581    /// When mocking, this method is typically irrelevant. Do not try to verify
6582    /// it is called by your mocks.
6583    fn get_polling_backoff_policy(
6584        &self,
6585        _options: &crate::RequestOptions,
6586    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6587        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6588    }
6589}
6590
6591/// Defines the trait used to implement [super::client::NodeTypes].
6592///
6593/// Application developers may need to implement this trait to mock
6594/// `client::NodeTypes`.  In other use-cases, application developers only
6595/// use `client::NodeTypes` and need not be concerned with this trait or
6596/// its implementations.
6597///
6598/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6599/// too. To avoid breaking applications the trait provides a default
6600/// implementation of each method. Most of these implementations just return an
6601/// error.
6602#[cfg(feature = "node-types")]
6603#[cfg_attr(docsrs, doc(cfg(feature = "node-types")))]
6604pub trait NodeTypes: std::fmt::Debug + Send + Sync {
6605    /// Implements [super::client::NodeTypes::aggregated_list].
6606    fn aggregated_list(
6607        &self,
6608        _req: crate::model::node_types::AggregatedListRequest,
6609        _options: crate::RequestOptions,
6610    ) -> impl std::future::Future<
6611        Output = crate::Result<crate::Response<crate::model::NodeTypeAggregatedList>>,
6612    > + Send {
6613        gaxi::unimplemented::unimplemented_stub()
6614    }
6615
6616    /// Implements [super::client::NodeTypes::get].
6617    fn get(
6618        &self,
6619        _req: crate::model::node_types::GetRequest,
6620        _options: crate::RequestOptions,
6621    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NodeType>>> + Send
6622    {
6623        gaxi::unimplemented::unimplemented_stub()
6624    }
6625
6626    /// Implements [super::client::NodeTypes::list].
6627    fn list(
6628        &self,
6629        _req: crate::model::node_types::ListRequest,
6630        _options: crate::RequestOptions,
6631    ) -> impl std::future::Future<
6632        Output = crate::Result<crate::Response<crate::model::NodeTypeList>>,
6633    > + Send {
6634        gaxi::unimplemented::unimplemented_stub()
6635    }
6636}
6637
6638/// Defines the trait used to implement [super::client::OrganizationSecurityPolicies].
6639///
6640/// Application developers may need to implement this trait to mock
6641/// `client::OrganizationSecurityPolicies`.  In other use-cases, application developers only
6642/// use `client::OrganizationSecurityPolicies` and need not be concerned with this trait or
6643/// its implementations.
6644///
6645/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6646/// too. To avoid breaking applications the trait provides a default
6647/// implementation of each method. Most of these implementations just return an
6648/// error.
6649#[cfg(feature = "organization-security-policies")]
6650#[cfg_attr(docsrs, doc(cfg(feature = "organization-security-policies")))]
6651pub trait OrganizationSecurityPolicies: std::fmt::Debug + Send + Sync {
6652    /// Implements [super::client::OrganizationSecurityPolicies::add_association].
6653    fn add_association(
6654        &self,
6655        _req: crate::model::organization_security_policies::AddAssociationRequest,
6656        _options: crate::RequestOptions,
6657    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6658    {
6659        gaxi::unimplemented::unimplemented_stub()
6660    }
6661
6662    /// Implements [super::client::OrganizationSecurityPolicies::add_rule].
6663    fn add_rule(
6664        &self,
6665        _req: crate::model::organization_security_policies::AddRuleRequest,
6666        _options: crate::RequestOptions,
6667    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6668    {
6669        gaxi::unimplemented::unimplemented_stub()
6670    }
6671
6672    /// Implements [super::client::OrganizationSecurityPolicies::copy_rules].
6673    fn copy_rules(
6674        &self,
6675        _req: crate::model::organization_security_policies::CopyRulesRequest,
6676        _options: crate::RequestOptions,
6677    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6678    {
6679        gaxi::unimplemented::unimplemented_stub()
6680    }
6681
6682    /// Implements [super::client::OrganizationSecurityPolicies::delete].
6683    fn delete(
6684        &self,
6685        _req: crate::model::organization_security_policies::DeleteRequest,
6686        _options: crate::RequestOptions,
6687    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6688    {
6689        gaxi::unimplemented::unimplemented_stub()
6690    }
6691
6692    /// Implements [super::client::OrganizationSecurityPolicies::get].
6693    fn get(
6694        &self,
6695        _req: crate::model::organization_security_policies::GetRequest,
6696        _options: crate::RequestOptions,
6697    ) -> impl std::future::Future<
6698        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
6699    > + Send {
6700        gaxi::unimplemented::unimplemented_stub()
6701    }
6702
6703    /// Implements [super::client::OrganizationSecurityPolicies::get_association].
6704    fn get_association(
6705        &self,
6706        _req: crate::model::organization_security_policies::GetAssociationRequest,
6707        _options: crate::RequestOptions,
6708    ) -> impl std::future::Future<
6709        Output = crate::Result<crate::Response<crate::model::SecurityPolicyAssociation>>,
6710    > + Send {
6711        gaxi::unimplemented::unimplemented_stub()
6712    }
6713
6714    /// Implements [super::client::OrganizationSecurityPolicies::get_rule].
6715    fn get_rule(
6716        &self,
6717        _req: crate::model::organization_security_policies::GetRuleRequest,
6718        _options: crate::RequestOptions,
6719    ) -> impl std::future::Future<
6720        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
6721    > + Send {
6722        gaxi::unimplemented::unimplemented_stub()
6723    }
6724
6725    /// Implements [super::client::OrganizationSecurityPolicies::insert].
6726    fn insert(
6727        &self,
6728        _req: crate::model::organization_security_policies::InsertRequest,
6729        _options: crate::RequestOptions,
6730    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6731    {
6732        gaxi::unimplemented::unimplemented_stub()
6733    }
6734
6735    /// Implements [super::client::OrganizationSecurityPolicies::list].
6736    fn list(
6737        &self,
6738        _req: crate::model::organization_security_policies::ListRequest,
6739        _options: crate::RequestOptions,
6740    ) -> impl std::future::Future<
6741        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
6742    > + Send {
6743        gaxi::unimplemented::unimplemented_stub()
6744    }
6745
6746    /// Implements [super::client::OrganizationSecurityPolicies::list_associations].
6747    fn list_associations(
6748        &self,
6749        _req: crate::model::organization_security_policies::ListAssociationsRequest,
6750        _options: crate::RequestOptions,
6751    ) -> impl std::future::Future<
6752        Output = crate::Result<
6753            crate::Response<crate::model::OrganizationSecurityPoliciesListAssociationsResponse>,
6754        >,
6755    > + Send {
6756        gaxi::unimplemented::unimplemented_stub()
6757    }
6758
6759    /// Implements [super::client::OrganizationSecurityPolicies::list_preconfigured_expression_sets].
6760    fn list_preconfigured_expression_sets(
6761        &self,
6762        _req: crate::model::organization_security_policies::ListPreconfiguredExpressionSetsRequest,
6763        _options: crate::RequestOptions,
6764    ) -> impl std::future::Future<
6765        Output = crate::Result<
6766            crate::Response<crate::model::SecurityPoliciesListPreconfiguredExpressionSetsResponse>,
6767        >,
6768    > + Send {
6769        gaxi::unimplemented::unimplemented_stub()
6770    }
6771
6772    /// Implements [super::client::OrganizationSecurityPolicies::r#move].
6773    fn r#move(
6774        &self,
6775        _req: crate::model::organization_security_policies::MoveRequest,
6776        _options: crate::RequestOptions,
6777    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6778    {
6779        gaxi::unimplemented::unimplemented_stub()
6780    }
6781
6782    /// Implements [super::client::OrganizationSecurityPolicies::patch].
6783    fn patch(
6784        &self,
6785        _req: crate::model::organization_security_policies::PatchRequest,
6786        _options: crate::RequestOptions,
6787    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6788    {
6789        gaxi::unimplemented::unimplemented_stub()
6790    }
6791
6792    /// Implements [super::client::OrganizationSecurityPolicies::patch_rule].
6793    fn patch_rule(
6794        &self,
6795        _req: crate::model::organization_security_policies::PatchRuleRequest,
6796        _options: crate::RequestOptions,
6797    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6798    {
6799        gaxi::unimplemented::unimplemented_stub()
6800    }
6801
6802    /// Implements [super::client::OrganizationSecurityPolicies::remove_association].
6803    fn remove_association(
6804        &self,
6805        _req: crate::model::organization_security_policies::RemoveAssociationRequest,
6806        _options: crate::RequestOptions,
6807    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6808    {
6809        gaxi::unimplemented::unimplemented_stub()
6810    }
6811
6812    /// Implements [super::client::OrganizationSecurityPolicies::remove_rule].
6813    fn remove_rule(
6814        &self,
6815        _req: crate::model::organization_security_policies::RemoveRuleRequest,
6816        _options: crate::RequestOptions,
6817    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6818    {
6819        gaxi::unimplemented::unimplemented_stub()
6820    }
6821
6822    /// Implements [super::client::OrganizationSecurityPolicies::get_operation].
6823    fn get_operation(
6824        &self,
6825        _req: crate::model::global_organization_operations::GetRequest,
6826        _options: crate::RequestOptions,
6827    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6828    {
6829        gaxi::unimplemented::unimplemented_stub()
6830    }
6831
6832    /// Returns the polling error policy.
6833    ///
6834    /// When mocking, this method is typically irrelevant. Do not try to verify
6835    /// it is called by your mocks.
6836    fn get_polling_error_policy(
6837        &self,
6838        _options: &crate::RequestOptions,
6839    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6840        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6841    }
6842
6843    /// Returns the polling backoff policy.
6844    ///
6845    /// When mocking, this method is typically irrelevant. Do not try to verify
6846    /// it is called by your mocks.
6847    fn get_polling_backoff_policy(
6848        &self,
6849        _options: &crate::RequestOptions,
6850    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6851        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6852    }
6853}
6854
6855/// Defines the trait used to implement [super::client::PacketMirrorings].
6856///
6857/// Application developers may need to implement this trait to mock
6858/// `client::PacketMirrorings`.  In other use-cases, application developers only
6859/// use `client::PacketMirrorings` and need not be concerned with this trait or
6860/// its implementations.
6861///
6862/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6863/// too. To avoid breaking applications the trait provides a default
6864/// implementation of each method. Most of these implementations just return an
6865/// error.
6866#[cfg(feature = "packet-mirrorings")]
6867#[cfg_attr(docsrs, doc(cfg(feature = "packet-mirrorings")))]
6868pub trait PacketMirrorings: std::fmt::Debug + Send + Sync {
6869    /// Implements [super::client::PacketMirrorings::aggregated_list].
6870    fn aggregated_list(
6871        &self,
6872        _req: crate::model::packet_mirrorings::AggregatedListRequest,
6873        _options: crate::RequestOptions,
6874    ) -> impl std::future::Future<
6875        Output = crate::Result<crate::Response<crate::model::PacketMirroringAggregatedList>>,
6876    > + Send {
6877        gaxi::unimplemented::unimplemented_stub()
6878    }
6879
6880    /// Implements [super::client::PacketMirrorings::delete].
6881    fn delete(
6882        &self,
6883        _req: crate::model::packet_mirrorings::DeleteRequest,
6884        _options: crate::RequestOptions,
6885    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6886    {
6887        gaxi::unimplemented::unimplemented_stub()
6888    }
6889
6890    /// Implements [super::client::PacketMirrorings::get].
6891    fn get(
6892        &self,
6893        _req: crate::model::packet_mirrorings::GetRequest,
6894        _options: crate::RequestOptions,
6895    ) -> impl std::future::Future<
6896        Output = crate::Result<crate::Response<crate::model::PacketMirroring>>,
6897    > + Send {
6898        gaxi::unimplemented::unimplemented_stub()
6899    }
6900
6901    /// Implements [super::client::PacketMirrorings::insert].
6902    fn insert(
6903        &self,
6904        _req: crate::model::packet_mirrorings::InsertRequest,
6905        _options: crate::RequestOptions,
6906    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6907    {
6908        gaxi::unimplemented::unimplemented_stub()
6909    }
6910
6911    /// Implements [super::client::PacketMirrorings::list].
6912    fn list(
6913        &self,
6914        _req: crate::model::packet_mirrorings::ListRequest,
6915        _options: crate::RequestOptions,
6916    ) -> impl std::future::Future<
6917        Output = crate::Result<crate::Response<crate::model::PacketMirroringList>>,
6918    > + Send {
6919        gaxi::unimplemented::unimplemented_stub()
6920    }
6921
6922    /// Implements [super::client::PacketMirrorings::patch].
6923    fn patch(
6924        &self,
6925        _req: crate::model::packet_mirrorings::PatchRequest,
6926        _options: crate::RequestOptions,
6927    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6928    {
6929        gaxi::unimplemented::unimplemented_stub()
6930    }
6931
6932    /// Implements [super::client::PacketMirrorings::test_iam_permissions].
6933    fn test_iam_permissions(
6934        &self,
6935        _req: crate::model::packet_mirrorings::TestIamPermissionsRequest,
6936        _options: crate::RequestOptions,
6937    ) -> impl std::future::Future<
6938        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6939    > + Send {
6940        gaxi::unimplemented::unimplemented_stub()
6941    }
6942
6943    /// Implements [super::client::PacketMirrorings::get_operation].
6944    fn get_operation(
6945        &self,
6946        _req: crate::model::region_operations::GetRequest,
6947        _options: crate::RequestOptions,
6948    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6949    {
6950        gaxi::unimplemented::unimplemented_stub()
6951    }
6952
6953    /// Returns the polling error policy.
6954    ///
6955    /// When mocking, this method is typically irrelevant. Do not try to verify
6956    /// it is called by your mocks.
6957    fn get_polling_error_policy(
6958        &self,
6959        _options: &crate::RequestOptions,
6960    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6961        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6962    }
6963
6964    /// Returns the polling backoff policy.
6965    ///
6966    /// When mocking, this method is typically irrelevant. Do not try to verify
6967    /// it is called by your mocks.
6968    fn get_polling_backoff_policy(
6969        &self,
6970        _options: &crate::RequestOptions,
6971    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6972        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6973    }
6974}
6975
6976/// Defines the trait used to implement [super::client::PreviewFeatures].
6977///
6978/// Application developers may need to implement this trait to mock
6979/// `client::PreviewFeatures`.  In other use-cases, application developers only
6980/// use `client::PreviewFeatures` and need not be concerned with this trait or
6981/// its implementations.
6982///
6983/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6984/// too. To avoid breaking applications the trait provides a default
6985/// implementation of each method. Most of these implementations just return an
6986/// error.
6987#[cfg(feature = "preview-features")]
6988#[cfg_attr(docsrs, doc(cfg(feature = "preview-features")))]
6989pub trait PreviewFeatures: std::fmt::Debug + Send + Sync {
6990    /// Implements [super::client::PreviewFeatures::get].
6991    fn get(
6992        &self,
6993        _req: crate::model::preview_features::GetRequest,
6994        _options: crate::RequestOptions,
6995    ) -> impl std::future::Future<
6996        Output = crate::Result<crate::Response<crate::model::PreviewFeature>>,
6997    > + Send {
6998        gaxi::unimplemented::unimplemented_stub()
6999    }
7000
7001    /// Implements [super::client::PreviewFeatures::list].
7002    fn list(
7003        &self,
7004        _req: crate::model::preview_features::ListRequest,
7005        _options: crate::RequestOptions,
7006    ) -> impl std::future::Future<
7007        Output = crate::Result<crate::Response<crate::model::PreviewFeatureList>>,
7008    > + Send {
7009        gaxi::unimplemented::unimplemented_stub()
7010    }
7011
7012    /// Implements [super::client::PreviewFeatures::update].
7013    fn update(
7014        &self,
7015        _req: crate::model::preview_features::UpdateRequest,
7016        _options: crate::RequestOptions,
7017    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7018    {
7019        gaxi::unimplemented::unimplemented_stub()
7020    }
7021
7022    /// Implements [super::client::PreviewFeatures::get_operation].
7023    fn get_operation(
7024        &self,
7025        _req: crate::model::global_operations::GetRequest,
7026        _options: crate::RequestOptions,
7027    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7028    {
7029        gaxi::unimplemented::unimplemented_stub()
7030    }
7031
7032    /// Returns the polling error policy.
7033    ///
7034    /// When mocking, this method is typically irrelevant. Do not try to verify
7035    /// it is called by your mocks.
7036    fn get_polling_error_policy(
7037        &self,
7038        _options: &crate::RequestOptions,
7039    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7040        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7041    }
7042
7043    /// Returns the polling backoff policy.
7044    ///
7045    /// When mocking, this method is typically irrelevant. Do not try to verify
7046    /// it is called by your mocks.
7047    fn get_polling_backoff_policy(
7048        &self,
7049        _options: &crate::RequestOptions,
7050    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7051        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7052    }
7053}
7054
7055/// Defines the trait used to implement [super::client::Projects].
7056///
7057/// Application developers may need to implement this trait to mock
7058/// `client::Projects`.  In other use-cases, application developers only
7059/// use `client::Projects` and need not be concerned with this trait or
7060/// its implementations.
7061///
7062/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7063/// too. To avoid breaking applications the trait provides a default
7064/// implementation of each method. Most of these implementations just return an
7065/// error.
7066#[cfg(feature = "projects")]
7067#[cfg_attr(docsrs, doc(cfg(feature = "projects")))]
7068pub trait Projects: std::fmt::Debug + Send + Sync {
7069    /// Implements [super::client::Projects::disable_xpn_host].
7070    fn disable_xpn_host(
7071        &self,
7072        _req: crate::model::projects::DisableXpnHostRequest,
7073        _options: crate::RequestOptions,
7074    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7075    {
7076        gaxi::unimplemented::unimplemented_stub()
7077    }
7078
7079    /// Implements [super::client::Projects::disable_xpn_resource].
7080    fn disable_xpn_resource(
7081        &self,
7082        _req: crate::model::projects::DisableXpnResourceRequest,
7083        _options: crate::RequestOptions,
7084    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7085    {
7086        gaxi::unimplemented::unimplemented_stub()
7087    }
7088
7089    /// Implements [super::client::Projects::enable_xpn_host].
7090    fn enable_xpn_host(
7091        &self,
7092        _req: crate::model::projects::EnableXpnHostRequest,
7093        _options: crate::RequestOptions,
7094    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7095    {
7096        gaxi::unimplemented::unimplemented_stub()
7097    }
7098
7099    /// Implements [super::client::Projects::enable_xpn_resource].
7100    fn enable_xpn_resource(
7101        &self,
7102        _req: crate::model::projects::EnableXpnResourceRequest,
7103        _options: crate::RequestOptions,
7104    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7105    {
7106        gaxi::unimplemented::unimplemented_stub()
7107    }
7108
7109    /// Implements [super::client::Projects::get].
7110    fn get(
7111        &self,
7112        _req: crate::model::projects::GetRequest,
7113        _options: crate::RequestOptions,
7114    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Project>>> + Send
7115    {
7116        gaxi::unimplemented::unimplemented_stub()
7117    }
7118
7119    /// Implements [super::client::Projects::get_xpn_host].
7120    fn get_xpn_host(
7121        &self,
7122        _req: crate::model::projects::GetXpnHostRequest,
7123        _options: crate::RequestOptions,
7124    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Project>>> + Send
7125    {
7126        gaxi::unimplemented::unimplemented_stub()
7127    }
7128
7129    /// Implements [super::client::Projects::get_xpn_resources].
7130    fn get_xpn_resources(
7131        &self,
7132        _req: crate::model::projects::GetXpnResourcesRequest,
7133        _options: crate::RequestOptions,
7134    ) -> impl std::future::Future<
7135        Output = crate::Result<crate::Response<crate::model::ProjectsGetXpnResources>>,
7136    > + Send {
7137        gaxi::unimplemented::unimplemented_stub()
7138    }
7139
7140    /// Implements [super::client::Projects::list_xpn_hosts].
7141    fn list_xpn_hosts(
7142        &self,
7143        _req: crate::model::projects::ListXpnHostsRequest,
7144        _options: crate::RequestOptions,
7145    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::XpnHostList>>>
7146    + Send {
7147        gaxi::unimplemented::unimplemented_stub()
7148    }
7149
7150    /// Implements [super::client::Projects::move_disk].
7151    fn move_disk(
7152        &self,
7153        _req: crate::model::projects::MoveDiskRequest,
7154        _options: crate::RequestOptions,
7155    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7156    {
7157        gaxi::unimplemented::unimplemented_stub()
7158    }
7159
7160    /// Implements [super::client::Projects::move_instance].
7161    fn move_instance(
7162        &self,
7163        _req: crate::model::projects::MoveInstanceRequest,
7164        _options: crate::RequestOptions,
7165    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7166    {
7167        gaxi::unimplemented::unimplemented_stub()
7168    }
7169
7170    /// Implements [super::client::Projects::set_cloud_armor_tier].
7171    fn set_cloud_armor_tier(
7172        &self,
7173        _req: crate::model::projects::SetCloudArmorTierRequest,
7174        _options: crate::RequestOptions,
7175    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7176    {
7177        gaxi::unimplemented::unimplemented_stub()
7178    }
7179
7180    /// Implements [super::client::Projects::set_common_instance_metadata].
7181    fn set_common_instance_metadata(
7182        &self,
7183        _req: crate::model::projects::SetCommonInstanceMetadataRequest,
7184        _options: crate::RequestOptions,
7185    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7186    {
7187        gaxi::unimplemented::unimplemented_stub()
7188    }
7189
7190    /// Implements [super::client::Projects::set_default_network_tier].
7191    fn set_default_network_tier(
7192        &self,
7193        _req: crate::model::projects::SetDefaultNetworkTierRequest,
7194        _options: crate::RequestOptions,
7195    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7196    {
7197        gaxi::unimplemented::unimplemented_stub()
7198    }
7199
7200    /// Implements [super::client::Projects::set_usage_export_bucket].
7201    fn set_usage_export_bucket(
7202        &self,
7203        _req: crate::model::projects::SetUsageExportBucketRequest,
7204        _options: crate::RequestOptions,
7205    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7206    {
7207        gaxi::unimplemented::unimplemented_stub()
7208    }
7209
7210    /// Implements [super::client::Projects::get_operation].
7211    fn get_operation(
7212        &self,
7213        _req: crate::model::global_operations::GetRequest,
7214        _options: crate::RequestOptions,
7215    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7216    {
7217        gaxi::unimplemented::unimplemented_stub()
7218    }
7219
7220    /// Returns the polling error policy.
7221    ///
7222    /// When mocking, this method is typically irrelevant. Do not try to verify
7223    /// it is called by your mocks.
7224    fn get_polling_error_policy(
7225        &self,
7226        _options: &crate::RequestOptions,
7227    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7228        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7229    }
7230
7231    /// Returns the polling backoff policy.
7232    ///
7233    /// When mocking, this method is typically irrelevant. Do not try to verify
7234    /// it is called by your mocks.
7235    fn get_polling_backoff_policy(
7236        &self,
7237        _options: &crate::RequestOptions,
7238    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7239        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7240    }
7241}
7242
7243/// Defines the trait used to implement [super::client::PublicAdvertisedPrefixes].
7244///
7245/// Application developers may need to implement this trait to mock
7246/// `client::PublicAdvertisedPrefixes`.  In other use-cases, application developers only
7247/// use `client::PublicAdvertisedPrefixes` and need not be concerned with this trait or
7248/// its implementations.
7249///
7250/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7251/// too. To avoid breaking applications the trait provides a default
7252/// implementation of each method. Most of these implementations just return an
7253/// error.
7254#[cfg(feature = "public-advertised-prefixes")]
7255#[cfg_attr(docsrs, doc(cfg(feature = "public-advertised-prefixes")))]
7256pub trait PublicAdvertisedPrefixes: std::fmt::Debug + Send + Sync {
7257    /// Implements [super::client::PublicAdvertisedPrefixes::announce].
7258    fn announce(
7259        &self,
7260        _req: crate::model::public_advertised_prefixes::AnnounceRequest,
7261        _options: crate::RequestOptions,
7262    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7263    {
7264        gaxi::unimplemented::unimplemented_stub()
7265    }
7266
7267    /// Implements [super::client::PublicAdvertisedPrefixes::delete].
7268    fn delete(
7269        &self,
7270        _req: crate::model::public_advertised_prefixes::DeleteRequest,
7271        _options: crate::RequestOptions,
7272    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7273    {
7274        gaxi::unimplemented::unimplemented_stub()
7275    }
7276
7277    /// Implements [super::client::PublicAdvertisedPrefixes::get].
7278    fn get(
7279        &self,
7280        _req: crate::model::public_advertised_prefixes::GetRequest,
7281        _options: crate::RequestOptions,
7282    ) -> impl std::future::Future<
7283        Output = crate::Result<crate::Response<crate::model::PublicAdvertisedPrefix>>,
7284    > + Send {
7285        gaxi::unimplemented::unimplemented_stub()
7286    }
7287
7288    /// Implements [super::client::PublicAdvertisedPrefixes::insert].
7289    fn insert(
7290        &self,
7291        _req: crate::model::public_advertised_prefixes::InsertRequest,
7292        _options: crate::RequestOptions,
7293    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7294    {
7295        gaxi::unimplemented::unimplemented_stub()
7296    }
7297
7298    /// Implements [super::client::PublicAdvertisedPrefixes::list].
7299    fn list(
7300        &self,
7301        _req: crate::model::public_advertised_prefixes::ListRequest,
7302        _options: crate::RequestOptions,
7303    ) -> impl std::future::Future<
7304        Output = crate::Result<crate::Response<crate::model::PublicAdvertisedPrefixList>>,
7305    > + Send {
7306        gaxi::unimplemented::unimplemented_stub()
7307    }
7308
7309    /// Implements [super::client::PublicAdvertisedPrefixes::patch].
7310    fn patch(
7311        &self,
7312        _req: crate::model::public_advertised_prefixes::PatchRequest,
7313        _options: crate::RequestOptions,
7314    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7315    {
7316        gaxi::unimplemented::unimplemented_stub()
7317    }
7318
7319    /// Implements [super::client::PublicAdvertisedPrefixes::withdraw].
7320    fn withdraw(
7321        &self,
7322        _req: crate::model::public_advertised_prefixes::WithdrawRequest,
7323        _options: crate::RequestOptions,
7324    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7325    {
7326        gaxi::unimplemented::unimplemented_stub()
7327    }
7328
7329    /// Implements [super::client::PublicAdvertisedPrefixes::get_operation].
7330    fn get_operation(
7331        &self,
7332        _req: crate::model::global_operations::GetRequest,
7333        _options: crate::RequestOptions,
7334    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7335    {
7336        gaxi::unimplemented::unimplemented_stub()
7337    }
7338
7339    /// Returns the polling error policy.
7340    ///
7341    /// When mocking, this method is typically irrelevant. Do not try to verify
7342    /// it is called by your mocks.
7343    fn get_polling_error_policy(
7344        &self,
7345        _options: &crate::RequestOptions,
7346    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7347        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7348    }
7349
7350    /// Returns the polling backoff policy.
7351    ///
7352    /// When mocking, this method is typically irrelevant. Do not try to verify
7353    /// it is called by your mocks.
7354    fn get_polling_backoff_policy(
7355        &self,
7356        _options: &crate::RequestOptions,
7357    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7358        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7359    }
7360}
7361
7362/// Defines the trait used to implement [super::client::PublicDelegatedPrefixes].
7363///
7364/// Application developers may need to implement this trait to mock
7365/// `client::PublicDelegatedPrefixes`.  In other use-cases, application developers only
7366/// use `client::PublicDelegatedPrefixes` and need not be concerned with this trait or
7367/// its implementations.
7368///
7369/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7370/// too. To avoid breaking applications the trait provides a default
7371/// implementation of each method. Most of these implementations just return an
7372/// error.
7373#[cfg(feature = "public-delegated-prefixes")]
7374#[cfg_attr(docsrs, doc(cfg(feature = "public-delegated-prefixes")))]
7375pub trait PublicDelegatedPrefixes: std::fmt::Debug + Send + Sync {
7376    /// Implements [super::client::PublicDelegatedPrefixes::aggregated_list].
7377    fn aggregated_list(
7378        &self,
7379        _req: crate::model::public_delegated_prefixes::AggregatedListRequest,
7380        _options: crate::RequestOptions,
7381    ) -> impl std::future::Future<
7382        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixAggregatedList>>,
7383    > + Send {
7384        gaxi::unimplemented::unimplemented_stub()
7385    }
7386
7387    /// Implements [super::client::PublicDelegatedPrefixes::announce].
7388    fn announce(
7389        &self,
7390        _req: crate::model::public_delegated_prefixes::AnnounceRequest,
7391        _options: crate::RequestOptions,
7392    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7393    {
7394        gaxi::unimplemented::unimplemented_stub()
7395    }
7396
7397    /// Implements [super::client::PublicDelegatedPrefixes::delete].
7398    fn delete(
7399        &self,
7400        _req: crate::model::public_delegated_prefixes::DeleteRequest,
7401        _options: crate::RequestOptions,
7402    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7403    {
7404        gaxi::unimplemented::unimplemented_stub()
7405    }
7406
7407    /// Implements [super::client::PublicDelegatedPrefixes::get].
7408    fn get(
7409        &self,
7410        _req: crate::model::public_delegated_prefixes::GetRequest,
7411        _options: crate::RequestOptions,
7412    ) -> impl std::future::Future<
7413        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefix>>,
7414    > + Send {
7415        gaxi::unimplemented::unimplemented_stub()
7416    }
7417
7418    /// Implements [super::client::PublicDelegatedPrefixes::insert].
7419    fn insert(
7420        &self,
7421        _req: crate::model::public_delegated_prefixes::InsertRequest,
7422        _options: crate::RequestOptions,
7423    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7424    {
7425        gaxi::unimplemented::unimplemented_stub()
7426    }
7427
7428    /// Implements [super::client::PublicDelegatedPrefixes::list].
7429    fn list(
7430        &self,
7431        _req: crate::model::public_delegated_prefixes::ListRequest,
7432        _options: crate::RequestOptions,
7433    ) -> impl std::future::Future<
7434        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixList>>,
7435    > + Send {
7436        gaxi::unimplemented::unimplemented_stub()
7437    }
7438
7439    /// Implements [super::client::PublicDelegatedPrefixes::patch].
7440    fn patch(
7441        &self,
7442        _req: crate::model::public_delegated_prefixes::PatchRequest,
7443        _options: crate::RequestOptions,
7444    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7445    {
7446        gaxi::unimplemented::unimplemented_stub()
7447    }
7448
7449    /// Implements [super::client::PublicDelegatedPrefixes::withdraw].
7450    fn withdraw(
7451        &self,
7452        _req: crate::model::public_delegated_prefixes::WithdrawRequest,
7453        _options: crate::RequestOptions,
7454    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7455    {
7456        gaxi::unimplemented::unimplemented_stub()
7457    }
7458
7459    /// Implements [super::client::PublicDelegatedPrefixes::get_operation].
7460    fn get_operation(
7461        &self,
7462        _req: crate::model::region_operations::GetRequest,
7463        _options: crate::RequestOptions,
7464    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7465    {
7466        gaxi::unimplemented::unimplemented_stub()
7467    }
7468
7469    /// Returns the polling error policy.
7470    ///
7471    /// When mocking, this method is typically irrelevant. Do not try to verify
7472    /// it is called by your mocks.
7473    fn get_polling_error_policy(
7474        &self,
7475        _options: &crate::RequestOptions,
7476    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7477        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7478    }
7479
7480    /// Returns the polling backoff policy.
7481    ///
7482    /// When mocking, this method is typically irrelevant. Do not try to verify
7483    /// it is called by your mocks.
7484    fn get_polling_backoff_policy(
7485        &self,
7486        _options: &crate::RequestOptions,
7487    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7488        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7489    }
7490}
7491
7492/// Defines the trait used to implement [super::client::RegionAutoscalers].
7493///
7494/// Application developers may need to implement this trait to mock
7495/// `client::RegionAutoscalers`.  In other use-cases, application developers only
7496/// use `client::RegionAutoscalers` and need not be concerned with this trait or
7497/// its implementations.
7498///
7499/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7500/// too. To avoid breaking applications the trait provides a default
7501/// implementation of each method. Most of these implementations just return an
7502/// error.
7503#[cfg(feature = "region-autoscalers")]
7504#[cfg_attr(docsrs, doc(cfg(feature = "region-autoscalers")))]
7505pub trait RegionAutoscalers: std::fmt::Debug + Send + Sync {
7506    /// Implements [super::client::RegionAutoscalers::delete].
7507    fn delete(
7508        &self,
7509        _req: crate::model::region_autoscalers::DeleteRequest,
7510        _options: crate::RequestOptions,
7511    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7512    {
7513        gaxi::unimplemented::unimplemented_stub()
7514    }
7515
7516    /// Implements [super::client::RegionAutoscalers::get].
7517    fn get(
7518        &self,
7519        _req: crate::model::region_autoscalers::GetRequest,
7520        _options: crate::RequestOptions,
7521    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Autoscaler>>> + Send
7522    {
7523        gaxi::unimplemented::unimplemented_stub()
7524    }
7525
7526    /// Implements [super::client::RegionAutoscalers::insert].
7527    fn insert(
7528        &self,
7529        _req: crate::model::region_autoscalers::InsertRequest,
7530        _options: crate::RequestOptions,
7531    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7532    {
7533        gaxi::unimplemented::unimplemented_stub()
7534    }
7535
7536    /// Implements [super::client::RegionAutoscalers::list].
7537    fn list(
7538        &self,
7539        _req: crate::model::region_autoscalers::ListRequest,
7540        _options: crate::RequestOptions,
7541    ) -> impl std::future::Future<
7542        Output = crate::Result<crate::Response<crate::model::RegionAutoscalerList>>,
7543    > + Send {
7544        gaxi::unimplemented::unimplemented_stub()
7545    }
7546
7547    /// Implements [super::client::RegionAutoscalers::patch].
7548    fn patch(
7549        &self,
7550        _req: crate::model::region_autoscalers::PatchRequest,
7551        _options: crate::RequestOptions,
7552    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7553    {
7554        gaxi::unimplemented::unimplemented_stub()
7555    }
7556
7557    /// Implements [super::client::RegionAutoscalers::test_iam_permissions].
7558    fn test_iam_permissions(
7559        &self,
7560        _req: crate::model::region_autoscalers::TestIamPermissionsRequest,
7561        _options: crate::RequestOptions,
7562    ) -> impl std::future::Future<
7563        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7564    > + Send {
7565        gaxi::unimplemented::unimplemented_stub()
7566    }
7567
7568    /// Implements [super::client::RegionAutoscalers::update].
7569    fn update(
7570        &self,
7571        _req: crate::model::region_autoscalers::UpdateRequest,
7572        _options: crate::RequestOptions,
7573    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7574    {
7575        gaxi::unimplemented::unimplemented_stub()
7576    }
7577
7578    /// Implements [super::client::RegionAutoscalers::get_operation].
7579    fn get_operation(
7580        &self,
7581        _req: crate::model::region_operations::GetRequest,
7582        _options: crate::RequestOptions,
7583    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7584    {
7585        gaxi::unimplemented::unimplemented_stub()
7586    }
7587
7588    /// Returns the polling error policy.
7589    ///
7590    /// When mocking, this method is typically irrelevant. Do not try to verify
7591    /// it is called by your mocks.
7592    fn get_polling_error_policy(
7593        &self,
7594        _options: &crate::RequestOptions,
7595    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7596        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7597    }
7598
7599    /// Returns the polling backoff policy.
7600    ///
7601    /// When mocking, this method is typically irrelevant. Do not try to verify
7602    /// it is called by your mocks.
7603    fn get_polling_backoff_policy(
7604        &self,
7605        _options: &crate::RequestOptions,
7606    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7607        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7608    }
7609}
7610
7611/// Defines the trait used to implement [super::client::RegionBackendServices].
7612///
7613/// Application developers may need to implement this trait to mock
7614/// `client::RegionBackendServices`.  In other use-cases, application developers only
7615/// use `client::RegionBackendServices` and need not be concerned with this trait or
7616/// its implementations.
7617///
7618/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7619/// too. To avoid breaking applications the trait provides a default
7620/// implementation of each method. Most of these implementations just return an
7621/// error.
7622#[cfg(feature = "region-backend-services")]
7623#[cfg_attr(docsrs, doc(cfg(feature = "region-backend-services")))]
7624pub trait RegionBackendServices: std::fmt::Debug + Send + Sync {
7625    /// Implements [super::client::RegionBackendServices::delete].
7626    fn delete(
7627        &self,
7628        _req: crate::model::region_backend_services::DeleteRequest,
7629        _options: crate::RequestOptions,
7630    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7631    {
7632        gaxi::unimplemented::unimplemented_stub()
7633    }
7634
7635    /// Implements [super::client::RegionBackendServices::get].
7636    fn get(
7637        &self,
7638        _req: crate::model::region_backend_services::GetRequest,
7639        _options: crate::RequestOptions,
7640    ) -> impl std::future::Future<
7641        Output = crate::Result<crate::Response<crate::model::BackendService>>,
7642    > + Send {
7643        gaxi::unimplemented::unimplemented_stub()
7644    }
7645
7646    /// Implements [super::client::RegionBackendServices::get_health].
7647    fn get_health(
7648        &self,
7649        _req: crate::model::region_backend_services::GetHealthRequest,
7650        _options: crate::RequestOptions,
7651    ) -> impl std::future::Future<
7652        Output = crate::Result<crate::Response<crate::model::BackendServiceGroupHealth>>,
7653    > + Send {
7654        gaxi::unimplemented::unimplemented_stub()
7655    }
7656
7657    /// Implements [super::client::RegionBackendServices::get_iam_policy].
7658    fn get_iam_policy(
7659        &self,
7660        _req: crate::model::region_backend_services::GetIamPolicyRequest,
7661        _options: crate::RequestOptions,
7662    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7663    {
7664        gaxi::unimplemented::unimplemented_stub()
7665    }
7666
7667    /// Implements [super::client::RegionBackendServices::insert].
7668    fn insert(
7669        &self,
7670        _req: crate::model::region_backend_services::InsertRequest,
7671        _options: crate::RequestOptions,
7672    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7673    {
7674        gaxi::unimplemented::unimplemented_stub()
7675    }
7676
7677    /// Implements [super::client::RegionBackendServices::list].
7678    fn list(
7679        &self,
7680        _req: crate::model::region_backend_services::ListRequest,
7681        _options: crate::RequestOptions,
7682    ) -> impl std::future::Future<
7683        Output = crate::Result<crate::Response<crate::model::BackendServiceList>>,
7684    > + Send {
7685        gaxi::unimplemented::unimplemented_stub()
7686    }
7687
7688    /// Implements [super::client::RegionBackendServices::list_usable].
7689    fn list_usable(
7690        &self,
7691        _req: crate::model::region_backend_services::ListUsableRequest,
7692        _options: crate::RequestOptions,
7693    ) -> impl std::future::Future<
7694        Output = crate::Result<crate::Response<crate::model::BackendServiceListUsable>>,
7695    > + Send {
7696        gaxi::unimplemented::unimplemented_stub()
7697    }
7698
7699    /// Implements [super::client::RegionBackendServices::patch].
7700    fn patch(
7701        &self,
7702        _req: crate::model::region_backend_services::PatchRequest,
7703        _options: crate::RequestOptions,
7704    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7705    {
7706        gaxi::unimplemented::unimplemented_stub()
7707    }
7708
7709    /// Implements [super::client::RegionBackendServices::set_iam_policy].
7710    fn set_iam_policy(
7711        &self,
7712        _req: crate::model::region_backend_services::SetIamPolicyRequest,
7713        _options: crate::RequestOptions,
7714    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7715    {
7716        gaxi::unimplemented::unimplemented_stub()
7717    }
7718
7719    /// Implements [super::client::RegionBackendServices::set_security_policy].
7720    fn set_security_policy(
7721        &self,
7722        _req: crate::model::region_backend_services::SetSecurityPolicyRequest,
7723        _options: crate::RequestOptions,
7724    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7725    {
7726        gaxi::unimplemented::unimplemented_stub()
7727    }
7728
7729    /// Implements [super::client::RegionBackendServices::test_iam_permissions].
7730    fn test_iam_permissions(
7731        &self,
7732        _req: crate::model::region_backend_services::TestIamPermissionsRequest,
7733        _options: crate::RequestOptions,
7734    ) -> impl std::future::Future<
7735        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7736    > + Send {
7737        gaxi::unimplemented::unimplemented_stub()
7738    }
7739
7740    /// Implements [super::client::RegionBackendServices::update].
7741    fn update(
7742        &self,
7743        _req: crate::model::region_backend_services::UpdateRequest,
7744        _options: crate::RequestOptions,
7745    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7746    {
7747        gaxi::unimplemented::unimplemented_stub()
7748    }
7749
7750    /// Implements [super::client::RegionBackendServices::get_operation].
7751    fn get_operation(
7752        &self,
7753        _req: crate::model::region_operations::GetRequest,
7754        _options: crate::RequestOptions,
7755    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7756    {
7757        gaxi::unimplemented::unimplemented_stub()
7758    }
7759
7760    /// Returns the polling error policy.
7761    ///
7762    /// When mocking, this method is typically irrelevant. Do not try to verify
7763    /// it is called by your mocks.
7764    fn get_polling_error_policy(
7765        &self,
7766        _options: &crate::RequestOptions,
7767    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7768        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7769    }
7770
7771    /// Returns the polling backoff policy.
7772    ///
7773    /// When mocking, this method is typically irrelevant. Do not try to verify
7774    /// it is called by your mocks.
7775    fn get_polling_backoff_policy(
7776        &self,
7777        _options: &crate::RequestOptions,
7778    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7779        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7780    }
7781}
7782
7783/// Defines the trait used to implement [super::client::RegionCommitments].
7784///
7785/// Application developers may need to implement this trait to mock
7786/// `client::RegionCommitments`.  In other use-cases, application developers only
7787/// use `client::RegionCommitments` and need not be concerned with this trait or
7788/// its implementations.
7789///
7790/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7791/// too. To avoid breaking applications the trait provides a default
7792/// implementation of each method. Most of these implementations just return an
7793/// error.
7794#[cfg(feature = "region-commitments")]
7795#[cfg_attr(docsrs, doc(cfg(feature = "region-commitments")))]
7796pub trait RegionCommitments: std::fmt::Debug + Send + Sync {
7797    /// Implements [super::client::RegionCommitments::aggregated_list].
7798    fn aggregated_list(
7799        &self,
7800        _req: crate::model::region_commitments::AggregatedListRequest,
7801        _options: crate::RequestOptions,
7802    ) -> impl std::future::Future<
7803        Output = crate::Result<crate::Response<crate::model::CommitmentAggregatedList>>,
7804    > + Send {
7805        gaxi::unimplemented::unimplemented_stub()
7806    }
7807
7808    /// Implements [super::client::RegionCommitments::get].
7809    fn get(
7810        &self,
7811        _req: crate::model::region_commitments::GetRequest,
7812        _options: crate::RequestOptions,
7813    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Commitment>>> + Send
7814    {
7815        gaxi::unimplemented::unimplemented_stub()
7816    }
7817
7818    /// Implements [super::client::RegionCommitments::insert].
7819    fn insert(
7820        &self,
7821        _req: crate::model::region_commitments::InsertRequest,
7822        _options: crate::RequestOptions,
7823    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7824    {
7825        gaxi::unimplemented::unimplemented_stub()
7826    }
7827
7828    /// Implements [super::client::RegionCommitments::list].
7829    fn list(
7830        &self,
7831        _req: crate::model::region_commitments::ListRequest,
7832        _options: crate::RequestOptions,
7833    ) -> impl std::future::Future<
7834        Output = crate::Result<crate::Response<crate::model::CommitmentList>>,
7835    > + Send {
7836        gaxi::unimplemented::unimplemented_stub()
7837    }
7838
7839    /// Implements [super::client::RegionCommitments::update].
7840    fn update(
7841        &self,
7842        _req: crate::model::region_commitments::UpdateRequest,
7843        _options: crate::RequestOptions,
7844    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7845    {
7846        gaxi::unimplemented::unimplemented_stub()
7847    }
7848
7849    /// Implements [super::client::RegionCommitments::get_operation].
7850    fn get_operation(
7851        &self,
7852        _req: crate::model::region_operations::GetRequest,
7853        _options: crate::RequestOptions,
7854    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7855    {
7856        gaxi::unimplemented::unimplemented_stub()
7857    }
7858
7859    /// Returns the polling error policy.
7860    ///
7861    /// When mocking, this method is typically irrelevant. Do not try to verify
7862    /// it is called by your mocks.
7863    fn get_polling_error_policy(
7864        &self,
7865        _options: &crate::RequestOptions,
7866    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7867        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7868    }
7869
7870    /// Returns the polling backoff policy.
7871    ///
7872    /// When mocking, this method is typically irrelevant. Do not try to verify
7873    /// it is called by your mocks.
7874    fn get_polling_backoff_policy(
7875        &self,
7876        _options: &crate::RequestOptions,
7877    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7878        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7879    }
7880}
7881
7882/// Defines the trait used to implement [super::client::RegionCompositeHealthChecks].
7883///
7884/// Application developers may need to implement this trait to mock
7885/// `client::RegionCompositeHealthChecks`.  In other use-cases, application developers only
7886/// use `client::RegionCompositeHealthChecks` and need not be concerned with this trait or
7887/// its implementations.
7888///
7889/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7890/// too. To avoid breaking applications the trait provides a default
7891/// implementation of each method. Most of these implementations just return an
7892/// error.
7893#[cfg(feature = "region-composite-health-checks")]
7894#[cfg_attr(docsrs, doc(cfg(feature = "region-composite-health-checks")))]
7895pub trait RegionCompositeHealthChecks: std::fmt::Debug + Send + Sync {
7896    /// Implements [super::client::RegionCompositeHealthChecks::aggregated_list].
7897    fn aggregated_list(
7898        &self,
7899        _req: crate::model::region_composite_health_checks::AggregatedListRequest,
7900        _options: crate::RequestOptions,
7901    ) -> impl std::future::Future<
7902        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckAggregatedList>>,
7903    > + Send {
7904        gaxi::unimplemented::unimplemented_stub()
7905    }
7906
7907    /// Implements [super::client::RegionCompositeHealthChecks::delete].
7908    fn delete(
7909        &self,
7910        _req: crate::model::region_composite_health_checks::DeleteRequest,
7911        _options: crate::RequestOptions,
7912    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7913    {
7914        gaxi::unimplemented::unimplemented_stub()
7915    }
7916
7917    /// Implements [super::client::RegionCompositeHealthChecks::get].
7918    fn get(
7919        &self,
7920        _req: crate::model::region_composite_health_checks::GetRequest,
7921        _options: crate::RequestOptions,
7922    ) -> impl std::future::Future<
7923        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheck>>,
7924    > + Send {
7925        gaxi::unimplemented::unimplemented_stub()
7926    }
7927
7928    /// Implements [super::client::RegionCompositeHealthChecks::insert].
7929    fn insert(
7930        &self,
7931        _req: crate::model::region_composite_health_checks::InsertRequest,
7932        _options: crate::RequestOptions,
7933    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7934    {
7935        gaxi::unimplemented::unimplemented_stub()
7936    }
7937
7938    /// Implements [super::client::RegionCompositeHealthChecks::list].
7939    fn list(
7940        &self,
7941        _req: crate::model::region_composite_health_checks::ListRequest,
7942        _options: crate::RequestOptions,
7943    ) -> impl std::future::Future<
7944        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckList>>,
7945    > + Send {
7946        gaxi::unimplemented::unimplemented_stub()
7947    }
7948
7949    /// Implements [super::client::RegionCompositeHealthChecks::patch].
7950    fn patch(
7951        &self,
7952        _req: crate::model::region_composite_health_checks::PatchRequest,
7953        _options: crate::RequestOptions,
7954    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7955    {
7956        gaxi::unimplemented::unimplemented_stub()
7957    }
7958
7959    /// Implements [super::client::RegionCompositeHealthChecks::test_iam_permissions].
7960    fn test_iam_permissions(
7961        &self,
7962        _req: crate::model::region_composite_health_checks::TestIamPermissionsRequest,
7963        _options: crate::RequestOptions,
7964    ) -> impl std::future::Future<
7965        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7966    > + Send {
7967        gaxi::unimplemented::unimplemented_stub()
7968    }
7969
7970    /// Implements [super::client::RegionCompositeHealthChecks::get_operation].
7971    fn get_operation(
7972        &self,
7973        _req: crate::model::region_operations::GetRequest,
7974        _options: crate::RequestOptions,
7975    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7976    {
7977        gaxi::unimplemented::unimplemented_stub()
7978    }
7979
7980    /// Returns the polling error policy.
7981    ///
7982    /// When mocking, this method is typically irrelevant. Do not try to verify
7983    /// it is called by your mocks.
7984    fn get_polling_error_policy(
7985        &self,
7986        _options: &crate::RequestOptions,
7987    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7988        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7989    }
7990
7991    /// Returns the polling backoff policy.
7992    ///
7993    /// When mocking, this method is typically irrelevant. Do not try to verify
7994    /// it is called by your mocks.
7995    fn get_polling_backoff_policy(
7996        &self,
7997        _options: &crate::RequestOptions,
7998    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7999        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8000    }
8001}
8002
8003/// Defines the trait used to implement [super::client::RegionDiskTypes].
8004///
8005/// Application developers may need to implement this trait to mock
8006/// `client::RegionDiskTypes`.  In other use-cases, application developers only
8007/// use `client::RegionDiskTypes` and need not be concerned with this trait or
8008/// its implementations.
8009///
8010/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8011/// too. To avoid breaking applications the trait provides a default
8012/// implementation of each method. Most of these implementations just return an
8013/// error.
8014#[cfg(feature = "region-disk-types")]
8015#[cfg_attr(docsrs, doc(cfg(feature = "region-disk-types")))]
8016pub trait RegionDiskTypes: std::fmt::Debug + Send + Sync {
8017    /// Implements [super::client::RegionDiskTypes::get].
8018    fn get(
8019        &self,
8020        _req: crate::model::region_disk_types::GetRequest,
8021        _options: crate::RequestOptions,
8022    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskType>>> + Send
8023    {
8024        gaxi::unimplemented::unimplemented_stub()
8025    }
8026
8027    /// Implements [super::client::RegionDiskTypes::list].
8028    fn list(
8029        &self,
8030        _req: crate::model::region_disk_types::ListRequest,
8031        _options: crate::RequestOptions,
8032    ) -> impl std::future::Future<
8033        Output = crate::Result<crate::Response<crate::model::RegionDiskTypeList>>,
8034    > + Send {
8035        gaxi::unimplemented::unimplemented_stub()
8036    }
8037}
8038
8039/// Defines the trait used to implement [super::client::RegionDisks].
8040///
8041/// Application developers may need to implement this trait to mock
8042/// `client::RegionDisks`.  In other use-cases, application developers only
8043/// use `client::RegionDisks` and need not be concerned with this trait or
8044/// its implementations.
8045///
8046/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8047/// too. To avoid breaking applications the trait provides a default
8048/// implementation of each method. Most of these implementations just return an
8049/// error.
8050#[cfg(feature = "region-disks")]
8051#[cfg_attr(docsrs, doc(cfg(feature = "region-disks")))]
8052pub trait RegionDisks: std::fmt::Debug + Send + Sync {
8053    /// Implements [super::client::RegionDisks::add_resource_policies].
8054    fn add_resource_policies(
8055        &self,
8056        _req: crate::model::region_disks::AddResourcePoliciesRequest,
8057        _options: crate::RequestOptions,
8058    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8059    {
8060        gaxi::unimplemented::unimplemented_stub()
8061    }
8062
8063    /// Implements [super::client::RegionDisks::bulk_insert].
8064    fn bulk_insert(
8065        &self,
8066        _req: crate::model::region_disks::BulkInsertRequest,
8067        _options: crate::RequestOptions,
8068    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8069    {
8070        gaxi::unimplemented::unimplemented_stub()
8071    }
8072
8073    /// Implements [super::client::RegionDisks::create_snapshot].
8074    fn create_snapshot(
8075        &self,
8076        _req: crate::model::region_disks::CreateSnapshotRequest,
8077        _options: crate::RequestOptions,
8078    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8079    {
8080        gaxi::unimplemented::unimplemented_stub()
8081    }
8082
8083    /// Implements [super::client::RegionDisks::delete].
8084    fn delete(
8085        &self,
8086        _req: crate::model::region_disks::DeleteRequest,
8087        _options: crate::RequestOptions,
8088    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8089    {
8090        gaxi::unimplemented::unimplemented_stub()
8091    }
8092
8093    /// Implements [super::client::RegionDisks::get].
8094    fn get(
8095        &self,
8096        _req: crate::model::region_disks::GetRequest,
8097        _options: crate::RequestOptions,
8098    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Disk>>> + Send
8099    {
8100        gaxi::unimplemented::unimplemented_stub()
8101    }
8102
8103    /// Implements [super::client::RegionDisks::get_iam_policy].
8104    fn get_iam_policy(
8105        &self,
8106        _req: crate::model::region_disks::GetIamPolicyRequest,
8107        _options: crate::RequestOptions,
8108    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8109    {
8110        gaxi::unimplemented::unimplemented_stub()
8111    }
8112
8113    /// Implements [super::client::RegionDisks::insert].
8114    fn insert(
8115        &self,
8116        _req: crate::model::region_disks::InsertRequest,
8117        _options: crate::RequestOptions,
8118    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8119    {
8120        gaxi::unimplemented::unimplemented_stub()
8121    }
8122
8123    /// Implements [super::client::RegionDisks::list].
8124    fn list(
8125        &self,
8126        _req: crate::model::region_disks::ListRequest,
8127        _options: crate::RequestOptions,
8128    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskList>>> + Send
8129    {
8130        gaxi::unimplemented::unimplemented_stub()
8131    }
8132
8133    /// Implements [super::client::RegionDisks::remove_resource_policies].
8134    fn remove_resource_policies(
8135        &self,
8136        _req: crate::model::region_disks::RemoveResourcePoliciesRequest,
8137        _options: crate::RequestOptions,
8138    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8139    {
8140        gaxi::unimplemented::unimplemented_stub()
8141    }
8142
8143    /// Implements [super::client::RegionDisks::resize].
8144    fn resize(
8145        &self,
8146        _req: crate::model::region_disks::ResizeRequest,
8147        _options: crate::RequestOptions,
8148    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8149    {
8150        gaxi::unimplemented::unimplemented_stub()
8151    }
8152
8153    /// Implements [super::client::RegionDisks::set_iam_policy].
8154    fn set_iam_policy(
8155        &self,
8156        _req: crate::model::region_disks::SetIamPolicyRequest,
8157        _options: crate::RequestOptions,
8158    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8159    {
8160        gaxi::unimplemented::unimplemented_stub()
8161    }
8162
8163    /// Implements [super::client::RegionDisks::set_labels].
8164    fn set_labels(
8165        &self,
8166        _req: crate::model::region_disks::SetLabelsRequest,
8167        _options: crate::RequestOptions,
8168    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8169    {
8170        gaxi::unimplemented::unimplemented_stub()
8171    }
8172
8173    /// Implements [super::client::RegionDisks::start_async_replication].
8174    fn start_async_replication(
8175        &self,
8176        _req: crate::model::region_disks::StartAsyncReplicationRequest,
8177        _options: crate::RequestOptions,
8178    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8179    {
8180        gaxi::unimplemented::unimplemented_stub()
8181    }
8182
8183    /// Implements [super::client::RegionDisks::stop_async_replication].
8184    fn stop_async_replication(
8185        &self,
8186        _req: crate::model::region_disks::StopAsyncReplicationRequest,
8187        _options: crate::RequestOptions,
8188    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8189    {
8190        gaxi::unimplemented::unimplemented_stub()
8191    }
8192
8193    /// Implements [super::client::RegionDisks::stop_group_async_replication].
8194    fn stop_group_async_replication(
8195        &self,
8196        _req: crate::model::region_disks::StopGroupAsyncReplicationRequest,
8197        _options: crate::RequestOptions,
8198    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8199    {
8200        gaxi::unimplemented::unimplemented_stub()
8201    }
8202
8203    /// Implements [super::client::RegionDisks::test_iam_permissions].
8204    fn test_iam_permissions(
8205        &self,
8206        _req: crate::model::region_disks::TestIamPermissionsRequest,
8207        _options: crate::RequestOptions,
8208    ) -> impl std::future::Future<
8209        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8210    > + Send {
8211        gaxi::unimplemented::unimplemented_stub()
8212    }
8213
8214    /// Implements [super::client::RegionDisks::update].
8215    fn update(
8216        &self,
8217        _req: crate::model::region_disks::UpdateRequest,
8218        _options: crate::RequestOptions,
8219    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8220    {
8221        gaxi::unimplemented::unimplemented_stub()
8222    }
8223
8224    /// Implements [super::client::RegionDisks::get_operation].
8225    fn get_operation(
8226        &self,
8227        _req: crate::model::region_operations::GetRequest,
8228        _options: crate::RequestOptions,
8229    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8230    {
8231        gaxi::unimplemented::unimplemented_stub()
8232    }
8233
8234    /// Returns the polling error policy.
8235    ///
8236    /// When mocking, this method is typically irrelevant. Do not try to verify
8237    /// it is called by your mocks.
8238    fn get_polling_error_policy(
8239        &self,
8240        _options: &crate::RequestOptions,
8241    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8242        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8243    }
8244
8245    /// Returns the polling backoff policy.
8246    ///
8247    /// When mocking, this method is typically irrelevant. Do not try to verify
8248    /// it is called by your mocks.
8249    fn get_polling_backoff_policy(
8250        &self,
8251        _options: &crate::RequestOptions,
8252    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8253        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8254    }
8255}
8256
8257/// Defines the trait used to implement [super::client::RegionHealthAggregationPolicies].
8258///
8259/// Application developers may need to implement this trait to mock
8260/// `client::RegionHealthAggregationPolicies`.  In other use-cases, application developers only
8261/// use `client::RegionHealthAggregationPolicies` and need not be concerned with this trait or
8262/// its implementations.
8263///
8264/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8265/// too. To avoid breaking applications the trait provides a default
8266/// implementation of each method. Most of these implementations just return an
8267/// error.
8268#[cfg(feature = "region-health-aggregation-policies")]
8269#[cfg_attr(docsrs, doc(cfg(feature = "region-health-aggregation-policies")))]
8270pub trait RegionHealthAggregationPolicies: std::fmt::Debug + Send + Sync {
8271    /// Implements [super::client::RegionHealthAggregationPolicies::aggregated_list].
8272    fn aggregated_list(
8273        &self,
8274        _req: crate::model::region_health_aggregation_policies::AggregatedListRequest,
8275        _options: crate::RequestOptions,
8276    ) -> impl std::future::Future<
8277        Output = crate::Result<
8278            crate::Response<crate::model::HealthAggregationPolicyAggregatedList>,
8279        >,
8280    > + Send {
8281        gaxi::unimplemented::unimplemented_stub()
8282    }
8283
8284    /// Implements [super::client::RegionHealthAggregationPolicies::delete].
8285    fn delete(
8286        &self,
8287        _req: crate::model::region_health_aggregation_policies::DeleteRequest,
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    /// Implements [super::client::RegionHealthAggregationPolicies::get].
8295    fn get(
8296        &self,
8297        _req: crate::model::region_health_aggregation_policies::GetRequest,
8298        _options: crate::RequestOptions,
8299    ) -> impl std::future::Future<
8300        Output = crate::Result<crate::Response<crate::model::HealthAggregationPolicy>>,
8301    > + Send {
8302        gaxi::unimplemented::unimplemented_stub()
8303    }
8304
8305    /// Implements [super::client::RegionHealthAggregationPolicies::insert].
8306    fn insert(
8307        &self,
8308        _req: crate::model::region_health_aggregation_policies::InsertRequest,
8309        _options: crate::RequestOptions,
8310    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8311    {
8312        gaxi::unimplemented::unimplemented_stub()
8313    }
8314
8315    /// Implements [super::client::RegionHealthAggregationPolicies::list].
8316    fn list(
8317        &self,
8318        _req: crate::model::region_health_aggregation_policies::ListRequest,
8319        _options: crate::RequestOptions,
8320    ) -> impl std::future::Future<
8321        Output = crate::Result<crate::Response<crate::model::HealthAggregationPolicyList>>,
8322    > + Send {
8323        gaxi::unimplemented::unimplemented_stub()
8324    }
8325
8326    /// Implements [super::client::RegionHealthAggregationPolicies::patch].
8327    fn patch(
8328        &self,
8329        _req: crate::model::region_health_aggregation_policies::PatchRequest,
8330        _options: crate::RequestOptions,
8331    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8332    {
8333        gaxi::unimplemented::unimplemented_stub()
8334    }
8335
8336    /// Implements [super::client::RegionHealthAggregationPolicies::test_iam_permissions].
8337    fn test_iam_permissions(
8338        &self,
8339        _req: crate::model::region_health_aggregation_policies::TestIamPermissionsRequest,
8340        _options: crate::RequestOptions,
8341    ) -> impl std::future::Future<
8342        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8343    > + Send {
8344        gaxi::unimplemented::unimplemented_stub()
8345    }
8346
8347    /// Implements [super::client::RegionHealthAggregationPolicies::get_operation].
8348    fn get_operation(
8349        &self,
8350        _req: crate::model::region_operations::GetRequest,
8351        _options: crate::RequestOptions,
8352    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8353    {
8354        gaxi::unimplemented::unimplemented_stub()
8355    }
8356
8357    /// Returns the polling error policy.
8358    ///
8359    /// When mocking, this method is typically irrelevant. Do not try to verify
8360    /// it is called by your mocks.
8361    fn get_polling_error_policy(
8362        &self,
8363        _options: &crate::RequestOptions,
8364    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8365        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8366    }
8367
8368    /// Returns the polling backoff policy.
8369    ///
8370    /// When mocking, this method is typically irrelevant. Do not try to verify
8371    /// it is called by your mocks.
8372    fn get_polling_backoff_policy(
8373        &self,
8374        _options: &crate::RequestOptions,
8375    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8376        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8377    }
8378}
8379
8380/// Defines the trait used to implement [super::client::RegionHealthCheckServices].
8381///
8382/// Application developers may need to implement this trait to mock
8383/// `client::RegionHealthCheckServices`.  In other use-cases, application developers only
8384/// use `client::RegionHealthCheckServices` and need not be concerned with this trait or
8385/// its implementations.
8386///
8387/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8388/// too. To avoid breaking applications the trait provides a default
8389/// implementation of each method. Most of these implementations just return an
8390/// error.
8391#[cfg(feature = "region-health-check-services")]
8392#[cfg_attr(docsrs, doc(cfg(feature = "region-health-check-services")))]
8393pub trait RegionHealthCheckServices: std::fmt::Debug + Send + Sync {
8394    /// Implements [super::client::RegionHealthCheckServices::aggregated_list].
8395    fn aggregated_list(
8396        &self,
8397        _req: crate::model::region_health_check_services::AggregatedListRequest,
8398        _options: crate::RequestOptions,
8399    ) -> impl std::future::Future<
8400        Output = crate::Result<crate::Response<crate::model::HealthCheckServiceAggregatedList>>,
8401    > + Send {
8402        gaxi::unimplemented::unimplemented_stub()
8403    }
8404
8405    /// Implements [super::client::RegionHealthCheckServices::delete].
8406    fn delete(
8407        &self,
8408        _req: crate::model::region_health_check_services::DeleteRequest,
8409        _options: crate::RequestOptions,
8410    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8411    {
8412        gaxi::unimplemented::unimplemented_stub()
8413    }
8414
8415    /// Implements [super::client::RegionHealthCheckServices::get].
8416    fn get(
8417        &self,
8418        _req: crate::model::region_health_check_services::GetRequest,
8419        _options: crate::RequestOptions,
8420    ) -> impl std::future::Future<
8421        Output = crate::Result<crate::Response<crate::model::HealthCheckService>>,
8422    > + Send {
8423        gaxi::unimplemented::unimplemented_stub()
8424    }
8425
8426    /// Implements [super::client::RegionHealthCheckServices::insert].
8427    fn insert(
8428        &self,
8429        _req: crate::model::region_health_check_services::InsertRequest,
8430        _options: crate::RequestOptions,
8431    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8432    {
8433        gaxi::unimplemented::unimplemented_stub()
8434    }
8435
8436    /// Implements [super::client::RegionHealthCheckServices::list].
8437    fn list(
8438        &self,
8439        _req: crate::model::region_health_check_services::ListRequest,
8440        _options: crate::RequestOptions,
8441    ) -> impl std::future::Future<
8442        Output = crate::Result<crate::Response<crate::model::HealthCheckServicesList>>,
8443    > + Send {
8444        gaxi::unimplemented::unimplemented_stub()
8445    }
8446
8447    /// Implements [super::client::RegionHealthCheckServices::patch].
8448    fn patch(
8449        &self,
8450        _req: crate::model::region_health_check_services::PatchRequest,
8451        _options: crate::RequestOptions,
8452    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8453    {
8454        gaxi::unimplemented::unimplemented_stub()
8455    }
8456
8457    /// Implements [super::client::RegionHealthCheckServices::test_iam_permissions].
8458    fn test_iam_permissions(
8459        &self,
8460        _req: crate::model::region_health_check_services::TestIamPermissionsRequest,
8461        _options: crate::RequestOptions,
8462    ) -> impl std::future::Future<
8463        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8464    > + Send {
8465        gaxi::unimplemented::unimplemented_stub()
8466    }
8467
8468    /// Implements [super::client::RegionHealthCheckServices::get_operation].
8469    fn get_operation(
8470        &self,
8471        _req: crate::model::region_operations::GetRequest,
8472        _options: crate::RequestOptions,
8473    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8474    {
8475        gaxi::unimplemented::unimplemented_stub()
8476    }
8477
8478    /// Returns the polling error policy.
8479    ///
8480    /// When mocking, this method is typically irrelevant. Do not try to verify
8481    /// it is called by your mocks.
8482    fn get_polling_error_policy(
8483        &self,
8484        _options: &crate::RequestOptions,
8485    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8486        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8487    }
8488
8489    /// Returns the polling backoff policy.
8490    ///
8491    /// When mocking, this method is typically irrelevant. Do not try to verify
8492    /// it is called by your mocks.
8493    fn get_polling_backoff_policy(
8494        &self,
8495        _options: &crate::RequestOptions,
8496    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8497        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8498    }
8499}
8500
8501/// Defines the trait used to implement [super::client::RegionHealthChecks].
8502///
8503/// Application developers may need to implement this trait to mock
8504/// `client::RegionHealthChecks`.  In other use-cases, application developers only
8505/// use `client::RegionHealthChecks` and need not be concerned with this trait or
8506/// its implementations.
8507///
8508/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8509/// too. To avoid breaking applications the trait provides a default
8510/// implementation of each method. Most of these implementations just return an
8511/// error.
8512#[cfg(feature = "region-health-checks")]
8513#[cfg_attr(docsrs, doc(cfg(feature = "region-health-checks")))]
8514pub trait RegionHealthChecks: std::fmt::Debug + Send + Sync {
8515    /// Implements [super::client::RegionHealthChecks::delete].
8516    fn delete(
8517        &self,
8518        _req: crate::model::region_health_checks::DeleteRequest,
8519        _options: crate::RequestOptions,
8520    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8521    {
8522        gaxi::unimplemented::unimplemented_stub()
8523    }
8524
8525    /// Implements [super::client::RegionHealthChecks::get].
8526    fn get(
8527        &self,
8528        _req: crate::model::region_health_checks::GetRequest,
8529        _options: crate::RequestOptions,
8530    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::HealthCheck>>>
8531    + Send {
8532        gaxi::unimplemented::unimplemented_stub()
8533    }
8534
8535    /// Implements [super::client::RegionHealthChecks::insert].
8536    fn insert(
8537        &self,
8538        _req: crate::model::region_health_checks::InsertRequest,
8539        _options: crate::RequestOptions,
8540    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8541    {
8542        gaxi::unimplemented::unimplemented_stub()
8543    }
8544
8545    /// Implements [super::client::RegionHealthChecks::list].
8546    fn list(
8547        &self,
8548        _req: crate::model::region_health_checks::ListRequest,
8549        _options: crate::RequestOptions,
8550    ) -> impl std::future::Future<
8551        Output = crate::Result<crate::Response<crate::model::HealthCheckList>>,
8552    > + Send {
8553        gaxi::unimplemented::unimplemented_stub()
8554    }
8555
8556    /// Implements [super::client::RegionHealthChecks::patch].
8557    fn patch(
8558        &self,
8559        _req: crate::model::region_health_checks::PatchRequest,
8560        _options: crate::RequestOptions,
8561    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8562    {
8563        gaxi::unimplemented::unimplemented_stub()
8564    }
8565
8566    /// Implements [super::client::RegionHealthChecks::test_iam_permissions].
8567    fn test_iam_permissions(
8568        &self,
8569        _req: crate::model::region_health_checks::TestIamPermissionsRequest,
8570        _options: crate::RequestOptions,
8571    ) -> impl std::future::Future<
8572        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8573    > + Send {
8574        gaxi::unimplemented::unimplemented_stub()
8575    }
8576
8577    /// Implements [super::client::RegionHealthChecks::update].
8578    fn update(
8579        &self,
8580        _req: crate::model::region_health_checks::UpdateRequest,
8581        _options: crate::RequestOptions,
8582    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8583    {
8584        gaxi::unimplemented::unimplemented_stub()
8585    }
8586
8587    /// Implements [super::client::RegionHealthChecks::get_operation].
8588    fn get_operation(
8589        &self,
8590        _req: crate::model::region_operations::GetRequest,
8591        _options: crate::RequestOptions,
8592    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8593    {
8594        gaxi::unimplemented::unimplemented_stub()
8595    }
8596
8597    /// Returns the polling error policy.
8598    ///
8599    /// When mocking, this method is typically irrelevant. Do not try to verify
8600    /// it is called by your mocks.
8601    fn get_polling_error_policy(
8602        &self,
8603        _options: &crate::RequestOptions,
8604    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8605        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8606    }
8607
8608    /// Returns the polling backoff policy.
8609    ///
8610    /// When mocking, this method is typically irrelevant. Do not try to verify
8611    /// it is called by your mocks.
8612    fn get_polling_backoff_policy(
8613        &self,
8614        _options: &crate::RequestOptions,
8615    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8616        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8617    }
8618}
8619
8620/// Defines the trait used to implement [super::client::RegionHealthSources].
8621///
8622/// Application developers may need to implement this trait to mock
8623/// `client::RegionHealthSources`.  In other use-cases, application developers only
8624/// use `client::RegionHealthSources` and need not be concerned with this trait or
8625/// its implementations.
8626///
8627/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8628/// too. To avoid breaking applications the trait provides a default
8629/// implementation of each method. Most of these implementations just return an
8630/// error.
8631#[cfg(feature = "region-health-sources")]
8632#[cfg_attr(docsrs, doc(cfg(feature = "region-health-sources")))]
8633pub trait RegionHealthSources: std::fmt::Debug + Send + Sync {
8634    /// Implements [super::client::RegionHealthSources::aggregated_list].
8635    fn aggregated_list(
8636        &self,
8637        _req: crate::model::region_health_sources::AggregatedListRequest,
8638        _options: crate::RequestOptions,
8639    ) -> impl std::future::Future<
8640        Output = crate::Result<crate::Response<crate::model::HealthSourceAggregatedList>>,
8641    > + Send {
8642        gaxi::unimplemented::unimplemented_stub()
8643    }
8644
8645    /// Implements [super::client::RegionHealthSources::delete].
8646    fn delete(
8647        &self,
8648        _req: crate::model::region_health_sources::DeleteRequest,
8649        _options: crate::RequestOptions,
8650    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8651    {
8652        gaxi::unimplemented::unimplemented_stub()
8653    }
8654
8655    /// Implements [super::client::RegionHealthSources::get].
8656    fn get(
8657        &self,
8658        _req: crate::model::region_health_sources::GetRequest,
8659        _options: crate::RequestOptions,
8660    ) -> impl std::future::Future<
8661        Output = crate::Result<crate::Response<crate::model::HealthSource>>,
8662    > + Send {
8663        gaxi::unimplemented::unimplemented_stub()
8664    }
8665
8666    /// Implements [super::client::RegionHealthSources::insert].
8667    fn insert(
8668        &self,
8669        _req: crate::model::region_health_sources::InsertRequest,
8670        _options: crate::RequestOptions,
8671    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8672    {
8673        gaxi::unimplemented::unimplemented_stub()
8674    }
8675
8676    /// Implements [super::client::RegionHealthSources::list].
8677    fn list(
8678        &self,
8679        _req: crate::model::region_health_sources::ListRequest,
8680        _options: crate::RequestOptions,
8681    ) -> impl std::future::Future<
8682        Output = crate::Result<crate::Response<crate::model::HealthSourceList>>,
8683    > + Send {
8684        gaxi::unimplemented::unimplemented_stub()
8685    }
8686
8687    /// Implements [super::client::RegionHealthSources::patch].
8688    fn patch(
8689        &self,
8690        _req: crate::model::region_health_sources::PatchRequest,
8691        _options: crate::RequestOptions,
8692    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8693    {
8694        gaxi::unimplemented::unimplemented_stub()
8695    }
8696
8697    /// Implements [super::client::RegionHealthSources::test_iam_permissions].
8698    fn test_iam_permissions(
8699        &self,
8700        _req: crate::model::region_health_sources::TestIamPermissionsRequest,
8701        _options: crate::RequestOptions,
8702    ) -> impl std::future::Future<
8703        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8704    > + Send {
8705        gaxi::unimplemented::unimplemented_stub()
8706    }
8707
8708    /// Implements [super::client::RegionHealthSources::get_operation].
8709    fn get_operation(
8710        &self,
8711        _req: crate::model::region_operations::GetRequest,
8712        _options: crate::RequestOptions,
8713    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8714    {
8715        gaxi::unimplemented::unimplemented_stub()
8716    }
8717
8718    /// Returns the polling error policy.
8719    ///
8720    /// When mocking, this method is typically irrelevant. Do not try to verify
8721    /// it is called by your mocks.
8722    fn get_polling_error_policy(
8723        &self,
8724        _options: &crate::RequestOptions,
8725    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8726        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8727    }
8728
8729    /// Returns the polling backoff policy.
8730    ///
8731    /// When mocking, this method is typically irrelevant. Do not try to verify
8732    /// it is called by your mocks.
8733    fn get_polling_backoff_policy(
8734        &self,
8735        _options: &crate::RequestOptions,
8736    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8737        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8738    }
8739}
8740
8741/// Defines the trait used to implement [super::client::RegionInstanceGroupManagers].
8742///
8743/// Application developers may need to implement this trait to mock
8744/// `client::RegionInstanceGroupManagers`.  In other use-cases, application developers only
8745/// use `client::RegionInstanceGroupManagers` and need not be concerned with this trait or
8746/// its implementations.
8747///
8748/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8749/// too. To avoid breaking applications the trait provides a default
8750/// implementation of each method. Most of these implementations just return an
8751/// error.
8752#[cfg(feature = "region-instance-group-managers")]
8753#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-group-managers")))]
8754pub trait RegionInstanceGroupManagers: std::fmt::Debug + Send + Sync {
8755    /// Implements [super::client::RegionInstanceGroupManagers::abandon_instances].
8756    fn abandon_instances(
8757        &self,
8758        _req: crate::model::region_instance_group_managers::AbandonInstancesRequest,
8759        _options: crate::RequestOptions,
8760    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8761    {
8762        gaxi::unimplemented::unimplemented_stub()
8763    }
8764
8765    /// Implements [super::client::RegionInstanceGroupManagers::apply_updates_to_instances].
8766    fn apply_updates_to_instances(
8767        &self,
8768        _req: crate::model::region_instance_group_managers::ApplyUpdatesToInstancesRequest,
8769        _options: crate::RequestOptions,
8770    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8771    {
8772        gaxi::unimplemented::unimplemented_stub()
8773    }
8774
8775    /// Implements [super::client::RegionInstanceGroupManagers::create_instances].
8776    fn create_instances(
8777        &self,
8778        _req: crate::model::region_instance_group_managers::CreateInstancesRequest,
8779        _options: crate::RequestOptions,
8780    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8781    {
8782        gaxi::unimplemented::unimplemented_stub()
8783    }
8784
8785    /// Implements [super::client::RegionInstanceGroupManagers::delete].
8786    fn delete(
8787        &self,
8788        _req: crate::model::region_instance_group_managers::DeleteRequest,
8789        _options: crate::RequestOptions,
8790    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8791    {
8792        gaxi::unimplemented::unimplemented_stub()
8793    }
8794
8795    /// Implements [super::client::RegionInstanceGroupManagers::delete_instances].
8796    fn delete_instances(
8797        &self,
8798        _req: crate::model::region_instance_group_managers::DeleteInstancesRequest,
8799        _options: crate::RequestOptions,
8800    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8801    {
8802        gaxi::unimplemented::unimplemented_stub()
8803    }
8804
8805    /// Implements [super::client::RegionInstanceGroupManagers::delete_per_instance_configs].
8806    fn delete_per_instance_configs(
8807        &self,
8808        _req: crate::model::region_instance_group_managers::DeletePerInstanceConfigsRequest,
8809        _options: crate::RequestOptions,
8810    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8811    {
8812        gaxi::unimplemented::unimplemented_stub()
8813    }
8814
8815    /// Implements [super::client::RegionInstanceGroupManagers::get].
8816    fn get(
8817        &self,
8818        _req: crate::model::region_instance_group_managers::GetRequest,
8819        _options: crate::RequestOptions,
8820    ) -> impl std::future::Future<
8821        Output = crate::Result<crate::Response<crate::model::InstanceGroupManager>>,
8822    > + Send {
8823        gaxi::unimplemented::unimplemented_stub()
8824    }
8825
8826    /// Implements [super::client::RegionInstanceGroupManagers::insert].
8827    fn insert(
8828        &self,
8829        _req: crate::model::region_instance_group_managers::InsertRequest,
8830        _options: crate::RequestOptions,
8831    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8832    {
8833        gaxi::unimplemented::unimplemented_stub()
8834    }
8835
8836    /// Implements [super::client::RegionInstanceGroupManagers::list].
8837    fn list(
8838        &self,
8839        _req: crate::model::region_instance_group_managers::ListRequest,
8840        _options: crate::RequestOptions,
8841    ) -> impl std::future::Future<
8842        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupManagerList>>,
8843    > + Send {
8844        gaxi::unimplemented::unimplemented_stub()
8845    }
8846
8847    /// Implements [super::client::RegionInstanceGroupManagers::list_errors].
8848    fn list_errors(
8849        &self,
8850        _req: crate::model::region_instance_group_managers::ListErrorsRequest,
8851        _options: crate::RequestOptions,
8852    ) -> impl std::future::Future<
8853        Output = crate::Result<
8854            crate::Response<crate::model::RegionInstanceGroupManagersListErrorsResponse>,
8855        >,
8856    > + Send {
8857        gaxi::unimplemented::unimplemented_stub()
8858    }
8859
8860    /// Implements [super::client::RegionInstanceGroupManagers::list_managed_instances].
8861    fn list_managed_instances(
8862        &self,
8863        _req: crate::model::region_instance_group_managers::ListManagedInstancesRequest,
8864        _options: crate::RequestOptions,
8865    ) -> impl std::future::Future<
8866        Output = crate::Result<
8867            crate::Response<crate::model::RegionInstanceGroupManagersListInstancesResponse>,
8868        >,
8869    > + Send {
8870        gaxi::unimplemented::unimplemented_stub()
8871    }
8872
8873    /// Implements [super::client::RegionInstanceGroupManagers::list_per_instance_configs].
8874    fn list_per_instance_configs(
8875        &self,
8876        _req: crate::model::region_instance_group_managers::ListPerInstanceConfigsRequest,
8877        _options: crate::RequestOptions,
8878    ) -> impl std::future::Future<
8879        Output = crate::Result<
8880            crate::Response<crate::model::RegionInstanceGroupManagersListInstanceConfigsResp>,
8881        >,
8882    > + Send {
8883        gaxi::unimplemented::unimplemented_stub()
8884    }
8885
8886    /// Implements [super::client::RegionInstanceGroupManagers::patch].
8887    fn patch(
8888        &self,
8889        _req: crate::model::region_instance_group_managers::PatchRequest,
8890        _options: crate::RequestOptions,
8891    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8892    {
8893        gaxi::unimplemented::unimplemented_stub()
8894    }
8895
8896    /// Implements [super::client::RegionInstanceGroupManagers::patch_per_instance_configs].
8897    fn patch_per_instance_configs(
8898        &self,
8899        _req: crate::model::region_instance_group_managers::PatchPerInstanceConfigsRequest,
8900        _options: crate::RequestOptions,
8901    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8902    {
8903        gaxi::unimplemented::unimplemented_stub()
8904    }
8905
8906    /// Implements [super::client::RegionInstanceGroupManagers::recreate_instances].
8907    fn recreate_instances(
8908        &self,
8909        _req: crate::model::region_instance_group_managers::RecreateInstancesRequest,
8910        _options: crate::RequestOptions,
8911    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8912    {
8913        gaxi::unimplemented::unimplemented_stub()
8914    }
8915
8916    /// Implements [super::client::RegionInstanceGroupManagers::resize].
8917    fn resize(
8918        &self,
8919        _req: crate::model::region_instance_group_managers::ResizeRequest,
8920        _options: crate::RequestOptions,
8921    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8922    {
8923        gaxi::unimplemented::unimplemented_stub()
8924    }
8925
8926    /// Implements [super::client::RegionInstanceGroupManagers::resume_instances].
8927    fn resume_instances(
8928        &self,
8929        _req: crate::model::region_instance_group_managers::ResumeInstancesRequest,
8930        _options: crate::RequestOptions,
8931    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8932    {
8933        gaxi::unimplemented::unimplemented_stub()
8934    }
8935
8936    /// Implements [super::client::RegionInstanceGroupManagers::set_instance_template].
8937    fn set_instance_template(
8938        &self,
8939        _req: crate::model::region_instance_group_managers::SetInstanceTemplateRequest,
8940        _options: crate::RequestOptions,
8941    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8942    {
8943        gaxi::unimplemented::unimplemented_stub()
8944    }
8945
8946    /// Implements [super::client::RegionInstanceGroupManagers::set_target_pools].
8947    fn set_target_pools(
8948        &self,
8949        _req: crate::model::region_instance_group_managers::SetTargetPoolsRequest,
8950        _options: crate::RequestOptions,
8951    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8952    {
8953        gaxi::unimplemented::unimplemented_stub()
8954    }
8955
8956    /// Implements [super::client::RegionInstanceGroupManagers::start_instances].
8957    fn start_instances(
8958        &self,
8959        _req: crate::model::region_instance_group_managers::StartInstancesRequest,
8960        _options: crate::RequestOptions,
8961    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8962    {
8963        gaxi::unimplemented::unimplemented_stub()
8964    }
8965
8966    /// Implements [super::client::RegionInstanceGroupManagers::stop_instances].
8967    fn stop_instances(
8968        &self,
8969        _req: crate::model::region_instance_group_managers::StopInstancesRequest,
8970        _options: crate::RequestOptions,
8971    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8972    {
8973        gaxi::unimplemented::unimplemented_stub()
8974    }
8975
8976    /// Implements [super::client::RegionInstanceGroupManagers::suspend_instances].
8977    fn suspend_instances(
8978        &self,
8979        _req: crate::model::region_instance_group_managers::SuspendInstancesRequest,
8980        _options: crate::RequestOptions,
8981    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8982    {
8983        gaxi::unimplemented::unimplemented_stub()
8984    }
8985
8986    /// Implements [super::client::RegionInstanceGroupManagers::update_per_instance_configs].
8987    fn update_per_instance_configs(
8988        &self,
8989        _req: crate::model::region_instance_group_managers::UpdatePerInstanceConfigsRequest,
8990        _options: crate::RequestOptions,
8991    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8992    {
8993        gaxi::unimplemented::unimplemented_stub()
8994    }
8995
8996    /// Implements [super::client::RegionInstanceGroupManagers::get_operation].
8997    fn get_operation(
8998        &self,
8999        _req: crate::model::region_operations::GetRequest,
9000        _options: crate::RequestOptions,
9001    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9002    {
9003        gaxi::unimplemented::unimplemented_stub()
9004    }
9005
9006    /// Returns the polling error policy.
9007    ///
9008    /// When mocking, this method is typically irrelevant. Do not try to verify
9009    /// it is called by your mocks.
9010    fn get_polling_error_policy(
9011        &self,
9012        _options: &crate::RequestOptions,
9013    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9014        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9015    }
9016
9017    /// Returns the polling backoff policy.
9018    ///
9019    /// When mocking, this method is typically irrelevant. Do not try to verify
9020    /// it is called by your mocks.
9021    fn get_polling_backoff_policy(
9022        &self,
9023        _options: &crate::RequestOptions,
9024    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9025        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9026    }
9027}
9028
9029/// Defines the trait used to implement [super::client::RegionInstanceGroups].
9030///
9031/// Application developers may need to implement this trait to mock
9032/// `client::RegionInstanceGroups`.  In other use-cases, application developers only
9033/// use `client::RegionInstanceGroups` and need not be concerned with this trait or
9034/// its implementations.
9035///
9036/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9037/// too. To avoid breaking applications the trait provides a default
9038/// implementation of each method. Most of these implementations just return an
9039/// error.
9040#[cfg(feature = "region-instance-groups")]
9041#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-groups")))]
9042pub trait RegionInstanceGroups: std::fmt::Debug + Send + Sync {
9043    /// Implements [super::client::RegionInstanceGroups::get].
9044    fn get(
9045        &self,
9046        _req: crate::model::region_instance_groups::GetRequest,
9047        _options: crate::RequestOptions,
9048    ) -> impl std::future::Future<
9049        Output = crate::Result<crate::Response<crate::model::InstanceGroup>>,
9050    > + Send {
9051        gaxi::unimplemented::unimplemented_stub()
9052    }
9053
9054    /// Implements [super::client::RegionInstanceGroups::list].
9055    fn list(
9056        &self,
9057        _req: crate::model::region_instance_groups::ListRequest,
9058        _options: crate::RequestOptions,
9059    ) -> impl std::future::Future<
9060        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupList>>,
9061    > + Send {
9062        gaxi::unimplemented::unimplemented_stub()
9063    }
9064
9065    /// Implements [super::client::RegionInstanceGroups::list_instances].
9066    fn list_instances(
9067        &self,
9068        _req: crate::model::region_instance_groups::ListInstancesRequest,
9069        _options: crate::RequestOptions,
9070    ) -> impl std::future::Future<
9071        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupsListInstances>>,
9072    > + Send {
9073        gaxi::unimplemented::unimplemented_stub()
9074    }
9075
9076    /// Implements [super::client::RegionInstanceGroups::set_named_ports].
9077    fn set_named_ports(
9078        &self,
9079        _req: crate::model::region_instance_groups::SetNamedPortsRequest,
9080        _options: crate::RequestOptions,
9081    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9082    {
9083        gaxi::unimplemented::unimplemented_stub()
9084    }
9085
9086    /// Implements [super::client::RegionInstanceGroups::test_iam_permissions].
9087    fn test_iam_permissions(
9088        &self,
9089        _req: crate::model::region_instance_groups::TestIamPermissionsRequest,
9090        _options: crate::RequestOptions,
9091    ) -> impl std::future::Future<
9092        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9093    > + Send {
9094        gaxi::unimplemented::unimplemented_stub()
9095    }
9096
9097    /// Implements [super::client::RegionInstanceGroups::get_operation].
9098    fn get_operation(
9099        &self,
9100        _req: crate::model::region_operations::GetRequest,
9101        _options: crate::RequestOptions,
9102    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9103    {
9104        gaxi::unimplemented::unimplemented_stub()
9105    }
9106
9107    /// Returns the polling error policy.
9108    ///
9109    /// When mocking, this method is typically irrelevant. Do not try to verify
9110    /// it is called by your mocks.
9111    fn get_polling_error_policy(
9112        &self,
9113        _options: &crate::RequestOptions,
9114    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9115        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9116    }
9117
9118    /// Returns the polling backoff policy.
9119    ///
9120    /// When mocking, this method is typically irrelevant. Do not try to verify
9121    /// it is called by your mocks.
9122    fn get_polling_backoff_policy(
9123        &self,
9124        _options: &crate::RequestOptions,
9125    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9126        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9127    }
9128}
9129
9130/// Defines the trait used to implement [super::client::RegionInstanceTemplates].
9131///
9132/// Application developers may need to implement this trait to mock
9133/// `client::RegionInstanceTemplates`.  In other use-cases, application developers only
9134/// use `client::RegionInstanceTemplates` and need not be concerned with this trait or
9135/// its implementations.
9136///
9137/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9138/// too. To avoid breaking applications the trait provides a default
9139/// implementation of each method. Most of these implementations just return an
9140/// error.
9141#[cfg(feature = "region-instance-templates")]
9142#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-templates")))]
9143pub trait RegionInstanceTemplates: std::fmt::Debug + Send + Sync {
9144    /// Implements [super::client::RegionInstanceTemplates::delete].
9145    fn delete(
9146        &self,
9147        _req: crate::model::region_instance_templates::DeleteRequest,
9148        _options: crate::RequestOptions,
9149    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9150    {
9151        gaxi::unimplemented::unimplemented_stub()
9152    }
9153
9154    /// Implements [super::client::RegionInstanceTemplates::get].
9155    fn get(
9156        &self,
9157        _req: crate::model::region_instance_templates::GetRequest,
9158        _options: crate::RequestOptions,
9159    ) -> impl std::future::Future<
9160        Output = crate::Result<crate::Response<crate::model::InstanceTemplate>>,
9161    > + Send {
9162        gaxi::unimplemented::unimplemented_stub()
9163    }
9164
9165    /// Implements [super::client::RegionInstanceTemplates::insert].
9166    fn insert(
9167        &self,
9168        _req: crate::model::region_instance_templates::InsertRequest,
9169        _options: crate::RequestOptions,
9170    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9171    {
9172        gaxi::unimplemented::unimplemented_stub()
9173    }
9174
9175    /// Implements [super::client::RegionInstanceTemplates::list].
9176    fn list(
9177        &self,
9178        _req: crate::model::region_instance_templates::ListRequest,
9179        _options: crate::RequestOptions,
9180    ) -> impl std::future::Future<
9181        Output = crate::Result<crate::Response<crate::model::InstanceTemplateList>>,
9182    > + Send {
9183        gaxi::unimplemented::unimplemented_stub()
9184    }
9185
9186    /// Implements [super::client::RegionInstanceTemplates::get_operation].
9187    fn get_operation(
9188        &self,
9189        _req: crate::model::region_operations::GetRequest,
9190        _options: crate::RequestOptions,
9191    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9192    {
9193        gaxi::unimplemented::unimplemented_stub()
9194    }
9195
9196    /// Returns the polling error 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_error_policy(
9201        &self,
9202        _options: &crate::RequestOptions,
9203    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9204        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9205    }
9206
9207    /// Returns the polling backoff policy.
9208    ///
9209    /// When mocking, this method is typically irrelevant. Do not try to verify
9210    /// it is called by your mocks.
9211    fn get_polling_backoff_policy(
9212        &self,
9213        _options: &crate::RequestOptions,
9214    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9215        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9216    }
9217}
9218
9219/// Defines the trait used to implement [super::client::RegionInstances].
9220///
9221/// Application developers may need to implement this trait to mock
9222/// `client::RegionInstances`.  In other use-cases, application developers only
9223/// use `client::RegionInstances` and need not be concerned with this trait or
9224/// its implementations.
9225///
9226/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9227/// too. To avoid breaking applications the trait provides a default
9228/// implementation of each method. Most of these implementations just return an
9229/// error.
9230#[cfg(feature = "region-instances")]
9231#[cfg_attr(docsrs, doc(cfg(feature = "region-instances")))]
9232pub trait RegionInstances: std::fmt::Debug + Send + Sync {
9233    /// Implements [super::client::RegionInstances::bulk_insert].
9234    fn bulk_insert(
9235        &self,
9236        _req: crate::model::region_instances::BulkInsertRequest,
9237        _options: crate::RequestOptions,
9238    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9239    {
9240        gaxi::unimplemented::unimplemented_stub()
9241    }
9242
9243    /// Implements [super::client::RegionInstances::get_operation].
9244    fn get_operation(
9245        &self,
9246        _req: crate::model::region_operations::GetRequest,
9247        _options: crate::RequestOptions,
9248    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9249    {
9250        gaxi::unimplemented::unimplemented_stub()
9251    }
9252
9253    /// Returns the polling error policy.
9254    ///
9255    /// When mocking, this method is typically irrelevant. Do not try to verify
9256    /// it is called by your mocks.
9257    fn get_polling_error_policy(
9258        &self,
9259        _options: &crate::RequestOptions,
9260    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9261        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9262    }
9263
9264    /// Returns the polling backoff policy.
9265    ///
9266    /// When mocking, this method is typically irrelevant. Do not try to verify
9267    /// it is called by your mocks.
9268    fn get_polling_backoff_policy(
9269        &self,
9270        _options: &crate::RequestOptions,
9271    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9272        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9273    }
9274}
9275
9276/// Defines the trait used to implement [super::client::RegionInstantSnapshots].
9277///
9278/// Application developers may need to implement this trait to mock
9279/// `client::RegionInstantSnapshots`.  In other use-cases, application developers only
9280/// use `client::RegionInstantSnapshots` and need not be concerned with this trait or
9281/// its implementations.
9282///
9283/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9284/// too. To avoid breaking applications the trait provides a default
9285/// implementation of each method. Most of these implementations just return an
9286/// error.
9287#[cfg(feature = "region-instant-snapshots")]
9288#[cfg_attr(docsrs, doc(cfg(feature = "region-instant-snapshots")))]
9289pub trait RegionInstantSnapshots: std::fmt::Debug + Send + Sync {
9290    /// Implements [super::client::RegionInstantSnapshots::delete].
9291    fn delete(
9292        &self,
9293        _req: crate::model::region_instant_snapshots::DeleteRequest,
9294        _options: crate::RequestOptions,
9295    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9296    {
9297        gaxi::unimplemented::unimplemented_stub()
9298    }
9299
9300    /// Implements [super::client::RegionInstantSnapshots::get].
9301    fn get(
9302        &self,
9303        _req: crate::model::region_instant_snapshots::GetRequest,
9304        _options: crate::RequestOptions,
9305    ) -> impl std::future::Future<
9306        Output = crate::Result<crate::Response<crate::model::InstantSnapshot>>,
9307    > + Send {
9308        gaxi::unimplemented::unimplemented_stub()
9309    }
9310
9311    /// Implements [super::client::RegionInstantSnapshots::get_iam_policy].
9312    fn get_iam_policy(
9313        &self,
9314        _req: crate::model::region_instant_snapshots::GetIamPolicyRequest,
9315        _options: crate::RequestOptions,
9316    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9317    {
9318        gaxi::unimplemented::unimplemented_stub()
9319    }
9320
9321    /// Implements [super::client::RegionInstantSnapshots::insert].
9322    fn insert(
9323        &self,
9324        _req: crate::model::region_instant_snapshots::InsertRequest,
9325        _options: crate::RequestOptions,
9326    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9327    {
9328        gaxi::unimplemented::unimplemented_stub()
9329    }
9330
9331    /// Implements [super::client::RegionInstantSnapshots::list].
9332    fn list(
9333        &self,
9334        _req: crate::model::region_instant_snapshots::ListRequest,
9335        _options: crate::RequestOptions,
9336    ) -> impl std::future::Future<
9337        Output = crate::Result<crate::Response<crate::model::InstantSnapshotList>>,
9338    > + Send {
9339        gaxi::unimplemented::unimplemented_stub()
9340    }
9341
9342    /// Implements [super::client::RegionInstantSnapshots::set_iam_policy].
9343    fn set_iam_policy(
9344        &self,
9345        _req: crate::model::region_instant_snapshots::SetIamPolicyRequest,
9346        _options: crate::RequestOptions,
9347    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9348    {
9349        gaxi::unimplemented::unimplemented_stub()
9350    }
9351
9352    /// Implements [super::client::RegionInstantSnapshots::set_labels].
9353    fn set_labels(
9354        &self,
9355        _req: crate::model::region_instant_snapshots::SetLabelsRequest,
9356        _options: crate::RequestOptions,
9357    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9358    {
9359        gaxi::unimplemented::unimplemented_stub()
9360    }
9361
9362    /// Implements [super::client::RegionInstantSnapshots::test_iam_permissions].
9363    fn test_iam_permissions(
9364        &self,
9365        _req: crate::model::region_instant_snapshots::TestIamPermissionsRequest,
9366        _options: crate::RequestOptions,
9367    ) -> impl std::future::Future<
9368        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9369    > + Send {
9370        gaxi::unimplemented::unimplemented_stub()
9371    }
9372
9373    /// Implements [super::client::RegionInstantSnapshots::get_operation].
9374    fn get_operation(
9375        &self,
9376        _req: crate::model::region_operations::GetRequest,
9377        _options: crate::RequestOptions,
9378    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9379    {
9380        gaxi::unimplemented::unimplemented_stub()
9381    }
9382
9383    /// Returns the polling error policy.
9384    ///
9385    /// When mocking, this method is typically irrelevant. Do not try to verify
9386    /// it is called by your mocks.
9387    fn get_polling_error_policy(
9388        &self,
9389        _options: &crate::RequestOptions,
9390    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9391        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9392    }
9393
9394    /// Returns the polling backoff policy.
9395    ///
9396    /// When mocking, this method is typically irrelevant. Do not try to verify
9397    /// it is called by your mocks.
9398    fn get_polling_backoff_policy(
9399        &self,
9400        _options: &crate::RequestOptions,
9401    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9402        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9403    }
9404}
9405
9406/// Defines the trait used to implement [super::client::RegionNetworkEndpointGroups].
9407///
9408/// Application developers may need to implement this trait to mock
9409/// `client::RegionNetworkEndpointGroups`.  In other use-cases, application developers only
9410/// use `client::RegionNetworkEndpointGroups` and need not be concerned with this trait or
9411/// its implementations.
9412///
9413/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9414/// too. To avoid breaking applications the trait provides a default
9415/// implementation of each method. Most of these implementations just return an
9416/// error.
9417#[cfg(feature = "region-network-endpoint-groups")]
9418#[cfg_attr(docsrs, doc(cfg(feature = "region-network-endpoint-groups")))]
9419pub trait RegionNetworkEndpointGroups: std::fmt::Debug + Send + Sync {
9420    /// Implements [super::client::RegionNetworkEndpointGroups::attach_network_endpoints].
9421    fn attach_network_endpoints(
9422        &self,
9423        _req: crate::model::region_network_endpoint_groups::AttachNetworkEndpointsRequest,
9424        _options: crate::RequestOptions,
9425    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9426    {
9427        gaxi::unimplemented::unimplemented_stub()
9428    }
9429
9430    /// Implements [super::client::RegionNetworkEndpointGroups::delete].
9431    fn delete(
9432        &self,
9433        _req: crate::model::region_network_endpoint_groups::DeleteRequest,
9434        _options: crate::RequestOptions,
9435    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9436    {
9437        gaxi::unimplemented::unimplemented_stub()
9438    }
9439
9440    /// Implements [super::client::RegionNetworkEndpointGroups::detach_network_endpoints].
9441    fn detach_network_endpoints(
9442        &self,
9443        _req: crate::model::region_network_endpoint_groups::DetachNetworkEndpointsRequest,
9444        _options: crate::RequestOptions,
9445    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9446    {
9447        gaxi::unimplemented::unimplemented_stub()
9448    }
9449
9450    /// Implements [super::client::RegionNetworkEndpointGroups::get].
9451    fn get(
9452        &self,
9453        _req: crate::model::region_network_endpoint_groups::GetRequest,
9454        _options: crate::RequestOptions,
9455    ) -> impl std::future::Future<
9456        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
9457    > + Send {
9458        gaxi::unimplemented::unimplemented_stub()
9459    }
9460
9461    /// Implements [super::client::RegionNetworkEndpointGroups::insert].
9462    fn insert(
9463        &self,
9464        _req: crate::model::region_network_endpoint_groups::InsertRequest,
9465        _options: crate::RequestOptions,
9466    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9467    {
9468        gaxi::unimplemented::unimplemented_stub()
9469    }
9470
9471    /// Implements [super::client::RegionNetworkEndpointGroups::list].
9472    fn list(
9473        &self,
9474        _req: crate::model::region_network_endpoint_groups::ListRequest,
9475        _options: crate::RequestOptions,
9476    ) -> impl std::future::Future<
9477        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
9478    > + Send {
9479        gaxi::unimplemented::unimplemented_stub()
9480    }
9481
9482    /// Implements [super::client::RegionNetworkEndpointGroups::list_network_endpoints].
9483    fn list_network_endpoints(
9484        &self,
9485        _req: crate::model::region_network_endpoint_groups::ListNetworkEndpointsRequest,
9486        _options: crate::RequestOptions,
9487    ) -> impl std::future::Future<
9488        Output = crate::Result<
9489            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
9490        >,
9491    > + Send {
9492        gaxi::unimplemented::unimplemented_stub()
9493    }
9494
9495    /// Implements [super::client::RegionNetworkEndpointGroups::get_operation].
9496    fn get_operation(
9497        &self,
9498        _req: crate::model::region_operations::GetRequest,
9499        _options: crate::RequestOptions,
9500    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9501    {
9502        gaxi::unimplemented::unimplemented_stub()
9503    }
9504
9505    /// Returns the polling error policy.
9506    ///
9507    /// When mocking, this method is typically irrelevant. Do not try to verify
9508    /// it is called by your mocks.
9509    fn get_polling_error_policy(
9510        &self,
9511        _options: &crate::RequestOptions,
9512    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9513        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9514    }
9515
9516    /// Returns the polling backoff policy.
9517    ///
9518    /// When mocking, this method is typically irrelevant. Do not try to verify
9519    /// it is called by your mocks.
9520    fn get_polling_backoff_policy(
9521        &self,
9522        _options: &crate::RequestOptions,
9523    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9524        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9525    }
9526}
9527
9528/// Defines the trait used to implement [super::client::RegionNetworkFirewallPolicies].
9529///
9530/// Application developers may need to implement this trait to mock
9531/// `client::RegionNetworkFirewallPolicies`.  In other use-cases, application developers only
9532/// use `client::RegionNetworkFirewallPolicies` and need not be concerned with this trait or
9533/// its implementations.
9534///
9535/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9536/// too. To avoid breaking applications the trait provides a default
9537/// implementation of each method. Most of these implementations just return an
9538/// error.
9539#[cfg(feature = "region-network-firewall-policies")]
9540#[cfg_attr(docsrs, doc(cfg(feature = "region-network-firewall-policies")))]
9541pub trait RegionNetworkFirewallPolicies: std::fmt::Debug + Send + Sync {
9542    /// Implements [super::client::RegionNetworkFirewallPolicies::add_association].
9543    fn add_association(
9544        &self,
9545        _req: crate::model::region_network_firewall_policies::AddAssociationRequest,
9546        _options: crate::RequestOptions,
9547    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9548    {
9549        gaxi::unimplemented::unimplemented_stub()
9550    }
9551
9552    /// Implements [super::client::RegionNetworkFirewallPolicies::add_rule].
9553    fn add_rule(
9554        &self,
9555        _req: crate::model::region_network_firewall_policies::AddRuleRequest,
9556        _options: crate::RequestOptions,
9557    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9558    {
9559        gaxi::unimplemented::unimplemented_stub()
9560    }
9561
9562    /// Implements [super::client::RegionNetworkFirewallPolicies::clone_rules].
9563    fn clone_rules(
9564        &self,
9565        _req: crate::model::region_network_firewall_policies::CloneRulesRequest,
9566        _options: crate::RequestOptions,
9567    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9568    {
9569        gaxi::unimplemented::unimplemented_stub()
9570    }
9571
9572    /// Implements [super::client::RegionNetworkFirewallPolicies::delete].
9573    fn delete(
9574        &self,
9575        _req: crate::model::region_network_firewall_policies::DeleteRequest,
9576        _options: crate::RequestOptions,
9577    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9578    {
9579        gaxi::unimplemented::unimplemented_stub()
9580    }
9581
9582    /// Implements [super::client::RegionNetworkFirewallPolicies::get].
9583    fn get(
9584        &self,
9585        _req: crate::model::region_network_firewall_policies::GetRequest,
9586        _options: crate::RequestOptions,
9587    ) -> impl std::future::Future<
9588        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
9589    > + Send {
9590        gaxi::unimplemented::unimplemented_stub()
9591    }
9592
9593    /// Implements [super::client::RegionNetworkFirewallPolicies::get_association].
9594    fn get_association(
9595        &self,
9596        _req: crate::model::region_network_firewall_policies::GetAssociationRequest,
9597        _options: crate::RequestOptions,
9598    ) -> impl std::future::Future<
9599        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
9600    > + Send {
9601        gaxi::unimplemented::unimplemented_stub()
9602    }
9603
9604    /// Implements [super::client::RegionNetworkFirewallPolicies::get_effective_firewalls].
9605    fn get_effective_firewalls(
9606        &self,
9607        _req: crate::model::region_network_firewall_policies::GetEffectiveFirewallsRequest,
9608        _options: crate::RequestOptions,
9609    ) -> impl std::future::Future<
9610        Output = crate::Result<
9611            crate::Response<
9612                crate::model::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse,
9613            >,
9614        >,
9615    > + Send {
9616        gaxi::unimplemented::unimplemented_stub()
9617    }
9618
9619    /// Implements [super::client::RegionNetworkFirewallPolicies::get_iam_policy].
9620    fn get_iam_policy(
9621        &self,
9622        _req: crate::model::region_network_firewall_policies::GetIamPolicyRequest,
9623        _options: crate::RequestOptions,
9624    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9625    {
9626        gaxi::unimplemented::unimplemented_stub()
9627    }
9628
9629    /// Implements [super::client::RegionNetworkFirewallPolicies::get_rule].
9630    fn get_rule(
9631        &self,
9632        _req: crate::model::region_network_firewall_policies::GetRuleRequest,
9633        _options: crate::RequestOptions,
9634    ) -> impl std::future::Future<
9635        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
9636    > + Send {
9637        gaxi::unimplemented::unimplemented_stub()
9638    }
9639
9640    /// Implements [super::client::RegionNetworkFirewallPolicies::insert].
9641    fn insert(
9642        &self,
9643        _req: crate::model::region_network_firewall_policies::InsertRequest,
9644        _options: crate::RequestOptions,
9645    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9646    {
9647        gaxi::unimplemented::unimplemented_stub()
9648    }
9649
9650    /// Implements [super::client::RegionNetworkFirewallPolicies::list].
9651    fn list(
9652        &self,
9653        _req: crate::model::region_network_firewall_policies::ListRequest,
9654        _options: crate::RequestOptions,
9655    ) -> impl std::future::Future<
9656        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
9657    > + Send {
9658        gaxi::unimplemented::unimplemented_stub()
9659    }
9660
9661    /// Implements [super::client::RegionNetworkFirewallPolicies::patch].
9662    fn patch(
9663        &self,
9664        _req: crate::model::region_network_firewall_policies::PatchRequest,
9665        _options: crate::RequestOptions,
9666    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9667    {
9668        gaxi::unimplemented::unimplemented_stub()
9669    }
9670
9671    /// Implements [super::client::RegionNetworkFirewallPolicies::patch_rule].
9672    fn patch_rule(
9673        &self,
9674        _req: crate::model::region_network_firewall_policies::PatchRuleRequest,
9675        _options: crate::RequestOptions,
9676    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9677    {
9678        gaxi::unimplemented::unimplemented_stub()
9679    }
9680
9681    /// Implements [super::client::RegionNetworkFirewallPolicies::remove_association].
9682    fn remove_association(
9683        &self,
9684        _req: crate::model::region_network_firewall_policies::RemoveAssociationRequest,
9685        _options: crate::RequestOptions,
9686    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9687    {
9688        gaxi::unimplemented::unimplemented_stub()
9689    }
9690
9691    /// Implements [super::client::RegionNetworkFirewallPolicies::remove_rule].
9692    fn remove_rule(
9693        &self,
9694        _req: crate::model::region_network_firewall_policies::RemoveRuleRequest,
9695        _options: crate::RequestOptions,
9696    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9697    {
9698        gaxi::unimplemented::unimplemented_stub()
9699    }
9700
9701    /// Implements [super::client::RegionNetworkFirewallPolicies::set_iam_policy].
9702    fn set_iam_policy(
9703        &self,
9704        _req: crate::model::region_network_firewall_policies::SetIamPolicyRequest,
9705        _options: crate::RequestOptions,
9706    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9707    {
9708        gaxi::unimplemented::unimplemented_stub()
9709    }
9710
9711    /// Implements [super::client::RegionNetworkFirewallPolicies::test_iam_permissions].
9712    fn test_iam_permissions(
9713        &self,
9714        _req: crate::model::region_network_firewall_policies::TestIamPermissionsRequest,
9715        _options: crate::RequestOptions,
9716    ) -> impl std::future::Future<
9717        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9718    > + Send {
9719        gaxi::unimplemented::unimplemented_stub()
9720    }
9721
9722    /// Implements [super::client::RegionNetworkFirewallPolicies::get_operation].
9723    fn get_operation(
9724        &self,
9725        _req: crate::model::region_operations::GetRequest,
9726        _options: crate::RequestOptions,
9727    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9728    {
9729        gaxi::unimplemented::unimplemented_stub()
9730    }
9731
9732    /// Returns the polling error policy.
9733    ///
9734    /// When mocking, this method is typically irrelevant. Do not try to verify
9735    /// it is called by your mocks.
9736    fn get_polling_error_policy(
9737        &self,
9738        _options: &crate::RequestOptions,
9739    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9740        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9741    }
9742
9743    /// Returns the polling backoff policy.
9744    ///
9745    /// When mocking, this method is typically irrelevant. Do not try to verify
9746    /// it is called by your mocks.
9747    fn get_polling_backoff_policy(
9748        &self,
9749        _options: &crate::RequestOptions,
9750    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9751        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9752    }
9753}
9754
9755/// Defines the trait used to implement [super::client::RegionNotificationEndpoints].
9756///
9757/// Application developers may need to implement this trait to mock
9758/// `client::RegionNotificationEndpoints`.  In other use-cases, application developers only
9759/// use `client::RegionNotificationEndpoints` and need not be concerned with this trait or
9760/// its implementations.
9761///
9762/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9763/// too. To avoid breaking applications the trait provides a default
9764/// implementation of each method. Most of these implementations just return an
9765/// error.
9766#[cfg(feature = "region-notification-endpoints")]
9767#[cfg_attr(docsrs, doc(cfg(feature = "region-notification-endpoints")))]
9768pub trait RegionNotificationEndpoints: std::fmt::Debug + Send + Sync {
9769    /// Implements [super::client::RegionNotificationEndpoints::aggregated_list].
9770    fn aggregated_list(
9771        &self,
9772        _req: crate::model::region_notification_endpoints::AggregatedListRequest,
9773        _options: crate::RequestOptions,
9774    ) -> impl std::future::Future<
9775        Output = crate::Result<crate::Response<crate::model::NotificationEndpointAggregatedList>>,
9776    > + Send {
9777        gaxi::unimplemented::unimplemented_stub()
9778    }
9779
9780    /// Implements [super::client::RegionNotificationEndpoints::delete].
9781    fn delete(
9782        &self,
9783        _req: crate::model::region_notification_endpoints::DeleteRequest,
9784        _options: crate::RequestOptions,
9785    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9786    {
9787        gaxi::unimplemented::unimplemented_stub()
9788    }
9789
9790    /// Implements [super::client::RegionNotificationEndpoints::get].
9791    fn get(
9792        &self,
9793        _req: crate::model::region_notification_endpoints::GetRequest,
9794        _options: crate::RequestOptions,
9795    ) -> impl std::future::Future<
9796        Output = crate::Result<crate::Response<crate::model::NotificationEndpoint>>,
9797    > + Send {
9798        gaxi::unimplemented::unimplemented_stub()
9799    }
9800
9801    /// Implements [super::client::RegionNotificationEndpoints::insert].
9802    fn insert(
9803        &self,
9804        _req: crate::model::region_notification_endpoints::InsertRequest,
9805        _options: crate::RequestOptions,
9806    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9807    {
9808        gaxi::unimplemented::unimplemented_stub()
9809    }
9810
9811    /// Implements [super::client::RegionNotificationEndpoints::list].
9812    fn list(
9813        &self,
9814        _req: crate::model::region_notification_endpoints::ListRequest,
9815        _options: crate::RequestOptions,
9816    ) -> impl std::future::Future<
9817        Output = crate::Result<crate::Response<crate::model::NotificationEndpointList>>,
9818    > + Send {
9819        gaxi::unimplemented::unimplemented_stub()
9820    }
9821
9822    /// Implements [super::client::RegionNotificationEndpoints::test_iam_permissions].
9823    fn test_iam_permissions(
9824        &self,
9825        _req: crate::model::region_notification_endpoints::TestIamPermissionsRequest,
9826        _options: crate::RequestOptions,
9827    ) -> impl std::future::Future<
9828        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9829    > + Send {
9830        gaxi::unimplemented::unimplemented_stub()
9831    }
9832
9833    /// Implements [super::client::RegionNotificationEndpoints::get_operation].
9834    fn get_operation(
9835        &self,
9836        _req: crate::model::region_operations::GetRequest,
9837        _options: crate::RequestOptions,
9838    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9839    {
9840        gaxi::unimplemented::unimplemented_stub()
9841    }
9842
9843    /// Returns the polling error policy.
9844    ///
9845    /// When mocking, this method is typically irrelevant. Do not try to verify
9846    /// it is called by your mocks.
9847    fn get_polling_error_policy(
9848        &self,
9849        _options: &crate::RequestOptions,
9850    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9851        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9852    }
9853
9854    /// Returns the polling backoff policy.
9855    ///
9856    /// When mocking, this method is typically irrelevant. Do not try to verify
9857    /// it is called by your mocks.
9858    fn get_polling_backoff_policy(
9859        &self,
9860        _options: &crate::RequestOptions,
9861    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9862        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9863    }
9864}
9865
9866/// Defines the trait used to implement [super::client::RegionOperations].
9867///
9868/// Application developers may need to implement this trait to mock
9869/// `client::RegionOperations`.  In other use-cases, application developers only
9870/// use `client::RegionOperations` and need not be concerned with this trait or
9871/// its implementations.
9872///
9873/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9874/// too. To avoid breaking applications the trait provides a default
9875/// implementation of each method. Most of these implementations just return an
9876/// error.
9877#[cfg(feature = "region-operations")]
9878#[cfg_attr(docsrs, doc(cfg(feature = "region-operations")))]
9879pub trait RegionOperations: std::fmt::Debug + Send + Sync {
9880    /// Implements [super::client::RegionOperations::delete].
9881    fn delete(
9882        &self,
9883        _req: crate::model::region_operations::DeleteRequest,
9884        _options: crate::RequestOptions,
9885    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
9886        gaxi::unimplemented::unimplemented_stub()
9887    }
9888
9889    /// Implements [super::client::RegionOperations::get].
9890    fn get(
9891        &self,
9892        _req: crate::model::region_operations::GetRequest,
9893        _options: crate::RequestOptions,
9894    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9895    {
9896        gaxi::unimplemented::unimplemented_stub()
9897    }
9898
9899    /// Implements [super::client::RegionOperations::list].
9900    fn list(
9901        &self,
9902        _req: crate::model::region_operations::ListRequest,
9903        _options: crate::RequestOptions,
9904    ) -> impl std::future::Future<
9905        Output = crate::Result<crate::Response<crate::model::OperationList>>,
9906    > + Send {
9907        gaxi::unimplemented::unimplemented_stub()
9908    }
9909
9910    /// Implements [super::client::RegionOperations::wait].
9911    fn wait(
9912        &self,
9913        _req: crate::model::region_operations::WaitRequest,
9914        _options: crate::RequestOptions,
9915    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9916    {
9917        gaxi::unimplemented::unimplemented_stub()
9918    }
9919}
9920
9921/// Defines the trait used to implement [super::client::RegionSecurityPolicies].
9922///
9923/// Application developers may need to implement this trait to mock
9924/// `client::RegionSecurityPolicies`.  In other use-cases, application developers only
9925/// use `client::RegionSecurityPolicies` and need not be concerned with this trait or
9926/// its implementations.
9927///
9928/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9929/// too. To avoid breaking applications the trait provides a default
9930/// implementation of each method. Most of these implementations just return an
9931/// error.
9932#[cfg(feature = "region-security-policies")]
9933#[cfg_attr(docsrs, doc(cfg(feature = "region-security-policies")))]
9934pub trait RegionSecurityPolicies: std::fmt::Debug + Send + Sync {
9935    /// Implements [super::client::RegionSecurityPolicies::add_rule].
9936    fn add_rule(
9937        &self,
9938        _req: crate::model::region_security_policies::AddRuleRequest,
9939        _options: crate::RequestOptions,
9940    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9941    {
9942        gaxi::unimplemented::unimplemented_stub()
9943    }
9944
9945    /// Implements [super::client::RegionSecurityPolicies::delete].
9946    fn delete(
9947        &self,
9948        _req: crate::model::region_security_policies::DeleteRequest,
9949        _options: crate::RequestOptions,
9950    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9951    {
9952        gaxi::unimplemented::unimplemented_stub()
9953    }
9954
9955    /// Implements [super::client::RegionSecurityPolicies::get].
9956    fn get(
9957        &self,
9958        _req: crate::model::region_security_policies::GetRequest,
9959        _options: crate::RequestOptions,
9960    ) -> impl std::future::Future<
9961        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
9962    > + Send {
9963        gaxi::unimplemented::unimplemented_stub()
9964    }
9965
9966    /// Implements [super::client::RegionSecurityPolicies::get_rule].
9967    fn get_rule(
9968        &self,
9969        _req: crate::model::region_security_policies::GetRuleRequest,
9970        _options: crate::RequestOptions,
9971    ) -> impl std::future::Future<
9972        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
9973    > + Send {
9974        gaxi::unimplemented::unimplemented_stub()
9975    }
9976
9977    /// Implements [super::client::RegionSecurityPolicies::insert].
9978    fn insert(
9979        &self,
9980        _req: crate::model::region_security_policies::InsertRequest,
9981        _options: crate::RequestOptions,
9982    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9983    {
9984        gaxi::unimplemented::unimplemented_stub()
9985    }
9986
9987    /// Implements [super::client::RegionSecurityPolicies::list].
9988    fn list(
9989        &self,
9990        _req: crate::model::region_security_policies::ListRequest,
9991        _options: crate::RequestOptions,
9992    ) -> impl std::future::Future<
9993        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
9994    > + Send {
9995        gaxi::unimplemented::unimplemented_stub()
9996    }
9997
9998    /// Implements [super::client::RegionSecurityPolicies::patch].
9999    fn patch(
10000        &self,
10001        _req: crate::model::region_security_policies::PatchRequest,
10002        _options: crate::RequestOptions,
10003    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10004    {
10005        gaxi::unimplemented::unimplemented_stub()
10006    }
10007
10008    /// Implements [super::client::RegionSecurityPolicies::patch_rule].
10009    fn patch_rule(
10010        &self,
10011        _req: crate::model::region_security_policies::PatchRuleRequest,
10012        _options: crate::RequestOptions,
10013    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10014    {
10015        gaxi::unimplemented::unimplemented_stub()
10016    }
10017
10018    /// Implements [super::client::RegionSecurityPolicies::remove_rule].
10019    fn remove_rule(
10020        &self,
10021        _req: crate::model::region_security_policies::RemoveRuleRequest,
10022        _options: crate::RequestOptions,
10023    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10024    {
10025        gaxi::unimplemented::unimplemented_stub()
10026    }
10027
10028    /// Implements [super::client::RegionSecurityPolicies::set_labels].
10029    fn set_labels(
10030        &self,
10031        _req: crate::model::region_security_policies::SetLabelsRequest,
10032        _options: crate::RequestOptions,
10033    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10034    {
10035        gaxi::unimplemented::unimplemented_stub()
10036    }
10037
10038    /// Implements [super::client::RegionSecurityPolicies::get_operation].
10039    fn get_operation(
10040        &self,
10041        _req: crate::model::region_operations::GetRequest,
10042        _options: crate::RequestOptions,
10043    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10044    {
10045        gaxi::unimplemented::unimplemented_stub()
10046    }
10047
10048    /// Returns the polling error policy.
10049    ///
10050    /// When mocking, this method is typically irrelevant. Do not try to verify
10051    /// it is called by your mocks.
10052    fn get_polling_error_policy(
10053        &self,
10054        _options: &crate::RequestOptions,
10055    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10056        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10057    }
10058
10059    /// Returns the polling backoff policy.
10060    ///
10061    /// When mocking, this method is typically irrelevant. Do not try to verify
10062    /// it is called by your mocks.
10063    fn get_polling_backoff_policy(
10064        &self,
10065        _options: &crate::RequestOptions,
10066    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10067        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10068    }
10069}
10070
10071/// Defines the trait used to implement [super::client::RegionSslCertificates].
10072///
10073/// Application developers may need to implement this trait to mock
10074/// `client::RegionSslCertificates`.  In other use-cases, application developers only
10075/// use `client::RegionSslCertificates` and need not be concerned with this trait or
10076/// its implementations.
10077///
10078/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10079/// too. To avoid breaking applications the trait provides a default
10080/// implementation of each method. Most of these implementations just return an
10081/// error.
10082#[cfg(feature = "region-ssl-certificates")]
10083#[cfg_attr(docsrs, doc(cfg(feature = "region-ssl-certificates")))]
10084pub trait RegionSslCertificates: std::fmt::Debug + Send + Sync {
10085    /// Implements [super::client::RegionSslCertificates::delete].
10086    fn delete(
10087        &self,
10088        _req: crate::model::region_ssl_certificates::DeleteRequest,
10089        _options: crate::RequestOptions,
10090    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10091    {
10092        gaxi::unimplemented::unimplemented_stub()
10093    }
10094
10095    /// Implements [super::client::RegionSslCertificates::get].
10096    fn get(
10097        &self,
10098        _req: crate::model::region_ssl_certificates::GetRequest,
10099        _options: crate::RequestOptions,
10100    ) -> impl std::future::Future<
10101        Output = crate::Result<crate::Response<crate::model::SslCertificate>>,
10102    > + Send {
10103        gaxi::unimplemented::unimplemented_stub()
10104    }
10105
10106    /// Implements [super::client::RegionSslCertificates::insert].
10107    fn insert(
10108        &self,
10109        _req: crate::model::region_ssl_certificates::InsertRequest,
10110        _options: crate::RequestOptions,
10111    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10112    {
10113        gaxi::unimplemented::unimplemented_stub()
10114    }
10115
10116    /// Implements [super::client::RegionSslCertificates::list].
10117    fn list(
10118        &self,
10119        _req: crate::model::region_ssl_certificates::ListRequest,
10120        _options: crate::RequestOptions,
10121    ) -> impl std::future::Future<
10122        Output = crate::Result<crate::Response<crate::model::SslCertificateList>>,
10123    > + Send {
10124        gaxi::unimplemented::unimplemented_stub()
10125    }
10126
10127    /// Implements [super::client::RegionSslCertificates::get_operation].
10128    fn get_operation(
10129        &self,
10130        _req: crate::model::region_operations::GetRequest,
10131        _options: crate::RequestOptions,
10132    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10133    {
10134        gaxi::unimplemented::unimplemented_stub()
10135    }
10136
10137    /// Returns the polling error policy.
10138    ///
10139    /// When mocking, this method is typically irrelevant. Do not try to verify
10140    /// it is called by your mocks.
10141    fn get_polling_error_policy(
10142        &self,
10143        _options: &crate::RequestOptions,
10144    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10145        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10146    }
10147
10148    /// Returns the polling backoff policy.
10149    ///
10150    /// When mocking, this method is typically irrelevant. Do not try to verify
10151    /// it is called by your mocks.
10152    fn get_polling_backoff_policy(
10153        &self,
10154        _options: &crate::RequestOptions,
10155    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10156        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10157    }
10158}
10159
10160/// Defines the trait used to implement [super::client::RegionSslPolicies].
10161///
10162/// Application developers may need to implement this trait to mock
10163/// `client::RegionSslPolicies`.  In other use-cases, application developers only
10164/// use `client::RegionSslPolicies` and need not be concerned with this trait or
10165/// its implementations.
10166///
10167/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10168/// too. To avoid breaking applications the trait provides a default
10169/// implementation of each method. Most of these implementations just return an
10170/// error.
10171#[cfg(feature = "region-ssl-policies")]
10172#[cfg_attr(docsrs, doc(cfg(feature = "region-ssl-policies")))]
10173pub trait RegionSslPolicies: std::fmt::Debug + Send + Sync {
10174    /// Implements [super::client::RegionSslPolicies::delete].
10175    fn delete(
10176        &self,
10177        _req: crate::model::region_ssl_policies::DeleteRequest,
10178        _options: crate::RequestOptions,
10179    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10180    {
10181        gaxi::unimplemented::unimplemented_stub()
10182    }
10183
10184    /// Implements [super::client::RegionSslPolicies::get].
10185    fn get(
10186        &self,
10187        _req: crate::model::region_ssl_policies::GetRequest,
10188        _options: crate::RequestOptions,
10189    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::SslPolicy>>> + Send
10190    {
10191        gaxi::unimplemented::unimplemented_stub()
10192    }
10193
10194    /// Implements [super::client::RegionSslPolicies::insert].
10195    fn insert(
10196        &self,
10197        _req: crate::model::region_ssl_policies::InsertRequest,
10198        _options: crate::RequestOptions,
10199    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10200    {
10201        gaxi::unimplemented::unimplemented_stub()
10202    }
10203
10204    /// Implements [super::client::RegionSslPolicies::list].
10205    fn list(
10206        &self,
10207        _req: crate::model::region_ssl_policies::ListRequest,
10208        _options: crate::RequestOptions,
10209    ) -> impl std::future::Future<
10210        Output = crate::Result<crate::Response<crate::model::SslPoliciesList>>,
10211    > + Send {
10212        gaxi::unimplemented::unimplemented_stub()
10213    }
10214
10215    /// Implements [super::client::RegionSslPolicies::list_available_features].
10216    fn list_available_features(
10217        &self,
10218        _req: crate::model::region_ssl_policies::ListAvailableFeaturesRequest,
10219        _options: crate::RequestOptions,
10220    ) -> impl std::future::Future<
10221        Output = crate::Result<
10222            crate::Response<crate::model::SslPoliciesListAvailableFeaturesResponse>,
10223        >,
10224    > + Send {
10225        gaxi::unimplemented::unimplemented_stub()
10226    }
10227
10228    /// Implements [super::client::RegionSslPolicies::patch].
10229    fn patch(
10230        &self,
10231        _req: crate::model::region_ssl_policies::PatchRequest,
10232        _options: crate::RequestOptions,
10233    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10234    {
10235        gaxi::unimplemented::unimplemented_stub()
10236    }
10237
10238    /// Implements [super::client::RegionSslPolicies::get_operation].
10239    fn get_operation(
10240        &self,
10241        _req: crate::model::region_operations::GetRequest,
10242        _options: crate::RequestOptions,
10243    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10244    {
10245        gaxi::unimplemented::unimplemented_stub()
10246    }
10247
10248    /// Returns the polling error policy.
10249    ///
10250    /// When mocking, this method is typically irrelevant. Do not try to verify
10251    /// it is called by your mocks.
10252    fn get_polling_error_policy(
10253        &self,
10254        _options: &crate::RequestOptions,
10255    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10256        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10257    }
10258
10259    /// Returns the polling backoff policy.
10260    ///
10261    /// When mocking, this method is typically irrelevant. Do not try to verify
10262    /// it is called by your mocks.
10263    fn get_polling_backoff_policy(
10264        &self,
10265        _options: &crate::RequestOptions,
10266    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10267        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10268    }
10269}
10270
10271/// Defines the trait used to implement [super::client::RegionTargetHttpProxies].
10272///
10273/// Application developers may need to implement this trait to mock
10274/// `client::RegionTargetHttpProxies`.  In other use-cases, application developers only
10275/// use `client::RegionTargetHttpProxies` and need not be concerned with this trait or
10276/// its implementations.
10277///
10278/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10279/// too. To avoid breaking applications the trait provides a default
10280/// implementation of each method. Most of these implementations just return an
10281/// error.
10282#[cfg(feature = "region-target-http-proxies")]
10283#[cfg_attr(docsrs, doc(cfg(feature = "region-target-http-proxies")))]
10284pub trait RegionTargetHttpProxies: std::fmt::Debug + Send + Sync {
10285    /// Implements [super::client::RegionTargetHttpProxies::delete].
10286    fn delete(
10287        &self,
10288        _req: crate::model::region_target_http_proxies::DeleteRequest,
10289        _options: crate::RequestOptions,
10290    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10291    {
10292        gaxi::unimplemented::unimplemented_stub()
10293    }
10294
10295    /// Implements [super::client::RegionTargetHttpProxies::get].
10296    fn get(
10297        &self,
10298        _req: crate::model::region_target_http_proxies::GetRequest,
10299        _options: crate::RequestOptions,
10300    ) -> impl std::future::Future<
10301        Output = crate::Result<crate::Response<crate::model::TargetHttpProxy>>,
10302    > + Send {
10303        gaxi::unimplemented::unimplemented_stub()
10304    }
10305
10306    /// Implements [super::client::RegionTargetHttpProxies::insert].
10307    fn insert(
10308        &self,
10309        _req: crate::model::region_target_http_proxies::InsertRequest,
10310        _options: crate::RequestOptions,
10311    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10312    {
10313        gaxi::unimplemented::unimplemented_stub()
10314    }
10315
10316    /// Implements [super::client::RegionTargetHttpProxies::list].
10317    fn list(
10318        &self,
10319        _req: crate::model::region_target_http_proxies::ListRequest,
10320        _options: crate::RequestOptions,
10321    ) -> impl std::future::Future<
10322        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyList>>,
10323    > + Send {
10324        gaxi::unimplemented::unimplemented_stub()
10325    }
10326
10327    /// Implements [super::client::RegionTargetHttpProxies::set_url_map].
10328    fn set_url_map(
10329        &self,
10330        _req: crate::model::region_target_http_proxies::SetUrlMapRequest,
10331        _options: crate::RequestOptions,
10332    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10333    {
10334        gaxi::unimplemented::unimplemented_stub()
10335    }
10336
10337    /// Implements [super::client::RegionTargetHttpProxies::get_operation].
10338    fn get_operation(
10339        &self,
10340        _req: crate::model::region_operations::GetRequest,
10341        _options: crate::RequestOptions,
10342    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10343    {
10344        gaxi::unimplemented::unimplemented_stub()
10345    }
10346
10347    /// Returns the polling error policy.
10348    ///
10349    /// When mocking, this method is typically irrelevant. Do not try to verify
10350    /// it is called by your mocks.
10351    fn get_polling_error_policy(
10352        &self,
10353        _options: &crate::RequestOptions,
10354    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10355        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10356    }
10357
10358    /// Returns the polling backoff policy.
10359    ///
10360    /// When mocking, this method is typically irrelevant. Do not try to verify
10361    /// it is called by your mocks.
10362    fn get_polling_backoff_policy(
10363        &self,
10364        _options: &crate::RequestOptions,
10365    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10366        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10367    }
10368}
10369
10370/// Defines the trait used to implement [super::client::RegionTargetHttpsProxies].
10371///
10372/// Application developers may need to implement this trait to mock
10373/// `client::RegionTargetHttpsProxies`.  In other use-cases, application developers only
10374/// use `client::RegionTargetHttpsProxies` and need not be concerned with this trait or
10375/// its implementations.
10376///
10377/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10378/// too. To avoid breaking applications the trait provides a default
10379/// implementation of each method. Most of these implementations just return an
10380/// error.
10381#[cfg(feature = "region-target-https-proxies")]
10382#[cfg_attr(docsrs, doc(cfg(feature = "region-target-https-proxies")))]
10383pub trait RegionTargetHttpsProxies: std::fmt::Debug + Send + Sync {
10384    /// Implements [super::client::RegionTargetHttpsProxies::delete].
10385    fn delete(
10386        &self,
10387        _req: crate::model::region_target_https_proxies::DeleteRequest,
10388        _options: crate::RequestOptions,
10389    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10390    {
10391        gaxi::unimplemented::unimplemented_stub()
10392    }
10393
10394    /// Implements [super::client::RegionTargetHttpsProxies::get].
10395    fn get(
10396        &self,
10397        _req: crate::model::region_target_https_proxies::GetRequest,
10398        _options: crate::RequestOptions,
10399    ) -> impl std::future::Future<
10400        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxy>>,
10401    > + Send {
10402        gaxi::unimplemented::unimplemented_stub()
10403    }
10404
10405    /// Implements [super::client::RegionTargetHttpsProxies::insert].
10406    fn insert(
10407        &self,
10408        _req: crate::model::region_target_https_proxies::InsertRequest,
10409        _options: crate::RequestOptions,
10410    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10411    {
10412        gaxi::unimplemented::unimplemented_stub()
10413    }
10414
10415    /// Implements [super::client::RegionTargetHttpsProxies::list].
10416    fn list(
10417        &self,
10418        _req: crate::model::region_target_https_proxies::ListRequest,
10419        _options: crate::RequestOptions,
10420    ) -> impl std::future::Future<
10421        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyList>>,
10422    > + Send {
10423        gaxi::unimplemented::unimplemented_stub()
10424    }
10425
10426    /// Implements [super::client::RegionTargetHttpsProxies::patch].
10427    fn patch(
10428        &self,
10429        _req: crate::model::region_target_https_proxies::PatchRequest,
10430        _options: crate::RequestOptions,
10431    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10432    {
10433        gaxi::unimplemented::unimplemented_stub()
10434    }
10435
10436    /// Implements [super::client::RegionTargetHttpsProxies::set_ssl_certificates].
10437    fn set_ssl_certificates(
10438        &self,
10439        _req: crate::model::region_target_https_proxies::SetSslCertificatesRequest,
10440        _options: crate::RequestOptions,
10441    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10442    {
10443        gaxi::unimplemented::unimplemented_stub()
10444    }
10445
10446    /// Implements [super::client::RegionTargetHttpsProxies::set_url_map].
10447    fn set_url_map(
10448        &self,
10449        _req: crate::model::region_target_https_proxies::SetUrlMapRequest,
10450        _options: crate::RequestOptions,
10451    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10452    {
10453        gaxi::unimplemented::unimplemented_stub()
10454    }
10455
10456    /// Implements [super::client::RegionTargetHttpsProxies::get_operation].
10457    fn get_operation(
10458        &self,
10459        _req: crate::model::region_operations::GetRequest,
10460        _options: crate::RequestOptions,
10461    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10462    {
10463        gaxi::unimplemented::unimplemented_stub()
10464    }
10465
10466    /// Returns the polling error policy.
10467    ///
10468    /// When mocking, this method is typically irrelevant. Do not try to verify
10469    /// it is called by your mocks.
10470    fn get_polling_error_policy(
10471        &self,
10472        _options: &crate::RequestOptions,
10473    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10474        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10475    }
10476
10477    /// Returns the polling backoff policy.
10478    ///
10479    /// When mocking, this method is typically irrelevant. Do not try to verify
10480    /// it is called by your mocks.
10481    fn get_polling_backoff_policy(
10482        &self,
10483        _options: &crate::RequestOptions,
10484    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10485        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10486    }
10487}
10488
10489/// Defines the trait used to implement [super::client::RegionTargetTcpProxies].
10490///
10491/// Application developers may need to implement this trait to mock
10492/// `client::RegionTargetTcpProxies`.  In other use-cases, application developers only
10493/// use `client::RegionTargetTcpProxies` and need not be concerned with this trait or
10494/// its implementations.
10495///
10496/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10497/// too. To avoid breaking applications the trait provides a default
10498/// implementation of each method. Most of these implementations just return an
10499/// error.
10500#[cfg(feature = "region-target-tcp-proxies")]
10501#[cfg_attr(docsrs, doc(cfg(feature = "region-target-tcp-proxies")))]
10502pub trait RegionTargetTcpProxies: std::fmt::Debug + Send + Sync {
10503    /// Implements [super::client::RegionTargetTcpProxies::delete].
10504    fn delete(
10505        &self,
10506        _req: crate::model::region_target_tcp_proxies::DeleteRequest,
10507        _options: crate::RequestOptions,
10508    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10509    {
10510        gaxi::unimplemented::unimplemented_stub()
10511    }
10512
10513    /// Implements [super::client::RegionTargetTcpProxies::get].
10514    fn get(
10515        &self,
10516        _req: crate::model::region_target_tcp_proxies::GetRequest,
10517        _options: crate::RequestOptions,
10518    ) -> impl std::future::Future<
10519        Output = crate::Result<crate::Response<crate::model::TargetTcpProxy>>,
10520    > + Send {
10521        gaxi::unimplemented::unimplemented_stub()
10522    }
10523
10524    /// Implements [super::client::RegionTargetTcpProxies::insert].
10525    fn insert(
10526        &self,
10527        _req: crate::model::region_target_tcp_proxies::InsertRequest,
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    /// Implements [super::client::RegionTargetTcpProxies::list].
10535    fn list(
10536        &self,
10537        _req: crate::model::region_target_tcp_proxies::ListRequest,
10538        _options: crate::RequestOptions,
10539    ) -> impl std::future::Future<
10540        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyList>>,
10541    > + Send {
10542        gaxi::unimplemented::unimplemented_stub()
10543    }
10544
10545    /// Implements [super::client::RegionTargetTcpProxies::get_operation].
10546    fn get_operation(
10547        &self,
10548        _req: crate::model::region_operations::GetRequest,
10549        _options: crate::RequestOptions,
10550    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10551    {
10552        gaxi::unimplemented::unimplemented_stub()
10553    }
10554
10555    /// Returns the polling error policy.
10556    ///
10557    /// When mocking, this method is typically irrelevant. Do not try to verify
10558    /// it is called by your mocks.
10559    fn get_polling_error_policy(
10560        &self,
10561        _options: &crate::RequestOptions,
10562    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10563        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10564    }
10565
10566    /// Returns the polling backoff policy.
10567    ///
10568    /// When mocking, this method is typically irrelevant. Do not try to verify
10569    /// it is called by your mocks.
10570    fn get_polling_backoff_policy(
10571        &self,
10572        _options: &crate::RequestOptions,
10573    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10574        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10575    }
10576}
10577
10578/// Defines the trait used to implement [super::client::RegionUrlMaps].
10579///
10580/// Application developers may need to implement this trait to mock
10581/// `client::RegionUrlMaps`.  In other use-cases, application developers only
10582/// use `client::RegionUrlMaps` and need not be concerned with this trait or
10583/// its implementations.
10584///
10585/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10586/// too. To avoid breaking applications the trait provides a default
10587/// implementation of each method. Most of these implementations just return an
10588/// error.
10589#[cfg(feature = "region-url-maps")]
10590#[cfg_attr(docsrs, doc(cfg(feature = "region-url-maps")))]
10591pub trait RegionUrlMaps: std::fmt::Debug + Send + Sync {
10592    /// Implements [super::client::RegionUrlMaps::delete].
10593    fn delete(
10594        &self,
10595        _req: crate::model::region_url_maps::DeleteRequest,
10596        _options: crate::RequestOptions,
10597    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10598    {
10599        gaxi::unimplemented::unimplemented_stub()
10600    }
10601
10602    /// Implements [super::client::RegionUrlMaps::get].
10603    fn get(
10604        &self,
10605        _req: crate::model::region_url_maps::GetRequest,
10606        _options: crate::RequestOptions,
10607    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMap>>> + Send
10608    {
10609        gaxi::unimplemented::unimplemented_stub()
10610    }
10611
10612    /// Implements [super::client::RegionUrlMaps::insert].
10613    fn insert(
10614        &self,
10615        _req: crate::model::region_url_maps::InsertRequest,
10616        _options: crate::RequestOptions,
10617    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10618    {
10619        gaxi::unimplemented::unimplemented_stub()
10620    }
10621
10622    /// Implements [super::client::RegionUrlMaps::list].
10623    fn list(
10624        &self,
10625        _req: crate::model::region_url_maps::ListRequest,
10626        _options: crate::RequestOptions,
10627    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMapList>>> + Send
10628    {
10629        gaxi::unimplemented::unimplemented_stub()
10630    }
10631
10632    /// Implements [super::client::RegionUrlMaps::patch].
10633    fn patch(
10634        &self,
10635        _req: crate::model::region_url_maps::PatchRequest,
10636        _options: crate::RequestOptions,
10637    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10638    {
10639        gaxi::unimplemented::unimplemented_stub()
10640    }
10641
10642    /// Implements [super::client::RegionUrlMaps::update].
10643    fn update(
10644        &self,
10645        _req: crate::model::region_url_maps::UpdateRequest,
10646        _options: crate::RequestOptions,
10647    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10648    {
10649        gaxi::unimplemented::unimplemented_stub()
10650    }
10651
10652    /// Implements [super::client::RegionUrlMaps::validate].
10653    fn validate(
10654        &self,
10655        _req: crate::model::region_url_maps::ValidateRequest,
10656        _options: crate::RequestOptions,
10657    ) -> impl std::future::Future<
10658        Output = crate::Result<crate::Response<crate::model::UrlMapsValidateResponse>>,
10659    > + Send {
10660        gaxi::unimplemented::unimplemented_stub()
10661    }
10662
10663    /// Implements [super::client::RegionUrlMaps::get_operation].
10664    fn get_operation(
10665        &self,
10666        _req: crate::model::region_operations::GetRequest,
10667        _options: crate::RequestOptions,
10668    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10669    {
10670        gaxi::unimplemented::unimplemented_stub()
10671    }
10672
10673    /// Returns the polling error policy.
10674    ///
10675    /// When mocking, this method is typically irrelevant. Do not try to verify
10676    /// it is called by your mocks.
10677    fn get_polling_error_policy(
10678        &self,
10679        _options: &crate::RequestOptions,
10680    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10681        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10682    }
10683
10684    /// Returns the polling backoff policy.
10685    ///
10686    /// When mocking, this method is typically irrelevant. Do not try to verify
10687    /// it is called by your mocks.
10688    fn get_polling_backoff_policy(
10689        &self,
10690        _options: &crate::RequestOptions,
10691    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10692        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10693    }
10694}
10695
10696/// Defines the trait used to implement [super::client::RegionZones].
10697///
10698/// Application developers may need to implement this trait to mock
10699/// `client::RegionZones`.  In other use-cases, application developers only
10700/// use `client::RegionZones` and need not be concerned with this trait or
10701/// its implementations.
10702///
10703/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10704/// too. To avoid breaking applications the trait provides a default
10705/// implementation of each method. Most of these implementations just return an
10706/// error.
10707#[cfg(feature = "region-zones")]
10708#[cfg_attr(docsrs, doc(cfg(feature = "region-zones")))]
10709pub trait RegionZones: std::fmt::Debug + Send + Sync {
10710    /// Implements [super::client::RegionZones::list].
10711    fn list(
10712        &self,
10713        _req: crate::model::region_zones::ListRequest,
10714        _options: crate::RequestOptions,
10715    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ZoneList>>> + Send
10716    {
10717        gaxi::unimplemented::unimplemented_stub()
10718    }
10719}
10720
10721/// Defines the trait used to implement [super::client::Regions].
10722///
10723/// Application developers may need to implement this trait to mock
10724/// `client::Regions`.  In other use-cases, application developers only
10725/// use `client::Regions` and need not be concerned with this trait or
10726/// its implementations.
10727///
10728/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10729/// too. To avoid breaking applications the trait provides a default
10730/// implementation of each method. Most of these implementations just return an
10731/// error.
10732#[cfg(feature = "regions")]
10733#[cfg_attr(docsrs, doc(cfg(feature = "regions")))]
10734pub trait Regions: std::fmt::Debug + Send + Sync {
10735    /// Implements [super::client::Regions::get].
10736    fn get(
10737        &self,
10738        _req: crate::model::regions::GetRequest,
10739        _options: crate::RequestOptions,
10740    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Region>>> + Send
10741    {
10742        gaxi::unimplemented::unimplemented_stub()
10743    }
10744
10745    /// Implements [super::client::Regions::list].
10746    fn list(
10747        &self,
10748        _req: crate::model::regions::ListRequest,
10749        _options: crate::RequestOptions,
10750    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RegionList>>> + Send
10751    {
10752        gaxi::unimplemented::unimplemented_stub()
10753    }
10754}
10755
10756/// Defines the trait used to implement [super::client::ReservationBlocks].
10757///
10758/// Application developers may need to implement this trait to mock
10759/// `client::ReservationBlocks`.  In other use-cases, application developers only
10760/// use `client::ReservationBlocks` and need not be concerned with this trait or
10761/// its implementations.
10762///
10763/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10764/// too. To avoid breaking applications the trait provides a default
10765/// implementation of each method. Most of these implementations just return an
10766/// error.
10767#[cfg(feature = "reservation-blocks")]
10768#[cfg_attr(docsrs, doc(cfg(feature = "reservation-blocks")))]
10769pub trait ReservationBlocks: std::fmt::Debug + Send + Sync {
10770    /// Implements [super::client::ReservationBlocks::get].
10771    fn get(
10772        &self,
10773        _req: crate::model::reservation_blocks::GetRequest,
10774        _options: crate::RequestOptions,
10775    ) -> impl std::future::Future<
10776        Output = crate::Result<crate::Response<crate::model::ReservationBlocksGetResponse>>,
10777    > + Send {
10778        gaxi::unimplemented::unimplemented_stub()
10779    }
10780
10781    /// Implements [super::client::ReservationBlocks::get_iam_policy].
10782    fn get_iam_policy(
10783        &self,
10784        _req: crate::model::reservation_blocks::GetIamPolicyRequest,
10785        _options: crate::RequestOptions,
10786    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10787    {
10788        gaxi::unimplemented::unimplemented_stub()
10789    }
10790
10791    /// Implements [super::client::ReservationBlocks::list].
10792    fn list(
10793        &self,
10794        _req: crate::model::reservation_blocks::ListRequest,
10795        _options: crate::RequestOptions,
10796    ) -> impl std::future::Future<
10797        Output = crate::Result<crate::Response<crate::model::ReservationBlocksListResponse>>,
10798    > + Send {
10799        gaxi::unimplemented::unimplemented_stub()
10800    }
10801
10802    /// Implements [super::client::ReservationBlocks::perform_maintenance].
10803    fn perform_maintenance(
10804        &self,
10805        _req: crate::model::reservation_blocks::PerformMaintenanceRequest,
10806        _options: crate::RequestOptions,
10807    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10808    {
10809        gaxi::unimplemented::unimplemented_stub()
10810    }
10811
10812    /// Implements [super::client::ReservationBlocks::set_iam_policy].
10813    fn set_iam_policy(
10814        &self,
10815        _req: crate::model::reservation_blocks::SetIamPolicyRequest,
10816        _options: crate::RequestOptions,
10817    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10818    {
10819        gaxi::unimplemented::unimplemented_stub()
10820    }
10821
10822    /// Implements [super::client::ReservationBlocks::test_iam_permissions].
10823    fn test_iam_permissions(
10824        &self,
10825        _req: crate::model::reservation_blocks::TestIamPermissionsRequest,
10826        _options: crate::RequestOptions,
10827    ) -> impl std::future::Future<
10828        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10829    > + Send {
10830        gaxi::unimplemented::unimplemented_stub()
10831    }
10832
10833    /// Implements [super::client::ReservationBlocks::get_operation].
10834    fn get_operation(
10835        &self,
10836        _req: crate::model::zone_operations::GetRequest,
10837        _options: crate::RequestOptions,
10838    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10839    {
10840        gaxi::unimplemented::unimplemented_stub()
10841    }
10842
10843    /// Returns the polling error policy.
10844    ///
10845    /// When mocking, this method is typically irrelevant. Do not try to verify
10846    /// it is called by your mocks.
10847    fn get_polling_error_policy(
10848        &self,
10849        _options: &crate::RequestOptions,
10850    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10851        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10852    }
10853
10854    /// Returns the polling backoff policy.
10855    ///
10856    /// When mocking, this method is typically irrelevant. Do not try to verify
10857    /// it is called by your mocks.
10858    fn get_polling_backoff_policy(
10859        &self,
10860        _options: &crate::RequestOptions,
10861    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10862        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10863    }
10864}
10865
10866/// Defines the trait used to implement [super::client::ReservationSlots].
10867///
10868/// Application developers may need to implement this trait to mock
10869/// `client::ReservationSlots`.  In other use-cases, application developers only
10870/// use `client::ReservationSlots` and need not be concerned with this trait or
10871/// its implementations.
10872///
10873/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10874/// too. To avoid breaking applications the trait provides a default
10875/// implementation of each method. Most of these implementations just return an
10876/// error.
10877#[cfg(feature = "reservation-slots")]
10878#[cfg_attr(docsrs, doc(cfg(feature = "reservation-slots")))]
10879pub trait ReservationSlots: std::fmt::Debug + Send + Sync {
10880    /// Implements [super::client::ReservationSlots::get].
10881    fn get(
10882        &self,
10883        _req: crate::model::reservation_slots::GetRequest,
10884        _options: crate::RequestOptions,
10885    ) -> impl std::future::Future<
10886        Output = crate::Result<crate::Response<crate::model::ReservationSlotsGetResponse>>,
10887    > + Send {
10888        gaxi::unimplemented::unimplemented_stub()
10889    }
10890
10891    /// Implements [super::client::ReservationSlots::get_version].
10892    fn get_version(
10893        &self,
10894        _req: crate::model::reservation_slots::GetVersionRequest,
10895        _options: crate::RequestOptions,
10896    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10897    {
10898        gaxi::unimplemented::unimplemented_stub()
10899    }
10900
10901    /// Implements [super::client::ReservationSlots::list].
10902    fn list(
10903        &self,
10904        _req: crate::model::reservation_slots::ListRequest,
10905        _options: crate::RequestOptions,
10906    ) -> impl std::future::Future<
10907        Output = crate::Result<crate::Response<crate::model::ReservationSlotsListResponse>>,
10908    > + Send {
10909        gaxi::unimplemented::unimplemented_stub()
10910    }
10911
10912    /// Implements [super::client::ReservationSlots::update].
10913    fn update(
10914        &self,
10915        _req: crate::model::reservation_slots::UpdateRequest,
10916        _options: crate::RequestOptions,
10917    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10918    {
10919        gaxi::unimplemented::unimplemented_stub()
10920    }
10921
10922    /// Implements [super::client::ReservationSlots::get_operation].
10923    fn get_operation(
10924        &self,
10925        _req: crate::model::zone_operations::GetRequest,
10926        _options: crate::RequestOptions,
10927    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10928    {
10929        gaxi::unimplemented::unimplemented_stub()
10930    }
10931
10932    /// Returns the polling error policy.
10933    ///
10934    /// When mocking, this method is typically irrelevant. Do not try to verify
10935    /// it is called by your mocks.
10936    fn get_polling_error_policy(
10937        &self,
10938        _options: &crate::RequestOptions,
10939    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10940        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10941    }
10942
10943    /// Returns the polling backoff policy.
10944    ///
10945    /// When mocking, this method is typically irrelevant. Do not try to verify
10946    /// it is called by your mocks.
10947    fn get_polling_backoff_policy(
10948        &self,
10949        _options: &crate::RequestOptions,
10950    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10951        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10952    }
10953}
10954
10955/// Defines the trait used to implement [super::client::ReservationSubBlocks].
10956///
10957/// Application developers may need to implement this trait to mock
10958/// `client::ReservationSubBlocks`.  In other use-cases, application developers only
10959/// use `client::ReservationSubBlocks` and need not be concerned with this trait or
10960/// its implementations.
10961///
10962/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10963/// too. To avoid breaking applications the trait provides a default
10964/// implementation of each method. Most of these implementations just return an
10965/// error.
10966#[cfg(feature = "reservation-sub-blocks")]
10967#[cfg_attr(docsrs, doc(cfg(feature = "reservation-sub-blocks")))]
10968pub trait ReservationSubBlocks: std::fmt::Debug + Send + Sync {
10969    /// Implements [super::client::ReservationSubBlocks::get].
10970    fn get(
10971        &self,
10972        _req: crate::model::reservation_sub_blocks::GetRequest,
10973        _options: crate::RequestOptions,
10974    ) -> impl std::future::Future<
10975        Output = crate::Result<crate::Response<crate::model::ReservationSubBlocksGetResponse>>,
10976    > + Send {
10977        gaxi::unimplemented::unimplemented_stub()
10978    }
10979
10980    /// Implements [super::client::ReservationSubBlocks::get_iam_policy].
10981    fn get_iam_policy(
10982        &self,
10983        _req: crate::model::reservation_sub_blocks::GetIamPolicyRequest,
10984        _options: crate::RequestOptions,
10985    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10986    {
10987        gaxi::unimplemented::unimplemented_stub()
10988    }
10989
10990    /// Implements [super::client::ReservationSubBlocks::get_version].
10991    fn get_version(
10992        &self,
10993        _req: crate::model::reservation_sub_blocks::GetVersionRequest,
10994        _options: crate::RequestOptions,
10995    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10996    {
10997        gaxi::unimplemented::unimplemented_stub()
10998    }
10999
11000    /// Implements [super::client::ReservationSubBlocks::list].
11001    fn list(
11002        &self,
11003        _req: crate::model::reservation_sub_blocks::ListRequest,
11004        _options: crate::RequestOptions,
11005    ) -> impl std::future::Future<
11006        Output = crate::Result<crate::Response<crate::model::ReservationSubBlocksListResponse>>,
11007    > + Send {
11008        gaxi::unimplemented::unimplemented_stub()
11009    }
11010
11011    /// Implements [super::client::ReservationSubBlocks::perform_maintenance].
11012    fn perform_maintenance(
11013        &self,
11014        _req: crate::model::reservation_sub_blocks::PerformMaintenanceRequest,
11015        _options: crate::RequestOptions,
11016    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11017    {
11018        gaxi::unimplemented::unimplemented_stub()
11019    }
11020
11021    /// Implements [super::client::ReservationSubBlocks::report_faulty].
11022    fn report_faulty(
11023        &self,
11024        _req: crate::model::reservation_sub_blocks::ReportFaultyRequest,
11025        _options: crate::RequestOptions,
11026    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11027    {
11028        gaxi::unimplemented::unimplemented_stub()
11029    }
11030
11031    /// Implements [super::client::ReservationSubBlocks::set_iam_policy].
11032    fn set_iam_policy(
11033        &self,
11034        _req: crate::model::reservation_sub_blocks::SetIamPolicyRequest,
11035        _options: crate::RequestOptions,
11036    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11037    {
11038        gaxi::unimplemented::unimplemented_stub()
11039    }
11040
11041    /// Implements [super::client::ReservationSubBlocks::test_iam_permissions].
11042    fn test_iam_permissions(
11043        &self,
11044        _req: crate::model::reservation_sub_blocks::TestIamPermissionsRequest,
11045        _options: crate::RequestOptions,
11046    ) -> impl std::future::Future<
11047        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11048    > + Send {
11049        gaxi::unimplemented::unimplemented_stub()
11050    }
11051
11052    /// Implements [super::client::ReservationSubBlocks::get_operation].
11053    fn get_operation(
11054        &self,
11055        _req: crate::model::zone_operations::GetRequest,
11056        _options: crate::RequestOptions,
11057    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11058    {
11059        gaxi::unimplemented::unimplemented_stub()
11060    }
11061
11062    /// Returns the polling error policy.
11063    ///
11064    /// When mocking, this method is typically irrelevant. Do not try to verify
11065    /// it is called by your mocks.
11066    fn get_polling_error_policy(
11067        &self,
11068        _options: &crate::RequestOptions,
11069    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11070        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11071    }
11072
11073    /// Returns the polling backoff policy.
11074    ///
11075    /// When mocking, this method is typically irrelevant. Do not try to verify
11076    /// it is called by your mocks.
11077    fn get_polling_backoff_policy(
11078        &self,
11079        _options: &crate::RequestOptions,
11080    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11081        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11082    }
11083}
11084
11085/// Defines the trait used to implement [super::client::Reservations].
11086///
11087/// Application developers may need to implement this trait to mock
11088/// `client::Reservations`.  In other use-cases, application developers only
11089/// use `client::Reservations` and need not be concerned with this trait or
11090/// its implementations.
11091///
11092/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11093/// too. To avoid breaking applications the trait provides a default
11094/// implementation of each method. Most of these implementations just return an
11095/// error.
11096#[cfg(feature = "reservations")]
11097#[cfg_attr(docsrs, doc(cfg(feature = "reservations")))]
11098pub trait Reservations: std::fmt::Debug + Send + Sync {
11099    /// Implements [super::client::Reservations::aggregated_list].
11100    fn aggregated_list(
11101        &self,
11102        _req: crate::model::reservations::AggregatedListRequest,
11103        _options: crate::RequestOptions,
11104    ) -> impl std::future::Future<
11105        Output = crate::Result<crate::Response<crate::model::ReservationAggregatedList>>,
11106    > + Send {
11107        gaxi::unimplemented::unimplemented_stub()
11108    }
11109
11110    /// Implements [super::client::Reservations::delete].
11111    fn delete(
11112        &self,
11113        _req: crate::model::reservations::DeleteRequest,
11114        _options: crate::RequestOptions,
11115    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11116    {
11117        gaxi::unimplemented::unimplemented_stub()
11118    }
11119
11120    /// Implements [super::client::Reservations::get].
11121    fn get(
11122        &self,
11123        _req: crate::model::reservations::GetRequest,
11124        _options: crate::RequestOptions,
11125    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Reservation>>>
11126    + Send {
11127        gaxi::unimplemented::unimplemented_stub()
11128    }
11129
11130    /// Implements [super::client::Reservations::get_iam_policy].
11131    fn get_iam_policy(
11132        &self,
11133        _req: crate::model::reservations::GetIamPolicyRequest,
11134        _options: crate::RequestOptions,
11135    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11136    {
11137        gaxi::unimplemented::unimplemented_stub()
11138    }
11139
11140    /// Implements [super::client::Reservations::insert].
11141    fn insert(
11142        &self,
11143        _req: crate::model::reservations::InsertRequest,
11144        _options: crate::RequestOptions,
11145    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11146    {
11147        gaxi::unimplemented::unimplemented_stub()
11148    }
11149
11150    /// Implements [super::client::Reservations::list].
11151    fn list(
11152        &self,
11153        _req: crate::model::reservations::ListRequest,
11154        _options: crate::RequestOptions,
11155    ) -> impl std::future::Future<
11156        Output = crate::Result<crate::Response<crate::model::ReservationList>>,
11157    > + Send {
11158        gaxi::unimplemented::unimplemented_stub()
11159    }
11160
11161    /// Implements [super::client::Reservations::perform_maintenance].
11162    fn perform_maintenance(
11163        &self,
11164        _req: crate::model::reservations::PerformMaintenanceRequest,
11165        _options: crate::RequestOptions,
11166    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11167    {
11168        gaxi::unimplemented::unimplemented_stub()
11169    }
11170
11171    /// Implements [super::client::Reservations::resize].
11172    fn resize(
11173        &self,
11174        _req: crate::model::reservations::ResizeRequest,
11175        _options: crate::RequestOptions,
11176    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11177    {
11178        gaxi::unimplemented::unimplemented_stub()
11179    }
11180
11181    /// Implements [super::client::Reservations::set_iam_policy].
11182    fn set_iam_policy(
11183        &self,
11184        _req: crate::model::reservations::SetIamPolicyRequest,
11185        _options: crate::RequestOptions,
11186    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11187    {
11188        gaxi::unimplemented::unimplemented_stub()
11189    }
11190
11191    /// Implements [super::client::Reservations::test_iam_permissions].
11192    fn test_iam_permissions(
11193        &self,
11194        _req: crate::model::reservations::TestIamPermissionsRequest,
11195        _options: crate::RequestOptions,
11196    ) -> impl std::future::Future<
11197        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11198    > + Send {
11199        gaxi::unimplemented::unimplemented_stub()
11200    }
11201
11202    /// Implements [super::client::Reservations::update].
11203    fn update(
11204        &self,
11205        _req: crate::model::reservations::UpdateRequest,
11206        _options: crate::RequestOptions,
11207    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11208    {
11209        gaxi::unimplemented::unimplemented_stub()
11210    }
11211
11212    /// Implements [super::client::Reservations::get_operation].
11213    fn get_operation(
11214        &self,
11215        _req: crate::model::zone_operations::GetRequest,
11216        _options: crate::RequestOptions,
11217    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11218    {
11219        gaxi::unimplemented::unimplemented_stub()
11220    }
11221
11222    /// Returns the polling error policy.
11223    ///
11224    /// When mocking, this method is typically irrelevant. Do not try to verify
11225    /// it is called by your mocks.
11226    fn get_polling_error_policy(
11227        &self,
11228        _options: &crate::RequestOptions,
11229    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11230        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11231    }
11232
11233    /// Returns the polling backoff policy.
11234    ///
11235    /// When mocking, this method is typically irrelevant. Do not try to verify
11236    /// it is called by your mocks.
11237    fn get_polling_backoff_policy(
11238        &self,
11239        _options: &crate::RequestOptions,
11240    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11241        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11242    }
11243}
11244
11245/// Defines the trait used to implement [super::client::ResourcePolicies].
11246///
11247/// Application developers may need to implement this trait to mock
11248/// `client::ResourcePolicies`.  In other use-cases, application developers only
11249/// use `client::ResourcePolicies` and need not be concerned with this trait or
11250/// its implementations.
11251///
11252/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11253/// too. To avoid breaking applications the trait provides a default
11254/// implementation of each method. Most of these implementations just return an
11255/// error.
11256#[cfg(feature = "resource-policies")]
11257#[cfg_attr(docsrs, doc(cfg(feature = "resource-policies")))]
11258pub trait ResourcePolicies: std::fmt::Debug + Send + Sync {
11259    /// Implements [super::client::ResourcePolicies::aggregated_list].
11260    fn aggregated_list(
11261        &self,
11262        _req: crate::model::resource_policies::AggregatedListRequest,
11263        _options: crate::RequestOptions,
11264    ) -> impl std::future::Future<
11265        Output = crate::Result<crate::Response<crate::model::ResourcePolicyAggregatedList>>,
11266    > + Send {
11267        gaxi::unimplemented::unimplemented_stub()
11268    }
11269
11270    /// Implements [super::client::ResourcePolicies::delete].
11271    fn delete(
11272        &self,
11273        _req: crate::model::resource_policies::DeleteRequest,
11274        _options: crate::RequestOptions,
11275    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11276    {
11277        gaxi::unimplemented::unimplemented_stub()
11278    }
11279
11280    /// Implements [super::client::ResourcePolicies::get].
11281    fn get(
11282        &self,
11283        _req: crate::model::resource_policies::GetRequest,
11284        _options: crate::RequestOptions,
11285    ) -> impl std::future::Future<
11286        Output = crate::Result<crate::Response<crate::model::ResourcePolicy>>,
11287    > + Send {
11288        gaxi::unimplemented::unimplemented_stub()
11289    }
11290
11291    /// Implements [super::client::ResourcePolicies::get_iam_policy].
11292    fn get_iam_policy(
11293        &self,
11294        _req: crate::model::resource_policies::GetIamPolicyRequest,
11295        _options: crate::RequestOptions,
11296    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11297    {
11298        gaxi::unimplemented::unimplemented_stub()
11299    }
11300
11301    /// Implements [super::client::ResourcePolicies::insert].
11302    fn insert(
11303        &self,
11304        _req: crate::model::resource_policies::InsertRequest,
11305        _options: crate::RequestOptions,
11306    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11307    {
11308        gaxi::unimplemented::unimplemented_stub()
11309    }
11310
11311    /// Implements [super::client::ResourcePolicies::list].
11312    fn list(
11313        &self,
11314        _req: crate::model::resource_policies::ListRequest,
11315        _options: crate::RequestOptions,
11316    ) -> impl std::future::Future<
11317        Output = crate::Result<crate::Response<crate::model::ResourcePolicyList>>,
11318    > + Send {
11319        gaxi::unimplemented::unimplemented_stub()
11320    }
11321
11322    /// Implements [super::client::ResourcePolicies::patch].
11323    fn patch(
11324        &self,
11325        _req: crate::model::resource_policies::PatchRequest,
11326        _options: crate::RequestOptions,
11327    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11328    {
11329        gaxi::unimplemented::unimplemented_stub()
11330    }
11331
11332    /// Implements [super::client::ResourcePolicies::set_iam_policy].
11333    fn set_iam_policy(
11334        &self,
11335        _req: crate::model::resource_policies::SetIamPolicyRequest,
11336        _options: crate::RequestOptions,
11337    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11338    {
11339        gaxi::unimplemented::unimplemented_stub()
11340    }
11341
11342    /// Implements [super::client::ResourcePolicies::test_iam_permissions].
11343    fn test_iam_permissions(
11344        &self,
11345        _req: crate::model::resource_policies::TestIamPermissionsRequest,
11346        _options: crate::RequestOptions,
11347    ) -> impl std::future::Future<
11348        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11349    > + Send {
11350        gaxi::unimplemented::unimplemented_stub()
11351    }
11352
11353    /// Implements [super::client::ResourcePolicies::get_operation].
11354    fn get_operation(
11355        &self,
11356        _req: crate::model::region_operations::GetRequest,
11357        _options: crate::RequestOptions,
11358    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11359    {
11360        gaxi::unimplemented::unimplemented_stub()
11361    }
11362
11363    /// Returns the polling error policy.
11364    ///
11365    /// When mocking, this method is typically irrelevant. Do not try to verify
11366    /// it is called by your mocks.
11367    fn get_polling_error_policy(
11368        &self,
11369        _options: &crate::RequestOptions,
11370    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11371        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11372    }
11373
11374    /// Returns the polling backoff policy.
11375    ///
11376    /// When mocking, this method is typically irrelevant. Do not try to verify
11377    /// it is called by your mocks.
11378    fn get_polling_backoff_policy(
11379        &self,
11380        _options: &crate::RequestOptions,
11381    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11382        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11383    }
11384}
11385
11386/// Defines the trait used to implement [super::client::Routers].
11387///
11388/// Application developers may need to implement this trait to mock
11389/// `client::Routers`.  In other use-cases, application developers only
11390/// use `client::Routers` and need not be concerned with this trait or
11391/// its implementations.
11392///
11393/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11394/// too. To avoid breaking applications the trait provides a default
11395/// implementation of each method. Most of these implementations just return an
11396/// error.
11397#[cfg(feature = "routers")]
11398#[cfg_attr(docsrs, doc(cfg(feature = "routers")))]
11399pub trait Routers: std::fmt::Debug + Send + Sync {
11400    /// Implements [super::client::Routers::aggregated_list].
11401    fn aggregated_list(
11402        &self,
11403        _req: crate::model::routers::AggregatedListRequest,
11404        _options: crate::RequestOptions,
11405    ) -> impl std::future::Future<
11406        Output = crate::Result<crate::Response<crate::model::RouterAggregatedList>>,
11407    > + Send {
11408        gaxi::unimplemented::unimplemented_stub()
11409    }
11410
11411    /// Implements [super::client::Routers::delete].
11412    fn delete(
11413        &self,
11414        _req: crate::model::routers::DeleteRequest,
11415        _options: crate::RequestOptions,
11416    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11417    {
11418        gaxi::unimplemented::unimplemented_stub()
11419    }
11420
11421    /// Implements [super::client::Routers::delete_route_policy].
11422    fn delete_route_policy(
11423        &self,
11424        _req: crate::model::routers::DeleteRoutePolicyRequest,
11425        _options: crate::RequestOptions,
11426    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11427    {
11428        gaxi::unimplemented::unimplemented_stub()
11429    }
11430
11431    /// Implements [super::client::Routers::get].
11432    fn get(
11433        &self,
11434        _req: crate::model::routers::GetRequest,
11435        _options: crate::RequestOptions,
11436    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Router>>> + Send
11437    {
11438        gaxi::unimplemented::unimplemented_stub()
11439    }
11440
11441    /// Implements [super::client::Routers::get_nat_ip_info].
11442    fn get_nat_ip_info(
11443        &self,
11444        _req: crate::model::routers::GetNatIpInfoRequest,
11445        _options: crate::RequestOptions,
11446    ) -> impl std::future::Future<
11447        Output = crate::Result<crate::Response<crate::model::NatIpInfoResponse>>,
11448    > + Send {
11449        gaxi::unimplemented::unimplemented_stub()
11450    }
11451
11452    /// Implements [super::client::Routers::get_nat_mapping_info].
11453    fn get_nat_mapping_info(
11454        &self,
11455        _req: crate::model::routers::GetNatMappingInfoRequest,
11456        _options: crate::RequestOptions,
11457    ) -> impl std::future::Future<
11458        Output = crate::Result<crate::Response<crate::model::VmEndpointNatMappingsList>>,
11459    > + Send {
11460        gaxi::unimplemented::unimplemented_stub()
11461    }
11462
11463    /// Implements [super::client::Routers::get_route_policy].
11464    fn get_route_policy(
11465        &self,
11466        _req: crate::model::routers::GetRoutePolicyRequest,
11467        _options: crate::RequestOptions,
11468    ) -> impl std::future::Future<
11469        Output = crate::Result<crate::Response<crate::model::RoutersGetRoutePolicyResponse>>,
11470    > + Send {
11471        gaxi::unimplemented::unimplemented_stub()
11472    }
11473
11474    /// Implements [super::client::Routers::get_router_status].
11475    fn get_router_status(
11476        &self,
11477        _req: crate::model::routers::GetRouterStatusRequest,
11478        _options: crate::RequestOptions,
11479    ) -> impl std::future::Future<
11480        Output = crate::Result<crate::Response<crate::model::RouterStatusResponse>>,
11481    > + Send {
11482        gaxi::unimplemented::unimplemented_stub()
11483    }
11484
11485    /// Implements [super::client::Routers::insert].
11486    fn insert(
11487        &self,
11488        _req: crate::model::routers::InsertRequest,
11489        _options: crate::RequestOptions,
11490    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11491    {
11492        gaxi::unimplemented::unimplemented_stub()
11493    }
11494
11495    /// Implements [super::client::Routers::list].
11496    fn list(
11497        &self,
11498        _req: crate::model::routers::ListRequest,
11499        _options: crate::RequestOptions,
11500    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RouterList>>> + Send
11501    {
11502        gaxi::unimplemented::unimplemented_stub()
11503    }
11504
11505    /// Implements [super::client::Routers::list_bgp_routes].
11506    fn list_bgp_routes(
11507        &self,
11508        _req: crate::model::routers::ListBgpRoutesRequest,
11509        _options: crate::RequestOptions,
11510    ) -> impl std::future::Future<
11511        Output = crate::Result<crate::Response<crate::model::RoutersListBgpRoutes>>,
11512    > + Send {
11513        gaxi::unimplemented::unimplemented_stub()
11514    }
11515
11516    /// Implements [super::client::Routers::list_route_policies].
11517    fn list_route_policies(
11518        &self,
11519        _req: crate::model::routers::ListRoutePoliciesRequest,
11520        _options: crate::RequestOptions,
11521    ) -> impl std::future::Future<
11522        Output = crate::Result<crate::Response<crate::model::RoutersListRoutePolicies>>,
11523    > + Send {
11524        gaxi::unimplemented::unimplemented_stub()
11525    }
11526
11527    /// Implements [super::client::Routers::patch].
11528    fn patch(
11529        &self,
11530        _req: crate::model::routers::PatchRequest,
11531        _options: crate::RequestOptions,
11532    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11533    {
11534        gaxi::unimplemented::unimplemented_stub()
11535    }
11536
11537    /// Implements [super::client::Routers::patch_route_policy].
11538    fn patch_route_policy(
11539        &self,
11540        _req: crate::model::routers::PatchRoutePolicyRequest,
11541        _options: crate::RequestOptions,
11542    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11543    {
11544        gaxi::unimplemented::unimplemented_stub()
11545    }
11546
11547    /// Implements [super::client::Routers::preview].
11548    fn preview(
11549        &self,
11550        _req: crate::model::routers::PreviewRequest,
11551        _options: crate::RequestOptions,
11552    ) -> impl std::future::Future<
11553        Output = crate::Result<crate::Response<crate::model::RoutersPreviewResponse>>,
11554    > + Send {
11555        gaxi::unimplemented::unimplemented_stub()
11556    }
11557
11558    /// Implements [super::client::Routers::update].
11559    fn update(
11560        &self,
11561        _req: crate::model::routers::UpdateRequest,
11562        _options: crate::RequestOptions,
11563    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11564    {
11565        gaxi::unimplemented::unimplemented_stub()
11566    }
11567
11568    /// Implements [super::client::Routers::update_route_policy].
11569    fn update_route_policy(
11570        &self,
11571        _req: crate::model::routers::UpdateRoutePolicyRequest,
11572        _options: crate::RequestOptions,
11573    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11574    {
11575        gaxi::unimplemented::unimplemented_stub()
11576    }
11577
11578    /// Implements [super::client::Routers::get_operation].
11579    fn get_operation(
11580        &self,
11581        _req: crate::model::region_operations::GetRequest,
11582        _options: crate::RequestOptions,
11583    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11584    {
11585        gaxi::unimplemented::unimplemented_stub()
11586    }
11587
11588    /// Returns the polling error policy.
11589    ///
11590    /// When mocking, this method is typically irrelevant. Do not try to verify
11591    /// it is called by your mocks.
11592    fn get_polling_error_policy(
11593        &self,
11594        _options: &crate::RequestOptions,
11595    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11596        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11597    }
11598
11599    /// Returns the polling backoff policy.
11600    ///
11601    /// When mocking, this method is typically irrelevant. Do not try to verify
11602    /// it is called by your mocks.
11603    fn get_polling_backoff_policy(
11604        &self,
11605        _options: &crate::RequestOptions,
11606    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11607        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11608    }
11609}
11610
11611/// Defines the trait used to implement [super::client::Routes].
11612///
11613/// Application developers may need to implement this trait to mock
11614/// `client::Routes`.  In other use-cases, application developers only
11615/// use `client::Routes` and need not be concerned with this trait or
11616/// its implementations.
11617///
11618/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11619/// too. To avoid breaking applications the trait provides a default
11620/// implementation of each method. Most of these implementations just return an
11621/// error.
11622#[cfg(feature = "routes")]
11623#[cfg_attr(docsrs, doc(cfg(feature = "routes")))]
11624pub trait Routes: std::fmt::Debug + Send + Sync {
11625    /// Implements [super::client::Routes::delete].
11626    fn delete(
11627        &self,
11628        _req: crate::model::routes::DeleteRequest,
11629        _options: crate::RequestOptions,
11630    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11631    {
11632        gaxi::unimplemented::unimplemented_stub()
11633    }
11634
11635    /// Implements [super::client::Routes::get].
11636    fn get(
11637        &self,
11638        _req: crate::model::routes::GetRequest,
11639        _options: crate::RequestOptions,
11640    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Route>>> + Send
11641    {
11642        gaxi::unimplemented::unimplemented_stub()
11643    }
11644
11645    /// Implements [super::client::Routes::insert].
11646    fn insert(
11647        &self,
11648        _req: crate::model::routes::InsertRequest,
11649        _options: crate::RequestOptions,
11650    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11651    {
11652        gaxi::unimplemented::unimplemented_stub()
11653    }
11654
11655    /// Implements [super::client::Routes::list].
11656    fn list(
11657        &self,
11658        _req: crate::model::routes::ListRequest,
11659        _options: crate::RequestOptions,
11660    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RouteList>>> + Send
11661    {
11662        gaxi::unimplemented::unimplemented_stub()
11663    }
11664
11665    /// Implements [super::client::Routes::test_iam_permissions].
11666    fn test_iam_permissions(
11667        &self,
11668        _req: crate::model::routes::TestIamPermissionsRequest,
11669        _options: crate::RequestOptions,
11670    ) -> impl std::future::Future<
11671        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11672    > + Send {
11673        gaxi::unimplemented::unimplemented_stub()
11674    }
11675
11676    /// Implements [super::client::Routes::get_operation].
11677    fn get_operation(
11678        &self,
11679        _req: crate::model::global_operations::GetRequest,
11680        _options: crate::RequestOptions,
11681    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11682    {
11683        gaxi::unimplemented::unimplemented_stub()
11684    }
11685
11686    /// Returns the polling error policy.
11687    ///
11688    /// When mocking, this method is typically irrelevant. Do not try to verify
11689    /// it is called by your mocks.
11690    fn get_polling_error_policy(
11691        &self,
11692        _options: &crate::RequestOptions,
11693    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11694        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11695    }
11696
11697    /// Returns the polling backoff policy.
11698    ///
11699    /// When mocking, this method is typically irrelevant. Do not try to verify
11700    /// it is called by your mocks.
11701    fn get_polling_backoff_policy(
11702        &self,
11703        _options: &crate::RequestOptions,
11704    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11705        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11706    }
11707}
11708
11709/// Defines the trait used to implement [super::client::SecurityPolicies].
11710///
11711/// Application developers may need to implement this trait to mock
11712/// `client::SecurityPolicies`.  In other use-cases, application developers only
11713/// use `client::SecurityPolicies` and need not be concerned with this trait or
11714/// its implementations.
11715///
11716/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11717/// too. To avoid breaking applications the trait provides a default
11718/// implementation of each method. Most of these implementations just return an
11719/// error.
11720#[cfg(feature = "security-policies")]
11721#[cfg_attr(docsrs, doc(cfg(feature = "security-policies")))]
11722pub trait SecurityPolicies: std::fmt::Debug + Send + Sync {
11723    /// Implements [super::client::SecurityPolicies::add_rule].
11724    fn add_rule(
11725        &self,
11726        _req: crate::model::security_policies::AddRuleRequest,
11727        _options: crate::RequestOptions,
11728    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11729    {
11730        gaxi::unimplemented::unimplemented_stub()
11731    }
11732
11733    /// Implements [super::client::SecurityPolicies::aggregated_list].
11734    fn aggregated_list(
11735        &self,
11736        _req: crate::model::security_policies::AggregatedListRequest,
11737        _options: crate::RequestOptions,
11738    ) -> impl std::future::Future<
11739        Output = crate::Result<crate::Response<crate::model::SecurityPoliciesAggregatedList>>,
11740    > + Send {
11741        gaxi::unimplemented::unimplemented_stub()
11742    }
11743
11744    /// Implements [super::client::SecurityPolicies::delete].
11745    fn delete(
11746        &self,
11747        _req: crate::model::security_policies::DeleteRequest,
11748        _options: crate::RequestOptions,
11749    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11750    {
11751        gaxi::unimplemented::unimplemented_stub()
11752    }
11753
11754    /// Implements [super::client::SecurityPolicies::get].
11755    fn get(
11756        &self,
11757        _req: crate::model::security_policies::GetRequest,
11758        _options: crate::RequestOptions,
11759    ) -> impl std::future::Future<
11760        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
11761    > + Send {
11762        gaxi::unimplemented::unimplemented_stub()
11763    }
11764
11765    /// Implements [super::client::SecurityPolicies::get_rule].
11766    fn get_rule(
11767        &self,
11768        _req: crate::model::security_policies::GetRuleRequest,
11769        _options: crate::RequestOptions,
11770    ) -> impl std::future::Future<
11771        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
11772    > + Send {
11773        gaxi::unimplemented::unimplemented_stub()
11774    }
11775
11776    /// Implements [super::client::SecurityPolicies::insert].
11777    fn insert(
11778        &self,
11779        _req: crate::model::security_policies::InsertRequest,
11780        _options: crate::RequestOptions,
11781    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11782    {
11783        gaxi::unimplemented::unimplemented_stub()
11784    }
11785
11786    /// Implements [super::client::SecurityPolicies::list].
11787    fn list(
11788        &self,
11789        _req: crate::model::security_policies::ListRequest,
11790        _options: crate::RequestOptions,
11791    ) -> impl std::future::Future<
11792        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
11793    > + Send {
11794        gaxi::unimplemented::unimplemented_stub()
11795    }
11796
11797    /// Implements [super::client::SecurityPolicies::list_preconfigured_expression_sets].
11798    fn list_preconfigured_expression_sets(
11799        &self,
11800        _req: crate::model::security_policies::ListPreconfiguredExpressionSetsRequest,
11801        _options: crate::RequestOptions,
11802    ) -> impl std::future::Future<
11803        Output = crate::Result<
11804            crate::Response<crate::model::SecurityPoliciesListPreconfiguredExpressionSetsResponse>,
11805        >,
11806    > + Send {
11807        gaxi::unimplemented::unimplemented_stub()
11808    }
11809
11810    /// Implements [super::client::SecurityPolicies::patch].
11811    fn patch(
11812        &self,
11813        _req: crate::model::security_policies::PatchRequest,
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::SecurityPolicies::patch_rule].
11821    fn patch_rule(
11822        &self,
11823        _req: crate::model::security_policies::PatchRuleRequest,
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    /// Implements [super::client::SecurityPolicies::remove_rule].
11831    fn remove_rule(
11832        &self,
11833        _req: crate::model::security_policies::RemoveRuleRequest,
11834        _options: crate::RequestOptions,
11835    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11836    {
11837        gaxi::unimplemented::unimplemented_stub()
11838    }
11839
11840    /// Implements [super::client::SecurityPolicies::set_labels].
11841    fn set_labels(
11842        &self,
11843        _req: crate::model::security_policies::SetLabelsRequest,
11844        _options: crate::RequestOptions,
11845    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11846    {
11847        gaxi::unimplemented::unimplemented_stub()
11848    }
11849
11850    /// Implements [super::client::SecurityPolicies::get_operation].
11851    fn get_operation(
11852        &self,
11853        _req: crate::model::global_operations::GetRequest,
11854        _options: crate::RequestOptions,
11855    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11856    {
11857        gaxi::unimplemented::unimplemented_stub()
11858    }
11859
11860    /// Returns the polling error policy.
11861    ///
11862    /// When mocking, this method is typically irrelevant. Do not try to verify
11863    /// it is called by your mocks.
11864    fn get_polling_error_policy(
11865        &self,
11866        _options: &crate::RequestOptions,
11867    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11868        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11869    }
11870
11871    /// Returns the polling backoff policy.
11872    ///
11873    /// When mocking, this method is typically irrelevant. Do not try to verify
11874    /// it is called by your mocks.
11875    fn get_polling_backoff_policy(
11876        &self,
11877        _options: &crate::RequestOptions,
11878    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11879        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11880    }
11881}
11882
11883/// Defines the trait used to implement [super::client::ServiceAttachments].
11884///
11885/// Application developers may need to implement this trait to mock
11886/// `client::ServiceAttachments`.  In other use-cases, application developers only
11887/// use `client::ServiceAttachments` and need not be concerned with this trait or
11888/// its implementations.
11889///
11890/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11891/// too. To avoid breaking applications the trait provides a default
11892/// implementation of each method. Most of these implementations just return an
11893/// error.
11894#[cfg(feature = "service-attachments")]
11895#[cfg_attr(docsrs, doc(cfg(feature = "service-attachments")))]
11896pub trait ServiceAttachments: std::fmt::Debug + Send + Sync {
11897    /// Implements [super::client::ServiceAttachments::aggregated_list].
11898    fn aggregated_list(
11899        &self,
11900        _req: crate::model::service_attachments::AggregatedListRequest,
11901        _options: crate::RequestOptions,
11902    ) -> impl std::future::Future<
11903        Output = crate::Result<crate::Response<crate::model::ServiceAttachmentAggregatedList>>,
11904    > + Send {
11905        gaxi::unimplemented::unimplemented_stub()
11906    }
11907
11908    /// Implements [super::client::ServiceAttachments::delete].
11909    fn delete(
11910        &self,
11911        _req: crate::model::service_attachments::DeleteRequest,
11912        _options: crate::RequestOptions,
11913    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11914    {
11915        gaxi::unimplemented::unimplemented_stub()
11916    }
11917
11918    /// Implements [super::client::ServiceAttachments::get].
11919    fn get(
11920        &self,
11921        _req: crate::model::service_attachments::GetRequest,
11922        _options: crate::RequestOptions,
11923    ) -> impl std::future::Future<
11924        Output = crate::Result<crate::Response<crate::model::ServiceAttachment>>,
11925    > + Send {
11926        gaxi::unimplemented::unimplemented_stub()
11927    }
11928
11929    /// Implements [super::client::ServiceAttachments::get_iam_policy].
11930    fn get_iam_policy(
11931        &self,
11932        _req: crate::model::service_attachments::GetIamPolicyRequest,
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::ServiceAttachments::insert].
11940    fn insert(
11941        &self,
11942        _req: crate::model::service_attachments::InsertRequest,
11943        _options: crate::RequestOptions,
11944    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11945    {
11946        gaxi::unimplemented::unimplemented_stub()
11947    }
11948
11949    /// Implements [super::client::ServiceAttachments::list].
11950    fn list(
11951        &self,
11952        _req: crate::model::service_attachments::ListRequest,
11953        _options: crate::RequestOptions,
11954    ) -> impl std::future::Future<
11955        Output = crate::Result<crate::Response<crate::model::ServiceAttachmentList>>,
11956    > + Send {
11957        gaxi::unimplemented::unimplemented_stub()
11958    }
11959
11960    /// Implements [super::client::ServiceAttachments::patch].
11961    fn patch(
11962        &self,
11963        _req: crate::model::service_attachments::PatchRequest,
11964        _options: crate::RequestOptions,
11965    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11966    {
11967        gaxi::unimplemented::unimplemented_stub()
11968    }
11969
11970    /// Implements [super::client::ServiceAttachments::set_iam_policy].
11971    fn set_iam_policy(
11972        &self,
11973        _req: crate::model::service_attachments::SetIamPolicyRequest,
11974        _options: crate::RequestOptions,
11975    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11976    {
11977        gaxi::unimplemented::unimplemented_stub()
11978    }
11979
11980    /// Implements [super::client::ServiceAttachments::test_iam_permissions].
11981    fn test_iam_permissions(
11982        &self,
11983        _req: crate::model::service_attachments::TestIamPermissionsRequest,
11984        _options: crate::RequestOptions,
11985    ) -> impl std::future::Future<
11986        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11987    > + Send {
11988        gaxi::unimplemented::unimplemented_stub()
11989    }
11990
11991    /// Implements [super::client::ServiceAttachments::get_operation].
11992    fn get_operation(
11993        &self,
11994        _req: crate::model::region_operations::GetRequest,
11995        _options: crate::RequestOptions,
11996    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11997    {
11998        gaxi::unimplemented::unimplemented_stub()
11999    }
12000
12001    /// Returns the polling error policy.
12002    ///
12003    /// When mocking, this method is typically irrelevant. Do not try to verify
12004    /// it is called by your mocks.
12005    fn get_polling_error_policy(
12006        &self,
12007        _options: &crate::RequestOptions,
12008    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12009        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12010    }
12011
12012    /// Returns the polling backoff policy.
12013    ///
12014    /// When mocking, this method is typically irrelevant. Do not try to verify
12015    /// it is called by your mocks.
12016    fn get_polling_backoff_policy(
12017        &self,
12018        _options: &crate::RequestOptions,
12019    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12020        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12021    }
12022}
12023
12024/// Defines the trait used to implement [super::client::SnapshotSettings].
12025///
12026/// Application developers may need to implement this trait to mock
12027/// `client::SnapshotSettings`.  In other use-cases, application developers only
12028/// use `client::SnapshotSettings` and need not be concerned with this trait or
12029/// its implementations.
12030///
12031/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12032/// too. To avoid breaking applications the trait provides a default
12033/// implementation of each method. Most of these implementations just return an
12034/// error.
12035#[cfg(feature = "snapshot-settings")]
12036#[cfg_attr(docsrs, doc(cfg(feature = "snapshot-settings")))]
12037pub trait SnapshotSettings: std::fmt::Debug + Send + Sync {
12038    /// Implements [super::client::SnapshotSettings::get].
12039    fn get(
12040        &self,
12041        _req: crate::model::snapshot_settings::GetRequest,
12042        _options: crate::RequestOptions,
12043    ) -> impl std::future::Future<
12044        Output = crate::Result<crate::Response<crate::model::SnapshotSettings>>,
12045    > + Send {
12046        gaxi::unimplemented::unimplemented_stub()
12047    }
12048
12049    /// Implements [super::client::SnapshotSettings::patch].
12050    fn patch(
12051        &self,
12052        _req: crate::model::snapshot_settings::PatchRequest,
12053        _options: crate::RequestOptions,
12054    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12055    {
12056        gaxi::unimplemented::unimplemented_stub()
12057    }
12058
12059    /// Implements [super::client::SnapshotSettings::get_operation].
12060    fn get_operation(
12061        &self,
12062        _req: crate::model::global_operations::GetRequest,
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    /// Returns the polling error policy.
12070    ///
12071    /// When mocking, this method is typically irrelevant. Do not try to verify
12072    /// it is called by your mocks.
12073    fn get_polling_error_policy(
12074        &self,
12075        _options: &crate::RequestOptions,
12076    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12077        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12078    }
12079
12080    /// Returns the polling backoff policy.
12081    ///
12082    /// When mocking, this method is typically irrelevant. Do not try to verify
12083    /// it is called by your mocks.
12084    fn get_polling_backoff_policy(
12085        &self,
12086        _options: &crate::RequestOptions,
12087    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12088        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12089    }
12090}
12091
12092/// Defines the trait used to implement [super::client::Snapshots].
12093///
12094/// Application developers may need to implement this trait to mock
12095/// `client::Snapshots`.  In other use-cases, application developers only
12096/// use `client::Snapshots` and need not be concerned with this trait or
12097/// its implementations.
12098///
12099/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12100/// too. To avoid breaking applications the trait provides a default
12101/// implementation of each method. Most of these implementations just return an
12102/// error.
12103#[cfg(feature = "snapshots")]
12104#[cfg_attr(docsrs, doc(cfg(feature = "snapshots")))]
12105pub trait Snapshots: std::fmt::Debug + Send + Sync {
12106    /// Implements [super::client::Snapshots::delete].
12107    fn delete(
12108        &self,
12109        _req: crate::model::snapshots::DeleteRequest,
12110        _options: crate::RequestOptions,
12111    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12112    {
12113        gaxi::unimplemented::unimplemented_stub()
12114    }
12115
12116    /// Implements [super::client::Snapshots::get].
12117    fn get(
12118        &self,
12119        _req: crate::model::snapshots::GetRequest,
12120        _options: crate::RequestOptions,
12121    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Snapshot>>> + Send
12122    {
12123        gaxi::unimplemented::unimplemented_stub()
12124    }
12125
12126    /// Implements [super::client::Snapshots::get_iam_policy].
12127    fn get_iam_policy(
12128        &self,
12129        _req: crate::model::snapshots::GetIamPolicyRequest,
12130        _options: crate::RequestOptions,
12131    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12132    {
12133        gaxi::unimplemented::unimplemented_stub()
12134    }
12135
12136    /// Implements [super::client::Snapshots::insert].
12137    fn insert(
12138        &self,
12139        _req: crate::model::snapshots::InsertRequest,
12140        _options: crate::RequestOptions,
12141    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12142    {
12143        gaxi::unimplemented::unimplemented_stub()
12144    }
12145
12146    /// Implements [super::client::Snapshots::list].
12147    fn list(
12148        &self,
12149        _req: crate::model::snapshots::ListRequest,
12150        _options: crate::RequestOptions,
12151    ) -> impl std::future::Future<
12152        Output = crate::Result<crate::Response<crate::model::SnapshotList>>,
12153    > + Send {
12154        gaxi::unimplemented::unimplemented_stub()
12155    }
12156
12157    /// Implements [super::client::Snapshots::set_iam_policy].
12158    fn set_iam_policy(
12159        &self,
12160        _req: crate::model::snapshots::SetIamPolicyRequest,
12161        _options: crate::RequestOptions,
12162    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12163    {
12164        gaxi::unimplemented::unimplemented_stub()
12165    }
12166
12167    /// Implements [super::client::Snapshots::set_labels].
12168    fn set_labels(
12169        &self,
12170        _req: crate::model::snapshots::SetLabelsRequest,
12171        _options: crate::RequestOptions,
12172    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12173    {
12174        gaxi::unimplemented::unimplemented_stub()
12175    }
12176
12177    /// Implements [super::client::Snapshots::test_iam_permissions].
12178    fn test_iam_permissions(
12179        &self,
12180        _req: crate::model::snapshots::TestIamPermissionsRequest,
12181        _options: crate::RequestOptions,
12182    ) -> impl std::future::Future<
12183        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12184    > + Send {
12185        gaxi::unimplemented::unimplemented_stub()
12186    }
12187
12188    /// Implements [super::client::Snapshots::get_operation].
12189    fn get_operation(
12190        &self,
12191        _req: crate::model::global_operations::GetRequest,
12192        _options: crate::RequestOptions,
12193    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12194    {
12195        gaxi::unimplemented::unimplemented_stub()
12196    }
12197
12198    /// Returns the polling error policy.
12199    ///
12200    /// When mocking, this method is typically irrelevant. Do not try to verify
12201    /// it is called by your mocks.
12202    fn get_polling_error_policy(
12203        &self,
12204        _options: &crate::RequestOptions,
12205    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12206        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12207    }
12208
12209    /// Returns the polling backoff policy.
12210    ///
12211    /// When mocking, this method is typically irrelevant. Do not try to verify
12212    /// it is called by your mocks.
12213    fn get_polling_backoff_policy(
12214        &self,
12215        _options: &crate::RequestOptions,
12216    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12217        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12218    }
12219}
12220
12221/// Defines the trait used to implement [super::client::SslCertificates].
12222///
12223/// Application developers may need to implement this trait to mock
12224/// `client::SslCertificates`.  In other use-cases, application developers only
12225/// use `client::SslCertificates` and need not be concerned with this trait or
12226/// its implementations.
12227///
12228/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12229/// too. To avoid breaking applications the trait provides a default
12230/// implementation of each method. Most of these implementations just return an
12231/// error.
12232#[cfg(feature = "ssl-certificates")]
12233#[cfg_attr(docsrs, doc(cfg(feature = "ssl-certificates")))]
12234pub trait SslCertificates: std::fmt::Debug + Send + Sync {
12235    /// Implements [super::client::SslCertificates::aggregated_list].
12236    fn aggregated_list(
12237        &self,
12238        _req: crate::model::ssl_certificates::AggregatedListRequest,
12239        _options: crate::RequestOptions,
12240    ) -> impl std::future::Future<
12241        Output = crate::Result<crate::Response<crate::model::SslCertificateAggregatedList>>,
12242    > + Send {
12243        gaxi::unimplemented::unimplemented_stub()
12244    }
12245
12246    /// Implements [super::client::SslCertificates::delete].
12247    fn delete(
12248        &self,
12249        _req: crate::model::ssl_certificates::DeleteRequest,
12250        _options: crate::RequestOptions,
12251    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12252    {
12253        gaxi::unimplemented::unimplemented_stub()
12254    }
12255
12256    /// Implements [super::client::SslCertificates::get].
12257    fn get(
12258        &self,
12259        _req: crate::model::ssl_certificates::GetRequest,
12260        _options: crate::RequestOptions,
12261    ) -> impl std::future::Future<
12262        Output = crate::Result<crate::Response<crate::model::SslCertificate>>,
12263    > + Send {
12264        gaxi::unimplemented::unimplemented_stub()
12265    }
12266
12267    /// Implements [super::client::SslCertificates::insert].
12268    fn insert(
12269        &self,
12270        _req: crate::model::ssl_certificates::InsertRequest,
12271        _options: crate::RequestOptions,
12272    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12273    {
12274        gaxi::unimplemented::unimplemented_stub()
12275    }
12276
12277    /// Implements [super::client::SslCertificates::list].
12278    fn list(
12279        &self,
12280        _req: crate::model::ssl_certificates::ListRequest,
12281        _options: crate::RequestOptions,
12282    ) -> impl std::future::Future<
12283        Output = crate::Result<crate::Response<crate::model::SslCertificateList>>,
12284    > + Send {
12285        gaxi::unimplemented::unimplemented_stub()
12286    }
12287
12288    /// Implements [super::client::SslCertificates::get_operation].
12289    fn get_operation(
12290        &self,
12291        _req: crate::model::global_operations::GetRequest,
12292        _options: crate::RequestOptions,
12293    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12294    {
12295        gaxi::unimplemented::unimplemented_stub()
12296    }
12297
12298    /// Returns the polling error policy.
12299    ///
12300    /// When mocking, this method is typically irrelevant. Do not try to verify
12301    /// it is called by your mocks.
12302    fn get_polling_error_policy(
12303        &self,
12304        _options: &crate::RequestOptions,
12305    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12306        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12307    }
12308
12309    /// Returns the polling backoff policy.
12310    ///
12311    /// When mocking, this method is typically irrelevant. Do not try to verify
12312    /// it is called by your mocks.
12313    fn get_polling_backoff_policy(
12314        &self,
12315        _options: &crate::RequestOptions,
12316    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12317        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12318    }
12319}
12320
12321/// Defines the trait used to implement [super::client::SslPolicies].
12322///
12323/// Application developers may need to implement this trait to mock
12324/// `client::SslPolicies`.  In other use-cases, application developers only
12325/// use `client::SslPolicies` and need not be concerned with this trait or
12326/// its implementations.
12327///
12328/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12329/// too. To avoid breaking applications the trait provides a default
12330/// implementation of each method. Most of these implementations just return an
12331/// error.
12332#[cfg(feature = "ssl-policies")]
12333#[cfg_attr(docsrs, doc(cfg(feature = "ssl-policies")))]
12334pub trait SslPolicies: std::fmt::Debug + Send + Sync {
12335    /// Implements [super::client::SslPolicies::aggregated_list].
12336    fn aggregated_list(
12337        &self,
12338        _req: crate::model::ssl_policies::AggregatedListRequest,
12339        _options: crate::RequestOptions,
12340    ) -> impl std::future::Future<
12341        Output = crate::Result<crate::Response<crate::model::SslPoliciesAggregatedList>>,
12342    > + Send {
12343        gaxi::unimplemented::unimplemented_stub()
12344    }
12345
12346    /// Implements [super::client::SslPolicies::delete].
12347    fn delete(
12348        &self,
12349        _req: crate::model::ssl_policies::DeleteRequest,
12350        _options: crate::RequestOptions,
12351    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12352    {
12353        gaxi::unimplemented::unimplemented_stub()
12354    }
12355
12356    /// Implements [super::client::SslPolicies::get].
12357    fn get(
12358        &self,
12359        _req: crate::model::ssl_policies::GetRequest,
12360        _options: crate::RequestOptions,
12361    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::SslPolicy>>> + Send
12362    {
12363        gaxi::unimplemented::unimplemented_stub()
12364    }
12365
12366    /// Implements [super::client::SslPolicies::insert].
12367    fn insert(
12368        &self,
12369        _req: crate::model::ssl_policies::InsertRequest,
12370        _options: crate::RequestOptions,
12371    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12372    {
12373        gaxi::unimplemented::unimplemented_stub()
12374    }
12375
12376    /// Implements [super::client::SslPolicies::list].
12377    fn list(
12378        &self,
12379        _req: crate::model::ssl_policies::ListRequest,
12380        _options: crate::RequestOptions,
12381    ) -> impl std::future::Future<
12382        Output = crate::Result<crate::Response<crate::model::SslPoliciesList>>,
12383    > + Send {
12384        gaxi::unimplemented::unimplemented_stub()
12385    }
12386
12387    /// Implements [super::client::SslPolicies::list_available_features].
12388    fn list_available_features(
12389        &self,
12390        _req: crate::model::ssl_policies::ListAvailableFeaturesRequest,
12391        _options: crate::RequestOptions,
12392    ) -> impl std::future::Future<
12393        Output = crate::Result<
12394            crate::Response<crate::model::SslPoliciesListAvailableFeaturesResponse>,
12395        >,
12396    > + Send {
12397        gaxi::unimplemented::unimplemented_stub()
12398    }
12399
12400    /// Implements [super::client::SslPolicies::patch].
12401    fn patch(
12402        &self,
12403        _req: crate::model::ssl_policies::PatchRequest,
12404        _options: crate::RequestOptions,
12405    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12406    {
12407        gaxi::unimplemented::unimplemented_stub()
12408    }
12409
12410    /// Implements [super::client::SslPolicies::get_operation].
12411    fn get_operation(
12412        &self,
12413        _req: crate::model::global_operations::GetRequest,
12414        _options: crate::RequestOptions,
12415    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12416    {
12417        gaxi::unimplemented::unimplemented_stub()
12418    }
12419
12420    /// Returns the polling error policy.
12421    ///
12422    /// When mocking, this method is typically irrelevant. Do not try to verify
12423    /// it is called by your mocks.
12424    fn get_polling_error_policy(
12425        &self,
12426        _options: &crate::RequestOptions,
12427    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12428        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12429    }
12430
12431    /// Returns the polling backoff policy.
12432    ///
12433    /// When mocking, this method is typically irrelevant. Do not try to verify
12434    /// it is called by your mocks.
12435    fn get_polling_backoff_policy(
12436        &self,
12437        _options: &crate::RequestOptions,
12438    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12439        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12440    }
12441}
12442
12443/// Defines the trait used to implement [super::client::StoragePoolTypes].
12444///
12445/// Application developers may need to implement this trait to mock
12446/// `client::StoragePoolTypes`.  In other use-cases, application developers only
12447/// use `client::StoragePoolTypes` and need not be concerned with this trait or
12448/// its implementations.
12449///
12450/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12451/// too. To avoid breaking applications the trait provides a default
12452/// implementation of each method. Most of these implementations just return an
12453/// error.
12454#[cfg(feature = "storage-pool-types")]
12455#[cfg_attr(docsrs, doc(cfg(feature = "storage-pool-types")))]
12456pub trait StoragePoolTypes: std::fmt::Debug + Send + Sync {
12457    /// Implements [super::client::StoragePoolTypes::aggregated_list].
12458    fn aggregated_list(
12459        &self,
12460        _req: crate::model::storage_pool_types::AggregatedListRequest,
12461        _options: crate::RequestOptions,
12462    ) -> impl std::future::Future<
12463        Output = crate::Result<crate::Response<crate::model::StoragePoolTypeAggregatedList>>,
12464    > + Send {
12465        gaxi::unimplemented::unimplemented_stub()
12466    }
12467
12468    /// Implements [super::client::StoragePoolTypes::get].
12469    fn get(
12470        &self,
12471        _req: crate::model::storage_pool_types::GetRequest,
12472        _options: crate::RequestOptions,
12473    ) -> impl std::future::Future<
12474        Output = crate::Result<crate::Response<crate::model::StoragePoolType>>,
12475    > + Send {
12476        gaxi::unimplemented::unimplemented_stub()
12477    }
12478
12479    /// Implements [super::client::StoragePoolTypes::list].
12480    fn list(
12481        &self,
12482        _req: crate::model::storage_pool_types::ListRequest,
12483        _options: crate::RequestOptions,
12484    ) -> impl std::future::Future<
12485        Output = crate::Result<crate::Response<crate::model::StoragePoolTypeList>>,
12486    > + Send {
12487        gaxi::unimplemented::unimplemented_stub()
12488    }
12489}
12490
12491/// Defines the trait used to implement [super::client::StoragePools].
12492///
12493/// Application developers may need to implement this trait to mock
12494/// `client::StoragePools`.  In other use-cases, application developers only
12495/// use `client::StoragePools` and need not be concerned with this trait or
12496/// its implementations.
12497///
12498/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12499/// too. To avoid breaking applications the trait provides a default
12500/// implementation of each method. Most of these implementations just return an
12501/// error.
12502#[cfg(feature = "storage-pools")]
12503#[cfg_attr(docsrs, doc(cfg(feature = "storage-pools")))]
12504pub trait StoragePools: std::fmt::Debug + Send + Sync {
12505    /// Implements [super::client::StoragePools::aggregated_list].
12506    fn aggregated_list(
12507        &self,
12508        _req: crate::model::storage_pools::AggregatedListRequest,
12509        _options: crate::RequestOptions,
12510    ) -> impl std::future::Future<
12511        Output = crate::Result<crate::Response<crate::model::StoragePoolAggregatedList>>,
12512    > + Send {
12513        gaxi::unimplemented::unimplemented_stub()
12514    }
12515
12516    /// Implements [super::client::StoragePools::delete].
12517    fn delete(
12518        &self,
12519        _req: crate::model::storage_pools::DeleteRequest,
12520        _options: crate::RequestOptions,
12521    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12522    {
12523        gaxi::unimplemented::unimplemented_stub()
12524    }
12525
12526    /// Implements [super::client::StoragePools::get].
12527    fn get(
12528        &self,
12529        _req: crate::model::storage_pools::GetRequest,
12530        _options: crate::RequestOptions,
12531    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::StoragePool>>>
12532    + Send {
12533        gaxi::unimplemented::unimplemented_stub()
12534    }
12535
12536    /// Implements [super::client::StoragePools::get_iam_policy].
12537    fn get_iam_policy(
12538        &self,
12539        _req: crate::model::storage_pools::GetIamPolicyRequest,
12540        _options: crate::RequestOptions,
12541    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12542    {
12543        gaxi::unimplemented::unimplemented_stub()
12544    }
12545
12546    /// Implements [super::client::StoragePools::insert].
12547    fn insert(
12548        &self,
12549        _req: crate::model::storage_pools::InsertRequest,
12550        _options: crate::RequestOptions,
12551    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12552    {
12553        gaxi::unimplemented::unimplemented_stub()
12554    }
12555
12556    /// Implements [super::client::StoragePools::list].
12557    fn list(
12558        &self,
12559        _req: crate::model::storage_pools::ListRequest,
12560        _options: crate::RequestOptions,
12561    ) -> impl std::future::Future<
12562        Output = crate::Result<crate::Response<crate::model::StoragePoolList>>,
12563    > + Send {
12564        gaxi::unimplemented::unimplemented_stub()
12565    }
12566
12567    /// Implements [super::client::StoragePools::list_disks].
12568    fn list_disks(
12569        &self,
12570        _req: crate::model::storage_pools::ListDisksRequest,
12571        _options: crate::RequestOptions,
12572    ) -> impl std::future::Future<
12573        Output = crate::Result<crate::Response<crate::model::StoragePoolListDisks>>,
12574    > + Send {
12575        gaxi::unimplemented::unimplemented_stub()
12576    }
12577
12578    /// Implements [super::client::StoragePools::set_iam_policy].
12579    fn set_iam_policy(
12580        &self,
12581        _req: crate::model::storage_pools::SetIamPolicyRequest,
12582        _options: crate::RequestOptions,
12583    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12584    {
12585        gaxi::unimplemented::unimplemented_stub()
12586    }
12587
12588    /// Implements [super::client::StoragePools::test_iam_permissions].
12589    fn test_iam_permissions(
12590        &self,
12591        _req: crate::model::storage_pools::TestIamPermissionsRequest,
12592        _options: crate::RequestOptions,
12593    ) -> impl std::future::Future<
12594        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12595    > + Send {
12596        gaxi::unimplemented::unimplemented_stub()
12597    }
12598
12599    /// Implements [super::client::StoragePools::update].
12600    fn update(
12601        &self,
12602        _req: crate::model::storage_pools::UpdateRequest,
12603        _options: crate::RequestOptions,
12604    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12605    {
12606        gaxi::unimplemented::unimplemented_stub()
12607    }
12608
12609    /// Implements [super::client::StoragePools::get_operation].
12610    fn get_operation(
12611        &self,
12612        _req: crate::model::zone_operations::GetRequest,
12613        _options: crate::RequestOptions,
12614    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12615    {
12616        gaxi::unimplemented::unimplemented_stub()
12617    }
12618
12619    /// Returns the polling error policy.
12620    ///
12621    /// When mocking, this method is typically irrelevant. Do not try to verify
12622    /// it is called by your mocks.
12623    fn get_polling_error_policy(
12624        &self,
12625        _options: &crate::RequestOptions,
12626    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12627        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12628    }
12629
12630    /// Returns the polling backoff policy.
12631    ///
12632    /// When mocking, this method is typically irrelevant. Do not try to verify
12633    /// it is called by your mocks.
12634    fn get_polling_backoff_policy(
12635        &self,
12636        _options: &crate::RequestOptions,
12637    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12638        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12639    }
12640}
12641
12642/// Defines the trait used to implement [super::client::Subnetworks].
12643///
12644/// Application developers may need to implement this trait to mock
12645/// `client::Subnetworks`.  In other use-cases, application developers only
12646/// use `client::Subnetworks` and need not be concerned with this trait or
12647/// its implementations.
12648///
12649/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12650/// too. To avoid breaking applications the trait provides a default
12651/// implementation of each method. Most of these implementations just return an
12652/// error.
12653#[cfg(feature = "subnetworks")]
12654#[cfg_attr(docsrs, doc(cfg(feature = "subnetworks")))]
12655pub trait Subnetworks: std::fmt::Debug + Send + Sync {
12656    /// Implements [super::client::Subnetworks::aggregated_list].
12657    fn aggregated_list(
12658        &self,
12659        _req: crate::model::subnetworks::AggregatedListRequest,
12660        _options: crate::RequestOptions,
12661    ) -> impl std::future::Future<
12662        Output = crate::Result<crate::Response<crate::model::SubnetworkAggregatedList>>,
12663    > + Send {
12664        gaxi::unimplemented::unimplemented_stub()
12665    }
12666
12667    /// Implements [super::client::Subnetworks::delete].
12668    fn delete(
12669        &self,
12670        _req: crate::model::subnetworks::DeleteRequest,
12671        _options: crate::RequestOptions,
12672    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12673    {
12674        gaxi::unimplemented::unimplemented_stub()
12675    }
12676
12677    /// Implements [super::client::Subnetworks::expand_ip_cidr_range].
12678    fn expand_ip_cidr_range(
12679        &self,
12680        _req: crate::model::subnetworks::ExpandIpCidrRangeRequest,
12681        _options: crate::RequestOptions,
12682    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12683    {
12684        gaxi::unimplemented::unimplemented_stub()
12685    }
12686
12687    /// Implements [super::client::Subnetworks::get].
12688    fn get(
12689        &self,
12690        _req: crate::model::subnetworks::GetRequest,
12691        _options: crate::RequestOptions,
12692    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Subnetwork>>> + Send
12693    {
12694        gaxi::unimplemented::unimplemented_stub()
12695    }
12696
12697    /// Implements [super::client::Subnetworks::get_iam_policy].
12698    fn get_iam_policy(
12699        &self,
12700        _req: crate::model::subnetworks::GetIamPolicyRequest,
12701        _options: crate::RequestOptions,
12702    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12703    {
12704        gaxi::unimplemented::unimplemented_stub()
12705    }
12706
12707    /// Implements [super::client::Subnetworks::insert].
12708    fn insert(
12709        &self,
12710        _req: crate::model::subnetworks::InsertRequest,
12711        _options: crate::RequestOptions,
12712    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12713    {
12714        gaxi::unimplemented::unimplemented_stub()
12715    }
12716
12717    /// Implements [super::client::Subnetworks::list].
12718    fn list(
12719        &self,
12720        _req: crate::model::subnetworks::ListRequest,
12721        _options: crate::RequestOptions,
12722    ) -> impl std::future::Future<
12723        Output = crate::Result<crate::Response<crate::model::SubnetworkList>>,
12724    > + Send {
12725        gaxi::unimplemented::unimplemented_stub()
12726    }
12727
12728    /// Implements [super::client::Subnetworks::list_usable].
12729    fn list_usable(
12730        &self,
12731        _req: crate::model::subnetworks::ListUsableRequest,
12732        _options: crate::RequestOptions,
12733    ) -> impl std::future::Future<
12734        Output = crate::Result<crate::Response<crate::model::UsableSubnetworksAggregatedList>>,
12735    > + Send {
12736        gaxi::unimplemented::unimplemented_stub()
12737    }
12738
12739    /// Implements [super::client::Subnetworks::patch].
12740    fn patch(
12741        &self,
12742        _req: crate::model::subnetworks::PatchRequest,
12743        _options: crate::RequestOptions,
12744    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12745    {
12746        gaxi::unimplemented::unimplemented_stub()
12747    }
12748
12749    /// Implements [super::client::Subnetworks::set_iam_policy].
12750    fn set_iam_policy(
12751        &self,
12752        _req: crate::model::subnetworks::SetIamPolicyRequest,
12753        _options: crate::RequestOptions,
12754    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12755    {
12756        gaxi::unimplemented::unimplemented_stub()
12757    }
12758
12759    /// Implements [super::client::Subnetworks::set_private_ip_google_access].
12760    fn set_private_ip_google_access(
12761        &self,
12762        _req: crate::model::subnetworks::SetPrivateIpGoogleAccessRequest,
12763        _options: crate::RequestOptions,
12764    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12765    {
12766        gaxi::unimplemented::unimplemented_stub()
12767    }
12768
12769    /// Implements [super::client::Subnetworks::test_iam_permissions].
12770    fn test_iam_permissions(
12771        &self,
12772        _req: crate::model::subnetworks::TestIamPermissionsRequest,
12773        _options: crate::RequestOptions,
12774    ) -> impl std::future::Future<
12775        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12776    > + Send {
12777        gaxi::unimplemented::unimplemented_stub()
12778    }
12779
12780    /// Implements [super::client::Subnetworks::get_operation].
12781    fn get_operation(
12782        &self,
12783        _req: crate::model::region_operations::GetRequest,
12784        _options: crate::RequestOptions,
12785    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12786    {
12787        gaxi::unimplemented::unimplemented_stub()
12788    }
12789
12790    /// Returns the polling error policy.
12791    ///
12792    /// When mocking, this method is typically irrelevant. Do not try to verify
12793    /// it is called by your mocks.
12794    fn get_polling_error_policy(
12795        &self,
12796        _options: &crate::RequestOptions,
12797    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12798        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12799    }
12800
12801    /// Returns the polling backoff policy.
12802    ///
12803    /// When mocking, this method is typically irrelevant. Do not try to verify
12804    /// it is called by your mocks.
12805    fn get_polling_backoff_policy(
12806        &self,
12807        _options: &crate::RequestOptions,
12808    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12809        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12810    }
12811}
12812
12813/// Defines the trait used to implement [super::client::TargetGrpcProxies].
12814///
12815/// Application developers may need to implement this trait to mock
12816/// `client::TargetGrpcProxies`.  In other use-cases, application developers only
12817/// use `client::TargetGrpcProxies` and need not be concerned with this trait or
12818/// its implementations.
12819///
12820/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12821/// too. To avoid breaking applications the trait provides a default
12822/// implementation of each method. Most of these implementations just return an
12823/// error.
12824#[cfg(feature = "target-grpc-proxies")]
12825#[cfg_attr(docsrs, doc(cfg(feature = "target-grpc-proxies")))]
12826pub trait TargetGrpcProxies: std::fmt::Debug + Send + Sync {
12827    /// Implements [super::client::TargetGrpcProxies::delete].
12828    fn delete(
12829        &self,
12830        _req: crate::model::target_grpc_proxies::DeleteRequest,
12831        _options: crate::RequestOptions,
12832    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12833    {
12834        gaxi::unimplemented::unimplemented_stub()
12835    }
12836
12837    /// Implements [super::client::TargetGrpcProxies::get].
12838    fn get(
12839        &self,
12840        _req: crate::model::target_grpc_proxies::GetRequest,
12841        _options: crate::RequestOptions,
12842    ) -> impl std::future::Future<
12843        Output = crate::Result<crate::Response<crate::model::TargetGrpcProxy>>,
12844    > + Send {
12845        gaxi::unimplemented::unimplemented_stub()
12846    }
12847
12848    /// Implements [super::client::TargetGrpcProxies::insert].
12849    fn insert(
12850        &self,
12851        _req: crate::model::target_grpc_proxies::InsertRequest,
12852        _options: crate::RequestOptions,
12853    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12854    {
12855        gaxi::unimplemented::unimplemented_stub()
12856    }
12857
12858    /// Implements [super::client::TargetGrpcProxies::list].
12859    fn list(
12860        &self,
12861        _req: crate::model::target_grpc_proxies::ListRequest,
12862        _options: crate::RequestOptions,
12863    ) -> impl std::future::Future<
12864        Output = crate::Result<crate::Response<crate::model::TargetGrpcProxyList>>,
12865    > + Send {
12866        gaxi::unimplemented::unimplemented_stub()
12867    }
12868
12869    /// Implements [super::client::TargetGrpcProxies::patch].
12870    fn patch(
12871        &self,
12872        _req: crate::model::target_grpc_proxies::PatchRequest,
12873        _options: crate::RequestOptions,
12874    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12875    {
12876        gaxi::unimplemented::unimplemented_stub()
12877    }
12878
12879    /// Implements [super::client::TargetGrpcProxies::get_operation].
12880    fn get_operation(
12881        &self,
12882        _req: crate::model::global_operations::GetRequest,
12883        _options: crate::RequestOptions,
12884    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12885    {
12886        gaxi::unimplemented::unimplemented_stub()
12887    }
12888
12889    /// Returns the polling error policy.
12890    ///
12891    /// When mocking, this method is typically irrelevant. Do not try to verify
12892    /// it is called by your mocks.
12893    fn get_polling_error_policy(
12894        &self,
12895        _options: &crate::RequestOptions,
12896    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12897        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12898    }
12899
12900    /// Returns the polling backoff policy.
12901    ///
12902    /// When mocking, this method is typically irrelevant. Do not try to verify
12903    /// it is called by your mocks.
12904    fn get_polling_backoff_policy(
12905        &self,
12906        _options: &crate::RequestOptions,
12907    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12908        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12909    }
12910}
12911
12912/// Defines the trait used to implement [super::client::TargetHttpProxies].
12913///
12914/// Application developers may need to implement this trait to mock
12915/// `client::TargetHttpProxies`.  In other use-cases, application developers only
12916/// use `client::TargetHttpProxies` and need not be concerned with this trait or
12917/// its implementations.
12918///
12919/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12920/// too. To avoid breaking applications the trait provides a default
12921/// implementation of each method. Most of these implementations just return an
12922/// error.
12923#[cfg(feature = "target-http-proxies")]
12924#[cfg_attr(docsrs, doc(cfg(feature = "target-http-proxies")))]
12925pub trait TargetHttpProxies: std::fmt::Debug + Send + Sync {
12926    /// Implements [super::client::TargetHttpProxies::aggregated_list].
12927    fn aggregated_list(
12928        &self,
12929        _req: crate::model::target_http_proxies::AggregatedListRequest,
12930        _options: crate::RequestOptions,
12931    ) -> impl std::future::Future<
12932        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyAggregatedList>>,
12933    > + Send {
12934        gaxi::unimplemented::unimplemented_stub()
12935    }
12936
12937    /// Implements [super::client::TargetHttpProxies::delete].
12938    fn delete(
12939        &self,
12940        _req: crate::model::target_http_proxies::DeleteRequest,
12941        _options: crate::RequestOptions,
12942    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12943    {
12944        gaxi::unimplemented::unimplemented_stub()
12945    }
12946
12947    /// Implements [super::client::TargetHttpProxies::get].
12948    fn get(
12949        &self,
12950        _req: crate::model::target_http_proxies::GetRequest,
12951        _options: crate::RequestOptions,
12952    ) -> impl std::future::Future<
12953        Output = crate::Result<crate::Response<crate::model::TargetHttpProxy>>,
12954    > + Send {
12955        gaxi::unimplemented::unimplemented_stub()
12956    }
12957
12958    /// Implements [super::client::TargetHttpProxies::insert].
12959    fn insert(
12960        &self,
12961        _req: crate::model::target_http_proxies::InsertRequest,
12962        _options: crate::RequestOptions,
12963    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12964    {
12965        gaxi::unimplemented::unimplemented_stub()
12966    }
12967
12968    /// Implements [super::client::TargetHttpProxies::list].
12969    fn list(
12970        &self,
12971        _req: crate::model::target_http_proxies::ListRequest,
12972        _options: crate::RequestOptions,
12973    ) -> impl std::future::Future<
12974        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyList>>,
12975    > + Send {
12976        gaxi::unimplemented::unimplemented_stub()
12977    }
12978
12979    /// Implements [super::client::TargetHttpProxies::patch].
12980    fn patch(
12981        &self,
12982        _req: crate::model::target_http_proxies::PatchRequest,
12983        _options: crate::RequestOptions,
12984    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12985    {
12986        gaxi::unimplemented::unimplemented_stub()
12987    }
12988
12989    /// Implements [super::client::TargetHttpProxies::set_url_map].
12990    fn set_url_map(
12991        &self,
12992        _req: crate::model::target_http_proxies::SetUrlMapRequest,
12993        _options: crate::RequestOptions,
12994    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12995    {
12996        gaxi::unimplemented::unimplemented_stub()
12997    }
12998
12999    /// Implements [super::client::TargetHttpProxies::get_operation].
13000    fn get_operation(
13001        &self,
13002        _req: crate::model::global_operations::GetRequest,
13003        _options: crate::RequestOptions,
13004    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13005    {
13006        gaxi::unimplemented::unimplemented_stub()
13007    }
13008
13009    /// Returns the polling error policy.
13010    ///
13011    /// When mocking, this method is typically irrelevant. Do not try to verify
13012    /// it is called by your mocks.
13013    fn get_polling_error_policy(
13014        &self,
13015        _options: &crate::RequestOptions,
13016    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13017        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13018    }
13019
13020    /// Returns the polling backoff policy.
13021    ///
13022    /// When mocking, this method is typically irrelevant. Do not try to verify
13023    /// it is called by your mocks.
13024    fn get_polling_backoff_policy(
13025        &self,
13026        _options: &crate::RequestOptions,
13027    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13028        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13029    }
13030}
13031
13032/// Defines the trait used to implement [super::client::TargetHttpsProxies].
13033///
13034/// Application developers may need to implement this trait to mock
13035/// `client::TargetHttpsProxies`.  In other use-cases, application developers only
13036/// use `client::TargetHttpsProxies` and need not be concerned with this trait or
13037/// its implementations.
13038///
13039/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13040/// too. To avoid breaking applications the trait provides a default
13041/// implementation of each method. Most of these implementations just return an
13042/// error.
13043#[cfg(feature = "target-https-proxies")]
13044#[cfg_attr(docsrs, doc(cfg(feature = "target-https-proxies")))]
13045pub trait TargetHttpsProxies: std::fmt::Debug + Send + Sync {
13046    /// Implements [super::client::TargetHttpsProxies::aggregated_list].
13047    fn aggregated_list(
13048        &self,
13049        _req: crate::model::target_https_proxies::AggregatedListRequest,
13050        _options: crate::RequestOptions,
13051    ) -> impl std::future::Future<
13052        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyAggregatedList>>,
13053    > + Send {
13054        gaxi::unimplemented::unimplemented_stub()
13055    }
13056
13057    /// Implements [super::client::TargetHttpsProxies::delete].
13058    fn delete(
13059        &self,
13060        _req: crate::model::target_https_proxies::DeleteRequest,
13061        _options: crate::RequestOptions,
13062    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13063    {
13064        gaxi::unimplemented::unimplemented_stub()
13065    }
13066
13067    /// Implements [super::client::TargetHttpsProxies::get].
13068    fn get(
13069        &self,
13070        _req: crate::model::target_https_proxies::GetRequest,
13071        _options: crate::RequestOptions,
13072    ) -> impl std::future::Future<
13073        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxy>>,
13074    > + Send {
13075        gaxi::unimplemented::unimplemented_stub()
13076    }
13077
13078    /// Implements [super::client::TargetHttpsProxies::insert].
13079    fn insert(
13080        &self,
13081        _req: crate::model::target_https_proxies::InsertRequest,
13082        _options: crate::RequestOptions,
13083    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13084    {
13085        gaxi::unimplemented::unimplemented_stub()
13086    }
13087
13088    /// Implements [super::client::TargetHttpsProxies::list].
13089    fn list(
13090        &self,
13091        _req: crate::model::target_https_proxies::ListRequest,
13092        _options: crate::RequestOptions,
13093    ) -> impl std::future::Future<
13094        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyList>>,
13095    > + Send {
13096        gaxi::unimplemented::unimplemented_stub()
13097    }
13098
13099    /// Implements [super::client::TargetHttpsProxies::patch].
13100    fn patch(
13101        &self,
13102        _req: crate::model::target_https_proxies::PatchRequest,
13103        _options: crate::RequestOptions,
13104    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13105    {
13106        gaxi::unimplemented::unimplemented_stub()
13107    }
13108
13109    /// Implements [super::client::TargetHttpsProxies::set_certificate_map].
13110    fn set_certificate_map(
13111        &self,
13112        _req: crate::model::target_https_proxies::SetCertificateMapRequest,
13113        _options: crate::RequestOptions,
13114    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13115    {
13116        gaxi::unimplemented::unimplemented_stub()
13117    }
13118
13119    /// Implements [super::client::TargetHttpsProxies::set_quic_override].
13120    fn set_quic_override(
13121        &self,
13122        _req: crate::model::target_https_proxies::SetQuicOverrideRequest,
13123        _options: crate::RequestOptions,
13124    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13125    {
13126        gaxi::unimplemented::unimplemented_stub()
13127    }
13128
13129    /// Implements [super::client::TargetHttpsProxies::set_ssl_certificates].
13130    fn set_ssl_certificates(
13131        &self,
13132        _req: crate::model::target_https_proxies::SetSslCertificatesRequest,
13133        _options: crate::RequestOptions,
13134    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13135    {
13136        gaxi::unimplemented::unimplemented_stub()
13137    }
13138
13139    /// Implements [super::client::TargetHttpsProxies::set_ssl_policy].
13140    fn set_ssl_policy(
13141        &self,
13142        _req: crate::model::target_https_proxies::SetSslPolicyRequest,
13143        _options: crate::RequestOptions,
13144    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13145    {
13146        gaxi::unimplemented::unimplemented_stub()
13147    }
13148
13149    /// Implements [super::client::TargetHttpsProxies::set_url_map].
13150    fn set_url_map(
13151        &self,
13152        _req: crate::model::target_https_proxies::SetUrlMapRequest,
13153        _options: crate::RequestOptions,
13154    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13155    {
13156        gaxi::unimplemented::unimplemented_stub()
13157    }
13158
13159    /// Implements [super::client::TargetHttpsProxies::get_operation].
13160    fn get_operation(
13161        &self,
13162        _req: crate::model::global_operations::GetRequest,
13163        _options: crate::RequestOptions,
13164    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13165    {
13166        gaxi::unimplemented::unimplemented_stub()
13167    }
13168
13169    /// Returns the polling error policy.
13170    ///
13171    /// When mocking, this method is typically irrelevant. Do not try to verify
13172    /// it is called by your mocks.
13173    fn get_polling_error_policy(
13174        &self,
13175        _options: &crate::RequestOptions,
13176    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13177        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13178    }
13179
13180    /// Returns the polling backoff policy.
13181    ///
13182    /// When mocking, this method is typically irrelevant. Do not try to verify
13183    /// it is called by your mocks.
13184    fn get_polling_backoff_policy(
13185        &self,
13186        _options: &crate::RequestOptions,
13187    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13188        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13189    }
13190}
13191
13192/// Defines the trait used to implement [super::client::TargetInstances].
13193///
13194/// Application developers may need to implement this trait to mock
13195/// `client::TargetInstances`.  In other use-cases, application developers only
13196/// use `client::TargetInstances` and need not be concerned with this trait or
13197/// its implementations.
13198///
13199/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13200/// too. To avoid breaking applications the trait provides a default
13201/// implementation of each method. Most of these implementations just return an
13202/// error.
13203#[cfg(feature = "target-instances")]
13204#[cfg_attr(docsrs, doc(cfg(feature = "target-instances")))]
13205pub trait TargetInstances: std::fmt::Debug + Send + Sync {
13206    /// Implements [super::client::TargetInstances::aggregated_list].
13207    fn aggregated_list(
13208        &self,
13209        _req: crate::model::target_instances::AggregatedListRequest,
13210        _options: crate::RequestOptions,
13211    ) -> impl std::future::Future<
13212        Output = crate::Result<crate::Response<crate::model::TargetInstanceAggregatedList>>,
13213    > + Send {
13214        gaxi::unimplemented::unimplemented_stub()
13215    }
13216
13217    /// Implements [super::client::TargetInstances::delete].
13218    fn delete(
13219        &self,
13220        _req: crate::model::target_instances::DeleteRequest,
13221        _options: crate::RequestOptions,
13222    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13223    {
13224        gaxi::unimplemented::unimplemented_stub()
13225    }
13226
13227    /// Implements [super::client::TargetInstances::get].
13228    fn get(
13229        &self,
13230        _req: crate::model::target_instances::GetRequest,
13231        _options: crate::RequestOptions,
13232    ) -> impl std::future::Future<
13233        Output = crate::Result<crate::Response<crate::model::TargetInstance>>,
13234    > + Send {
13235        gaxi::unimplemented::unimplemented_stub()
13236    }
13237
13238    /// Implements [super::client::TargetInstances::insert].
13239    fn insert(
13240        &self,
13241        _req: crate::model::target_instances::InsertRequest,
13242        _options: crate::RequestOptions,
13243    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13244    {
13245        gaxi::unimplemented::unimplemented_stub()
13246    }
13247
13248    /// Implements [super::client::TargetInstances::list].
13249    fn list(
13250        &self,
13251        _req: crate::model::target_instances::ListRequest,
13252        _options: crate::RequestOptions,
13253    ) -> impl std::future::Future<
13254        Output = crate::Result<crate::Response<crate::model::TargetInstanceList>>,
13255    > + Send {
13256        gaxi::unimplemented::unimplemented_stub()
13257    }
13258
13259    /// Implements [super::client::TargetInstances::set_security_policy].
13260    fn set_security_policy(
13261        &self,
13262        _req: crate::model::target_instances::SetSecurityPolicyRequest,
13263        _options: crate::RequestOptions,
13264    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13265    {
13266        gaxi::unimplemented::unimplemented_stub()
13267    }
13268
13269    /// Implements [super::client::TargetInstances::test_iam_permissions].
13270    fn test_iam_permissions(
13271        &self,
13272        _req: crate::model::target_instances::TestIamPermissionsRequest,
13273        _options: crate::RequestOptions,
13274    ) -> impl std::future::Future<
13275        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13276    > + Send {
13277        gaxi::unimplemented::unimplemented_stub()
13278    }
13279
13280    /// Implements [super::client::TargetInstances::get_operation].
13281    fn get_operation(
13282        &self,
13283        _req: crate::model::zone_operations::GetRequest,
13284        _options: crate::RequestOptions,
13285    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13286    {
13287        gaxi::unimplemented::unimplemented_stub()
13288    }
13289
13290    /// Returns the polling error policy.
13291    ///
13292    /// When mocking, this method is typically irrelevant. Do not try to verify
13293    /// it is called by your mocks.
13294    fn get_polling_error_policy(
13295        &self,
13296        _options: &crate::RequestOptions,
13297    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13298        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13299    }
13300
13301    /// Returns the polling backoff policy.
13302    ///
13303    /// When mocking, this method is typically irrelevant. Do not try to verify
13304    /// it is called by your mocks.
13305    fn get_polling_backoff_policy(
13306        &self,
13307        _options: &crate::RequestOptions,
13308    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13309        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13310    }
13311}
13312
13313/// Defines the trait used to implement [super::client::TargetPools].
13314///
13315/// Application developers may need to implement this trait to mock
13316/// `client::TargetPools`.  In other use-cases, application developers only
13317/// use `client::TargetPools` and need not be concerned with this trait or
13318/// its implementations.
13319///
13320/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13321/// too. To avoid breaking applications the trait provides a default
13322/// implementation of each method. Most of these implementations just return an
13323/// error.
13324#[cfg(feature = "target-pools")]
13325#[cfg_attr(docsrs, doc(cfg(feature = "target-pools")))]
13326pub trait TargetPools: std::fmt::Debug + Send + Sync {
13327    /// Implements [super::client::TargetPools::add_health_check].
13328    fn add_health_check(
13329        &self,
13330        _req: crate::model::target_pools::AddHealthCheckRequest,
13331        _options: crate::RequestOptions,
13332    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13333    {
13334        gaxi::unimplemented::unimplemented_stub()
13335    }
13336
13337    /// Implements [super::client::TargetPools::add_instance].
13338    fn add_instance(
13339        &self,
13340        _req: crate::model::target_pools::AddInstanceRequest,
13341        _options: crate::RequestOptions,
13342    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13343    {
13344        gaxi::unimplemented::unimplemented_stub()
13345    }
13346
13347    /// Implements [super::client::TargetPools::aggregated_list].
13348    fn aggregated_list(
13349        &self,
13350        _req: crate::model::target_pools::AggregatedListRequest,
13351        _options: crate::RequestOptions,
13352    ) -> impl std::future::Future<
13353        Output = crate::Result<crate::Response<crate::model::TargetPoolAggregatedList>>,
13354    > + Send {
13355        gaxi::unimplemented::unimplemented_stub()
13356    }
13357
13358    /// Implements [super::client::TargetPools::delete].
13359    fn delete(
13360        &self,
13361        _req: crate::model::target_pools::DeleteRequest,
13362        _options: crate::RequestOptions,
13363    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13364    {
13365        gaxi::unimplemented::unimplemented_stub()
13366    }
13367
13368    /// Implements [super::client::TargetPools::get].
13369    fn get(
13370        &self,
13371        _req: crate::model::target_pools::GetRequest,
13372        _options: crate::RequestOptions,
13373    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::TargetPool>>> + Send
13374    {
13375        gaxi::unimplemented::unimplemented_stub()
13376    }
13377
13378    /// Implements [super::client::TargetPools::get_health].
13379    fn get_health(
13380        &self,
13381        _req: crate::model::target_pools::GetHealthRequest,
13382        _options: crate::RequestOptions,
13383    ) -> impl std::future::Future<
13384        Output = crate::Result<crate::Response<crate::model::TargetPoolInstanceHealth>>,
13385    > + Send {
13386        gaxi::unimplemented::unimplemented_stub()
13387    }
13388
13389    /// Implements [super::client::TargetPools::insert].
13390    fn insert(
13391        &self,
13392        _req: crate::model::target_pools::InsertRequest,
13393        _options: crate::RequestOptions,
13394    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13395    {
13396        gaxi::unimplemented::unimplemented_stub()
13397    }
13398
13399    /// Implements [super::client::TargetPools::list].
13400    fn list(
13401        &self,
13402        _req: crate::model::target_pools::ListRequest,
13403        _options: crate::RequestOptions,
13404    ) -> impl std::future::Future<
13405        Output = crate::Result<crate::Response<crate::model::TargetPoolList>>,
13406    > + Send {
13407        gaxi::unimplemented::unimplemented_stub()
13408    }
13409
13410    /// Implements [super::client::TargetPools::remove_health_check].
13411    fn remove_health_check(
13412        &self,
13413        _req: crate::model::target_pools::RemoveHealthCheckRequest,
13414        _options: crate::RequestOptions,
13415    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13416    {
13417        gaxi::unimplemented::unimplemented_stub()
13418    }
13419
13420    /// Implements [super::client::TargetPools::remove_instance].
13421    fn remove_instance(
13422        &self,
13423        _req: crate::model::target_pools::RemoveInstanceRequest,
13424        _options: crate::RequestOptions,
13425    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13426    {
13427        gaxi::unimplemented::unimplemented_stub()
13428    }
13429
13430    /// Implements [super::client::TargetPools::set_backup].
13431    fn set_backup(
13432        &self,
13433        _req: crate::model::target_pools::SetBackupRequest,
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::TargetPools::set_security_policy].
13441    fn set_security_policy(
13442        &self,
13443        _req: crate::model::target_pools::SetSecurityPolicyRequest,
13444        _options: crate::RequestOptions,
13445    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13446    {
13447        gaxi::unimplemented::unimplemented_stub()
13448    }
13449
13450    /// Implements [super::client::TargetPools::test_iam_permissions].
13451    fn test_iam_permissions(
13452        &self,
13453        _req: crate::model::target_pools::TestIamPermissionsRequest,
13454        _options: crate::RequestOptions,
13455    ) -> impl std::future::Future<
13456        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13457    > + Send {
13458        gaxi::unimplemented::unimplemented_stub()
13459    }
13460
13461    /// Implements [super::client::TargetPools::get_operation].
13462    fn get_operation(
13463        &self,
13464        _req: crate::model::region_operations::GetRequest,
13465        _options: crate::RequestOptions,
13466    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13467    {
13468        gaxi::unimplemented::unimplemented_stub()
13469    }
13470
13471    /// Returns the polling error policy.
13472    ///
13473    /// When mocking, this method is typically irrelevant. Do not try to verify
13474    /// it is called by your mocks.
13475    fn get_polling_error_policy(
13476        &self,
13477        _options: &crate::RequestOptions,
13478    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13479        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13480    }
13481
13482    /// Returns the polling backoff policy.
13483    ///
13484    /// When mocking, this method is typically irrelevant. Do not try to verify
13485    /// it is called by your mocks.
13486    fn get_polling_backoff_policy(
13487        &self,
13488        _options: &crate::RequestOptions,
13489    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13490        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13491    }
13492}
13493
13494/// Defines the trait used to implement [super::client::TargetSslProxies].
13495///
13496/// Application developers may need to implement this trait to mock
13497/// `client::TargetSslProxies`.  In other use-cases, application developers only
13498/// use `client::TargetSslProxies` and need not be concerned with this trait or
13499/// its implementations.
13500///
13501/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13502/// too. To avoid breaking applications the trait provides a default
13503/// implementation of each method. Most of these implementations just return an
13504/// error.
13505#[cfg(feature = "target-ssl-proxies")]
13506#[cfg_attr(docsrs, doc(cfg(feature = "target-ssl-proxies")))]
13507pub trait TargetSslProxies: std::fmt::Debug + Send + Sync {
13508    /// Implements [super::client::TargetSslProxies::delete].
13509    fn delete(
13510        &self,
13511        _req: crate::model::target_ssl_proxies::DeleteRequest,
13512        _options: crate::RequestOptions,
13513    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13514    {
13515        gaxi::unimplemented::unimplemented_stub()
13516    }
13517
13518    /// Implements [super::client::TargetSslProxies::get].
13519    fn get(
13520        &self,
13521        _req: crate::model::target_ssl_proxies::GetRequest,
13522        _options: crate::RequestOptions,
13523    ) -> impl std::future::Future<
13524        Output = crate::Result<crate::Response<crate::model::TargetSslProxy>>,
13525    > + Send {
13526        gaxi::unimplemented::unimplemented_stub()
13527    }
13528
13529    /// Implements [super::client::TargetSslProxies::insert].
13530    fn insert(
13531        &self,
13532        _req: crate::model::target_ssl_proxies::InsertRequest,
13533        _options: crate::RequestOptions,
13534    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13535    {
13536        gaxi::unimplemented::unimplemented_stub()
13537    }
13538
13539    /// Implements [super::client::TargetSslProxies::list].
13540    fn list(
13541        &self,
13542        _req: crate::model::target_ssl_proxies::ListRequest,
13543        _options: crate::RequestOptions,
13544    ) -> impl std::future::Future<
13545        Output = crate::Result<crate::Response<crate::model::TargetSslProxyList>>,
13546    > + Send {
13547        gaxi::unimplemented::unimplemented_stub()
13548    }
13549
13550    /// Implements [super::client::TargetSslProxies::set_backend_service].
13551    fn set_backend_service(
13552        &self,
13553        _req: crate::model::target_ssl_proxies::SetBackendServiceRequest,
13554        _options: crate::RequestOptions,
13555    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13556    {
13557        gaxi::unimplemented::unimplemented_stub()
13558    }
13559
13560    /// Implements [super::client::TargetSslProxies::set_certificate_map].
13561    fn set_certificate_map(
13562        &self,
13563        _req: crate::model::target_ssl_proxies::SetCertificateMapRequest,
13564        _options: crate::RequestOptions,
13565    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13566    {
13567        gaxi::unimplemented::unimplemented_stub()
13568    }
13569
13570    /// Implements [super::client::TargetSslProxies::set_proxy_header].
13571    fn set_proxy_header(
13572        &self,
13573        _req: crate::model::target_ssl_proxies::SetProxyHeaderRequest,
13574        _options: crate::RequestOptions,
13575    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13576    {
13577        gaxi::unimplemented::unimplemented_stub()
13578    }
13579
13580    /// Implements [super::client::TargetSslProxies::set_ssl_certificates].
13581    fn set_ssl_certificates(
13582        &self,
13583        _req: crate::model::target_ssl_proxies::SetSslCertificatesRequest,
13584        _options: crate::RequestOptions,
13585    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13586    {
13587        gaxi::unimplemented::unimplemented_stub()
13588    }
13589
13590    /// Implements [super::client::TargetSslProxies::set_ssl_policy].
13591    fn set_ssl_policy(
13592        &self,
13593        _req: crate::model::target_ssl_proxies::SetSslPolicyRequest,
13594        _options: crate::RequestOptions,
13595    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13596    {
13597        gaxi::unimplemented::unimplemented_stub()
13598    }
13599
13600    /// Implements [super::client::TargetSslProxies::test_iam_permissions].
13601    fn test_iam_permissions(
13602        &self,
13603        _req: crate::model::target_ssl_proxies::TestIamPermissionsRequest,
13604        _options: crate::RequestOptions,
13605    ) -> impl std::future::Future<
13606        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13607    > + Send {
13608        gaxi::unimplemented::unimplemented_stub()
13609    }
13610
13611    /// Implements [super::client::TargetSslProxies::get_operation].
13612    fn get_operation(
13613        &self,
13614        _req: crate::model::global_operations::GetRequest,
13615        _options: crate::RequestOptions,
13616    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13617    {
13618        gaxi::unimplemented::unimplemented_stub()
13619    }
13620
13621    /// Returns the polling error policy.
13622    ///
13623    /// When mocking, this method is typically irrelevant. Do not try to verify
13624    /// it is called by your mocks.
13625    fn get_polling_error_policy(
13626        &self,
13627        _options: &crate::RequestOptions,
13628    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13629        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13630    }
13631
13632    /// Returns the polling backoff policy.
13633    ///
13634    /// When mocking, this method is typically irrelevant. Do not try to verify
13635    /// it is called by your mocks.
13636    fn get_polling_backoff_policy(
13637        &self,
13638        _options: &crate::RequestOptions,
13639    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13640        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13641    }
13642}
13643
13644/// Defines the trait used to implement [super::client::TargetTcpProxies].
13645///
13646/// Application developers may need to implement this trait to mock
13647/// `client::TargetTcpProxies`.  In other use-cases, application developers only
13648/// use `client::TargetTcpProxies` and need not be concerned with this trait or
13649/// its implementations.
13650///
13651/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13652/// too. To avoid breaking applications the trait provides a default
13653/// implementation of each method. Most of these implementations just return an
13654/// error.
13655#[cfg(feature = "target-tcp-proxies")]
13656#[cfg_attr(docsrs, doc(cfg(feature = "target-tcp-proxies")))]
13657pub trait TargetTcpProxies: std::fmt::Debug + Send + Sync {
13658    /// Implements [super::client::TargetTcpProxies::aggregated_list].
13659    fn aggregated_list(
13660        &self,
13661        _req: crate::model::target_tcp_proxies::AggregatedListRequest,
13662        _options: crate::RequestOptions,
13663    ) -> impl std::future::Future<
13664        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyAggregatedList>>,
13665    > + Send {
13666        gaxi::unimplemented::unimplemented_stub()
13667    }
13668
13669    /// Implements [super::client::TargetTcpProxies::delete].
13670    fn delete(
13671        &self,
13672        _req: crate::model::target_tcp_proxies::DeleteRequest,
13673        _options: crate::RequestOptions,
13674    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13675    {
13676        gaxi::unimplemented::unimplemented_stub()
13677    }
13678
13679    /// Implements [super::client::TargetTcpProxies::get].
13680    fn get(
13681        &self,
13682        _req: crate::model::target_tcp_proxies::GetRequest,
13683        _options: crate::RequestOptions,
13684    ) -> impl std::future::Future<
13685        Output = crate::Result<crate::Response<crate::model::TargetTcpProxy>>,
13686    > + Send {
13687        gaxi::unimplemented::unimplemented_stub()
13688    }
13689
13690    /// Implements [super::client::TargetTcpProxies::insert].
13691    fn insert(
13692        &self,
13693        _req: crate::model::target_tcp_proxies::InsertRequest,
13694        _options: crate::RequestOptions,
13695    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13696    {
13697        gaxi::unimplemented::unimplemented_stub()
13698    }
13699
13700    /// Implements [super::client::TargetTcpProxies::list].
13701    fn list(
13702        &self,
13703        _req: crate::model::target_tcp_proxies::ListRequest,
13704        _options: crate::RequestOptions,
13705    ) -> impl std::future::Future<
13706        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyList>>,
13707    > + Send {
13708        gaxi::unimplemented::unimplemented_stub()
13709    }
13710
13711    /// Implements [super::client::TargetTcpProxies::set_backend_service].
13712    fn set_backend_service(
13713        &self,
13714        _req: crate::model::target_tcp_proxies::SetBackendServiceRequest,
13715        _options: crate::RequestOptions,
13716    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13717    {
13718        gaxi::unimplemented::unimplemented_stub()
13719    }
13720
13721    /// Implements [super::client::TargetTcpProxies::set_proxy_header].
13722    fn set_proxy_header(
13723        &self,
13724        _req: crate::model::target_tcp_proxies::SetProxyHeaderRequest,
13725        _options: crate::RequestOptions,
13726    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13727    {
13728        gaxi::unimplemented::unimplemented_stub()
13729    }
13730
13731    /// Implements [super::client::TargetTcpProxies::test_iam_permissions].
13732    fn test_iam_permissions(
13733        &self,
13734        _req: crate::model::target_tcp_proxies::TestIamPermissionsRequest,
13735        _options: crate::RequestOptions,
13736    ) -> impl std::future::Future<
13737        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13738    > + Send {
13739        gaxi::unimplemented::unimplemented_stub()
13740    }
13741
13742    /// Implements [super::client::TargetTcpProxies::get_operation].
13743    fn get_operation(
13744        &self,
13745        _req: crate::model::global_operations::GetRequest,
13746        _options: crate::RequestOptions,
13747    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13748    {
13749        gaxi::unimplemented::unimplemented_stub()
13750    }
13751
13752    /// Returns the polling error policy.
13753    ///
13754    /// When mocking, this method is typically irrelevant. Do not try to verify
13755    /// it is called by your mocks.
13756    fn get_polling_error_policy(
13757        &self,
13758        _options: &crate::RequestOptions,
13759    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13760        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13761    }
13762
13763    /// Returns the polling backoff policy.
13764    ///
13765    /// When mocking, this method is typically irrelevant. Do not try to verify
13766    /// it is called by your mocks.
13767    fn get_polling_backoff_policy(
13768        &self,
13769        _options: &crate::RequestOptions,
13770    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13771        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13772    }
13773}
13774
13775/// Defines the trait used to implement [super::client::TargetVpnGateways].
13776///
13777/// Application developers may need to implement this trait to mock
13778/// `client::TargetVpnGateways`.  In other use-cases, application developers only
13779/// use `client::TargetVpnGateways` and need not be concerned with this trait or
13780/// its implementations.
13781///
13782/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13783/// too. To avoid breaking applications the trait provides a default
13784/// implementation of each method. Most of these implementations just return an
13785/// error.
13786#[cfg(feature = "target-vpn-gateways")]
13787#[cfg_attr(docsrs, doc(cfg(feature = "target-vpn-gateways")))]
13788pub trait TargetVpnGateways: std::fmt::Debug + Send + Sync {
13789    /// Implements [super::client::TargetVpnGateways::aggregated_list].
13790    fn aggregated_list(
13791        &self,
13792        _req: crate::model::target_vpn_gateways::AggregatedListRequest,
13793        _options: crate::RequestOptions,
13794    ) -> impl std::future::Future<
13795        Output = crate::Result<crate::Response<crate::model::TargetVpnGatewayAggregatedList>>,
13796    > + Send {
13797        gaxi::unimplemented::unimplemented_stub()
13798    }
13799
13800    /// Implements [super::client::TargetVpnGateways::delete].
13801    fn delete(
13802        &self,
13803        _req: crate::model::target_vpn_gateways::DeleteRequest,
13804        _options: crate::RequestOptions,
13805    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13806    {
13807        gaxi::unimplemented::unimplemented_stub()
13808    }
13809
13810    /// Implements [super::client::TargetVpnGateways::get].
13811    fn get(
13812        &self,
13813        _req: crate::model::target_vpn_gateways::GetRequest,
13814        _options: crate::RequestOptions,
13815    ) -> impl std::future::Future<
13816        Output = crate::Result<crate::Response<crate::model::TargetVpnGateway>>,
13817    > + Send {
13818        gaxi::unimplemented::unimplemented_stub()
13819    }
13820
13821    /// Implements [super::client::TargetVpnGateways::insert].
13822    fn insert(
13823        &self,
13824        _req: crate::model::target_vpn_gateways::InsertRequest,
13825        _options: crate::RequestOptions,
13826    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13827    {
13828        gaxi::unimplemented::unimplemented_stub()
13829    }
13830
13831    /// Implements [super::client::TargetVpnGateways::list].
13832    fn list(
13833        &self,
13834        _req: crate::model::target_vpn_gateways::ListRequest,
13835        _options: crate::RequestOptions,
13836    ) -> impl std::future::Future<
13837        Output = crate::Result<crate::Response<crate::model::TargetVpnGatewayList>>,
13838    > + Send {
13839        gaxi::unimplemented::unimplemented_stub()
13840    }
13841
13842    /// Implements [super::client::TargetVpnGateways::set_labels].
13843    fn set_labels(
13844        &self,
13845        _req: crate::model::target_vpn_gateways::SetLabelsRequest,
13846        _options: crate::RequestOptions,
13847    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13848    {
13849        gaxi::unimplemented::unimplemented_stub()
13850    }
13851
13852    /// Implements [super::client::TargetVpnGateways::get_operation].
13853    fn get_operation(
13854        &self,
13855        _req: crate::model::region_operations::GetRequest,
13856        _options: crate::RequestOptions,
13857    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13858    {
13859        gaxi::unimplemented::unimplemented_stub()
13860    }
13861
13862    /// Returns the polling error policy.
13863    ///
13864    /// When mocking, this method is typically irrelevant. Do not try to verify
13865    /// it is called by your mocks.
13866    fn get_polling_error_policy(
13867        &self,
13868        _options: &crate::RequestOptions,
13869    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13870        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13871    }
13872
13873    /// Returns the polling backoff policy.
13874    ///
13875    /// When mocking, this method is typically irrelevant. Do not try to verify
13876    /// it is called by your mocks.
13877    fn get_polling_backoff_policy(
13878        &self,
13879        _options: &crate::RequestOptions,
13880    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13881        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13882    }
13883}
13884
13885/// Defines the trait used to implement [super::client::UrlMaps].
13886///
13887/// Application developers may need to implement this trait to mock
13888/// `client::UrlMaps`.  In other use-cases, application developers only
13889/// use `client::UrlMaps` and need not be concerned with this trait or
13890/// its implementations.
13891///
13892/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13893/// too. To avoid breaking applications the trait provides a default
13894/// implementation of each method. Most of these implementations just return an
13895/// error.
13896#[cfg(feature = "url-maps")]
13897#[cfg_attr(docsrs, doc(cfg(feature = "url-maps")))]
13898pub trait UrlMaps: std::fmt::Debug + Send + Sync {
13899    /// Implements [super::client::UrlMaps::aggregated_list].
13900    fn aggregated_list(
13901        &self,
13902        _req: crate::model::url_maps::AggregatedListRequest,
13903        _options: crate::RequestOptions,
13904    ) -> impl std::future::Future<
13905        Output = crate::Result<crate::Response<crate::model::UrlMapsAggregatedList>>,
13906    > + Send {
13907        gaxi::unimplemented::unimplemented_stub()
13908    }
13909
13910    /// Implements [super::client::UrlMaps::delete].
13911    fn delete(
13912        &self,
13913        _req: crate::model::url_maps::DeleteRequest,
13914        _options: crate::RequestOptions,
13915    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13916    {
13917        gaxi::unimplemented::unimplemented_stub()
13918    }
13919
13920    /// Implements [super::client::UrlMaps::get].
13921    fn get(
13922        &self,
13923        _req: crate::model::url_maps::GetRequest,
13924        _options: crate::RequestOptions,
13925    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMap>>> + Send
13926    {
13927        gaxi::unimplemented::unimplemented_stub()
13928    }
13929
13930    /// Implements [super::client::UrlMaps::insert].
13931    fn insert(
13932        &self,
13933        _req: crate::model::url_maps::InsertRequest,
13934        _options: crate::RequestOptions,
13935    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13936    {
13937        gaxi::unimplemented::unimplemented_stub()
13938    }
13939
13940    /// Implements [super::client::UrlMaps::invalidate_cache].
13941    fn invalidate_cache(
13942        &self,
13943        _req: crate::model::url_maps::InvalidateCacheRequest,
13944        _options: crate::RequestOptions,
13945    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13946    {
13947        gaxi::unimplemented::unimplemented_stub()
13948    }
13949
13950    /// Implements [super::client::UrlMaps::list].
13951    fn list(
13952        &self,
13953        _req: crate::model::url_maps::ListRequest,
13954        _options: crate::RequestOptions,
13955    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMapList>>> + Send
13956    {
13957        gaxi::unimplemented::unimplemented_stub()
13958    }
13959
13960    /// Implements [super::client::UrlMaps::patch].
13961    fn patch(
13962        &self,
13963        _req: crate::model::url_maps::PatchRequest,
13964        _options: crate::RequestOptions,
13965    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13966    {
13967        gaxi::unimplemented::unimplemented_stub()
13968    }
13969
13970    /// Implements [super::client::UrlMaps::test_iam_permissions].
13971    fn test_iam_permissions(
13972        &self,
13973        _req: crate::model::url_maps::TestIamPermissionsRequest,
13974        _options: crate::RequestOptions,
13975    ) -> impl std::future::Future<
13976        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13977    > + Send {
13978        gaxi::unimplemented::unimplemented_stub()
13979    }
13980
13981    /// Implements [super::client::UrlMaps::update].
13982    fn update(
13983        &self,
13984        _req: crate::model::url_maps::UpdateRequest,
13985        _options: crate::RequestOptions,
13986    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13987    {
13988        gaxi::unimplemented::unimplemented_stub()
13989    }
13990
13991    /// Implements [super::client::UrlMaps::validate].
13992    fn validate(
13993        &self,
13994        _req: crate::model::url_maps::ValidateRequest,
13995        _options: crate::RequestOptions,
13996    ) -> impl std::future::Future<
13997        Output = crate::Result<crate::Response<crate::model::UrlMapsValidateResponse>>,
13998    > + Send {
13999        gaxi::unimplemented::unimplemented_stub()
14000    }
14001
14002    /// Implements [super::client::UrlMaps::get_operation].
14003    fn get_operation(
14004        &self,
14005        _req: crate::model::global_operations::GetRequest,
14006        _options: crate::RequestOptions,
14007    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14008    {
14009        gaxi::unimplemented::unimplemented_stub()
14010    }
14011
14012    /// Returns the polling error policy.
14013    ///
14014    /// When mocking, this method is typically irrelevant. Do not try to verify
14015    /// it is called by your mocks.
14016    fn get_polling_error_policy(
14017        &self,
14018        _options: &crate::RequestOptions,
14019    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14020        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14021    }
14022
14023    /// Returns the polling backoff policy.
14024    ///
14025    /// When mocking, this method is typically irrelevant. Do not try to verify
14026    /// it is called by your mocks.
14027    fn get_polling_backoff_policy(
14028        &self,
14029        _options: &crate::RequestOptions,
14030    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14031        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14032    }
14033}
14034
14035/// Defines the trait used to implement [super::client::VpnGateways].
14036///
14037/// Application developers may need to implement this trait to mock
14038/// `client::VpnGateways`.  In other use-cases, application developers only
14039/// use `client::VpnGateways` and need not be concerned with this trait or
14040/// its implementations.
14041///
14042/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14043/// too. To avoid breaking applications the trait provides a default
14044/// implementation of each method. Most of these implementations just return an
14045/// error.
14046#[cfg(feature = "vpn-gateways")]
14047#[cfg_attr(docsrs, doc(cfg(feature = "vpn-gateways")))]
14048pub trait VpnGateways: std::fmt::Debug + Send + Sync {
14049    /// Implements [super::client::VpnGateways::aggregated_list].
14050    fn aggregated_list(
14051        &self,
14052        _req: crate::model::vpn_gateways::AggregatedListRequest,
14053        _options: crate::RequestOptions,
14054    ) -> impl std::future::Future<
14055        Output = crate::Result<crate::Response<crate::model::VpnGatewayAggregatedList>>,
14056    > + Send {
14057        gaxi::unimplemented::unimplemented_stub()
14058    }
14059
14060    /// Implements [super::client::VpnGateways::delete].
14061    fn delete(
14062        &self,
14063        _req: crate::model::vpn_gateways::DeleteRequest,
14064        _options: crate::RequestOptions,
14065    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14066    {
14067        gaxi::unimplemented::unimplemented_stub()
14068    }
14069
14070    /// Implements [super::client::VpnGateways::get].
14071    fn get(
14072        &self,
14073        _req: crate::model::vpn_gateways::GetRequest,
14074        _options: crate::RequestOptions,
14075    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::VpnGateway>>> + Send
14076    {
14077        gaxi::unimplemented::unimplemented_stub()
14078    }
14079
14080    /// Implements [super::client::VpnGateways::get_status].
14081    fn get_status(
14082        &self,
14083        _req: crate::model::vpn_gateways::GetStatusRequest,
14084        _options: crate::RequestOptions,
14085    ) -> impl std::future::Future<
14086        Output = crate::Result<crate::Response<crate::model::VpnGatewaysGetStatusResponse>>,
14087    > + Send {
14088        gaxi::unimplemented::unimplemented_stub()
14089    }
14090
14091    /// Implements [super::client::VpnGateways::insert].
14092    fn insert(
14093        &self,
14094        _req: crate::model::vpn_gateways::InsertRequest,
14095        _options: crate::RequestOptions,
14096    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14097    {
14098        gaxi::unimplemented::unimplemented_stub()
14099    }
14100
14101    /// Implements [super::client::VpnGateways::list].
14102    fn list(
14103        &self,
14104        _req: crate::model::vpn_gateways::ListRequest,
14105        _options: crate::RequestOptions,
14106    ) -> impl std::future::Future<
14107        Output = crate::Result<crate::Response<crate::model::VpnGatewayList>>,
14108    > + Send {
14109        gaxi::unimplemented::unimplemented_stub()
14110    }
14111
14112    /// Implements [super::client::VpnGateways::set_labels].
14113    fn set_labels(
14114        &self,
14115        _req: crate::model::vpn_gateways::SetLabelsRequest,
14116        _options: crate::RequestOptions,
14117    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14118    {
14119        gaxi::unimplemented::unimplemented_stub()
14120    }
14121
14122    /// Implements [super::client::VpnGateways::test_iam_permissions].
14123    fn test_iam_permissions(
14124        &self,
14125        _req: crate::model::vpn_gateways::TestIamPermissionsRequest,
14126        _options: crate::RequestOptions,
14127    ) -> impl std::future::Future<
14128        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14129    > + Send {
14130        gaxi::unimplemented::unimplemented_stub()
14131    }
14132
14133    /// Implements [super::client::VpnGateways::get_operation].
14134    fn get_operation(
14135        &self,
14136        _req: crate::model::region_operations::GetRequest,
14137        _options: crate::RequestOptions,
14138    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14139    {
14140        gaxi::unimplemented::unimplemented_stub()
14141    }
14142
14143    /// Returns the polling error policy.
14144    ///
14145    /// When mocking, this method is typically irrelevant. Do not try to verify
14146    /// it is called by your mocks.
14147    fn get_polling_error_policy(
14148        &self,
14149        _options: &crate::RequestOptions,
14150    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14151        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14152    }
14153
14154    /// Returns the polling backoff policy.
14155    ///
14156    /// When mocking, this method is typically irrelevant. Do not try to verify
14157    /// it is called by your mocks.
14158    fn get_polling_backoff_policy(
14159        &self,
14160        _options: &crate::RequestOptions,
14161    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14162        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14163    }
14164}
14165
14166/// Defines the trait used to implement [super::client::VpnTunnels].
14167///
14168/// Application developers may need to implement this trait to mock
14169/// `client::VpnTunnels`.  In other use-cases, application developers only
14170/// use `client::VpnTunnels` and need not be concerned with this trait or
14171/// its implementations.
14172///
14173/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14174/// too. To avoid breaking applications the trait provides a default
14175/// implementation of each method. Most of these implementations just return an
14176/// error.
14177#[cfg(feature = "vpn-tunnels")]
14178#[cfg_attr(docsrs, doc(cfg(feature = "vpn-tunnels")))]
14179pub trait VpnTunnels: std::fmt::Debug + Send + Sync {
14180    /// Implements [super::client::VpnTunnels::aggregated_list].
14181    fn aggregated_list(
14182        &self,
14183        _req: crate::model::vpn_tunnels::AggregatedListRequest,
14184        _options: crate::RequestOptions,
14185    ) -> impl std::future::Future<
14186        Output = crate::Result<crate::Response<crate::model::VpnTunnelAggregatedList>>,
14187    > + Send {
14188        gaxi::unimplemented::unimplemented_stub()
14189    }
14190
14191    /// Implements [super::client::VpnTunnels::delete].
14192    fn delete(
14193        &self,
14194        _req: crate::model::vpn_tunnels::DeleteRequest,
14195        _options: crate::RequestOptions,
14196    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14197    {
14198        gaxi::unimplemented::unimplemented_stub()
14199    }
14200
14201    /// Implements [super::client::VpnTunnels::get].
14202    fn get(
14203        &self,
14204        _req: crate::model::vpn_tunnels::GetRequest,
14205        _options: crate::RequestOptions,
14206    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::VpnTunnel>>> + Send
14207    {
14208        gaxi::unimplemented::unimplemented_stub()
14209    }
14210
14211    /// Implements [super::client::VpnTunnels::insert].
14212    fn insert(
14213        &self,
14214        _req: crate::model::vpn_tunnels::InsertRequest,
14215        _options: crate::RequestOptions,
14216    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14217    {
14218        gaxi::unimplemented::unimplemented_stub()
14219    }
14220
14221    /// Implements [super::client::VpnTunnels::list].
14222    fn list(
14223        &self,
14224        _req: crate::model::vpn_tunnels::ListRequest,
14225        _options: crate::RequestOptions,
14226    ) -> impl std::future::Future<
14227        Output = crate::Result<crate::Response<crate::model::VpnTunnelList>>,
14228    > + Send {
14229        gaxi::unimplemented::unimplemented_stub()
14230    }
14231
14232    /// Implements [super::client::VpnTunnels::set_labels].
14233    fn set_labels(
14234        &self,
14235        _req: crate::model::vpn_tunnels::SetLabelsRequest,
14236        _options: crate::RequestOptions,
14237    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14238    {
14239        gaxi::unimplemented::unimplemented_stub()
14240    }
14241
14242    /// Implements [super::client::VpnTunnels::get_operation].
14243    fn get_operation(
14244        &self,
14245        _req: crate::model::region_operations::GetRequest,
14246        _options: crate::RequestOptions,
14247    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14248    {
14249        gaxi::unimplemented::unimplemented_stub()
14250    }
14251
14252    /// Returns the polling error policy.
14253    ///
14254    /// When mocking, this method is typically irrelevant. Do not try to verify
14255    /// it is called by your mocks.
14256    fn get_polling_error_policy(
14257        &self,
14258        _options: &crate::RequestOptions,
14259    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14260        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14261    }
14262
14263    /// Returns the polling backoff policy.
14264    ///
14265    /// When mocking, this method is typically irrelevant. Do not try to verify
14266    /// it is called by your mocks.
14267    fn get_polling_backoff_policy(
14268        &self,
14269        _options: &crate::RequestOptions,
14270    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14271        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14272    }
14273}
14274
14275/// Defines the trait used to implement [super::client::WireGroups].
14276///
14277/// Application developers may need to implement this trait to mock
14278/// `client::WireGroups`.  In other use-cases, application developers only
14279/// use `client::WireGroups` and need not be concerned with this trait or
14280/// its implementations.
14281///
14282/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14283/// too. To avoid breaking applications the trait provides a default
14284/// implementation of each method. Most of these implementations just return an
14285/// error.
14286#[cfg(feature = "wire-groups")]
14287#[cfg_attr(docsrs, doc(cfg(feature = "wire-groups")))]
14288pub trait WireGroups: std::fmt::Debug + Send + Sync {
14289    /// Implements [super::client::WireGroups::delete].
14290    fn delete(
14291        &self,
14292        _req: crate::model::wire_groups::DeleteRequest,
14293        _options: crate::RequestOptions,
14294    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14295    {
14296        gaxi::unimplemented::unimplemented_stub()
14297    }
14298
14299    /// Implements [super::client::WireGroups::get].
14300    fn get(
14301        &self,
14302        _req: crate::model::wire_groups::GetRequest,
14303        _options: crate::RequestOptions,
14304    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::WireGroup>>> + Send
14305    {
14306        gaxi::unimplemented::unimplemented_stub()
14307    }
14308
14309    /// Implements [super::client::WireGroups::insert].
14310    fn insert(
14311        &self,
14312        _req: crate::model::wire_groups::InsertRequest,
14313        _options: crate::RequestOptions,
14314    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14315    {
14316        gaxi::unimplemented::unimplemented_stub()
14317    }
14318
14319    /// Implements [super::client::WireGroups::list].
14320    fn list(
14321        &self,
14322        _req: crate::model::wire_groups::ListRequest,
14323        _options: crate::RequestOptions,
14324    ) -> impl std::future::Future<
14325        Output = crate::Result<crate::Response<crate::model::WireGroupList>>,
14326    > + Send {
14327        gaxi::unimplemented::unimplemented_stub()
14328    }
14329
14330    /// Implements [super::client::WireGroups::patch].
14331    fn patch(
14332        &self,
14333        _req: crate::model::wire_groups::PatchRequest,
14334        _options: crate::RequestOptions,
14335    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14336    {
14337        gaxi::unimplemented::unimplemented_stub()
14338    }
14339
14340    /// Implements [super::client::WireGroups::get_operation].
14341    fn get_operation(
14342        &self,
14343        _req: crate::model::global_operations::GetRequest,
14344        _options: crate::RequestOptions,
14345    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14346    {
14347        gaxi::unimplemented::unimplemented_stub()
14348    }
14349
14350    /// Returns the polling error policy.
14351    ///
14352    /// When mocking, this method is typically irrelevant. Do not try to verify
14353    /// it is called by your mocks.
14354    fn get_polling_error_policy(
14355        &self,
14356        _options: &crate::RequestOptions,
14357    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14358        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14359    }
14360
14361    /// Returns the polling backoff policy.
14362    ///
14363    /// When mocking, this method is typically irrelevant. Do not try to verify
14364    /// it is called by your mocks.
14365    fn get_polling_backoff_policy(
14366        &self,
14367        _options: &crate::RequestOptions,
14368    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14369        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14370    }
14371}
14372
14373/// Defines the trait used to implement [super::client::ZoneOperations].
14374///
14375/// Application developers may need to implement this trait to mock
14376/// `client::ZoneOperations`.  In other use-cases, application developers only
14377/// use `client::ZoneOperations` and need not be concerned with this trait or
14378/// its implementations.
14379///
14380/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14381/// too. To avoid breaking applications the trait provides a default
14382/// implementation of each method. Most of these implementations just return an
14383/// error.
14384#[cfg(feature = "zone-operations")]
14385#[cfg_attr(docsrs, doc(cfg(feature = "zone-operations")))]
14386pub trait ZoneOperations: std::fmt::Debug + Send + Sync {
14387    /// Implements [super::client::ZoneOperations::delete].
14388    fn delete(
14389        &self,
14390        _req: crate::model::zone_operations::DeleteRequest,
14391        _options: crate::RequestOptions,
14392    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
14393        gaxi::unimplemented::unimplemented_stub()
14394    }
14395
14396    /// Implements [super::client::ZoneOperations::get].
14397    fn get(
14398        &self,
14399        _req: crate::model::zone_operations::GetRequest,
14400        _options: crate::RequestOptions,
14401    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14402    {
14403        gaxi::unimplemented::unimplemented_stub()
14404    }
14405
14406    /// Implements [super::client::ZoneOperations::list].
14407    fn list(
14408        &self,
14409        _req: crate::model::zone_operations::ListRequest,
14410        _options: crate::RequestOptions,
14411    ) -> impl std::future::Future<
14412        Output = crate::Result<crate::Response<crate::model::OperationList>>,
14413    > + Send {
14414        gaxi::unimplemented::unimplemented_stub()
14415    }
14416
14417    /// Implements [super::client::ZoneOperations::wait].
14418    fn wait(
14419        &self,
14420        _req: crate::model::zone_operations::WaitRequest,
14421        _options: crate::RequestOptions,
14422    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14423    {
14424        gaxi::unimplemented::unimplemented_stub()
14425    }
14426}
14427
14428/// Defines the trait used to implement [super::client::Zones].
14429///
14430/// Application developers may need to implement this trait to mock
14431/// `client::Zones`.  In other use-cases, application developers only
14432/// use `client::Zones` and need not be concerned with this trait or
14433/// its implementations.
14434///
14435/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14436/// too. To avoid breaking applications the trait provides a default
14437/// implementation of each method. Most of these implementations just return an
14438/// error.
14439#[cfg(feature = "zones")]
14440#[cfg_attr(docsrs, doc(cfg(feature = "zones")))]
14441pub trait Zones: std::fmt::Debug + Send + Sync {
14442    /// Implements [super::client::Zones::get].
14443    fn get(
14444        &self,
14445        _req: crate::model::zones::GetRequest,
14446        _options: crate::RequestOptions,
14447    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Zone>>> + Send
14448    {
14449        gaxi::unimplemented::unimplemented_stub()
14450    }
14451
14452    /// Implements [super::client::Zones::list].
14453    fn list(
14454        &self,
14455        _req: crate::model::zones::ListRequest,
14456        _options: crate::RequestOptions,
14457    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ZoneList>>> + Send
14458    {
14459        gaxi::unimplemented::unimplemented_stub()
14460    }
14461}