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_partner_metadata].
3889    fn get_partner_metadata(
3890        &self,
3891        _req: crate::model::instances::GetPartnerMetadataRequest,
3892        _options: crate::RequestOptions,
3893    ) -> impl std::future::Future<
3894        Output = crate::Result<crate::Response<crate::model::PartnerMetadata>>,
3895    > + Send {
3896        gaxi::unimplemented::unimplemented_stub()
3897    }
3898
3899    /// Implements [super::client::Instances::get_screenshot].
3900    fn get_screenshot(
3901        &self,
3902        _req: crate::model::instances::GetScreenshotRequest,
3903        _options: crate::RequestOptions,
3904    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Screenshot>>> + Send
3905    {
3906        gaxi::unimplemented::unimplemented_stub()
3907    }
3908
3909    /// Implements [super::client::Instances::get_serial_port_output].
3910    fn get_serial_port_output(
3911        &self,
3912        _req: crate::model::instances::GetSerialPortOutputRequest,
3913        _options: crate::RequestOptions,
3914    ) -> impl std::future::Future<
3915        Output = crate::Result<crate::Response<crate::model::SerialPortOutput>>,
3916    > + Send {
3917        gaxi::unimplemented::unimplemented_stub()
3918    }
3919
3920    /// Implements [super::client::Instances::get_shielded_instance_identity].
3921    fn get_shielded_instance_identity(
3922        &self,
3923        _req: crate::model::instances::GetShieldedInstanceIdentityRequest,
3924        _options: crate::RequestOptions,
3925    ) -> impl std::future::Future<
3926        Output = crate::Result<crate::Response<crate::model::ShieldedInstanceIdentity>>,
3927    > + Send {
3928        gaxi::unimplemented::unimplemented_stub()
3929    }
3930
3931    /// Implements [super::client::Instances::insert].
3932    fn insert(
3933        &self,
3934        _req: crate::model::instances::InsertRequest,
3935        _options: crate::RequestOptions,
3936    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3937    {
3938        gaxi::unimplemented::unimplemented_stub()
3939    }
3940
3941    /// Implements [super::client::Instances::list].
3942    fn list(
3943        &self,
3944        _req: crate::model::instances::ListRequest,
3945        _options: crate::RequestOptions,
3946    ) -> impl std::future::Future<
3947        Output = crate::Result<crate::Response<crate::model::InstanceList>>,
3948    > + Send {
3949        gaxi::unimplemented::unimplemented_stub()
3950    }
3951
3952    /// Implements [super::client::Instances::list_referrers].
3953    fn list_referrers(
3954        &self,
3955        _req: crate::model::instances::ListReferrersRequest,
3956        _options: crate::RequestOptions,
3957    ) -> impl std::future::Future<
3958        Output = crate::Result<crate::Response<crate::model::InstanceListReferrers>>,
3959    > + Send {
3960        gaxi::unimplemented::unimplemented_stub()
3961    }
3962
3963    /// Implements [super::client::Instances::patch_partner_metadata].
3964    fn patch_partner_metadata(
3965        &self,
3966        _req: crate::model::instances::PatchPartnerMetadataRequest,
3967        _options: crate::RequestOptions,
3968    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3969    {
3970        gaxi::unimplemented::unimplemented_stub()
3971    }
3972
3973    /// Implements [super::client::Instances::perform_maintenance].
3974    fn perform_maintenance(
3975        &self,
3976        _req: crate::model::instances::PerformMaintenanceRequest,
3977        _options: crate::RequestOptions,
3978    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3979    {
3980        gaxi::unimplemented::unimplemented_stub()
3981    }
3982
3983    /// Implements [super::client::Instances::remove_resource_policies].
3984    fn remove_resource_policies(
3985        &self,
3986        _req: crate::model::instances::RemoveResourcePoliciesRequest,
3987        _options: crate::RequestOptions,
3988    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3989    {
3990        gaxi::unimplemented::unimplemented_stub()
3991    }
3992
3993    /// Implements [super::client::Instances::report_host_as_faulty].
3994    fn report_host_as_faulty(
3995        &self,
3996        _req: crate::model::instances::ReportHostAsFaultyRequest,
3997        _options: crate::RequestOptions,
3998    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3999    {
4000        gaxi::unimplemented::unimplemented_stub()
4001    }
4002
4003    /// Implements [super::client::Instances::reset].
4004    fn reset(
4005        &self,
4006        _req: crate::model::instances::ResetRequest,
4007        _options: crate::RequestOptions,
4008    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4009    {
4010        gaxi::unimplemented::unimplemented_stub()
4011    }
4012
4013    /// Implements [super::client::Instances::resume].
4014    fn resume(
4015        &self,
4016        _req: crate::model::instances::ResumeRequest,
4017        _options: crate::RequestOptions,
4018    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4019    {
4020        gaxi::unimplemented::unimplemented_stub()
4021    }
4022
4023    /// Implements [super::client::Instances::send_diagnostic_interrupt].
4024    fn send_diagnostic_interrupt(
4025        &self,
4026        _req: crate::model::instances::SendDiagnosticInterruptRequest,
4027        _options: crate::RequestOptions,
4028    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
4029        gaxi::unimplemented::unimplemented_stub()
4030    }
4031
4032    /// Implements [super::client::Instances::set_deletion_protection].
4033    fn set_deletion_protection(
4034        &self,
4035        _req: crate::model::instances::SetDeletionProtectionRequest,
4036        _options: crate::RequestOptions,
4037    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4038    {
4039        gaxi::unimplemented::unimplemented_stub()
4040    }
4041
4042    /// Implements [super::client::Instances::set_disk_auto_delete].
4043    fn set_disk_auto_delete(
4044        &self,
4045        _req: crate::model::instances::SetDiskAutoDeleteRequest,
4046        _options: crate::RequestOptions,
4047    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4048    {
4049        gaxi::unimplemented::unimplemented_stub()
4050    }
4051
4052    /// Implements [super::client::Instances::set_iam_policy].
4053    fn set_iam_policy(
4054        &self,
4055        _req: crate::model::instances::SetIamPolicyRequest,
4056        _options: crate::RequestOptions,
4057    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4058    {
4059        gaxi::unimplemented::unimplemented_stub()
4060    }
4061
4062    /// Implements [super::client::Instances::set_labels].
4063    fn set_labels(
4064        &self,
4065        _req: crate::model::instances::SetLabelsRequest,
4066        _options: crate::RequestOptions,
4067    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4068    {
4069        gaxi::unimplemented::unimplemented_stub()
4070    }
4071
4072    /// Implements [super::client::Instances::set_machine_resources].
4073    fn set_machine_resources(
4074        &self,
4075        _req: crate::model::instances::SetMachineResourcesRequest,
4076        _options: crate::RequestOptions,
4077    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4078    {
4079        gaxi::unimplemented::unimplemented_stub()
4080    }
4081
4082    /// Implements [super::client::Instances::set_machine_type].
4083    fn set_machine_type(
4084        &self,
4085        _req: crate::model::instances::SetMachineTypeRequest,
4086        _options: crate::RequestOptions,
4087    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4088    {
4089        gaxi::unimplemented::unimplemented_stub()
4090    }
4091
4092    /// Implements [super::client::Instances::set_metadata].
4093    fn set_metadata(
4094        &self,
4095        _req: crate::model::instances::SetMetadataRequest,
4096        _options: crate::RequestOptions,
4097    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4098    {
4099        gaxi::unimplemented::unimplemented_stub()
4100    }
4101
4102    /// Implements [super::client::Instances::set_min_cpu_platform].
4103    fn set_min_cpu_platform(
4104        &self,
4105        _req: crate::model::instances::SetMinCpuPlatformRequest,
4106        _options: crate::RequestOptions,
4107    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4108    {
4109        gaxi::unimplemented::unimplemented_stub()
4110    }
4111
4112    /// Implements [super::client::Instances::set_name].
4113    fn set_name(
4114        &self,
4115        _req: crate::model::instances::SetNameRequest,
4116        _options: crate::RequestOptions,
4117    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4118    {
4119        gaxi::unimplemented::unimplemented_stub()
4120    }
4121
4122    /// Implements [super::client::Instances::set_scheduling].
4123    fn set_scheduling(
4124        &self,
4125        _req: crate::model::instances::SetSchedulingRequest,
4126        _options: crate::RequestOptions,
4127    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4128    {
4129        gaxi::unimplemented::unimplemented_stub()
4130    }
4131
4132    /// Implements [super::client::Instances::set_security_policy].
4133    fn set_security_policy(
4134        &self,
4135        _req: crate::model::instances::SetSecurityPolicyRequest,
4136        _options: crate::RequestOptions,
4137    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4138    {
4139        gaxi::unimplemented::unimplemented_stub()
4140    }
4141
4142    /// Implements [super::client::Instances::set_service_account].
4143    fn set_service_account(
4144        &self,
4145        _req: crate::model::instances::SetServiceAccountRequest,
4146        _options: crate::RequestOptions,
4147    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4148    {
4149        gaxi::unimplemented::unimplemented_stub()
4150    }
4151
4152    /// Implements [super::client::Instances::set_shielded_instance_integrity_policy].
4153    fn set_shielded_instance_integrity_policy(
4154        &self,
4155        _req: crate::model::instances::SetShieldedInstanceIntegrityPolicyRequest,
4156        _options: crate::RequestOptions,
4157    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4158    {
4159        gaxi::unimplemented::unimplemented_stub()
4160    }
4161
4162    /// Implements [super::client::Instances::set_tags].
4163    fn set_tags(
4164        &self,
4165        _req: crate::model::instances::SetTagsRequest,
4166        _options: crate::RequestOptions,
4167    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4168    {
4169        gaxi::unimplemented::unimplemented_stub()
4170    }
4171
4172    /// Implements [super::client::Instances::simulate_maintenance_event].
4173    fn simulate_maintenance_event(
4174        &self,
4175        _req: crate::model::instances::SimulateMaintenanceEventRequest,
4176        _options: crate::RequestOptions,
4177    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4178    {
4179        gaxi::unimplemented::unimplemented_stub()
4180    }
4181
4182    /// Implements [super::client::Instances::start].
4183    fn start(
4184        &self,
4185        _req: crate::model::instances::StartRequest,
4186        _options: crate::RequestOptions,
4187    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4188    {
4189        gaxi::unimplemented::unimplemented_stub()
4190    }
4191
4192    /// Implements [super::client::Instances::start_with_encryption_key].
4193    fn start_with_encryption_key(
4194        &self,
4195        _req: crate::model::instances::StartWithEncryptionKeyRequest,
4196        _options: crate::RequestOptions,
4197    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4198    {
4199        gaxi::unimplemented::unimplemented_stub()
4200    }
4201
4202    /// Implements [super::client::Instances::stop].
4203    fn stop(
4204        &self,
4205        _req: crate::model::instances::StopRequest,
4206        _options: crate::RequestOptions,
4207    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4208    {
4209        gaxi::unimplemented::unimplemented_stub()
4210    }
4211
4212    /// Implements [super::client::Instances::suspend].
4213    fn suspend(
4214        &self,
4215        _req: crate::model::instances::SuspendRequest,
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::test_iam_permissions].
4223    fn test_iam_permissions(
4224        &self,
4225        _req: crate::model::instances::TestIamPermissionsRequest,
4226        _options: crate::RequestOptions,
4227    ) -> impl std::future::Future<
4228        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4229    > + Send {
4230        gaxi::unimplemented::unimplemented_stub()
4231    }
4232
4233    /// Implements [super::client::Instances::update].
4234    fn update(
4235        &self,
4236        _req: crate::model::instances::UpdateRequest,
4237        _options: crate::RequestOptions,
4238    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4239    {
4240        gaxi::unimplemented::unimplemented_stub()
4241    }
4242
4243    /// Implements [super::client::Instances::update_access_config].
4244    fn update_access_config(
4245        &self,
4246        _req: crate::model::instances::UpdateAccessConfigRequest,
4247        _options: crate::RequestOptions,
4248    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4249    {
4250        gaxi::unimplemented::unimplemented_stub()
4251    }
4252
4253    /// Implements [super::client::Instances::update_display_device].
4254    fn update_display_device(
4255        &self,
4256        _req: crate::model::instances::UpdateDisplayDeviceRequest,
4257        _options: crate::RequestOptions,
4258    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4259    {
4260        gaxi::unimplemented::unimplemented_stub()
4261    }
4262
4263    /// Implements [super::client::Instances::update_network_interface].
4264    fn update_network_interface(
4265        &self,
4266        _req: crate::model::instances::UpdateNetworkInterfaceRequest,
4267        _options: crate::RequestOptions,
4268    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4269    {
4270        gaxi::unimplemented::unimplemented_stub()
4271    }
4272
4273    /// Implements [super::client::Instances::update_shielded_instance_config].
4274    fn update_shielded_instance_config(
4275        &self,
4276        _req: crate::model::instances::UpdateShieldedInstanceConfigRequest,
4277        _options: crate::RequestOptions,
4278    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4279    {
4280        gaxi::unimplemented::unimplemented_stub()
4281    }
4282
4283    /// Implements [super::client::Instances::get_operation].
4284    fn get_operation(
4285        &self,
4286        _req: crate::model::zone_operations::GetRequest,
4287        _options: crate::RequestOptions,
4288    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4289    {
4290        gaxi::unimplemented::unimplemented_stub()
4291    }
4292
4293    /// Returns the polling error policy.
4294    ///
4295    /// When mocking, this method is typically irrelevant. Do not try to verify
4296    /// it is called by your mocks.
4297    fn get_polling_error_policy(
4298        &self,
4299        _options: &crate::RequestOptions,
4300    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4301        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4302    }
4303
4304    /// Returns the polling backoff policy.
4305    ///
4306    /// When mocking, this method is typically irrelevant. Do not try to verify
4307    /// it is called by your mocks.
4308    fn get_polling_backoff_policy(
4309        &self,
4310        _options: &crate::RequestOptions,
4311    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4312        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4313    }
4314}
4315
4316/// Defines the trait used to implement [super::client::InstantSnapshots].
4317///
4318/// Application developers may need to implement this trait to mock
4319/// `client::InstantSnapshots`.  In other use-cases, application developers only
4320/// use `client::InstantSnapshots` and need not be concerned with this trait or
4321/// its implementations.
4322///
4323/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4324/// too. To avoid breaking applications the trait provides a default
4325/// implementation of each method. Most of these implementations just return an
4326/// error.
4327#[cfg(feature = "instant-snapshots")]
4328#[cfg_attr(docsrs, doc(cfg(feature = "instant-snapshots")))]
4329pub trait InstantSnapshots: std::fmt::Debug + Send + Sync {
4330    /// Implements [super::client::InstantSnapshots::aggregated_list].
4331    fn aggregated_list(
4332        &self,
4333        _req: crate::model::instant_snapshots::AggregatedListRequest,
4334        _options: crate::RequestOptions,
4335    ) -> impl std::future::Future<
4336        Output = crate::Result<crate::Response<crate::model::InstantSnapshotAggregatedList>>,
4337    > + Send {
4338        gaxi::unimplemented::unimplemented_stub()
4339    }
4340
4341    /// Implements [super::client::InstantSnapshots::delete].
4342    fn delete(
4343        &self,
4344        _req: crate::model::instant_snapshots::DeleteRequest,
4345        _options: crate::RequestOptions,
4346    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4347    {
4348        gaxi::unimplemented::unimplemented_stub()
4349    }
4350
4351    /// Implements [super::client::InstantSnapshots::get].
4352    fn get(
4353        &self,
4354        _req: crate::model::instant_snapshots::GetRequest,
4355        _options: crate::RequestOptions,
4356    ) -> impl std::future::Future<
4357        Output = crate::Result<crate::Response<crate::model::InstantSnapshot>>,
4358    > + Send {
4359        gaxi::unimplemented::unimplemented_stub()
4360    }
4361
4362    /// Implements [super::client::InstantSnapshots::get_iam_policy].
4363    fn get_iam_policy(
4364        &self,
4365        _req: crate::model::instant_snapshots::GetIamPolicyRequest,
4366        _options: crate::RequestOptions,
4367    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4368    {
4369        gaxi::unimplemented::unimplemented_stub()
4370    }
4371
4372    /// Implements [super::client::InstantSnapshots::insert].
4373    fn insert(
4374        &self,
4375        _req: crate::model::instant_snapshots::InsertRequest,
4376        _options: crate::RequestOptions,
4377    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4378    {
4379        gaxi::unimplemented::unimplemented_stub()
4380    }
4381
4382    /// Implements [super::client::InstantSnapshots::list].
4383    fn list(
4384        &self,
4385        _req: crate::model::instant_snapshots::ListRequest,
4386        _options: crate::RequestOptions,
4387    ) -> impl std::future::Future<
4388        Output = crate::Result<crate::Response<crate::model::InstantSnapshotList>>,
4389    > + Send {
4390        gaxi::unimplemented::unimplemented_stub()
4391    }
4392
4393    /// Implements [super::client::InstantSnapshots::set_iam_policy].
4394    fn set_iam_policy(
4395        &self,
4396        _req: crate::model::instant_snapshots::SetIamPolicyRequest,
4397        _options: crate::RequestOptions,
4398    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4399    {
4400        gaxi::unimplemented::unimplemented_stub()
4401    }
4402
4403    /// Implements [super::client::InstantSnapshots::set_labels].
4404    fn set_labels(
4405        &self,
4406        _req: crate::model::instant_snapshots::SetLabelsRequest,
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    /// Implements [super::client::InstantSnapshots::test_iam_permissions].
4414    fn test_iam_permissions(
4415        &self,
4416        _req: crate::model::instant_snapshots::TestIamPermissionsRequest,
4417        _options: crate::RequestOptions,
4418    ) -> impl std::future::Future<
4419        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4420    > + Send {
4421        gaxi::unimplemented::unimplemented_stub()
4422    }
4423
4424    /// Implements [super::client::InstantSnapshots::get_operation].
4425    fn get_operation(
4426        &self,
4427        _req: crate::model::zone_operations::GetRequest,
4428        _options: crate::RequestOptions,
4429    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4430    {
4431        gaxi::unimplemented::unimplemented_stub()
4432    }
4433
4434    /// Returns the polling error policy.
4435    ///
4436    /// When mocking, this method is typically irrelevant. Do not try to verify
4437    /// it is called by your mocks.
4438    fn get_polling_error_policy(
4439        &self,
4440        _options: &crate::RequestOptions,
4441    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4442        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4443    }
4444
4445    /// Returns the polling backoff policy.
4446    ///
4447    /// When mocking, this method is typically irrelevant. Do not try to verify
4448    /// it is called by your mocks.
4449    fn get_polling_backoff_policy(
4450        &self,
4451        _options: &crate::RequestOptions,
4452    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4453        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4454    }
4455}
4456
4457/// Defines the trait used to implement [super::client::InterconnectAttachmentGroups].
4458///
4459/// Application developers may need to implement this trait to mock
4460/// `client::InterconnectAttachmentGroups`.  In other use-cases, application developers only
4461/// use `client::InterconnectAttachmentGroups` and need not be concerned with this trait or
4462/// its implementations.
4463///
4464/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4465/// too. To avoid breaking applications the trait provides a default
4466/// implementation of each method. Most of these implementations just return an
4467/// error.
4468#[cfg(feature = "interconnect-attachment-groups")]
4469#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-attachment-groups")))]
4470pub trait InterconnectAttachmentGroups: std::fmt::Debug + Send + Sync {
4471    /// Implements [super::client::InterconnectAttachmentGroups::delete].
4472    fn delete(
4473        &self,
4474        _req: crate::model::interconnect_attachment_groups::DeleteRequest,
4475        _options: crate::RequestOptions,
4476    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4477    {
4478        gaxi::unimplemented::unimplemented_stub()
4479    }
4480
4481    /// Implements [super::client::InterconnectAttachmentGroups::get].
4482    fn get(
4483        &self,
4484        _req: crate::model::interconnect_attachment_groups::GetRequest,
4485        _options: crate::RequestOptions,
4486    ) -> impl std::future::Future<
4487        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentGroup>>,
4488    > + Send {
4489        gaxi::unimplemented::unimplemented_stub()
4490    }
4491
4492    /// Implements [super::client::InterconnectAttachmentGroups::get_iam_policy].
4493    fn get_iam_policy(
4494        &self,
4495        _req: crate::model::interconnect_attachment_groups::GetIamPolicyRequest,
4496        _options: crate::RequestOptions,
4497    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4498    {
4499        gaxi::unimplemented::unimplemented_stub()
4500    }
4501
4502    /// Implements [super::client::InterconnectAttachmentGroups::get_operational_status].
4503    fn get_operational_status(
4504        &self,
4505        _req: crate::model::interconnect_attachment_groups::GetOperationalStatusRequest,
4506        _options: crate::RequestOptions,
4507    ) -> impl std::future::Future<
4508        Output = crate::Result<
4509            crate::Response<crate::model::InterconnectAttachmentGroupsGetOperationalStatusResponse>,
4510        >,
4511    > + Send {
4512        gaxi::unimplemented::unimplemented_stub()
4513    }
4514
4515    /// Implements [super::client::InterconnectAttachmentGroups::insert].
4516    fn insert(
4517        &self,
4518        _req: crate::model::interconnect_attachment_groups::InsertRequest,
4519        _options: crate::RequestOptions,
4520    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4521    {
4522        gaxi::unimplemented::unimplemented_stub()
4523    }
4524
4525    /// Implements [super::client::InterconnectAttachmentGroups::list].
4526    fn list(
4527        &self,
4528        _req: crate::model::interconnect_attachment_groups::ListRequest,
4529        _options: crate::RequestOptions,
4530    ) -> impl std::future::Future<
4531        Output = crate::Result<
4532            crate::Response<crate::model::InterconnectAttachmentGroupsListResponse>,
4533        >,
4534    > + Send {
4535        gaxi::unimplemented::unimplemented_stub()
4536    }
4537
4538    /// Implements [super::client::InterconnectAttachmentGroups::patch].
4539    fn patch(
4540        &self,
4541        _req: crate::model::interconnect_attachment_groups::PatchRequest,
4542        _options: crate::RequestOptions,
4543    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4544    {
4545        gaxi::unimplemented::unimplemented_stub()
4546    }
4547
4548    /// Implements [super::client::InterconnectAttachmentGroups::set_iam_policy].
4549    fn set_iam_policy(
4550        &self,
4551        _req: crate::model::interconnect_attachment_groups::SetIamPolicyRequest,
4552        _options: crate::RequestOptions,
4553    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4554    {
4555        gaxi::unimplemented::unimplemented_stub()
4556    }
4557
4558    /// Implements [super::client::InterconnectAttachmentGroups::test_iam_permissions].
4559    fn test_iam_permissions(
4560        &self,
4561        _req: crate::model::interconnect_attachment_groups::TestIamPermissionsRequest,
4562        _options: crate::RequestOptions,
4563    ) -> impl std::future::Future<
4564        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4565    > + Send {
4566        gaxi::unimplemented::unimplemented_stub()
4567    }
4568
4569    /// Implements [super::client::InterconnectAttachmentGroups::get_operation].
4570    fn get_operation(
4571        &self,
4572        _req: crate::model::global_operations::GetRequest,
4573        _options: crate::RequestOptions,
4574    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4575    {
4576        gaxi::unimplemented::unimplemented_stub()
4577    }
4578
4579    /// Returns the polling error policy.
4580    ///
4581    /// When mocking, this method is typically irrelevant. Do not try to verify
4582    /// it is called by your mocks.
4583    fn get_polling_error_policy(
4584        &self,
4585        _options: &crate::RequestOptions,
4586    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4587        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4588    }
4589
4590    /// Returns the polling backoff policy.
4591    ///
4592    /// When mocking, this method is typically irrelevant. Do not try to verify
4593    /// it is called by your mocks.
4594    fn get_polling_backoff_policy(
4595        &self,
4596        _options: &crate::RequestOptions,
4597    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4598        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4599    }
4600}
4601
4602/// Defines the trait used to implement [super::client::InterconnectAttachments].
4603///
4604/// Application developers may need to implement this trait to mock
4605/// `client::InterconnectAttachments`.  In other use-cases, application developers only
4606/// use `client::InterconnectAttachments` and need not be concerned with this trait or
4607/// its implementations.
4608///
4609/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4610/// too. To avoid breaking applications the trait provides a default
4611/// implementation of each method. Most of these implementations just return an
4612/// error.
4613#[cfg(feature = "interconnect-attachments")]
4614#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-attachments")))]
4615pub trait InterconnectAttachments: std::fmt::Debug + Send + Sync {
4616    /// Implements [super::client::InterconnectAttachments::aggregated_list].
4617    fn aggregated_list(
4618        &self,
4619        _req: crate::model::interconnect_attachments::AggregatedListRequest,
4620        _options: crate::RequestOptions,
4621    ) -> impl std::future::Future<
4622        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentAggregatedList>>,
4623    > + Send {
4624        gaxi::unimplemented::unimplemented_stub()
4625    }
4626
4627    /// Implements [super::client::InterconnectAttachments::delete].
4628    fn delete(
4629        &self,
4630        _req: crate::model::interconnect_attachments::DeleteRequest,
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::get].
4638    fn get(
4639        &self,
4640        _req: crate::model::interconnect_attachments::GetRequest,
4641        _options: crate::RequestOptions,
4642    ) -> impl std::future::Future<
4643        Output = crate::Result<crate::Response<crate::model::InterconnectAttachment>>,
4644    > + Send {
4645        gaxi::unimplemented::unimplemented_stub()
4646    }
4647
4648    /// Implements [super::client::InterconnectAttachments::insert].
4649    fn insert(
4650        &self,
4651        _req: crate::model::interconnect_attachments::InsertRequest,
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::list].
4659    fn list(
4660        &self,
4661        _req: crate::model::interconnect_attachments::ListRequest,
4662        _options: crate::RequestOptions,
4663    ) -> impl std::future::Future<
4664        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentList>>,
4665    > + Send {
4666        gaxi::unimplemented::unimplemented_stub()
4667    }
4668
4669    /// Implements [super::client::InterconnectAttachments::patch].
4670    fn patch(
4671        &self,
4672        _req: crate::model::interconnect_attachments::PatchRequest,
4673        _options: crate::RequestOptions,
4674    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4675    {
4676        gaxi::unimplemented::unimplemented_stub()
4677    }
4678
4679    /// Implements [super::client::InterconnectAttachments::set_labels].
4680    fn set_labels(
4681        &self,
4682        _req: crate::model::interconnect_attachments::SetLabelsRequest,
4683        _options: crate::RequestOptions,
4684    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4685    {
4686        gaxi::unimplemented::unimplemented_stub()
4687    }
4688
4689    /// Implements [super::client::InterconnectAttachments::get_operation].
4690    fn get_operation(
4691        &self,
4692        _req: crate::model::region_operations::GetRequest,
4693        _options: crate::RequestOptions,
4694    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4695    {
4696        gaxi::unimplemented::unimplemented_stub()
4697    }
4698
4699    /// Returns the polling error policy.
4700    ///
4701    /// When mocking, this method is typically irrelevant. Do not try to verify
4702    /// it is called by your mocks.
4703    fn get_polling_error_policy(
4704        &self,
4705        _options: &crate::RequestOptions,
4706    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4707        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4708    }
4709
4710    /// Returns the polling backoff policy.
4711    ///
4712    /// When mocking, this method is typically irrelevant. Do not try to verify
4713    /// it is called by your mocks.
4714    fn get_polling_backoff_policy(
4715        &self,
4716        _options: &crate::RequestOptions,
4717    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4718        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4719    }
4720}
4721
4722/// Defines the trait used to implement [super::client::InterconnectGroups].
4723///
4724/// Application developers may need to implement this trait to mock
4725/// `client::InterconnectGroups`.  In other use-cases, application developers only
4726/// use `client::InterconnectGroups` and need not be concerned with this trait or
4727/// its implementations.
4728///
4729/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4730/// too. To avoid breaking applications the trait provides a default
4731/// implementation of each method. Most of these implementations just return an
4732/// error.
4733#[cfg(feature = "interconnect-groups")]
4734#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-groups")))]
4735pub trait InterconnectGroups: std::fmt::Debug + Send + Sync {
4736    /// Implements [super::client::InterconnectGroups::create_members].
4737    fn create_members(
4738        &self,
4739        _req: crate::model::interconnect_groups::CreateMembersRequest,
4740        _options: crate::RequestOptions,
4741    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4742    {
4743        gaxi::unimplemented::unimplemented_stub()
4744    }
4745
4746    /// Implements [super::client::InterconnectGroups::delete].
4747    fn delete(
4748        &self,
4749        _req: crate::model::interconnect_groups::DeleteRequest,
4750        _options: crate::RequestOptions,
4751    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4752    {
4753        gaxi::unimplemented::unimplemented_stub()
4754    }
4755
4756    /// Implements [super::client::InterconnectGroups::get].
4757    fn get(
4758        &self,
4759        _req: crate::model::interconnect_groups::GetRequest,
4760        _options: crate::RequestOptions,
4761    ) -> impl std::future::Future<
4762        Output = crate::Result<crate::Response<crate::model::InterconnectGroup>>,
4763    > + Send {
4764        gaxi::unimplemented::unimplemented_stub()
4765    }
4766
4767    /// Implements [super::client::InterconnectGroups::get_iam_policy].
4768    fn get_iam_policy(
4769        &self,
4770        _req: crate::model::interconnect_groups::GetIamPolicyRequest,
4771        _options: crate::RequestOptions,
4772    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4773    {
4774        gaxi::unimplemented::unimplemented_stub()
4775    }
4776
4777    /// Implements [super::client::InterconnectGroups::get_operational_status].
4778    fn get_operational_status(
4779        &self,
4780        _req: crate::model::interconnect_groups::GetOperationalStatusRequest,
4781        _options: crate::RequestOptions,
4782    ) -> impl std::future::Future<
4783        Output = crate::Result<
4784            crate::Response<crate::model::InterconnectGroupsGetOperationalStatusResponse>,
4785        >,
4786    > + Send {
4787        gaxi::unimplemented::unimplemented_stub()
4788    }
4789
4790    /// Implements [super::client::InterconnectGroups::insert].
4791    fn insert(
4792        &self,
4793        _req: crate::model::interconnect_groups::InsertRequest,
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::list].
4801    fn list(
4802        &self,
4803        _req: crate::model::interconnect_groups::ListRequest,
4804        _options: crate::RequestOptions,
4805    ) -> impl std::future::Future<
4806        Output = crate::Result<crate::Response<crate::model::InterconnectGroupsListResponse>>,
4807    > + Send {
4808        gaxi::unimplemented::unimplemented_stub()
4809    }
4810
4811    /// Implements [super::client::InterconnectGroups::patch].
4812    fn patch(
4813        &self,
4814        _req: crate::model::interconnect_groups::PatchRequest,
4815        _options: crate::RequestOptions,
4816    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4817    {
4818        gaxi::unimplemented::unimplemented_stub()
4819    }
4820
4821    /// Implements [super::client::InterconnectGroups::set_iam_policy].
4822    fn set_iam_policy(
4823        &self,
4824        _req: crate::model::interconnect_groups::SetIamPolicyRequest,
4825        _options: crate::RequestOptions,
4826    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4827    {
4828        gaxi::unimplemented::unimplemented_stub()
4829    }
4830
4831    /// Implements [super::client::InterconnectGroups::test_iam_permissions].
4832    fn test_iam_permissions(
4833        &self,
4834        _req: crate::model::interconnect_groups::TestIamPermissionsRequest,
4835        _options: crate::RequestOptions,
4836    ) -> impl std::future::Future<
4837        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4838    > + Send {
4839        gaxi::unimplemented::unimplemented_stub()
4840    }
4841
4842    /// Implements [super::client::InterconnectGroups::get_operation].
4843    fn get_operation(
4844        &self,
4845        _req: crate::model::global_operations::GetRequest,
4846        _options: crate::RequestOptions,
4847    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4848    {
4849        gaxi::unimplemented::unimplemented_stub()
4850    }
4851
4852    /// Returns the polling error policy.
4853    ///
4854    /// When mocking, this method is typically irrelevant. Do not try to verify
4855    /// it is called by your mocks.
4856    fn get_polling_error_policy(
4857        &self,
4858        _options: &crate::RequestOptions,
4859    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4860        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4861    }
4862
4863    /// Returns the polling backoff policy.
4864    ///
4865    /// When mocking, this method is typically irrelevant. Do not try to verify
4866    /// it is called by your mocks.
4867    fn get_polling_backoff_policy(
4868        &self,
4869        _options: &crate::RequestOptions,
4870    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4871        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4872    }
4873}
4874
4875/// Defines the trait used to implement [super::client::InterconnectLocations].
4876///
4877/// Application developers may need to implement this trait to mock
4878/// `client::InterconnectLocations`.  In other use-cases, application developers only
4879/// use `client::InterconnectLocations` and need not be concerned with this trait or
4880/// its implementations.
4881///
4882/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4883/// too. To avoid breaking applications the trait provides a default
4884/// implementation of each method. Most of these implementations just return an
4885/// error.
4886#[cfg(feature = "interconnect-locations")]
4887#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-locations")))]
4888pub trait InterconnectLocations: std::fmt::Debug + Send + Sync {
4889    /// Implements [super::client::InterconnectLocations::get].
4890    fn get(
4891        &self,
4892        _req: crate::model::interconnect_locations::GetRequest,
4893        _options: crate::RequestOptions,
4894    ) -> impl std::future::Future<
4895        Output = crate::Result<crate::Response<crate::model::InterconnectLocation>>,
4896    > + Send {
4897        gaxi::unimplemented::unimplemented_stub()
4898    }
4899
4900    /// Implements [super::client::InterconnectLocations::list].
4901    fn list(
4902        &self,
4903        _req: crate::model::interconnect_locations::ListRequest,
4904        _options: crate::RequestOptions,
4905    ) -> impl std::future::Future<
4906        Output = crate::Result<crate::Response<crate::model::InterconnectLocationList>>,
4907    > + Send {
4908        gaxi::unimplemented::unimplemented_stub()
4909    }
4910}
4911
4912/// Defines the trait used to implement [super::client::InterconnectRemoteLocations].
4913///
4914/// Application developers may need to implement this trait to mock
4915/// `client::InterconnectRemoteLocations`.  In other use-cases, application developers only
4916/// use `client::InterconnectRemoteLocations` and need not be concerned with this trait or
4917/// its implementations.
4918///
4919/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4920/// too. To avoid breaking applications the trait provides a default
4921/// implementation of each method. Most of these implementations just return an
4922/// error.
4923#[cfg(feature = "interconnect-remote-locations")]
4924#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-remote-locations")))]
4925pub trait InterconnectRemoteLocations: std::fmt::Debug + Send + Sync {
4926    /// Implements [super::client::InterconnectRemoteLocations::get].
4927    fn get(
4928        &self,
4929        _req: crate::model::interconnect_remote_locations::GetRequest,
4930        _options: crate::RequestOptions,
4931    ) -> impl std::future::Future<
4932        Output = crate::Result<crate::Response<crate::model::InterconnectRemoteLocation>>,
4933    > + Send {
4934        gaxi::unimplemented::unimplemented_stub()
4935    }
4936
4937    /// Implements [super::client::InterconnectRemoteLocations::list].
4938    fn list(
4939        &self,
4940        _req: crate::model::interconnect_remote_locations::ListRequest,
4941        _options: crate::RequestOptions,
4942    ) -> impl std::future::Future<
4943        Output = crate::Result<crate::Response<crate::model::InterconnectRemoteLocationList>>,
4944    > + Send {
4945        gaxi::unimplemented::unimplemented_stub()
4946    }
4947}
4948
4949/// Defines the trait used to implement [super::client::Interconnects].
4950///
4951/// Application developers may need to implement this trait to mock
4952/// `client::Interconnects`.  In other use-cases, application developers only
4953/// use `client::Interconnects` and need not be concerned with this trait or
4954/// its implementations.
4955///
4956/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4957/// too. To avoid breaking applications the trait provides a default
4958/// implementation of each method. Most of these implementations just return an
4959/// error.
4960#[cfg(feature = "interconnects")]
4961#[cfg_attr(docsrs, doc(cfg(feature = "interconnects")))]
4962pub trait Interconnects: std::fmt::Debug + Send + Sync {
4963    /// Implements [super::client::Interconnects::delete].
4964    fn delete(
4965        &self,
4966        _req: crate::model::interconnects::DeleteRequest,
4967        _options: crate::RequestOptions,
4968    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4969    {
4970        gaxi::unimplemented::unimplemented_stub()
4971    }
4972
4973    /// Implements [super::client::Interconnects::get].
4974    fn get(
4975        &self,
4976        _req: crate::model::interconnects::GetRequest,
4977        _options: crate::RequestOptions,
4978    ) -> impl std::future::Future<
4979        Output = crate::Result<crate::Response<crate::model::Interconnect>>,
4980    > + Send {
4981        gaxi::unimplemented::unimplemented_stub()
4982    }
4983
4984    /// Implements [super::client::Interconnects::get_diagnostics].
4985    fn get_diagnostics(
4986        &self,
4987        _req: crate::model::interconnects::GetDiagnosticsRequest,
4988        _options: crate::RequestOptions,
4989    ) -> impl std::future::Future<
4990        Output = crate::Result<crate::Response<crate::model::InterconnectsGetDiagnosticsResponse>>,
4991    > + Send {
4992        gaxi::unimplemented::unimplemented_stub()
4993    }
4994
4995    /// Implements [super::client::Interconnects::get_macsec_config].
4996    fn get_macsec_config(
4997        &self,
4998        _req: crate::model::interconnects::GetMacsecConfigRequest,
4999        _options: crate::RequestOptions,
5000    ) -> impl std::future::Future<
5001        Output = crate::Result<crate::Response<crate::model::InterconnectsGetMacsecConfigResponse>>,
5002    > + Send {
5003        gaxi::unimplemented::unimplemented_stub()
5004    }
5005
5006    /// Implements [super::client::Interconnects::insert].
5007    fn insert(
5008        &self,
5009        _req: crate::model::interconnects::InsertRequest,
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::list].
5017    fn list(
5018        &self,
5019        _req: crate::model::interconnects::ListRequest,
5020        _options: crate::RequestOptions,
5021    ) -> impl std::future::Future<
5022        Output = crate::Result<crate::Response<crate::model::InterconnectList>>,
5023    > + Send {
5024        gaxi::unimplemented::unimplemented_stub()
5025    }
5026
5027    /// Implements [super::client::Interconnects::patch].
5028    fn patch(
5029        &self,
5030        _req: crate::model::interconnects::PatchRequest,
5031        _options: crate::RequestOptions,
5032    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5033    {
5034        gaxi::unimplemented::unimplemented_stub()
5035    }
5036
5037    /// Implements [super::client::Interconnects::set_labels].
5038    fn set_labels(
5039        &self,
5040        _req: crate::model::interconnects::SetLabelsRequest,
5041        _options: crate::RequestOptions,
5042    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5043    {
5044        gaxi::unimplemented::unimplemented_stub()
5045    }
5046
5047    /// Implements [super::client::Interconnects::get_operation].
5048    fn get_operation(
5049        &self,
5050        _req: crate::model::global_operations::GetRequest,
5051        _options: crate::RequestOptions,
5052    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5053    {
5054        gaxi::unimplemented::unimplemented_stub()
5055    }
5056
5057    /// Returns the polling error policy.
5058    ///
5059    /// When mocking, this method is typically irrelevant. Do not try to verify
5060    /// it is called by your mocks.
5061    fn get_polling_error_policy(
5062        &self,
5063        _options: &crate::RequestOptions,
5064    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5065        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5066    }
5067
5068    /// Returns the polling backoff policy.
5069    ///
5070    /// When mocking, this method is typically irrelevant. Do not try to verify
5071    /// it is called by your mocks.
5072    fn get_polling_backoff_policy(
5073        &self,
5074        _options: &crate::RequestOptions,
5075    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5076        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5077    }
5078}
5079
5080/// Defines the trait used to implement [super::client::LicenseCodes].
5081///
5082/// Application developers may need to implement this trait to mock
5083/// `client::LicenseCodes`.  In other use-cases, application developers only
5084/// use `client::LicenseCodes` and need not be concerned with this trait or
5085/// its implementations.
5086///
5087/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5088/// too. To avoid breaking applications the trait provides a default
5089/// implementation of each method. Most of these implementations just return an
5090/// error.
5091#[cfg(feature = "license-codes")]
5092#[cfg_attr(docsrs, doc(cfg(feature = "license-codes")))]
5093pub trait LicenseCodes: std::fmt::Debug + Send + Sync {
5094    /// Implements [super::client::LicenseCodes::get].
5095    fn get(
5096        &self,
5097        _req: crate::model::license_codes::GetRequest,
5098        _options: crate::RequestOptions,
5099    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::LicenseCode>>>
5100    + Send {
5101        gaxi::unimplemented::unimplemented_stub()
5102    }
5103
5104    /// Implements [super::client::LicenseCodes::test_iam_permissions].
5105    fn test_iam_permissions(
5106        &self,
5107        _req: crate::model::license_codes::TestIamPermissionsRequest,
5108        _options: crate::RequestOptions,
5109    ) -> impl std::future::Future<
5110        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5111    > + Send {
5112        gaxi::unimplemented::unimplemented_stub()
5113    }
5114}
5115
5116/// Defines the trait used to implement [super::client::Licenses].
5117///
5118/// Application developers may need to implement this trait to mock
5119/// `client::Licenses`.  In other use-cases, application developers only
5120/// use `client::Licenses` and need not be concerned with this trait or
5121/// its implementations.
5122///
5123/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5124/// too. To avoid breaking applications the trait provides a default
5125/// implementation of each method. Most of these implementations just return an
5126/// error.
5127#[cfg(feature = "licenses")]
5128#[cfg_attr(docsrs, doc(cfg(feature = "licenses")))]
5129pub trait Licenses: std::fmt::Debug + Send + Sync {
5130    /// Implements [super::client::Licenses::delete].
5131    fn delete(
5132        &self,
5133        _req: crate::model::licenses::DeleteRequest,
5134        _options: crate::RequestOptions,
5135    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5136    {
5137        gaxi::unimplemented::unimplemented_stub()
5138    }
5139
5140    /// Implements [super::client::Licenses::get].
5141    fn get(
5142        &self,
5143        _req: crate::model::licenses::GetRequest,
5144        _options: crate::RequestOptions,
5145    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::License>>> + Send
5146    {
5147        gaxi::unimplemented::unimplemented_stub()
5148    }
5149
5150    /// Implements [super::client::Licenses::get_iam_policy].
5151    fn get_iam_policy(
5152        &self,
5153        _req: crate::model::licenses::GetIamPolicyRequest,
5154        _options: crate::RequestOptions,
5155    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5156    {
5157        gaxi::unimplemented::unimplemented_stub()
5158    }
5159
5160    /// Implements [super::client::Licenses::insert].
5161    fn insert(
5162        &self,
5163        _req: crate::model::licenses::InsertRequest,
5164        _options: crate::RequestOptions,
5165    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5166    {
5167        gaxi::unimplemented::unimplemented_stub()
5168    }
5169
5170    /// Implements [super::client::Licenses::list].
5171    fn list(
5172        &self,
5173        _req: crate::model::licenses::ListRequest,
5174        _options: crate::RequestOptions,
5175    ) -> impl std::future::Future<
5176        Output = crate::Result<crate::Response<crate::model::LicensesListResponse>>,
5177    > + Send {
5178        gaxi::unimplemented::unimplemented_stub()
5179    }
5180
5181    /// Implements [super::client::Licenses::set_iam_policy].
5182    fn set_iam_policy(
5183        &self,
5184        _req: crate::model::licenses::SetIamPolicyRequest,
5185        _options: crate::RequestOptions,
5186    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5187    {
5188        gaxi::unimplemented::unimplemented_stub()
5189    }
5190
5191    /// Implements [super::client::Licenses::test_iam_permissions].
5192    fn test_iam_permissions(
5193        &self,
5194        _req: crate::model::licenses::TestIamPermissionsRequest,
5195        _options: crate::RequestOptions,
5196    ) -> impl std::future::Future<
5197        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5198    > + Send {
5199        gaxi::unimplemented::unimplemented_stub()
5200    }
5201
5202    /// Implements [super::client::Licenses::update].
5203    fn update(
5204        &self,
5205        _req: crate::model::licenses::UpdateRequest,
5206        _options: crate::RequestOptions,
5207    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5208    {
5209        gaxi::unimplemented::unimplemented_stub()
5210    }
5211
5212    /// Implements [super::client::Licenses::get_operation].
5213    fn get_operation(
5214        &self,
5215        _req: crate::model::global_operations::GetRequest,
5216        _options: crate::RequestOptions,
5217    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5218    {
5219        gaxi::unimplemented::unimplemented_stub()
5220    }
5221
5222    /// Returns the polling error policy.
5223    ///
5224    /// When mocking, this method is typically irrelevant. Do not try to verify
5225    /// it is called by your mocks.
5226    fn get_polling_error_policy(
5227        &self,
5228        _options: &crate::RequestOptions,
5229    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5230        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5231    }
5232
5233    /// Returns the polling backoff policy.
5234    ///
5235    /// When mocking, this method is typically irrelevant. Do not try to verify
5236    /// it is called by your mocks.
5237    fn get_polling_backoff_policy(
5238        &self,
5239        _options: &crate::RequestOptions,
5240    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5241        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5242    }
5243}
5244
5245/// Defines the trait used to implement [super::client::MachineImages].
5246///
5247/// Application developers may need to implement this trait to mock
5248/// `client::MachineImages`.  In other use-cases, application developers only
5249/// use `client::MachineImages` and need not be concerned with this trait or
5250/// its implementations.
5251///
5252/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5253/// too. To avoid breaking applications the trait provides a default
5254/// implementation of each method. Most of these implementations just return an
5255/// error.
5256#[cfg(feature = "machine-images")]
5257#[cfg_attr(docsrs, doc(cfg(feature = "machine-images")))]
5258pub trait MachineImages: std::fmt::Debug + Send + Sync {
5259    /// Implements [super::client::MachineImages::delete].
5260    fn delete(
5261        &self,
5262        _req: crate::model::machine_images::DeleteRequest,
5263        _options: crate::RequestOptions,
5264    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5265    {
5266        gaxi::unimplemented::unimplemented_stub()
5267    }
5268
5269    /// Implements [super::client::MachineImages::get].
5270    fn get(
5271        &self,
5272        _req: crate::model::machine_images::GetRequest,
5273        _options: crate::RequestOptions,
5274    ) -> impl std::future::Future<
5275        Output = crate::Result<crate::Response<crate::model::MachineImage>>,
5276    > + Send {
5277        gaxi::unimplemented::unimplemented_stub()
5278    }
5279
5280    /// Implements [super::client::MachineImages::get_iam_policy].
5281    fn get_iam_policy(
5282        &self,
5283        _req: crate::model::machine_images::GetIamPolicyRequest,
5284        _options: crate::RequestOptions,
5285    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5286    {
5287        gaxi::unimplemented::unimplemented_stub()
5288    }
5289
5290    /// Implements [super::client::MachineImages::insert].
5291    fn insert(
5292        &self,
5293        _req: crate::model::machine_images::InsertRequest,
5294        _options: crate::RequestOptions,
5295    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5296    {
5297        gaxi::unimplemented::unimplemented_stub()
5298    }
5299
5300    /// Implements [super::client::MachineImages::list].
5301    fn list(
5302        &self,
5303        _req: crate::model::machine_images::ListRequest,
5304        _options: crate::RequestOptions,
5305    ) -> impl std::future::Future<
5306        Output = crate::Result<crate::Response<crate::model::MachineImageList>>,
5307    > + Send {
5308        gaxi::unimplemented::unimplemented_stub()
5309    }
5310
5311    /// Implements [super::client::MachineImages::set_iam_policy].
5312    fn set_iam_policy(
5313        &self,
5314        _req: crate::model::machine_images::SetIamPolicyRequest,
5315        _options: crate::RequestOptions,
5316    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5317    {
5318        gaxi::unimplemented::unimplemented_stub()
5319    }
5320
5321    /// Implements [super::client::MachineImages::set_labels].
5322    fn set_labels(
5323        &self,
5324        _req: crate::model::machine_images::SetLabelsRequest,
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    /// Implements [super::client::MachineImages::test_iam_permissions].
5332    fn test_iam_permissions(
5333        &self,
5334        _req: crate::model::machine_images::TestIamPermissionsRequest,
5335        _options: crate::RequestOptions,
5336    ) -> impl std::future::Future<
5337        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5338    > + Send {
5339        gaxi::unimplemented::unimplemented_stub()
5340    }
5341
5342    /// Implements [super::client::MachineImages::get_operation].
5343    fn get_operation(
5344        &self,
5345        _req: crate::model::global_operations::GetRequest,
5346        _options: crate::RequestOptions,
5347    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5348    {
5349        gaxi::unimplemented::unimplemented_stub()
5350    }
5351
5352    /// Returns the polling error policy.
5353    ///
5354    /// When mocking, this method is typically irrelevant. Do not try to verify
5355    /// it is called by your mocks.
5356    fn get_polling_error_policy(
5357        &self,
5358        _options: &crate::RequestOptions,
5359    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5360        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5361    }
5362
5363    /// Returns the polling backoff policy.
5364    ///
5365    /// When mocking, this method is typically irrelevant. Do not try to verify
5366    /// it is called by your mocks.
5367    fn get_polling_backoff_policy(
5368        &self,
5369        _options: &crate::RequestOptions,
5370    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5371        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5372    }
5373}
5374
5375/// Defines the trait used to implement [super::client::MachineTypes].
5376///
5377/// Application developers may need to implement this trait to mock
5378/// `client::MachineTypes`.  In other use-cases, application developers only
5379/// use `client::MachineTypes` and need not be concerned with this trait or
5380/// its implementations.
5381///
5382/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5383/// too. To avoid breaking applications the trait provides a default
5384/// implementation of each method. Most of these implementations just return an
5385/// error.
5386#[cfg(feature = "machine-types")]
5387#[cfg_attr(docsrs, doc(cfg(feature = "machine-types")))]
5388pub trait MachineTypes: std::fmt::Debug + Send + Sync {
5389    /// Implements [super::client::MachineTypes::aggregated_list].
5390    fn aggregated_list(
5391        &self,
5392        _req: crate::model::machine_types::AggregatedListRequest,
5393        _options: crate::RequestOptions,
5394    ) -> impl std::future::Future<
5395        Output = crate::Result<crate::Response<crate::model::MachineTypeAggregatedList>>,
5396    > + Send {
5397        gaxi::unimplemented::unimplemented_stub()
5398    }
5399
5400    /// Implements [super::client::MachineTypes::get].
5401    fn get(
5402        &self,
5403        _req: crate::model::machine_types::GetRequest,
5404        _options: crate::RequestOptions,
5405    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::MachineType>>>
5406    + Send {
5407        gaxi::unimplemented::unimplemented_stub()
5408    }
5409
5410    /// Implements [super::client::MachineTypes::list].
5411    fn list(
5412        &self,
5413        _req: crate::model::machine_types::ListRequest,
5414        _options: crate::RequestOptions,
5415    ) -> impl std::future::Future<
5416        Output = crate::Result<crate::Response<crate::model::MachineTypeList>>,
5417    > + Send {
5418        gaxi::unimplemented::unimplemented_stub()
5419    }
5420}
5421
5422/// Defines the trait used to implement [super::client::NetworkAttachments].
5423///
5424/// Application developers may need to implement this trait to mock
5425/// `client::NetworkAttachments`.  In other use-cases, application developers only
5426/// use `client::NetworkAttachments` and need not be concerned with this trait or
5427/// its implementations.
5428///
5429/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5430/// too. To avoid breaking applications the trait provides a default
5431/// implementation of each method. Most of these implementations just return an
5432/// error.
5433#[cfg(feature = "network-attachments")]
5434#[cfg_attr(docsrs, doc(cfg(feature = "network-attachments")))]
5435pub trait NetworkAttachments: std::fmt::Debug + Send + Sync {
5436    /// Implements [super::client::NetworkAttachments::aggregated_list].
5437    fn aggregated_list(
5438        &self,
5439        _req: crate::model::network_attachments::AggregatedListRequest,
5440        _options: crate::RequestOptions,
5441    ) -> impl std::future::Future<
5442        Output = crate::Result<crate::Response<crate::model::NetworkAttachmentAggregatedList>>,
5443    > + Send {
5444        gaxi::unimplemented::unimplemented_stub()
5445    }
5446
5447    /// Implements [super::client::NetworkAttachments::delete].
5448    fn delete(
5449        &self,
5450        _req: crate::model::network_attachments::DeleteRequest,
5451        _options: crate::RequestOptions,
5452    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5453    {
5454        gaxi::unimplemented::unimplemented_stub()
5455    }
5456
5457    /// Implements [super::client::NetworkAttachments::get].
5458    fn get(
5459        &self,
5460        _req: crate::model::network_attachments::GetRequest,
5461        _options: crate::RequestOptions,
5462    ) -> impl std::future::Future<
5463        Output = crate::Result<crate::Response<crate::model::NetworkAttachment>>,
5464    > + Send {
5465        gaxi::unimplemented::unimplemented_stub()
5466    }
5467
5468    /// Implements [super::client::NetworkAttachments::get_iam_policy].
5469    fn get_iam_policy(
5470        &self,
5471        _req: crate::model::network_attachments::GetIamPolicyRequest,
5472        _options: crate::RequestOptions,
5473    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5474    {
5475        gaxi::unimplemented::unimplemented_stub()
5476    }
5477
5478    /// Implements [super::client::NetworkAttachments::insert].
5479    fn insert(
5480        &self,
5481        _req: crate::model::network_attachments::InsertRequest,
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::list].
5489    fn list(
5490        &self,
5491        _req: crate::model::network_attachments::ListRequest,
5492        _options: crate::RequestOptions,
5493    ) -> impl std::future::Future<
5494        Output = crate::Result<crate::Response<crate::model::NetworkAttachmentList>>,
5495    > + Send {
5496        gaxi::unimplemented::unimplemented_stub()
5497    }
5498
5499    /// Implements [super::client::NetworkAttachments::patch].
5500    fn patch(
5501        &self,
5502        _req: crate::model::network_attachments::PatchRequest,
5503        _options: crate::RequestOptions,
5504    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5505    {
5506        gaxi::unimplemented::unimplemented_stub()
5507    }
5508
5509    /// Implements [super::client::NetworkAttachments::set_iam_policy].
5510    fn set_iam_policy(
5511        &self,
5512        _req: crate::model::network_attachments::SetIamPolicyRequest,
5513        _options: crate::RequestOptions,
5514    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5515    {
5516        gaxi::unimplemented::unimplemented_stub()
5517    }
5518
5519    /// Implements [super::client::NetworkAttachments::test_iam_permissions].
5520    fn test_iam_permissions(
5521        &self,
5522        _req: crate::model::network_attachments::TestIamPermissionsRequest,
5523        _options: crate::RequestOptions,
5524    ) -> impl std::future::Future<
5525        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5526    > + Send {
5527        gaxi::unimplemented::unimplemented_stub()
5528    }
5529
5530    /// Implements [super::client::NetworkAttachments::get_operation].
5531    fn get_operation(
5532        &self,
5533        _req: crate::model::region_operations::GetRequest,
5534        _options: crate::RequestOptions,
5535    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5536    {
5537        gaxi::unimplemented::unimplemented_stub()
5538    }
5539
5540    /// Returns the polling error policy.
5541    ///
5542    /// When mocking, this method is typically irrelevant. Do not try to verify
5543    /// it is called by your mocks.
5544    fn get_polling_error_policy(
5545        &self,
5546        _options: &crate::RequestOptions,
5547    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5548        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5549    }
5550
5551    /// Returns the polling backoff policy.
5552    ///
5553    /// When mocking, this method is typically irrelevant. Do not try to verify
5554    /// it is called by your mocks.
5555    fn get_polling_backoff_policy(
5556        &self,
5557        _options: &crate::RequestOptions,
5558    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5559        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5560    }
5561}
5562
5563/// Defines the trait used to implement [super::client::NetworkEdgeSecurityServices].
5564///
5565/// Application developers may need to implement this trait to mock
5566/// `client::NetworkEdgeSecurityServices`.  In other use-cases, application developers only
5567/// use `client::NetworkEdgeSecurityServices` and need not be concerned with this trait or
5568/// its implementations.
5569///
5570/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5571/// too. To avoid breaking applications the trait provides a default
5572/// implementation of each method. Most of these implementations just return an
5573/// error.
5574#[cfg(feature = "network-edge-security-services")]
5575#[cfg_attr(docsrs, doc(cfg(feature = "network-edge-security-services")))]
5576pub trait NetworkEdgeSecurityServices: std::fmt::Debug + Send + Sync {
5577    /// Implements [super::client::NetworkEdgeSecurityServices::aggregated_list].
5578    fn aggregated_list(
5579        &self,
5580        _req: crate::model::network_edge_security_services::AggregatedListRequest,
5581        _options: crate::RequestOptions,
5582    ) -> impl std::future::Future<
5583        Output = crate::Result<
5584            crate::Response<crate::model::NetworkEdgeSecurityServiceAggregatedList>,
5585        >,
5586    > + Send {
5587        gaxi::unimplemented::unimplemented_stub()
5588    }
5589
5590    /// Implements [super::client::NetworkEdgeSecurityServices::delete].
5591    fn delete(
5592        &self,
5593        _req: crate::model::network_edge_security_services::DeleteRequest,
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::get].
5601    fn get(
5602        &self,
5603        _req: crate::model::network_edge_security_services::GetRequest,
5604        _options: crate::RequestOptions,
5605    ) -> impl std::future::Future<
5606        Output = crate::Result<crate::Response<crate::model::NetworkEdgeSecurityService>>,
5607    > + Send {
5608        gaxi::unimplemented::unimplemented_stub()
5609    }
5610
5611    /// Implements [super::client::NetworkEdgeSecurityServices::insert].
5612    fn insert(
5613        &self,
5614        _req: crate::model::network_edge_security_services::InsertRequest,
5615        _options: crate::RequestOptions,
5616    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5617    {
5618        gaxi::unimplemented::unimplemented_stub()
5619    }
5620
5621    /// Implements [super::client::NetworkEdgeSecurityServices::patch].
5622    fn patch(
5623        &self,
5624        _req: crate::model::network_edge_security_services::PatchRequest,
5625        _options: crate::RequestOptions,
5626    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5627    {
5628        gaxi::unimplemented::unimplemented_stub()
5629    }
5630
5631    /// Implements [super::client::NetworkEdgeSecurityServices::get_operation].
5632    fn get_operation(
5633        &self,
5634        _req: crate::model::region_operations::GetRequest,
5635        _options: crate::RequestOptions,
5636    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5637    {
5638        gaxi::unimplemented::unimplemented_stub()
5639    }
5640
5641    /// Returns the polling error policy.
5642    ///
5643    /// When mocking, this method is typically irrelevant. Do not try to verify
5644    /// it is called by your mocks.
5645    fn get_polling_error_policy(
5646        &self,
5647        _options: &crate::RequestOptions,
5648    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5649        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5650    }
5651
5652    /// Returns the polling backoff policy.
5653    ///
5654    /// When mocking, this method is typically irrelevant. Do not try to verify
5655    /// it is called by your mocks.
5656    fn get_polling_backoff_policy(
5657        &self,
5658        _options: &crate::RequestOptions,
5659    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5660        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5661    }
5662}
5663
5664/// Defines the trait used to implement [super::client::NetworkEndpointGroups].
5665///
5666/// Application developers may need to implement this trait to mock
5667/// `client::NetworkEndpointGroups`.  In other use-cases, application developers only
5668/// use `client::NetworkEndpointGroups` and need not be concerned with this trait or
5669/// its implementations.
5670///
5671/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5672/// too. To avoid breaking applications the trait provides a default
5673/// implementation of each method. Most of these implementations just return an
5674/// error.
5675#[cfg(feature = "network-endpoint-groups")]
5676#[cfg_attr(docsrs, doc(cfg(feature = "network-endpoint-groups")))]
5677pub trait NetworkEndpointGroups: std::fmt::Debug + Send + Sync {
5678    /// Implements [super::client::NetworkEndpointGroups::aggregated_list].
5679    fn aggregated_list(
5680        &self,
5681        _req: crate::model::network_endpoint_groups::AggregatedListRequest,
5682        _options: crate::RequestOptions,
5683    ) -> impl std::future::Future<
5684        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupAggregatedList>>,
5685    > + Send {
5686        gaxi::unimplemented::unimplemented_stub()
5687    }
5688
5689    /// Implements [super::client::NetworkEndpointGroups::attach_network_endpoints].
5690    fn attach_network_endpoints(
5691        &self,
5692        _req: crate::model::network_endpoint_groups::AttachNetworkEndpointsRequest,
5693        _options: crate::RequestOptions,
5694    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5695    {
5696        gaxi::unimplemented::unimplemented_stub()
5697    }
5698
5699    /// Implements [super::client::NetworkEndpointGroups::delete].
5700    fn delete(
5701        &self,
5702        _req: crate::model::network_endpoint_groups::DeleteRequest,
5703        _options: crate::RequestOptions,
5704    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5705    {
5706        gaxi::unimplemented::unimplemented_stub()
5707    }
5708
5709    /// Implements [super::client::NetworkEndpointGroups::detach_network_endpoints].
5710    fn detach_network_endpoints(
5711        &self,
5712        _req: crate::model::network_endpoint_groups::DetachNetworkEndpointsRequest,
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::get].
5720    fn get(
5721        &self,
5722        _req: crate::model::network_endpoint_groups::GetRequest,
5723        _options: crate::RequestOptions,
5724    ) -> impl std::future::Future<
5725        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
5726    > + Send {
5727        gaxi::unimplemented::unimplemented_stub()
5728    }
5729
5730    /// Implements [super::client::NetworkEndpointGroups::insert].
5731    fn insert(
5732        &self,
5733        _req: crate::model::network_endpoint_groups::InsertRequest,
5734        _options: crate::RequestOptions,
5735    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5736    {
5737        gaxi::unimplemented::unimplemented_stub()
5738    }
5739
5740    /// Implements [super::client::NetworkEndpointGroups::list].
5741    fn list(
5742        &self,
5743        _req: crate::model::network_endpoint_groups::ListRequest,
5744        _options: crate::RequestOptions,
5745    ) -> impl std::future::Future<
5746        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
5747    > + Send {
5748        gaxi::unimplemented::unimplemented_stub()
5749    }
5750
5751    /// Implements [super::client::NetworkEndpointGroups::list_network_endpoints].
5752    fn list_network_endpoints(
5753        &self,
5754        _req: crate::model::network_endpoint_groups::ListNetworkEndpointsRequest,
5755        _options: crate::RequestOptions,
5756    ) -> impl std::future::Future<
5757        Output = crate::Result<
5758            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
5759        >,
5760    > + Send {
5761        gaxi::unimplemented::unimplemented_stub()
5762    }
5763
5764    /// Implements [super::client::NetworkEndpointGroups::test_iam_permissions].
5765    fn test_iam_permissions(
5766        &self,
5767        _req: crate::model::network_endpoint_groups::TestIamPermissionsRequest,
5768        _options: crate::RequestOptions,
5769    ) -> impl std::future::Future<
5770        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5771    > + Send {
5772        gaxi::unimplemented::unimplemented_stub()
5773    }
5774
5775    /// Implements [super::client::NetworkEndpointGroups::get_operation].
5776    fn get_operation(
5777        &self,
5778        _req: crate::model::zone_operations::GetRequest,
5779        _options: crate::RequestOptions,
5780    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5781    {
5782        gaxi::unimplemented::unimplemented_stub()
5783    }
5784
5785    /// Returns the polling error policy.
5786    ///
5787    /// When mocking, this method is typically irrelevant. Do not try to verify
5788    /// it is called by your mocks.
5789    fn get_polling_error_policy(
5790        &self,
5791        _options: &crate::RequestOptions,
5792    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5793        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5794    }
5795
5796    /// Returns the polling backoff policy.
5797    ///
5798    /// When mocking, this method is typically irrelevant. Do not try to verify
5799    /// it is called by your mocks.
5800    fn get_polling_backoff_policy(
5801        &self,
5802        _options: &crate::RequestOptions,
5803    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5804        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5805    }
5806}
5807
5808/// Defines the trait used to implement [super::client::NetworkFirewallPolicies].
5809///
5810/// Application developers may need to implement this trait to mock
5811/// `client::NetworkFirewallPolicies`.  In other use-cases, application developers only
5812/// use `client::NetworkFirewallPolicies` and need not be concerned with this trait or
5813/// its implementations.
5814///
5815/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5816/// too. To avoid breaking applications the trait provides a default
5817/// implementation of each method. Most of these implementations just return an
5818/// error.
5819#[cfg(feature = "network-firewall-policies")]
5820#[cfg_attr(docsrs, doc(cfg(feature = "network-firewall-policies")))]
5821pub trait NetworkFirewallPolicies: std::fmt::Debug + Send + Sync {
5822    /// Implements [super::client::NetworkFirewallPolicies::add_association].
5823    fn add_association(
5824        &self,
5825        _req: crate::model::network_firewall_policies::AddAssociationRequest,
5826        _options: crate::RequestOptions,
5827    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5828    {
5829        gaxi::unimplemented::unimplemented_stub()
5830    }
5831
5832    /// Implements [super::client::NetworkFirewallPolicies::add_packet_mirroring_rule].
5833    fn add_packet_mirroring_rule(
5834        &self,
5835        _req: crate::model::network_firewall_policies::AddPacketMirroringRuleRequest,
5836        _options: crate::RequestOptions,
5837    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5838    {
5839        gaxi::unimplemented::unimplemented_stub()
5840    }
5841
5842    /// Implements [super::client::NetworkFirewallPolicies::add_rule].
5843    fn add_rule(
5844        &self,
5845        _req: crate::model::network_firewall_policies::AddRuleRequest,
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::aggregated_list].
5853    fn aggregated_list(
5854        &self,
5855        _req: crate::model::network_firewall_policies::AggregatedListRequest,
5856        _options: crate::RequestOptions,
5857    ) -> impl std::future::Future<
5858        Output = crate::Result<crate::Response<crate::model::NetworkFirewallPolicyAggregatedList>>,
5859    > + Send {
5860        gaxi::unimplemented::unimplemented_stub()
5861    }
5862
5863    /// Implements [super::client::NetworkFirewallPolicies::clone_rules].
5864    fn clone_rules(
5865        &self,
5866        _req: crate::model::network_firewall_policies::CloneRulesRequest,
5867        _options: crate::RequestOptions,
5868    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5869    {
5870        gaxi::unimplemented::unimplemented_stub()
5871    }
5872
5873    /// Implements [super::client::NetworkFirewallPolicies::delete].
5874    fn delete(
5875        &self,
5876        _req: crate::model::network_firewall_policies::DeleteRequest,
5877        _options: crate::RequestOptions,
5878    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5879    {
5880        gaxi::unimplemented::unimplemented_stub()
5881    }
5882
5883    /// Implements [super::client::NetworkFirewallPolicies::get].
5884    fn get(
5885        &self,
5886        _req: crate::model::network_firewall_policies::GetRequest,
5887        _options: crate::RequestOptions,
5888    ) -> impl std::future::Future<
5889        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
5890    > + Send {
5891        gaxi::unimplemented::unimplemented_stub()
5892    }
5893
5894    /// Implements [super::client::NetworkFirewallPolicies::get_association].
5895    fn get_association(
5896        &self,
5897        _req: crate::model::network_firewall_policies::GetAssociationRequest,
5898        _options: crate::RequestOptions,
5899    ) -> impl std::future::Future<
5900        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
5901    > + Send {
5902        gaxi::unimplemented::unimplemented_stub()
5903    }
5904
5905    /// Implements [super::client::NetworkFirewallPolicies::get_iam_policy].
5906    fn get_iam_policy(
5907        &self,
5908        _req: crate::model::network_firewall_policies::GetIamPolicyRequest,
5909        _options: crate::RequestOptions,
5910    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5911    {
5912        gaxi::unimplemented::unimplemented_stub()
5913    }
5914
5915    /// Implements [super::client::NetworkFirewallPolicies::get_packet_mirroring_rule].
5916    fn get_packet_mirroring_rule(
5917        &self,
5918        _req: crate::model::network_firewall_policies::GetPacketMirroringRuleRequest,
5919        _options: crate::RequestOptions,
5920    ) -> impl std::future::Future<
5921        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
5922    > + Send {
5923        gaxi::unimplemented::unimplemented_stub()
5924    }
5925
5926    /// Implements [super::client::NetworkFirewallPolicies::get_rule].
5927    fn get_rule(
5928        &self,
5929        _req: crate::model::network_firewall_policies::GetRuleRequest,
5930        _options: crate::RequestOptions,
5931    ) -> impl std::future::Future<
5932        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
5933    > + Send {
5934        gaxi::unimplemented::unimplemented_stub()
5935    }
5936
5937    /// Implements [super::client::NetworkFirewallPolicies::insert].
5938    fn insert(
5939        &self,
5940        _req: crate::model::network_firewall_policies::InsertRequest,
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::list].
5948    fn list(
5949        &self,
5950        _req: crate::model::network_firewall_policies::ListRequest,
5951        _options: crate::RequestOptions,
5952    ) -> impl std::future::Future<
5953        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
5954    > + Send {
5955        gaxi::unimplemented::unimplemented_stub()
5956    }
5957
5958    /// Implements [super::client::NetworkFirewallPolicies::patch].
5959    fn patch(
5960        &self,
5961        _req: crate::model::network_firewall_policies::PatchRequest,
5962        _options: crate::RequestOptions,
5963    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5964    {
5965        gaxi::unimplemented::unimplemented_stub()
5966    }
5967
5968    /// Implements [super::client::NetworkFirewallPolicies::patch_packet_mirroring_rule].
5969    fn patch_packet_mirroring_rule(
5970        &self,
5971        _req: crate::model::network_firewall_policies::PatchPacketMirroringRuleRequest,
5972        _options: crate::RequestOptions,
5973    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5974    {
5975        gaxi::unimplemented::unimplemented_stub()
5976    }
5977
5978    /// Implements [super::client::NetworkFirewallPolicies::patch_rule].
5979    fn patch_rule(
5980        &self,
5981        _req: crate::model::network_firewall_policies::PatchRuleRequest,
5982        _options: crate::RequestOptions,
5983    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5984    {
5985        gaxi::unimplemented::unimplemented_stub()
5986    }
5987
5988    /// Implements [super::client::NetworkFirewallPolicies::remove_association].
5989    fn remove_association(
5990        &self,
5991        _req: crate::model::network_firewall_policies::RemoveAssociationRequest,
5992        _options: crate::RequestOptions,
5993    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5994    {
5995        gaxi::unimplemented::unimplemented_stub()
5996    }
5997
5998    /// Implements [super::client::NetworkFirewallPolicies::remove_packet_mirroring_rule].
5999    fn remove_packet_mirroring_rule(
6000        &self,
6001        _req: crate::model::network_firewall_policies::RemovePacketMirroringRuleRequest,
6002        _options: crate::RequestOptions,
6003    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6004    {
6005        gaxi::unimplemented::unimplemented_stub()
6006    }
6007
6008    /// Implements [super::client::NetworkFirewallPolicies::remove_rule].
6009    fn remove_rule(
6010        &self,
6011        _req: crate::model::network_firewall_policies::RemoveRuleRequest,
6012        _options: crate::RequestOptions,
6013    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6014    {
6015        gaxi::unimplemented::unimplemented_stub()
6016    }
6017
6018    /// Implements [super::client::NetworkFirewallPolicies::set_iam_policy].
6019    fn set_iam_policy(
6020        &self,
6021        _req: crate::model::network_firewall_policies::SetIamPolicyRequest,
6022        _options: crate::RequestOptions,
6023    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6024    {
6025        gaxi::unimplemented::unimplemented_stub()
6026    }
6027
6028    /// Implements [super::client::NetworkFirewallPolicies::test_iam_permissions].
6029    fn test_iam_permissions(
6030        &self,
6031        _req: crate::model::network_firewall_policies::TestIamPermissionsRequest,
6032        _options: crate::RequestOptions,
6033    ) -> impl std::future::Future<
6034        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6035    > + Send {
6036        gaxi::unimplemented::unimplemented_stub()
6037    }
6038
6039    /// Implements [super::client::NetworkFirewallPolicies::get_operation].
6040    fn get_operation(
6041        &self,
6042        _req: crate::model::global_operations::GetRequest,
6043        _options: crate::RequestOptions,
6044    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6045    {
6046        gaxi::unimplemented::unimplemented_stub()
6047    }
6048
6049    /// Returns the polling error policy.
6050    ///
6051    /// When mocking, this method is typically irrelevant. Do not try to verify
6052    /// it is called by your mocks.
6053    fn get_polling_error_policy(
6054        &self,
6055        _options: &crate::RequestOptions,
6056    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6057        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6058    }
6059
6060    /// Returns the polling backoff policy.
6061    ///
6062    /// When mocking, this method is typically irrelevant. Do not try to verify
6063    /// it is called by your mocks.
6064    fn get_polling_backoff_policy(
6065        &self,
6066        _options: &crate::RequestOptions,
6067    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6068        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6069    }
6070}
6071
6072/// Defines the trait used to implement [super::client::NetworkProfiles].
6073///
6074/// Application developers may need to implement this trait to mock
6075/// `client::NetworkProfiles`.  In other use-cases, application developers only
6076/// use `client::NetworkProfiles` and need not be concerned with this trait or
6077/// its implementations.
6078///
6079/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6080/// too. To avoid breaking applications the trait provides a default
6081/// implementation of each method. Most of these implementations just return an
6082/// error.
6083#[cfg(feature = "network-profiles")]
6084#[cfg_attr(docsrs, doc(cfg(feature = "network-profiles")))]
6085pub trait NetworkProfiles: std::fmt::Debug + Send + Sync {
6086    /// Implements [super::client::NetworkProfiles::get].
6087    fn get(
6088        &self,
6089        _req: crate::model::network_profiles::GetRequest,
6090        _options: crate::RequestOptions,
6091    ) -> impl std::future::Future<
6092        Output = crate::Result<crate::Response<crate::model::NetworkProfile>>,
6093    > + Send {
6094        gaxi::unimplemented::unimplemented_stub()
6095    }
6096
6097    /// Implements [super::client::NetworkProfiles::list].
6098    fn list(
6099        &self,
6100        _req: crate::model::network_profiles::ListRequest,
6101        _options: crate::RequestOptions,
6102    ) -> impl std::future::Future<
6103        Output = crate::Result<crate::Response<crate::model::NetworkProfilesListResponse>>,
6104    > + Send {
6105        gaxi::unimplemented::unimplemented_stub()
6106    }
6107}
6108
6109/// Defines the trait used to implement [super::client::Networks].
6110///
6111/// Application developers may need to implement this trait to mock
6112/// `client::Networks`.  In other use-cases, application developers only
6113/// use `client::Networks` and need not be concerned with this trait or
6114/// its implementations.
6115///
6116/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6117/// too. To avoid breaking applications the trait provides a default
6118/// implementation of each method. Most of these implementations just return an
6119/// error.
6120#[cfg(feature = "networks")]
6121#[cfg_attr(docsrs, doc(cfg(feature = "networks")))]
6122pub trait Networks: std::fmt::Debug + Send + Sync {
6123    /// Implements [super::client::Networks::add_peering].
6124    fn add_peering(
6125        &self,
6126        _req: crate::model::networks::AddPeeringRequest,
6127        _options: crate::RequestOptions,
6128    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6129    {
6130        gaxi::unimplemented::unimplemented_stub()
6131    }
6132
6133    /// Implements [super::client::Networks::delete].
6134    fn delete(
6135        &self,
6136        _req: crate::model::networks::DeleteRequest,
6137        _options: crate::RequestOptions,
6138    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6139    {
6140        gaxi::unimplemented::unimplemented_stub()
6141    }
6142
6143    /// Implements [super::client::Networks::get].
6144    fn get(
6145        &self,
6146        _req: crate::model::networks::GetRequest,
6147        _options: crate::RequestOptions,
6148    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Network>>> + Send
6149    {
6150        gaxi::unimplemented::unimplemented_stub()
6151    }
6152
6153    /// Implements [super::client::Networks::get_effective_firewalls].
6154    fn get_effective_firewalls(
6155        &self,
6156        _req: crate::model::networks::GetEffectiveFirewallsRequest,
6157        _options: crate::RequestOptions,
6158    ) -> impl std::future::Future<
6159        Output = crate::Result<
6160            crate::Response<crate::model::NetworksGetEffectiveFirewallsResponse>,
6161        >,
6162    > + Send {
6163        gaxi::unimplemented::unimplemented_stub()
6164    }
6165
6166    /// Implements [super::client::Networks::insert].
6167    fn insert(
6168        &self,
6169        _req: crate::model::networks::InsertRequest,
6170        _options: crate::RequestOptions,
6171    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6172    {
6173        gaxi::unimplemented::unimplemented_stub()
6174    }
6175
6176    /// Implements [super::client::Networks::list].
6177    fn list(
6178        &self,
6179        _req: crate::model::networks::ListRequest,
6180        _options: crate::RequestOptions,
6181    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NetworkList>>>
6182    + Send {
6183        gaxi::unimplemented::unimplemented_stub()
6184    }
6185
6186    /// Implements [super::client::Networks::list_peering_routes].
6187    fn list_peering_routes(
6188        &self,
6189        _req: crate::model::networks::ListPeeringRoutesRequest,
6190        _options: crate::RequestOptions,
6191    ) -> impl std::future::Future<
6192        Output = crate::Result<crate::Response<crate::model::ExchangedPeeringRoutesList>>,
6193    > + Send {
6194        gaxi::unimplemented::unimplemented_stub()
6195    }
6196
6197    /// Implements [super::client::Networks::patch].
6198    fn patch(
6199        &self,
6200        _req: crate::model::networks::PatchRequest,
6201        _options: crate::RequestOptions,
6202    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6203    {
6204        gaxi::unimplemented::unimplemented_stub()
6205    }
6206
6207    /// Implements [super::client::Networks::remove_peering].
6208    fn remove_peering(
6209        &self,
6210        _req: crate::model::networks::RemovePeeringRequest,
6211        _options: crate::RequestOptions,
6212    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6213    {
6214        gaxi::unimplemented::unimplemented_stub()
6215    }
6216
6217    /// Implements [super::client::Networks::request_remove_peering].
6218    fn request_remove_peering(
6219        &self,
6220        _req: crate::model::networks::RequestRemovePeeringRequest,
6221        _options: crate::RequestOptions,
6222    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6223    {
6224        gaxi::unimplemented::unimplemented_stub()
6225    }
6226
6227    /// Implements [super::client::Networks::switch_to_custom_mode].
6228    fn switch_to_custom_mode(
6229        &self,
6230        _req: crate::model::networks::SwitchToCustomModeRequest,
6231        _options: crate::RequestOptions,
6232    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6233    {
6234        gaxi::unimplemented::unimplemented_stub()
6235    }
6236
6237    /// Implements [super::client::Networks::update_peering].
6238    fn update_peering(
6239        &self,
6240        _req: crate::model::networks::UpdatePeeringRequest,
6241        _options: crate::RequestOptions,
6242    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6243    {
6244        gaxi::unimplemented::unimplemented_stub()
6245    }
6246
6247    /// Implements [super::client::Networks::get_operation].
6248    fn get_operation(
6249        &self,
6250        _req: crate::model::global_operations::GetRequest,
6251        _options: crate::RequestOptions,
6252    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6253    {
6254        gaxi::unimplemented::unimplemented_stub()
6255    }
6256
6257    /// Returns the polling error policy.
6258    ///
6259    /// When mocking, this method is typically irrelevant. Do not try to verify
6260    /// it is called by your mocks.
6261    fn get_polling_error_policy(
6262        &self,
6263        _options: &crate::RequestOptions,
6264    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6265        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6266    }
6267
6268    /// Returns the polling backoff policy.
6269    ///
6270    /// When mocking, this method is typically irrelevant. Do not try to verify
6271    /// it is called by your mocks.
6272    fn get_polling_backoff_policy(
6273        &self,
6274        _options: &crate::RequestOptions,
6275    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6276        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6277    }
6278}
6279
6280/// Defines the trait used to implement [super::client::NodeGroups].
6281///
6282/// Application developers may need to implement this trait to mock
6283/// `client::NodeGroups`.  In other use-cases, application developers only
6284/// use `client::NodeGroups` and need not be concerned with this trait or
6285/// its implementations.
6286///
6287/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6288/// too. To avoid breaking applications the trait provides a default
6289/// implementation of each method. Most of these implementations just return an
6290/// error.
6291#[cfg(feature = "node-groups")]
6292#[cfg_attr(docsrs, doc(cfg(feature = "node-groups")))]
6293pub trait NodeGroups: std::fmt::Debug + Send + Sync {
6294    /// Implements [super::client::NodeGroups::add_nodes].
6295    fn add_nodes(
6296        &self,
6297        _req: crate::model::node_groups::AddNodesRequest,
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::aggregated_list].
6305    fn aggregated_list(
6306        &self,
6307        _req: crate::model::node_groups::AggregatedListRequest,
6308        _options: crate::RequestOptions,
6309    ) -> impl std::future::Future<
6310        Output = crate::Result<crate::Response<crate::model::NodeGroupAggregatedList>>,
6311    > + Send {
6312        gaxi::unimplemented::unimplemented_stub()
6313    }
6314
6315    /// Implements [super::client::NodeGroups::delete].
6316    fn delete(
6317        &self,
6318        _req: crate::model::node_groups::DeleteRequest,
6319        _options: crate::RequestOptions,
6320    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6321    {
6322        gaxi::unimplemented::unimplemented_stub()
6323    }
6324
6325    /// Implements [super::client::NodeGroups::delete_nodes].
6326    fn delete_nodes(
6327        &self,
6328        _req: crate::model::node_groups::DeleteNodesRequest,
6329        _options: crate::RequestOptions,
6330    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6331    {
6332        gaxi::unimplemented::unimplemented_stub()
6333    }
6334
6335    /// Implements [super::client::NodeGroups::get].
6336    fn get(
6337        &self,
6338        _req: crate::model::node_groups::GetRequest,
6339        _options: crate::RequestOptions,
6340    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NodeGroup>>> + Send
6341    {
6342        gaxi::unimplemented::unimplemented_stub()
6343    }
6344
6345    /// Implements [super::client::NodeGroups::get_iam_policy].
6346    fn get_iam_policy(
6347        &self,
6348        _req: crate::model::node_groups::GetIamPolicyRequest,
6349        _options: crate::RequestOptions,
6350    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6351    {
6352        gaxi::unimplemented::unimplemented_stub()
6353    }
6354
6355    /// Implements [super::client::NodeGroups::insert].
6356    fn insert(
6357        &self,
6358        _req: crate::model::node_groups::InsertRequest,
6359        _options: crate::RequestOptions,
6360    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6361    {
6362        gaxi::unimplemented::unimplemented_stub()
6363    }
6364
6365    /// Implements [super::client::NodeGroups::list].
6366    fn list(
6367        &self,
6368        _req: crate::model::node_groups::ListRequest,
6369        _options: crate::RequestOptions,
6370    ) -> impl std::future::Future<
6371        Output = crate::Result<crate::Response<crate::model::NodeGroupList>>,
6372    > + Send {
6373        gaxi::unimplemented::unimplemented_stub()
6374    }
6375
6376    /// Implements [super::client::NodeGroups::list_nodes].
6377    fn list_nodes(
6378        &self,
6379        _req: crate::model::node_groups::ListNodesRequest,
6380        _options: crate::RequestOptions,
6381    ) -> impl std::future::Future<
6382        Output = crate::Result<crate::Response<crate::model::NodeGroupsListNodes>>,
6383    > + Send {
6384        gaxi::unimplemented::unimplemented_stub()
6385    }
6386
6387    /// Implements [super::client::NodeGroups::patch].
6388    fn patch(
6389        &self,
6390        _req: crate::model::node_groups::PatchRequest,
6391        _options: crate::RequestOptions,
6392    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6393    {
6394        gaxi::unimplemented::unimplemented_stub()
6395    }
6396
6397    /// Implements [super::client::NodeGroups::perform_maintenance].
6398    fn perform_maintenance(
6399        &self,
6400        _req: crate::model::node_groups::PerformMaintenanceRequest,
6401        _options: crate::RequestOptions,
6402    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6403    {
6404        gaxi::unimplemented::unimplemented_stub()
6405    }
6406
6407    /// Implements [super::client::NodeGroups::set_iam_policy].
6408    fn set_iam_policy(
6409        &self,
6410        _req: crate::model::node_groups::SetIamPolicyRequest,
6411        _options: crate::RequestOptions,
6412    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6413    {
6414        gaxi::unimplemented::unimplemented_stub()
6415    }
6416
6417    /// Implements [super::client::NodeGroups::set_node_template].
6418    fn set_node_template(
6419        &self,
6420        _req: crate::model::node_groups::SetNodeTemplateRequest,
6421        _options: crate::RequestOptions,
6422    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6423    {
6424        gaxi::unimplemented::unimplemented_stub()
6425    }
6426
6427    /// Implements [super::client::NodeGroups::simulate_maintenance_event].
6428    fn simulate_maintenance_event(
6429        &self,
6430        _req: crate::model::node_groups::SimulateMaintenanceEventRequest,
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    /// Implements [super::client::NodeGroups::test_iam_permissions].
6438    fn test_iam_permissions(
6439        &self,
6440        _req: crate::model::node_groups::TestIamPermissionsRequest,
6441        _options: crate::RequestOptions,
6442    ) -> impl std::future::Future<
6443        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6444    > + Send {
6445        gaxi::unimplemented::unimplemented_stub()
6446    }
6447
6448    /// Implements [super::client::NodeGroups::get_operation].
6449    fn get_operation(
6450        &self,
6451        _req: crate::model::zone_operations::GetRequest,
6452        _options: crate::RequestOptions,
6453    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6454    {
6455        gaxi::unimplemented::unimplemented_stub()
6456    }
6457
6458    /// Returns the polling error policy.
6459    ///
6460    /// When mocking, this method is typically irrelevant. Do not try to verify
6461    /// it is called by your mocks.
6462    fn get_polling_error_policy(
6463        &self,
6464        _options: &crate::RequestOptions,
6465    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6466        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6467    }
6468
6469    /// Returns the polling backoff policy.
6470    ///
6471    /// When mocking, this method is typically irrelevant. Do not try to verify
6472    /// it is called by your mocks.
6473    fn get_polling_backoff_policy(
6474        &self,
6475        _options: &crate::RequestOptions,
6476    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6477        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6478    }
6479}
6480
6481/// Defines the trait used to implement [super::client::NodeTemplates].
6482///
6483/// Application developers may need to implement this trait to mock
6484/// `client::NodeTemplates`.  In other use-cases, application developers only
6485/// use `client::NodeTemplates` and need not be concerned with this trait or
6486/// its implementations.
6487///
6488/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6489/// too. To avoid breaking applications the trait provides a default
6490/// implementation of each method. Most of these implementations just return an
6491/// error.
6492#[cfg(feature = "node-templates")]
6493#[cfg_attr(docsrs, doc(cfg(feature = "node-templates")))]
6494pub trait NodeTemplates: std::fmt::Debug + Send + Sync {
6495    /// Implements [super::client::NodeTemplates::aggregated_list].
6496    fn aggregated_list(
6497        &self,
6498        _req: crate::model::node_templates::AggregatedListRequest,
6499        _options: crate::RequestOptions,
6500    ) -> impl std::future::Future<
6501        Output = crate::Result<crate::Response<crate::model::NodeTemplateAggregatedList>>,
6502    > + Send {
6503        gaxi::unimplemented::unimplemented_stub()
6504    }
6505
6506    /// Implements [super::client::NodeTemplates::delete].
6507    fn delete(
6508        &self,
6509        _req: crate::model::node_templates::DeleteRequest,
6510        _options: crate::RequestOptions,
6511    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6512    {
6513        gaxi::unimplemented::unimplemented_stub()
6514    }
6515
6516    /// Implements [super::client::NodeTemplates::get].
6517    fn get(
6518        &self,
6519        _req: crate::model::node_templates::GetRequest,
6520        _options: crate::RequestOptions,
6521    ) -> impl std::future::Future<
6522        Output = crate::Result<crate::Response<crate::model::NodeTemplate>>,
6523    > + Send {
6524        gaxi::unimplemented::unimplemented_stub()
6525    }
6526
6527    /// Implements [super::client::NodeTemplates::get_iam_policy].
6528    fn get_iam_policy(
6529        &self,
6530        _req: crate::model::node_templates::GetIamPolicyRequest,
6531        _options: crate::RequestOptions,
6532    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6533    {
6534        gaxi::unimplemented::unimplemented_stub()
6535    }
6536
6537    /// Implements [super::client::NodeTemplates::insert].
6538    fn insert(
6539        &self,
6540        _req: crate::model::node_templates::InsertRequest,
6541        _options: crate::RequestOptions,
6542    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6543    {
6544        gaxi::unimplemented::unimplemented_stub()
6545    }
6546
6547    /// Implements [super::client::NodeTemplates::list].
6548    fn list(
6549        &self,
6550        _req: crate::model::node_templates::ListRequest,
6551        _options: crate::RequestOptions,
6552    ) -> impl std::future::Future<
6553        Output = crate::Result<crate::Response<crate::model::NodeTemplateList>>,
6554    > + Send {
6555        gaxi::unimplemented::unimplemented_stub()
6556    }
6557
6558    /// Implements [super::client::NodeTemplates::set_iam_policy].
6559    fn set_iam_policy(
6560        &self,
6561        _req: crate::model::node_templates::SetIamPolicyRequest,
6562        _options: crate::RequestOptions,
6563    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6564    {
6565        gaxi::unimplemented::unimplemented_stub()
6566    }
6567
6568    /// Implements [super::client::NodeTemplates::test_iam_permissions].
6569    fn test_iam_permissions(
6570        &self,
6571        _req: crate::model::node_templates::TestIamPermissionsRequest,
6572        _options: crate::RequestOptions,
6573    ) -> impl std::future::Future<
6574        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6575    > + Send {
6576        gaxi::unimplemented::unimplemented_stub()
6577    }
6578
6579    /// Implements [super::client::NodeTemplates::get_operation].
6580    fn get_operation(
6581        &self,
6582        _req: crate::model::region_operations::GetRequest,
6583        _options: crate::RequestOptions,
6584    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6585    {
6586        gaxi::unimplemented::unimplemented_stub()
6587    }
6588
6589    /// Returns the polling error policy.
6590    ///
6591    /// When mocking, this method is typically irrelevant. Do not try to verify
6592    /// it is called by your mocks.
6593    fn get_polling_error_policy(
6594        &self,
6595        _options: &crate::RequestOptions,
6596    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6597        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6598    }
6599
6600    /// Returns the polling backoff policy.
6601    ///
6602    /// When mocking, this method is typically irrelevant. Do not try to verify
6603    /// it is called by your mocks.
6604    fn get_polling_backoff_policy(
6605        &self,
6606        _options: &crate::RequestOptions,
6607    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6608        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6609    }
6610}
6611
6612/// Defines the trait used to implement [super::client::NodeTypes].
6613///
6614/// Application developers may need to implement this trait to mock
6615/// `client::NodeTypes`.  In other use-cases, application developers only
6616/// use `client::NodeTypes` and need not be concerned with this trait or
6617/// its implementations.
6618///
6619/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6620/// too. To avoid breaking applications the trait provides a default
6621/// implementation of each method. Most of these implementations just return an
6622/// error.
6623#[cfg(feature = "node-types")]
6624#[cfg_attr(docsrs, doc(cfg(feature = "node-types")))]
6625pub trait NodeTypes: std::fmt::Debug + Send + Sync {
6626    /// Implements [super::client::NodeTypes::aggregated_list].
6627    fn aggregated_list(
6628        &self,
6629        _req: crate::model::node_types::AggregatedListRequest,
6630        _options: crate::RequestOptions,
6631    ) -> impl std::future::Future<
6632        Output = crate::Result<crate::Response<crate::model::NodeTypeAggregatedList>>,
6633    > + Send {
6634        gaxi::unimplemented::unimplemented_stub()
6635    }
6636
6637    /// Implements [super::client::NodeTypes::get].
6638    fn get(
6639        &self,
6640        _req: crate::model::node_types::GetRequest,
6641        _options: crate::RequestOptions,
6642    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NodeType>>> + Send
6643    {
6644        gaxi::unimplemented::unimplemented_stub()
6645    }
6646
6647    /// Implements [super::client::NodeTypes::list].
6648    fn list(
6649        &self,
6650        _req: crate::model::node_types::ListRequest,
6651        _options: crate::RequestOptions,
6652    ) -> impl std::future::Future<
6653        Output = crate::Result<crate::Response<crate::model::NodeTypeList>>,
6654    > + Send {
6655        gaxi::unimplemented::unimplemented_stub()
6656    }
6657}
6658
6659/// Defines the trait used to implement [super::client::OrganizationSecurityPolicies].
6660///
6661/// Application developers may need to implement this trait to mock
6662/// `client::OrganizationSecurityPolicies`.  In other use-cases, application developers only
6663/// use `client::OrganizationSecurityPolicies` and need not be concerned with this trait or
6664/// its implementations.
6665///
6666/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6667/// too. To avoid breaking applications the trait provides a default
6668/// implementation of each method. Most of these implementations just return an
6669/// error.
6670#[cfg(feature = "organization-security-policies")]
6671#[cfg_attr(docsrs, doc(cfg(feature = "organization-security-policies")))]
6672pub trait OrganizationSecurityPolicies: std::fmt::Debug + Send + Sync {
6673    /// Implements [super::client::OrganizationSecurityPolicies::add_association].
6674    fn add_association(
6675        &self,
6676        _req: crate::model::organization_security_policies::AddAssociationRequest,
6677        _options: crate::RequestOptions,
6678    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6679    {
6680        gaxi::unimplemented::unimplemented_stub()
6681    }
6682
6683    /// Implements [super::client::OrganizationSecurityPolicies::add_rule].
6684    fn add_rule(
6685        &self,
6686        _req: crate::model::organization_security_policies::AddRuleRequest,
6687        _options: crate::RequestOptions,
6688    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6689    {
6690        gaxi::unimplemented::unimplemented_stub()
6691    }
6692
6693    /// Implements [super::client::OrganizationSecurityPolicies::copy_rules].
6694    fn copy_rules(
6695        &self,
6696        _req: crate::model::organization_security_policies::CopyRulesRequest,
6697        _options: crate::RequestOptions,
6698    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6699    {
6700        gaxi::unimplemented::unimplemented_stub()
6701    }
6702
6703    /// Implements [super::client::OrganizationSecurityPolicies::delete].
6704    fn delete(
6705        &self,
6706        _req: crate::model::organization_security_policies::DeleteRequest,
6707        _options: crate::RequestOptions,
6708    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6709    {
6710        gaxi::unimplemented::unimplemented_stub()
6711    }
6712
6713    /// Implements [super::client::OrganizationSecurityPolicies::get].
6714    fn get(
6715        &self,
6716        _req: crate::model::organization_security_policies::GetRequest,
6717        _options: crate::RequestOptions,
6718    ) -> impl std::future::Future<
6719        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
6720    > + Send {
6721        gaxi::unimplemented::unimplemented_stub()
6722    }
6723
6724    /// Implements [super::client::OrganizationSecurityPolicies::get_association].
6725    fn get_association(
6726        &self,
6727        _req: crate::model::organization_security_policies::GetAssociationRequest,
6728        _options: crate::RequestOptions,
6729    ) -> impl std::future::Future<
6730        Output = crate::Result<crate::Response<crate::model::SecurityPolicyAssociation>>,
6731    > + Send {
6732        gaxi::unimplemented::unimplemented_stub()
6733    }
6734
6735    /// Implements [super::client::OrganizationSecurityPolicies::get_rule].
6736    fn get_rule(
6737        &self,
6738        _req: crate::model::organization_security_policies::GetRuleRequest,
6739        _options: crate::RequestOptions,
6740    ) -> impl std::future::Future<
6741        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
6742    > + Send {
6743        gaxi::unimplemented::unimplemented_stub()
6744    }
6745
6746    /// Implements [super::client::OrganizationSecurityPolicies::insert].
6747    fn insert(
6748        &self,
6749        _req: crate::model::organization_security_policies::InsertRequest,
6750        _options: crate::RequestOptions,
6751    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6752    {
6753        gaxi::unimplemented::unimplemented_stub()
6754    }
6755
6756    /// Implements [super::client::OrganizationSecurityPolicies::list].
6757    fn list(
6758        &self,
6759        _req: crate::model::organization_security_policies::ListRequest,
6760        _options: crate::RequestOptions,
6761    ) -> impl std::future::Future<
6762        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
6763    > + Send {
6764        gaxi::unimplemented::unimplemented_stub()
6765    }
6766
6767    /// Implements [super::client::OrganizationSecurityPolicies::list_associations].
6768    fn list_associations(
6769        &self,
6770        _req: crate::model::organization_security_policies::ListAssociationsRequest,
6771        _options: crate::RequestOptions,
6772    ) -> impl std::future::Future<
6773        Output = crate::Result<
6774            crate::Response<crate::model::OrganizationSecurityPoliciesListAssociationsResponse>,
6775        >,
6776    > + Send {
6777        gaxi::unimplemented::unimplemented_stub()
6778    }
6779
6780    /// Implements [super::client::OrganizationSecurityPolicies::list_preconfigured_expression_sets].
6781    fn list_preconfigured_expression_sets(
6782        &self,
6783        _req: crate::model::organization_security_policies::ListPreconfiguredExpressionSetsRequest,
6784        _options: crate::RequestOptions,
6785    ) -> impl std::future::Future<
6786        Output = crate::Result<
6787            crate::Response<crate::model::SecurityPoliciesListPreconfiguredExpressionSetsResponse>,
6788        >,
6789    > + Send {
6790        gaxi::unimplemented::unimplemented_stub()
6791    }
6792
6793    /// Implements [super::client::OrganizationSecurityPolicies::r#move].
6794    fn r#move(
6795        &self,
6796        _req: crate::model::organization_security_policies::MoveRequest,
6797        _options: crate::RequestOptions,
6798    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6799    {
6800        gaxi::unimplemented::unimplemented_stub()
6801    }
6802
6803    /// Implements [super::client::OrganizationSecurityPolicies::patch].
6804    fn patch(
6805        &self,
6806        _req: crate::model::organization_security_policies::PatchRequest,
6807        _options: crate::RequestOptions,
6808    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6809    {
6810        gaxi::unimplemented::unimplemented_stub()
6811    }
6812
6813    /// Implements [super::client::OrganizationSecurityPolicies::patch_rule].
6814    fn patch_rule(
6815        &self,
6816        _req: crate::model::organization_security_policies::PatchRuleRequest,
6817        _options: crate::RequestOptions,
6818    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6819    {
6820        gaxi::unimplemented::unimplemented_stub()
6821    }
6822
6823    /// Implements [super::client::OrganizationSecurityPolicies::remove_association].
6824    fn remove_association(
6825        &self,
6826        _req: crate::model::organization_security_policies::RemoveAssociationRequest,
6827        _options: crate::RequestOptions,
6828    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6829    {
6830        gaxi::unimplemented::unimplemented_stub()
6831    }
6832
6833    /// Implements [super::client::OrganizationSecurityPolicies::remove_rule].
6834    fn remove_rule(
6835        &self,
6836        _req: crate::model::organization_security_policies::RemoveRuleRequest,
6837        _options: crate::RequestOptions,
6838    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6839    {
6840        gaxi::unimplemented::unimplemented_stub()
6841    }
6842
6843    /// Implements [super::client::OrganizationSecurityPolicies::get_operation].
6844    fn get_operation(
6845        &self,
6846        _req: crate::model::global_organization_operations::GetRequest,
6847        _options: crate::RequestOptions,
6848    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6849    {
6850        gaxi::unimplemented::unimplemented_stub()
6851    }
6852
6853    /// Returns the polling error policy.
6854    ///
6855    /// When mocking, this method is typically irrelevant. Do not try to verify
6856    /// it is called by your mocks.
6857    fn get_polling_error_policy(
6858        &self,
6859        _options: &crate::RequestOptions,
6860    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6861        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6862    }
6863
6864    /// Returns the polling backoff policy.
6865    ///
6866    /// When mocking, this method is typically irrelevant. Do not try to verify
6867    /// it is called by your mocks.
6868    fn get_polling_backoff_policy(
6869        &self,
6870        _options: &crate::RequestOptions,
6871    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6872        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6873    }
6874}
6875
6876/// Defines the trait used to implement [super::client::PacketMirrorings].
6877///
6878/// Application developers may need to implement this trait to mock
6879/// `client::PacketMirrorings`.  In other use-cases, application developers only
6880/// use `client::PacketMirrorings` and need not be concerned with this trait or
6881/// its implementations.
6882///
6883/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6884/// too. To avoid breaking applications the trait provides a default
6885/// implementation of each method. Most of these implementations just return an
6886/// error.
6887#[cfg(feature = "packet-mirrorings")]
6888#[cfg_attr(docsrs, doc(cfg(feature = "packet-mirrorings")))]
6889pub trait PacketMirrorings: std::fmt::Debug + Send + Sync {
6890    /// Implements [super::client::PacketMirrorings::aggregated_list].
6891    fn aggregated_list(
6892        &self,
6893        _req: crate::model::packet_mirrorings::AggregatedListRequest,
6894        _options: crate::RequestOptions,
6895    ) -> impl std::future::Future<
6896        Output = crate::Result<crate::Response<crate::model::PacketMirroringAggregatedList>>,
6897    > + Send {
6898        gaxi::unimplemented::unimplemented_stub()
6899    }
6900
6901    /// Implements [super::client::PacketMirrorings::delete].
6902    fn delete(
6903        &self,
6904        _req: crate::model::packet_mirrorings::DeleteRequest,
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::get].
6912    fn get(
6913        &self,
6914        _req: crate::model::packet_mirrorings::GetRequest,
6915        _options: crate::RequestOptions,
6916    ) -> impl std::future::Future<
6917        Output = crate::Result<crate::Response<crate::model::PacketMirroring>>,
6918    > + Send {
6919        gaxi::unimplemented::unimplemented_stub()
6920    }
6921
6922    /// Implements [super::client::PacketMirrorings::insert].
6923    fn insert(
6924        &self,
6925        _req: crate::model::packet_mirrorings::InsertRequest,
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::list].
6933    fn list(
6934        &self,
6935        _req: crate::model::packet_mirrorings::ListRequest,
6936        _options: crate::RequestOptions,
6937    ) -> impl std::future::Future<
6938        Output = crate::Result<crate::Response<crate::model::PacketMirroringList>>,
6939    > + Send {
6940        gaxi::unimplemented::unimplemented_stub()
6941    }
6942
6943    /// Implements [super::client::PacketMirrorings::patch].
6944    fn patch(
6945        &self,
6946        _req: crate::model::packet_mirrorings::PatchRequest,
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    /// Implements [super::client::PacketMirrorings::test_iam_permissions].
6954    fn test_iam_permissions(
6955        &self,
6956        _req: crate::model::packet_mirrorings::TestIamPermissionsRequest,
6957        _options: crate::RequestOptions,
6958    ) -> impl std::future::Future<
6959        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6960    > + Send {
6961        gaxi::unimplemented::unimplemented_stub()
6962    }
6963
6964    /// Implements [super::client::PacketMirrorings::get_operation].
6965    fn get_operation(
6966        &self,
6967        _req: crate::model::region_operations::GetRequest,
6968        _options: crate::RequestOptions,
6969    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6970    {
6971        gaxi::unimplemented::unimplemented_stub()
6972    }
6973
6974    /// Returns the polling error policy.
6975    ///
6976    /// When mocking, this method is typically irrelevant. Do not try to verify
6977    /// it is called by your mocks.
6978    fn get_polling_error_policy(
6979        &self,
6980        _options: &crate::RequestOptions,
6981    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6982        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6983    }
6984
6985    /// Returns the polling backoff policy.
6986    ///
6987    /// When mocking, this method is typically irrelevant. Do not try to verify
6988    /// it is called by your mocks.
6989    fn get_polling_backoff_policy(
6990        &self,
6991        _options: &crate::RequestOptions,
6992    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6993        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6994    }
6995}
6996
6997/// Defines the trait used to implement [super::client::PreviewFeatures].
6998///
6999/// Application developers may need to implement this trait to mock
7000/// `client::PreviewFeatures`.  In other use-cases, application developers only
7001/// use `client::PreviewFeatures` and need not be concerned with this trait or
7002/// its implementations.
7003///
7004/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7005/// too. To avoid breaking applications the trait provides a default
7006/// implementation of each method. Most of these implementations just return an
7007/// error.
7008#[cfg(feature = "preview-features")]
7009#[cfg_attr(docsrs, doc(cfg(feature = "preview-features")))]
7010pub trait PreviewFeatures: std::fmt::Debug + Send + Sync {
7011    /// Implements [super::client::PreviewFeatures::get].
7012    fn get(
7013        &self,
7014        _req: crate::model::preview_features::GetRequest,
7015        _options: crate::RequestOptions,
7016    ) -> impl std::future::Future<
7017        Output = crate::Result<crate::Response<crate::model::PreviewFeature>>,
7018    > + Send {
7019        gaxi::unimplemented::unimplemented_stub()
7020    }
7021
7022    /// Implements [super::client::PreviewFeatures::list].
7023    fn list(
7024        &self,
7025        _req: crate::model::preview_features::ListRequest,
7026        _options: crate::RequestOptions,
7027    ) -> impl std::future::Future<
7028        Output = crate::Result<crate::Response<crate::model::PreviewFeatureList>>,
7029    > + Send {
7030        gaxi::unimplemented::unimplemented_stub()
7031    }
7032
7033    /// Implements [super::client::PreviewFeatures::update].
7034    fn update(
7035        &self,
7036        _req: crate::model::preview_features::UpdateRequest,
7037        _options: crate::RequestOptions,
7038    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7039    {
7040        gaxi::unimplemented::unimplemented_stub()
7041    }
7042
7043    /// Implements [super::client::PreviewFeatures::get_operation].
7044    fn get_operation(
7045        &self,
7046        _req: crate::model::global_operations::GetRequest,
7047        _options: crate::RequestOptions,
7048    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7049    {
7050        gaxi::unimplemented::unimplemented_stub()
7051    }
7052
7053    /// Returns the polling error policy.
7054    ///
7055    /// When mocking, this method is typically irrelevant. Do not try to verify
7056    /// it is called by your mocks.
7057    fn get_polling_error_policy(
7058        &self,
7059        _options: &crate::RequestOptions,
7060    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7061        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7062    }
7063
7064    /// Returns the polling backoff policy.
7065    ///
7066    /// When mocking, this method is typically irrelevant. Do not try to verify
7067    /// it is called by your mocks.
7068    fn get_polling_backoff_policy(
7069        &self,
7070        _options: &crate::RequestOptions,
7071    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7072        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7073    }
7074}
7075
7076/// Defines the trait used to implement [super::client::Projects].
7077///
7078/// Application developers may need to implement this trait to mock
7079/// `client::Projects`.  In other use-cases, application developers only
7080/// use `client::Projects` and need not be concerned with this trait or
7081/// its implementations.
7082///
7083/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7084/// too. To avoid breaking applications the trait provides a default
7085/// implementation of each method. Most of these implementations just return an
7086/// error.
7087#[cfg(feature = "projects")]
7088#[cfg_attr(docsrs, doc(cfg(feature = "projects")))]
7089pub trait Projects: std::fmt::Debug + Send + Sync {
7090    /// Implements [super::client::Projects::disable_xpn_host].
7091    fn disable_xpn_host(
7092        &self,
7093        _req: crate::model::projects::DisableXpnHostRequest,
7094        _options: crate::RequestOptions,
7095    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7096    {
7097        gaxi::unimplemented::unimplemented_stub()
7098    }
7099
7100    /// Implements [super::client::Projects::disable_xpn_resource].
7101    fn disable_xpn_resource(
7102        &self,
7103        _req: crate::model::projects::DisableXpnResourceRequest,
7104        _options: crate::RequestOptions,
7105    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7106    {
7107        gaxi::unimplemented::unimplemented_stub()
7108    }
7109
7110    /// Implements [super::client::Projects::enable_xpn_host].
7111    fn enable_xpn_host(
7112        &self,
7113        _req: crate::model::projects::EnableXpnHostRequest,
7114        _options: crate::RequestOptions,
7115    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7116    {
7117        gaxi::unimplemented::unimplemented_stub()
7118    }
7119
7120    /// Implements [super::client::Projects::enable_xpn_resource].
7121    fn enable_xpn_resource(
7122        &self,
7123        _req: crate::model::projects::EnableXpnResourceRequest,
7124        _options: crate::RequestOptions,
7125    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7126    {
7127        gaxi::unimplemented::unimplemented_stub()
7128    }
7129
7130    /// Implements [super::client::Projects::get].
7131    fn get(
7132        &self,
7133        _req: crate::model::projects::GetRequest,
7134        _options: crate::RequestOptions,
7135    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Project>>> + Send
7136    {
7137        gaxi::unimplemented::unimplemented_stub()
7138    }
7139
7140    /// Implements [super::client::Projects::get_xpn_host].
7141    fn get_xpn_host(
7142        &self,
7143        _req: crate::model::projects::GetXpnHostRequest,
7144        _options: crate::RequestOptions,
7145    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Project>>> + Send
7146    {
7147        gaxi::unimplemented::unimplemented_stub()
7148    }
7149
7150    /// Implements [super::client::Projects::get_xpn_resources].
7151    fn get_xpn_resources(
7152        &self,
7153        _req: crate::model::projects::GetXpnResourcesRequest,
7154        _options: crate::RequestOptions,
7155    ) -> impl std::future::Future<
7156        Output = crate::Result<crate::Response<crate::model::ProjectsGetXpnResources>>,
7157    > + Send {
7158        gaxi::unimplemented::unimplemented_stub()
7159    }
7160
7161    /// Implements [super::client::Projects::list_xpn_hosts].
7162    fn list_xpn_hosts(
7163        &self,
7164        _req: crate::model::projects::ListXpnHostsRequest,
7165        _options: crate::RequestOptions,
7166    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::XpnHostList>>>
7167    + Send {
7168        gaxi::unimplemented::unimplemented_stub()
7169    }
7170
7171    /// Implements [super::client::Projects::move_disk].
7172    fn move_disk(
7173        &self,
7174        _req: crate::model::projects::MoveDiskRequest,
7175        _options: crate::RequestOptions,
7176    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7177    {
7178        gaxi::unimplemented::unimplemented_stub()
7179    }
7180
7181    /// Implements [super::client::Projects::move_instance].
7182    fn move_instance(
7183        &self,
7184        _req: crate::model::projects::MoveInstanceRequest,
7185        _options: crate::RequestOptions,
7186    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7187    {
7188        gaxi::unimplemented::unimplemented_stub()
7189    }
7190
7191    /// Implements [super::client::Projects::set_cloud_armor_tier].
7192    fn set_cloud_armor_tier(
7193        &self,
7194        _req: crate::model::projects::SetCloudArmorTierRequest,
7195        _options: crate::RequestOptions,
7196    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7197    {
7198        gaxi::unimplemented::unimplemented_stub()
7199    }
7200
7201    /// Implements [super::client::Projects::set_common_instance_metadata].
7202    fn set_common_instance_metadata(
7203        &self,
7204        _req: crate::model::projects::SetCommonInstanceMetadataRequest,
7205        _options: crate::RequestOptions,
7206    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7207    {
7208        gaxi::unimplemented::unimplemented_stub()
7209    }
7210
7211    /// Implements [super::client::Projects::set_default_network_tier].
7212    fn set_default_network_tier(
7213        &self,
7214        _req: crate::model::projects::SetDefaultNetworkTierRequest,
7215        _options: crate::RequestOptions,
7216    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7217    {
7218        gaxi::unimplemented::unimplemented_stub()
7219    }
7220
7221    /// Implements [super::client::Projects::set_usage_export_bucket].
7222    fn set_usage_export_bucket(
7223        &self,
7224        _req: crate::model::projects::SetUsageExportBucketRequest,
7225        _options: crate::RequestOptions,
7226    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7227    {
7228        gaxi::unimplemented::unimplemented_stub()
7229    }
7230
7231    /// Implements [super::client::Projects::get_operation].
7232    fn get_operation(
7233        &self,
7234        _req: crate::model::global_operations::GetRequest,
7235        _options: crate::RequestOptions,
7236    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7237    {
7238        gaxi::unimplemented::unimplemented_stub()
7239    }
7240
7241    /// Returns the polling error policy.
7242    ///
7243    /// When mocking, this method is typically irrelevant. Do not try to verify
7244    /// it is called by your mocks.
7245    fn get_polling_error_policy(
7246        &self,
7247        _options: &crate::RequestOptions,
7248    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7249        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7250    }
7251
7252    /// Returns the polling backoff policy.
7253    ///
7254    /// When mocking, this method is typically irrelevant. Do not try to verify
7255    /// it is called by your mocks.
7256    fn get_polling_backoff_policy(
7257        &self,
7258        _options: &crate::RequestOptions,
7259    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7260        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7261    }
7262}
7263
7264/// Defines the trait used to implement [super::client::PublicAdvertisedPrefixes].
7265///
7266/// Application developers may need to implement this trait to mock
7267/// `client::PublicAdvertisedPrefixes`.  In other use-cases, application developers only
7268/// use `client::PublicAdvertisedPrefixes` and need not be concerned with this trait or
7269/// its implementations.
7270///
7271/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7272/// too. To avoid breaking applications the trait provides a default
7273/// implementation of each method. Most of these implementations just return an
7274/// error.
7275#[cfg(feature = "public-advertised-prefixes")]
7276#[cfg_attr(docsrs, doc(cfg(feature = "public-advertised-prefixes")))]
7277pub trait PublicAdvertisedPrefixes: std::fmt::Debug + Send + Sync {
7278    /// Implements [super::client::PublicAdvertisedPrefixes::announce].
7279    fn announce(
7280        &self,
7281        _req: crate::model::public_advertised_prefixes::AnnounceRequest,
7282        _options: crate::RequestOptions,
7283    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7284    {
7285        gaxi::unimplemented::unimplemented_stub()
7286    }
7287
7288    /// Implements [super::client::PublicAdvertisedPrefixes::delete].
7289    fn delete(
7290        &self,
7291        _req: crate::model::public_advertised_prefixes::DeleteRequest,
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::get].
7299    fn get(
7300        &self,
7301        _req: crate::model::public_advertised_prefixes::GetRequest,
7302        _options: crate::RequestOptions,
7303    ) -> impl std::future::Future<
7304        Output = crate::Result<crate::Response<crate::model::PublicAdvertisedPrefix>>,
7305    > + Send {
7306        gaxi::unimplemented::unimplemented_stub()
7307    }
7308
7309    /// Implements [super::client::PublicAdvertisedPrefixes::insert].
7310    fn insert(
7311        &self,
7312        _req: crate::model::public_advertised_prefixes::InsertRequest,
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::list].
7320    fn list(
7321        &self,
7322        _req: crate::model::public_advertised_prefixes::ListRequest,
7323        _options: crate::RequestOptions,
7324    ) -> impl std::future::Future<
7325        Output = crate::Result<crate::Response<crate::model::PublicAdvertisedPrefixList>>,
7326    > + Send {
7327        gaxi::unimplemented::unimplemented_stub()
7328    }
7329
7330    /// Implements [super::client::PublicAdvertisedPrefixes::patch].
7331    fn patch(
7332        &self,
7333        _req: crate::model::public_advertised_prefixes::PatchRequest,
7334        _options: crate::RequestOptions,
7335    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7336    {
7337        gaxi::unimplemented::unimplemented_stub()
7338    }
7339
7340    /// Implements [super::client::PublicAdvertisedPrefixes::withdraw].
7341    fn withdraw(
7342        &self,
7343        _req: crate::model::public_advertised_prefixes::WithdrawRequest,
7344        _options: crate::RequestOptions,
7345    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7346    {
7347        gaxi::unimplemented::unimplemented_stub()
7348    }
7349
7350    /// Implements [super::client::PublicAdvertisedPrefixes::get_operation].
7351    fn get_operation(
7352        &self,
7353        _req: crate::model::global_operations::GetRequest,
7354        _options: crate::RequestOptions,
7355    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7356    {
7357        gaxi::unimplemented::unimplemented_stub()
7358    }
7359
7360    /// Returns the polling error policy.
7361    ///
7362    /// When mocking, this method is typically irrelevant. Do not try to verify
7363    /// it is called by your mocks.
7364    fn get_polling_error_policy(
7365        &self,
7366        _options: &crate::RequestOptions,
7367    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7368        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7369    }
7370
7371    /// Returns the polling backoff policy.
7372    ///
7373    /// When mocking, this method is typically irrelevant. Do not try to verify
7374    /// it is called by your mocks.
7375    fn get_polling_backoff_policy(
7376        &self,
7377        _options: &crate::RequestOptions,
7378    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7379        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7380    }
7381}
7382
7383/// Defines the trait used to implement [super::client::PublicDelegatedPrefixes].
7384///
7385/// Application developers may need to implement this trait to mock
7386/// `client::PublicDelegatedPrefixes`.  In other use-cases, application developers only
7387/// use `client::PublicDelegatedPrefixes` and need not be concerned with this trait or
7388/// its implementations.
7389///
7390/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7391/// too. To avoid breaking applications the trait provides a default
7392/// implementation of each method. Most of these implementations just return an
7393/// error.
7394#[cfg(feature = "public-delegated-prefixes")]
7395#[cfg_attr(docsrs, doc(cfg(feature = "public-delegated-prefixes")))]
7396pub trait PublicDelegatedPrefixes: std::fmt::Debug + Send + Sync {
7397    /// Implements [super::client::PublicDelegatedPrefixes::aggregated_list].
7398    fn aggregated_list(
7399        &self,
7400        _req: crate::model::public_delegated_prefixes::AggregatedListRequest,
7401        _options: crate::RequestOptions,
7402    ) -> impl std::future::Future<
7403        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixAggregatedList>>,
7404    > + Send {
7405        gaxi::unimplemented::unimplemented_stub()
7406    }
7407
7408    /// Implements [super::client::PublicDelegatedPrefixes::announce].
7409    fn announce(
7410        &self,
7411        _req: crate::model::public_delegated_prefixes::AnnounceRequest,
7412        _options: crate::RequestOptions,
7413    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7414    {
7415        gaxi::unimplemented::unimplemented_stub()
7416    }
7417
7418    /// Implements [super::client::PublicDelegatedPrefixes::delete].
7419    fn delete(
7420        &self,
7421        _req: crate::model::public_delegated_prefixes::DeleteRequest,
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::get].
7429    fn get(
7430        &self,
7431        _req: crate::model::public_delegated_prefixes::GetRequest,
7432        _options: crate::RequestOptions,
7433    ) -> impl std::future::Future<
7434        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefix>>,
7435    > + Send {
7436        gaxi::unimplemented::unimplemented_stub()
7437    }
7438
7439    /// Implements [super::client::PublicDelegatedPrefixes::insert].
7440    fn insert(
7441        &self,
7442        _req: crate::model::public_delegated_prefixes::InsertRequest,
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::list].
7450    fn list(
7451        &self,
7452        _req: crate::model::public_delegated_prefixes::ListRequest,
7453        _options: crate::RequestOptions,
7454    ) -> impl std::future::Future<
7455        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixList>>,
7456    > + Send {
7457        gaxi::unimplemented::unimplemented_stub()
7458    }
7459
7460    /// Implements [super::client::PublicDelegatedPrefixes::patch].
7461    fn patch(
7462        &self,
7463        _req: crate::model::public_delegated_prefixes::PatchRequest,
7464        _options: crate::RequestOptions,
7465    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7466    {
7467        gaxi::unimplemented::unimplemented_stub()
7468    }
7469
7470    /// Implements [super::client::PublicDelegatedPrefixes::withdraw].
7471    fn withdraw(
7472        &self,
7473        _req: crate::model::public_delegated_prefixes::WithdrawRequest,
7474        _options: crate::RequestOptions,
7475    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7476    {
7477        gaxi::unimplemented::unimplemented_stub()
7478    }
7479
7480    /// Implements [super::client::PublicDelegatedPrefixes::get_operation].
7481    fn get_operation(
7482        &self,
7483        _req: crate::model::region_operations::GetRequest,
7484        _options: crate::RequestOptions,
7485    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7486    {
7487        gaxi::unimplemented::unimplemented_stub()
7488    }
7489
7490    /// Returns the polling error policy.
7491    ///
7492    /// When mocking, this method is typically irrelevant. Do not try to verify
7493    /// it is called by your mocks.
7494    fn get_polling_error_policy(
7495        &self,
7496        _options: &crate::RequestOptions,
7497    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7498        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7499    }
7500
7501    /// Returns the polling backoff policy.
7502    ///
7503    /// When mocking, this method is typically irrelevant. Do not try to verify
7504    /// it is called by your mocks.
7505    fn get_polling_backoff_policy(
7506        &self,
7507        _options: &crate::RequestOptions,
7508    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7509        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7510    }
7511}
7512
7513/// Defines the trait used to implement [super::client::RegionAutoscalers].
7514///
7515/// Application developers may need to implement this trait to mock
7516/// `client::RegionAutoscalers`.  In other use-cases, application developers only
7517/// use `client::RegionAutoscalers` and need not be concerned with this trait or
7518/// its implementations.
7519///
7520/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7521/// too. To avoid breaking applications the trait provides a default
7522/// implementation of each method. Most of these implementations just return an
7523/// error.
7524#[cfg(feature = "region-autoscalers")]
7525#[cfg_attr(docsrs, doc(cfg(feature = "region-autoscalers")))]
7526pub trait RegionAutoscalers: std::fmt::Debug + Send + Sync {
7527    /// Implements [super::client::RegionAutoscalers::delete].
7528    fn delete(
7529        &self,
7530        _req: crate::model::region_autoscalers::DeleteRequest,
7531        _options: crate::RequestOptions,
7532    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7533    {
7534        gaxi::unimplemented::unimplemented_stub()
7535    }
7536
7537    /// Implements [super::client::RegionAutoscalers::get].
7538    fn get(
7539        &self,
7540        _req: crate::model::region_autoscalers::GetRequest,
7541        _options: crate::RequestOptions,
7542    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Autoscaler>>> + Send
7543    {
7544        gaxi::unimplemented::unimplemented_stub()
7545    }
7546
7547    /// Implements [super::client::RegionAutoscalers::insert].
7548    fn insert(
7549        &self,
7550        _req: crate::model::region_autoscalers::InsertRequest,
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::list].
7558    fn list(
7559        &self,
7560        _req: crate::model::region_autoscalers::ListRequest,
7561        _options: crate::RequestOptions,
7562    ) -> impl std::future::Future<
7563        Output = crate::Result<crate::Response<crate::model::RegionAutoscalerList>>,
7564    > + Send {
7565        gaxi::unimplemented::unimplemented_stub()
7566    }
7567
7568    /// Implements [super::client::RegionAutoscalers::patch].
7569    fn patch(
7570        &self,
7571        _req: crate::model::region_autoscalers::PatchRequest,
7572        _options: crate::RequestOptions,
7573    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7574    {
7575        gaxi::unimplemented::unimplemented_stub()
7576    }
7577
7578    /// Implements [super::client::RegionAutoscalers::test_iam_permissions].
7579    fn test_iam_permissions(
7580        &self,
7581        _req: crate::model::region_autoscalers::TestIamPermissionsRequest,
7582        _options: crate::RequestOptions,
7583    ) -> impl std::future::Future<
7584        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7585    > + Send {
7586        gaxi::unimplemented::unimplemented_stub()
7587    }
7588
7589    /// Implements [super::client::RegionAutoscalers::update].
7590    fn update(
7591        &self,
7592        _req: crate::model::region_autoscalers::UpdateRequest,
7593        _options: crate::RequestOptions,
7594    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7595    {
7596        gaxi::unimplemented::unimplemented_stub()
7597    }
7598
7599    /// Implements [super::client::RegionAutoscalers::get_operation].
7600    fn get_operation(
7601        &self,
7602        _req: crate::model::region_operations::GetRequest,
7603        _options: crate::RequestOptions,
7604    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7605    {
7606        gaxi::unimplemented::unimplemented_stub()
7607    }
7608
7609    /// Returns the polling error policy.
7610    ///
7611    /// When mocking, this method is typically irrelevant. Do not try to verify
7612    /// it is called by your mocks.
7613    fn get_polling_error_policy(
7614        &self,
7615        _options: &crate::RequestOptions,
7616    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7617        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7618    }
7619
7620    /// Returns the polling backoff policy.
7621    ///
7622    /// When mocking, this method is typically irrelevant. Do not try to verify
7623    /// it is called by your mocks.
7624    fn get_polling_backoff_policy(
7625        &self,
7626        _options: &crate::RequestOptions,
7627    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7628        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7629    }
7630}
7631
7632/// Defines the trait used to implement [super::client::RegionBackendServices].
7633///
7634/// Application developers may need to implement this trait to mock
7635/// `client::RegionBackendServices`.  In other use-cases, application developers only
7636/// use `client::RegionBackendServices` and need not be concerned with this trait or
7637/// its implementations.
7638///
7639/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7640/// too. To avoid breaking applications the trait provides a default
7641/// implementation of each method. Most of these implementations just return an
7642/// error.
7643#[cfg(feature = "region-backend-services")]
7644#[cfg_attr(docsrs, doc(cfg(feature = "region-backend-services")))]
7645pub trait RegionBackendServices: std::fmt::Debug + Send + Sync {
7646    /// Implements [super::client::RegionBackendServices::delete].
7647    fn delete(
7648        &self,
7649        _req: crate::model::region_backend_services::DeleteRequest,
7650        _options: crate::RequestOptions,
7651    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7652    {
7653        gaxi::unimplemented::unimplemented_stub()
7654    }
7655
7656    /// Implements [super::client::RegionBackendServices::get].
7657    fn get(
7658        &self,
7659        _req: crate::model::region_backend_services::GetRequest,
7660        _options: crate::RequestOptions,
7661    ) -> impl std::future::Future<
7662        Output = crate::Result<crate::Response<crate::model::BackendService>>,
7663    > + Send {
7664        gaxi::unimplemented::unimplemented_stub()
7665    }
7666
7667    /// Implements [super::client::RegionBackendServices::get_health].
7668    fn get_health(
7669        &self,
7670        _req: crate::model::region_backend_services::GetHealthRequest,
7671        _options: crate::RequestOptions,
7672    ) -> impl std::future::Future<
7673        Output = crate::Result<crate::Response<crate::model::BackendServiceGroupHealth>>,
7674    > + Send {
7675        gaxi::unimplemented::unimplemented_stub()
7676    }
7677
7678    /// Implements [super::client::RegionBackendServices::get_iam_policy].
7679    fn get_iam_policy(
7680        &self,
7681        _req: crate::model::region_backend_services::GetIamPolicyRequest,
7682        _options: crate::RequestOptions,
7683    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7684    {
7685        gaxi::unimplemented::unimplemented_stub()
7686    }
7687
7688    /// Implements [super::client::RegionBackendServices::insert].
7689    fn insert(
7690        &self,
7691        _req: crate::model::region_backend_services::InsertRequest,
7692        _options: crate::RequestOptions,
7693    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7694    {
7695        gaxi::unimplemented::unimplemented_stub()
7696    }
7697
7698    /// Implements [super::client::RegionBackendServices::list].
7699    fn list(
7700        &self,
7701        _req: crate::model::region_backend_services::ListRequest,
7702        _options: crate::RequestOptions,
7703    ) -> impl std::future::Future<
7704        Output = crate::Result<crate::Response<crate::model::BackendServiceList>>,
7705    > + Send {
7706        gaxi::unimplemented::unimplemented_stub()
7707    }
7708
7709    /// Implements [super::client::RegionBackendServices::list_usable].
7710    fn list_usable(
7711        &self,
7712        _req: crate::model::region_backend_services::ListUsableRequest,
7713        _options: crate::RequestOptions,
7714    ) -> impl std::future::Future<
7715        Output = crate::Result<crate::Response<crate::model::BackendServiceListUsable>>,
7716    > + Send {
7717        gaxi::unimplemented::unimplemented_stub()
7718    }
7719
7720    /// Implements [super::client::RegionBackendServices::patch].
7721    fn patch(
7722        &self,
7723        _req: crate::model::region_backend_services::PatchRequest,
7724        _options: crate::RequestOptions,
7725    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7726    {
7727        gaxi::unimplemented::unimplemented_stub()
7728    }
7729
7730    /// Implements [super::client::RegionBackendServices::set_iam_policy].
7731    fn set_iam_policy(
7732        &self,
7733        _req: crate::model::region_backend_services::SetIamPolicyRequest,
7734        _options: crate::RequestOptions,
7735    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7736    {
7737        gaxi::unimplemented::unimplemented_stub()
7738    }
7739
7740    /// Implements [super::client::RegionBackendServices::set_security_policy].
7741    fn set_security_policy(
7742        &self,
7743        _req: crate::model::region_backend_services::SetSecurityPolicyRequest,
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::test_iam_permissions].
7751    fn test_iam_permissions(
7752        &self,
7753        _req: crate::model::region_backend_services::TestIamPermissionsRequest,
7754        _options: crate::RequestOptions,
7755    ) -> impl std::future::Future<
7756        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7757    > + Send {
7758        gaxi::unimplemented::unimplemented_stub()
7759    }
7760
7761    /// Implements [super::client::RegionBackendServices::update].
7762    fn update(
7763        &self,
7764        _req: crate::model::region_backend_services::UpdateRequest,
7765        _options: crate::RequestOptions,
7766    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7767    {
7768        gaxi::unimplemented::unimplemented_stub()
7769    }
7770
7771    /// Implements [super::client::RegionBackendServices::get_operation].
7772    fn get_operation(
7773        &self,
7774        _req: crate::model::region_operations::GetRequest,
7775        _options: crate::RequestOptions,
7776    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7777    {
7778        gaxi::unimplemented::unimplemented_stub()
7779    }
7780
7781    /// Returns the polling error policy.
7782    ///
7783    /// When mocking, this method is typically irrelevant. Do not try to verify
7784    /// it is called by your mocks.
7785    fn get_polling_error_policy(
7786        &self,
7787        _options: &crate::RequestOptions,
7788    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7789        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7790    }
7791
7792    /// Returns the polling backoff policy.
7793    ///
7794    /// When mocking, this method is typically irrelevant. Do not try to verify
7795    /// it is called by your mocks.
7796    fn get_polling_backoff_policy(
7797        &self,
7798        _options: &crate::RequestOptions,
7799    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7800        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7801    }
7802}
7803
7804/// Defines the trait used to implement [super::client::RegionCommitments].
7805///
7806/// Application developers may need to implement this trait to mock
7807/// `client::RegionCommitments`.  In other use-cases, application developers only
7808/// use `client::RegionCommitments` and need not be concerned with this trait or
7809/// its implementations.
7810///
7811/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7812/// too. To avoid breaking applications the trait provides a default
7813/// implementation of each method. Most of these implementations just return an
7814/// error.
7815#[cfg(feature = "region-commitments")]
7816#[cfg_attr(docsrs, doc(cfg(feature = "region-commitments")))]
7817pub trait RegionCommitments: std::fmt::Debug + Send + Sync {
7818    /// Implements [super::client::RegionCommitments::aggregated_list].
7819    fn aggregated_list(
7820        &self,
7821        _req: crate::model::region_commitments::AggregatedListRequest,
7822        _options: crate::RequestOptions,
7823    ) -> impl std::future::Future<
7824        Output = crate::Result<crate::Response<crate::model::CommitmentAggregatedList>>,
7825    > + Send {
7826        gaxi::unimplemented::unimplemented_stub()
7827    }
7828
7829    /// Implements [super::client::RegionCommitments::get].
7830    fn get(
7831        &self,
7832        _req: crate::model::region_commitments::GetRequest,
7833        _options: crate::RequestOptions,
7834    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Commitment>>> + Send
7835    {
7836        gaxi::unimplemented::unimplemented_stub()
7837    }
7838
7839    /// Implements [super::client::RegionCommitments::insert].
7840    fn insert(
7841        &self,
7842        _req: crate::model::region_commitments::InsertRequest,
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::list].
7850    fn list(
7851        &self,
7852        _req: crate::model::region_commitments::ListRequest,
7853        _options: crate::RequestOptions,
7854    ) -> impl std::future::Future<
7855        Output = crate::Result<crate::Response<crate::model::CommitmentList>>,
7856    > + Send {
7857        gaxi::unimplemented::unimplemented_stub()
7858    }
7859
7860    /// Implements [super::client::RegionCommitments::update].
7861    fn update(
7862        &self,
7863        _req: crate::model::region_commitments::UpdateRequest,
7864        _options: crate::RequestOptions,
7865    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7866    {
7867        gaxi::unimplemented::unimplemented_stub()
7868    }
7869
7870    /// Implements [super::client::RegionCommitments::get_operation].
7871    fn get_operation(
7872        &self,
7873        _req: crate::model::region_operations::GetRequest,
7874        _options: crate::RequestOptions,
7875    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7876    {
7877        gaxi::unimplemented::unimplemented_stub()
7878    }
7879
7880    /// Returns the polling error policy.
7881    ///
7882    /// When mocking, this method is typically irrelevant. Do not try to verify
7883    /// it is called by your mocks.
7884    fn get_polling_error_policy(
7885        &self,
7886        _options: &crate::RequestOptions,
7887    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7888        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7889    }
7890
7891    /// Returns the polling backoff policy.
7892    ///
7893    /// When mocking, this method is typically irrelevant. Do not try to verify
7894    /// it is called by your mocks.
7895    fn get_polling_backoff_policy(
7896        &self,
7897        _options: &crate::RequestOptions,
7898    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7899        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7900    }
7901}
7902
7903/// Defines the trait used to implement [super::client::RegionCompositeHealthChecks].
7904///
7905/// Application developers may need to implement this trait to mock
7906/// `client::RegionCompositeHealthChecks`.  In other use-cases, application developers only
7907/// use `client::RegionCompositeHealthChecks` and need not be concerned with this trait or
7908/// its implementations.
7909///
7910/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7911/// too. To avoid breaking applications the trait provides a default
7912/// implementation of each method. Most of these implementations just return an
7913/// error.
7914#[cfg(feature = "region-composite-health-checks")]
7915#[cfg_attr(docsrs, doc(cfg(feature = "region-composite-health-checks")))]
7916pub trait RegionCompositeHealthChecks: std::fmt::Debug + Send + Sync {
7917    /// Implements [super::client::RegionCompositeHealthChecks::aggregated_list].
7918    fn aggregated_list(
7919        &self,
7920        _req: crate::model::region_composite_health_checks::AggregatedListRequest,
7921        _options: crate::RequestOptions,
7922    ) -> impl std::future::Future<
7923        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckAggregatedList>>,
7924    > + Send {
7925        gaxi::unimplemented::unimplemented_stub()
7926    }
7927
7928    /// Implements [super::client::RegionCompositeHealthChecks::delete].
7929    fn delete(
7930        &self,
7931        _req: crate::model::region_composite_health_checks::DeleteRequest,
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::get].
7939    fn get(
7940        &self,
7941        _req: crate::model::region_composite_health_checks::GetRequest,
7942        _options: crate::RequestOptions,
7943    ) -> impl std::future::Future<
7944        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheck>>,
7945    > + Send {
7946        gaxi::unimplemented::unimplemented_stub()
7947    }
7948
7949    /// Implements [super::client::RegionCompositeHealthChecks::insert].
7950    fn insert(
7951        &self,
7952        _req: crate::model::region_composite_health_checks::InsertRequest,
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::list].
7960    fn list(
7961        &self,
7962        _req: crate::model::region_composite_health_checks::ListRequest,
7963        _options: crate::RequestOptions,
7964    ) -> impl std::future::Future<
7965        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckList>>,
7966    > + Send {
7967        gaxi::unimplemented::unimplemented_stub()
7968    }
7969
7970    /// Implements [super::client::RegionCompositeHealthChecks::patch].
7971    fn patch(
7972        &self,
7973        _req: crate::model::region_composite_health_checks::PatchRequest,
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    /// Implements [super::client::RegionCompositeHealthChecks::test_iam_permissions].
7981    fn test_iam_permissions(
7982        &self,
7983        _req: crate::model::region_composite_health_checks::TestIamPermissionsRequest,
7984        _options: crate::RequestOptions,
7985    ) -> impl std::future::Future<
7986        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7987    > + Send {
7988        gaxi::unimplemented::unimplemented_stub()
7989    }
7990
7991    /// Implements [super::client::RegionCompositeHealthChecks::get_operation].
7992    fn get_operation(
7993        &self,
7994        _req: crate::model::region_operations::GetRequest,
7995        _options: crate::RequestOptions,
7996    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7997    {
7998        gaxi::unimplemented::unimplemented_stub()
7999    }
8000
8001    /// Returns the polling error policy.
8002    ///
8003    /// When mocking, this method is typically irrelevant. Do not try to verify
8004    /// it is called by your mocks.
8005    fn get_polling_error_policy(
8006        &self,
8007        _options: &crate::RequestOptions,
8008    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8009        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8010    }
8011
8012    /// Returns the polling backoff policy.
8013    ///
8014    /// When mocking, this method is typically irrelevant. Do not try to verify
8015    /// it is called by your mocks.
8016    fn get_polling_backoff_policy(
8017        &self,
8018        _options: &crate::RequestOptions,
8019    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8020        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8021    }
8022}
8023
8024/// Defines the trait used to implement [super::client::RegionDiskTypes].
8025///
8026/// Application developers may need to implement this trait to mock
8027/// `client::RegionDiskTypes`.  In other use-cases, application developers only
8028/// use `client::RegionDiskTypes` and need not be concerned with this trait or
8029/// its implementations.
8030///
8031/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8032/// too. To avoid breaking applications the trait provides a default
8033/// implementation of each method. Most of these implementations just return an
8034/// error.
8035#[cfg(feature = "region-disk-types")]
8036#[cfg_attr(docsrs, doc(cfg(feature = "region-disk-types")))]
8037pub trait RegionDiskTypes: std::fmt::Debug + Send + Sync {
8038    /// Implements [super::client::RegionDiskTypes::get].
8039    fn get(
8040        &self,
8041        _req: crate::model::region_disk_types::GetRequest,
8042        _options: crate::RequestOptions,
8043    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskType>>> + Send
8044    {
8045        gaxi::unimplemented::unimplemented_stub()
8046    }
8047
8048    /// Implements [super::client::RegionDiskTypes::list].
8049    fn list(
8050        &self,
8051        _req: crate::model::region_disk_types::ListRequest,
8052        _options: crate::RequestOptions,
8053    ) -> impl std::future::Future<
8054        Output = crate::Result<crate::Response<crate::model::RegionDiskTypeList>>,
8055    > + Send {
8056        gaxi::unimplemented::unimplemented_stub()
8057    }
8058}
8059
8060/// Defines the trait used to implement [super::client::RegionDisks].
8061///
8062/// Application developers may need to implement this trait to mock
8063/// `client::RegionDisks`.  In other use-cases, application developers only
8064/// use `client::RegionDisks` and need not be concerned with this trait or
8065/// its implementations.
8066///
8067/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8068/// too. To avoid breaking applications the trait provides a default
8069/// implementation of each method. Most of these implementations just return an
8070/// error.
8071#[cfg(feature = "region-disks")]
8072#[cfg_attr(docsrs, doc(cfg(feature = "region-disks")))]
8073pub trait RegionDisks: std::fmt::Debug + Send + Sync {
8074    /// Implements [super::client::RegionDisks::add_resource_policies].
8075    fn add_resource_policies(
8076        &self,
8077        _req: crate::model::region_disks::AddResourcePoliciesRequest,
8078        _options: crate::RequestOptions,
8079    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8080    {
8081        gaxi::unimplemented::unimplemented_stub()
8082    }
8083
8084    /// Implements [super::client::RegionDisks::bulk_insert].
8085    fn bulk_insert(
8086        &self,
8087        _req: crate::model::region_disks::BulkInsertRequest,
8088        _options: crate::RequestOptions,
8089    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8090    {
8091        gaxi::unimplemented::unimplemented_stub()
8092    }
8093
8094    /// Implements [super::client::RegionDisks::create_snapshot].
8095    fn create_snapshot(
8096        &self,
8097        _req: crate::model::region_disks::CreateSnapshotRequest,
8098        _options: crate::RequestOptions,
8099    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8100    {
8101        gaxi::unimplemented::unimplemented_stub()
8102    }
8103
8104    /// Implements [super::client::RegionDisks::delete].
8105    fn delete(
8106        &self,
8107        _req: crate::model::region_disks::DeleteRequest,
8108        _options: crate::RequestOptions,
8109    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8110    {
8111        gaxi::unimplemented::unimplemented_stub()
8112    }
8113
8114    /// Implements [super::client::RegionDisks::get].
8115    fn get(
8116        &self,
8117        _req: crate::model::region_disks::GetRequest,
8118        _options: crate::RequestOptions,
8119    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Disk>>> + Send
8120    {
8121        gaxi::unimplemented::unimplemented_stub()
8122    }
8123
8124    /// Implements [super::client::RegionDisks::get_iam_policy].
8125    fn get_iam_policy(
8126        &self,
8127        _req: crate::model::region_disks::GetIamPolicyRequest,
8128        _options: crate::RequestOptions,
8129    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8130    {
8131        gaxi::unimplemented::unimplemented_stub()
8132    }
8133
8134    /// Implements [super::client::RegionDisks::insert].
8135    fn insert(
8136        &self,
8137        _req: crate::model::region_disks::InsertRequest,
8138        _options: crate::RequestOptions,
8139    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8140    {
8141        gaxi::unimplemented::unimplemented_stub()
8142    }
8143
8144    /// Implements [super::client::RegionDisks::list].
8145    fn list(
8146        &self,
8147        _req: crate::model::region_disks::ListRequest,
8148        _options: crate::RequestOptions,
8149    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskList>>> + Send
8150    {
8151        gaxi::unimplemented::unimplemented_stub()
8152    }
8153
8154    /// Implements [super::client::RegionDisks::remove_resource_policies].
8155    fn remove_resource_policies(
8156        &self,
8157        _req: crate::model::region_disks::RemoveResourcePoliciesRequest,
8158        _options: crate::RequestOptions,
8159    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8160    {
8161        gaxi::unimplemented::unimplemented_stub()
8162    }
8163
8164    /// Implements [super::client::RegionDisks::resize].
8165    fn resize(
8166        &self,
8167        _req: crate::model::region_disks::ResizeRequest,
8168        _options: crate::RequestOptions,
8169    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8170    {
8171        gaxi::unimplemented::unimplemented_stub()
8172    }
8173
8174    /// Implements [super::client::RegionDisks::set_iam_policy].
8175    fn set_iam_policy(
8176        &self,
8177        _req: crate::model::region_disks::SetIamPolicyRequest,
8178        _options: crate::RequestOptions,
8179    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8180    {
8181        gaxi::unimplemented::unimplemented_stub()
8182    }
8183
8184    /// Implements [super::client::RegionDisks::set_labels].
8185    fn set_labels(
8186        &self,
8187        _req: crate::model::region_disks::SetLabelsRequest,
8188        _options: crate::RequestOptions,
8189    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8190    {
8191        gaxi::unimplemented::unimplemented_stub()
8192    }
8193
8194    /// Implements [super::client::RegionDisks::start_async_replication].
8195    fn start_async_replication(
8196        &self,
8197        _req: crate::model::region_disks::StartAsyncReplicationRequest,
8198        _options: crate::RequestOptions,
8199    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8200    {
8201        gaxi::unimplemented::unimplemented_stub()
8202    }
8203
8204    /// Implements [super::client::RegionDisks::stop_async_replication].
8205    fn stop_async_replication(
8206        &self,
8207        _req: crate::model::region_disks::StopAsyncReplicationRequest,
8208        _options: crate::RequestOptions,
8209    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8210    {
8211        gaxi::unimplemented::unimplemented_stub()
8212    }
8213
8214    /// Implements [super::client::RegionDisks::stop_group_async_replication].
8215    fn stop_group_async_replication(
8216        &self,
8217        _req: crate::model::region_disks::StopGroupAsyncReplicationRequest,
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::test_iam_permissions].
8225    fn test_iam_permissions(
8226        &self,
8227        _req: crate::model::region_disks::TestIamPermissionsRequest,
8228        _options: crate::RequestOptions,
8229    ) -> impl std::future::Future<
8230        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8231    > + Send {
8232        gaxi::unimplemented::unimplemented_stub()
8233    }
8234
8235    /// Implements [super::client::RegionDisks::update].
8236    fn update(
8237        &self,
8238        _req: crate::model::region_disks::UpdateRequest,
8239        _options: crate::RequestOptions,
8240    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8241    {
8242        gaxi::unimplemented::unimplemented_stub()
8243    }
8244
8245    /// Implements [super::client::RegionDisks::get_operation].
8246    fn get_operation(
8247        &self,
8248        _req: crate::model::region_operations::GetRequest,
8249        _options: crate::RequestOptions,
8250    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8251    {
8252        gaxi::unimplemented::unimplemented_stub()
8253    }
8254
8255    /// Returns the polling error policy.
8256    ///
8257    /// When mocking, this method is typically irrelevant. Do not try to verify
8258    /// it is called by your mocks.
8259    fn get_polling_error_policy(
8260        &self,
8261        _options: &crate::RequestOptions,
8262    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8263        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8264    }
8265
8266    /// Returns the polling backoff policy.
8267    ///
8268    /// When mocking, this method is typically irrelevant. Do not try to verify
8269    /// it is called by your mocks.
8270    fn get_polling_backoff_policy(
8271        &self,
8272        _options: &crate::RequestOptions,
8273    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8274        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8275    }
8276}
8277
8278/// Defines the trait used to implement [super::client::RegionHealthAggregationPolicies].
8279///
8280/// Application developers may need to implement this trait to mock
8281/// `client::RegionHealthAggregationPolicies`.  In other use-cases, application developers only
8282/// use `client::RegionHealthAggregationPolicies` and need not be concerned with this trait or
8283/// its implementations.
8284///
8285/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8286/// too. To avoid breaking applications the trait provides a default
8287/// implementation of each method. Most of these implementations just return an
8288/// error.
8289#[cfg(feature = "region-health-aggregation-policies")]
8290#[cfg_attr(docsrs, doc(cfg(feature = "region-health-aggregation-policies")))]
8291pub trait RegionHealthAggregationPolicies: std::fmt::Debug + Send + Sync {
8292    /// Implements [super::client::RegionHealthAggregationPolicies::aggregated_list].
8293    fn aggregated_list(
8294        &self,
8295        _req: crate::model::region_health_aggregation_policies::AggregatedListRequest,
8296        _options: crate::RequestOptions,
8297    ) -> impl std::future::Future<
8298        Output = crate::Result<
8299            crate::Response<crate::model::HealthAggregationPolicyAggregatedList>,
8300        >,
8301    > + Send {
8302        gaxi::unimplemented::unimplemented_stub()
8303    }
8304
8305    /// Implements [super::client::RegionHealthAggregationPolicies::delete].
8306    fn delete(
8307        &self,
8308        _req: crate::model::region_health_aggregation_policies::DeleteRequest,
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::get].
8316    fn get(
8317        &self,
8318        _req: crate::model::region_health_aggregation_policies::GetRequest,
8319        _options: crate::RequestOptions,
8320    ) -> impl std::future::Future<
8321        Output = crate::Result<crate::Response<crate::model::HealthAggregationPolicy>>,
8322    > + Send {
8323        gaxi::unimplemented::unimplemented_stub()
8324    }
8325
8326    /// Implements [super::client::RegionHealthAggregationPolicies::insert].
8327    fn insert(
8328        &self,
8329        _req: crate::model::region_health_aggregation_policies::InsertRequest,
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::list].
8337    fn list(
8338        &self,
8339        _req: crate::model::region_health_aggregation_policies::ListRequest,
8340        _options: crate::RequestOptions,
8341    ) -> impl std::future::Future<
8342        Output = crate::Result<crate::Response<crate::model::HealthAggregationPolicyList>>,
8343    > + Send {
8344        gaxi::unimplemented::unimplemented_stub()
8345    }
8346
8347    /// Implements [super::client::RegionHealthAggregationPolicies::patch].
8348    fn patch(
8349        &self,
8350        _req: crate::model::region_health_aggregation_policies::PatchRequest,
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    /// Implements [super::client::RegionHealthAggregationPolicies::test_iam_permissions].
8358    fn test_iam_permissions(
8359        &self,
8360        _req: crate::model::region_health_aggregation_policies::TestIamPermissionsRequest,
8361        _options: crate::RequestOptions,
8362    ) -> impl std::future::Future<
8363        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8364    > + Send {
8365        gaxi::unimplemented::unimplemented_stub()
8366    }
8367
8368    /// Implements [super::client::RegionHealthAggregationPolicies::get_operation].
8369    fn get_operation(
8370        &self,
8371        _req: crate::model::region_operations::GetRequest,
8372        _options: crate::RequestOptions,
8373    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8374    {
8375        gaxi::unimplemented::unimplemented_stub()
8376    }
8377
8378    /// Returns the polling error policy.
8379    ///
8380    /// When mocking, this method is typically irrelevant. Do not try to verify
8381    /// it is called by your mocks.
8382    fn get_polling_error_policy(
8383        &self,
8384        _options: &crate::RequestOptions,
8385    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8386        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8387    }
8388
8389    /// Returns the polling backoff policy.
8390    ///
8391    /// When mocking, this method is typically irrelevant. Do not try to verify
8392    /// it is called by your mocks.
8393    fn get_polling_backoff_policy(
8394        &self,
8395        _options: &crate::RequestOptions,
8396    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8397        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8398    }
8399}
8400
8401/// Defines the trait used to implement [super::client::RegionHealthCheckServices].
8402///
8403/// Application developers may need to implement this trait to mock
8404/// `client::RegionHealthCheckServices`.  In other use-cases, application developers only
8405/// use `client::RegionHealthCheckServices` and need not be concerned with this trait or
8406/// its implementations.
8407///
8408/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8409/// too. To avoid breaking applications the trait provides a default
8410/// implementation of each method. Most of these implementations just return an
8411/// error.
8412#[cfg(feature = "region-health-check-services")]
8413#[cfg_attr(docsrs, doc(cfg(feature = "region-health-check-services")))]
8414pub trait RegionHealthCheckServices: std::fmt::Debug + Send + Sync {
8415    /// Implements [super::client::RegionHealthCheckServices::aggregated_list].
8416    fn aggregated_list(
8417        &self,
8418        _req: crate::model::region_health_check_services::AggregatedListRequest,
8419        _options: crate::RequestOptions,
8420    ) -> impl std::future::Future<
8421        Output = crate::Result<crate::Response<crate::model::HealthCheckServiceAggregatedList>>,
8422    > + Send {
8423        gaxi::unimplemented::unimplemented_stub()
8424    }
8425
8426    /// Implements [super::client::RegionHealthCheckServices::delete].
8427    fn delete(
8428        &self,
8429        _req: crate::model::region_health_check_services::DeleteRequest,
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::get].
8437    fn get(
8438        &self,
8439        _req: crate::model::region_health_check_services::GetRequest,
8440        _options: crate::RequestOptions,
8441    ) -> impl std::future::Future<
8442        Output = crate::Result<crate::Response<crate::model::HealthCheckService>>,
8443    > + Send {
8444        gaxi::unimplemented::unimplemented_stub()
8445    }
8446
8447    /// Implements [super::client::RegionHealthCheckServices::insert].
8448    fn insert(
8449        &self,
8450        _req: crate::model::region_health_check_services::InsertRequest,
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::list].
8458    fn list(
8459        &self,
8460        _req: crate::model::region_health_check_services::ListRequest,
8461        _options: crate::RequestOptions,
8462    ) -> impl std::future::Future<
8463        Output = crate::Result<crate::Response<crate::model::HealthCheckServicesList>>,
8464    > + Send {
8465        gaxi::unimplemented::unimplemented_stub()
8466    }
8467
8468    /// Implements [super::client::RegionHealthCheckServices::patch].
8469    fn patch(
8470        &self,
8471        _req: crate::model::region_health_check_services::PatchRequest,
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    /// Implements [super::client::RegionHealthCheckServices::test_iam_permissions].
8479    fn test_iam_permissions(
8480        &self,
8481        _req: crate::model::region_health_check_services::TestIamPermissionsRequest,
8482        _options: crate::RequestOptions,
8483    ) -> impl std::future::Future<
8484        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8485    > + Send {
8486        gaxi::unimplemented::unimplemented_stub()
8487    }
8488
8489    /// Implements [super::client::RegionHealthCheckServices::get_operation].
8490    fn get_operation(
8491        &self,
8492        _req: crate::model::region_operations::GetRequest,
8493        _options: crate::RequestOptions,
8494    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8495    {
8496        gaxi::unimplemented::unimplemented_stub()
8497    }
8498
8499    /// Returns the polling error policy.
8500    ///
8501    /// When mocking, this method is typically irrelevant. Do not try to verify
8502    /// it is called by your mocks.
8503    fn get_polling_error_policy(
8504        &self,
8505        _options: &crate::RequestOptions,
8506    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8507        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8508    }
8509
8510    /// Returns the polling backoff policy.
8511    ///
8512    /// When mocking, this method is typically irrelevant. Do not try to verify
8513    /// it is called by your mocks.
8514    fn get_polling_backoff_policy(
8515        &self,
8516        _options: &crate::RequestOptions,
8517    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8518        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8519    }
8520}
8521
8522/// Defines the trait used to implement [super::client::RegionHealthChecks].
8523///
8524/// Application developers may need to implement this trait to mock
8525/// `client::RegionHealthChecks`.  In other use-cases, application developers only
8526/// use `client::RegionHealthChecks` and need not be concerned with this trait or
8527/// its implementations.
8528///
8529/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8530/// too. To avoid breaking applications the trait provides a default
8531/// implementation of each method. Most of these implementations just return an
8532/// error.
8533#[cfg(feature = "region-health-checks")]
8534#[cfg_attr(docsrs, doc(cfg(feature = "region-health-checks")))]
8535pub trait RegionHealthChecks: std::fmt::Debug + Send + Sync {
8536    /// Implements [super::client::RegionHealthChecks::delete].
8537    fn delete(
8538        &self,
8539        _req: crate::model::region_health_checks::DeleteRequest,
8540        _options: crate::RequestOptions,
8541    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8542    {
8543        gaxi::unimplemented::unimplemented_stub()
8544    }
8545
8546    /// Implements [super::client::RegionHealthChecks::get].
8547    fn get(
8548        &self,
8549        _req: crate::model::region_health_checks::GetRequest,
8550        _options: crate::RequestOptions,
8551    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::HealthCheck>>>
8552    + Send {
8553        gaxi::unimplemented::unimplemented_stub()
8554    }
8555
8556    /// Implements [super::client::RegionHealthChecks::insert].
8557    fn insert(
8558        &self,
8559        _req: crate::model::region_health_checks::InsertRequest,
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::list].
8567    fn list(
8568        &self,
8569        _req: crate::model::region_health_checks::ListRequest,
8570        _options: crate::RequestOptions,
8571    ) -> impl std::future::Future<
8572        Output = crate::Result<crate::Response<crate::model::HealthCheckList>>,
8573    > + Send {
8574        gaxi::unimplemented::unimplemented_stub()
8575    }
8576
8577    /// Implements [super::client::RegionHealthChecks::patch].
8578    fn patch(
8579        &self,
8580        _req: crate::model::region_health_checks::PatchRequest,
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::test_iam_permissions].
8588    fn test_iam_permissions(
8589        &self,
8590        _req: crate::model::region_health_checks::TestIamPermissionsRequest,
8591        _options: crate::RequestOptions,
8592    ) -> impl std::future::Future<
8593        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8594    > + Send {
8595        gaxi::unimplemented::unimplemented_stub()
8596    }
8597
8598    /// Implements [super::client::RegionHealthChecks::update].
8599    fn update(
8600        &self,
8601        _req: crate::model::region_health_checks::UpdateRequest,
8602        _options: crate::RequestOptions,
8603    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8604    {
8605        gaxi::unimplemented::unimplemented_stub()
8606    }
8607
8608    /// Implements [super::client::RegionHealthChecks::get_operation].
8609    fn get_operation(
8610        &self,
8611        _req: crate::model::region_operations::GetRequest,
8612        _options: crate::RequestOptions,
8613    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8614    {
8615        gaxi::unimplemented::unimplemented_stub()
8616    }
8617
8618    /// Returns the polling error policy.
8619    ///
8620    /// When mocking, this method is typically irrelevant. Do not try to verify
8621    /// it is called by your mocks.
8622    fn get_polling_error_policy(
8623        &self,
8624        _options: &crate::RequestOptions,
8625    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8626        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8627    }
8628
8629    /// Returns the polling backoff policy.
8630    ///
8631    /// When mocking, this method is typically irrelevant. Do not try to verify
8632    /// it is called by your mocks.
8633    fn get_polling_backoff_policy(
8634        &self,
8635        _options: &crate::RequestOptions,
8636    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8637        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8638    }
8639}
8640
8641/// Defines the trait used to implement [super::client::RegionHealthSources].
8642///
8643/// Application developers may need to implement this trait to mock
8644/// `client::RegionHealthSources`.  In other use-cases, application developers only
8645/// use `client::RegionHealthSources` and need not be concerned with this trait or
8646/// its implementations.
8647///
8648/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8649/// too. To avoid breaking applications the trait provides a default
8650/// implementation of each method. Most of these implementations just return an
8651/// error.
8652#[cfg(feature = "region-health-sources")]
8653#[cfg_attr(docsrs, doc(cfg(feature = "region-health-sources")))]
8654pub trait RegionHealthSources: std::fmt::Debug + Send + Sync {
8655    /// Implements [super::client::RegionHealthSources::aggregated_list].
8656    fn aggregated_list(
8657        &self,
8658        _req: crate::model::region_health_sources::AggregatedListRequest,
8659        _options: crate::RequestOptions,
8660    ) -> impl std::future::Future<
8661        Output = crate::Result<crate::Response<crate::model::HealthSourceAggregatedList>>,
8662    > + Send {
8663        gaxi::unimplemented::unimplemented_stub()
8664    }
8665
8666    /// Implements [super::client::RegionHealthSources::delete].
8667    fn delete(
8668        &self,
8669        _req: crate::model::region_health_sources::DeleteRequest,
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::get].
8677    fn get(
8678        &self,
8679        _req: crate::model::region_health_sources::GetRequest,
8680        _options: crate::RequestOptions,
8681    ) -> impl std::future::Future<
8682        Output = crate::Result<crate::Response<crate::model::HealthSource>>,
8683    > + Send {
8684        gaxi::unimplemented::unimplemented_stub()
8685    }
8686
8687    /// Implements [super::client::RegionHealthSources::insert].
8688    fn insert(
8689        &self,
8690        _req: crate::model::region_health_sources::InsertRequest,
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::list].
8698    fn list(
8699        &self,
8700        _req: crate::model::region_health_sources::ListRequest,
8701        _options: crate::RequestOptions,
8702    ) -> impl std::future::Future<
8703        Output = crate::Result<crate::Response<crate::model::HealthSourceList>>,
8704    > + Send {
8705        gaxi::unimplemented::unimplemented_stub()
8706    }
8707
8708    /// Implements [super::client::RegionHealthSources::patch].
8709    fn patch(
8710        &self,
8711        _req: crate::model::region_health_sources::PatchRequest,
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    /// Implements [super::client::RegionHealthSources::test_iam_permissions].
8719    fn test_iam_permissions(
8720        &self,
8721        _req: crate::model::region_health_sources::TestIamPermissionsRequest,
8722        _options: crate::RequestOptions,
8723    ) -> impl std::future::Future<
8724        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8725    > + Send {
8726        gaxi::unimplemented::unimplemented_stub()
8727    }
8728
8729    /// Implements [super::client::RegionHealthSources::get_operation].
8730    fn get_operation(
8731        &self,
8732        _req: crate::model::region_operations::GetRequest,
8733        _options: crate::RequestOptions,
8734    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8735    {
8736        gaxi::unimplemented::unimplemented_stub()
8737    }
8738
8739    /// Returns the polling error policy.
8740    ///
8741    /// When mocking, this method is typically irrelevant. Do not try to verify
8742    /// it is called by your mocks.
8743    fn get_polling_error_policy(
8744        &self,
8745        _options: &crate::RequestOptions,
8746    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8747        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8748    }
8749
8750    /// Returns the polling backoff policy.
8751    ///
8752    /// When mocking, this method is typically irrelevant. Do not try to verify
8753    /// it is called by your mocks.
8754    fn get_polling_backoff_policy(
8755        &self,
8756        _options: &crate::RequestOptions,
8757    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8758        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8759    }
8760}
8761
8762/// Defines the trait used to implement [super::client::RegionInstanceGroupManagerResizeRequests].
8763///
8764/// Application developers may need to implement this trait to mock
8765/// `client::RegionInstanceGroupManagerResizeRequests`.  In other use-cases, application developers only
8766/// use `client::RegionInstanceGroupManagerResizeRequests` and need not be concerned with this trait or
8767/// its implementations.
8768///
8769/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8770/// too. To avoid breaking applications the trait provides a default
8771/// implementation of each method. Most of these implementations just return an
8772/// error.
8773#[cfg(feature = "region-instance-group-manager-resize-requests")]
8774#[cfg_attr(
8775    docsrs,
8776    doc(cfg(feature = "region-instance-group-manager-resize-requests"))
8777)]
8778pub trait RegionInstanceGroupManagerResizeRequests: std::fmt::Debug + Send + Sync {
8779    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::cancel].
8780    fn cancel(
8781        &self,
8782        _req: crate::model::region_instance_group_manager_resize_requests::CancelRequest,
8783        _options: crate::RequestOptions,
8784    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8785    {
8786        gaxi::unimplemented::unimplemented_stub()
8787    }
8788
8789    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::delete].
8790    fn delete(
8791        &self,
8792        _req: crate::model::region_instance_group_manager_resize_requests::DeleteRequest,
8793        _options: crate::RequestOptions,
8794    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8795    {
8796        gaxi::unimplemented::unimplemented_stub()
8797    }
8798
8799    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::get].
8800    fn get(
8801        &self,
8802        _req: crate::model::region_instance_group_manager_resize_requests::GetRequest,
8803        _options: crate::RequestOptions,
8804    ) -> impl std::future::Future<
8805        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerResizeRequest>>,
8806    > + Send {
8807        gaxi::unimplemented::unimplemented_stub()
8808    }
8809
8810    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::insert].
8811    fn insert(
8812        &self,
8813        _req: crate::model::region_instance_group_manager_resize_requests::InsertRequest,
8814        _options: crate::RequestOptions,
8815    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8816    {
8817        gaxi::unimplemented::unimplemented_stub()
8818    }
8819
8820    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::list].
8821    fn list(
8822        &self,
8823        _req: crate::model::region_instance_group_manager_resize_requests::ListRequest,
8824        _options: crate::RequestOptions,
8825    ) -> impl std::future::Future<
8826        Output = crate::Result<
8827            crate::Response<crate::model::RegionInstanceGroupManagerResizeRequestsListResponse>,
8828        >,
8829    > + Send {
8830        gaxi::unimplemented::unimplemented_stub()
8831    }
8832
8833    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::get_operation].
8834    fn get_operation(
8835        &self,
8836        _req: crate::model::region_operations::GetRequest,
8837        _options: crate::RequestOptions,
8838    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8839    {
8840        gaxi::unimplemented::unimplemented_stub()
8841    }
8842
8843    /// Returns the polling error policy.
8844    ///
8845    /// When mocking, this method is typically irrelevant. Do not try to verify
8846    /// it is called by your mocks.
8847    fn get_polling_error_policy(
8848        &self,
8849        _options: &crate::RequestOptions,
8850    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8851        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8852    }
8853
8854    /// Returns the polling backoff policy.
8855    ///
8856    /// When mocking, this method is typically irrelevant. Do not try to verify
8857    /// it is called by your mocks.
8858    fn get_polling_backoff_policy(
8859        &self,
8860        _options: &crate::RequestOptions,
8861    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8862        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8863    }
8864}
8865
8866/// Defines the trait used to implement [super::client::RegionInstanceGroupManagers].
8867///
8868/// Application developers may need to implement this trait to mock
8869/// `client::RegionInstanceGroupManagers`.  In other use-cases, application developers only
8870/// use `client::RegionInstanceGroupManagers` and need not be concerned with this trait or
8871/// its implementations.
8872///
8873/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8874/// too. To avoid breaking applications the trait provides a default
8875/// implementation of each method. Most of these implementations just return an
8876/// error.
8877#[cfg(feature = "region-instance-group-managers")]
8878#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-group-managers")))]
8879pub trait RegionInstanceGroupManagers: std::fmt::Debug + Send + Sync {
8880    /// Implements [super::client::RegionInstanceGroupManagers::abandon_instances].
8881    fn abandon_instances(
8882        &self,
8883        _req: crate::model::region_instance_group_managers::AbandonInstancesRequest,
8884        _options: crate::RequestOptions,
8885    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8886    {
8887        gaxi::unimplemented::unimplemented_stub()
8888    }
8889
8890    /// Implements [super::client::RegionInstanceGroupManagers::apply_updates_to_instances].
8891    fn apply_updates_to_instances(
8892        &self,
8893        _req: crate::model::region_instance_group_managers::ApplyUpdatesToInstancesRequest,
8894        _options: crate::RequestOptions,
8895    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8896    {
8897        gaxi::unimplemented::unimplemented_stub()
8898    }
8899
8900    /// Implements [super::client::RegionInstanceGroupManagers::create_instances].
8901    fn create_instances(
8902        &self,
8903        _req: crate::model::region_instance_group_managers::CreateInstancesRequest,
8904        _options: crate::RequestOptions,
8905    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8906    {
8907        gaxi::unimplemented::unimplemented_stub()
8908    }
8909
8910    /// Implements [super::client::RegionInstanceGroupManagers::delete].
8911    fn delete(
8912        &self,
8913        _req: crate::model::region_instance_group_managers::DeleteRequest,
8914        _options: crate::RequestOptions,
8915    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8916    {
8917        gaxi::unimplemented::unimplemented_stub()
8918    }
8919
8920    /// Implements [super::client::RegionInstanceGroupManagers::delete_instances].
8921    fn delete_instances(
8922        &self,
8923        _req: crate::model::region_instance_group_managers::DeleteInstancesRequest,
8924        _options: crate::RequestOptions,
8925    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8926    {
8927        gaxi::unimplemented::unimplemented_stub()
8928    }
8929
8930    /// Implements [super::client::RegionInstanceGroupManagers::delete_per_instance_configs].
8931    fn delete_per_instance_configs(
8932        &self,
8933        _req: crate::model::region_instance_group_managers::DeletePerInstanceConfigsRequest,
8934        _options: crate::RequestOptions,
8935    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8936    {
8937        gaxi::unimplemented::unimplemented_stub()
8938    }
8939
8940    /// Implements [super::client::RegionInstanceGroupManagers::get].
8941    fn get(
8942        &self,
8943        _req: crate::model::region_instance_group_managers::GetRequest,
8944        _options: crate::RequestOptions,
8945    ) -> impl std::future::Future<
8946        Output = crate::Result<crate::Response<crate::model::InstanceGroupManager>>,
8947    > + Send {
8948        gaxi::unimplemented::unimplemented_stub()
8949    }
8950
8951    /// Implements [super::client::RegionInstanceGroupManagers::insert].
8952    fn insert(
8953        &self,
8954        _req: crate::model::region_instance_group_managers::InsertRequest,
8955        _options: crate::RequestOptions,
8956    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8957    {
8958        gaxi::unimplemented::unimplemented_stub()
8959    }
8960
8961    /// Implements [super::client::RegionInstanceGroupManagers::list].
8962    fn list(
8963        &self,
8964        _req: crate::model::region_instance_group_managers::ListRequest,
8965        _options: crate::RequestOptions,
8966    ) -> impl std::future::Future<
8967        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupManagerList>>,
8968    > + Send {
8969        gaxi::unimplemented::unimplemented_stub()
8970    }
8971
8972    /// Implements [super::client::RegionInstanceGroupManagers::list_errors].
8973    fn list_errors(
8974        &self,
8975        _req: crate::model::region_instance_group_managers::ListErrorsRequest,
8976        _options: crate::RequestOptions,
8977    ) -> impl std::future::Future<
8978        Output = crate::Result<
8979            crate::Response<crate::model::RegionInstanceGroupManagersListErrorsResponse>,
8980        >,
8981    > + Send {
8982        gaxi::unimplemented::unimplemented_stub()
8983    }
8984
8985    /// Implements [super::client::RegionInstanceGroupManagers::list_managed_instances].
8986    fn list_managed_instances(
8987        &self,
8988        _req: crate::model::region_instance_group_managers::ListManagedInstancesRequest,
8989        _options: crate::RequestOptions,
8990    ) -> impl std::future::Future<
8991        Output = crate::Result<
8992            crate::Response<crate::model::RegionInstanceGroupManagersListInstancesResponse>,
8993        >,
8994    > + Send {
8995        gaxi::unimplemented::unimplemented_stub()
8996    }
8997
8998    /// Implements [super::client::RegionInstanceGroupManagers::list_per_instance_configs].
8999    fn list_per_instance_configs(
9000        &self,
9001        _req: crate::model::region_instance_group_managers::ListPerInstanceConfigsRequest,
9002        _options: crate::RequestOptions,
9003    ) -> impl std::future::Future<
9004        Output = crate::Result<
9005            crate::Response<crate::model::RegionInstanceGroupManagersListInstanceConfigsResp>,
9006        >,
9007    > + Send {
9008        gaxi::unimplemented::unimplemented_stub()
9009    }
9010
9011    /// Implements [super::client::RegionInstanceGroupManagers::patch].
9012    fn patch(
9013        &self,
9014        _req: crate::model::region_instance_group_managers::PatchRequest,
9015        _options: crate::RequestOptions,
9016    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9017    {
9018        gaxi::unimplemented::unimplemented_stub()
9019    }
9020
9021    /// Implements [super::client::RegionInstanceGroupManagers::patch_per_instance_configs].
9022    fn patch_per_instance_configs(
9023        &self,
9024        _req: crate::model::region_instance_group_managers::PatchPerInstanceConfigsRequest,
9025        _options: crate::RequestOptions,
9026    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9027    {
9028        gaxi::unimplemented::unimplemented_stub()
9029    }
9030
9031    /// Implements [super::client::RegionInstanceGroupManagers::recreate_instances].
9032    fn recreate_instances(
9033        &self,
9034        _req: crate::model::region_instance_group_managers::RecreateInstancesRequest,
9035        _options: crate::RequestOptions,
9036    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9037    {
9038        gaxi::unimplemented::unimplemented_stub()
9039    }
9040
9041    /// Implements [super::client::RegionInstanceGroupManagers::resize].
9042    fn resize(
9043        &self,
9044        _req: crate::model::region_instance_group_managers::ResizeRequest,
9045        _options: crate::RequestOptions,
9046    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9047    {
9048        gaxi::unimplemented::unimplemented_stub()
9049    }
9050
9051    /// Implements [super::client::RegionInstanceGroupManagers::resume_instances].
9052    fn resume_instances(
9053        &self,
9054        _req: crate::model::region_instance_group_managers::ResumeInstancesRequest,
9055        _options: crate::RequestOptions,
9056    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9057    {
9058        gaxi::unimplemented::unimplemented_stub()
9059    }
9060
9061    /// Implements [super::client::RegionInstanceGroupManagers::set_instance_template].
9062    fn set_instance_template(
9063        &self,
9064        _req: crate::model::region_instance_group_managers::SetInstanceTemplateRequest,
9065        _options: crate::RequestOptions,
9066    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9067    {
9068        gaxi::unimplemented::unimplemented_stub()
9069    }
9070
9071    /// Implements [super::client::RegionInstanceGroupManagers::set_target_pools].
9072    fn set_target_pools(
9073        &self,
9074        _req: crate::model::region_instance_group_managers::SetTargetPoolsRequest,
9075        _options: crate::RequestOptions,
9076    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9077    {
9078        gaxi::unimplemented::unimplemented_stub()
9079    }
9080
9081    /// Implements [super::client::RegionInstanceGroupManagers::start_instances].
9082    fn start_instances(
9083        &self,
9084        _req: crate::model::region_instance_group_managers::StartInstancesRequest,
9085        _options: crate::RequestOptions,
9086    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9087    {
9088        gaxi::unimplemented::unimplemented_stub()
9089    }
9090
9091    /// Implements [super::client::RegionInstanceGroupManagers::stop_instances].
9092    fn stop_instances(
9093        &self,
9094        _req: crate::model::region_instance_group_managers::StopInstancesRequest,
9095        _options: crate::RequestOptions,
9096    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9097    {
9098        gaxi::unimplemented::unimplemented_stub()
9099    }
9100
9101    /// Implements [super::client::RegionInstanceGroupManagers::suspend_instances].
9102    fn suspend_instances(
9103        &self,
9104        _req: crate::model::region_instance_group_managers::SuspendInstancesRequest,
9105        _options: crate::RequestOptions,
9106    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9107    {
9108        gaxi::unimplemented::unimplemented_stub()
9109    }
9110
9111    /// Implements [super::client::RegionInstanceGroupManagers::update_per_instance_configs].
9112    fn update_per_instance_configs(
9113        &self,
9114        _req: crate::model::region_instance_group_managers::UpdatePerInstanceConfigsRequest,
9115        _options: crate::RequestOptions,
9116    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9117    {
9118        gaxi::unimplemented::unimplemented_stub()
9119    }
9120
9121    /// Implements [super::client::RegionInstanceGroupManagers::get_operation].
9122    fn get_operation(
9123        &self,
9124        _req: crate::model::region_operations::GetRequest,
9125        _options: crate::RequestOptions,
9126    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9127    {
9128        gaxi::unimplemented::unimplemented_stub()
9129    }
9130
9131    /// Returns the polling error policy.
9132    ///
9133    /// When mocking, this method is typically irrelevant. Do not try to verify
9134    /// it is called by your mocks.
9135    fn get_polling_error_policy(
9136        &self,
9137        _options: &crate::RequestOptions,
9138    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9139        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9140    }
9141
9142    /// Returns the polling backoff policy.
9143    ///
9144    /// When mocking, this method is typically irrelevant. Do not try to verify
9145    /// it is called by your mocks.
9146    fn get_polling_backoff_policy(
9147        &self,
9148        _options: &crate::RequestOptions,
9149    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9150        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9151    }
9152}
9153
9154/// Defines the trait used to implement [super::client::RegionInstanceGroups].
9155///
9156/// Application developers may need to implement this trait to mock
9157/// `client::RegionInstanceGroups`.  In other use-cases, application developers only
9158/// use `client::RegionInstanceGroups` and need not be concerned with this trait or
9159/// its implementations.
9160///
9161/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9162/// too. To avoid breaking applications the trait provides a default
9163/// implementation of each method. Most of these implementations just return an
9164/// error.
9165#[cfg(feature = "region-instance-groups")]
9166#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-groups")))]
9167pub trait RegionInstanceGroups: std::fmt::Debug + Send + Sync {
9168    /// Implements [super::client::RegionInstanceGroups::get].
9169    fn get(
9170        &self,
9171        _req: crate::model::region_instance_groups::GetRequest,
9172        _options: crate::RequestOptions,
9173    ) -> impl std::future::Future<
9174        Output = crate::Result<crate::Response<crate::model::InstanceGroup>>,
9175    > + Send {
9176        gaxi::unimplemented::unimplemented_stub()
9177    }
9178
9179    /// Implements [super::client::RegionInstanceGroups::list].
9180    fn list(
9181        &self,
9182        _req: crate::model::region_instance_groups::ListRequest,
9183        _options: crate::RequestOptions,
9184    ) -> impl std::future::Future<
9185        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupList>>,
9186    > + Send {
9187        gaxi::unimplemented::unimplemented_stub()
9188    }
9189
9190    /// Implements [super::client::RegionInstanceGroups::list_instances].
9191    fn list_instances(
9192        &self,
9193        _req: crate::model::region_instance_groups::ListInstancesRequest,
9194        _options: crate::RequestOptions,
9195    ) -> impl std::future::Future<
9196        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupsListInstances>>,
9197    > + Send {
9198        gaxi::unimplemented::unimplemented_stub()
9199    }
9200
9201    /// Implements [super::client::RegionInstanceGroups::set_named_ports].
9202    fn set_named_ports(
9203        &self,
9204        _req: crate::model::region_instance_groups::SetNamedPortsRequest,
9205        _options: crate::RequestOptions,
9206    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9207    {
9208        gaxi::unimplemented::unimplemented_stub()
9209    }
9210
9211    /// Implements [super::client::RegionInstanceGroups::test_iam_permissions].
9212    fn test_iam_permissions(
9213        &self,
9214        _req: crate::model::region_instance_groups::TestIamPermissionsRequest,
9215        _options: crate::RequestOptions,
9216    ) -> impl std::future::Future<
9217        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9218    > + Send {
9219        gaxi::unimplemented::unimplemented_stub()
9220    }
9221
9222    /// Implements [super::client::RegionInstanceGroups::get_operation].
9223    fn get_operation(
9224        &self,
9225        _req: crate::model::region_operations::GetRequest,
9226        _options: crate::RequestOptions,
9227    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9228    {
9229        gaxi::unimplemented::unimplemented_stub()
9230    }
9231
9232    /// Returns the polling error policy.
9233    ///
9234    /// When mocking, this method is typically irrelevant. Do not try to verify
9235    /// it is called by your mocks.
9236    fn get_polling_error_policy(
9237        &self,
9238        _options: &crate::RequestOptions,
9239    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9240        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9241    }
9242
9243    /// Returns the polling backoff policy.
9244    ///
9245    /// When mocking, this method is typically irrelevant. Do not try to verify
9246    /// it is called by your mocks.
9247    fn get_polling_backoff_policy(
9248        &self,
9249        _options: &crate::RequestOptions,
9250    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9251        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9252    }
9253}
9254
9255/// Defines the trait used to implement [super::client::RegionInstanceTemplates].
9256///
9257/// Application developers may need to implement this trait to mock
9258/// `client::RegionInstanceTemplates`.  In other use-cases, application developers only
9259/// use `client::RegionInstanceTemplates` and need not be concerned with this trait or
9260/// its implementations.
9261///
9262/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9263/// too. To avoid breaking applications the trait provides a default
9264/// implementation of each method. Most of these implementations just return an
9265/// error.
9266#[cfg(feature = "region-instance-templates")]
9267#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-templates")))]
9268pub trait RegionInstanceTemplates: std::fmt::Debug + Send + Sync {
9269    /// Implements [super::client::RegionInstanceTemplates::delete].
9270    fn delete(
9271        &self,
9272        _req: crate::model::region_instance_templates::DeleteRequest,
9273        _options: crate::RequestOptions,
9274    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9275    {
9276        gaxi::unimplemented::unimplemented_stub()
9277    }
9278
9279    /// Implements [super::client::RegionInstanceTemplates::get].
9280    fn get(
9281        &self,
9282        _req: crate::model::region_instance_templates::GetRequest,
9283        _options: crate::RequestOptions,
9284    ) -> impl std::future::Future<
9285        Output = crate::Result<crate::Response<crate::model::InstanceTemplate>>,
9286    > + Send {
9287        gaxi::unimplemented::unimplemented_stub()
9288    }
9289
9290    /// Implements [super::client::RegionInstanceTemplates::insert].
9291    fn insert(
9292        &self,
9293        _req: crate::model::region_instance_templates::InsertRequest,
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::RegionInstanceTemplates::list].
9301    fn list(
9302        &self,
9303        _req: crate::model::region_instance_templates::ListRequest,
9304        _options: crate::RequestOptions,
9305    ) -> impl std::future::Future<
9306        Output = crate::Result<crate::Response<crate::model::InstanceTemplateList>>,
9307    > + Send {
9308        gaxi::unimplemented::unimplemented_stub()
9309    }
9310
9311    /// Implements [super::client::RegionInstanceTemplates::get_operation].
9312    fn get_operation(
9313        &self,
9314        _req: crate::model::region_operations::GetRequest,
9315        _options: crate::RequestOptions,
9316    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9317    {
9318        gaxi::unimplemented::unimplemented_stub()
9319    }
9320
9321    /// Returns the polling error policy.
9322    ///
9323    /// When mocking, this method is typically irrelevant. Do not try to verify
9324    /// it is called by your mocks.
9325    fn get_polling_error_policy(
9326        &self,
9327        _options: &crate::RequestOptions,
9328    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9329        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9330    }
9331
9332    /// Returns the polling backoff policy.
9333    ///
9334    /// When mocking, this method is typically irrelevant. Do not try to verify
9335    /// it is called by your mocks.
9336    fn get_polling_backoff_policy(
9337        &self,
9338        _options: &crate::RequestOptions,
9339    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9340        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9341    }
9342}
9343
9344/// Defines the trait used to implement [super::client::RegionInstances].
9345///
9346/// Application developers may need to implement this trait to mock
9347/// `client::RegionInstances`.  In other use-cases, application developers only
9348/// use `client::RegionInstances` and need not be concerned with this trait or
9349/// its implementations.
9350///
9351/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9352/// too. To avoid breaking applications the trait provides a default
9353/// implementation of each method. Most of these implementations just return an
9354/// error.
9355#[cfg(feature = "region-instances")]
9356#[cfg_attr(docsrs, doc(cfg(feature = "region-instances")))]
9357pub trait RegionInstances: std::fmt::Debug + Send + Sync {
9358    /// Implements [super::client::RegionInstances::bulk_insert].
9359    fn bulk_insert(
9360        &self,
9361        _req: crate::model::region_instances::BulkInsertRequest,
9362        _options: crate::RequestOptions,
9363    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9364    {
9365        gaxi::unimplemented::unimplemented_stub()
9366    }
9367
9368    /// Implements [super::client::RegionInstances::get_operation].
9369    fn get_operation(
9370        &self,
9371        _req: crate::model::region_operations::GetRequest,
9372        _options: crate::RequestOptions,
9373    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9374    {
9375        gaxi::unimplemented::unimplemented_stub()
9376    }
9377
9378    /// Returns the polling error policy.
9379    ///
9380    /// When mocking, this method is typically irrelevant. Do not try to verify
9381    /// it is called by your mocks.
9382    fn get_polling_error_policy(
9383        &self,
9384        _options: &crate::RequestOptions,
9385    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9386        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9387    }
9388
9389    /// Returns the polling backoff policy.
9390    ///
9391    /// When mocking, this method is typically irrelevant. Do not try to verify
9392    /// it is called by your mocks.
9393    fn get_polling_backoff_policy(
9394        &self,
9395        _options: &crate::RequestOptions,
9396    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9397        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9398    }
9399}
9400
9401/// Defines the trait used to implement [super::client::RegionInstantSnapshots].
9402///
9403/// Application developers may need to implement this trait to mock
9404/// `client::RegionInstantSnapshots`.  In other use-cases, application developers only
9405/// use `client::RegionInstantSnapshots` and need not be concerned with this trait or
9406/// its implementations.
9407///
9408/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9409/// too. To avoid breaking applications the trait provides a default
9410/// implementation of each method. Most of these implementations just return an
9411/// error.
9412#[cfg(feature = "region-instant-snapshots")]
9413#[cfg_attr(docsrs, doc(cfg(feature = "region-instant-snapshots")))]
9414pub trait RegionInstantSnapshots: std::fmt::Debug + Send + Sync {
9415    /// Implements [super::client::RegionInstantSnapshots::delete].
9416    fn delete(
9417        &self,
9418        _req: crate::model::region_instant_snapshots::DeleteRequest,
9419        _options: crate::RequestOptions,
9420    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9421    {
9422        gaxi::unimplemented::unimplemented_stub()
9423    }
9424
9425    /// Implements [super::client::RegionInstantSnapshots::get].
9426    fn get(
9427        &self,
9428        _req: crate::model::region_instant_snapshots::GetRequest,
9429        _options: crate::RequestOptions,
9430    ) -> impl std::future::Future<
9431        Output = crate::Result<crate::Response<crate::model::InstantSnapshot>>,
9432    > + Send {
9433        gaxi::unimplemented::unimplemented_stub()
9434    }
9435
9436    /// Implements [super::client::RegionInstantSnapshots::get_iam_policy].
9437    fn get_iam_policy(
9438        &self,
9439        _req: crate::model::region_instant_snapshots::GetIamPolicyRequest,
9440        _options: crate::RequestOptions,
9441    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9442    {
9443        gaxi::unimplemented::unimplemented_stub()
9444    }
9445
9446    /// Implements [super::client::RegionInstantSnapshots::insert].
9447    fn insert(
9448        &self,
9449        _req: crate::model::region_instant_snapshots::InsertRequest,
9450        _options: crate::RequestOptions,
9451    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9452    {
9453        gaxi::unimplemented::unimplemented_stub()
9454    }
9455
9456    /// Implements [super::client::RegionInstantSnapshots::list].
9457    fn list(
9458        &self,
9459        _req: crate::model::region_instant_snapshots::ListRequest,
9460        _options: crate::RequestOptions,
9461    ) -> impl std::future::Future<
9462        Output = crate::Result<crate::Response<crate::model::InstantSnapshotList>>,
9463    > + Send {
9464        gaxi::unimplemented::unimplemented_stub()
9465    }
9466
9467    /// Implements [super::client::RegionInstantSnapshots::set_iam_policy].
9468    fn set_iam_policy(
9469        &self,
9470        _req: crate::model::region_instant_snapshots::SetIamPolicyRequest,
9471        _options: crate::RequestOptions,
9472    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9473    {
9474        gaxi::unimplemented::unimplemented_stub()
9475    }
9476
9477    /// Implements [super::client::RegionInstantSnapshots::set_labels].
9478    fn set_labels(
9479        &self,
9480        _req: crate::model::region_instant_snapshots::SetLabelsRequest,
9481        _options: crate::RequestOptions,
9482    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9483    {
9484        gaxi::unimplemented::unimplemented_stub()
9485    }
9486
9487    /// Implements [super::client::RegionInstantSnapshots::test_iam_permissions].
9488    fn test_iam_permissions(
9489        &self,
9490        _req: crate::model::region_instant_snapshots::TestIamPermissionsRequest,
9491        _options: crate::RequestOptions,
9492    ) -> impl std::future::Future<
9493        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9494    > + Send {
9495        gaxi::unimplemented::unimplemented_stub()
9496    }
9497
9498    /// Implements [super::client::RegionInstantSnapshots::get_operation].
9499    fn get_operation(
9500        &self,
9501        _req: crate::model::region_operations::GetRequest,
9502        _options: crate::RequestOptions,
9503    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9504    {
9505        gaxi::unimplemented::unimplemented_stub()
9506    }
9507
9508    /// Returns the polling error policy.
9509    ///
9510    /// When mocking, this method is typically irrelevant. Do not try to verify
9511    /// it is called by your mocks.
9512    fn get_polling_error_policy(
9513        &self,
9514        _options: &crate::RequestOptions,
9515    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9516        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9517    }
9518
9519    /// Returns the polling backoff policy.
9520    ///
9521    /// When mocking, this method is typically irrelevant. Do not try to verify
9522    /// it is called by your mocks.
9523    fn get_polling_backoff_policy(
9524        &self,
9525        _options: &crate::RequestOptions,
9526    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9527        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9528    }
9529}
9530
9531/// Defines the trait used to implement [super::client::RegionNetworkEndpointGroups].
9532///
9533/// Application developers may need to implement this trait to mock
9534/// `client::RegionNetworkEndpointGroups`.  In other use-cases, application developers only
9535/// use `client::RegionNetworkEndpointGroups` and need not be concerned with this trait or
9536/// its implementations.
9537///
9538/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9539/// too. To avoid breaking applications the trait provides a default
9540/// implementation of each method. Most of these implementations just return an
9541/// error.
9542#[cfg(feature = "region-network-endpoint-groups")]
9543#[cfg_attr(docsrs, doc(cfg(feature = "region-network-endpoint-groups")))]
9544pub trait RegionNetworkEndpointGroups: std::fmt::Debug + Send + Sync {
9545    /// Implements [super::client::RegionNetworkEndpointGroups::attach_network_endpoints].
9546    fn attach_network_endpoints(
9547        &self,
9548        _req: crate::model::region_network_endpoint_groups::AttachNetworkEndpointsRequest,
9549        _options: crate::RequestOptions,
9550    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9551    {
9552        gaxi::unimplemented::unimplemented_stub()
9553    }
9554
9555    /// Implements [super::client::RegionNetworkEndpointGroups::delete].
9556    fn delete(
9557        &self,
9558        _req: crate::model::region_network_endpoint_groups::DeleteRequest,
9559        _options: crate::RequestOptions,
9560    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9561    {
9562        gaxi::unimplemented::unimplemented_stub()
9563    }
9564
9565    /// Implements [super::client::RegionNetworkEndpointGroups::detach_network_endpoints].
9566    fn detach_network_endpoints(
9567        &self,
9568        _req: crate::model::region_network_endpoint_groups::DetachNetworkEndpointsRequest,
9569        _options: crate::RequestOptions,
9570    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9571    {
9572        gaxi::unimplemented::unimplemented_stub()
9573    }
9574
9575    /// Implements [super::client::RegionNetworkEndpointGroups::get].
9576    fn get(
9577        &self,
9578        _req: crate::model::region_network_endpoint_groups::GetRequest,
9579        _options: crate::RequestOptions,
9580    ) -> impl std::future::Future<
9581        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
9582    > + Send {
9583        gaxi::unimplemented::unimplemented_stub()
9584    }
9585
9586    /// Implements [super::client::RegionNetworkEndpointGroups::insert].
9587    fn insert(
9588        &self,
9589        _req: crate::model::region_network_endpoint_groups::InsertRequest,
9590        _options: crate::RequestOptions,
9591    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9592    {
9593        gaxi::unimplemented::unimplemented_stub()
9594    }
9595
9596    /// Implements [super::client::RegionNetworkEndpointGroups::list].
9597    fn list(
9598        &self,
9599        _req: crate::model::region_network_endpoint_groups::ListRequest,
9600        _options: crate::RequestOptions,
9601    ) -> impl std::future::Future<
9602        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
9603    > + Send {
9604        gaxi::unimplemented::unimplemented_stub()
9605    }
9606
9607    /// Implements [super::client::RegionNetworkEndpointGroups::list_network_endpoints].
9608    fn list_network_endpoints(
9609        &self,
9610        _req: crate::model::region_network_endpoint_groups::ListNetworkEndpointsRequest,
9611        _options: crate::RequestOptions,
9612    ) -> impl std::future::Future<
9613        Output = crate::Result<
9614            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
9615        >,
9616    > + Send {
9617        gaxi::unimplemented::unimplemented_stub()
9618    }
9619
9620    /// Implements [super::client::RegionNetworkEndpointGroups::get_operation].
9621    fn get_operation(
9622        &self,
9623        _req: crate::model::region_operations::GetRequest,
9624        _options: crate::RequestOptions,
9625    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9626    {
9627        gaxi::unimplemented::unimplemented_stub()
9628    }
9629
9630    /// Returns the polling error policy.
9631    ///
9632    /// When mocking, this method is typically irrelevant. Do not try to verify
9633    /// it is called by your mocks.
9634    fn get_polling_error_policy(
9635        &self,
9636        _options: &crate::RequestOptions,
9637    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9638        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9639    }
9640
9641    /// Returns the polling backoff policy.
9642    ///
9643    /// When mocking, this method is typically irrelevant. Do not try to verify
9644    /// it is called by your mocks.
9645    fn get_polling_backoff_policy(
9646        &self,
9647        _options: &crate::RequestOptions,
9648    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9649        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9650    }
9651}
9652
9653/// Defines the trait used to implement [super::client::RegionNetworkFirewallPolicies].
9654///
9655/// Application developers may need to implement this trait to mock
9656/// `client::RegionNetworkFirewallPolicies`.  In other use-cases, application developers only
9657/// use `client::RegionNetworkFirewallPolicies` and need not be concerned with this trait or
9658/// its implementations.
9659///
9660/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9661/// too. To avoid breaking applications the trait provides a default
9662/// implementation of each method. Most of these implementations just return an
9663/// error.
9664#[cfg(feature = "region-network-firewall-policies")]
9665#[cfg_attr(docsrs, doc(cfg(feature = "region-network-firewall-policies")))]
9666pub trait RegionNetworkFirewallPolicies: std::fmt::Debug + Send + Sync {
9667    /// Implements [super::client::RegionNetworkFirewallPolicies::add_association].
9668    fn add_association(
9669        &self,
9670        _req: crate::model::region_network_firewall_policies::AddAssociationRequest,
9671        _options: crate::RequestOptions,
9672    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9673    {
9674        gaxi::unimplemented::unimplemented_stub()
9675    }
9676
9677    /// Implements [super::client::RegionNetworkFirewallPolicies::add_rule].
9678    fn add_rule(
9679        &self,
9680        _req: crate::model::region_network_firewall_policies::AddRuleRequest,
9681        _options: crate::RequestOptions,
9682    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9683    {
9684        gaxi::unimplemented::unimplemented_stub()
9685    }
9686
9687    /// Implements [super::client::RegionNetworkFirewallPolicies::clone_rules].
9688    fn clone_rules(
9689        &self,
9690        _req: crate::model::region_network_firewall_policies::CloneRulesRequest,
9691        _options: crate::RequestOptions,
9692    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9693    {
9694        gaxi::unimplemented::unimplemented_stub()
9695    }
9696
9697    /// Implements [super::client::RegionNetworkFirewallPolicies::delete].
9698    fn delete(
9699        &self,
9700        _req: crate::model::region_network_firewall_policies::DeleteRequest,
9701        _options: crate::RequestOptions,
9702    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9703    {
9704        gaxi::unimplemented::unimplemented_stub()
9705    }
9706
9707    /// Implements [super::client::RegionNetworkFirewallPolicies::get].
9708    fn get(
9709        &self,
9710        _req: crate::model::region_network_firewall_policies::GetRequest,
9711        _options: crate::RequestOptions,
9712    ) -> impl std::future::Future<
9713        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
9714    > + Send {
9715        gaxi::unimplemented::unimplemented_stub()
9716    }
9717
9718    /// Implements [super::client::RegionNetworkFirewallPolicies::get_association].
9719    fn get_association(
9720        &self,
9721        _req: crate::model::region_network_firewall_policies::GetAssociationRequest,
9722        _options: crate::RequestOptions,
9723    ) -> impl std::future::Future<
9724        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
9725    > + Send {
9726        gaxi::unimplemented::unimplemented_stub()
9727    }
9728
9729    /// Implements [super::client::RegionNetworkFirewallPolicies::get_effective_firewalls].
9730    fn get_effective_firewalls(
9731        &self,
9732        _req: crate::model::region_network_firewall_policies::GetEffectiveFirewallsRequest,
9733        _options: crate::RequestOptions,
9734    ) -> impl std::future::Future<
9735        Output = crate::Result<
9736            crate::Response<
9737                crate::model::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse,
9738            >,
9739        >,
9740    > + Send {
9741        gaxi::unimplemented::unimplemented_stub()
9742    }
9743
9744    /// Implements [super::client::RegionNetworkFirewallPolicies::get_iam_policy].
9745    fn get_iam_policy(
9746        &self,
9747        _req: crate::model::region_network_firewall_policies::GetIamPolicyRequest,
9748        _options: crate::RequestOptions,
9749    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9750    {
9751        gaxi::unimplemented::unimplemented_stub()
9752    }
9753
9754    /// Implements [super::client::RegionNetworkFirewallPolicies::get_rule].
9755    fn get_rule(
9756        &self,
9757        _req: crate::model::region_network_firewall_policies::GetRuleRequest,
9758        _options: crate::RequestOptions,
9759    ) -> impl std::future::Future<
9760        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
9761    > + Send {
9762        gaxi::unimplemented::unimplemented_stub()
9763    }
9764
9765    /// Implements [super::client::RegionNetworkFirewallPolicies::insert].
9766    fn insert(
9767        &self,
9768        _req: crate::model::region_network_firewall_policies::InsertRequest,
9769        _options: crate::RequestOptions,
9770    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9771    {
9772        gaxi::unimplemented::unimplemented_stub()
9773    }
9774
9775    /// Implements [super::client::RegionNetworkFirewallPolicies::list].
9776    fn list(
9777        &self,
9778        _req: crate::model::region_network_firewall_policies::ListRequest,
9779        _options: crate::RequestOptions,
9780    ) -> impl std::future::Future<
9781        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
9782    > + Send {
9783        gaxi::unimplemented::unimplemented_stub()
9784    }
9785
9786    /// Implements [super::client::RegionNetworkFirewallPolicies::patch].
9787    fn patch(
9788        &self,
9789        _req: crate::model::region_network_firewall_policies::PatchRequest,
9790        _options: crate::RequestOptions,
9791    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9792    {
9793        gaxi::unimplemented::unimplemented_stub()
9794    }
9795
9796    /// Implements [super::client::RegionNetworkFirewallPolicies::patch_rule].
9797    fn patch_rule(
9798        &self,
9799        _req: crate::model::region_network_firewall_policies::PatchRuleRequest,
9800        _options: crate::RequestOptions,
9801    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9802    {
9803        gaxi::unimplemented::unimplemented_stub()
9804    }
9805
9806    /// Implements [super::client::RegionNetworkFirewallPolicies::remove_association].
9807    fn remove_association(
9808        &self,
9809        _req: crate::model::region_network_firewall_policies::RemoveAssociationRequest,
9810        _options: crate::RequestOptions,
9811    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9812    {
9813        gaxi::unimplemented::unimplemented_stub()
9814    }
9815
9816    /// Implements [super::client::RegionNetworkFirewallPolicies::remove_rule].
9817    fn remove_rule(
9818        &self,
9819        _req: crate::model::region_network_firewall_policies::RemoveRuleRequest,
9820        _options: crate::RequestOptions,
9821    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9822    {
9823        gaxi::unimplemented::unimplemented_stub()
9824    }
9825
9826    /// Implements [super::client::RegionNetworkFirewallPolicies::set_iam_policy].
9827    fn set_iam_policy(
9828        &self,
9829        _req: crate::model::region_network_firewall_policies::SetIamPolicyRequest,
9830        _options: crate::RequestOptions,
9831    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9832    {
9833        gaxi::unimplemented::unimplemented_stub()
9834    }
9835
9836    /// Implements [super::client::RegionNetworkFirewallPolicies::test_iam_permissions].
9837    fn test_iam_permissions(
9838        &self,
9839        _req: crate::model::region_network_firewall_policies::TestIamPermissionsRequest,
9840        _options: crate::RequestOptions,
9841    ) -> impl std::future::Future<
9842        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9843    > + Send {
9844        gaxi::unimplemented::unimplemented_stub()
9845    }
9846
9847    /// Implements [super::client::RegionNetworkFirewallPolicies::get_operation].
9848    fn get_operation(
9849        &self,
9850        _req: crate::model::region_operations::GetRequest,
9851        _options: crate::RequestOptions,
9852    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9853    {
9854        gaxi::unimplemented::unimplemented_stub()
9855    }
9856
9857    /// Returns the polling error policy.
9858    ///
9859    /// When mocking, this method is typically irrelevant. Do not try to verify
9860    /// it is called by your mocks.
9861    fn get_polling_error_policy(
9862        &self,
9863        _options: &crate::RequestOptions,
9864    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9865        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9866    }
9867
9868    /// Returns the polling backoff policy.
9869    ///
9870    /// When mocking, this method is typically irrelevant. Do not try to verify
9871    /// it is called by your mocks.
9872    fn get_polling_backoff_policy(
9873        &self,
9874        _options: &crate::RequestOptions,
9875    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9876        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9877    }
9878}
9879
9880/// Defines the trait used to implement [super::client::RegionNotificationEndpoints].
9881///
9882/// Application developers may need to implement this trait to mock
9883/// `client::RegionNotificationEndpoints`.  In other use-cases, application developers only
9884/// use `client::RegionNotificationEndpoints` and need not be concerned with this trait or
9885/// its implementations.
9886///
9887/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9888/// too. To avoid breaking applications the trait provides a default
9889/// implementation of each method. Most of these implementations just return an
9890/// error.
9891#[cfg(feature = "region-notification-endpoints")]
9892#[cfg_attr(docsrs, doc(cfg(feature = "region-notification-endpoints")))]
9893pub trait RegionNotificationEndpoints: std::fmt::Debug + Send + Sync {
9894    /// Implements [super::client::RegionNotificationEndpoints::aggregated_list].
9895    fn aggregated_list(
9896        &self,
9897        _req: crate::model::region_notification_endpoints::AggregatedListRequest,
9898        _options: crate::RequestOptions,
9899    ) -> impl std::future::Future<
9900        Output = crate::Result<crate::Response<crate::model::NotificationEndpointAggregatedList>>,
9901    > + Send {
9902        gaxi::unimplemented::unimplemented_stub()
9903    }
9904
9905    /// Implements [super::client::RegionNotificationEndpoints::delete].
9906    fn delete(
9907        &self,
9908        _req: crate::model::region_notification_endpoints::DeleteRequest,
9909        _options: crate::RequestOptions,
9910    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9911    {
9912        gaxi::unimplemented::unimplemented_stub()
9913    }
9914
9915    /// Implements [super::client::RegionNotificationEndpoints::get].
9916    fn get(
9917        &self,
9918        _req: crate::model::region_notification_endpoints::GetRequest,
9919        _options: crate::RequestOptions,
9920    ) -> impl std::future::Future<
9921        Output = crate::Result<crate::Response<crate::model::NotificationEndpoint>>,
9922    > + Send {
9923        gaxi::unimplemented::unimplemented_stub()
9924    }
9925
9926    /// Implements [super::client::RegionNotificationEndpoints::insert].
9927    fn insert(
9928        &self,
9929        _req: crate::model::region_notification_endpoints::InsertRequest,
9930        _options: crate::RequestOptions,
9931    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9932    {
9933        gaxi::unimplemented::unimplemented_stub()
9934    }
9935
9936    /// Implements [super::client::RegionNotificationEndpoints::list].
9937    fn list(
9938        &self,
9939        _req: crate::model::region_notification_endpoints::ListRequest,
9940        _options: crate::RequestOptions,
9941    ) -> impl std::future::Future<
9942        Output = crate::Result<crate::Response<crate::model::NotificationEndpointList>>,
9943    > + Send {
9944        gaxi::unimplemented::unimplemented_stub()
9945    }
9946
9947    /// Implements [super::client::RegionNotificationEndpoints::test_iam_permissions].
9948    fn test_iam_permissions(
9949        &self,
9950        _req: crate::model::region_notification_endpoints::TestIamPermissionsRequest,
9951        _options: crate::RequestOptions,
9952    ) -> impl std::future::Future<
9953        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9954    > + Send {
9955        gaxi::unimplemented::unimplemented_stub()
9956    }
9957
9958    /// Implements [super::client::RegionNotificationEndpoints::get_operation].
9959    fn get_operation(
9960        &self,
9961        _req: crate::model::region_operations::GetRequest,
9962        _options: crate::RequestOptions,
9963    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9964    {
9965        gaxi::unimplemented::unimplemented_stub()
9966    }
9967
9968    /// Returns the polling error policy.
9969    ///
9970    /// When mocking, this method is typically irrelevant. Do not try to verify
9971    /// it is called by your mocks.
9972    fn get_polling_error_policy(
9973        &self,
9974        _options: &crate::RequestOptions,
9975    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9976        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9977    }
9978
9979    /// Returns the polling backoff policy.
9980    ///
9981    /// When mocking, this method is typically irrelevant. Do not try to verify
9982    /// it is called by your mocks.
9983    fn get_polling_backoff_policy(
9984        &self,
9985        _options: &crate::RequestOptions,
9986    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9987        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9988    }
9989}
9990
9991/// Defines the trait used to implement [super::client::RegionOperations].
9992///
9993/// Application developers may need to implement this trait to mock
9994/// `client::RegionOperations`.  In other use-cases, application developers only
9995/// use `client::RegionOperations` and need not be concerned with this trait or
9996/// its implementations.
9997///
9998/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9999/// too. To avoid breaking applications the trait provides a default
10000/// implementation of each method. Most of these implementations just return an
10001/// error.
10002#[cfg(feature = "region-operations")]
10003#[cfg_attr(docsrs, doc(cfg(feature = "region-operations")))]
10004pub trait RegionOperations: std::fmt::Debug + Send + Sync {
10005    /// Implements [super::client::RegionOperations::delete].
10006    fn delete(
10007        &self,
10008        _req: crate::model::region_operations::DeleteRequest,
10009        _options: crate::RequestOptions,
10010    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
10011        gaxi::unimplemented::unimplemented_stub()
10012    }
10013
10014    /// Implements [super::client::RegionOperations::get].
10015    fn get(
10016        &self,
10017        _req: crate::model::region_operations::GetRequest,
10018        _options: crate::RequestOptions,
10019    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10020    {
10021        gaxi::unimplemented::unimplemented_stub()
10022    }
10023
10024    /// Implements [super::client::RegionOperations::list].
10025    fn list(
10026        &self,
10027        _req: crate::model::region_operations::ListRequest,
10028        _options: crate::RequestOptions,
10029    ) -> impl std::future::Future<
10030        Output = crate::Result<crate::Response<crate::model::OperationList>>,
10031    > + Send {
10032        gaxi::unimplemented::unimplemented_stub()
10033    }
10034
10035    /// Implements [super::client::RegionOperations::wait].
10036    fn wait(
10037        &self,
10038        _req: crate::model::region_operations::WaitRequest,
10039        _options: crate::RequestOptions,
10040    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10041    {
10042        gaxi::unimplemented::unimplemented_stub()
10043    }
10044}
10045
10046/// Defines the trait used to implement [super::client::RegionSecurityPolicies].
10047///
10048/// Application developers may need to implement this trait to mock
10049/// `client::RegionSecurityPolicies`.  In other use-cases, application developers only
10050/// use `client::RegionSecurityPolicies` and need not be concerned with this trait or
10051/// its implementations.
10052///
10053/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10054/// too. To avoid breaking applications the trait provides a default
10055/// implementation of each method. Most of these implementations just return an
10056/// error.
10057#[cfg(feature = "region-security-policies")]
10058#[cfg_attr(docsrs, doc(cfg(feature = "region-security-policies")))]
10059pub trait RegionSecurityPolicies: std::fmt::Debug + Send + Sync {
10060    /// Implements [super::client::RegionSecurityPolicies::add_rule].
10061    fn add_rule(
10062        &self,
10063        _req: crate::model::region_security_policies::AddRuleRequest,
10064        _options: crate::RequestOptions,
10065    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10066    {
10067        gaxi::unimplemented::unimplemented_stub()
10068    }
10069
10070    /// Implements [super::client::RegionSecurityPolicies::delete].
10071    fn delete(
10072        &self,
10073        _req: crate::model::region_security_policies::DeleteRequest,
10074        _options: crate::RequestOptions,
10075    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10076    {
10077        gaxi::unimplemented::unimplemented_stub()
10078    }
10079
10080    /// Implements [super::client::RegionSecurityPolicies::get].
10081    fn get(
10082        &self,
10083        _req: crate::model::region_security_policies::GetRequest,
10084        _options: crate::RequestOptions,
10085    ) -> impl std::future::Future<
10086        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
10087    > + Send {
10088        gaxi::unimplemented::unimplemented_stub()
10089    }
10090
10091    /// Implements [super::client::RegionSecurityPolicies::get_rule].
10092    fn get_rule(
10093        &self,
10094        _req: crate::model::region_security_policies::GetRuleRequest,
10095        _options: crate::RequestOptions,
10096    ) -> impl std::future::Future<
10097        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
10098    > + Send {
10099        gaxi::unimplemented::unimplemented_stub()
10100    }
10101
10102    /// Implements [super::client::RegionSecurityPolicies::insert].
10103    fn insert(
10104        &self,
10105        _req: crate::model::region_security_policies::InsertRequest,
10106        _options: crate::RequestOptions,
10107    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10108    {
10109        gaxi::unimplemented::unimplemented_stub()
10110    }
10111
10112    /// Implements [super::client::RegionSecurityPolicies::list].
10113    fn list(
10114        &self,
10115        _req: crate::model::region_security_policies::ListRequest,
10116        _options: crate::RequestOptions,
10117    ) -> impl std::future::Future<
10118        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
10119    > + Send {
10120        gaxi::unimplemented::unimplemented_stub()
10121    }
10122
10123    /// Implements [super::client::RegionSecurityPolicies::patch].
10124    fn patch(
10125        &self,
10126        _req: crate::model::region_security_policies::PatchRequest,
10127        _options: crate::RequestOptions,
10128    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10129    {
10130        gaxi::unimplemented::unimplemented_stub()
10131    }
10132
10133    /// Implements [super::client::RegionSecurityPolicies::patch_rule].
10134    fn patch_rule(
10135        &self,
10136        _req: crate::model::region_security_policies::PatchRuleRequest,
10137        _options: crate::RequestOptions,
10138    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10139    {
10140        gaxi::unimplemented::unimplemented_stub()
10141    }
10142
10143    /// Implements [super::client::RegionSecurityPolicies::remove_rule].
10144    fn remove_rule(
10145        &self,
10146        _req: crate::model::region_security_policies::RemoveRuleRequest,
10147        _options: crate::RequestOptions,
10148    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10149    {
10150        gaxi::unimplemented::unimplemented_stub()
10151    }
10152
10153    /// Implements [super::client::RegionSecurityPolicies::set_labels].
10154    fn set_labels(
10155        &self,
10156        _req: crate::model::region_security_policies::SetLabelsRequest,
10157        _options: crate::RequestOptions,
10158    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10159    {
10160        gaxi::unimplemented::unimplemented_stub()
10161    }
10162
10163    /// Implements [super::client::RegionSecurityPolicies::get_operation].
10164    fn get_operation(
10165        &self,
10166        _req: crate::model::region_operations::GetRequest,
10167        _options: crate::RequestOptions,
10168    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10169    {
10170        gaxi::unimplemented::unimplemented_stub()
10171    }
10172
10173    /// Returns the polling error policy.
10174    ///
10175    /// When mocking, this method is typically irrelevant. Do not try to verify
10176    /// it is called by your mocks.
10177    fn get_polling_error_policy(
10178        &self,
10179        _options: &crate::RequestOptions,
10180    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10181        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10182    }
10183
10184    /// Returns the polling backoff policy.
10185    ///
10186    /// When mocking, this method is typically irrelevant. Do not try to verify
10187    /// it is called by your mocks.
10188    fn get_polling_backoff_policy(
10189        &self,
10190        _options: &crate::RequestOptions,
10191    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10192        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10193    }
10194}
10195
10196/// Defines the trait used to implement [super::client::RegionSslCertificates].
10197///
10198/// Application developers may need to implement this trait to mock
10199/// `client::RegionSslCertificates`.  In other use-cases, application developers only
10200/// use `client::RegionSslCertificates` and need not be concerned with this trait or
10201/// its implementations.
10202///
10203/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10204/// too. To avoid breaking applications the trait provides a default
10205/// implementation of each method. Most of these implementations just return an
10206/// error.
10207#[cfg(feature = "region-ssl-certificates")]
10208#[cfg_attr(docsrs, doc(cfg(feature = "region-ssl-certificates")))]
10209pub trait RegionSslCertificates: std::fmt::Debug + Send + Sync {
10210    /// Implements [super::client::RegionSslCertificates::delete].
10211    fn delete(
10212        &self,
10213        _req: crate::model::region_ssl_certificates::DeleteRequest,
10214        _options: crate::RequestOptions,
10215    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10216    {
10217        gaxi::unimplemented::unimplemented_stub()
10218    }
10219
10220    /// Implements [super::client::RegionSslCertificates::get].
10221    fn get(
10222        &self,
10223        _req: crate::model::region_ssl_certificates::GetRequest,
10224        _options: crate::RequestOptions,
10225    ) -> impl std::future::Future<
10226        Output = crate::Result<crate::Response<crate::model::SslCertificate>>,
10227    > + Send {
10228        gaxi::unimplemented::unimplemented_stub()
10229    }
10230
10231    /// Implements [super::client::RegionSslCertificates::insert].
10232    fn insert(
10233        &self,
10234        _req: crate::model::region_ssl_certificates::InsertRequest,
10235        _options: crate::RequestOptions,
10236    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10237    {
10238        gaxi::unimplemented::unimplemented_stub()
10239    }
10240
10241    /// Implements [super::client::RegionSslCertificates::list].
10242    fn list(
10243        &self,
10244        _req: crate::model::region_ssl_certificates::ListRequest,
10245        _options: crate::RequestOptions,
10246    ) -> impl std::future::Future<
10247        Output = crate::Result<crate::Response<crate::model::SslCertificateList>>,
10248    > + Send {
10249        gaxi::unimplemented::unimplemented_stub()
10250    }
10251
10252    /// Implements [super::client::RegionSslCertificates::get_operation].
10253    fn get_operation(
10254        &self,
10255        _req: crate::model::region_operations::GetRequest,
10256        _options: crate::RequestOptions,
10257    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10258    {
10259        gaxi::unimplemented::unimplemented_stub()
10260    }
10261
10262    /// Returns the polling error policy.
10263    ///
10264    /// When mocking, this method is typically irrelevant. Do not try to verify
10265    /// it is called by your mocks.
10266    fn get_polling_error_policy(
10267        &self,
10268        _options: &crate::RequestOptions,
10269    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10270        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10271    }
10272
10273    /// Returns the polling backoff policy.
10274    ///
10275    /// When mocking, this method is typically irrelevant. Do not try to verify
10276    /// it is called by your mocks.
10277    fn get_polling_backoff_policy(
10278        &self,
10279        _options: &crate::RequestOptions,
10280    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10281        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10282    }
10283}
10284
10285/// Defines the trait used to implement [super::client::RegionSslPolicies].
10286///
10287/// Application developers may need to implement this trait to mock
10288/// `client::RegionSslPolicies`.  In other use-cases, application developers only
10289/// use `client::RegionSslPolicies` and need not be concerned with this trait or
10290/// its implementations.
10291///
10292/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10293/// too. To avoid breaking applications the trait provides a default
10294/// implementation of each method. Most of these implementations just return an
10295/// error.
10296#[cfg(feature = "region-ssl-policies")]
10297#[cfg_attr(docsrs, doc(cfg(feature = "region-ssl-policies")))]
10298pub trait RegionSslPolicies: std::fmt::Debug + Send + Sync {
10299    /// Implements [super::client::RegionSslPolicies::delete].
10300    fn delete(
10301        &self,
10302        _req: crate::model::region_ssl_policies::DeleteRequest,
10303        _options: crate::RequestOptions,
10304    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10305    {
10306        gaxi::unimplemented::unimplemented_stub()
10307    }
10308
10309    /// Implements [super::client::RegionSslPolicies::get].
10310    fn get(
10311        &self,
10312        _req: crate::model::region_ssl_policies::GetRequest,
10313        _options: crate::RequestOptions,
10314    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::SslPolicy>>> + Send
10315    {
10316        gaxi::unimplemented::unimplemented_stub()
10317    }
10318
10319    /// Implements [super::client::RegionSslPolicies::insert].
10320    fn insert(
10321        &self,
10322        _req: crate::model::region_ssl_policies::InsertRequest,
10323        _options: crate::RequestOptions,
10324    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10325    {
10326        gaxi::unimplemented::unimplemented_stub()
10327    }
10328
10329    /// Implements [super::client::RegionSslPolicies::list].
10330    fn list(
10331        &self,
10332        _req: crate::model::region_ssl_policies::ListRequest,
10333        _options: crate::RequestOptions,
10334    ) -> impl std::future::Future<
10335        Output = crate::Result<crate::Response<crate::model::SslPoliciesList>>,
10336    > + Send {
10337        gaxi::unimplemented::unimplemented_stub()
10338    }
10339
10340    /// Implements [super::client::RegionSslPolicies::list_available_features].
10341    fn list_available_features(
10342        &self,
10343        _req: crate::model::region_ssl_policies::ListAvailableFeaturesRequest,
10344        _options: crate::RequestOptions,
10345    ) -> impl std::future::Future<
10346        Output = crate::Result<
10347            crate::Response<crate::model::SslPoliciesListAvailableFeaturesResponse>,
10348        >,
10349    > + Send {
10350        gaxi::unimplemented::unimplemented_stub()
10351    }
10352
10353    /// Implements [super::client::RegionSslPolicies::patch].
10354    fn patch(
10355        &self,
10356        _req: crate::model::region_ssl_policies::PatchRequest,
10357        _options: crate::RequestOptions,
10358    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10359    {
10360        gaxi::unimplemented::unimplemented_stub()
10361    }
10362
10363    /// Implements [super::client::RegionSslPolicies::get_operation].
10364    fn get_operation(
10365        &self,
10366        _req: crate::model::region_operations::GetRequest,
10367        _options: crate::RequestOptions,
10368    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10369    {
10370        gaxi::unimplemented::unimplemented_stub()
10371    }
10372
10373    /// Returns the polling error policy.
10374    ///
10375    /// When mocking, this method is typically irrelevant. Do not try to verify
10376    /// it is called by your mocks.
10377    fn get_polling_error_policy(
10378        &self,
10379        _options: &crate::RequestOptions,
10380    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10381        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10382    }
10383
10384    /// Returns the polling backoff policy.
10385    ///
10386    /// When mocking, this method is typically irrelevant. Do not try to verify
10387    /// it is called by your mocks.
10388    fn get_polling_backoff_policy(
10389        &self,
10390        _options: &crate::RequestOptions,
10391    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10392        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10393    }
10394}
10395
10396/// Defines the trait used to implement [super::client::RegionTargetHttpProxies].
10397///
10398/// Application developers may need to implement this trait to mock
10399/// `client::RegionTargetHttpProxies`.  In other use-cases, application developers only
10400/// use `client::RegionTargetHttpProxies` and need not be concerned with this trait or
10401/// its implementations.
10402///
10403/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10404/// too. To avoid breaking applications the trait provides a default
10405/// implementation of each method. Most of these implementations just return an
10406/// error.
10407#[cfg(feature = "region-target-http-proxies")]
10408#[cfg_attr(docsrs, doc(cfg(feature = "region-target-http-proxies")))]
10409pub trait RegionTargetHttpProxies: std::fmt::Debug + Send + Sync {
10410    /// Implements [super::client::RegionTargetHttpProxies::delete].
10411    fn delete(
10412        &self,
10413        _req: crate::model::region_target_http_proxies::DeleteRequest,
10414        _options: crate::RequestOptions,
10415    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10416    {
10417        gaxi::unimplemented::unimplemented_stub()
10418    }
10419
10420    /// Implements [super::client::RegionTargetHttpProxies::get].
10421    fn get(
10422        &self,
10423        _req: crate::model::region_target_http_proxies::GetRequest,
10424        _options: crate::RequestOptions,
10425    ) -> impl std::future::Future<
10426        Output = crate::Result<crate::Response<crate::model::TargetHttpProxy>>,
10427    > + Send {
10428        gaxi::unimplemented::unimplemented_stub()
10429    }
10430
10431    /// Implements [super::client::RegionTargetHttpProxies::insert].
10432    fn insert(
10433        &self,
10434        _req: crate::model::region_target_http_proxies::InsertRequest,
10435        _options: crate::RequestOptions,
10436    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10437    {
10438        gaxi::unimplemented::unimplemented_stub()
10439    }
10440
10441    /// Implements [super::client::RegionTargetHttpProxies::list].
10442    fn list(
10443        &self,
10444        _req: crate::model::region_target_http_proxies::ListRequest,
10445        _options: crate::RequestOptions,
10446    ) -> impl std::future::Future<
10447        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyList>>,
10448    > + Send {
10449        gaxi::unimplemented::unimplemented_stub()
10450    }
10451
10452    /// Implements [super::client::RegionTargetHttpProxies::set_url_map].
10453    fn set_url_map(
10454        &self,
10455        _req: crate::model::region_target_http_proxies::SetUrlMapRequest,
10456        _options: crate::RequestOptions,
10457    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10458    {
10459        gaxi::unimplemented::unimplemented_stub()
10460    }
10461
10462    /// Implements [super::client::RegionTargetHttpProxies::get_operation].
10463    fn get_operation(
10464        &self,
10465        _req: crate::model::region_operations::GetRequest,
10466        _options: crate::RequestOptions,
10467    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10468    {
10469        gaxi::unimplemented::unimplemented_stub()
10470    }
10471
10472    /// Returns the polling error policy.
10473    ///
10474    /// When mocking, this method is typically irrelevant. Do not try to verify
10475    /// it is called by your mocks.
10476    fn get_polling_error_policy(
10477        &self,
10478        _options: &crate::RequestOptions,
10479    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10480        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10481    }
10482
10483    /// Returns the polling backoff policy.
10484    ///
10485    /// When mocking, this method is typically irrelevant. Do not try to verify
10486    /// it is called by your mocks.
10487    fn get_polling_backoff_policy(
10488        &self,
10489        _options: &crate::RequestOptions,
10490    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10491        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10492    }
10493}
10494
10495/// Defines the trait used to implement [super::client::RegionTargetHttpsProxies].
10496///
10497/// Application developers may need to implement this trait to mock
10498/// `client::RegionTargetHttpsProxies`.  In other use-cases, application developers only
10499/// use `client::RegionTargetHttpsProxies` and need not be concerned with this trait or
10500/// its implementations.
10501///
10502/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10503/// too. To avoid breaking applications the trait provides a default
10504/// implementation of each method. Most of these implementations just return an
10505/// error.
10506#[cfg(feature = "region-target-https-proxies")]
10507#[cfg_attr(docsrs, doc(cfg(feature = "region-target-https-proxies")))]
10508pub trait RegionTargetHttpsProxies: std::fmt::Debug + Send + Sync {
10509    /// Implements [super::client::RegionTargetHttpsProxies::delete].
10510    fn delete(
10511        &self,
10512        _req: crate::model::region_target_https_proxies::DeleteRequest,
10513        _options: crate::RequestOptions,
10514    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10515    {
10516        gaxi::unimplemented::unimplemented_stub()
10517    }
10518
10519    /// Implements [super::client::RegionTargetHttpsProxies::get].
10520    fn get(
10521        &self,
10522        _req: crate::model::region_target_https_proxies::GetRequest,
10523        _options: crate::RequestOptions,
10524    ) -> impl std::future::Future<
10525        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxy>>,
10526    > + Send {
10527        gaxi::unimplemented::unimplemented_stub()
10528    }
10529
10530    /// Implements [super::client::RegionTargetHttpsProxies::insert].
10531    fn insert(
10532        &self,
10533        _req: crate::model::region_target_https_proxies::InsertRequest,
10534        _options: crate::RequestOptions,
10535    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10536    {
10537        gaxi::unimplemented::unimplemented_stub()
10538    }
10539
10540    /// Implements [super::client::RegionTargetHttpsProxies::list].
10541    fn list(
10542        &self,
10543        _req: crate::model::region_target_https_proxies::ListRequest,
10544        _options: crate::RequestOptions,
10545    ) -> impl std::future::Future<
10546        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyList>>,
10547    > + Send {
10548        gaxi::unimplemented::unimplemented_stub()
10549    }
10550
10551    /// Implements [super::client::RegionTargetHttpsProxies::patch].
10552    fn patch(
10553        &self,
10554        _req: crate::model::region_target_https_proxies::PatchRequest,
10555        _options: crate::RequestOptions,
10556    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10557    {
10558        gaxi::unimplemented::unimplemented_stub()
10559    }
10560
10561    /// Implements [super::client::RegionTargetHttpsProxies::set_ssl_certificates].
10562    fn set_ssl_certificates(
10563        &self,
10564        _req: crate::model::region_target_https_proxies::SetSslCertificatesRequest,
10565        _options: crate::RequestOptions,
10566    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10567    {
10568        gaxi::unimplemented::unimplemented_stub()
10569    }
10570
10571    /// Implements [super::client::RegionTargetHttpsProxies::set_url_map].
10572    fn set_url_map(
10573        &self,
10574        _req: crate::model::region_target_https_proxies::SetUrlMapRequest,
10575        _options: crate::RequestOptions,
10576    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10577    {
10578        gaxi::unimplemented::unimplemented_stub()
10579    }
10580
10581    /// Implements [super::client::RegionTargetHttpsProxies::get_operation].
10582    fn get_operation(
10583        &self,
10584        _req: crate::model::region_operations::GetRequest,
10585        _options: crate::RequestOptions,
10586    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10587    {
10588        gaxi::unimplemented::unimplemented_stub()
10589    }
10590
10591    /// Returns the polling error policy.
10592    ///
10593    /// When mocking, this method is typically irrelevant. Do not try to verify
10594    /// it is called by your mocks.
10595    fn get_polling_error_policy(
10596        &self,
10597        _options: &crate::RequestOptions,
10598    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10599        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10600    }
10601
10602    /// Returns the polling backoff policy.
10603    ///
10604    /// When mocking, this method is typically irrelevant. Do not try to verify
10605    /// it is called by your mocks.
10606    fn get_polling_backoff_policy(
10607        &self,
10608        _options: &crate::RequestOptions,
10609    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10610        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10611    }
10612}
10613
10614/// Defines the trait used to implement [super::client::RegionTargetTcpProxies].
10615///
10616/// Application developers may need to implement this trait to mock
10617/// `client::RegionTargetTcpProxies`.  In other use-cases, application developers only
10618/// use `client::RegionTargetTcpProxies` and need not be concerned with this trait or
10619/// its implementations.
10620///
10621/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10622/// too. To avoid breaking applications the trait provides a default
10623/// implementation of each method. Most of these implementations just return an
10624/// error.
10625#[cfg(feature = "region-target-tcp-proxies")]
10626#[cfg_attr(docsrs, doc(cfg(feature = "region-target-tcp-proxies")))]
10627pub trait RegionTargetTcpProxies: std::fmt::Debug + Send + Sync {
10628    /// Implements [super::client::RegionTargetTcpProxies::delete].
10629    fn delete(
10630        &self,
10631        _req: crate::model::region_target_tcp_proxies::DeleteRequest,
10632        _options: crate::RequestOptions,
10633    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10634    {
10635        gaxi::unimplemented::unimplemented_stub()
10636    }
10637
10638    /// Implements [super::client::RegionTargetTcpProxies::get].
10639    fn get(
10640        &self,
10641        _req: crate::model::region_target_tcp_proxies::GetRequest,
10642        _options: crate::RequestOptions,
10643    ) -> impl std::future::Future<
10644        Output = crate::Result<crate::Response<crate::model::TargetTcpProxy>>,
10645    > + Send {
10646        gaxi::unimplemented::unimplemented_stub()
10647    }
10648
10649    /// Implements [super::client::RegionTargetTcpProxies::insert].
10650    fn insert(
10651        &self,
10652        _req: crate::model::region_target_tcp_proxies::InsertRequest,
10653        _options: crate::RequestOptions,
10654    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10655    {
10656        gaxi::unimplemented::unimplemented_stub()
10657    }
10658
10659    /// Implements [super::client::RegionTargetTcpProxies::list].
10660    fn list(
10661        &self,
10662        _req: crate::model::region_target_tcp_proxies::ListRequest,
10663        _options: crate::RequestOptions,
10664    ) -> impl std::future::Future<
10665        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyList>>,
10666    > + Send {
10667        gaxi::unimplemented::unimplemented_stub()
10668    }
10669
10670    /// Implements [super::client::RegionTargetTcpProxies::get_operation].
10671    fn get_operation(
10672        &self,
10673        _req: crate::model::region_operations::GetRequest,
10674        _options: crate::RequestOptions,
10675    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10676    {
10677        gaxi::unimplemented::unimplemented_stub()
10678    }
10679
10680    /// Returns the polling error policy.
10681    ///
10682    /// When mocking, this method is typically irrelevant. Do not try to verify
10683    /// it is called by your mocks.
10684    fn get_polling_error_policy(
10685        &self,
10686        _options: &crate::RequestOptions,
10687    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10688        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10689    }
10690
10691    /// Returns the polling backoff policy.
10692    ///
10693    /// When mocking, this method is typically irrelevant. Do not try to verify
10694    /// it is called by your mocks.
10695    fn get_polling_backoff_policy(
10696        &self,
10697        _options: &crate::RequestOptions,
10698    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10699        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10700    }
10701}
10702
10703/// Defines the trait used to implement [super::client::RegionUrlMaps].
10704///
10705/// Application developers may need to implement this trait to mock
10706/// `client::RegionUrlMaps`.  In other use-cases, application developers only
10707/// use `client::RegionUrlMaps` and need not be concerned with this trait or
10708/// its implementations.
10709///
10710/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10711/// too. To avoid breaking applications the trait provides a default
10712/// implementation of each method. Most of these implementations just return an
10713/// error.
10714#[cfg(feature = "region-url-maps")]
10715#[cfg_attr(docsrs, doc(cfg(feature = "region-url-maps")))]
10716pub trait RegionUrlMaps: std::fmt::Debug + Send + Sync {
10717    /// Implements [super::client::RegionUrlMaps::delete].
10718    fn delete(
10719        &self,
10720        _req: crate::model::region_url_maps::DeleteRequest,
10721        _options: crate::RequestOptions,
10722    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10723    {
10724        gaxi::unimplemented::unimplemented_stub()
10725    }
10726
10727    /// Implements [super::client::RegionUrlMaps::get].
10728    fn get(
10729        &self,
10730        _req: crate::model::region_url_maps::GetRequest,
10731        _options: crate::RequestOptions,
10732    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMap>>> + Send
10733    {
10734        gaxi::unimplemented::unimplemented_stub()
10735    }
10736
10737    /// Implements [super::client::RegionUrlMaps::insert].
10738    fn insert(
10739        &self,
10740        _req: crate::model::region_url_maps::InsertRequest,
10741        _options: crate::RequestOptions,
10742    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10743    {
10744        gaxi::unimplemented::unimplemented_stub()
10745    }
10746
10747    /// Implements [super::client::RegionUrlMaps::list].
10748    fn list(
10749        &self,
10750        _req: crate::model::region_url_maps::ListRequest,
10751        _options: crate::RequestOptions,
10752    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMapList>>> + Send
10753    {
10754        gaxi::unimplemented::unimplemented_stub()
10755    }
10756
10757    /// Implements [super::client::RegionUrlMaps::patch].
10758    fn patch(
10759        &self,
10760        _req: crate::model::region_url_maps::PatchRequest,
10761        _options: crate::RequestOptions,
10762    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10763    {
10764        gaxi::unimplemented::unimplemented_stub()
10765    }
10766
10767    /// Implements [super::client::RegionUrlMaps::update].
10768    fn update(
10769        &self,
10770        _req: crate::model::region_url_maps::UpdateRequest,
10771        _options: crate::RequestOptions,
10772    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10773    {
10774        gaxi::unimplemented::unimplemented_stub()
10775    }
10776
10777    /// Implements [super::client::RegionUrlMaps::validate].
10778    fn validate(
10779        &self,
10780        _req: crate::model::region_url_maps::ValidateRequest,
10781        _options: crate::RequestOptions,
10782    ) -> impl std::future::Future<
10783        Output = crate::Result<crate::Response<crate::model::UrlMapsValidateResponse>>,
10784    > + Send {
10785        gaxi::unimplemented::unimplemented_stub()
10786    }
10787
10788    /// Implements [super::client::RegionUrlMaps::get_operation].
10789    fn get_operation(
10790        &self,
10791        _req: crate::model::region_operations::GetRequest,
10792        _options: crate::RequestOptions,
10793    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10794    {
10795        gaxi::unimplemented::unimplemented_stub()
10796    }
10797
10798    /// Returns the polling error policy.
10799    ///
10800    /// When mocking, this method is typically irrelevant. Do not try to verify
10801    /// it is called by your mocks.
10802    fn get_polling_error_policy(
10803        &self,
10804        _options: &crate::RequestOptions,
10805    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10806        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10807    }
10808
10809    /// Returns the polling backoff policy.
10810    ///
10811    /// When mocking, this method is typically irrelevant. Do not try to verify
10812    /// it is called by your mocks.
10813    fn get_polling_backoff_policy(
10814        &self,
10815        _options: &crate::RequestOptions,
10816    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10817        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10818    }
10819}
10820
10821/// Defines the trait used to implement [super::client::RegionZones].
10822///
10823/// Application developers may need to implement this trait to mock
10824/// `client::RegionZones`.  In other use-cases, application developers only
10825/// use `client::RegionZones` and need not be concerned with this trait or
10826/// its implementations.
10827///
10828/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10829/// too. To avoid breaking applications the trait provides a default
10830/// implementation of each method. Most of these implementations just return an
10831/// error.
10832#[cfg(feature = "region-zones")]
10833#[cfg_attr(docsrs, doc(cfg(feature = "region-zones")))]
10834pub trait RegionZones: std::fmt::Debug + Send + Sync {
10835    /// Implements [super::client::RegionZones::list].
10836    fn list(
10837        &self,
10838        _req: crate::model::region_zones::ListRequest,
10839        _options: crate::RequestOptions,
10840    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ZoneList>>> + Send
10841    {
10842        gaxi::unimplemented::unimplemented_stub()
10843    }
10844}
10845
10846/// Defines the trait used to implement [super::client::Regions].
10847///
10848/// Application developers may need to implement this trait to mock
10849/// `client::Regions`.  In other use-cases, application developers only
10850/// use `client::Regions` and need not be concerned with this trait or
10851/// its implementations.
10852///
10853/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10854/// too. To avoid breaking applications the trait provides a default
10855/// implementation of each method. Most of these implementations just return an
10856/// error.
10857#[cfg(feature = "regions")]
10858#[cfg_attr(docsrs, doc(cfg(feature = "regions")))]
10859pub trait Regions: std::fmt::Debug + Send + Sync {
10860    /// Implements [super::client::Regions::get].
10861    fn get(
10862        &self,
10863        _req: crate::model::regions::GetRequest,
10864        _options: crate::RequestOptions,
10865    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Region>>> + Send
10866    {
10867        gaxi::unimplemented::unimplemented_stub()
10868    }
10869
10870    /// Implements [super::client::Regions::list].
10871    fn list(
10872        &self,
10873        _req: crate::model::regions::ListRequest,
10874        _options: crate::RequestOptions,
10875    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RegionList>>> + Send
10876    {
10877        gaxi::unimplemented::unimplemented_stub()
10878    }
10879}
10880
10881/// Defines the trait used to implement [super::client::ReservationBlocks].
10882///
10883/// Application developers may need to implement this trait to mock
10884/// `client::ReservationBlocks`.  In other use-cases, application developers only
10885/// use `client::ReservationBlocks` and need not be concerned with this trait or
10886/// its implementations.
10887///
10888/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10889/// too. To avoid breaking applications the trait provides a default
10890/// implementation of each method. Most of these implementations just return an
10891/// error.
10892#[cfg(feature = "reservation-blocks")]
10893#[cfg_attr(docsrs, doc(cfg(feature = "reservation-blocks")))]
10894pub trait ReservationBlocks: std::fmt::Debug + Send + Sync {
10895    /// Implements [super::client::ReservationBlocks::get].
10896    fn get(
10897        &self,
10898        _req: crate::model::reservation_blocks::GetRequest,
10899        _options: crate::RequestOptions,
10900    ) -> impl std::future::Future<
10901        Output = crate::Result<crate::Response<crate::model::ReservationBlocksGetResponse>>,
10902    > + Send {
10903        gaxi::unimplemented::unimplemented_stub()
10904    }
10905
10906    /// Implements [super::client::ReservationBlocks::get_iam_policy].
10907    fn get_iam_policy(
10908        &self,
10909        _req: crate::model::reservation_blocks::GetIamPolicyRequest,
10910        _options: crate::RequestOptions,
10911    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10912    {
10913        gaxi::unimplemented::unimplemented_stub()
10914    }
10915
10916    /// Implements [super::client::ReservationBlocks::list].
10917    fn list(
10918        &self,
10919        _req: crate::model::reservation_blocks::ListRequest,
10920        _options: crate::RequestOptions,
10921    ) -> impl std::future::Future<
10922        Output = crate::Result<crate::Response<crate::model::ReservationBlocksListResponse>>,
10923    > + Send {
10924        gaxi::unimplemented::unimplemented_stub()
10925    }
10926
10927    /// Implements [super::client::ReservationBlocks::perform_maintenance].
10928    fn perform_maintenance(
10929        &self,
10930        _req: crate::model::reservation_blocks::PerformMaintenanceRequest,
10931        _options: crate::RequestOptions,
10932    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10933    {
10934        gaxi::unimplemented::unimplemented_stub()
10935    }
10936
10937    /// Implements [super::client::ReservationBlocks::set_iam_policy].
10938    fn set_iam_policy(
10939        &self,
10940        _req: crate::model::reservation_blocks::SetIamPolicyRequest,
10941        _options: crate::RequestOptions,
10942    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10943    {
10944        gaxi::unimplemented::unimplemented_stub()
10945    }
10946
10947    /// Implements [super::client::ReservationBlocks::test_iam_permissions].
10948    fn test_iam_permissions(
10949        &self,
10950        _req: crate::model::reservation_blocks::TestIamPermissionsRequest,
10951        _options: crate::RequestOptions,
10952    ) -> impl std::future::Future<
10953        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10954    > + Send {
10955        gaxi::unimplemented::unimplemented_stub()
10956    }
10957
10958    /// Implements [super::client::ReservationBlocks::get_operation].
10959    fn get_operation(
10960        &self,
10961        _req: crate::model::zone_operations::GetRequest,
10962        _options: crate::RequestOptions,
10963    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10964    {
10965        gaxi::unimplemented::unimplemented_stub()
10966    }
10967
10968    /// Returns the polling error policy.
10969    ///
10970    /// When mocking, this method is typically irrelevant. Do not try to verify
10971    /// it is called by your mocks.
10972    fn get_polling_error_policy(
10973        &self,
10974        _options: &crate::RequestOptions,
10975    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10976        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10977    }
10978
10979    /// Returns the polling backoff policy.
10980    ///
10981    /// When mocking, this method is typically irrelevant. Do not try to verify
10982    /// it is called by your mocks.
10983    fn get_polling_backoff_policy(
10984        &self,
10985        _options: &crate::RequestOptions,
10986    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10987        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10988    }
10989}
10990
10991/// Defines the trait used to implement [super::client::ReservationSlots].
10992///
10993/// Application developers may need to implement this trait to mock
10994/// `client::ReservationSlots`.  In other use-cases, application developers only
10995/// use `client::ReservationSlots` and need not be concerned with this trait or
10996/// its implementations.
10997///
10998/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10999/// too. To avoid breaking applications the trait provides a default
11000/// implementation of each method. Most of these implementations just return an
11001/// error.
11002#[cfg(feature = "reservation-slots")]
11003#[cfg_attr(docsrs, doc(cfg(feature = "reservation-slots")))]
11004pub trait ReservationSlots: std::fmt::Debug + Send + Sync {
11005    /// Implements [super::client::ReservationSlots::get].
11006    fn get(
11007        &self,
11008        _req: crate::model::reservation_slots::GetRequest,
11009        _options: crate::RequestOptions,
11010    ) -> impl std::future::Future<
11011        Output = crate::Result<crate::Response<crate::model::ReservationSlotsGetResponse>>,
11012    > + Send {
11013        gaxi::unimplemented::unimplemented_stub()
11014    }
11015
11016    /// Implements [super::client::ReservationSlots::get_version].
11017    fn get_version(
11018        &self,
11019        _req: crate::model::reservation_slots::GetVersionRequest,
11020        _options: crate::RequestOptions,
11021    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11022    {
11023        gaxi::unimplemented::unimplemented_stub()
11024    }
11025
11026    /// Implements [super::client::ReservationSlots::list].
11027    fn list(
11028        &self,
11029        _req: crate::model::reservation_slots::ListRequest,
11030        _options: crate::RequestOptions,
11031    ) -> impl std::future::Future<
11032        Output = crate::Result<crate::Response<crate::model::ReservationSlotsListResponse>>,
11033    > + Send {
11034        gaxi::unimplemented::unimplemented_stub()
11035    }
11036
11037    /// Implements [super::client::ReservationSlots::update].
11038    fn update(
11039        &self,
11040        _req: crate::model::reservation_slots::UpdateRequest,
11041        _options: crate::RequestOptions,
11042    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11043    {
11044        gaxi::unimplemented::unimplemented_stub()
11045    }
11046
11047    /// Implements [super::client::ReservationSlots::get_operation].
11048    fn get_operation(
11049        &self,
11050        _req: crate::model::zone_operations::GetRequest,
11051        _options: crate::RequestOptions,
11052    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11053    {
11054        gaxi::unimplemented::unimplemented_stub()
11055    }
11056
11057    /// Returns the polling error policy.
11058    ///
11059    /// When mocking, this method is typically irrelevant. Do not try to verify
11060    /// it is called by your mocks.
11061    fn get_polling_error_policy(
11062        &self,
11063        _options: &crate::RequestOptions,
11064    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11065        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11066    }
11067
11068    /// Returns the polling backoff policy.
11069    ///
11070    /// When mocking, this method is typically irrelevant. Do not try to verify
11071    /// it is called by your mocks.
11072    fn get_polling_backoff_policy(
11073        &self,
11074        _options: &crate::RequestOptions,
11075    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11076        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11077    }
11078}
11079
11080/// Defines the trait used to implement [super::client::ReservationSubBlocks].
11081///
11082/// Application developers may need to implement this trait to mock
11083/// `client::ReservationSubBlocks`.  In other use-cases, application developers only
11084/// use `client::ReservationSubBlocks` and need not be concerned with this trait or
11085/// its implementations.
11086///
11087/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11088/// too. To avoid breaking applications the trait provides a default
11089/// implementation of each method. Most of these implementations just return an
11090/// error.
11091#[cfg(feature = "reservation-sub-blocks")]
11092#[cfg_attr(docsrs, doc(cfg(feature = "reservation-sub-blocks")))]
11093pub trait ReservationSubBlocks: std::fmt::Debug + Send + Sync {
11094    /// Implements [super::client::ReservationSubBlocks::get].
11095    fn get(
11096        &self,
11097        _req: crate::model::reservation_sub_blocks::GetRequest,
11098        _options: crate::RequestOptions,
11099    ) -> impl std::future::Future<
11100        Output = crate::Result<crate::Response<crate::model::ReservationSubBlocksGetResponse>>,
11101    > + Send {
11102        gaxi::unimplemented::unimplemented_stub()
11103    }
11104
11105    /// Implements [super::client::ReservationSubBlocks::get_iam_policy].
11106    fn get_iam_policy(
11107        &self,
11108        _req: crate::model::reservation_sub_blocks::GetIamPolicyRequest,
11109        _options: crate::RequestOptions,
11110    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11111    {
11112        gaxi::unimplemented::unimplemented_stub()
11113    }
11114
11115    /// Implements [super::client::ReservationSubBlocks::get_version].
11116    fn get_version(
11117        &self,
11118        _req: crate::model::reservation_sub_blocks::GetVersionRequest,
11119        _options: crate::RequestOptions,
11120    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11121    {
11122        gaxi::unimplemented::unimplemented_stub()
11123    }
11124
11125    /// Implements [super::client::ReservationSubBlocks::list].
11126    fn list(
11127        &self,
11128        _req: crate::model::reservation_sub_blocks::ListRequest,
11129        _options: crate::RequestOptions,
11130    ) -> impl std::future::Future<
11131        Output = crate::Result<crate::Response<crate::model::ReservationSubBlocksListResponse>>,
11132    > + Send {
11133        gaxi::unimplemented::unimplemented_stub()
11134    }
11135
11136    /// Implements [super::client::ReservationSubBlocks::perform_maintenance].
11137    fn perform_maintenance(
11138        &self,
11139        _req: crate::model::reservation_sub_blocks::PerformMaintenanceRequest,
11140        _options: crate::RequestOptions,
11141    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11142    {
11143        gaxi::unimplemented::unimplemented_stub()
11144    }
11145
11146    /// Implements [super::client::ReservationSubBlocks::report_faulty].
11147    fn report_faulty(
11148        &self,
11149        _req: crate::model::reservation_sub_blocks::ReportFaultyRequest,
11150        _options: crate::RequestOptions,
11151    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11152    {
11153        gaxi::unimplemented::unimplemented_stub()
11154    }
11155
11156    /// Implements [super::client::ReservationSubBlocks::set_iam_policy].
11157    fn set_iam_policy(
11158        &self,
11159        _req: crate::model::reservation_sub_blocks::SetIamPolicyRequest,
11160        _options: crate::RequestOptions,
11161    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11162    {
11163        gaxi::unimplemented::unimplemented_stub()
11164    }
11165
11166    /// Implements [super::client::ReservationSubBlocks::test_iam_permissions].
11167    fn test_iam_permissions(
11168        &self,
11169        _req: crate::model::reservation_sub_blocks::TestIamPermissionsRequest,
11170        _options: crate::RequestOptions,
11171    ) -> impl std::future::Future<
11172        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11173    > + Send {
11174        gaxi::unimplemented::unimplemented_stub()
11175    }
11176
11177    /// Implements [super::client::ReservationSubBlocks::get_operation].
11178    fn get_operation(
11179        &self,
11180        _req: crate::model::zone_operations::GetRequest,
11181        _options: crate::RequestOptions,
11182    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11183    {
11184        gaxi::unimplemented::unimplemented_stub()
11185    }
11186
11187    /// Returns the polling error policy.
11188    ///
11189    /// When mocking, this method is typically irrelevant. Do not try to verify
11190    /// it is called by your mocks.
11191    fn get_polling_error_policy(
11192        &self,
11193        _options: &crate::RequestOptions,
11194    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11195        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11196    }
11197
11198    /// Returns the polling backoff policy.
11199    ///
11200    /// When mocking, this method is typically irrelevant. Do not try to verify
11201    /// it is called by your mocks.
11202    fn get_polling_backoff_policy(
11203        &self,
11204        _options: &crate::RequestOptions,
11205    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11206        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11207    }
11208}
11209
11210/// Defines the trait used to implement [super::client::Reservations].
11211///
11212/// Application developers may need to implement this trait to mock
11213/// `client::Reservations`.  In other use-cases, application developers only
11214/// use `client::Reservations` and need not be concerned with this trait or
11215/// its implementations.
11216///
11217/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11218/// too. To avoid breaking applications the trait provides a default
11219/// implementation of each method. Most of these implementations just return an
11220/// error.
11221#[cfg(feature = "reservations")]
11222#[cfg_attr(docsrs, doc(cfg(feature = "reservations")))]
11223pub trait Reservations: std::fmt::Debug + Send + Sync {
11224    /// Implements [super::client::Reservations::aggregated_list].
11225    fn aggregated_list(
11226        &self,
11227        _req: crate::model::reservations::AggregatedListRequest,
11228        _options: crate::RequestOptions,
11229    ) -> impl std::future::Future<
11230        Output = crate::Result<crate::Response<crate::model::ReservationAggregatedList>>,
11231    > + Send {
11232        gaxi::unimplemented::unimplemented_stub()
11233    }
11234
11235    /// Implements [super::client::Reservations::delete].
11236    fn delete(
11237        &self,
11238        _req: crate::model::reservations::DeleteRequest,
11239        _options: crate::RequestOptions,
11240    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11241    {
11242        gaxi::unimplemented::unimplemented_stub()
11243    }
11244
11245    /// Implements [super::client::Reservations::get].
11246    fn get(
11247        &self,
11248        _req: crate::model::reservations::GetRequest,
11249        _options: crate::RequestOptions,
11250    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Reservation>>>
11251    + Send {
11252        gaxi::unimplemented::unimplemented_stub()
11253    }
11254
11255    /// Implements [super::client::Reservations::get_iam_policy].
11256    fn get_iam_policy(
11257        &self,
11258        _req: crate::model::reservations::GetIamPolicyRequest,
11259        _options: crate::RequestOptions,
11260    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11261    {
11262        gaxi::unimplemented::unimplemented_stub()
11263    }
11264
11265    /// Implements [super::client::Reservations::insert].
11266    fn insert(
11267        &self,
11268        _req: crate::model::reservations::InsertRequest,
11269        _options: crate::RequestOptions,
11270    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11271    {
11272        gaxi::unimplemented::unimplemented_stub()
11273    }
11274
11275    /// Implements [super::client::Reservations::list].
11276    fn list(
11277        &self,
11278        _req: crate::model::reservations::ListRequest,
11279        _options: crate::RequestOptions,
11280    ) -> impl std::future::Future<
11281        Output = crate::Result<crate::Response<crate::model::ReservationList>>,
11282    > + Send {
11283        gaxi::unimplemented::unimplemented_stub()
11284    }
11285
11286    /// Implements [super::client::Reservations::perform_maintenance].
11287    fn perform_maintenance(
11288        &self,
11289        _req: crate::model::reservations::PerformMaintenanceRequest,
11290        _options: crate::RequestOptions,
11291    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11292    {
11293        gaxi::unimplemented::unimplemented_stub()
11294    }
11295
11296    /// Implements [super::client::Reservations::resize].
11297    fn resize(
11298        &self,
11299        _req: crate::model::reservations::ResizeRequest,
11300        _options: crate::RequestOptions,
11301    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11302    {
11303        gaxi::unimplemented::unimplemented_stub()
11304    }
11305
11306    /// Implements [super::client::Reservations::set_iam_policy].
11307    fn set_iam_policy(
11308        &self,
11309        _req: crate::model::reservations::SetIamPolicyRequest,
11310        _options: crate::RequestOptions,
11311    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11312    {
11313        gaxi::unimplemented::unimplemented_stub()
11314    }
11315
11316    /// Implements [super::client::Reservations::test_iam_permissions].
11317    fn test_iam_permissions(
11318        &self,
11319        _req: crate::model::reservations::TestIamPermissionsRequest,
11320        _options: crate::RequestOptions,
11321    ) -> impl std::future::Future<
11322        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11323    > + Send {
11324        gaxi::unimplemented::unimplemented_stub()
11325    }
11326
11327    /// Implements [super::client::Reservations::update].
11328    fn update(
11329        &self,
11330        _req: crate::model::reservations::UpdateRequest,
11331        _options: crate::RequestOptions,
11332    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11333    {
11334        gaxi::unimplemented::unimplemented_stub()
11335    }
11336
11337    /// Implements [super::client::Reservations::get_operation].
11338    fn get_operation(
11339        &self,
11340        _req: crate::model::zone_operations::GetRequest,
11341        _options: crate::RequestOptions,
11342    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11343    {
11344        gaxi::unimplemented::unimplemented_stub()
11345    }
11346
11347    /// Returns the polling error policy.
11348    ///
11349    /// When mocking, this method is typically irrelevant. Do not try to verify
11350    /// it is called by your mocks.
11351    fn get_polling_error_policy(
11352        &self,
11353        _options: &crate::RequestOptions,
11354    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11355        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11356    }
11357
11358    /// Returns the polling backoff policy.
11359    ///
11360    /// When mocking, this method is typically irrelevant. Do not try to verify
11361    /// it is called by your mocks.
11362    fn get_polling_backoff_policy(
11363        &self,
11364        _options: &crate::RequestOptions,
11365    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11366        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11367    }
11368}
11369
11370/// Defines the trait used to implement [super::client::ResourcePolicies].
11371///
11372/// Application developers may need to implement this trait to mock
11373/// `client::ResourcePolicies`.  In other use-cases, application developers only
11374/// use `client::ResourcePolicies` and need not be concerned with this trait or
11375/// its implementations.
11376///
11377/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11378/// too. To avoid breaking applications the trait provides a default
11379/// implementation of each method. Most of these implementations just return an
11380/// error.
11381#[cfg(feature = "resource-policies")]
11382#[cfg_attr(docsrs, doc(cfg(feature = "resource-policies")))]
11383pub trait ResourcePolicies: std::fmt::Debug + Send + Sync {
11384    /// Implements [super::client::ResourcePolicies::aggregated_list].
11385    fn aggregated_list(
11386        &self,
11387        _req: crate::model::resource_policies::AggregatedListRequest,
11388        _options: crate::RequestOptions,
11389    ) -> impl std::future::Future<
11390        Output = crate::Result<crate::Response<crate::model::ResourcePolicyAggregatedList>>,
11391    > + Send {
11392        gaxi::unimplemented::unimplemented_stub()
11393    }
11394
11395    /// Implements [super::client::ResourcePolicies::delete].
11396    fn delete(
11397        &self,
11398        _req: crate::model::resource_policies::DeleteRequest,
11399        _options: crate::RequestOptions,
11400    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11401    {
11402        gaxi::unimplemented::unimplemented_stub()
11403    }
11404
11405    /// Implements [super::client::ResourcePolicies::get].
11406    fn get(
11407        &self,
11408        _req: crate::model::resource_policies::GetRequest,
11409        _options: crate::RequestOptions,
11410    ) -> impl std::future::Future<
11411        Output = crate::Result<crate::Response<crate::model::ResourcePolicy>>,
11412    > + Send {
11413        gaxi::unimplemented::unimplemented_stub()
11414    }
11415
11416    /// Implements [super::client::ResourcePolicies::get_iam_policy].
11417    fn get_iam_policy(
11418        &self,
11419        _req: crate::model::resource_policies::GetIamPolicyRequest,
11420        _options: crate::RequestOptions,
11421    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11422    {
11423        gaxi::unimplemented::unimplemented_stub()
11424    }
11425
11426    /// Implements [super::client::ResourcePolicies::insert].
11427    fn insert(
11428        &self,
11429        _req: crate::model::resource_policies::InsertRequest,
11430        _options: crate::RequestOptions,
11431    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11432    {
11433        gaxi::unimplemented::unimplemented_stub()
11434    }
11435
11436    /// Implements [super::client::ResourcePolicies::list].
11437    fn list(
11438        &self,
11439        _req: crate::model::resource_policies::ListRequest,
11440        _options: crate::RequestOptions,
11441    ) -> impl std::future::Future<
11442        Output = crate::Result<crate::Response<crate::model::ResourcePolicyList>>,
11443    > + Send {
11444        gaxi::unimplemented::unimplemented_stub()
11445    }
11446
11447    /// Implements [super::client::ResourcePolicies::patch].
11448    fn patch(
11449        &self,
11450        _req: crate::model::resource_policies::PatchRequest,
11451        _options: crate::RequestOptions,
11452    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11453    {
11454        gaxi::unimplemented::unimplemented_stub()
11455    }
11456
11457    /// Implements [super::client::ResourcePolicies::set_iam_policy].
11458    fn set_iam_policy(
11459        &self,
11460        _req: crate::model::resource_policies::SetIamPolicyRequest,
11461        _options: crate::RequestOptions,
11462    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11463    {
11464        gaxi::unimplemented::unimplemented_stub()
11465    }
11466
11467    /// Implements [super::client::ResourcePolicies::test_iam_permissions].
11468    fn test_iam_permissions(
11469        &self,
11470        _req: crate::model::resource_policies::TestIamPermissionsRequest,
11471        _options: crate::RequestOptions,
11472    ) -> impl std::future::Future<
11473        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11474    > + Send {
11475        gaxi::unimplemented::unimplemented_stub()
11476    }
11477
11478    /// Implements [super::client::ResourcePolicies::get_operation].
11479    fn get_operation(
11480        &self,
11481        _req: crate::model::region_operations::GetRequest,
11482        _options: crate::RequestOptions,
11483    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11484    {
11485        gaxi::unimplemented::unimplemented_stub()
11486    }
11487
11488    /// Returns the polling error policy.
11489    ///
11490    /// When mocking, this method is typically irrelevant. Do not try to verify
11491    /// it is called by your mocks.
11492    fn get_polling_error_policy(
11493        &self,
11494        _options: &crate::RequestOptions,
11495    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11496        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11497    }
11498
11499    /// Returns the polling backoff policy.
11500    ///
11501    /// When mocking, this method is typically irrelevant. Do not try to verify
11502    /// it is called by your mocks.
11503    fn get_polling_backoff_policy(
11504        &self,
11505        _options: &crate::RequestOptions,
11506    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11507        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11508    }
11509}
11510
11511/// Defines the trait used to implement [super::client::Routers].
11512///
11513/// Application developers may need to implement this trait to mock
11514/// `client::Routers`.  In other use-cases, application developers only
11515/// use `client::Routers` and need not be concerned with this trait or
11516/// its implementations.
11517///
11518/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11519/// too. To avoid breaking applications the trait provides a default
11520/// implementation of each method. Most of these implementations just return an
11521/// error.
11522#[cfg(feature = "routers")]
11523#[cfg_attr(docsrs, doc(cfg(feature = "routers")))]
11524pub trait Routers: std::fmt::Debug + Send + Sync {
11525    /// Implements [super::client::Routers::aggregated_list].
11526    fn aggregated_list(
11527        &self,
11528        _req: crate::model::routers::AggregatedListRequest,
11529        _options: crate::RequestOptions,
11530    ) -> impl std::future::Future<
11531        Output = crate::Result<crate::Response<crate::model::RouterAggregatedList>>,
11532    > + Send {
11533        gaxi::unimplemented::unimplemented_stub()
11534    }
11535
11536    /// Implements [super::client::Routers::delete].
11537    fn delete(
11538        &self,
11539        _req: crate::model::routers::DeleteRequest,
11540        _options: crate::RequestOptions,
11541    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11542    {
11543        gaxi::unimplemented::unimplemented_stub()
11544    }
11545
11546    /// Implements [super::client::Routers::delete_route_policy].
11547    fn delete_route_policy(
11548        &self,
11549        _req: crate::model::routers::DeleteRoutePolicyRequest,
11550        _options: crate::RequestOptions,
11551    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11552    {
11553        gaxi::unimplemented::unimplemented_stub()
11554    }
11555
11556    /// Implements [super::client::Routers::get].
11557    fn get(
11558        &self,
11559        _req: crate::model::routers::GetRequest,
11560        _options: crate::RequestOptions,
11561    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Router>>> + Send
11562    {
11563        gaxi::unimplemented::unimplemented_stub()
11564    }
11565
11566    /// Implements [super::client::Routers::get_nat_ip_info].
11567    fn get_nat_ip_info(
11568        &self,
11569        _req: crate::model::routers::GetNatIpInfoRequest,
11570        _options: crate::RequestOptions,
11571    ) -> impl std::future::Future<
11572        Output = crate::Result<crate::Response<crate::model::NatIpInfoResponse>>,
11573    > + Send {
11574        gaxi::unimplemented::unimplemented_stub()
11575    }
11576
11577    /// Implements [super::client::Routers::get_nat_mapping_info].
11578    fn get_nat_mapping_info(
11579        &self,
11580        _req: crate::model::routers::GetNatMappingInfoRequest,
11581        _options: crate::RequestOptions,
11582    ) -> impl std::future::Future<
11583        Output = crate::Result<crate::Response<crate::model::VmEndpointNatMappingsList>>,
11584    > + Send {
11585        gaxi::unimplemented::unimplemented_stub()
11586    }
11587
11588    /// Implements [super::client::Routers::get_route_policy].
11589    fn get_route_policy(
11590        &self,
11591        _req: crate::model::routers::GetRoutePolicyRequest,
11592        _options: crate::RequestOptions,
11593    ) -> impl std::future::Future<
11594        Output = crate::Result<crate::Response<crate::model::RoutersGetRoutePolicyResponse>>,
11595    > + Send {
11596        gaxi::unimplemented::unimplemented_stub()
11597    }
11598
11599    /// Implements [super::client::Routers::get_router_status].
11600    fn get_router_status(
11601        &self,
11602        _req: crate::model::routers::GetRouterStatusRequest,
11603        _options: crate::RequestOptions,
11604    ) -> impl std::future::Future<
11605        Output = crate::Result<crate::Response<crate::model::RouterStatusResponse>>,
11606    > + Send {
11607        gaxi::unimplemented::unimplemented_stub()
11608    }
11609
11610    /// Implements [super::client::Routers::insert].
11611    fn insert(
11612        &self,
11613        _req: crate::model::routers::InsertRequest,
11614        _options: crate::RequestOptions,
11615    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11616    {
11617        gaxi::unimplemented::unimplemented_stub()
11618    }
11619
11620    /// Implements [super::client::Routers::list].
11621    fn list(
11622        &self,
11623        _req: crate::model::routers::ListRequest,
11624        _options: crate::RequestOptions,
11625    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RouterList>>> + Send
11626    {
11627        gaxi::unimplemented::unimplemented_stub()
11628    }
11629
11630    /// Implements [super::client::Routers::list_bgp_routes].
11631    fn list_bgp_routes(
11632        &self,
11633        _req: crate::model::routers::ListBgpRoutesRequest,
11634        _options: crate::RequestOptions,
11635    ) -> impl std::future::Future<
11636        Output = crate::Result<crate::Response<crate::model::RoutersListBgpRoutes>>,
11637    > + Send {
11638        gaxi::unimplemented::unimplemented_stub()
11639    }
11640
11641    /// Implements [super::client::Routers::list_route_policies].
11642    fn list_route_policies(
11643        &self,
11644        _req: crate::model::routers::ListRoutePoliciesRequest,
11645        _options: crate::RequestOptions,
11646    ) -> impl std::future::Future<
11647        Output = crate::Result<crate::Response<crate::model::RoutersListRoutePolicies>>,
11648    > + Send {
11649        gaxi::unimplemented::unimplemented_stub()
11650    }
11651
11652    /// Implements [super::client::Routers::patch].
11653    fn patch(
11654        &self,
11655        _req: crate::model::routers::PatchRequest,
11656        _options: crate::RequestOptions,
11657    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11658    {
11659        gaxi::unimplemented::unimplemented_stub()
11660    }
11661
11662    /// Implements [super::client::Routers::patch_route_policy].
11663    fn patch_route_policy(
11664        &self,
11665        _req: crate::model::routers::PatchRoutePolicyRequest,
11666        _options: crate::RequestOptions,
11667    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11668    {
11669        gaxi::unimplemented::unimplemented_stub()
11670    }
11671
11672    /// Implements [super::client::Routers::preview].
11673    fn preview(
11674        &self,
11675        _req: crate::model::routers::PreviewRequest,
11676        _options: crate::RequestOptions,
11677    ) -> impl std::future::Future<
11678        Output = crate::Result<crate::Response<crate::model::RoutersPreviewResponse>>,
11679    > + Send {
11680        gaxi::unimplemented::unimplemented_stub()
11681    }
11682
11683    /// Implements [super::client::Routers::update].
11684    fn update(
11685        &self,
11686        _req: crate::model::routers::UpdateRequest,
11687        _options: crate::RequestOptions,
11688    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11689    {
11690        gaxi::unimplemented::unimplemented_stub()
11691    }
11692
11693    /// Implements [super::client::Routers::update_route_policy].
11694    fn update_route_policy(
11695        &self,
11696        _req: crate::model::routers::UpdateRoutePolicyRequest,
11697        _options: crate::RequestOptions,
11698    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11699    {
11700        gaxi::unimplemented::unimplemented_stub()
11701    }
11702
11703    /// Implements [super::client::Routers::get_operation].
11704    fn get_operation(
11705        &self,
11706        _req: crate::model::region_operations::GetRequest,
11707        _options: crate::RequestOptions,
11708    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11709    {
11710        gaxi::unimplemented::unimplemented_stub()
11711    }
11712
11713    /// Returns the polling error policy.
11714    ///
11715    /// When mocking, this method is typically irrelevant. Do not try to verify
11716    /// it is called by your mocks.
11717    fn get_polling_error_policy(
11718        &self,
11719        _options: &crate::RequestOptions,
11720    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11721        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11722    }
11723
11724    /// Returns the polling backoff policy.
11725    ///
11726    /// When mocking, this method is typically irrelevant. Do not try to verify
11727    /// it is called by your mocks.
11728    fn get_polling_backoff_policy(
11729        &self,
11730        _options: &crate::RequestOptions,
11731    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11732        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11733    }
11734}
11735
11736/// Defines the trait used to implement [super::client::Routes].
11737///
11738/// Application developers may need to implement this trait to mock
11739/// `client::Routes`.  In other use-cases, application developers only
11740/// use `client::Routes` and need not be concerned with this trait or
11741/// its implementations.
11742///
11743/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11744/// too. To avoid breaking applications the trait provides a default
11745/// implementation of each method. Most of these implementations just return an
11746/// error.
11747#[cfg(feature = "routes")]
11748#[cfg_attr(docsrs, doc(cfg(feature = "routes")))]
11749pub trait Routes: std::fmt::Debug + Send + Sync {
11750    /// Implements [super::client::Routes::delete].
11751    fn delete(
11752        &self,
11753        _req: crate::model::routes::DeleteRequest,
11754        _options: crate::RequestOptions,
11755    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11756    {
11757        gaxi::unimplemented::unimplemented_stub()
11758    }
11759
11760    /// Implements [super::client::Routes::get].
11761    fn get(
11762        &self,
11763        _req: crate::model::routes::GetRequest,
11764        _options: crate::RequestOptions,
11765    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Route>>> + Send
11766    {
11767        gaxi::unimplemented::unimplemented_stub()
11768    }
11769
11770    /// Implements [super::client::Routes::insert].
11771    fn insert(
11772        &self,
11773        _req: crate::model::routes::InsertRequest,
11774        _options: crate::RequestOptions,
11775    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11776    {
11777        gaxi::unimplemented::unimplemented_stub()
11778    }
11779
11780    /// Implements [super::client::Routes::list].
11781    fn list(
11782        &self,
11783        _req: crate::model::routes::ListRequest,
11784        _options: crate::RequestOptions,
11785    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RouteList>>> + Send
11786    {
11787        gaxi::unimplemented::unimplemented_stub()
11788    }
11789
11790    /// Implements [super::client::Routes::test_iam_permissions].
11791    fn test_iam_permissions(
11792        &self,
11793        _req: crate::model::routes::TestIamPermissionsRequest,
11794        _options: crate::RequestOptions,
11795    ) -> impl std::future::Future<
11796        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11797    > + Send {
11798        gaxi::unimplemented::unimplemented_stub()
11799    }
11800
11801    /// Implements [super::client::Routes::get_operation].
11802    fn get_operation(
11803        &self,
11804        _req: crate::model::global_operations::GetRequest,
11805        _options: crate::RequestOptions,
11806    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11807    {
11808        gaxi::unimplemented::unimplemented_stub()
11809    }
11810
11811    /// Returns the polling error policy.
11812    ///
11813    /// When mocking, this method is typically irrelevant. Do not try to verify
11814    /// it is called by your mocks.
11815    fn get_polling_error_policy(
11816        &self,
11817        _options: &crate::RequestOptions,
11818    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11819        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11820    }
11821
11822    /// Returns the polling backoff policy.
11823    ///
11824    /// When mocking, this method is typically irrelevant. Do not try to verify
11825    /// it is called by your mocks.
11826    fn get_polling_backoff_policy(
11827        &self,
11828        _options: &crate::RequestOptions,
11829    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11830        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11831    }
11832}
11833
11834/// Defines the trait used to implement [super::client::SecurityPolicies].
11835///
11836/// Application developers may need to implement this trait to mock
11837/// `client::SecurityPolicies`.  In other use-cases, application developers only
11838/// use `client::SecurityPolicies` and need not be concerned with this trait or
11839/// its implementations.
11840///
11841/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11842/// too. To avoid breaking applications the trait provides a default
11843/// implementation of each method. Most of these implementations just return an
11844/// error.
11845#[cfg(feature = "security-policies")]
11846#[cfg_attr(docsrs, doc(cfg(feature = "security-policies")))]
11847pub trait SecurityPolicies: std::fmt::Debug + Send + Sync {
11848    /// Implements [super::client::SecurityPolicies::add_rule].
11849    fn add_rule(
11850        &self,
11851        _req: crate::model::security_policies::AddRuleRequest,
11852        _options: crate::RequestOptions,
11853    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11854    {
11855        gaxi::unimplemented::unimplemented_stub()
11856    }
11857
11858    /// Implements [super::client::SecurityPolicies::aggregated_list].
11859    fn aggregated_list(
11860        &self,
11861        _req: crate::model::security_policies::AggregatedListRequest,
11862        _options: crate::RequestOptions,
11863    ) -> impl std::future::Future<
11864        Output = crate::Result<crate::Response<crate::model::SecurityPoliciesAggregatedList>>,
11865    > + Send {
11866        gaxi::unimplemented::unimplemented_stub()
11867    }
11868
11869    /// Implements [super::client::SecurityPolicies::delete].
11870    fn delete(
11871        &self,
11872        _req: crate::model::security_policies::DeleteRequest,
11873        _options: crate::RequestOptions,
11874    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11875    {
11876        gaxi::unimplemented::unimplemented_stub()
11877    }
11878
11879    /// Implements [super::client::SecurityPolicies::get].
11880    fn get(
11881        &self,
11882        _req: crate::model::security_policies::GetRequest,
11883        _options: crate::RequestOptions,
11884    ) -> impl std::future::Future<
11885        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
11886    > + Send {
11887        gaxi::unimplemented::unimplemented_stub()
11888    }
11889
11890    /// Implements [super::client::SecurityPolicies::get_rule].
11891    fn get_rule(
11892        &self,
11893        _req: crate::model::security_policies::GetRuleRequest,
11894        _options: crate::RequestOptions,
11895    ) -> impl std::future::Future<
11896        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
11897    > + Send {
11898        gaxi::unimplemented::unimplemented_stub()
11899    }
11900
11901    /// Implements [super::client::SecurityPolicies::insert].
11902    fn insert(
11903        &self,
11904        _req: crate::model::security_policies::InsertRequest,
11905        _options: crate::RequestOptions,
11906    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11907    {
11908        gaxi::unimplemented::unimplemented_stub()
11909    }
11910
11911    /// Implements [super::client::SecurityPolicies::list].
11912    fn list(
11913        &self,
11914        _req: crate::model::security_policies::ListRequest,
11915        _options: crate::RequestOptions,
11916    ) -> impl std::future::Future<
11917        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
11918    > + Send {
11919        gaxi::unimplemented::unimplemented_stub()
11920    }
11921
11922    /// Implements [super::client::SecurityPolicies::list_preconfigured_expression_sets].
11923    fn list_preconfigured_expression_sets(
11924        &self,
11925        _req: crate::model::security_policies::ListPreconfiguredExpressionSetsRequest,
11926        _options: crate::RequestOptions,
11927    ) -> impl std::future::Future<
11928        Output = crate::Result<
11929            crate::Response<crate::model::SecurityPoliciesListPreconfiguredExpressionSetsResponse>,
11930        >,
11931    > + Send {
11932        gaxi::unimplemented::unimplemented_stub()
11933    }
11934
11935    /// Implements [super::client::SecurityPolicies::patch].
11936    fn patch(
11937        &self,
11938        _req: crate::model::security_policies::PatchRequest,
11939        _options: crate::RequestOptions,
11940    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11941    {
11942        gaxi::unimplemented::unimplemented_stub()
11943    }
11944
11945    /// Implements [super::client::SecurityPolicies::patch_rule].
11946    fn patch_rule(
11947        &self,
11948        _req: crate::model::security_policies::PatchRuleRequest,
11949        _options: crate::RequestOptions,
11950    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11951    {
11952        gaxi::unimplemented::unimplemented_stub()
11953    }
11954
11955    /// Implements [super::client::SecurityPolicies::remove_rule].
11956    fn remove_rule(
11957        &self,
11958        _req: crate::model::security_policies::RemoveRuleRequest,
11959        _options: crate::RequestOptions,
11960    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11961    {
11962        gaxi::unimplemented::unimplemented_stub()
11963    }
11964
11965    /// Implements [super::client::SecurityPolicies::set_labels].
11966    fn set_labels(
11967        &self,
11968        _req: crate::model::security_policies::SetLabelsRequest,
11969        _options: crate::RequestOptions,
11970    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11971    {
11972        gaxi::unimplemented::unimplemented_stub()
11973    }
11974
11975    /// Implements [super::client::SecurityPolicies::get_operation].
11976    fn get_operation(
11977        &self,
11978        _req: crate::model::global_operations::GetRequest,
11979        _options: crate::RequestOptions,
11980    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11981    {
11982        gaxi::unimplemented::unimplemented_stub()
11983    }
11984
11985    /// Returns the polling error policy.
11986    ///
11987    /// When mocking, this method is typically irrelevant. Do not try to verify
11988    /// it is called by your mocks.
11989    fn get_polling_error_policy(
11990        &self,
11991        _options: &crate::RequestOptions,
11992    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11993        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11994    }
11995
11996    /// Returns the polling backoff policy.
11997    ///
11998    /// When mocking, this method is typically irrelevant. Do not try to verify
11999    /// it is called by your mocks.
12000    fn get_polling_backoff_policy(
12001        &self,
12002        _options: &crate::RequestOptions,
12003    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12004        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12005    }
12006}
12007
12008/// Defines the trait used to implement [super::client::ServiceAttachments].
12009///
12010/// Application developers may need to implement this trait to mock
12011/// `client::ServiceAttachments`.  In other use-cases, application developers only
12012/// use `client::ServiceAttachments` and need not be concerned with this trait or
12013/// its implementations.
12014///
12015/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12016/// too. To avoid breaking applications the trait provides a default
12017/// implementation of each method. Most of these implementations just return an
12018/// error.
12019#[cfg(feature = "service-attachments")]
12020#[cfg_attr(docsrs, doc(cfg(feature = "service-attachments")))]
12021pub trait ServiceAttachments: std::fmt::Debug + Send + Sync {
12022    /// Implements [super::client::ServiceAttachments::aggregated_list].
12023    fn aggregated_list(
12024        &self,
12025        _req: crate::model::service_attachments::AggregatedListRequest,
12026        _options: crate::RequestOptions,
12027    ) -> impl std::future::Future<
12028        Output = crate::Result<crate::Response<crate::model::ServiceAttachmentAggregatedList>>,
12029    > + Send {
12030        gaxi::unimplemented::unimplemented_stub()
12031    }
12032
12033    /// Implements [super::client::ServiceAttachments::delete].
12034    fn delete(
12035        &self,
12036        _req: crate::model::service_attachments::DeleteRequest,
12037        _options: crate::RequestOptions,
12038    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12039    {
12040        gaxi::unimplemented::unimplemented_stub()
12041    }
12042
12043    /// Implements [super::client::ServiceAttachments::get].
12044    fn get(
12045        &self,
12046        _req: crate::model::service_attachments::GetRequest,
12047        _options: crate::RequestOptions,
12048    ) -> impl std::future::Future<
12049        Output = crate::Result<crate::Response<crate::model::ServiceAttachment>>,
12050    > + Send {
12051        gaxi::unimplemented::unimplemented_stub()
12052    }
12053
12054    /// Implements [super::client::ServiceAttachments::get_iam_policy].
12055    fn get_iam_policy(
12056        &self,
12057        _req: crate::model::service_attachments::GetIamPolicyRequest,
12058        _options: crate::RequestOptions,
12059    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12060    {
12061        gaxi::unimplemented::unimplemented_stub()
12062    }
12063
12064    /// Implements [super::client::ServiceAttachments::insert].
12065    fn insert(
12066        &self,
12067        _req: crate::model::service_attachments::InsertRequest,
12068        _options: crate::RequestOptions,
12069    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12070    {
12071        gaxi::unimplemented::unimplemented_stub()
12072    }
12073
12074    /// Implements [super::client::ServiceAttachments::list].
12075    fn list(
12076        &self,
12077        _req: crate::model::service_attachments::ListRequest,
12078        _options: crate::RequestOptions,
12079    ) -> impl std::future::Future<
12080        Output = crate::Result<crate::Response<crate::model::ServiceAttachmentList>>,
12081    > + Send {
12082        gaxi::unimplemented::unimplemented_stub()
12083    }
12084
12085    /// Implements [super::client::ServiceAttachments::patch].
12086    fn patch(
12087        &self,
12088        _req: crate::model::service_attachments::PatchRequest,
12089        _options: crate::RequestOptions,
12090    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12091    {
12092        gaxi::unimplemented::unimplemented_stub()
12093    }
12094
12095    /// Implements [super::client::ServiceAttachments::set_iam_policy].
12096    fn set_iam_policy(
12097        &self,
12098        _req: crate::model::service_attachments::SetIamPolicyRequest,
12099        _options: crate::RequestOptions,
12100    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12101    {
12102        gaxi::unimplemented::unimplemented_stub()
12103    }
12104
12105    /// Implements [super::client::ServiceAttachments::test_iam_permissions].
12106    fn test_iam_permissions(
12107        &self,
12108        _req: crate::model::service_attachments::TestIamPermissionsRequest,
12109        _options: crate::RequestOptions,
12110    ) -> impl std::future::Future<
12111        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12112    > + Send {
12113        gaxi::unimplemented::unimplemented_stub()
12114    }
12115
12116    /// Implements [super::client::ServiceAttachments::get_operation].
12117    fn get_operation(
12118        &self,
12119        _req: crate::model::region_operations::GetRequest,
12120        _options: crate::RequestOptions,
12121    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12122    {
12123        gaxi::unimplemented::unimplemented_stub()
12124    }
12125
12126    /// Returns the polling error policy.
12127    ///
12128    /// When mocking, this method is typically irrelevant. Do not try to verify
12129    /// it is called by your mocks.
12130    fn get_polling_error_policy(
12131        &self,
12132        _options: &crate::RequestOptions,
12133    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12134        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12135    }
12136
12137    /// Returns the polling backoff policy.
12138    ///
12139    /// When mocking, this method is typically irrelevant. Do not try to verify
12140    /// it is called by your mocks.
12141    fn get_polling_backoff_policy(
12142        &self,
12143        _options: &crate::RequestOptions,
12144    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12145        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12146    }
12147}
12148
12149/// Defines the trait used to implement [super::client::SnapshotSettings].
12150///
12151/// Application developers may need to implement this trait to mock
12152/// `client::SnapshotSettings`.  In other use-cases, application developers only
12153/// use `client::SnapshotSettings` and need not be concerned with this trait or
12154/// its implementations.
12155///
12156/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12157/// too. To avoid breaking applications the trait provides a default
12158/// implementation of each method. Most of these implementations just return an
12159/// error.
12160#[cfg(feature = "snapshot-settings")]
12161#[cfg_attr(docsrs, doc(cfg(feature = "snapshot-settings")))]
12162pub trait SnapshotSettings: std::fmt::Debug + Send + Sync {
12163    /// Implements [super::client::SnapshotSettings::get].
12164    fn get(
12165        &self,
12166        _req: crate::model::snapshot_settings::GetRequest,
12167        _options: crate::RequestOptions,
12168    ) -> impl std::future::Future<
12169        Output = crate::Result<crate::Response<crate::model::SnapshotSettings>>,
12170    > + Send {
12171        gaxi::unimplemented::unimplemented_stub()
12172    }
12173
12174    /// Implements [super::client::SnapshotSettings::patch].
12175    fn patch(
12176        &self,
12177        _req: crate::model::snapshot_settings::PatchRequest,
12178        _options: crate::RequestOptions,
12179    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12180    {
12181        gaxi::unimplemented::unimplemented_stub()
12182    }
12183
12184    /// Implements [super::client::SnapshotSettings::get_operation].
12185    fn get_operation(
12186        &self,
12187        _req: crate::model::global_operations::GetRequest,
12188        _options: crate::RequestOptions,
12189    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12190    {
12191        gaxi::unimplemented::unimplemented_stub()
12192    }
12193
12194    /// Returns the polling error policy.
12195    ///
12196    /// When mocking, this method is typically irrelevant. Do not try to verify
12197    /// it is called by your mocks.
12198    fn get_polling_error_policy(
12199        &self,
12200        _options: &crate::RequestOptions,
12201    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12202        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12203    }
12204
12205    /// Returns the polling backoff policy.
12206    ///
12207    /// When mocking, this method is typically irrelevant. Do not try to verify
12208    /// it is called by your mocks.
12209    fn get_polling_backoff_policy(
12210        &self,
12211        _options: &crate::RequestOptions,
12212    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12213        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12214    }
12215}
12216
12217/// Defines the trait used to implement [super::client::Snapshots].
12218///
12219/// Application developers may need to implement this trait to mock
12220/// `client::Snapshots`.  In other use-cases, application developers only
12221/// use `client::Snapshots` and need not be concerned with this trait or
12222/// its implementations.
12223///
12224/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12225/// too. To avoid breaking applications the trait provides a default
12226/// implementation of each method. Most of these implementations just return an
12227/// error.
12228#[cfg(feature = "snapshots")]
12229#[cfg_attr(docsrs, doc(cfg(feature = "snapshots")))]
12230pub trait Snapshots: std::fmt::Debug + Send + Sync {
12231    /// Implements [super::client::Snapshots::delete].
12232    fn delete(
12233        &self,
12234        _req: crate::model::snapshots::DeleteRequest,
12235        _options: crate::RequestOptions,
12236    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12237    {
12238        gaxi::unimplemented::unimplemented_stub()
12239    }
12240
12241    /// Implements [super::client::Snapshots::get].
12242    fn get(
12243        &self,
12244        _req: crate::model::snapshots::GetRequest,
12245        _options: crate::RequestOptions,
12246    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Snapshot>>> + Send
12247    {
12248        gaxi::unimplemented::unimplemented_stub()
12249    }
12250
12251    /// Implements [super::client::Snapshots::get_iam_policy].
12252    fn get_iam_policy(
12253        &self,
12254        _req: crate::model::snapshots::GetIamPolicyRequest,
12255        _options: crate::RequestOptions,
12256    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12257    {
12258        gaxi::unimplemented::unimplemented_stub()
12259    }
12260
12261    /// Implements [super::client::Snapshots::insert].
12262    fn insert(
12263        &self,
12264        _req: crate::model::snapshots::InsertRequest,
12265        _options: crate::RequestOptions,
12266    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12267    {
12268        gaxi::unimplemented::unimplemented_stub()
12269    }
12270
12271    /// Implements [super::client::Snapshots::list].
12272    fn list(
12273        &self,
12274        _req: crate::model::snapshots::ListRequest,
12275        _options: crate::RequestOptions,
12276    ) -> impl std::future::Future<
12277        Output = crate::Result<crate::Response<crate::model::SnapshotList>>,
12278    > + Send {
12279        gaxi::unimplemented::unimplemented_stub()
12280    }
12281
12282    /// Implements [super::client::Snapshots::set_iam_policy].
12283    fn set_iam_policy(
12284        &self,
12285        _req: crate::model::snapshots::SetIamPolicyRequest,
12286        _options: crate::RequestOptions,
12287    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12288    {
12289        gaxi::unimplemented::unimplemented_stub()
12290    }
12291
12292    /// Implements [super::client::Snapshots::set_labels].
12293    fn set_labels(
12294        &self,
12295        _req: crate::model::snapshots::SetLabelsRequest,
12296        _options: crate::RequestOptions,
12297    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12298    {
12299        gaxi::unimplemented::unimplemented_stub()
12300    }
12301
12302    /// Implements [super::client::Snapshots::test_iam_permissions].
12303    fn test_iam_permissions(
12304        &self,
12305        _req: crate::model::snapshots::TestIamPermissionsRequest,
12306        _options: crate::RequestOptions,
12307    ) -> impl std::future::Future<
12308        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12309    > + Send {
12310        gaxi::unimplemented::unimplemented_stub()
12311    }
12312
12313    /// Implements [super::client::Snapshots::get_operation].
12314    fn get_operation(
12315        &self,
12316        _req: crate::model::global_operations::GetRequest,
12317        _options: crate::RequestOptions,
12318    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12319    {
12320        gaxi::unimplemented::unimplemented_stub()
12321    }
12322
12323    /// Returns the polling error policy.
12324    ///
12325    /// When mocking, this method is typically irrelevant. Do not try to verify
12326    /// it is called by your mocks.
12327    fn get_polling_error_policy(
12328        &self,
12329        _options: &crate::RequestOptions,
12330    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12331        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12332    }
12333
12334    /// Returns the polling backoff policy.
12335    ///
12336    /// When mocking, this method is typically irrelevant. Do not try to verify
12337    /// it is called by your mocks.
12338    fn get_polling_backoff_policy(
12339        &self,
12340        _options: &crate::RequestOptions,
12341    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12342        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12343    }
12344}
12345
12346/// Defines the trait used to implement [super::client::SslCertificates].
12347///
12348/// Application developers may need to implement this trait to mock
12349/// `client::SslCertificates`.  In other use-cases, application developers only
12350/// use `client::SslCertificates` and need not be concerned with this trait or
12351/// its implementations.
12352///
12353/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12354/// too. To avoid breaking applications the trait provides a default
12355/// implementation of each method. Most of these implementations just return an
12356/// error.
12357#[cfg(feature = "ssl-certificates")]
12358#[cfg_attr(docsrs, doc(cfg(feature = "ssl-certificates")))]
12359pub trait SslCertificates: std::fmt::Debug + Send + Sync {
12360    /// Implements [super::client::SslCertificates::aggregated_list].
12361    fn aggregated_list(
12362        &self,
12363        _req: crate::model::ssl_certificates::AggregatedListRequest,
12364        _options: crate::RequestOptions,
12365    ) -> impl std::future::Future<
12366        Output = crate::Result<crate::Response<crate::model::SslCertificateAggregatedList>>,
12367    > + Send {
12368        gaxi::unimplemented::unimplemented_stub()
12369    }
12370
12371    /// Implements [super::client::SslCertificates::delete].
12372    fn delete(
12373        &self,
12374        _req: crate::model::ssl_certificates::DeleteRequest,
12375        _options: crate::RequestOptions,
12376    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12377    {
12378        gaxi::unimplemented::unimplemented_stub()
12379    }
12380
12381    /// Implements [super::client::SslCertificates::get].
12382    fn get(
12383        &self,
12384        _req: crate::model::ssl_certificates::GetRequest,
12385        _options: crate::RequestOptions,
12386    ) -> impl std::future::Future<
12387        Output = crate::Result<crate::Response<crate::model::SslCertificate>>,
12388    > + Send {
12389        gaxi::unimplemented::unimplemented_stub()
12390    }
12391
12392    /// Implements [super::client::SslCertificates::insert].
12393    fn insert(
12394        &self,
12395        _req: crate::model::ssl_certificates::InsertRequest,
12396        _options: crate::RequestOptions,
12397    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12398    {
12399        gaxi::unimplemented::unimplemented_stub()
12400    }
12401
12402    /// Implements [super::client::SslCertificates::list].
12403    fn list(
12404        &self,
12405        _req: crate::model::ssl_certificates::ListRequest,
12406        _options: crate::RequestOptions,
12407    ) -> impl std::future::Future<
12408        Output = crate::Result<crate::Response<crate::model::SslCertificateList>>,
12409    > + Send {
12410        gaxi::unimplemented::unimplemented_stub()
12411    }
12412
12413    /// Implements [super::client::SslCertificates::get_operation].
12414    fn get_operation(
12415        &self,
12416        _req: crate::model::global_operations::GetRequest,
12417        _options: crate::RequestOptions,
12418    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12419    {
12420        gaxi::unimplemented::unimplemented_stub()
12421    }
12422
12423    /// Returns the polling error policy.
12424    ///
12425    /// When mocking, this method is typically irrelevant. Do not try to verify
12426    /// it is called by your mocks.
12427    fn get_polling_error_policy(
12428        &self,
12429        _options: &crate::RequestOptions,
12430    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12431        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12432    }
12433
12434    /// Returns the polling backoff policy.
12435    ///
12436    /// When mocking, this method is typically irrelevant. Do not try to verify
12437    /// it is called by your mocks.
12438    fn get_polling_backoff_policy(
12439        &self,
12440        _options: &crate::RequestOptions,
12441    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12442        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12443    }
12444}
12445
12446/// Defines the trait used to implement [super::client::SslPolicies].
12447///
12448/// Application developers may need to implement this trait to mock
12449/// `client::SslPolicies`.  In other use-cases, application developers only
12450/// use `client::SslPolicies` and need not be concerned with this trait or
12451/// its implementations.
12452///
12453/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12454/// too. To avoid breaking applications the trait provides a default
12455/// implementation of each method. Most of these implementations just return an
12456/// error.
12457#[cfg(feature = "ssl-policies")]
12458#[cfg_attr(docsrs, doc(cfg(feature = "ssl-policies")))]
12459pub trait SslPolicies: std::fmt::Debug + Send + Sync {
12460    /// Implements [super::client::SslPolicies::aggregated_list].
12461    fn aggregated_list(
12462        &self,
12463        _req: crate::model::ssl_policies::AggregatedListRequest,
12464        _options: crate::RequestOptions,
12465    ) -> impl std::future::Future<
12466        Output = crate::Result<crate::Response<crate::model::SslPoliciesAggregatedList>>,
12467    > + Send {
12468        gaxi::unimplemented::unimplemented_stub()
12469    }
12470
12471    /// Implements [super::client::SslPolicies::delete].
12472    fn delete(
12473        &self,
12474        _req: crate::model::ssl_policies::DeleteRequest,
12475        _options: crate::RequestOptions,
12476    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12477    {
12478        gaxi::unimplemented::unimplemented_stub()
12479    }
12480
12481    /// Implements [super::client::SslPolicies::get].
12482    fn get(
12483        &self,
12484        _req: crate::model::ssl_policies::GetRequest,
12485        _options: crate::RequestOptions,
12486    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::SslPolicy>>> + Send
12487    {
12488        gaxi::unimplemented::unimplemented_stub()
12489    }
12490
12491    /// Implements [super::client::SslPolicies::insert].
12492    fn insert(
12493        &self,
12494        _req: crate::model::ssl_policies::InsertRequest,
12495        _options: crate::RequestOptions,
12496    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12497    {
12498        gaxi::unimplemented::unimplemented_stub()
12499    }
12500
12501    /// Implements [super::client::SslPolicies::list].
12502    fn list(
12503        &self,
12504        _req: crate::model::ssl_policies::ListRequest,
12505        _options: crate::RequestOptions,
12506    ) -> impl std::future::Future<
12507        Output = crate::Result<crate::Response<crate::model::SslPoliciesList>>,
12508    > + Send {
12509        gaxi::unimplemented::unimplemented_stub()
12510    }
12511
12512    /// Implements [super::client::SslPolicies::list_available_features].
12513    fn list_available_features(
12514        &self,
12515        _req: crate::model::ssl_policies::ListAvailableFeaturesRequest,
12516        _options: crate::RequestOptions,
12517    ) -> impl std::future::Future<
12518        Output = crate::Result<
12519            crate::Response<crate::model::SslPoliciesListAvailableFeaturesResponse>,
12520        >,
12521    > + Send {
12522        gaxi::unimplemented::unimplemented_stub()
12523    }
12524
12525    /// Implements [super::client::SslPolicies::patch].
12526    fn patch(
12527        &self,
12528        _req: crate::model::ssl_policies::PatchRequest,
12529        _options: crate::RequestOptions,
12530    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12531    {
12532        gaxi::unimplemented::unimplemented_stub()
12533    }
12534
12535    /// Implements [super::client::SslPolicies::get_operation].
12536    fn get_operation(
12537        &self,
12538        _req: crate::model::global_operations::GetRequest,
12539        _options: crate::RequestOptions,
12540    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12541    {
12542        gaxi::unimplemented::unimplemented_stub()
12543    }
12544
12545    /// Returns the polling error policy.
12546    ///
12547    /// When mocking, this method is typically irrelevant. Do not try to verify
12548    /// it is called by your mocks.
12549    fn get_polling_error_policy(
12550        &self,
12551        _options: &crate::RequestOptions,
12552    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12553        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12554    }
12555
12556    /// Returns the polling backoff policy.
12557    ///
12558    /// When mocking, this method is typically irrelevant. Do not try to verify
12559    /// it is called by your mocks.
12560    fn get_polling_backoff_policy(
12561        &self,
12562        _options: &crate::RequestOptions,
12563    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12564        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12565    }
12566}
12567
12568/// Defines the trait used to implement [super::client::StoragePoolTypes].
12569///
12570/// Application developers may need to implement this trait to mock
12571/// `client::StoragePoolTypes`.  In other use-cases, application developers only
12572/// use `client::StoragePoolTypes` and need not be concerned with this trait or
12573/// its implementations.
12574///
12575/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12576/// too. To avoid breaking applications the trait provides a default
12577/// implementation of each method. Most of these implementations just return an
12578/// error.
12579#[cfg(feature = "storage-pool-types")]
12580#[cfg_attr(docsrs, doc(cfg(feature = "storage-pool-types")))]
12581pub trait StoragePoolTypes: std::fmt::Debug + Send + Sync {
12582    /// Implements [super::client::StoragePoolTypes::aggregated_list].
12583    fn aggregated_list(
12584        &self,
12585        _req: crate::model::storage_pool_types::AggregatedListRequest,
12586        _options: crate::RequestOptions,
12587    ) -> impl std::future::Future<
12588        Output = crate::Result<crate::Response<crate::model::StoragePoolTypeAggregatedList>>,
12589    > + Send {
12590        gaxi::unimplemented::unimplemented_stub()
12591    }
12592
12593    /// Implements [super::client::StoragePoolTypes::get].
12594    fn get(
12595        &self,
12596        _req: crate::model::storage_pool_types::GetRequest,
12597        _options: crate::RequestOptions,
12598    ) -> impl std::future::Future<
12599        Output = crate::Result<crate::Response<crate::model::StoragePoolType>>,
12600    > + Send {
12601        gaxi::unimplemented::unimplemented_stub()
12602    }
12603
12604    /// Implements [super::client::StoragePoolTypes::list].
12605    fn list(
12606        &self,
12607        _req: crate::model::storage_pool_types::ListRequest,
12608        _options: crate::RequestOptions,
12609    ) -> impl std::future::Future<
12610        Output = crate::Result<crate::Response<crate::model::StoragePoolTypeList>>,
12611    > + Send {
12612        gaxi::unimplemented::unimplemented_stub()
12613    }
12614}
12615
12616/// Defines the trait used to implement [super::client::StoragePools].
12617///
12618/// Application developers may need to implement this trait to mock
12619/// `client::StoragePools`.  In other use-cases, application developers only
12620/// use `client::StoragePools` and need not be concerned with this trait or
12621/// its implementations.
12622///
12623/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12624/// too. To avoid breaking applications the trait provides a default
12625/// implementation of each method. Most of these implementations just return an
12626/// error.
12627#[cfg(feature = "storage-pools")]
12628#[cfg_attr(docsrs, doc(cfg(feature = "storage-pools")))]
12629pub trait StoragePools: std::fmt::Debug + Send + Sync {
12630    /// Implements [super::client::StoragePools::aggregated_list].
12631    fn aggregated_list(
12632        &self,
12633        _req: crate::model::storage_pools::AggregatedListRequest,
12634        _options: crate::RequestOptions,
12635    ) -> impl std::future::Future<
12636        Output = crate::Result<crate::Response<crate::model::StoragePoolAggregatedList>>,
12637    > + Send {
12638        gaxi::unimplemented::unimplemented_stub()
12639    }
12640
12641    /// Implements [super::client::StoragePools::delete].
12642    fn delete(
12643        &self,
12644        _req: crate::model::storage_pools::DeleteRequest,
12645        _options: crate::RequestOptions,
12646    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12647    {
12648        gaxi::unimplemented::unimplemented_stub()
12649    }
12650
12651    /// Implements [super::client::StoragePools::get].
12652    fn get(
12653        &self,
12654        _req: crate::model::storage_pools::GetRequest,
12655        _options: crate::RequestOptions,
12656    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::StoragePool>>>
12657    + Send {
12658        gaxi::unimplemented::unimplemented_stub()
12659    }
12660
12661    /// Implements [super::client::StoragePools::get_iam_policy].
12662    fn get_iam_policy(
12663        &self,
12664        _req: crate::model::storage_pools::GetIamPolicyRequest,
12665        _options: crate::RequestOptions,
12666    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12667    {
12668        gaxi::unimplemented::unimplemented_stub()
12669    }
12670
12671    /// Implements [super::client::StoragePools::insert].
12672    fn insert(
12673        &self,
12674        _req: crate::model::storage_pools::InsertRequest,
12675        _options: crate::RequestOptions,
12676    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12677    {
12678        gaxi::unimplemented::unimplemented_stub()
12679    }
12680
12681    /// Implements [super::client::StoragePools::list].
12682    fn list(
12683        &self,
12684        _req: crate::model::storage_pools::ListRequest,
12685        _options: crate::RequestOptions,
12686    ) -> impl std::future::Future<
12687        Output = crate::Result<crate::Response<crate::model::StoragePoolList>>,
12688    > + Send {
12689        gaxi::unimplemented::unimplemented_stub()
12690    }
12691
12692    /// Implements [super::client::StoragePools::list_disks].
12693    fn list_disks(
12694        &self,
12695        _req: crate::model::storage_pools::ListDisksRequest,
12696        _options: crate::RequestOptions,
12697    ) -> impl std::future::Future<
12698        Output = crate::Result<crate::Response<crate::model::StoragePoolListDisks>>,
12699    > + Send {
12700        gaxi::unimplemented::unimplemented_stub()
12701    }
12702
12703    /// Implements [super::client::StoragePools::set_iam_policy].
12704    fn set_iam_policy(
12705        &self,
12706        _req: crate::model::storage_pools::SetIamPolicyRequest,
12707        _options: crate::RequestOptions,
12708    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12709    {
12710        gaxi::unimplemented::unimplemented_stub()
12711    }
12712
12713    /// Implements [super::client::StoragePools::test_iam_permissions].
12714    fn test_iam_permissions(
12715        &self,
12716        _req: crate::model::storage_pools::TestIamPermissionsRequest,
12717        _options: crate::RequestOptions,
12718    ) -> impl std::future::Future<
12719        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12720    > + Send {
12721        gaxi::unimplemented::unimplemented_stub()
12722    }
12723
12724    /// Implements [super::client::StoragePools::update].
12725    fn update(
12726        &self,
12727        _req: crate::model::storage_pools::UpdateRequest,
12728        _options: crate::RequestOptions,
12729    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12730    {
12731        gaxi::unimplemented::unimplemented_stub()
12732    }
12733
12734    /// Implements [super::client::StoragePools::get_operation].
12735    fn get_operation(
12736        &self,
12737        _req: crate::model::zone_operations::GetRequest,
12738        _options: crate::RequestOptions,
12739    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12740    {
12741        gaxi::unimplemented::unimplemented_stub()
12742    }
12743
12744    /// Returns the polling error policy.
12745    ///
12746    /// When mocking, this method is typically irrelevant. Do not try to verify
12747    /// it is called by your mocks.
12748    fn get_polling_error_policy(
12749        &self,
12750        _options: &crate::RequestOptions,
12751    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12752        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12753    }
12754
12755    /// Returns the polling backoff policy.
12756    ///
12757    /// When mocking, this method is typically irrelevant. Do not try to verify
12758    /// it is called by your mocks.
12759    fn get_polling_backoff_policy(
12760        &self,
12761        _options: &crate::RequestOptions,
12762    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12763        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12764    }
12765}
12766
12767/// Defines the trait used to implement [super::client::Subnetworks].
12768///
12769/// Application developers may need to implement this trait to mock
12770/// `client::Subnetworks`.  In other use-cases, application developers only
12771/// use `client::Subnetworks` and need not be concerned with this trait or
12772/// its implementations.
12773///
12774/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12775/// too. To avoid breaking applications the trait provides a default
12776/// implementation of each method. Most of these implementations just return an
12777/// error.
12778#[cfg(feature = "subnetworks")]
12779#[cfg_attr(docsrs, doc(cfg(feature = "subnetworks")))]
12780pub trait Subnetworks: std::fmt::Debug + Send + Sync {
12781    /// Implements [super::client::Subnetworks::aggregated_list].
12782    fn aggregated_list(
12783        &self,
12784        _req: crate::model::subnetworks::AggregatedListRequest,
12785        _options: crate::RequestOptions,
12786    ) -> impl std::future::Future<
12787        Output = crate::Result<crate::Response<crate::model::SubnetworkAggregatedList>>,
12788    > + Send {
12789        gaxi::unimplemented::unimplemented_stub()
12790    }
12791
12792    /// Implements [super::client::Subnetworks::delete].
12793    fn delete(
12794        &self,
12795        _req: crate::model::subnetworks::DeleteRequest,
12796        _options: crate::RequestOptions,
12797    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12798    {
12799        gaxi::unimplemented::unimplemented_stub()
12800    }
12801
12802    /// Implements [super::client::Subnetworks::expand_ip_cidr_range].
12803    fn expand_ip_cidr_range(
12804        &self,
12805        _req: crate::model::subnetworks::ExpandIpCidrRangeRequest,
12806        _options: crate::RequestOptions,
12807    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12808    {
12809        gaxi::unimplemented::unimplemented_stub()
12810    }
12811
12812    /// Implements [super::client::Subnetworks::get].
12813    fn get(
12814        &self,
12815        _req: crate::model::subnetworks::GetRequest,
12816        _options: crate::RequestOptions,
12817    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Subnetwork>>> + Send
12818    {
12819        gaxi::unimplemented::unimplemented_stub()
12820    }
12821
12822    /// Implements [super::client::Subnetworks::get_iam_policy].
12823    fn get_iam_policy(
12824        &self,
12825        _req: crate::model::subnetworks::GetIamPolicyRequest,
12826        _options: crate::RequestOptions,
12827    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12828    {
12829        gaxi::unimplemented::unimplemented_stub()
12830    }
12831
12832    /// Implements [super::client::Subnetworks::insert].
12833    fn insert(
12834        &self,
12835        _req: crate::model::subnetworks::InsertRequest,
12836        _options: crate::RequestOptions,
12837    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12838    {
12839        gaxi::unimplemented::unimplemented_stub()
12840    }
12841
12842    /// Implements [super::client::Subnetworks::list].
12843    fn list(
12844        &self,
12845        _req: crate::model::subnetworks::ListRequest,
12846        _options: crate::RequestOptions,
12847    ) -> impl std::future::Future<
12848        Output = crate::Result<crate::Response<crate::model::SubnetworkList>>,
12849    > + Send {
12850        gaxi::unimplemented::unimplemented_stub()
12851    }
12852
12853    /// Implements [super::client::Subnetworks::list_usable].
12854    fn list_usable(
12855        &self,
12856        _req: crate::model::subnetworks::ListUsableRequest,
12857        _options: crate::RequestOptions,
12858    ) -> impl std::future::Future<
12859        Output = crate::Result<crate::Response<crate::model::UsableSubnetworksAggregatedList>>,
12860    > + Send {
12861        gaxi::unimplemented::unimplemented_stub()
12862    }
12863
12864    /// Implements [super::client::Subnetworks::patch].
12865    fn patch(
12866        &self,
12867        _req: crate::model::subnetworks::PatchRequest,
12868        _options: crate::RequestOptions,
12869    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12870    {
12871        gaxi::unimplemented::unimplemented_stub()
12872    }
12873
12874    /// Implements [super::client::Subnetworks::set_iam_policy].
12875    fn set_iam_policy(
12876        &self,
12877        _req: crate::model::subnetworks::SetIamPolicyRequest,
12878        _options: crate::RequestOptions,
12879    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12880    {
12881        gaxi::unimplemented::unimplemented_stub()
12882    }
12883
12884    /// Implements [super::client::Subnetworks::set_private_ip_google_access].
12885    fn set_private_ip_google_access(
12886        &self,
12887        _req: crate::model::subnetworks::SetPrivateIpGoogleAccessRequest,
12888        _options: crate::RequestOptions,
12889    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12890    {
12891        gaxi::unimplemented::unimplemented_stub()
12892    }
12893
12894    /// Implements [super::client::Subnetworks::test_iam_permissions].
12895    fn test_iam_permissions(
12896        &self,
12897        _req: crate::model::subnetworks::TestIamPermissionsRequest,
12898        _options: crate::RequestOptions,
12899    ) -> impl std::future::Future<
12900        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12901    > + Send {
12902        gaxi::unimplemented::unimplemented_stub()
12903    }
12904
12905    /// Implements [super::client::Subnetworks::get_operation].
12906    fn get_operation(
12907        &self,
12908        _req: crate::model::region_operations::GetRequest,
12909        _options: crate::RequestOptions,
12910    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12911    {
12912        gaxi::unimplemented::unimplemented_stub()
12913    }
12914
12915    /// Returns the polling error policy.
12916    ///
12917    /// When mocking, this method is typically irrelevant. Do not try to verify
12918    /// it is called by your mocks.
12919    fn get_polling_error_policy(
12920        &self,
12921        _options: &crate::RequestOptions,
12922    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12923        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12924    }
12925
12926    /// Returns the polling backoff policy.
12927    ///
12928    /// When mocking, this method is typically irrelevant. Do not try to verify
12929    /// it is called by your mocks.
12930    fn get_polling_backoff_policy(
12931        &self,
12932        _options: &crate::RequestOptions,
12933    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12934        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12935    }
12936}
12937
12938/// Defines the trait used to implement [super::client::TargetGrpcProxies].
12939///
12940/// Application developers may need to implement this trait to mock
12941/// `client::TargetGrpcProxies`.  In other use-cases, application developers only
12942/// use `client::TargetGrpcProxies` and need not be concerned with this trait or
12943/// its implementations.
12944///
12945/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12946/// too. To avoid breaking applications the trait provides a default
12947/// implementation of each method. Most of these implementations just return an
12948/// error.
12949#[cfg(feature = "target-grpc-proxies")]
12950#[cfg_attr(docsrs, doc(cfg(feature = "target-grpc-proxies")))]
12951pub trait TargetGrpcProxies: std::fmt::Debug + Send + Sync {
12952    /// Implements [super::client::TargetGrpcProxies::delete].
12953    fn delete(
12954        &self,
12955        _req: crate::model::target_grpc_proxies::DeleteRequest,
12956        _options: crate::RequestOptions,
12957    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12958    {
12959        gaxi::unimplemented::unimplemented_stub()
12960    }
12961
12962    /// Implements [super::client::TargetGrpcProxies::get].
12963    fn get(
12964        &self,
12965        _req: crate::model::target_grpc_proxies::GetRequest,
12966        _options: crate::RequestOptions,
12967    ) -> impl std::future::Future<
12968        Output = crate::Result<crate::Response<crate::model::TargetGrpcProxy>>,
12969    > + Send {
12970        gaxi::unimplemented::unimplemented_stub()
12971    }
12972
12973    /// Implements [super::client::TargetGrpcProxies::insert].
12974    fn insert(
12975        &self,
12976        _req: crate::model::target_grpc_proxies::InsertRequest,
12977        _options: crate::RequestOptions,
12978    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12979    {
12980        gaxi::unimplemented::unimplemented_stub()
12981    }
12982
12983    /// Implements [super::client::TargetGrpcProxies::list].
12984    fn list(
12985        &self,
12986        _req: crate::model::target_grpc_proxies::ListRequest,
12987        _options: crate::RequestOptions,
12988    ) -> impl std::future::Future<
12989        Output = crate::Result<crate::Response<crate::model::TargetGrpcProxyList>>,
12990    > + Send {
12991        gaxi::unimplemented::unimplemented_stub()
12992    }
12993
12994    /// Implements [super::client::TargetGrpcProxies::patch].
12995    fn patch(
12996        &self,
12997        _req: crate::model::target_grpc_proxies::PatchRequest,
12998        _options: crate::RequestOptions,
12999    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13000    {
13001        gaxi::unimplemented::unimplemented_stub()
13002    }
13003
13004    /// Implements [super::client::TargetGrpcProxies::get_operation].
13005    fn get_operation(
13006        &self,
13007        _req: crate::model::global_operations::GetRequest,
13008        _options: crate::RequestOptions,
13009    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13010    {
13011        gaxi::unimplemented::unimplemented_stub()
13012    }
13013
13014    /// Returns the polling error policy.
13015    ///
13016    /// When mocking, this method is typically irrelevant. Do not try to verify
13017    /// it is called by your mocks.
13018    fn get_polling_error_policy(
13019        &self,
13020        _options: &crate::RequestOptions,
13021    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13022        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13023    }
13024
13025    /// Returns the polling backoff policy.
13026    ///
13027    /// When mocking, this method is typically irrelevant. Do not try to verify
13028    /// it is called by your mocks.
13029    fn get_polling_backoff_policy(
13030        &self,
13031        _options: &crate::RequestOptions,
13032    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13033        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13034    }
13035}
13036
13037/// Defines the trait used to implement [super::client::TargetHttpProxies].
13038///
13039/// Application developers may need to implement this trait to mock
13040/// `client::TargetHttpProxies`.  In other use-cases, application developers only
13041/// use `client::TargetHttpProxies` and need not be concerned with this trait or
13042/// its implementations.
13043///
13044/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13045/// too. To avoid breaking applications the trait provides a default
13046/// implementation of each method. Most of these implementations just return an
13047/// error.
13048#[cfg(feature = "target-http-proxies")]
13049#[cfg_attr(docsrs, doc(cfg(feature = "target-http-proxies")))]
13050pub trait TargetHttpProxies: std::fmt::Debug + Send + Sync {
13051    /// Implements [super::client::TargetHttpProxies::aggregated_list].
13052    fn aggregated_list(
13053        &self,
13054        _req: crate::model::target_http_proxies::AggregatedListRequest,
13055        _options: crate::RequestOptions,
13056    ) -> impl std::future::Future<
13057        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyAggregatedList>>,
13058    > + Send {
13059        gaxi::unimplemented::unimplemented_stub()
13060    }
13061
13062    /// Implements [super::client::TargetHttpProxies::delete].
13063    fn delete(
13064        &self,
13065        _req: crate::model::target_http_proxies::DeleteRequest,
13066        _options: crate::RequestOptions,
13067    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13068    {
13069        gaxi::unimplemented::unimplemented_stub()
13070    }
13071
13072    /// Implements [super::client::TargetHttpProxies::get].
13073    fn get(
13074        &self,
13075        _req: crate::model::target_http_proxies::GetRequest,
13076        _options: crate::RequestOptions,
13077    ) -> impl std::future::Future<
13078        Output = crate::Result<crate::Response<crate::model::TargetHttpProxy>>,
13079    > + Send {
13080        gaxi::unimplemented::unimplemented_stub()
13081    }
13082
13083    /// Implements [super::client::TargetHttpProxies::insert].
13084    fn insert(
13085        &self,
13086        _req: crate::model::target_http_proxies::InsertRequest,
13087        _options: crate::RequestOptions,
13088    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13089    {
13090        gaxi::unimplemented::unimplemented_stub()
13091    }
13092
13093    /// Implements [super::client::TargetHttpProxies::list].
13094    fn list(
13095        &self,
13096        _req: crate::model::target_http_proxies::ListRequest,
13097        _options: crate::RequestOptions,
13098    ) -> impl std::future::Future<
13099        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyList>>,
13100    > + Send {
13101        gaxi::unimplemented::unimplemented_stub()
13102    }
13103
13104    /// Implements [super::client::TargetHttpProxies::patch].
13105    fn patch(
13106        &self,
13107        _req: crate::model::target_http_proxies::PatchRequest,
13108        _options: crate::RequestOptions,
13109    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13110    {
13111        gaxi::unimplemented::unimplemented_stub()
13112    }
13113
13114    /// Implements [super::client::TargetHttpProxies::set_url_map].
13115    fn set_url_map(
13116        &self,
13117        _req: crate::model::target_http_proxies::SetUrlMapRequest,
13118        _options: crate::RequestOptions,
13119    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13120    {
13121        gaxi::unimplemented::unimplemented_stub()
13122    }
13123
13124    /// Implements [super::client::TargetHttpProxies::get_operation].
13125    fn get_operation(
13126        &self,
13127        _req: crate::model::global_operations::GetRequest,
13128        _options: crate::RequestOptions,
13129    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13130    {
13131        gaxi::unimplemented::unimplemented_stub()
13132    }
13133
13134    /// Returns the polling error policy.
13135    ///
13136    /// When mocking, this method is typically irrelevant. Do not try to verify
13137    /// it is called by your mocks.
13138    fn get_polling_error_policy(
13139        &self,
13140        _options: &crate::RequestOptions,
13141    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13142        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13143    }
13144
13145    /// Returns the polling backoff policy.
13146    ///
13147    /// When mocking, this method is typically irrelevant. Do not try to verify
13148    /// it is called by your mocks.
13149    fn get_polling_backoff_policy(
13150        &self,
13151        _options: &crate::RequestOptions,
13152    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13153        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13154    }
13155}
13156
13157/// Defines the trait used to implement [super::client::TargetHttpsProxies].
13158///
13159/// Application developers may need to implement this trait to mock
13160/// `client::TargetHttpsProxies`.  In other use-cases, application developers only
13161/// use `client::TargetHttpsProxies` and need not be concerned with this trait or
13162/// its implementations.
13163///
13164/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13165/// too. To avoid breaking applications the trait provides a default
13166/// implementation of each method. Most of these implementations just return an
13167/// error.
13168#[cfg(feature = "target-https-proxies")]
13169#[cfg_attr(docsrs, doc(cfg(feature = "target-https-proxies")))]
13170pub trait TargetHttpsProxies: std::fmt::Debug + Send + Sync {
13171    /// Implements [super::client::TargetHttpsProxies::aggregated_list].
13172    fn aggregated_list(
13173        &self,
13174        _req: crate::model::target_https_proxies::AggregatedListRequest,
13175        _options: crate::RequestOptions,
13176    ) -> impl std::future::Future<
13177        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyAggregatedList>>,
13178    > + Send {
13179        gaxi::unimplemented::unimplemented_stub()
13180    }
13181
13182    /// Implements [super::client::TargetHttpsProxies::delete].
13183    fn delete(
13184        &self,
13185        _req: crate::model::target_https_proxies::DeleteRequest,
13186        _options: crate::RequestOptions,
13187    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13188    {
13189        gaxi::unimplemented::unimplemented_stub()
13190    }
13191
13192    /// Implements [super::client::TargetHttpsProxies::get].
13193    fn get(
13194        &self,
13195        _req: crate::model::target_https_proxies::GetRequest,
13196        _options: crate::RequestOptions,
13197    ) -> impl std::future::Future<
13198        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxy>>,
13199    > + Send {
13200        gaxi::unimplemented::unimplemented_stub()
13201    }
13202
13203    /// Implements [super::client::TargetHttpsProxies::insert].
13204    fn insert(
13205        &self,
13206        _req: crate::model::target_https_proxies::InsertRequest,
13207        _options: crate::RequestOptions,
13208    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13209    {
13210        gaxi::unimplemented::unimplemented_stub()
13211    }
13212
13213    /// Implements [super::client::TargetHttpsProxies::list].
13214    fn list(
13215        &self,
13216        _req: crate::model::target_https_proxies::ListRequest,
13217        _options: crate::RequestOptions,
13218    ) -> impl std::future::Future<
13219        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyList>>,
13220    > + Send {
13221        gaxi::unimplemented::unimplemented_stub()
13222    }
13223
13224    /// Implements [super::client::TargetHttpsProxies::patch].
13225    fn patch(
13226        &self,
13227        _req: crate::model::target_https_proxies::PatchRequest,
13228        _options: crate::RequestOptions,
13229    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13230    {
13231        gaxi::unimplemented::unimplemented_stub()
13232    }
13233
13234    /// Implements [super::client::TargetHttpsProxies::set_certificate_map].
13235    fn set_certificate_map(
13236        &self,
13237        _req: crate::model::target_https_proxies::SetCertificateMapRequest,
13238        _options: crate::RequestOptions,
13239    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13240    {
13241        gaxi::unimplemented::unimplemented_stub()
13242    }
13243
13244    /// Implements [super::client::TargetHttpsProxies::set_quic_override].
13245    fn set_quic_override(
13246        &self,
13247        _req: crate::model::target_https_proxies::SetQuicOverrideRequest,
13248        _options: crate::RequestOptions,
13249    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13250    {
13251        gaxi::unimplemented::unimplemented_stub()
13252    }
13253
13254    /// Implements [super::client::TargetHttpsProxies::set_ssl_certificates].
13255    fn set_ssl_certificates(
13256        &self,
13257        _req: crate::model::target_https_proxies::SetSslCertificatesRequest,
13258        _options: crate::RequestOptions,
13259    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13260    {
13261        gaxi::unimplemented::unimplemented_stub()
13262    }
13263
13264    /// Implements [super::client::TargetHttpsProxies::set_ssl_policy].
13265    fn set_ssl_policy(
13266        &self,
13267        _req: crate::model::target_https_proxies::SetSslPolicyRequest,
13268        _options: crate::RequestOptions,
13269    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13270    {
13271        gaxi::unimplemented::unimplemented_stub()
13272    }
13273
13274    /// Implements [super::client::TargetHttpsProxies::set_url_map].
13275    fn set_url_map(
13276        &self,
13277        _req: crate::model::target_https_proxies::SetUrlMapRequest,
13278        _options: crate::RequestOptions,
13279    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13280    {
13281        gaxi::unimplemented::unimplemented_stub()
13282    }
13283
13284    /// Implements [super::client::TargetHttpsProxies::get_operation].
13285    fn get_operation(
13286        &self,
13287        _req: crate::model::global_operations::GetRequest,
13288        _options: crate::RequestOptions,
13289    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13290    {
13291        gaxi::unimplemented::unimplemented_stub()
13292    }
13293
13294    /// Returns the polling error policy.
13295    ///
13296    /// When mocking, this method is typically irrelevant. Do not try to verify
13297    /// it is called by your mocks.
13298    fn get_polling_error_policy(
13299        &self,
13300        _options: &crate::RequestOptions,
13301    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13302        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13303    }
13304
13305    /// Returns the polling backoff policy.
13306    ///
13307    /// When mocking, this method is typically irrelevant. Do not try to verify
13308    /// it is called by your mocks.
13309    fn get_polling_backoff_policy(
13310        &self,
13311        _options: &crate::RequestOptions,
13312    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13313        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13314    }
13315}
13316
13317/// Defines the trait used to implement [super::client::TargetInstances].
13318///
13319/// Application developers may need to implement this trait to mock
13320/// `client::TargetInstances`.  In other use-cases, application developers only
13321/// use `client::TargetInstances` and need not be concerned with this trait or
13322/// its implementations.
13323///
13324/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13325/// too. To avoid breaking applications the trait provides a default
13326/// implementation of each method. Most of these implementations just return an
13327/// error.
13328#[cfg(feature = "target-instances")]
13329#[cfg_attr(docsrs, doc(cfg(feature = "target-instances")))]
13330pub trait TargetInstances: std::fmt::Debug + Send + Sync {
13331    /// Implements [super::client::TargetInstances::aggregated_list].
13332    fn aggregated_list(
13333        &self,
13334        _req: crate::model::target_instances::AggregatedListRequest,
13335        _options: crate::RequestOptions,
13336    ) -> impl std::future::Future<
13337        Output = crate::Result<crate::Response<crate::model::TargetInstanceAggregatedList>>,
13338    > + Send {
13339        gaxi::unimplemented::unimplemented_stub()
13340    }
13341
13342    /// Implements [super::client::TargetInstances::delete].
13343    fn delete(
13344        &self,
13345        _req: crate::model::target_instances::DeleteRequest,
13346        _options: crate::RequestOptions,
13347    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13348    {
13349        gaxi::unimplemented::unimplemented_stub()
13350    }
13351
13352    /// Implements [super::client::TargetInstances::get].
13353    fn get(
13354        &self,
13355        _req: crate::model::target_instances::GetRequest,
13356        _options: crate::RequestOptions,
13357    ) -> impl std::future::Future<
13358        Output = crate::Result<crate::Response<crate::model::TargetInstance>>,
13359    > + Send {
13360        gaxi::unimplemented::unimplemented_stub()
13361    }
13362
13363    /// Implements [super::client::TargetInstances::insert].
13364    fn insert(
13365        &self,
13366        _req: crate::model::target_instances::InsertRequest,
13367        _options: crate::RequestOptions,
13368    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13369    {
13370        gaxi::unimplemented::unimplemented_stub()
13371    }
13372
13373    /// Implements [super::client::TargetInstances::list].
13374    fn list(
13375        &self,
13376        _req: crate::model::target_instances::ListRequest,
13377        _options: crate::RequestOptions,
13378    ) -> impl std::future::Future<
13379        Output = crate::Result<crate::Response<crate::model::TargetInstanceList>>,
13380    > + Send {
13381        gaxi::unimplemented::unimplemented_stub()
13382    }
13383
13384    /// Implements [super::client::TargetInstances::set_security_policy].
13385    fn set_security_policy(
13386        &self,
13387        _req: crate::model::target_instances::SetSecurityPolicyRequest,
13388        _options: crate::RequestOptions,
13389    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13390    {
13391        gaxi::unimplemented::unimplemented_stub()
13392    }
13393
13394    /// Implements [super::client::TargetInstances::test_iam_permissions].
13395    fn test_iam_permissions(
13396        &self,
13397        _req: crate::model::target_instances::TestIamPermissionsRequest,
13398        _options: crate::RequestOptions,
13399    ) -> impl std::future::Future<
13400        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13401    > + Send {
13402        gaxi::unimplemented::unimplemented_stub()
13403    }
13404
13405    /// Implements [super::client::TargetInstances::get_operation].
13406    fn get_operation(
13407        &self,
13408        _req: crate::model::zone_operations::GetRequest,
13409        _options: crate::RequestOptions,
13410    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13411    {
13412        gaxi::unimplemented::unimplemented_stub()
13413    }
13414
13415    /// Returns the polling error policy.
13416    ///
13417    /// When mocking, this method is typically irrelevant. Do not try to verify
13418    /// it is called by your mocks.
13419    fn get_polling_error_policy(
13420        &self,
13421        _options: &crate::RequestOptions,
13422    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13423        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13424    }
13425
13426    /// Returns the polling backoff policy.
13427    ///
13428    /// When mocking, this method is typically irrelevant. Do not try to verify
13429    /// it is called by your mocks.
13430    fn get_polling_backoff_policy(
13431        &self,
13432        _options: &crate::RequestOptions,
13433    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13434        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13435    }
13436}
13437
13438/// Defines the trait used to implement [super::client::TargetPools].
13439///
13440/// Application developers may need to implement this trait to mock
13441/// `client::TargetPools`.  In other use-cases, application developers only
13442/// use `client::TargetPools` and need not be concerned with this trait or
13443/// its implementations.
13444///
13445/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13446/// too. To avoid breaking applications the trait provides a default
13447/// implementation of each method. Most of these implementations just return an
13448/// error.
13449#[cfg(feature = "target-pools")]
13450#[cfg_attr(docsrs, doc(cfg(feature = "target-pools")))]
13451pub trait TargetPools: std::fmt::Debug + Send + Sync {
13452    /// Implements [super::client::TargetPools::add_health_check].
13453    fn add_health_check(
13454        &self,
13455        _req: crate::model::target_pools::AddHealthCheckRequest,
13456        _options: crate::RequestOptions,
13457    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13458    {
13459        gaxi::unimplemented::unimplemented_stub()
13460    }
13461
13462    /// Implements [super::client::TargetPools::add_instance].
13463    fn add_instance(
13464        &self,
13465        _req: crate::model::target_pools::AddInstanceRequest,
13466        _options: crate::RequestOptions,
13467    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13468    {
13469        gaxi::unimplemented::unimplemented_stub()
13470    }
13471
13472    /// Implements [super::client::TargetPools::aggregated_list].
13473    fn aggregated_list(
13474        &self,
13475        _req: crate::model::target_pools::AggregatedListRequest,
13476        _options: crate::RequestOptions,
13477    ) -> impl std::future::Future<
13478        Output = crate::Result<crate::Response<crate::model::TargetPoolAggregatedList>>,
13479    > + Send {
13480        gaxi::unimplemented::unimplemented_stub()
13481    }
13482
13483    /// Implements [super::client::TargetPools::delete].
13484    fn delete(
13485        &self,
13486        _req: crate::model::target_pools::DeleteRequest,
13487        _options: crate::RequestOptions,
13488    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13489    {
13490        gaxi::unimplemented::unimplemented_stub()
13491    }
13492
13493    /// Implements [super::client::TargetPools::get].
13494    fn get(
13495        &self,
13496        _req: crate::model::target_pools::GetRequest,
13497        _options: crate::RequestOptions,
13498    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::TargetPool>>> + Send
13499    {
13500        gaxi::unimplemented::unimplemented_stub()
13501    }
13502
13503    /// Implements [super::client::TargetPools::get_health].
13504    fn get_health(
13505        &self,
13506        _req: crate::model::target_pools::GetHealthRequest,
13507        _options: crate::RequestOptions,
13508    ) -> impl std::future::Future<
13509        Output = crate::Result<crate::Response<crate::model::TargetPoolInstanceHealth>>,
13510    > + Send {
13511        gaxi::unimplemented::unimplemented_stub()
13512    }
13513
13514    /// Implements [super::client::TargetPools::insert].
13515    fn insert(
13516        &self,
13517        _req: crate::model::target_pools::InsertRequest,
13518        _options: crate::RequestOptions,
13519    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13520    {
13521        gaxi::unimplemented::unimplemented_stub()
13522    }
13523
13524    /// Implements [super::client::TargetPools::list].
13525    fn list(
13526        &self,
13527        _req: crate::model::target_pools::ListRequest,
13528        _options: crate::RequestOptions,
13529    ) -> impl std::future::Future<
13530        Output = crate::Result<crate::Response<crate::model::TargetPoolList>>,
13531    > + Send {
13532        gaxi::unimplemented::unimplemented_stub()
13533    }
13534
13535    /// Implements [super::client::TargetPools::remove_health_check].
13536    fn remove_health_check(
13537        &self,
13538        _req: crate::model::target_pools::RemoveHealthCheckRequest,
13539        _options: crate::RequestOptions,
13540    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13541    {
13542        gaxi::unimplemented::unimplemented_stub()
13543    }
13544
13545    /// Implements [super::client::TargetPools::remove_instance].
13546    fn remove_instance(
13547        &self,
13548        _req: crate::model::target_pools::RemoveInstanceRequest,
13549        _options: crate::RequestOptions,
13550    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13551    {
13552        gaxi::unimplemented::unimplemented_stub()
13553    }
13554
13555    /// Implements [super::client::TargetPools::set_backup].
13556    fn set_backup(
13557        &self,
13558        _req: crate::model::target_pools::SetBackupRequest,
13559        _options: crate::RequestOptions,
13560    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13561    {
13562        gaxi::unimplemented::unimplemented_stub()
13563    }
13564
13565    /// Implements [super::client::TargetPools::set_security_policy].
13566    fn set_security_policy(
13567        &self,
13568        _req: crate::model::target_pools::SetSecurityPolicyRequest,
13569        _options: crate::RequestOptions,
13570    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13571    {
13572        gaxi::unimplemented::unimplemented_stub()
13573    }
13574
13575    /// Implements [super::client::TargetPools::test_iam_permissions].
13576    fn test_iam_permissions(
13577        &self,
13578        _req: crate::model::target_pools::TestIamPermissionsRequest,
13579        _options: crate::RequestOptions,
13580    ) -> impl std::future::Future<
13581        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13582    > + Send {
13583        gaxi::unimplemented::unimplemented_stub()
13584    }
13585
13586    /// Implements [super::client::TargetPools::get_operation].
13587    fn get_operation(
13588        &self,
13589        _req: crate::model::region_operations::GetRequest,
13590        _options: crate::RequestOptions,
13591    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13592    {
13593        gaxi::unimplemented::unimplemented_stub()
13594    }
13595
13596    /// Returns the polling error policy.
13597    ///
13598    /// When mocking, this method is typically irrelevant. Do not try to verify
13599    /// it is called by your mocks.
13600    fn get_polling_error_policy(
13601        &self,
13602        _options: &crate::RequestOptions,
13603    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13604        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13605    }
13606
13607    /// Returns the polling backoff policy.
13608    ///
13609    /// When mocking, this method is typically irrelevant. Do not try to verify
13610    /// it is called by your mocks.
13611    fn get_polling_backoff_policy(
13612        &self,
13613        _options: &crate::RequestOptions,
13614    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13615        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13616    }
13617}
13618
13619/// Defines the trait used to implement [super::client::TargetSslProxies].
13620///
13621/// Application developers may need to implement this trait to mock
13622/// `client::TargetSslProxies`.  In other use-cases, application developers only
13623/// use `client::TargetSslProxies` and need not be concerned with this trait or
13624/// its implementations.
13625///
13626/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13627/// too. To avoid breaking applications the trait provides a default
13628/// implementation of each method. Most of these implementations just return an
13629/// error.
13630#[cfg(feature = "target-ssl-proxies")]
13631#[cfg_attr(docsrs, doc(cfg(feature = "target-ssl-proxies")))]
13632pub trait TargetSslProxies: std::fmt::Debug + Send + Sync {
13633    /// Implements [super::client::TargetSslProxies::delete].
13634    fn delete(
13635        &self,
13636        _req: crate::model::target_ssl_proxies::DeleteRequest,
13637        _options: crate::RequestOptions,
13638    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13639    {
13640        gaxi::unimplemented::unimplemented_stub()
13641    }
13642
13643    /// Implements [super::client::TargetSslProxies::get].
13644    fn get(
13645        &self,
13646        _req: crate::model::target_ssl_proxies::GetRequest,
13647        _options: crate::RequestOptions,
13648    ) -> impl std::future::Future<
13649        Output = crate::Result<crate::Response<crate::model::TargetSslProxy>>,
13650    > + Send {
13651        gaxi::unimplemented::unimplemented_stub()
13652    }
13653
13654    /// Implements [super::client::TargetSslProxies::insert].
13655    fn insert(
13656        &self,
13657        _req: crate::model::target_ssl_proxies::InsertRequest,
13658        _options: crate::RequestOptions,
13659    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13660    {
13661        gaxi::unimplemented::unimplemented_stub()
13662    }
13663
13664    /// Implements [super::client::TargetSslProxies::list].
13665    fn list(
13666        &self,
13667        _req: crate::model::target_ssl_proxies::ListRequest,
13668        _options: crate::RequestOptions,
13669    ) -> impl std::future::Future<
13670        Output = crate::Result<crate::Response<crate::model::TargetSslProxyList>>,
13671    > + Send {
13672        gaxi::unimplemented::unimplemented_stub()
13673    }
13674
13675    /// Implements [super::client::TargetSslProxies::set_backend_service].
13676    fn set_backend_service(
13677        &self,
13678        _req: crate::model::target_ssl_proxies::SetBackendServiceRequest,
13679        _options: crate::RequestOptions,
13680    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13681    {
13682        gaxi::unimplemented::unimplemented_stub()
13683    }
13684
13685    /// Implements [super::client::TargetSslProxies::set_certificate_map].
13686    fn set_certificate_map(
13687        &self,
13688        _req: crate::model::target_ssl_proxies::SetCertificateMapRequest,
13689        _options: crate::RequestOptions,
13690    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13691    {
13692        gaxi::unimplemented::unimplemented_stub()
13693    }
13694
13695    /// Implements [super::client::TargetSslProxies::set_proxy_header].
13696    fn set_proxy_header(
13697        &self,
13698        _req: crate::model::target_ssl_proxies::SetProxyHeaderRequest,
13699        _options: crate::RequestOptions,
13700    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13701    {
13702        gaxi::unimplemented::unimplemented_stub()
13703    }
13704
13705    /// Implements [super::client::TargetSslProxies::set_ssl_certificates].
13706    fn set_ssl_certificates(
13707        &self,
13708        _req: crate::model::target_ssl_proxies::SetSslCertificatesRequest,
13709        _options: crate::RequestOptions,
13710    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13711    {
13712        gaxi::unimplemented::unimplemented_stub()
13713    }
13714
13715    /// Implements [super::client::TargetSslProxies::set_ssl_policy].
13716    fn set_ssl_policy(
13717        &self,
13718        _req: crate::model::target_ssl_proxies::SetSslPolicyRequest,
13719        _options: crate::RequestOptions,
13720    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13721    {
13722        gaxi::unimplemented::unimplemented_stub()
13723    }
13724
13725    /// Implements [super::client::TargetSslProxies::test_iam_permissions].
13726    fn test_iam_permissions(
13727        &self,
13728        _req: crate::model::target_ssl_proxies::TestIamPermissionsRequest,
13729        _options: crate::RequestOptions,
13730    ) -> impl std::future::Future<
13731        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13732    > + Send {
13733        gaxi::unimplemented::unimplemented_stub()
13734    }
13735
13736    /// Implements [super::client::TargetSslProxies::get_operation].
13737    fn get_operation(
13738        &self,
13739        _req: crate::model::global_operations::GetRequest,
13740        _options: crate::RequestOptions,
13741    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13742    {
13743        gaxi::unimplemented::unimplemented_stub()
13744    }
13745
13746    /// Returns the polling error policy.
13747    ///
13748    /// When mocking, this method is typically irrelevant. Do not try to verify
13749    /// it is called by your mocks.
13750    fn get_polling_error_policy(
13751        &self,
13752        _options: &crate::RequestOptions,
13753    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13754        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13755    }
13756
13757    /// Returns the polling backoff policy.
13758    ///
13759    /// When mocking, this method is typically irrelevant. Do not try to verify
13760    /// it is called by your mocks.
13761    fn get_polling_backoff_policy(
13762        &self,
13763        _options: &crate::RequestOptions,
13764    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13765        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13766    }
13767}
13768
13769/// Defines the trait used to implement [super::client::TargetTcpProxies].
13770///
13771/// Application developers may need to implement this trait to mock
13772/// `client::TargetTcpProxies`.  In other use-cases, application developers only
13773/// use `client::TargetTcpProxies` and need not be concerned with this trait or
13774/// its implementations.
13775///
13776/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13777/// too. To avoid breaking applications the trait provides a default
13778/// implementation of each method. Most of these implementations just return an
13779/// error.
13780#[cfg(feature = "target-tcp-proxies")]
13781#[cfg_attr(docsrs, doc(cfg(feature = "target-tcp-proxies")))]
13782pub trait TargetTcpProxies: std::fmt::Debug + Send + Sync {
13783    /// Implements [super::client::TargetTcpProxies::aggregated_list].
13784    fn aggregated_list(
13785        &self,
13786        _req: crate::model::target_tcp_proxies::AggregatedListRequest,
13787        _options: crate::RequestOptions,
13788    ) -> impl std::future::Future<
13789        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyAggregatedList>>,
13790    > + Send {
13791        gaxi::unimplemented::unimplemented_stub()
13792    }
13793
13794    /// Implements [super::client::TargetTcpProxies::delete].
13795    fn delete(
13796        &self,
13797        _req: crate::model::target_tcp_proxies::DeleteRequest,
13798        _options: crate::RequestOptions,
13799    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13800    {
13801        gaxi::unimplemented::unimplemented_stub()
13802    }
13803
13804    /// Implements [super::client::TargetTcpProxies::get].
13805    fn get(
13806        &self,
13807        _req: crate::model::target_tcp_proxies::GetRequest,
13808        _options: crate::RequestOptions,
13809    ) -> impl std::future::Future<
13810        Output = crate::Result<crate::Response<crate::model::TargetTcpProxy>>,
13811    > + Send {
13812        gaxi::unimplemented::unimplemented_stub()
13813    }
13814
13815    /// Implements [super::client::TargetTcpProxies::insert].
13816    fn insert(
13817        &self,
13818        _req: crate::model::target_tcp_proxies::InsertRequest,
13819        _options: crate::RequestOptions,
13820    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13821    {
13822        gaxi::unimplemented::unimplemented_stub()
13823    }
13824
13825    /// Implements [super::client::TargetTcpProxies::list].
13826    fn list(
13827        &self,
13828        _req: crate::model::target_tcp_proxies::ListRequest,
13829        _options: crate::RequestOptions,
13830    ) -> impl std::future::Future<
13831        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyList>>,
13832    > + Send {
13833        gaxi::unimplemented::unimplemented_stub()
13834    }
13835
13836    /// Implements [super::client::TargetTcpProxies::set_backend_service].
13837    fn set_backend_service(
13838        &self,
13839        _req: crate::model::target_tcp_proxies::SetBackendServiceRequest,
13840        _options: crate::RequestOptions,
13841    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13842    {
13843        gaxi::unimplemented::unimplemented_stub()
13844    }
13845
13846    /// Implements [super::client::TargetTcpProxies::set_proxy_header].
13847    fn set_proxy_header(
13848        &self,
13849        _req: crate::model::target_tcp_proxies::SetProxyHeaderRequest,
13850        _options: crate::RequestOptions,
13851    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13852    {
13853        gaxi::unimplemented::unimplemented_stub()
13854    }
13855
13856    /// Implements [super::client::TargetTcpProxies::test_iam_permissions].
13857    fn test_iam_permissions(
13858        &self,
13859        _req: crate::model::target_tcp_proxies::TestIamPermissionsRequest,
13860        _options: crate::RequestOptions,
13861    ) -> impl std::future::Future<
13862        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13863    > + Send {
13864        gaxi::unimplemented::unimplemented_stub()
13865    }
13866
13867    /// Implements [super::client::TargetTcpProxies::get_operation].
13868    fn get_operation(
13869        &self,
13870        _req: crate::model::global_operations::GetRequest,
13871        _options: crate::RequestOptions,
13872    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13873    {
13874        gaxi::unimplemented::unimplemented_stub()
13875    }
13876
13877    /// Returns the polling error policy.
13878    ///
13879    /// When mocking, this method is typically irrelevant. Do not try to verify
13880    /// it is called by your mocks.
13881    fn get_polling_error_policy(
13882        &self,
13883        _options: &crate::RequestOptions,
13884    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13885        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13886    }
13887
13888    /// Returns the polling backoff policy.
13889    ///
13890    /// When mocking, this method is typically irrelevant. Do not try to verify
13891    /// it is called by your mocks.
13892    fn get_polling_backoff_policy(
13893        &self,
13894        _options: &crate::RequestOptions,
13895    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13896        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13897    }
13898}
13899
13900/// Defines the trait used to implement [super::client::TargetVpnGateways].
13901///
13902/// Application developers may need to implement this trait to mock
13903/// `client::TargetVpnGateways`.  In other use-cases, application developers only
13904/// use `client::TargetVpnGateways` and need not be concerned with this trait or
13905/// its implementations.
13906///
13907/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13908/// too. To avoid breaking applications the trait provides a default
13909/// implementation of each method. Most of these implementations just return an
13910/// error.
13911#[cfg(feature = "target-vpn-gateways")]
13912#[cfg_attr(docsrs, doc(cfg(feature = "target-vpn-gateways")))]
13913pub trait TargetVpnGateways: std::fmt::Debug + Send + Sync {
13914    /// Implements [super::client::TargetVpnGateways::aggregated_list].
13915    fn aggregated_list(
13916        &self,
13917        _req: crate::model::target_vpn_gateways::AggregatedListRequest,
13918        _options: crate::RequestOptions,
13919    ) -> impl std::future::Future<
13920        Output = crate::Result<crate::Response<crate::model::TargetVpnGatewayAggregatedList>>,
13921    > + Send {
13922        gaxi::unimplemented::unimplemented_stub()
13923    }
13924
13925    /// Implements [super::client::TargetVpnGateways::delete].
13926    fn delete(
13927        &self,
13928        _req: crate::model::target_vpn_gateways::DeleteRequest,
13929        _options: crate::RequestOptions,
13930    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13931    {
13932        gaxi::unimplemented::unimplemented_stub()
13933    }
13934
13935    /// Implements [super::client::TargetVpnGateways::get].
13936    fn get(
13937        &self,
13938        _req: crate::model::target_vpn_gateways::GetRequest,
13939        _options: crate::RequestOptions,
13940    ) -> impl std::future::Future<
13941        Output = crate::Result<crate::Response<crate::model::TargetVpnGateway>>,
13942    > + Send {
13943        gaxi::unimplemented::unimplemented_stub()
13944    }
13945
13946    /// Implements [super::client::TargetVpnGateways::insert].
13947    fn insert(
13948        &self,
13949        _req: crate::model::target_vpn_gateways::InsertRequest,
13950        _options: crate::RequestOptions,
13951    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13952    {
13953        gaxi::unimplemented::unimplemented_stub()
13954    }
13955
13956    /// Implements [super::client::TargetVpnGateways::list].
13957    fn list(
13958        &self,
13959        _req: crate::model::target_vpn_gateways::ListRequest,
13960        _options: crate::RequestOptions,
13961    ) -> impl std::future::Future<
13962        Output = crate::Result<crate::Response<crate::model::TargetVpnGatewayList>>,
13963    > + Send {
13964        gaxi::unimplemented::unimplemented_stub()
13965    }
13966
13967    /// Implements [super::client::TargetVpnGateways::set_labels].
13968    fn set_labels(
13969        &self,
13970        _req: crate::model::target_vpn_gateways::SetLabelsRequest,
13971        _options: crate::RequestOptions,
13972    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13973    {
13974        gaxi::unimplemented::unimplemented_stub()
13975    }
13976
13977    /// Implements [super::client::TargetVpnGateways::get_operation].
13978    fn get_operation(
13979        &self,
13980        _req: crate::model::region_operations::GetRequest,
13981        _options: crate::RequestOptions,
13982    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13983    {
13984        gaxi::unimplemented::unimplemented_stub()
13985    }
13986
13987    /// Returns the polling error policy.
13988    ///
13989    /// When mocking, this method is typically irrelevant. Do not try to verify
13990    /// it is called by your mocks.
13991    fn get_polling_error_policy(
13992        &self,
13993        _options: &crate::RequestOptions,
13994    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13995        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13996    }
13997
13998    /// Returns the polling backoff policy.
13999    ///
14000    /// When mocking, this method is typically irrelevant. Do not try to verify
14001    /// it is called by your mocks.
14002    fn get_polling_backoff_policy(
14003        &self,
14004        _options: &crate::RequestOptions,
14005    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14006        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14007    }
14008}
14009
14010/// Defines the trait used to implement [super::client::UrlMaps].
14011///
14012/// Application developers may need to implement this trait to mock
14013/// `client::UrlMaps`.  In other use-cases, application developers only
14014/// use `client::UrlMaps` and need not be concerned with this trait or
14015/// its implementations.
14016///
14017/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14018/// too. To avoid breaking applications the trait provides a default
14019/// implementation of each method. Most of these implementations just return an
14020/// error.
14021#[cfg(feature = "url-maps")]
14022#[cfg_attr(docsrs, doc(cfg(feature = "url-maps")))]
14023pub trait UrlMaps: std::fmt::Debug + Send + Sync {
14024    /// Implements [super::client::UrlMaps::aggregated_list].
14025    fn aggregated_list(
14026        &self,
14027        _req: crate::model::url_maps::AggregatedListRequest,
14028        _options: crate::RequestOptions,
14029    ) -> impl std::future::Future<
14030        Output = crate::Result<crate::Response<crate::model::UrlMapsAggregatedList>>,
14031    > + Send {
14032        gaxi::unimplemented::unimplemented_stub()
14033    }
14034
14035    /// Implements [super::client::UrlMaps::delete].
14036    fn delete(
14037        &self,
14038        _req: crate::model::url_maps::DeleteRequest,
14039        _options: crate::RequestOptions,
14040    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14041    {
14042        gaxi::unimplemented::unimplemented_stub()
14043    }
14044
14045    /// Implements [super::client::UrlMaps::get].
14046    fn get(
14047        &self,
14048        _req: crate::model::url_maps::GetRequest,
14049        _options: crate::RequestOptions,
14050    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMap>>> + Send
14051    {
14052        gaxi::unimplemented::unimplemented_stub()
14053    }
14054
14055    /// Implements [super::client::UrlMaps::insert].
14056    fn insert(
14057        &self,
14058        _req: crate::model::url_maps::InsertRequest,
14059        _options: crate::RequestOptions,
14060    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14061    {
14062        gaxi::unimplemented::unimplemented_stub()
14063    }
14064
14065    /// Implements [super::client::UrlMaps::invalidate_cache].
14066    fn invalidate_cache(
14067        &self,
14068        _req: crate::model::url_maps::InvalidateCacheRequest,
14069        _options: crate::RequestOptions,
14070    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14071    {
14072        gaxi::unimplemented::unimplemented_stub()
14073    }
14074
14075    /// Implements [super::client::UrlMaps::list].
14076    fn list(
14077        &self,
14078        _req: crate::model::url_maps::ListRequest,
14079        _options: crate::RequestOptions,
14080    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMapList>>> + Send
14081    {
14082        gaxi::unimplemented::unimplemented_stub()
14083    }
14084
14085    /// Implements [super::client::UrlMaps::patch].
14086    fn patch(
14087        &self,
14088        _req: crate::model::url_maps::PatchRequest,
14089        _options: crate::RequestOptions,
14090    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14091    {
14092        gaxi::unimplemented::unimplemented_stub()
14093    }
14094
14095    /// Implements [super::client::UrlMaps::test_iam_permissions].
14096    fn test_iam_permissions(
14097        &self,
14098        _req: crate::model::url_maps::TestIamPermissionsRequest,
14099        _options: crate::RequestOptions,
14100    ) -> impl std::future::Future<
14101        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14102    > + Send {
14103        gaxi::unimplemented::unimplemented_stub()
14104    }
14105
14106    /// Implements [super::client::UrlMaps::update].
14107    fn update(
14108        &self,
14109        _req: crate::model::url_maps::UpdateRequest,
14110        _options: crate::RequestOptions,
14111    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14112    {
14113        gaxi::unimplemented::unimplemented_stub()
14114    }
14115
14116    /// Implements [super::client::UrlMaps::validate].
14117    fn validate(
14118        &self,
14119        _req: crate::model::url_maps::ValidateRequest,
14120        _options: crate::RequestOptions,
14121    ) -> impl std::future::Future<
14122        Output = crate::Result<crate::Response<crate::model::UrlMapsValidateResponse>>,
14123    > + Send {
14124        gaxi::unimplemented::unimplemented_stub()
14125    }
14126
14127    /// Implements [super::client::UrlMaps::get_operation].
14128    fn get_operation(
14129        &self,
14130        _req: crate::model::global_operations::GetRequest,
14131        _options: crate::RequestOptions,
14132    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14133    {
14134        gaxi::unimplemented::unimplemented_stub()
14135    }
14136
14137    /// Returns the polling error policy.
14138    ///
14139    /// When mocking, this method is typically irrelevant. Do not try to verify
14140    /// it is called by your mocks.
14141    fn get_polling_error_policy(
14142        &self,
14143        _options: &crate::RequestOptions,
14144    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14145        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14146    }
14147
14148    /// Returns the polling backoff policy.
14149    ///
14150    /// When mocking, this method is typically irrelevant. Do not try to verify
14151    /// it is called by your mocks.
14152    fn get_polling_backoff_policy(
14153        &self,
14154        _options: &crate::RequestOptions,
14155    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14156        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14157    }
14158}
14159
14160/// Defines the trait used to implement [super::client::VpnGateways].
14161///
14162/// Application developers may need to implement this trait to mock
14163/// `client::VpnGateways`.  In other use-cases, application developers only
14164/// use `client::VpnGateways` and need not be concerned with this trait or
14165/// its implementations.
14166///
14167/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14168/// too. To avoid breaking applications the trait provides a default
14169/// implementation of each method. Most of these implementations just return an
14170/// error.
14171#[cfg(feature = "vpn-gateways")]
14172#[cfg_attr(docsrs, doc(cfg(feature = "vpn-gateways")))]
14173pub trait VpnGateways: std::fmt::Debug + Send + Sync {
14174    /// Implements [super::client::VpnGateways::aggregated_list].
14175    fn aggregated_list(
14176        &self,
14177        _req: crate::model::vpn_gateways::AggregatedListRequest,
14178        _options: crate::RequestOptions,
14179    ) -> impl std::future::Future<
14180        Output = crate::Result<crate::Response<crate::model::VpnGatewayAggregatedList>>,
14181    > + Send {
14182        gaxi::unimplemented::unimplemented_stub()
14183    }
14184
14185    /// Implements [super::client::VpnGateways::delete].
14186    fn delete(
14187        &self,
14188        _req: crate::model::vpn_gateways::DeleteRequest,
14189        _options: crate::RequestOptions,
14190    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14191    {
14192        gaxi::unimplemented::unimplemented_stub()
14193    }
14194
14195    /// Implements [super::client::VpnGateways::get].
14196    fn get(
14197        &self,
14198        _req: crate::model::vpn_gateways::GetRequest,
14199        _options: crate::RequestOptions,
14200    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::VpnGateway>>> + Send
14201    {
14202        gaxi::unimplemented::unimplemented_stub()
14203    }
14204
14205    /// Implements [super::client::VpnGateways::get_status].
14206    fn get_status(
14207        &self,
14208        _req: crate::model::vpn_gateways::GetStatusRequest,
14209        _options: crate::RequestOptions,
14210    ) -> impl std::future::Future<
14211        Output = crate::Result<crate::Response<crate::model::VpnGatewaysGetStatusResponse>>,
14212    > + Send {
14213        gaxi::unimplemented::unimplemented_stub()
14214    }
14215
14216    /// Implements [super::client::VpnGateways::insert].
14217    fn insert(
14218        &self,
14219        _req: crate::model::vpn_gateways::InsertRequest,
14220        _options: crate::RequestOptions,
14221    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14222    {
14223        gaxi::unimplemented::unimplemented_stub()
14224    }
14225
14226    /// Implements [super::client::VpnGateways::list].
14227    fn list(
14228        &self,
14229        _req: crate::model::vpn_gateways::ListRequest,
14230        _options: crate::RequestOptions,
14231    ) -> impl std::future::Future<
14232        Output = crate::Result<crate::Response<crate::model::VpnGatewayList>>,
14233    > + Send {
14234        gaxi::unimplemented::unimplemented_stub()
14235    }
14236
14237    /// Implements [super::client::VpnGateways::set_labels].
14238    fn set_labels(
14239        &self,
14240        _req: crate::model::vpn_gateways::SetLabelsRequest,
14241        _options: crate::RequestOptions,
14242    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14243    {
14244        gaxi::unimplemented::unimplemented_stub()
14245    }
14246
14247    /// Implements [super::client::VpnGateways::test_iam_permissions].
14248    fn test_iam_permissions(
14249        &self,
14250        _req: crate::model::vpn_gateways::TestIamPermissionsRequest,
14251        _options: crate::RequestOptions,
14252    ) -> impl std::future::Future<
14253        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14254    > + Send {
14255        gaxi::unimplemented::unimplemented_stub()
14256    }
14257
14258    /// Implements [super::client::VpnGateways::get_operation].
14259    fn get_operation(
14260        &self,
14261        _req: crate::model::region_operations::GetRequest,
14262        _options: crate::RequestOptions,
14263    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14264    {
14265        gaxi::unimplemented::unimplemented_stub()
14266    }
14267
14268    /// Returns the polling error policy.
14269    ///
14270    /// When mocking, this method is typically irrelevant. Do not try to verify
14271    /// it is called by your mocks.
14272    fn get_polling_error_policy(
14273        &self,
14274        _options: &crate::RequestOptions,
14275    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14276        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14277    }
14278
14279    /// Returns the polling backoff policy.
14280    ///
14281    /// When mocking, this method is typically irrelevant. Do not try to verify
14282    /// it is called by your mocks.
14283    fn get_polling_backoff_policy(
14284        &self,
14285        _options: &crate::RequestOptions,
14286    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14287        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14288    }
14289}
14290
14291/// Defines the trait used to implement [super::client::VpnTunnels].
14292///
14293/// Application developers may need to implement this trait to mock
14294/// `client::VpnTunnels`.  In other use-cases, application developers only
14295/// use `client::VpnTunnels` and need not be concerned with this trait or
14296/// its implementations.
14297///
14298/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14299/// too. To avoid breaking applications the trait provides a default
14300/// implementation of each method. Most of these implementations just return an
14301/// error.
14302#[cfg(feature = "vpn-tunnels")]
14303#[cfg_attr(docsrs, doc(cfg(feature = "vpn-tunnels")))]
14304pub trait VpnTunnels: std::fmt::Debug + Send + Sync {
14305    /// Implements [super::client::VpnTunnels::aggregated_list].
14306    fn aggregated_list(
14307        &self,
14308        _req: crate::model::vpn_tunnels::AggregatedListRequest,
14309        _options: crate::RequestOptions,
14310    ) -> impl std::future::Future<
14311        Output = crate::Result<crate::Response<crate::model::VpnTunnelAggregatedList>>,
14312    > + Send {
14313        gaxi::unimplemented::unimplemented_stub()
14314    }
14315
14316    /// Implements [super::client::VpnTunnels::delete].
14317    fn delete(
14318        &self,
14319        _req: crate::model::vpn_tunnels::DeleteRequest,
14320        _options: crate::RequestOptions,
14321    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14322    {
14323        gaxi::unimplemented::unimplemented_stub()
14324    }
14325
14326    /// Implements [super::client::VpnTunnels::get].
14327    fn get(
14328        &self,
14329        _req: crate::model::vpn_tunnels::GetRequest,
14330        _options: crate::RequestOptions,
14331    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::VpnTunnel>>> + Send
14332    {
14333        gaxi::unimplemented::unimplemented_stub()
14334    }
14335
14336    /// Implements [super::client::VpnTunnels::insert].
14337    fn insert(
14338        &self,
14339        _req: crate::model::vpn_tunnels::InsertRequest,
14340        _options: crate::RequestOptions,
14341    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14342    {
14343        gaxi::unimplemented::unimplemented_stub()
14344    }
14345
14346    /// Implements [super::client::VpnTunnels::list].
14347    fn list(
14348        &self,
14349        _req: crate::model::vpn_tunnels::ListRequest,
14350        _options: crate::RequestOptions,
14351    ) -> impl std::future::Future<
14352        Output = crate::Result<crate::Response<crate::model::VpnTunnelList>>,
14353    > + Send {
14354        gaxi::unimplemented::unimplemented_stub()
14355    }
14356
14357    /// Implements [super::client::VpnTunnels::set_labels].
14358    fn set_labels(
14359        &self,
14360        _req: crate::model::vpn_tunnels::SetLabelsRequest,
14361        _options: crate::RequestOptions,
14362    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14363    {
14364        gaxi::unimplemented::unimplemented_stub()
14365    }
14366
14367    /// Implements [super::client::VpnTunnels::get_operation].
14368    fn get_operation(
14369        &self,
14370        _req: crate::model::region_operations::GetRequest,
14371        _options: crate::RequestOptions,
14372    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14373    {
14374        gaxi::unimplemented::unimplemented_stub()
14375    }
14376
14377    /// Returns the polling error policy.
14378    ///
14379    /// When mocking, this method is typically irrelevant. Do not try to verify
14380    /// it is called by your mocks.
14381    fn get_polling_error_policy(
14382        &self,
14383        _options: &crate::RequestOptions,
14384    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14385        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14386    }
14387
14388    /// Returns the polling backoff policy.
14389    ///
14390    /// When mocking, this method is typically irrelevant. Do not try to verify
14391    /// it is called by your mocks.
14392    fn get_polling_backoff_policy(
14393        &self,
14394        _options: &crate::RequestOptions,
14395    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14396        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14397    }
14398}
14399
14400/// Defines the trait used to implement [super::client::WireGroups].
14401///
14402/// Application developers may need to implement this trait to mock
14403/// `client::WireGroups`.  In other use-cases, application developers only
14404/// use `client::WireGroups` and need not be concerned with this trait or
14405/// its implementations.
14406///
14407/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14408/// too. To avoid breaking applications the trait provides a default
14409/// implementation of each method. Most of these implementations just return an
14410/// error.
14411#[cfg(feature = "wire-groups")]
14412#[cfg_attr(docsrs, doc(cfg(feature = "wire-groups")))]
14413pub trait WireGroups: std::fmt::Debug + Send + Sync {
14414    /// Implements [super::client::WireGroups::delete].
14415    fn delete(
14416        &self,
14417        _req: crate::model::wire_groups::DeleteRequest,
14418        _options: crate::RequestOptions,
14419    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14420    {
14421        gaxi::unimplemented::unimplemented_stub()
14422    }
14423
14424    /// Implements [super::client::WireGroups::get].
14425    fn get(
14426        &self,
14427        _req: crate::model::wire_groups::GetRequest,
14428        _options: crate::RequestOptions,
14429    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::WireGroup>>> + Send
14430    {
14431        gaxi::unimplemented::unimplemented_stub()
14432    }
14433
14434    /// Implements [super::client::WireGroups::insert].
14435    fn insert(
14436        &self,
14437        _req: crate::model::wire_groups::InsertRequest,
14438        _options: crate::RequestOptions,
14439    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14440    {
14441        gaxi::unimplemented::unimplemented_stub()
14442    }
14443
14444    /// Implements [super::client::WireGroups::list].
14445    fn list(
14446        &self,
14447        _req: crate::model::wire_groups::ListRequest,
14448        _options: crate::RequestOptions,
14449    ) -> impl std::future::Future<
14450        Output = crate::Result<crate::Response<crate::model::WireGroupList>>,
14451    > + Send {
14452        gaxi::unimplemented::unimplemented_stub()
14453    }
14454
14455    /// Implements [super::client::WireGroups::patch].
14456    fn patch(
14457        &self,
14458        _req: crate::model::wire_groups::PatchRequest,
14459        _options: crate::RequestOptions,
14460    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14461    {
14462        gaxi::unimplemented::unimplemented_stub()
14463    }
14464
14465    /// Implements [super::client::WireGroups::get_operation].
14466    fn get_operation(
14467        &self,
14468        _req: crate::model::global_operations::GetRequest,
14469        _options: crate::RequestOptions,
14470    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14471    {
14472        gaxi::unimplemented::unimplemented_stub()
14473    }
14474
14475    /// Returns the polling error policy.
14476    ///
14477    /// When mocking, this method is typically irrelevant. Do not try to verify
14478    /// it is called by your mocks.
14479    fn get_polling_error_policy(
14480        &self,
14481        _options: &crate::RequestOptions,
14482    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14483        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14484    }
14485
14486    /// Returns the polling backoff policy.
14487    ///
14488    /// When mocking, this method is typically irrelevant. Do not try to verify
14489    /// it is called by your mocks.
14490    fn get_polling_backoff_policy(
14491        &self,
14492        _options: &crate::RequestOptions,
14493    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14494        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14495    }
14496}
14497
14498/// Defines the trait used to implement [super::client::ZoneOperations].
14499///
14500/// Application developers may need to implement this trait to mock
14501/// `client::ZoneOperations`.  In other use-cases, application developers only
14502/// use `client::ZoneOperations` and need not be concerned with this trait or
14503/// its implementations.
14504///
14505/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14506/// too. To avoid breaking applications the trait provides a default
14507/// implementation of each method. Most of these implementations just return an
14508/// error.
14509#[cfg(feature = "zone-operations")]
14510#[cfg_attr(docsrs, doc(cfg(feature = "zone-operations")))]
14511pub trait ZoneOperations: std::fmt::Debug + Send + Sync {
14512    /// Implements [super::client::ZoneOperations::delete].
14513    fn delete(
14514        &self,
14515        _req: crate::model::zone_operations::DeleteRequest,
14516        _options: crate::RequestOptions,
14517    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
14518        gaxi::unimplemented::unimplemented_stub()
14519    }
14520
14521    /// Implements [super::client::ZoneOperations::get].
14522    fn get(
14523        &self,
14524        _req: crate::model::zone_operations::GetRequest,
14525        _options: crate::RequestOptions,
14526    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14527    {
14528        gaxi::unimplemented::unimplemented_stub()
14529    }
14530
14531    /// Implements [super::client::ZoneOperations::list].
14532    fn list(
14533        &self,
14534        _req: crate::model::zone_operations::ListRequest,
14535        _options: crate::RequestOptions,
14536    ) -> impl std::future::Future<
14537        Output = crate::Result<crate::Response<crate::model::OperationList>>,
14538    > + Send {
14539        gaxi::unimplemented::unimplemented_stub()
14540    }
14541
14542    /// Implements [super::client::ZoneOperations::wait].
14543    fn wait(
14544        &self,
14545        _req: crate::model::zone_operations::WaitRequest,
14546        _options: crate::RequestOptions,
14547    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14548    {
14549        gaxi::unimplemented::unimplemented_stub()
14550    }
14551}
14552
14553/// Defines the trait used to implement [super::client::ZoneVmExtensionPolicies].
14554///
14555/// Application developers may need to implement this trait to mock
14556/// `client::ZoneVmExtensionPolicies`.  In other use-cases, application developers only
14557/// use `client::ZoneVmExtensionPolicies` and need not be concerned with this trait or
14558/// its implementations.
14559///
14560/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14561/// too. To avoid breaking applications the trait provides a default
14562/// implementation of each method. Most of these implementations just return an
14563/// error.
14564#[cfg(feature = "zone-vm-extension-policies")]
14565#[cfg_attr(docsrs, doc(cfg(feature = "zone-vm-extension-policies")))]
14566pub trait ZoneVmExtensionPolicies: std::fmt::Debug + Send + Sync {
14567    /// Implements [super::client::ZoneVmExtensionPolicies::delete].
14568    fn delete(
14569        &self,
14570        _req: crate::model::zone_vm_extension_policies::DeleteRequest,
14571        _options: crate::RequestOptions,
14572    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14573    {
14574        gaxi::unimplemented::unimplemented_stub()
14575    }
14576
14577    /// Implements [super::client::ZoneVmExtensionPolicies::get].
14578    fn get(
14579        &self,
14580        _req: crate::model::zone_vm_extension_policies::GetRequest,
14581        _options: crate::RequestOptions,
14582    ) -> impl std::future::Future<
14583        Output = crate::Result<crate::Response<crate::model::VmExtensionPolicy>>,
14584    > + Send {
14585        gaxi::unimplemented::unimplemented_stub()
14586    }
14587
14588    /// Implements [super::client::ZoneVmExtensionPolicies::insert].
14589    fn insert(
14590        &self,
14591        _req: crate::model::zone_vm_extension_policies::InsertRequest,
14592        _options: crate::RequestOptions,
14593    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14594    {
14595        gaxi::unimplemented::unimplemented_stub()
14596    }
14597
14598    /// Implements [super::client::ZoneVmExtensionPolicies::list].
14599    fn list(
14600        &self,
14601        _req: crate::model::zone_vm_extension_policies::ListRequest,
14602        _options: crate::RequestOptions,
14603    ) -> impl std::future::Future<
14604        Output = crate::Result<crate::Response<crate::model::VmExtensionPolicyList>>,
14605    > + Send {
14606        gaxi::unimplemented::unimplemented_stub()
14607    }
14608
14609    /// Implements [super::client::ZoneVmExtensionPolicies::update].
14610    fn update(
14611        &self,
14612        _req: crate::model::zone_vm_extension_policies::UpdateRequest,
14613        _options: crate::RequestOptions,
14614    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14615    {
14616        gaxi::unimplemented::unimplemented_stub()
14617    }
14618
14619    /// Implements [super::client::ZoneVmExtensionPolicies::get_operation].
14620    fn get_operation(
14621        &self,
14622        _req: crate::model::zone_operations::GetRequest,
14623        _options: crate::RequestOptions,
14624    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14625    {
14626        gaxi::unimplemented::unimplemented_stub()
14627    }
14628
14629    /// Returns the polling error policy.
14630    ///
14631    /// When mocking, this method is typically irrelevant. Do not try to verify
14632    /// it is called by your mocks.
14633    fn get_polling_error_policy(
14634        &self,
14635        _options: &crate::RequestOptions,
14636    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14637        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14638    }
14639
14640    /// Returns the polling backoff policy.
14641    ///
14642    /// When mocking, this method is typically irrelevant. Do not try to verify
14643    /// it is called by your mocks.
14644    fn get_polling_backoff_policy(
14645        &self,
14646        _options: &crate::RequestOptions,
14647    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14648        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14649    }
14650}
14651
14652/// Defines the trait used to implement [super::client::Zones].
14653///
14654/// Application developers may need to implement this trait to mock
14655/// `client::Zones`.  In other use-cases, application developers only
14656/// use `client::Zones` and need not be concerned with this trait or
14657/// its implementations.
14658///
14659/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14660/// too. To avoid breaking applications the trait provides a default
14661/// implementation of each method. Most of these implementations just return an
14662/// error.
14663#[cfg(feature = "zones")]
14664#[cfg_attr(docsrs, doc(cfg(feature = "zones")))]
14665pub trait Zones: std::fmt::Debug + Send + Sync {
14666    /// Implements [super::client::Zones::get].
14667    fn get(
14668        &self,
14669        _req: crate::model::zones::GetRequest,
14670        _options: crate::RequestOptions,
14671    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Zone>>> + Send
14672    {
14673        gaxi::unimplemented::unimplemented_stub()
14674    }
14675
14676    /// Implements [super::client::Zones::list].
14677    fn list(
14678        &self,
14679        _req: crate::model::zones::ListRequest,
14680        _options: crate::RequestOptions,
14681    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ZoneList>>> + Send
14682    {
14683        gaxi::unimplemented::unimplemented_stub()
14684    }
14685}