Skip to main content

google_cloud_compute_v1/
stub.rs

1// Copyright 2025 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     https://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15// Code generated by sidekick. DO NOT EDIT.
16
17//! Traits to mock the clients in this library.
18//!
19//! Application developers may need to mock the clients in this library to test
20//! how their application works with different (and sometimes hard to trigger)
21//! client and service behavior. Such test can define mocks implementing the
22//! trait(s) defined in this module, initialize the client with an instance of
23//! this mock in their tests, and verify their application responds as expected.
24
25#![allow(rustdoc::broken_intra_doc_links)]
26
27pub(crate) mod dynamic;
28
29/// Defines the trait used to implement [super::client::AcceleratorTypes].
30///
31/// Application developers may need to implement this trait to mock
32/// `client::AcceleratorTypes`.  In other use-cases, application developers only
33/// use `client::AcceleratorTypes` and need not be concerned with this trait or
34/// its implementations.
35///
36/// Services gain new RPCs routinely. Consequently, this trait gains new methods
37/// too. To avoid breaking applications the trait provides a default
38/// implementation of each method. Most of these implementations just return an
39/// error.
40#[cfg(feature = "accelerator-types")]
41#[cfg_attr(docsrs, doc(cfg(feature = "accelerator-types")))]
42pub trait AcceleratorTypes: std::fmt::Debug + Send + Sync {
43    /// Implements [super::client::AcceleratorTypes::aggregated_list].
44    fn aggregated_list(
45        &self,
46        _req: crate::model::accelerator_types::AggregatedListRequest,
47        _options: crate::RequestOptions,
48    ) -> impl std::future::Future<
49        Output = crate::Result<crate::Response<crate::model::AcceleratorTypeAggregatedList>>,
50    > + Send {
51        gaxi::unimplemented::unimplemented_stub()
52    }
53
54    /// Implements [super::client::AcceleratorTypes::get].
55    fn get(
56        &self,
57        _req: crate::model::accelerator_types::GetRequest,
58        _options: crate::RequestOptions,
59    ) -> impl std::future::Future<
60        Output = crate::Result<crate::Response<crate::model::AcceleratorType>>,
61    > + Send {
62        gaxi::unimplemented::unimplemented_stub()
63    }
64
65    /// Implements [super::client::AcceleratorTypes::list].
66    fn list(
67        &self,
68        _req: crate::model::accelerator_types::ListRequest,
69        _options: crate::RequestOptions,
70    ) -> impl std::future::Future<
71        Output = crate::Result<crate::Response<crate::model::AcceleratorTypeList>>,
72    > + Send {
73        gaxi::unimplemented::unimplemented_stub()
74    }
75}
76
77/// Defines the trait used to implement [super::client::Addresses].
78///
79/// Application developers may need to implement this trait to mock
80/// `client::Addresses`.  In other use-cases, application developers only
81/// use `client::Addresses` and need not be concerned with this trait or
82/// its implementations.
83///
84/// Services gain new RPCs routinely. Consequently, this trait gains new methods
85/// too. To avoid breaking applications the trait provides a default
86/// implementation of each method. Most of these implementations just return an
87/// error.
88#[cfg(feature = "addresses")]
89#[cfg_attr(docsrs, doc(cfg(feature = "addresses")))]
90pub trait Addresses: std::fmt::Debug + Send + Sync {
91    /// Implements [super::client::Addresses::aggregated_list].
92    fn aggregated_list(
93        &self,
94        _req: crate::model::addresses::AggregatedListRequest,
95        _options: crate::RequestOptions,
96    ) -> impl std::future::Future<
97        Output = crate::Result<crate::Response<crate::model::AddressAggregatedList>>,
98    > + Send {
99        gaxi::unimplemented::unimplemented_stub()
100    }
101
102    /// Implements [super::client::Addresses::delete].
103    fn delete(
104        &self,
105        _req: crate::model::addresses::DeleteRequest,
106        _options: crate::RequestOptions,
107    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
108    {
109        gaxi::unimplemented::unimplemented_stub()
110    }
111
112    /// Implements [super::client::Addresses::get].
113    fn get(
114        &self,
115        _req: crate::model::addresses::GetRequest,
116        _options: crate::RequestOptions,
117    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Address>>> + Send
118    {
119        gaxi::unimplemented::unimplemented_stub()
120    }
121
122    /// Implements [super::client::Addresses::insert].
123    fn insert(
124        &self,
125        _req: crate::model::addresses::InsertRequest,
126        _options: crate::RequestOptions,
127    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
128    {
129        gaxi::unimplemented::unimplemented_stub()
130    }
131
132    /// Implements [super::client::Addresses::list].
133    fn list(
134        &self,
135        _req: crate::model::addresses::ListRequest,
136        _options: crate::RequestOptions,
137    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::AddressList>>>
138    + Send {
139        gaxi::unimplemented::unimplemented_stub()
140    }
141
142    /// Implements [super::client::Addresses::r#move].
143    fn r#move(
144        &self,
145        _req: crate::model::addresses::MoveRequest,
146        _options: crate::RequestOptions,
147    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
148    {
149        gaxi::unimplemented::unimplemented_stub()
150    }
151
152    /// Implements [super::client::Addresses::set_labels].
153    fn set_labels(
154        &self,
155        _req: crate::model::addresses::SetLabelsRequest,
156        _options: crate::RequestOptions,
157    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
158    {
159        gaxi::unimplemented::unimplemented_stub()
160    }
161
162    /// Implements [super::client::Addresses::test_iam_permissions].
163    fn test_iam_permissions(
164        &self,
165        _req: crate::model::addresses::TestIamPermissionsRequest,
166        _options: crate::RequestOptions,
167    ) -> impl std::future::Future<
168        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
169    > + Send {
170        gaxi::unimplemented::unimplemented_stub()
171    }
172
173    /// Implements [super::client::Addresses::get_operation].
174    fn get_operation(
175        &self,
176        _req: crate::model::region_operations::GetRequest,
177        _options: crate::RequestOptions,
178    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
179    {
180        gaxi::unimplemented::unimplemented_stub()
181    }
182
183    /// Returns the polling error policy.
184    ///
185    /// When mocking, this method is typically irrelevant. Do not try to verify
186    /// it is called by your mocks.
187    fn get_polling_error_policy(
188        &self,
189        _options: &crate::RequestOptions,
190    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
191        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
192    }
193
194    /// Returns the polling backoff policy.
195    ///
196    /// When mocking, this method is typically irrelevant. Do not try to verify
197    /// it is called by your mocks.
198    fn get_polling_backoff_policy(
199        &self,
200        _options: &crate::RequestOptions,
201    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
202        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
203    }
204}
205
206/// Defines the trait used to implement [super::client::Advice].
207///
208/// Application developers may need to implement this trait to mock
209/// `client::Advice`.  In other use-cases, application developers only
210/// use `client::Advice` and need not be concerned with this trait or
211/// its implementations.
212///
213/// Services gain new RPCs routinely. Consequently, this trait gains new methods
214/// too. To avoid breaking applications the trait provides a default
215/// implementation of each method. Most of these implementations just return an
216/// error.
217#[cfg(feature = "advice")]
218#[cfg_attr(docsrs, doc(cfg(feature = "advice")))]
219pub trait Advice: std::fmt::Debug + Send + Sync {
220    /// Implements [super::client::Advice::calendar_mode].
221    fn calendar_mode(
222        &self,
223        _req: crate::model::advice::CalendarModeRequest,
224        _options: crate::RequestOptions,
225    ) -> impl std::future::Future<
226        Output = crate::Result<crate::Response<crate::model::CalendarModeAdviceResponse>>,
227    > + Send {
228        gaxi::unimplemented::unimplemented_stub()
229    }
230}
231
232/// Defines the trait used to implement [super::client::Autoscalers].
233///
234/// Application developers may need to implement this trait to mock
235/// `client::Autoscalers`.  In other use-cases, application developers only
236/// use `client::Autoscalers` and need not be concerned with this trait or
237/// its implementations.
238///
239/// Services gain new RPCs routinely. Consequently, this trait gains new methods
240/// too. To avoid breaking applications the trait provides a default
241/// implementation of each method. Most of these implementations just return an
242/// error.
243#[cfg(feature = "autoscalers")]
244#[cfg_attr(docsrs, doc(cfg(feature = "autoscalers")))]
245pub trait Autoscalers: std::fmt::Debug + Send + Sync {
246    /// Implements [super::client::Autoscalers::aggregated_list].
247    fn aggregated_list(
248        &self,
249        _req: crate::model::autoscalers::AggregatedListRequest,
250        _options: crate::RequestOptions,
251    ) -> impl std::future::Future<
252        Output = crate::Result<crate::Response<crate::model::AutoscalerAggregatedList>>,
253    > + Send {
254        gaxi::unimplemented::unimplemented_stub()
255    }
256
257    /// Implements [super::client::Autoscalers::delete].
258    fn delete(
259        &self,
260        _req: crate::model::autoscalers::DeleteRequest,
261        _options: crate::RequestOptions,
262    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
263    {
264        gaxi::unimplemented::unimplemented_stub()
265    }
266
267    /// Implements [super::client::Autoscalers::get].
268    fn get(
269        &self,
270        _req: crate::model::autoscalers::GetRequest,
271        _options: crate::RequestOptions,
272    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Autoscaler>>> + Send
273    {
274        gaxi::unimplemented::unimplemented_stub()
275    }
276
277    /// Implements [super::client::Autoscalers::insert].
278    fn insert(
279        &self,
280        _req: crate::model::autoscalers::InsertRequest,
281        _options: crate::RequestOptions,
282    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
283    {
284        gaxi::unimplemented::unimplemented_stub()
285    }
286
287    /// Implements [super::client::Autoscalers::list].
288    fn list(
289        &self,
290        _req: crate::model::autoscalers::ListRequest,
291        _options: crate::RequestOptions,
292    ) -> impl std::future::Future<
293        Output = crate::Result<crate::Response<crate::model::AutoscalerList>>,
294    > + Send {
295        gaxi::unimplemented::unimplemented_stub()
296    }
297
298    /// Implements [super::client::Autoscalers::patch].
299    fn patch(
300        &self,
301        _req: crate::model::autoscalers::PatchRequest,
302        _options: crate::RequestOptions,
303    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
304    {
305        gaxi::unimplemented::unimplemented_stub()
306    }
307
308    /// Implements [super::client::Autoscalers::test_iam_permissions].
309    fn test_iam_permissions(
310        &self,
311        _req: crate::model::autoscalers::TestIamPermissionsRequest,
312        _options: crate::RequestOptions,
313    ) -> impl std::future::Future<
314        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
315    > + Send {
316        gaxi::unimplemented::unimplemented_stub()
317    }
318
319    /// Implements [super::client::Autoscalers::update].
320    fn update(
321        &self,
322        _req: crate::model::autoscalers::UpdateRequest,
323        _options: crate::RequestOptions,
324    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
325    {
326        gaxi::unimplemented::unimplemented_stub()
327    }
328
329    /// Implements [super::client::Autoscalers::get_operation].
330    fn get_operation(
331        &self,
332        _req: crate::model::zone_operations::GetRequest,
333        _options: crate::RequestOptions,
334    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
335    {
336        gaxi::unimplemented::unimplemented_stub()
337    }
338
339    /// Returns the polling error policy.
340    ///
341    /// When mocking, this method is typically irrelevant. Do not try to verify
342    /// it is called by your mocks.
343    fn get_polling_error_policy(
344        &self,
345        _options: &crate::RequestOptions,
346    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
347        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
348    }
349
350    /// Returns the polling backoff policy.
351    ///
352    /// When mocking, this method is typically irrelevant. Do not try to verify
353    /// it is called by your mocks.
354    fn get_polling_backoff_policy(
355        &self,
356        _options: &crate::RequestOptions,
357    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
358        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
359    }
360}
361
362/// Defines the trait used to implement [super::client::BackendBuckets].
363///
364/// Application developers may need to implement this trait to mock
365/// `client::BackendBuckets`.  In other use-cases, application developers only
366/// use `client::BackendBuckets` and need not be concerned with this trait or
367/// its implementations.
368///
369/// Services gain new RPCs routinely. Consequently, this trait gains new methods
370/// too. To avoid breaking applications the trait provides a default
371/// implementation of each method. Most of these implementations just return an
372/// error.
373#[cfg(feature = "backend-buckets")]
374#[cfg_attr(docsrs, doc(cfg(feature = "backend-buckets")))]
375pub trait BackendBuckets: std::fmt::Debug + Send + Sync {
376    /// Implements [super::client::BackendBuckets::add_signed_url_key].
377    fn add_signed_url_key(
378        &self,
379        _req: crate::model::backend_buckets::AddSignedUrlKeyRequest,
380        _options: crate::RequestOptions,
381    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
382    {
383        gaxi::unimplemented::unimplemented_stub()
384    }
385
386    /// Implements [super::client::BackendBuckets::aggregated_list].
387    fn aggregated_list(
388        &self,
389        _req: crate::model::backend_buckets::AggregatedListRequest,
390        _options: crate::RequestOptions,
391    ) -> impl std::future::Future<
392        Output = crate::Result<crate::Response<crate::model::BackendBucketAggregatedList>>,
393    > + Send {
394        gaxi::unimplemented::unimplemented_stub()
395    }
396
397    /// Implements [super::client::BackendBuckets::delete].
398    fn delete(
399        &self,
400        _req: crate::model::backend_buckets::DeleteRequest,
401        _options: crate::RequestOptions,
402    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
403    {
404        gaxi::unimplemented::unimplemented_stub()
405    }
406
407    /// Implements [super::client::BackendBuckets::delete_signed_url_key].
408    fn delete_signed_url_key(
409        &self,
410        _req: crate::model::backend_buckets::DeleteSignedUrlKeyRequest,
411        _options: crate::RequestOptions,
412    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
413    {
414        gaxi::unimplemented::unimplemented_stub()
415    }
416
417    /// Implements [super::client::BackendBuckets::get].
418    fn get(
419        &self,
420        _req: crate::model::backend_buckets::GetRequest,
421        _options: crate::RequestOptions,
422    ) -> impl std::future::Future<
423        Output = crate::Result<crate::Response<crate::model::BackendBucket>>,
424    > + Send {
425        gaxi::unimplemented::unimplemented_stub()
426    }
427
428    /// Implements [super::client::BackendBuckets::get_iam_policy].
429    fn get_iam_policy(
430        &self,
431        _req: crate::model::backend_buckets::GetIamPolicyRequest,
432        _options: crate::RequestOptions,
433    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
434    {
435        gaxi::unimplemented::unimplemented_stub()
436    }
437
438    /// Implements [super::client::BackendBuckets::insert].
439    fn insert(
440        &self,
441        _req: crate::model::backend_buckets::InsertRequest,
442        _options: crate::RequestOptions,
443    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
444    {
445        gaxi::unimplemented::unimplemented_stub()
446    }
447
448    /// Implements [super::client::BackendBuckets::list].
449    fn list(
450        &self,
451        _req: crate::model::backend_buckets::ListRequest,
452        _options: crate::RequestOptions,
453    ) -> impl std::future::Future<
454        Output = crate::Result<crate::Response<crate::model::BackendBucketList>>,
455    > + Send {
456        gaxi::unimplemented::unimplemented_stub()
457    }
458
459    /// Implements [super::client::BackendBuckets::list_usable].
460    fn list_usable(
461        &self,
462        _req: crate::model::backend_buckets::ListUsableRequest,
463        _options: crate::RequestOptions,
464    ) -> impl std::future::Future<
465        Output = crate::Result<crate::Response<crate::model::BackendBucketListUsable>>,
466    > + Send {
467        gaxi::unimplemented::unimplemented_stub()
468    }
469
470    /// Implements [super::client::BackendBuckets::patch].
471    fn patch(
472        &self,
473        _req: crate::model::backend_buckets::PatchRequest,
474        _options: crate::RequestOptions,
475    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
476    {
477        gaxi::unimplemented::unimplemented_stub()
478    }
479
480    /// Implements [super::client::BackendBuckets::set_edge_security_policy].
481    fn set_edge_security_policy(
482        &self,
483        _req: crate::model::backend_buckets::SetEdgeSecurityPolicyRequest,
484        _options: crate::RequestOptions,
485    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
486    {
487        gaxi::unimplemented::unimplemented_stub()
488    }
489
490    /// Implements [super::client::BackendBuckets::set_iam_policy].
491    fn set_iam_policy(
492        &self,
493        _req: crate::model::backend_buckets::SetIamPolicyRequest,
494        _options: crate::RequestOptions,
495    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
496    {
497        gaxi::unimplemented::unimplemented_stub()
498    }
499
500    /// Implements [super::client::BackendBuckets::test_iam_permissions].
501    fn test_iam_permissions(
502        &self,
503        _req: crate::model::backend_buckets::TestIamPermissionsRequest,
504        _options: crate::RequestOptions,
505    ) -> impl std::future::Future<
506        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
507    > + Send {
508        gaxi::unimplemented::unimplemented_stub()
509    }
510
511    /// Implements [super::client::BackendBuckets::update].
512    fn update(
513        &self,
514        _req: crate::model::backend_buckets::UpdateRequest,
515        _options: crate::RequestOptions,
516    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
517    {
518        gaxi::unimplemented::unimplemented_stub()
519    }
520
521    /// Implements [super::client::BackendBuckets::get_operation].
522    fn get_operation(
523        &self,
524        _req: crate::model::global_operations::GetRequest,
525        _options: crate::RequestOptions,
526    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
527    {
528        gaxi::unimplemented::unimplemented_stub()
529    }
530
531    /// Returns the polling error policy.
532    ///
533    /// When mocking, this method is typically irrelevant. Do not try to verify
534    /// it is called by your mocks.
535    fn get_polling_error_policy(
536        &self,
537        _options: &crate::RequestOptions,
538    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
539        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
540    }
541
542    /// Returns the polling backoff policy.
543    ///
544    /// When mocking, this method is typically irrelevant. Do not try to verify
545    /// it is called by your mocks.
546    fn get_polling_backoff_policy(
547        &self,
548        _options: &crate::RequestOptions,
549    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
550        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
551    }
552}
553
554/// Defines the trait used to implement [super::client::BackendServices].
555///
556/// Application developers may need to implement this trait to mock
557/// `client::BackendServices`.  In other use-cases, application developers only
558/// use `client::BackendServices` and need not be concerned with this trait or
559/// its implementations.
560///
561/// Services gain new RPCs routinely. Consequently, this trait gains new methods
562/// too. To avoid breaking applications the trait provides a default
563/// implementation of each method. Most of these implementations just return an
564/// error.
565#[cfg(feature = "backend-services")]
566#[cfg_attr(docsrs, doc(cfg(feature = "backend-services")))]
567pub trait BackendServices: std::fmt::Debug + Send + Sync {
568    /// Implements [super::client::BackendServices::add_signed_url_key].
569    fn add_signed_url_key(
570        &self,
571        _req: crate::model::backend_services::AddSignedUrlKeyRequest,
572        _options: crate::RequestOptions,
573    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
574    {
575        gaxi::unimplemented::unimplemented_stub()
576    }
577
578    /// Implements [super::client::BackendServices::aggregated_list].
579    fn aggregated_list(
580        &self,
581        _req: crate::model::backend_services::AggregatedListRequest,
582        _options: crate::RequestOptions,
583    ) -> impl std::future::Future<
584        Output = crate::Result<crate::Response<crate::model::BackendServiceAggregatedList>>,
585    > + Send {
586        gaxi::unimplemented::unimplemented_stub()
587    }
588
589    /// Implements [super::client::BackendServices::delete].
590    fn delete(
591        &self,
592        _req: crate::model::backend_services::DeleteRequest,
593        _options: crate::RequestOptions,
594    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
595    {
596        gaxi::unimplemented::unimplemented_stub()
597    }
598
599    /// Implements [super::client::BackendServices::delete_signed_url_key].
600    fn delete_signed_url_key(
601        &self,
602        _req: crate::model::backend_services::DeleteSignedUrlKeyRequest,
603        _options: crate::RequestOptions,
604    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
605    {
606        gaxi::unimplemented::unimplemented_stub()
607    }
608
609    /// Implements [super::client::BackendServices::get].
610    fn get(
611        &self,
612        _req: crate::model::backend_services::GetRequest,
613        _options: crate::RequestOptions,
614    ) -> impl std::future::Future<
615        Output = crate::Result<crate::Response<crate::model::BackendService>>,
616    > + Send {
617        gaxi::unimplemented::unimplemented_stub()
618    }
619
620    /// Implements [super::client::BackendServices::get_effective_security_policies].
621    fn get_effective_security_policies(
622        &self,
623        _req: crate::model::backend_services::GetEffectiveSecurityPoliciesRequest,
624        _options: crate::RequestOptions,
625    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
626        gaxi::unimplemented::unimplemented_stub()
627    }
628
629    /// Implements [super::client::BackendServices::get_health].
630    fn get_health(
631        &self,
632        _req: crate::model::backend_services::GetHealthRequest,
633        _options: crate::RequestOptions,
634    ) -> impl std::future::Future<
635        Output = crate::Result<crate::Response<crate::model::BackendServiceGroupHealth>>,
636    > + Send {
637        gaxi::unimplemented::unimplemented_stub()
638    }
639
640    /// Implements [super::client::BackendServices::get_iam_policy].
641    fn get_iam_policy(
642        &self,
643        _req: crate::model::backend_services::GetIamPolicyRequest,
644        _options: crate::RequestOptions,
645    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
646    {
647        gaxi::unimplemented::unimplemented_stub()
648    }
649
650    /// Implements [super::client::BackendServices::insert].
651    fn insert(
652        &self,
653        _req: crate::model::backend_services::InsertRequest,
654        _options: crate::RequestOptions,
655    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
656    {
657        gaxi::unimplemented::unimplemented_stub()
658    }
659
660    /// Implements [super::client::BackendServices::list].
661    fn list(
662        &self,
663        _req: crate::model::backend_services::ListRequest,
664        _options: crate::RequestOptions,
665    ) -> impl std::future::Future<
666        Output = crate::Result<crate::Response<crate::model::BackendServiceList>>,
667    > + Send {
668        gaxi::unimplemented::unimplemented_stub()
669    }
670
671    /// Implements [super::client::BackendServices::list_usable].
672    fn list_usable(
673        &self,
674        _req: crate::model::backend_services::ListUsableRequest,
675        _options: crate::RequestOptions,
676    ) -> impl std::future::Future<
677        Output = crate::Result<crate::Response<crate::model::BackendServiceListUsable>>,
678    > + Send {
679        gaxi::unimplemented::unimplemented_stub()
680    }
681
682    /// Implements [super::client::BackendServices::patch].
683    fn patch(
684        &self,
685        _req: crate::model::backend_services::PatchRequest,
686        _options: crate::RequestOptions,
687    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
688    {
689        gaxi::unimplemented::unimplemented_stub()
690    }
691
692    /// Implements [super::client::BackendServices::set_edge_security_policy].
693    fn set_edge_security_policy(
694        &self,
695        _req: crate::model::backend_services::SetEdgeSecurityPolicyRequest,
696        _options: crate::RequestOptions,
697    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
698    {
699        gaxi::unimplemented::unimplemented_stub()
700    }
701
702    /// Implements [super::client::BackendServices::set_iam_policy].
703    fn set_iam_policy(
704        &self,
705        _req: crate::model::backend_services::SetIamPolicyRequest,
706        _options: crate::RequestOptions,
707    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
708    {
709        gaxi::unimplemented::unimplemented_stub()
710    }
711
712    /// Implements [super::client::BackendServices::set_security_policy].
713    fn set_security_policy(
714        &self,
715        _req: crate::model::backend_services::SetSecurityPolicyRequest,
716        _options: crate::RequestOptions,
717    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
718    {
719        gaxi::unimplemented::unimplemented_stub()
720    }
721
722    /// Implements [super::client::BackendServices::test_iam_permissions].
723    fn test_iam_permissions(
724        &self,
725        _req: crate::model::backend_services::TestIamPermissionsRequest,
726        _options: crate::RequestOptions,
727    ) -> impl std::future::Future<
728        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
729    > + Send {
730        gaxi::unimplemented::unimplemented_stub()
731    }
732
733    /// Implements [super::client::BackendServices::update].
734    fn update(
735        &self,
736        _req: crate::model::backend_services::UpdateRequest,
737        _options: crate::RequestOptions,
738    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
739    {
740        gaxi::unimplemented::unimplemented_stub()
741    }
742
743    /// Implements [super::client::BackendServices::get_operation].
744    fn get_operation(
745        &self,
746        _req: crate::model::global_operations::GetRequest,
747        _options: crate::RequestOptions,
748    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
749    {
750        gaxi::unimplemented::unimplemented_stub()
751    }
752
753    /// Returns the polling error policy.
754    ///
755    /// When mocking, this method is typically irrelevant. Do not try to verify
756    /// it is called by your mocks.
757    fn get_polling_error_policy(
758        &self,
759        _options: &crate::RequestOptions,
760    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
761        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
762    }
763
764    /// Returns the polling backoff policy.
765    ///
766    /// When mocking, this method is typically irrelevant. Do not try to verify
767    /// it is called by your mocks.
768    fn get_polling_backoff_policy(
769        &self,
770        _options: &crate::RequestOptions,
771    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
772        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
773    }
774}
775
776/// Defines the trait used to implement [super::client::CrossSiteNetworks].
777///
778/// Application developers may need to implement this trait to mock
779/// `client::CrossSiteNetworks`.  In other use-cases, application developers only
780/// use `client::CrossSiteNetworks` and need not be concerned with this trait or
781/// its implementations.
782///
783/// Services gain new RPCs routinely. Consequently, this trait gains new methods
784/// too. To avoid breaking applications the trait provides a default
785/// implementation of each method. Most of these implementations just return an
786/// error.
787#[cfg(feature = "cross-site-networks")]
788#[cfg_attr(docsrs, doc(cfg(feature = "cross-site-networks")))]
789pub trait CrossSiteNetworks: std::fmt::Debug + Send + Sync {
790    /// Implements [super::client::CrossSiteNetworks::delete].
791    fn delete(
792        &self,
793        _req: crate::model::cross_site_networks::DeleteRequest,
794        _options: crate::RequestOptions,
795    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
796    {
797        gaxi::unimplemented::unimplemented_stub()
798    }
799
800    /// Implements [super::client::CrossSiteNetworks::get].
801    fn get(
802        &self,
803        _req: crate::model::cross_site_networks::GetRequest,
804        _options: crate::RequestOptions,
805    ) -> impl std::future::Future<
806        Output = crate::Result<crate::Response<crate::model::CrossSiteNetwork>>,
807    > + Send {
808        gaxi::unimplemented::unimplemented_stub()
809    }
810
811    /// Implements [super::client::CrossSiteNetworks::insert].
812    fn insert(
813        &self,
814        _req: crate::model::cross_site_networks::InsertRequest,
815        _options: crate::RequestOptions,
816    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
817    {
818        gaxi::unimplemented::unimplemented_stub()
819    }
820
821    /// Implements [super::client::CrossSiteNetworks::list].
822    fn list(
823        &self,
824        _req: crate::model::cross_site_networks::ListRequest,
825        _options: crate::RequestOptions,
826    ) -> impl std::future::Future<
827        Output = crate::Result<crate::Response<crate::model::CrossSiteNetworkList>>,
828    > + Send {
829        gaxi::unimplemented::unimplemented_stub()
830    }
831
832    /// Implements [super::client::CrossSiteNetworks::patch].
833    fn patch(
834        &self,
835        _req: crate::model::cross_site_networks::PatchRequest,
836        _options: crate::RequestOptions,
837    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
838    {
839        gaxi::unimplemented::unimplemented_stub()
840    }
841
842    /// Implements [super::client::CrossSiteNetworks::get_operation].
843    fn get_operation(
844        &self,
845        _req: crate::model::global_operations::GetRequest,
846        _options: crate::RequestOptions,
847    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
848    {
849        gaxi::unimplemented::unimplemented_stub()
850    }
851
852    /// Returns the polling error policy.
853    ///
854    /// When mocking, this method is typically irrelevant. Do not try to verify
855    /// it is called by your mocks.
856    fn get_polling_error_policy(
857        &self,
858        _options: &crate::RequestOptions,
859    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
860        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
861    }
862
863    /// Returns the polling backoff policy.
864    ///
865    /// When mocking, this method is typically irrelevant. Do not try to verify
866    /// it is called by your mocks.
867    fn get_polling_backoff_policy(
868        &self,
869        _options: &crate::RequestOptions,
870    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
871        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
872    }
873}
874
875/// Defines the trait used to implement [super::client::DiskTypes].
876///
877/// Application developers may need to implement this trait to mock
878/// `client::DiskTypes`.  In other use-cases, application developers only
879/// use `client::DiskTypes` and need not be concerned with this trait or
880/// its implementations.
881///
882/// Services gain new RPCs routinely. Consequently, this trait gains new methods
883/// too. To avoid breaking applications the trait provides a default
884/// implementation of each method. Most of these implementations just return an
885/// error.
886#[cfg(feature = "disk-types")]
887#[cfg_attr(docsrs, doc(cfg(feature = "disk-types")))]
888pub trait DiskTypes: std::fmt::Debug + Send + Sync {
889    /// Implements [super::client::DiskTypes::aggregated_list].
890    fn aggregated_list(
891        &self,
892        _req: crate::model::disk_types::AggregatedListRequest,
893        _options: crate::RequestOptions,
894    ) -> impl std::future::Future<
895        Output = crate::Result<crate::Response<crate::model::DiskTypeAggregatedList>>,
896    > + Send {
897        gaxi::unimplemented::unimplemented_stub()
898    }
899
900    /// Implements [super::client::DiskTypes::get].
901    fn get(
902        &self,
903        _req: crate::model::disk_types::GetRequest,
904        _options: crate::RequestOptions,
905    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskType>>> + Send
906    {
907        gaxi::unimplemented::unimplemented_stub()
908    }
909
910    /// Implements [super::client::DiskTypes::list].
911    fn list(
912        &self,
913        _req: crate::model::disk_types::ListRequest,
914        _options: crate::RequestOptions,
915    ) -> impl std::future::Future<
916        Output = crate::Result<crate::Response<crate::model::DiskTypeList>>,
917    > + Send {
918        gaxi::unimplemented::unimplemented_stub()
919    }
920}
921
922/// Defines the trait used to implement [super::client::Disks].
923///
924/// Application developers may need to implement this trait to mock
925/// `client::Disks`.  In other use-cases, application developers only
926/// use `client::Disks` and need not be concerned with this trait or
927/// its implementations.
928///
929/// Services gain new RPCs routinely. Consequently, this trait gains new methods
930/// too. To avoid breaking applications the trait provides a default
931/// implementation of each method. Most of these implementations just return an
932/// error.
933#[cfg(feature = "disks")]
934#[cfg_attr(docsrs, doc(cfg(feature = "disks")))]
935pub trait Disks: std::fmt::Debug + Send + Sync {
936    /// Implements [super::client::Disks::add_resource_policies].
937    fn add_resource_policies(
938        &self,
939        _req: crate::model::disks::AddResourcePoliciesRequest,
940        _options: crate::RequestOptions,
941    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
942    {
943        gaxi::unimplemented::unimplemented_stub()
944    }
945
946    /// Implements [super::client::Disks::aggregated_list].
947    fn aggregated_list(
948        &self,
949        _req: crate::model::disks::AggregatedListRequest,
950        _options: crate::RequestOptions,
951    ) -> impl std::future::Future<
952        Output = crate::Result<crate::Response<crate::model::DiskAggregatedList>>,
953    > + Send {
954        gaxi::unimplemented::unimplemented_stub()
955    }
956
957    /// Implements [super::client::Disks::bulk_insert].
958    fn bulk_insert(
959        &self,
960        _req: crate::model::disks::BulkInsertRequest,
961        _options: crate::RequestOptions,
962    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
963    {
964        gaxi::unimplemented::unimplemented_stub()
965    }
966
967    /// Implements [super::client::Disks::bulk_set_labels].
968    fn bulk_set_labels(
969        &self,
970        _req: crate::model::disks::BulkSetLabelsRequest,
971        _options: crate::RequestOptions,
972    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
973    {
974        gaxi::unimplemented::unimplemented_stub()
975    }
976
977    /// Implements [super::client::Disks::create_snapshot].
978    fn create_snapshot(
979        &self,
980        _req: crate::model::disks::CreateSnapshotRequest,
981        _options: crate::RequestOptions,
982    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
983    {
984        gaxi::unimplemented::unimplemented_stub()
985    }
986
987    /// Implements [super::client::Disks::delete].
988    fn delete(
989        &self,
990        _req: crate::model::disks::DeleteRequest,
991        _options: crate::RequestOptions,
992    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
993    {
994        gaxi::unimplemented::unimplemented_stub()
995    }
996
997    /// Implements [super::client::Disks::get].
998    fn get(
999        &self,
1000        _req: crate::model::disks::GetRequest,
1001        _options: crate::RequestOptions,
1002    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Disk>>> + Send
1003    {
1004        gaxi::unimplemented::unimplemented_stub()
1005    }
1006
1007    /// Implements [super::client::Disks::get_iam_policy].
1008    fn get_iam_policy(
1009        &self,
1010        _req: crate::model::disks::GetIamPolicyRequest,
1011        _options: crate::RequestOptions,
1012    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1013    {
1014        gaxi::unimplemented::unimplemented_stub()
1015    }
1016
1017    /// Implements [super::client::Disks::insert].
1018    fn insert(
1019        &self,
1020        _req: crate::model::disks::InsertRequest,
1021        _options: crate::RequestOptions,
1022    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1023    {
1024        gaxi::unimplemented::unimplemented_stub()
1025    }
1026
1027    /// Implements [super::client::Disks::list].
1028    fn list(
1029        &self,
1030        _req: crate::model::disks::ListRequest,
1031        _options: crate::RequestOptions,
1032    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskList>>> + Send
1033    {
1034        gaxi::unimplemented::unimplemented_stub()
1035    }
1036
1037    /// Implements [super::client::Disks::remove_resource_policies].
1038    fn remove_resource_policies(
1039        &self,
1040        _req: crate::model::disks::RemoveResourcePoliciesRequest,
1041        _options: crate::RequestOptions,
1042    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1043    {
1044        gaxi::unimplemented::unimplemented_stub()
1045    }
1046
1047    /// Implements [super::client::Disks::resize].
1048    fn resize(
1049        &self,
1050        _req: crate::model::disks::ResizeRequest,
1051        _options: crate::RequestOptions,
1052    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1053    {
1054        gaxi::unimplemented::unimplemented_stub()
1055    }
1056
1057    /// Implements [super::client::Disks::set_iam_policy].
1058    fn set_iam_policy(
1059        &self,
1060        _req: crate::model::disks::SetIamPolicyRequest,
1061        _options: crate::RequestOptions,
1062    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1063    {
1064        gaxi::unimplemented::unimplemented_stub()
1065    }
1066
1067    /// Implements [super::client::Disks::set_labels].
1068    fn set_labels(
1069        &self,
1070        _req: crate::model::disks::SetLabelsRequest,
1071        _options: crate::RequestOptions,
1072    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1073    {
1074        gaxi::unimplemented::unimplemented_stub()
1075    }
1076
1077    /// Implements [super::client::Disks::start_async_replication].
1078    fn start_async_replication(
1079        &self,
1080        _req: crate::model::disks::StartAsyncReplicationRequest,
1081        _options: crate::RequestOptions,
1082    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1083    {
1084        gaxi::unimplemented::unimplemented_stub()
1085    }
1086
1087    /// Implements [super::client::Disks::stop_async_replication].
1088    fn stop_async_replication(
1089        &self,
1090        _req: crate::model::disks::StopAsyncReplicationRequest,
1091        _options: crate::RequestOptions,
1092    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1093    {
1094        gaxi::unimplemented::unimplemented_stub()
1095    }
1096
1097    /// Implements [super::client::Disks::stop_group_async_replication].
1098    fn stop_group_async_replication(
1099        &self,
1100        _req: crate::model::disks::StopGroupAsyncReplicationRequest,
1101        _options: crate::RequestOptions,
1102    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1103    {
1104        gaxi::unimplemented::unimplemented_stub()
1105    }
1106
1107    /// Implements [super::client::Disks::test_iam_permissions].
1108    fn test_iam_permissions(
1109        &self,
1110        _req: crate::model::disks::TestIamPermissionsRequest,
1111        _options: crate::RequestOptions,
1112    ) -> impl std::future::Future<
1113        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1114    > + Send {
1115        gaxi::unimplemented::unimplemented_stub()
1116    }
1117
1118    /// Implements [super::client::Disks::update].
1119    fn update(
1120        &self,
1121        _req: crate::model::disks::UpdateRequest,
1122        _options: crate::RequestOptions,
1123    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1124    {
1125        gaxi::unimplemented::unimplemented_stub()
1126    }
1127
1128    /// Implements [super::client::Disks::update_kms_key].
1129    fn update_kms_key(
1130        &self,
1131        _req: crate::model::disks::UpdateKmsKeyRequest,
1132        _options: crate::RequestOptions,
1133    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1134    {
1135        gaxi::unimplemented::unimplemented_stub()
1136    }
1137
1138    /// Implements [super::client::Disks::get_operation].
1139    fn get_operation(
1140        &self,
1141        _req: crate::model::zone_operations::GetRequest,
1142        _options: crate::RequestOptions,
1143    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1144    {
1145        gaxi::unimplemented::unimplemented_stub()
1146    }
1147
1148    /// Returns the polling error policy.
1149    ///
1150    /// When mocking, this method is typically irrelevant. Do not try to verify
1151    /// it is called by your mocks.
1152    fn get_polling_error_policy(
1153        &self,
1154        _options: &crate::RequestOptions,
1155    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1156        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1157    }
1158
1159    /// Returns the polling backoff policy.
1160    ///
1161    /// When mocking, this method is typically irrelevant. Do not try to verify
1162    /// it is called by your mocks.
1163    fn get_polling_backoff_policy(
1164        &self,
1165        _options: &crate::RequestOptions,
1166    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1167        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1168    }
1169}
1170
1171/// Defines the trait used to implement [super::client::ExternalVpnGateways].
1172///
1173/// Application developers may need to implement this trait to mock
1174/// `client::ExternalVpnGateways`.  In other use-cases, application developers only
1175/// use `client::ExternalVpnGateways` and need not be concerned with this trait or
1176/// its implementations.
1177///
1178/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1179/// too. To avoid breaking applications the trait provides a default
1180/// implementation of each method. Most of these implementations just return an
1181/// error.
1182#[cfg(feature = "external-vpn-gateways")]
1183#[cfg_attr(docsrs, doc(cfg(feature = "external-vpn-gateways")))]
1184pub trait ExternalVpnGateways: std::fmt::Debug + Send + Sync {
1185    /// Implements [super::client::ExternalVpnGateways::delete].
1186    fn delete(
1187        &self,
1188        _req: crate::model::external_vpn_gateways::DeleteRequest,
1189        _options: crate::RequestOptions,
1190    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1191    {
1192        gaxi::unimplemented::unimplemented_stub()
1193    }
1194
1195    /// Implements [super::client::ExternalVpnGateways::get].
1196    fn get(
1197        &self,
1198        _req: crate::model::external_vpn_gateways::GetRequest,
1199        _options: crate::RequestOptions,
1200    ) -> impl std::future::Future<
1201        Output = crate::Result<crate::Response<crate::model::ExternalVpnGateway>>,
1202    > + Send {
1203        gaxi::unimplemented::unimplemented_stub()
1204    }
1205
1206    /// Implements [super::client::ExternalVpnGateways::insert].
1207    fn insert(
1208        &self,
1209        _req: crate::model::external_vpn_gateways::InsertRequest,
1210        _options: crate::RequestOptions,
1211    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1212    {
1213        gaxi::unimplemented::unimplemented_stub()
1214    }
1215
1216    /// Implements [super::client::ExternalVpnGateways::list].
1217    fn list(
1218        &self,
1219        _req: crate::model::external_vpn_gateways::ListRequest,
1220        _options: crate::RequestOptions,
1221    ) -> impl std::future::Future<
1222        Output = crate::Result<crate::Response<crate::model::ExternalVpnGatewayList>>,
1223    > + Send {
1224        gaxi::unimplemented::unimplemented_stub()
1225    }
1226
1227    /// Implements [super::client::ExternalVpnGateways::set_labels].
1228    fn set_labels(
1229        &self,
1230        _req: crate::model::external_vpn_gateways::SetLabelsRequest,
1231        _options: crate::RequestOptions,
1232    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1233    {
1234        gaxi::unimplemented::unimplemented_stub()
1235    }
1236
1237    /// Implements [super::client::ExternalVpnGateways::test_iam_permissions].
1238    fn test_iam_permissions(
1239        &self,
1240        _req: crate::model::external_vpn_gateways::TestIamPermissionsRequest,
1241        _options: crate::RequestOptions,
1242    ) -> impl std::future::Future<
1243        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1244    > + Send {
1245        gaxi::unimplemented::unimplemented_stub()
1246    }
1247
1248    /// Implements [super::client::ExternalVpnGateways::get_operation].
1249    fn get_operation(
1250        &self,
1251        _req: crate::model::global_operations::GetRequest,
1252        _options: crate::RequestOptions,
1253    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1254    {
1255        gaxi::unimplemented::unimplemented_stub()
1256    }
1257
1258    /// Returns the polling error policy.
1259    ///
1260    /// When mocking, this method is typically irrelevant. Do not try to verify
1261    /// it is called by your mocks.
1262    fn get_polling_error_policy(
1263        &self,
1264        _options: &crate::RequestOptions,
1265    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1266        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1267    }
1268
1269    /// Returns the polling backoff policy.
1270    ///
1271    /// When mocking, this method is typically irrelevant. Do not try to verify
1272    /// it is called by your mocks.
1273    fn get_polling_backoff_policy(
1274        &self,
1275        _options: &crate::RequestOptions,
1276    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1277        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1278    }
1279}
1280
1281/// Defines the trait used to implement [super::client::FirewallPolicies].
1282///
1283/// Application developers may need to implement this trait to mock
1284/// `client::FirewallPolicies`.  In other use-cases, application developers only
1285/// use `client::FirewallPolicies` and need not be concerned with this trait or
1286/// its implementations.
1287///
1288/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1289/// too. To avoid breaking applications the trait provides a default
1290/// implementation of each method. Most of these implementations just return an
1291/// error.
1292#[cfg(feature = "firewall-policies")]
1293#[cfg_attr(docsrs, doc(cfg(feature = "firewall-policies")))]
1294pub trait FirewallPolicies: std::fmt::Debug + Send + Sync {
1295    /// Implements [super::client::FirewallPolicies::add_association].
1296    fn add_association(
1297        &self,
1298        _req: crate::model::firewall_policies::AddAssociationRequest,
1299        _options: crate::RequestOptions,
1300    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1301    {
1302        gaxi::unimplemented::unimplemented_stub()
1303    }
1304
1305    /// Implements [super::client::FirewallPolicies::add_rule].
1306    fn add_rule(
1307        &self,
1308        _req: crate::model::firewall_policies::AddRuleRequest,
1309        _options: crate::RequestOptions,
1310    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1311    {
1312        gaxi::unimplemented::unimplemented_stub()
1313    }
1314
1315    /// Implements [super::client::FirewallPolicies::clone_rules].
1316    fn clone_rules(
1317        &self,
1318        _req: crate::model::firewall_policies::CloneRulesRequest,
1319        _options: crate::RequestOptions,
1320    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1321    {
1322        gaxi::unimplemented::unimplemented_stub()
1323    }
1324
1325    /// Implements [super::client::FirewallPolicies::delete].
1326    fn delete(
1327        &self,
1328        _req: crate::model::firewall_policies::DeleteRequest,
1329        _options: crate::RequestOptions,
1330    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1331    {
1332        gaxi::unimplemented::unimplemented_stub()
1333    }
1334
1335    /// Implements [super::client::FirewallPolicies::get].
1336    fn get(
1337        &self,
1338        _req: crate::model::firewall_policies::GetRequest,
1339        _options: crate::RequestOptions,
1340    ) -> impl std::future::Future<
1341        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
1342    > + Send {
1343        gaxi::unimplemented::unimplemented_stub()
1344    }
1345
1346    /// Implements [super::client::FirewallPolicies::get_association].
1347    fn get_association(
1348        &self,
1349        _req: crate::model::firewall_policies::GetAssociationRequest,
1350        _options: crate::RequestOptions,
1351    ) -> impl std::future::Future<
1352        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
1353    > + Send {
1354        gaxi::unimplemented::unimplemented_stub()
1355    }
1356
1357    /// Implements [super::client::FirewallPolicies::get_iam_policy].
1358    fn get_iam_policy(
1359        &self,
1360        _req: crate::model::firewall_policies::GetIamPolicyRequest,
1361        _options: crate::RequestOptions,
1362    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1363    {
1364        gaxi::unimplemented::unimplemented_stub()
1365    }
1366
1367    /// Implements [super::client::FirewallPolicies::get_rule].
1368    fn get_rule(
1369        &self,
1370        _req: crate::model::firewall_policies::GetRuleRequest,
1371        _options: crate::RequestOptions,
1372    ) -> impl std::future::Future<
1373        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
1374    > + Send {
1375        gaxi::unimplemented::unimplemented_stub()
1376    }
1377
1378    /// Implements [super::client::FirewallPolicies::insert].
1379    fn insert(
1380        &self,
1381        _req: crate::model::firewall_policies::InsertRequest,
1382        _options: crate::RequestOptions,
1383    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1384    {
1385        gaxi::unimplemented::unimplemented_stub()
1386    }
1387
1388    /// Implements [super::client::FirewallPolicies::list].
1389    fn list(
1390        &self,
1391        _req: crate::model::firewall_policies::ListRequest,
1392        _options: crate::RequestOptions,
1393    ) -> impl std::future::Future<
1394        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
1395    > + Send {
1396        gaxi::unimplemented::unimplemented_stub()
1397    }
1398
1399    /// Implements [super::client::FirewallPolicies::list_associations].
1400    fn list_associations(
1401        &self,
1402        _req: crate::model::firewall_policies::ListAssociationsRequest,
1403        _options: crate::RequestOptions,
1404    ) -> impl std::future::Future<
1405        Output = crate::Result<
1406            crate::Response<crate::model::FirewallPoliciesListAssociationsResponse>,
1407        >,
1408    > + Send {
1409        gaxi::unimplemented::unimplemented_stub()
1410    }
1411
1412    /// Implements [super::client::FirewallPolicies::r#move].
1413    fn r#move(
1414        &self,
1415        _req: crate::model::firewall_policies::MoveRequest,
1416        _options: crate::RequestOptions,
1417    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1418    {
1419        gaxi::unimplemented::unimplemented_stub()
1420    }
1421
1422    /// Implements [super::client::FirewallPolicies::patch].
1423    fn patch(
1424        &self,
1425        _req: crate::model::firewall_policies::PatchRequest,
1426        _options: crate::RequestOptions,
1427    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1428    {
1429        gaxi::unimplemented::unimplemented_stub()
1430    }
1431
1432    /// Implements [super::client::FirewallPolicies::patch_rule].
1433    fn patch_rule(
1434        &self,
1435        _req: crate::model::firewall_policies::PatchRuleRequest,
1436        _options: crate::RequestOptions,
1437    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1438    {
1439        gaxi::unimplemented::unimplemented_stub()
1440    }
1441
1442    /// Implements [super::client::FirewallPolicies::remove_association].
1443    fn remove_association(
1444        &self,
1445        _req: crate::model::firewall_policies::RemoveAssociationRequest,
1446        _options: crate::RequestOptions,
1447    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1448    {
1449        gaxi::unimplemented::unimplemented_stub()
1450    }
1451
1452    /// Implements [super::client::FirewallPolicies::remove_rule].
1453    fn remove_rule(
1454        &self,
1455        _req: crate::model::firewall_policies::RemoveRuleRequest,
1456        _options: crate::RequestOptions,
1457    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1458    {
1459        gaxi::unimplemented::unimplemented_stub()
1460    }
1461
1462    /// Implements [super::client::FirewallPolicies::set_iam_policy].
1463    fn set_iam_policy(
1464        &self,
1465        _req: crate::model::firewall_policies::SetIamPolicyRequest,
1466        _options: crate::RequestOptions,
1467    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1468    {
1469        gaxi::unimplemented::unimplemented_stub()
1470    }
1471
1472    /// Implements [super::client::FirewallPolicies::test_iam_permissions].
1473    fn test_iam_permissions(
1474        &self,
1475        _req: crate::model::firewall_policies::TestIamPermissionsRequest,
1476        _options: crate::RequestOptions,
1477    ) -> impl std::future::Future<
1478        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1479    > + Send {
1480        gaxi::unimplemented::unimplemented_stub()
1481    }
1482
1483    /// Implements [super::client::FirewallPolicies::get_operation].
1484    fn get_operation(
1485        &self,
1486        _req: crate::model::global_organization_operations::GetRequest,
1487        _options: crate::RequestOptions,
1488    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1489    {
1490        gaxi::unimplemented::unimplemented_stub()
1491    }
1492
1493    /// Returns the polling error policy.
1494    ///
1495    /// When mocking, this method is typically irrelevant. Do not try to verify
1496    /// it is called by your mocks.
1497    fn get_polling_error_policy(
1498        &self,
1499        _options: &crate::RequestOptions,
1500    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1501        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1502    }
1503
1504    /// Returns the polling backoff policy.
1505    ///
1506    /// When mocking, this method is typically irrelevant. Do not try to verify
1507    /// it is called by your mocks.
1508    fn get_polling_backoff_policy(
1509        &self,
1510        _options: &crate::RequestOptions,
1511    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1512        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1513    }
1514}
1515
1516/// Defines the trait used to implement [super::client::Firewalls].
1517///
1518/// Application developers may need to implement this trait to mock
1519/// `client::Firewalls`.  In other use-cases, application developers only
1520/// use `client::Firewalls` and need not be concerned with this trait or
1521/// its implementations.
1522///
1523/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1524/// too. To avoid breaking applications the trait provides a default
1525/// implementation of each method. Most of these implementations just return an
1526/// error.
1527#[cfg(feature = "firewalls")]
1528#[cfg_attr(docsrs, doc(cfg(feature = "firewalls")))]
1529pub trait Firewalls: std::fmt::Debug + Send + Sync {
1530    /// Implements [super::client::Firewalls::delete].
1531    fn delete(
1532        &self,
1533        _req: crate::model::firewalls::DeleteRequest,
1534        _options: crate::RequestOptions,
1535    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1536    {
1537        gaxi::unimplemented::unimplemented_stub()
1538    }
1539
1540    /// Implements [super::client::Firewalls::get].
1541    fn get(
1542        &self,
1543        _req: crate::model::firewalls::GetRequest,
1544        _options: crate::RequestOptions,
1545    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Firewall>>> + Send
1546    {
1547        gaxi::unimplemented::unimplemented_stub()
1548    }
1549
1550    /// Implements [super::client::Firewalls::insert].
1551    fn insert(
1552        &self,
1553        _req: crate::model::firewalls::InsertRequest,
1554        _options: crate::RequestOptions,
1555    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1556    {
1557        gaxi::unimplemented::unimplemented_stub()
1558    }
1559
1560    /// Implements [super::client::Firewalls::list].
1561    fn list(
1562        &self,
1563        _req: crate::model::firewalls::ListRequest,
1564        _options: crate::RequestOptions,
1565    ) -> impl std::future::Future<
1566        Output = crate::Result<crate::Response<crate::model::FirewallList>>,
1567    > + Send {
1568        gaxi::unimplemented::unimplemented_stub()
1569    }
1570
1571    /// Implements [super::client::Firewalls::patch].
1572    fn patch(
1573        &self,
1574        _req: crate::model::firewalls::PatchRequest,
1575        _options: crate::RequestOptions,
1576    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1577    {
1578        gaxi::unimplemented::unimplemented_stub()
1579    }
1580
1581    /// Implements [super::client::Firewalls::test_iam_permissions].
1582    fn test_iam_permissions(
1583        &self,
1584        _req: crate::model::firewalls::TestIamPermissionsRequest,
1585        _options: crate::RequestOptions,
1586    ) -> impl std::future::Future<
1587        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1588    > + Send {
1589        gaxi::unimplemented::unimplemented_stub()
1590    }
1591
1592    /// Implements [super::client::Firewalls::update].
1593    fn update(
1594        &self,
1595        _req: crate::model::firewalls::UpdateRequest,
1596        _options: crate::RequestOptions,
1597    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1598    {
1599        gaxi::unimplemented::unimplemented_stub()
1600    }
1601
1602    /// Implements [super::client::Firewalls::get_operation].
1603    fn get_operation(
1604        &self,
1605        _req: crate::model::global_operations::GetRequest,
1606        _options: crate::RequestOptions,
1607    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1608    {
1609        gaxi::unimplemented::unimplemented_stub()
1610    }
1611
1612    /// Returns the polling error policy.
1613    ///
1614    /// When mocking, this method is typically irrelevant. Do not try to verify
1615    /// it is called by your mocks.
1616    fn get_polling_error_policy(
1617        &self,
1618        _options: &crate::RequestOptions,
1619    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1620        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1621    }
1622
1623    /// Returns the polling backoff policy.
1624    ///
1625    /// When mocking, this method is typically irrelevant. Do not try to verify
1626    /// it is called by your mocks.
1627    fn get_polling_backoff_policy(
1628        &self,
1629        _options: &crate::RequestOptions,
1630    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1631        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1632    }
1633}
1634
1635/// Defines the trait used to implement [super::client::ForwardingRules].
1636///
1637/// Application developers may need to implement this trait to mock
1638/// `client::ForwardingRules`.  In other use-cases, application developers only
1639/// use `client::ForwardingRules` and need not be concerned with this trait or
1640/// its implementations.
1641///
1642/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1643/// too. To avoid breaking applications the trait provides a default
1644/// implementation of each method. Most of these implementations just return an
1645/// error.
1646#[cfg(feature = "forwarding-rules")]
1647#[cfg_attr(docsrs, doc(cfg(feature = "forwarding-rules")))]
1648pub trait ForwardingRules: std::fmt::Debug + Send + Sync {
1649    /// Implements [super::client::ForwardingRules::aggregated_list].
1650    fn aggregated_list(
1651        &self,
1652        _req: crate::model::forwarding_rules::AggregatedListRequest,
1653        _options: crate::RequestOptions,
1654    ) -> impl std::future::Future<
1655        Output = crate::Result<crate::Response<crate::model::ForwardingRuleAggregatedList>>,
1656    > + Send {
1657        gaxi::unimplemented::unimplemented_stub()
1658    }
1659
1660    /// Implements [super::client::ForwardingRules::delete].
1661    fn delete(
1662        &self,
1663        _req: crate::model::forwarding_rules::DeleteRequest,
1664        _options: crate::RequestOptions,
1665    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1666    {
1667        gaxi::unimplemented::unimplemented_stub()
1668    }
1669
1670    /// Implements [super::client::ForwardingRules::get].
1671    fn get(
1672        &self,
1673        _req: crate::model::forwarding_rules::GetRequest,
1674        _options: crate::RequestOptions,
1675    ) -> impl std::future::Future<
1676        Output = crate::Result<crate::Response<crate::model::ForwardingRule>>,
1677    > + Send {
1678        gaxi::unimplemented::unimplemented_stub()
1679    }
1680
1681    /// Implements [super::client::ForwardingRules::insert].
1682    fn insert(
1683        &self,
1684        _req: crate::model::forwarding_rules::InsertRequest,
1685        _options: crate::RequestOptions,
1686    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1687    {
1688        gaxi::unimplemented::unimplemented_stub()
1689    }
1690
1691    /// Implements [super::client::ForwardingRules::list].
1692    fn list(
1693        &self,
1694        _req: crate::model::forwarding_rules::ListRequest,
1695        _options: crate::RequestOptions,
1696    ) -> impl std::future::Future<
1697        Output = crate::Result<crate::Response<crate::model::ForwardingRuleList>>,
1698    > + Send {
1699        gaxi::unimplemented::unimplemented_stub()
1700    }
1701
1702    /// Implements [super::client::ForwardingRules::patch].
1703    fn patch(
1704        &self,
1705        _req: crate::model::forwarding_rules::PatchRequest,
1706        _options: crate::RequestOptions,
1707    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1708    {
1709        gaxi::unimplemented::unimplemented_stub()
1710    }
1711
1712    /// Implements [super::client::ForwardingRules::set_labels].
1713    fn set_labels(
1714        &self,
1715        _req: crate::model::forwarding_rules::SetLabelsRequest,
1716        _options: crate::RequestOptions,
1717    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1718    {
1719        gaxi::unimplemented::unimplemented_stub()
1720    }
1721
1722    /// Implements [super::client::ForwardingRules::set_target].
1723    fn set_target(
1724        &self,
1725        _req: crate::model::forwarding_rules::SetTargetRequest,
1726        _options: crate::RequestOptions,
1727    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1728    {
1729        gaxi::unimplemented::unimplemented_stub()
1730    }
1731
1732    /// Implements [super::client::ForwardingRules::get_operation].
1733    fn get_operation(
1734        &self,
1735        _req: crate::model::region_operations::GetRequest,
1736        _options: crate::RequestOptions,
1737    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1738    {
1739        gaxi::unimplemented::unimplemented_stub()
1740    }
1741
1742    /// Returns the polling error policy.
1743    ///
1744    /// When mocking, this method is typically irrelevant. Do not try to verify
1745    /// it is called by your mocks.
1746    fn get_polling_error_policy(
1747        &self,
1748        _options: &crate::RequestOptions,
1749    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1750        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1751    }
1752
1753    /// Returns the polling backoff policy.
1754    ///
1755    /// When mocking, this method is typically irrelevant. Do not try to verify
1756    /// it is called by your mocks.
1757    fn get_polling_backoff_policy(
1758        &self,
1759        _options: &crate::RequestOptions,
1760    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1761        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1762    }
1763}
1764
1765/// Defines the trait used to implement [super::client::FutureReservations].
1766///
1767/// Application developers may need to implement this trait to mock
1768/// `client::FutureReservations`.  In other use-cases, application developers only
1769/// use `client::FutureReservations` and need not be concerned with this trait or
1770/// its implementations.
1771///
1772/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1773/// too. To avoid breaking applications the trait provides a default
1774/// implementation of each method. Most of these implementations just return an
1775/// error.
1776#[cfg(feature = "future-reservations")]
1777#[cfg_attr(docsrs, doc(cfg(feature = "future-reservations")))]
1778pub trait FutureReservations: std::fmt::Debug + Send + Sync {
1779    /// Implements [super::client::FutureReservations::aggregated_list].
1780    fn aggregated_list(
1781        &self,
1782        _req: crate::model::future_reservations::AggregatedListRequest,
1783        _options: crate::RequestOptions,
1784    ) -> impl std::future::Future<
1785        Output = crate::Result<
1786            crate::Response<crate::model::FutureReservationsAggregatedListResponse>,
1787        >,
1788    > + Send {
1789        gaxi::unimplemented::unimplemented_stub()
1790    }
1791
1792    /// Implements [super::client::FutureReservations::cancel].
1793    fn cancel(
1794        &self,
1795        _req: crate::model::future_reservations::CancelRequest,
1796        _options: crate::RequestOptions,
1797    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1798    {
1799        gaxi::unimplemented::unimplemented_stub()
1800    }
1801
1802    /// Implements [super::client::FutureReservations::delete].
1803    fn delete(
1804        &self,
1805        _req: crate::model::future_reservations::DeleteRequest,
1806        _options: crate::RequestOptions,
1807    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1808    {
1809        gaxi::unimplemented::unimplemented_stub()
1810    }
1811
1812    /// Implements [super::client::FutureReservations::get].
1813    fn get(
1814        &self,
1815        _req: crate::model::future_reservations::GetRequest,
1816        _options: crate::RequestOptions,
1817    ) -> impl std::future::Future<
1818        Output = crate::Result<crate::Response<crate::model::FutureReservation>>,
1819    > + Send {
1820        gaxi::unimplemented::unimplemented_stub()
1821    }
1822
1823    /// Implements [super::client::FutureReservations::insert].
1824    fn insert(
1825        &self,
1826        _req: crate::model::future_reservations::InsertRequest,
1827        _options: crate::RequestOptions,
1828    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1829    {
1830        gaxi::unimplemented::unimplemented_stub()
1831    }
1832
1833    /// Implements [super::client::FutureReservations::list].
1834    fn list(
1835        &self,
1836        _req: crate::model::future_reservations::ListRequest,
1837        _options: crate::RequestOptions,
1838    ) -> impl std::future::Future<
1839        Output = crate::Result<crate::Response<crate::model::FutureReservationsListResponse>>,
1840    > + Send {
1841        gaxi::unimplemented::unimplemented_stub()
1842    }
1843
1844    /// Implements [super::client::FutureReservations::update].
1845    fn update(
1846        &self,
1847        _req: crate::model::future_reservations::UpdateRequest,
1848        _options: crate::RequestOptions,
1849    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1850    {
1851        gaxi::unimplemented::unimplemented_stub()
1852    }
1853
1854    /// Implements [super::client::FutureReservations::get_operation].
1855    fn get_operation(
1856        &self,
1857        _req: crate::model::zone_operations::GetRequest,
1858        _options: crate::RequestOptions,
1859    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1860    {
1861        gaxi::unimplemented::unimplemented_stub()
1862    }
1863
1864    /// Returns the polling error policy.
1865    ///
1866    /// When mocking, this method is typically irrelevant. Do not try to verify
1867    /// it is called by your mocks.
1868    fn get_polling_error_policy(
1869        &self,
1870        _options: &crate::RequestOptions,
1871    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1872        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1873    }
1874
1875    /// Returns the polling backoff policy.
1876    ///
1877    /// When mocking, this method is typically irrelevant. Do not try to verify
1878    /// it is called by your mocks.
1879    fn get_polling_backoff_policy(
1880        &self,
1881        _options: &crate::RequestOptions,
1882    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1883        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1884    }
1885}
1886
1887/// Defines the trait used to implement [super::client::GlobalAddresses].
1888///
1889/// Application developers may need to implement this trait to mock
1890/// `client::GlobalAddresses`.  In other use-cases, application developers only
1891/// use `client::GlobalAddresses` and need not be concerned with this trait or
1892/// its implementations.
1893///
1894/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1895/// too. To avoid breaking applications the trait provides a default
1896/// implementation of each method. Most of these implementations just return an
1897/// error.
1898#[cfg(feature = "global-addresses")]
1899#[cfg_attr(docsrs, doc(cfg(feature = "global-addresses")))]
1900pub trait GlobalAddresses: std::fmt::Debug + Send + Sync {
1901    /// Implements [super::client::GlobalAddresses::delete].
1902    fn delete(
1903        &self,
1904        _req: crate::model::global_addresses::DeleteRequest,
1905        _options: crate::RequestOptions,
1906    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1907    {
1908        gaxi::unimplemented::unimplemented_stub()
1909    }
1910
1911    /// Implements [super::client::GlobalAddresses::get].
1912    fn get(
1913        &self,
1914        _req: crate::model::global_addresses::GetRequest,
1915        _options: crate::RequestOptions,
1916    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Address>>> + Send
1917    {
1918        gaxi::unimplemented::unimplemented_stub()
1919    }
1920
1921    /// Implements [super::client::GlobalAddresses::insert].
1922    fn insert(
1923        &self,
1924        _req: crate::model::global_addresses::InsertRequest,
1925        _options: crate::RequestOptions,
1926    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1927    {
1928        gaxi::unimplemented::unimplemented_stub()
1929    }
1930
1931    /// Implements [super::client::GlobalAddresses::list].
1932    fn list(
1933        &self,
1934        _req: crate::model::global_addresses::ListRequest,
1935        _options: crate::RequestOptions,
1936    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::AddressList>>>
1937    + Send {
1938        gaxi::unimplemented::unimplemented_stub()
1939    }
1940
1941    /// Implements [super::client::GlobalAddresses::r#move].
1942    fn r#move(
1943        &self,
1944        _req: crate::model::global_addresses::MoveRequest,
1945        _options: crate::RequestOptions,
1946    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1947    {
1948        gaxi::unimplemented::unimplemented_stub()
1949    }
1950
1951    /// Implements [super::client::GlobalAddresses::set_labels].
1952    fn set_labels(
1953        &self,
1954        _req: crate::model::global_addresses::SetLabelsRequest,
1955        _options: crate::RequestOptions,
1956    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1957    {
1958        gaxi::unimplemented::unimplemented_stub()
1959    }
1960
1961    /// Implements [super::client::GlobalAddresses::test_iam_permissions].
1962    fn test_iam_permissions(
1963        &self,
1964        _req: crate::model::global_addresses::TestIamPermissionsRequest,
1965        _options: crate::RequestOptions,
1966    ) -> impl std::future::Future<
1967        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1968    > + Send {
1969        gaxi::unimplemented::unimplemented_stub()
1970    }
1971
1972    /// Implements [super::client::GlobalAddresses::get_operation].
1973    fn get_operation(
1974        &self,
1975        _req: crate::model::global_operations::GetRequest,
1976        _options: crate::RequestOptions,
1977    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1978    {
1979        gaxi::unimplemented::unimplemented_stub()
1980    }
1981
1982    /// Returns the polling error policy.
1983    ///
1984    /// When mocking, this method is typically irrelevant. Do not try to verify
1985    /// it is called by your mocks.
1986    fn get_polling_error_policy(
1987        &self,
1988        _options: &crate::RequestOptions,
1989    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1990        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1991    }
1992
1993    /// Returns the polling backoff policy.
1994    ///
1995    /// When mocking, this method is typically irrelevant. Do not try to verify
1996    /// it is called by your mocks.
1997    fn get_polling_backoff_policy(
1998        &self,
1999        _options: &crate::RequestOptions,
2000    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2001        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2002    }
2003}
2004
2005/// Defines the trait used to implement [super::client::GlobalForwardingRules].
2006///
2007/// Application developers may need to implement this trait to mock
2008/// `client::GlobalForwardingRules`.  In other use-cases, application developers only
2009/// use `client::GlobalForwardingRules` and need not be concerned with this trait or
2010/// its implementations.
2011///
2012/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2013/// too. To avoid breaking applications the trait provides a default
2014/// implementation of each method. Most of these implementations just return an
2015/// error.
2016#[cfg(feature = "global-forwarding-rules")]
2017#[cfg_attr(docsrs, doc(cfg(feature = "global-forwarding-rules")))]
2018pub trait GlobalForwardingRules: std::fmt::Debug + Send + Sync {
2019    /// Implements [super::client::GlobalForwardingRules::delete].
2020    fn delete(
2021        &self,
2022        _req: crate::model::global_forwarding_rules::DeleteRequest,
2023        _options: crate::RequestOptions,
2024    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2025    {
2026        gaxi::unimplemented::unimplemented_stub()
2027    }
2028
2029    /// Implements [super::client::GlobalForwardingRules::get].
2030    fn get(
2031        &self,
2032        _req: crate::model::global_forwarding_rules::GetRequest,
2033        _options: crate::RequestOptions,
2034    ) -> impl std::future::Future<
2035        Output = crate::Result<crate::Response<crate::model::ForwardingRule>>,
2036    > + Send {
2037        gaxi::unimplemented::unimplemented_stub()
2038    }
2039
2040    /// Implements [super::client::GlobalForwardingRules::insert].
2041    fn insert(
2042        &self,
2043        _req: crate::model::global_forwarding_rules::InsertRequest,
2044        _options: crate::RequestOptions,
2045    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2046    {
2047        gaxi::unimplemented::unimplemented_stub()
2048    }
2049
2050    /// Implements [super::client::GlobalForwardingRules::list].
2051    fn list(
2052        &self,
2053        _req: crate::model::global_forwarding_rules::ListRequest,
2054        _options: crate::RequestOptions,
2055    ) -> impl std::future::Future<
2056        Output = crate::Result<crate::Response<crate::model::ForwardingRuleList>>,
2057    > + Send {
2058        gaxi::unimplemented::unimplemented_stub()
2059    }
2060
2061    /// Implements [super::client::GlobalForwardingRules::patch].
2062    fn patch(
2063        &self,
2064        _req: crate::model::global_forwarding_rules::PatchRequest,
2065        _options: crate::RequestOptions,
2066    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2067    {
2068        gaxi::unimplemented::unimplemented_stub()
2069    }
2070
2071    /// Implements [super::client::GlobalForwardingRules::set_labels].
2072    fn set_labels(
2073        &self,
2074        _req: crate::model::global_forwarding_rules::SetLabelsRequest,
2075        _options: crate::RequestOptions,
2076    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2077    {
2078        gaxi::unimplemented::unimplemented_stub()
2079    }
2080
2081    /// Implements [super::client::GlobalForwardingRules::set_target].
2082    fn set_target(
2083        &self,
2084        _req: crate::model::global_forwarding_rules::SetTargetRequest,
2085        _options: crate::RequestOptions,
2086    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2087    {
2088        gaxi::unimplemented::unimplemented_stub()
2089    }
2090
2091    /// Implements [super::client::GlobalForwardingRules::get_operation].
2092    fn get_operation(
2093        &self,
2094        _req: crate::model::global_operations::GetRequest,
2095        _options: crate::RequestOptions,
2096    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2097    {
2098        gaxi::unimplemented::unimplemented_stub()
2099    }
2100
2101    /// Returns the polling error policy.
2102    ///
2103    /// When mocking, this method is typically irrelevant. Do not try to verify
2104    /// it is called by your mocks.
2105    fn get_polling_error_policy(
2106        &self,
2107        _options: &crate::RequestOptions,
2108    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2109        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2110    }
2111
2112    /// Returns the polling backoff policy.
2113    ///
2114    /// When mocking, this method is typically irrelevant. Do not try to verify
2115    /// it is called by your mocks.
2116    fn get_polling_backoff_policy(
2117        &self,
2118        _options: &crate::RequestOptions,
2119    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2120        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2121    }
2122}
2123
2124/// Defines the trait used to implement [super::client::GlobalNetworkEndpointGroups].
2125///
2126/// Application developers may need to implement this trait to mock
2127/// `client::GlobalNetworkEndpointGroups`.  In other use-cases, application developers only
2128/// use `client::GlobalNetworkEndpointGroups` and need not be concerned with this trait or
2129/// its implementations.
2130///
2131/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2132/// too. To avoid breaking applications the trait provides a default
2133/// implementation of each method. Most of these implementations just return an
2134/// error.
2135#[cfg(feature = "global-network-endpoint-groups")]
2136#[cfg_attr(docsrs, doc(cfg(feature = "global-network-endpoint-groups")))]
2137pub trait GlobalNetworkEndpointGroups: std::fmt::Debug + Send + Sync {
2138    /// Implements [super::client::GlobalNetworkEndpointGroups::attach_network_endpoints].
2139    fn attach_network_endpoints(
2140        &self,
2141        _req: crate::model::global_network_endpoint_groups::AttachNetworkEndpointsRequest,
2142        _options: crate::RequestOptions,
2143    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2144    {
2145        gaxi::unimplemented::unimplemented_stub()
2146    }
2147
2148    /// Implements [super::client::GlobalNetworkEndpointGroups::delete].
2149    fn delete(
2150        &self,
2151        _req: crate::model::global_network_endpoint_groups::DeleteRequest,
2152        _options: crate::RequestOptions,
2153    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2154    {
2155        gaxi::unimplemented::unimplemented_stub()
2156    }
2157
2158    /// Implements [super::client::GlobalNetworkEndpointGroups::detach_network_endpoints].
2159    fn detach_network_endpoints(
2160        &self,
2161        _req: crate::model::global_network_endpoint_groups::DetachNetworkEndpointsRequest,
2162        _options: crate::RequestOptions,
2163    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2164    {
2165        gaxi::unimplemented::unimplemented_stub()
2166    }
2167
2168    /// Implements [super::client::GlobalNetworkEndpointGroups::get].
2169    fn get(
2170        &self,
2171        _req: crate::model::global_network_endpoint_groups::GetRequest,
2172        _options: crate::RequestOptions,
2173    ) -> impl std::future::Future<
2174        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
2175    > + Send {
2176        gaxi::unimplemented::unimplemented_stub()
2177    }
2178
2179    /// Implements [super::client::GlobalNetworkEndpointGroups::insert].
2180    fn insert(
2181        &self,
2182        _req: crate::model::global_network_endpoint_groups::InsertRequest,
2183        _options: crate::RequestOptions,
2184    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2185    {
2186        gaxi::unimplemented::unimplemented_stub()
2187    }
2188
2189    /// Implements [super::client::GlobalNetworkEndpointGroups::list].
2190    fn list(
2191        &self,
2192        _req: crate::model::global_network_endpoint_groups::ListRequest,
2193        _options: crate::RequestOptions,
2194    ) -> impl std::future::Future<
2195        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
2196    > + Send {
2197        gaxi::unimplemented::unimplemented_stub()
2198    }
2199
2200    /// Implements [super::client::GlobalNetworkEndpointGroups::list_network_endpoints].
2201    fn list_network_endpoints(
2202        &self,
2203        _req: crate::model::global_network_endpoint_groups::ListNetworkEndpointsRequest,
2204        _options: crate::RequestOptions,
2205    ) -> impl std::future::Future<
2206        Output = crate::Result<
2207            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
2208        >,
2209    > + Send {
2210        gaxi::unimplemented::unimplemented_stub()
2211    }
2212
2213    /// Implements [super::client::GlobalNetworkEndpointGroups::get_operation].
2214    fn get_operation(
2215        &self,
2216        _req: crate::model::global_operations::GetRequest,
2217        _options: crate::RequestOptions,
2218    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2219    {
2220        gaxi::unimplemented::unimplemented_stub()
2221    }
2222
2223    /// Returns the polling error policy.
2224    ///
2225    /// When mocking, this method is typically irrelevant. Do not try to verify
2226    /// it is called by your mocks.
2227    fn get_polling_error_policy(
2228        &self,
2229        _options: &crate::RequestOptions,
2230    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2231        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2232    }
2233
2234    /// Returns the polling backoff policy.
2235    ///
2236    /// When mocking, this method is typically irrelevant. Do not try to verify
2237    /// it is called by your mocks.
2238    fn get_polling_backoff_policy(
2239        &self,
2240        _options: &crate::RequestOptions,
2241    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2242        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2243    }
2244}
2245
2246/// Defines the trait used to implement [super::client::GlobalOperations].
2247///
2248/// Application developers may need to implement this trait to mock
2249/// `client::GlobalOperations`.  In other use-cases, application developers only
2250/// use `client::GlobalOperations` and need not be concerned with this trait or
2251/// its implementations.
2252///
2253/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2254/// too. To avoid breaking applications the trait provides a default
2255/// implementation of each method. Most of these implementations just return an
2256/// error.
2257#[cfg(feature = "global-operations")]
2258#[cfg_attr(docsrs, doc(cfg(feature = "global-operations")))]
2259pub trait GlobalOperations: std::fmt::Debug + Send + Sync {
2260    /// Implements [super::client::GlobalOperations::aggregated_list].
2261    fn aggregated_list(
2262        &self,
2263        _req: crate::model::global_operations::AggregatedListRequest,
2264        _options: crate::RequestOptions,
2265    ) -> impl std::future::Future<
2266        Output = crate::Result<crate::Response<crate::model::OperationAggregatedList>>,
2267    > + Send {
2268        gaxi::unimplemented::unimplemented_stub()
2269    }
2270
2271    /// Implements [super::client::GlobalOperations::delete].
2272    fn delete(
2273        &self,
2274        _req: crate::model::global_operations::DeleteRequest,
2275        _options: crate::RequestOptions,
2276    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
2277        gaxi::unimplemented::unimplemented_stub()
2278    }
2279
2280    /// Implements [super::client::GlobalOperations::get].
2281    fn get(
2282        &self,
2283        _req: crate::model::global_operations::GetRequest,
2284        _options: crate::RequestOptions,
2285    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2286    {
2287        gaxi::unimplemented::unimplemented_stub()
2288    }
2289
2290    /// Implements [super::client::GlobalOperations::list].
2291    fn list(
2292        &self,
2293        _req: crate::model::global_operations::ListRequest,
2294        _options: crate::RequestOptions,
2295    ) -> impl std::future::Future<
2296        Output = crate::Result<crate::Response<crate::model::OperationList>>,
2297    > + Send {
2298        gaxi::unimplemented::unimplemented_stub()
2299    }
2300
2301    /// Implements [super::client::GlobalOperations::wait].
2302    fn wait(
2303        &self,
2304        _req: crate::model::global_operations::WaitRequest,
2305        _options: crate::RequestOptions,
2306    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2307    {
2308        gaxi::unimplemented::unimplemented_stub()
2309    }
2310}
2311
2312/// Defines the trait used to implement [super::client::GlobalOrganizationOperations].
2313///
2314/// Application developers may need to implement this trait to mock
2315/// `client::GlobalOrganizationOperations`.  In other use-cases, application developers only
2316/// use `client::GlobalOrganizationOperations` and need not be concerned with this trait or
2317/// its implementations.
2318///
2319/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2320/// too. To avoid breaking applications the trait provides a default
2321/// implementation of each method. Most of these implementations just return an
2322/// error.
2323#[cfg(feature = "global-organization-operations")]
2324#[cfg_attr(docsrs, doc(cfg(feature = "global-organization-operations")))]
2325pub trait GlobalOrganizationOperations: std::fmt::Debug + Send + Sync {
2326    /// Implements [super::client::GlobalOrganizationOperations::delete].
2327    fn delete(
2328        &self,
2329        _req: crate::model::global_organization_operations::DeleteRequest,
2330        _options: crate::RequestOptions,
2331    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
2332        gaxi::unimplemented::unimplemented_stub()
2333    }
2334
2335    /// Implements [super::client::GlobalOrganizationOperations::get].
2336    fn get(
2337        &self,
2338        _req: crate::model::global_organization_operations::GetRequest,
2339        _options: crate::RequestOptions,
2340    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2341    {
2342        gaxi::unimplemented::unimplemented_stub()
2343    }
2344
2345    /// Implements [super::client::GlobalOrganizationOperations::list].
2346    fn list(
2347        &self,
2348        _req: crate::model::global_organization_operations::ListRequest,
2349        _options: crate::RequestOptions,
2350    ) -> impl std::future::Future<
2351        Output = crate::Result<crate::Response<crate::model::OperationList>>,
2352    > + Send {
2353        gaxi::unimplemented::unimplemented_stub()
2354    }
2355}
2356
2357/// Defines the trait used to implement [super::client::GlobalPublicDelegatedPrefixes].
2358///
2359/// Application developers may need to implement this trait to mock
2360/// `client::GlobalPublicDelegatedPrefixes`.  In other use-cases, application developers only
2361/// use `client::GlobalPublicDelegatedPrefixes` and need not be concerned with this trait or
2362/// its implementations.
2363///
2364/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2365/// too. To avoid breaking applications the trait provides a default
2366/// implementation of each method. Most of these implementations just return an
2367/// error.
2368#[cfg(feature = "global-public-delegated-prefixes")]
2369#[cfg_attr(docsrs, doc(cfg(feature = "global-public-delegated-prefixes")))]
2370pub trait GlobalPublicDelegatedPrefixes: std::fmt::Debug + Send + Sync {
2371    /// Implements [super::client::GlobalPublicDelegatedPrefixes::delete].
2372    fn delete(
2373        &self,
2374        _req: crate::model::global_public_delegated_prefixes::DeleteRequest,
2375        _options: crate::RequestOptions,
2376    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2377    {
2378        gaxi::unimplemented::unimplemented_stub()
2379    }
2380
2381    /// Implements [super::client::GlobalPublicDelegatedPrefixes::get].
2382    fn get(
2383        &self,
2384        _req: crate::model::global_public_delegated_prefixes::GetRequest,
2385        _options: crate::RequestOptions,
2386    ) -> impl std::future::Future<
2387        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefix>>,
2388    > + Send {
2389        gaxi::unimplemented::unimplemented_stub()
2390    }
2391
2392    /// Implements [super::client::GlobalPublicDelegatedPrefixes::insert].
2393    fn insert(
2394        &self,
2395        _req: crate::model::global_public_delegated_prefixes::InsertRequest,
2396        _options: crate::RequestOptions,
2397    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2398    {
2399        gaxi::unimplemented::unimplemented_stub()
2400    }
2401
2402    /// Implements [super::client::GlobalPublicDelegatedPrefixes::list].
2403    fn list(
2404        &self,
2405        _req: crate::model::global_public_delegated_prefixes::ListRequest,
2406        _options: crate::RequestOptions,
2407    ) -> impl std::future::Future<
2408        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixList>>,
2409    > + Send {
2410        gaxi::unimplemented::unimplemented_stub()
2411    }
2412
2413    /// Implements [super::client::GlobalPublicDelegatedPrefixes::patch].
2414    fn patch(
2415        &self,
2416        _req: crate::model::global_public_delegated_prefixes::PatchRequest,
2417        _options: crate::RequestOptions,
2418    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2419    {
2420        gaxi::unimplemented::unimplemented_stub()
2421    }
2422
2423    /// Implements [super::client::GlobalPublicDelegatedPrefixes::get_operation].
2424    fn get_operation(
2425        &self,
2426        _req: crate::model::global_operations::GetRequest,
2427        _options: crate::RequestOptions,
2428    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2429    {
2430        gaxi::unimplemented::unimplemented_stub()
2431    }
2432
2433    /// Returns the polling error policy.
2434    ///
2435    /// When mocking, this method is typically irrelevant. Do not try to verify
2436    /// it is called by your mocks.
2437    fn get_polling_error_policy(
2438        &self,
2439        _options: &crate::RequestOptions,
2440    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2441        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2442    }
2443
2444    /// Returns the polling backoff policy.
2445    ///
2446    /// When mocking, this method is typically irrelevant. Do not try to verify
2447    /// it is called by your mocks.
2448    fn get_polling_backoff_policy(
2449        &self,
2450        _options: &crate::RequestOptions,
2451    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2452        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2453    }
2454}
2455
2456/// Defines the trait used to implement [super::client::HealthChecks].
2457///
2458/// Application developers may need to implement this trait to mock
2459/// `client::HealthChecks`.  In other use-cases, application developers only
2460/// use `client::HealthChecks` and need not be concerned with this trait or
2461/// its implementations.
2462///
2463/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2464/// too. To avoid breaking applications the trait provides a default
2465/// implementation of each method. Most of these implementations just return an
2466/// error.
2467#[cfg(feature = "health-checks")]
2468#[cfg_attr(docsrs, doc(cfg(feature = "health-checks")))]
2469pub trait HealthChecks: std::fmt::Debug + Send + Sync {
2470    /// Implements [super::client::HealthChecks::aggregated_list].
2471    fn aggregated_list(
2472        &self,
2473        _req: crate::model::health_checks::AggregatedListRequest,
2474        _options: crate::RequestOptions,
2475    ) -> impl std::future::Future<
2476        Output = crate::Result<crate::Response<crate::model::HealthChecksAggregatedList>>,
2477    > + Send {
2478        gaxi::unimplemented::unimplemented_stub()
2479    }
2480
2481    /// Implements [super::client::HealthChecks::delete].
2482    fn delete(
2483        &self,
2484        _req: crate::model::health_checks::DeleteRequest,
2485        _options: crate::RequestOptions,
2486    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2487    {
2488        gaxi::unimplemented::unimplemented_stub()
2489    }
2490
2491    /// Implements [super::client::HealthChecks::get].
2492    fn get(
2493        &self,
2494        _req: crate::model::health_checks::GetRequest,
2495        _options: crate::RequestOptions,
2496    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::HealthCheck>>>
2497    + Send {
2498        gaxi::unimplemented::unimplemented_stub()
2499    }
2500
2501    /// Implements [super::client::HealthChecks::insert].
2502    fn insert(
2503        &self,
2504        _req: crate::model::health_checks::InsertRequest,
2505        _options: crate::RequestOptions,
2506    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2507    {
2508        gaxi::unimplemented::unimplemented_stub()
2509    }
2510
2511    /// Implements [super::client::HealthChecks::list].
2512    fn list(
2513        &self,
2514        _req: crate::model::health_checks::ListRequest,
2515        _options: crate::RequestOptions,
2516    ) -> impl std::future::Future<
2517        Output = crate::Result<crate::Response<crate::model::HealthCheckList>>,
2518    > + Send {
2519        gaxi::unimplemented::unimplemented_stub()
2520    }
2521
2522    /// Implements [super::client::HealthChecks::patch].
2523    fn patch(
2524        &self,
2525        _req: crate::model::health_checks::PatchRequest,
2526        _options: crate::RequestOptions,
2527    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2528    {
2529        gaxi::unimplemented::unimplemented_stub()
2530    }
2531
2532    /// Implements [super::client::HealthChecks::test_iam_permissions].
2533    fn test_iam_permissions(
2534        &self,
2535        _req: crate::model::health_checks::TestIamPermissionsRequest,
2536        _options: crate::RequestOptions,
2537    ) -> impl std::future::Future<
2538        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2539    > + Send {
2540        gaxi::unimplemented::unimplemented_stub()
2541    }
2542
2543    /// Implements [super::client::HealthChecks::update].
2544    fn update(
2545        &self,
2546        _req: crate::model::health_checks::UpdateRequest,
2547        _options: crate::RequestOptions,
2548    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2549    {
2550        gaxi::unimplemented::unimplemented_stub()
2551    }
2552
2553    /// Implements [super::client::HealthChecks::get_operation].
2554    fn get_operation(
2555        &self,
2556        _req: crate::model::global_operations::GetRequest,
2557        _options: crate::RequestOptions,
2558    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2559    {
2560        gaxi::unimplemented::unimplemented_stub()
2561    }
2562
2563    /// Returns the polling error policy.
2564    ///
2565    /// When mocking, this method is typically irrelevant. Do not try to verify
2566    /// it is called by your mocks.
2567    fn get_polling_error_policy(
2568        &self,
2569        _options: &crate::RequestOptions,
2570    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2571        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2572    }
2573
2574    /// Returns the polling backoff policy.
2575    ///
2576    /// When mocking, this method is typically irrelevant. Do not try to verify
2577    /// it is called by your mocks.
2578    fn get_polling_backoff_policy(
2579        &self,
2580        _options: &crate::RequestOptions,
2581    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2582        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2583    }
2584}
2585
2586/// Defines the trait used to implement [super::client::HttpHealthChecks].
2587///
2588/// Application developers may need to implement this trait to mock
2589/// `client::HttpHealthChecks`.  In other use-cases, application developers only
2590/// use `client::HttpHealthChecks` and need not be concerned with this trait or
2591/// its implementations.
2592///
2593/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2594/// too. To avoid breaking applications the trait provides a default
2595/// implementation of each method. Most of these implementations just return an
2596/// error.
2597#[cfg(feature = "http-health-checks")]
2598#[cfg_attr(docsrs, doc(cfg(feature = "http-health-checks")))]
2599pub trait HttpHealthChecks: std::fmt::Debug + Send + Sync {
2600    /// Implements [super::client::HttpHealthChecks::delete].
2601    fn delete(
2602        &self,
2603        _req: crate::model::http_health_checks::DeleteRequest,
2604        _options: crate::RequestOptions,
2605    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2606    {
2607        gaxi::unimplemented::unimplemented_stub()
2608    }
2609
2610    /// Implements [super::client::HttpHealthChecks::get].
2611    fn get(
2612        &self,
2613        _req: crate::model::http_health_checks::GetRequest,
2614        _options: crate::RequestOptions,
2615    ) -> impl std::future::Future<
2616        Output = crate::Result<crate::Response<crate::model::HttpHealthCheck>>,
2617    > + Send {
2618        gaxi::unimplemented::unimplemented_stub()
2619    }
2620
2621    /// Implements [super::client::HttpHealthChecks::insert].
2622    fn insert(
2623        &self,
2624        _req: crate::model::http_health_checks::InsertRequest,
2625        _options: crate::RequestOptions,
2626    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2627    {
2628        gaxi::unimplemented::unimplemented_stub()
2629    }
2630
2631    /// Implements [super::client::HttpHealthChecks::list].
2632    fn list(
2633        &self,
2634        _req: crate::model::http_health_checks::ListRequest,
2635        _options: crate::RequestOptions,
2636    ) -> impl std::future::Future<
2637        Output = crate::Result<crate::Response<crate::model::HttpHealthCheckList>>,
2638    > + Send {
2639        gaxi::unimplemented::unimplemented_stub()
2640    }
2641
2642    /// Implements [super::client::HttpHealthChecks::patch].
2643    fn patch(
2644        &self,
2645        _req: crate::model::http_health_checks::PatchRequest,
2646        _options: crate::RequestOptions,
2647    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2648    {
2649        gaxi::unimplemented::unimplemented_stub()
2650    }
2651
2652    /// Implements [super::client::HttpHealthChecks::test_iam_permissions].
2653    fn test_iam_permissions(
2654        &self,
2655        _req: crate::model::http_health_checks::TestIamPermissionsRequest,
2656        _options: crate::RequestOptions,
2657    ) -> impl std::future::Future<
2658        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2659    > + Send {
2660        gaxi::unimplemented::unimplemented_stub()
2661    }
2662
2663    /// Implements [super::client::HttpHealthChecks::update].
2664    fn update(
2665        &self,
2666        _req: crate::model::http_health_checks::UpdateRequest,
2667        _options: crate::RequestOptions,
2668    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2669    {
2670        gaxi::unimplemented::unimplemented_stub()
2671    }
2672
2673    /// Implements [super::client::HttpHealthChecks::get_operation].
2674    fn get_operation(
2675        &self,
2676        _req: crate::model::global_operations::GetRequest,
2677        _options: crate::RequestOptions,
2678    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2679    {
2680        gaxi::unimplemented::unimplemented_stub()
2681    }
2682
2683    /// Returns the polling error policy.
2684    ///
2685    /// When mocking, this method is typically irrelevant. Do not try to verify
2686    /// it is called by your mocks.
2687    fn get_polling_error_policy(
2688        &self,
2689        _options: &crate::RequestOptions,
2690    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2691        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2692    }
2693
2694    /// Returns the polling backoff policy.
2695    ///
2696    /// When mocking, this method is typically irrelevant. Do not try to verify
2697    /// it is called by your mocks.
2698    fn get_polling_backoff_policy(
2699        &self,
2700        _options: &crate::RequestOptions,
2701    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2702        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2703    }
2704}
2705
2706/// Defines the trait used to implement [super::client::HttpsHealthChecks].
2707///
2708/// Application developers may need to implement this trait to mock
2709/// `client::HttpsHealthChecks`.  In other use-cases, application developers only
2710/// use `client::HttpsHealthChecks` and need not be concerned with this trait or
2711/// its implementations.
2712///
2713/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2714/// too. To avoid breaking applications the trait provides a default
2715/// implementation of each method. Most of these implementations just return an
2716/// error.
2717#[cfg(feature = "https-health-checks")]
2718#[cfg_attr(docsrs, doc(cfg(feature = "https-health-checks")))]
2719pub trait HttpsHealthChecks: std::fmt::Debug + Send + Sync {
2720    /// Implements [super::client::HttpsHealthChecks::delete].
2721    fn delete(
2722        &self,
2723        _req: crate::model::https_health_checks::DeleteRequest,
2724        _options: crate::RequestOptions,
2725    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2726    {
2727        gaxi::unimplemented::unimplemented_stub()
2728    }
2729
2730    /// Implements [super::client::HttpsHealthChecks::get].
2731    fn get(
2732        &self,
2733        _req: crate::model::https_health_checks::GetRequest,
2734        _options: crate::RequestOptions,
2735    ) -> impl std::future::Future<
2736        Output = crate::Result<crate::Response<crate::model::HttpsHealthCheck>>,
2737    > + Send {
2738        gaxi::unimplemented::unimplemented_stub()
2739    }
2740
2741    /// Implements [super::client::HttpsHealthChecks::insert].
2742    fn insert(
2743        &self,
2744        _req: crate::model::https_health_checks::InsertRequest,
2745        _options: crate::RequestOptions,
2746    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2747    {
2748        gaxi::unimplemented::unimplemented_stub()
2749    }
2750
2751    /// Implements [super::client::HttpsHealthChecks::list].
2752    fn list(
2753        &self,
2754        _req: crate::model::https_health_checks::ListRequest,
2755        _options: crate::RequestOptions,
2756    ) -> impl std::future::Future<
2757        Output = crate::Result<crate::Response<crate::model::HttpsHealthCheckList>>,
2758    > + Send {
2759        gaxi::unimplemented::unimplemented_stub()
2760    }
2761
2762    /// Implements [super::client::HttpsHealthChecks::patch].
2763    fn patch(
2764        &self,
2765        _req: crate::model::https_health_checks::PatchRequest,
2766        _options: crate::RequestOptions,
2767    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2768    {
2769        gaxi::unimplemented::unimplemented_stub()
2770    }
2771
2772    /// Implements [super::client::HttpsHealthChecks::test_iam_permissions].
2773    fn test_iam_permissions(
2774        &self,
2775        _req: crate::model::https_health_checks::TestIamPermissionsRequest,
2776        _options: crate::RequestOptions,
2777    ) -> impl std::future::Future<
2778        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2779    > + Send {
2780        gaxi::unimplemented::unimplemented_stub()
2781    }
2782
2783    /// Implements [super::client::HttpsHealthChecks::update].
2784    fn update(
2785        &self,
2786        _req: crate::model::https_health_checks::UpdateRequest,
2787        _options: crate::RequestOptions,
2788    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2789    {
2790        gaxi::unimplemented::unimplemented_stub()
2791    }
2792
2793    /// Implements [super::client::HttpsHealthChecks::get_operation].
2794    fn get_operation(
2795        &self,
2796        _req: crate::model::global_operations::GetRequest,
2797        _options: crate::RequestOptions,
2798    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2799    {
2800        gaxi::unimplemented::unimplemented_stub()
2801    }
2802
2803    /// Returns the polling error policy.
2804    ///
2805    /// When mocking, this method is typically irrelevant. Do not try to verify
2806    /// it is called by your mocks.
2807    fn get_polling_error_policy(
2808        &self,
2809        _options: &crate::RequestOptions,
2810    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2811        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2812    }
2813
2814    /// Returns the polling backoff policy.
2815    ///
2816    /// When mocking, this method is typically irrelevant. Do not try to verify
2817    /// it is called by your mocks.
2818    fn get_polling_backoff_policy(
2819        &self,
2820        _options: &crate::RequestOptions,
2821    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2822        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2823    }
2824}
2825
2826/// Defines the trait used to implement [super::client::ImageFamilyViews].
2827///
2828/// Application developers may need to implement this trait to mock
2829/// `client::ImageFamilyViews`.  In other use-cases, application developers only
2830/// use `client::ImageFamilyViews` and need not be concerned with this trait or
2831/// its implementations.
2832///
2833/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2834/// too. To avoid breaking applications the trait provides a default
2835/// implementation of each method. Most of these implementations just return an
2836/// error.
2837#[cfg(feature = "image-family-views")]
2838#[cfg_attr(docsrs, doc(cfg(feature = "image-family-views")))]
2839pub trait ImageFamilyViews: std::fmt::Debug + Send + Sync {
2840    /// Implements [super::client::ImageFamilyViews::get].
2841    fn get(
2842        &self,
2843        _req: crate::model::image_family_views::GetRequest,
2844        _options: crate::RequestOptions,
2845    ) -> impl std::future::Future<
2846        Output = crate::Result<crate::Response<crate::model::ImageFamilyView>>,
2847    > + Send {
2848        gaxi::unimplemented::unimplemented_stub()
2849    }
2850}
2851
2852/// Defines the trait used to implement [super::client::Images].
2853///
2854/// Application developers may need to implement this trait to mock
2855/// `client::Images`.  In other use-cases, application developers only
2856/// use `client::Images` and need not be concerned with this trait or
2857/// its implementations.
2858///
2859/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2860/// too. To avoid breaking applications the trait provides a default
2861/// implementation of each method. Most of these implementations just return an
2862/// error.
2863#[cfg(feature = "images")]
2864#[cfg_attr(docsrs, doc(cfg(feature = "images")))]
2865pub trait Images: std::fmt::Debug + Send + Sync {
2866    /// Implements [super::client::Images::delete].
2867    fn delete(
2868        &self,
2869        _req: crate::model::images::DeleteRequest,
2870        _options: crate::RequestOptions,
2871    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2872    {
2873        gaxi::unimplemented::unimplemented_stub()
2874    }
2875
2876    /// Implements [super::client::Images::deprecate].
2877    fn deprecate(
2878        &self,
2879        _req: crate::model::images::DeprecateRequest,
2880        _options: crate::RequestOptions,
2881    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2882    {
2883        gaxi::unimplemented::unimplemented_stub()
2884    }
2885
2886    /// Implements [super::client::Images::get].
2887    fn get(
2888        &self,
2889        _req: crate::model::images::GetRequest,
2890        _options: crate::RequestOptions,
2891    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Image>>> + Send
2892    {
2893        gaxi::unimplemented::unimplemented_stub()
2894    }
2895
2896    /// Implements [super::client::Images::get_from_family].
2897    fn get_from_family(
2898        &self,
2899        _req: crate::model::images::GetFromFamilyRequest,
2900        _options: crate::RequestOptions,
2901    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Image>>> + Send
2902    {
2903        gaxi::unimplemented::unimplemented_stub()
2904    }
2905
2906    /// Implements [super::client::Images::get_iam_policy].
2907    fn get_iam_policy(
2908        &self,
2909        _req: crate::model::images::GetIamPolicyRequest,
2910        _options: crate::RequestOptions,
2911    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
2912    {
2913        gaxi::unimplemented::unimplemented_stub()
2914    }
2915
2916    /// Implements [super::client::Images::insert].
2917    fn insert(
2918        &self,
2919        _req: crate::model::images::InsertRequest,
2920        _options: crate::RequestOptions,
2921    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2922    {
2923        gaxi::unimplemented::unimplemented_stub()
2924    }
2925
2926    /// Implements [super::client::Images::list].
2927    fn list(
2928        &self,
2929        _req: crate::model::images::ListRequest,
2930        _options: crate::RequestOptions,
2931    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ImageList>>> + Send
2932    {
2933        gaxi::unimplemented::unimplemented_stub()
2934    }
2935
2936    /// Implements [super::client::Images::patch].
2937    fn patch(
2938        &self,
2939        _req: crate::model::images::PatchRequest,
2940        _options: crate::RequestOptions,
2941    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2942    {
2943        gaxi::unimplemented::unimplemented_stub()
2944    }
2945
2946    /// Implements [super::client::Images::set_iam_policy].
2947    fn set_iam_policy(
2948        &self,
2949        _req: crate::model::images::SetIamPolicyRequest,
2950        _options: crate::RequestOptions,
2951    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
2952    {
2953        gaxi::unimplemented::unimplemented_stub()
2954    }
2955
2956    /// Implements [super::client::Images::set_labels].
2957    fn set_labels(
2958        &self,
2959        _req: crate::model::images::SetLabelsRequest,
2960        _options: crate::RequestOptions,
2961    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2962    {
2963        gaxi::unimplemented::unimplemented_stub()
2964    }
2965
2966    /// Implements [super::client::Images::test_iam_permissions].
2967    fn test_iam_permissions(
2968        &self,
2969        _req: crate::model::images::TestIamPermissionsRequest,
2970        _options: crate::RequestOptions,
2971    ) -> impl std::future::Future<
2972        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2973    > + Send {
2974        gaxi::unimplemented::unimplemented_stub()
2975    }
2976
2977    /// Implements [super::client::Images::get_operation].
2978    fn get_operation(
2979        &self,
2980        _req: crate::model::global_operations::GetRequest,
2981        _options: crate::RequestOptions,
2982    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2983    {
2984        gaxi::unimplemented::unimplemented_stub()
2985    }
2986
2987    /// Returns the polling error policy.
2988    ///
2989    /// When mocking, this method is typically irrelevant. Do not try to verify
2990    /// it is called by your mocks.
2991    fn get_polling_error_policy(
2992        &self,
2993        _options: &crate::RequestOptions,
2994    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2995        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2996    }
2997
2998    /// Returns the polling backoff policy.
2999    ///
3000    /// When mocking, this method is typically irrelevant. Do not try to verify
3001    /// it is called by your mocks.
3002    fn get_polling_backoff_policy(
3003        &self,
3004        _options: &crate::RequestOptions,
3005    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3006        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3007    }
3008}
3009
3010/// Defines the trait used to implement [super::client::InstanceGroupManagerResizeRequests].
3011///
3012/// Application developers may need to implement this trait to mock
3013/// `client::InstanceGroupManagerResizeRequests`.  In other use-cases, application developers only
3014/// use `client::InstanceGroupManagerResizeRequests` and need not be concerned with this trait or
3015/// its implementations.
3016///
3017/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3018/// too. To avoid breaking applications the trait provides a default
3019/// implementation of each method. Most of these implementations just return an
3020/// error.
3021#[cfg(feature = "instance-group-manager-resize-requests")]
3022#[cfg_attr(docsrs, doc(cfg(feature = "instance-group-manager-resize-requests")))]
3023pub trait InstanceGroupManagerResizeRequests: std::fmt::Debug + Send + Sync {
3024    /// Implements [super::client::InstanceGroupManagerResizeRequests::cancel].
3025    fn cancel(
3026        &self,
3027        _req: crate::model::instance_group_manager_resize_requests::CancelRequest,
3028        _options: crate::RequestOptions,
3029    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3030    {
3031        gaxi::unimplemented::unimplemented_stub()
3032    }
3033
3034    /// Implements [super::client::InstanceGroupManagerResizeRequests::delete].
3035    fn delete(
3036        &self,
3037        _req: crate::model::instance_group_manager_resize_requests::DeleteRequest,
3038        _options: crate::RequestOptions,
3039    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3040    {
3041        gaxi::unimplemented::unimplemented_stub()
3042    }
3043
3044    /// Implements [super::client::InstanceGroupManagerResizeRequests::get].
3045    fn get(
3046        &self,
3047        _req: crate::model::instance_group_manager_resize_requests::GetRequest,
3048        _options: crate::RequestOptions,
3049    ) -> impl std::future::Future<
3050        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerResizeRequest>>,
3051    > + Send {
3052        gaxi::unimplemented::unimplemented_stub()
3053    }
3054
3055    /// Implements [super::client::InstanceGroupManagerResizeRequests::insert].
3056    fn insert(
3057        &self,
3058        _req: crate::model::instance_group_manager_resize_requests::InsertRequest,
3059        _options: crate::RequestOptions,
3060    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3061    {
3062        gaxi::unimplemented::unimplemented_stub()
3063    }
3064
3065    /// Implements [super::client::InstanceGroupManagerResizeRequests::list].
3066    fn list(
3067        &self,
3068        _req: crate::model::instance_group_manager_resize_requests::ListRequest,
3069        _options: crate::RequestOptions,
3070    ) -> impl std::future::Future<
3071        Output = crate::Result<
3072            crate::Response<crate::model::InstanceGroupManagerResizeRequestsListResponse>,
3073        >,
3074    > + Send {
3075        gaxi::unimplemented::unimplemented_stub()
3076    }
3077
3078    /// Implements [super::client::InstanceGroupManagerResizeRequests::get_operation].
3079    fn get_operation(
3080        &self,
3081        _req: crate::model::zone_operations::GetRequest,
3082        _options: crate::RequestOptions,
3083    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3084    {
3085        gaxi::unimplemented::unimplemented_stub()
3086    }
3087
3088    /// Returns the polling error policy.
3089    ///
3090    /// When mocking, this method is typically irrelevant. Do not try to verify
3091    /// it is called by your mocks.
3092    fn get_polling_error_policy(
3093        &self,
3094        _options: &crate::RequestOptions,
3095    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3096        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3097    }
3098
3099    /// Returns the polling backoff policy.
3100    ///
3101    /// When mocking, this method is typically irrelevant. Do not try to verify
3102    /// it is called by your mocks.
3103    fn get_polling_backoff_policy(
3104        &self,
3105        _options: &crate::RequestOptions,
3106    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3107        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3108    }
3109}
3110
3111/// Defines the trait used to implement [super::client::InstanceGroupManagers].
3112///
3113/// Application developers may need to implement this trait to mock
3114/// `client::InstanceGroupManagers`.  In other use-cases, application developers only
3115/// use `client::InstanceGroupManagers` and need not be concerned with this trait or
3116/// its implementations.
3117///
3118/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3119/// too. To avoid breaking applications the trait provides a default
3120/// implementation of each method. Most of these implementations just return an
3121/// error.
3122#[cfg(feature = "instance-group-managers")]
3123#[cfg_attr(docsrs, doc(cfg(feature = "instance-group-managers")))]
3124pub trait InstanceGroupManagers: std::fmt::Debug + Send + Sync {
3125    /// Implements [super::client::InstanceGroupManagers::abandon_instances].
3126    fn abandon_instances(
3127        &self,
3128        _req: crate::model::instance_group_managers::AbandonInstancesRequest,
3129        _options: crate::RequestOptions,
3130    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3131    {
3132        gaxi::unimplemented::unimplemented_stub()
3133    }
3134
3135    /// Implements [super::client::InstanceGroupManagers::aggregated_list].
3136    fn aggregated_list(
3137        &self,
3138        _req: crate::model::instance_group_managers::AggregatedListRequest,
3139        _options: crate::RequestOptions,
3140    ) -> impl std::future::Future<
3141        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerAggregatedList>>,
3142    > + Send {
3143        gaxi::unimplemented::unimplemented_stub()
3144    }
3145
3146    /// Implements [super::client::InstanceGroupManagers::apply_updates_to_instances].
3147    fn apply_updates_to_instances(
3148        &self,
3149        _req: crate::model::instance_group_managers::ApplyUpdatesToInstancesRequest,
3150        _options: crate::RequestOptions,
3151    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3152    {
3153        gaxi::unimplemented::unimplemented_stub()
3154    }
3155
3156    /// Implements [super::client::InstanceGroupManagers::create_instances].
3157    fn create_instances(
3158        &self,
3159        _req: crate::model::instance_group_managers::CreateInstancesRequest,
3160        _options: crate::RequestOptions,
3161    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3162    {
3163        gaxi::unimplemented::unimplemented_stub()
3164    }
3165
3166    /// Implements [super::client::InstanceGroupManagers::delete].
3167    fn delete(
3168        &self,
3169        _req: crate::model::instance_group_managers::DeleteRequest,
3170        _options: crate::RequestOptions,
3171    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3172    {
3173        gaxi::unimplemented::unimplemented_stub()
3174    }
3175
3176    /// Implements [super::client::InstanceGroupManagers::delete_instances].
3177    fn delete_instances(
3178        &self,
3179        _req: crate::model::instance_group_managers::DeleteInstancesRequest,
3180        _options: crate::RequestOptions,
3181    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3182    {
3183        gaxi::unimplemented::unimplemented_stub()
3184    }
3185
3186    /// Implements [super::client::InstanceGroupManagers::delete_per_instance_configs].
3187    fn delete_per_instance_configs(
3188        &self,
3189        _req: crate::model::instance_group_managers::DeletePerInstanceConfigsRequest,
3190        _options: crate::RequestOptions,
3191    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3192    {
3193        gaxi::unimplemented::unimplemented_stub()
3194    }
3195
3196    /// Implements [super::client::InstanceGroupManagers::get].
3197    fn get(
3198        &self,
3199        _req: crate::model::instance_group_managers::GetRequest,
3200        _options: crate::RequestOptions,
3201    ) -> impl std::future::Future<
3202        Output = crate::Result<crate::Response<crate::model::InstanceGroupManager>>,
3203    > + Send {
3204        gaxi::unimplemented::unimplemented_stub()
3205    }
3206
3207    /// Implements [super::client::InstanceGroupManagers::insert].
3208    fn insert(
3209        &self,
3210        _req: crate::model::instance_group_managers::InsertRequest,
3211        _options: crate::RequestOptions,
3212    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3213    {
3214        gaxi::unimplemented::unimplemented_stub()
3215    }
3216
3217    /// Implements [super::client::InstanceGroupManagers::list].
3218    fn list(
3219        &self,
3220        _req: crate::model::instance_group_managers::ListRequest,
3221        _options: crate::RequestOptions,
3222    ) -> impl std::future::Future<
3223        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerList>>,
3224    > + Send {
3225        gaxi::unimplemented::unimplemented_stub()
3226    }
3227
3228    /// Implements [super::client::InstanceGroupManagers::list_errors].
3229    fn list_errors(
3230        &self,
3231        _req: crate::model::instance_group_managers::ListErrorsRequest,
3232        _options: crate::RequestOptions,
3233    ) -> impl std::future::Future<
3234        Output = crate::Result<
3235            crate::Response<crate::model::InstanceGroupManagersListErrorsResponse>,
3236        >,
3237    > + Send {
3238        gaxi::unimplemented::unimplemented_stub()
3239    }
3240
3241    /// Implements [super::client::InstanceGroupManagers::list_managed_instances].
3242    fn list_managed_instances(
3243        &self,
3244        _req: crate::model::instance_group_managers::ListManagedInstancesRequest,
3245        _options: crate::RequestOptions,
3246    ) -> impl std::future::Future<
3247        Output = crate::Result<
3248            crate::Response<crate::model::InstanceGroupManagersListManagedInstancesResponse>,
3249        >,
3250    > + Send {
3251        gaxi::unimplemented::unimplemented_stub()
3252    }
3253
3254    /// Implements [super::client::InstanceGroupManagers::list_per_instance_configs].
3255    fn list_per_instance_configs(
3256        &self,
3257        _req: crate::model::instance_group_managers::ListPerInstanceConfigsRequest,
3258        _options: crate::RequestOptions,
3259    ) -> impl std::future::Future<
3260        Output = crate::Result<
3261            crate::Response<crate::model::InstanceGroupManagersListPerInstanceConfigsResp>,
3262        >,
3263    > + Send {
3264        gaxi::unimplemented::unimplemented_stub()
3265    }
3266
3267    /// Implements [super::client::InstanceGroupManagers::patch].
3268    fn patch(
3269        &self,
3270        _req: crate::model::instance_group_managers::PatchRequest,
3271        _options: crate::RequestOptions,
3272    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3273    {
3274        gaxi::unimplemented::unimplemented_stub()
3275    }
3276
3277    /// Implements [super::client::InstanceGroupManagers::patch_per_instance_configs].
3278    fn patch_per_instance_configs(
3279        &self,
3280        _req: crate::model::instance_group_managers::PatchPerInstanceConfigsRequest,
3281        _options: crate::RequestOptions,
3282    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3283    {
3284        gaxi::unimplemented::unimplemented_stub()
3285    }
3286
3287    /// Implements [super::client::InstanceGroupManagers::recreate_instances].
3288    fn recreate_instances(
3289        &self,
3290        _req: crate::model::instance_group_managers::RecreateInstancesRequest,
3291        _options: crate::RequestOptions,
3292    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3293    {
3294        gaxi::unimplemented::unimplemented_stub()
3295    }
3296
3297    /// Implements [super::client::InstanceGroupManagers::resize].
3298    fn resize(
3299        &self,
3300        _req: crate::model::instance_group_managers::ResizeRequest,
3301        _options: crate::RequestOptions,
3302    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3303    {
3304        gaxi::unimplemented::unimplemented_stub()
3305    }
3306
3307    /// Implements [super::client::InstanceGroupManagers::resume_instances].
3308    fn resume_instances(
3309        &self,
3310        _req: crate::model::instance_group_managers::ResumeInstancesRequest,
3311        _options: crate::RequestOptions,
3312    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3313    {
3314        gaxi::unimplemented::unimplemented_stub()
3315    }
3316
3317    /// Implements [super::client::InstanceGroupManagers::set_instance_template].
3318    fn set_instance_template(
3319        &self,
3320        _req: crate::model::instance_group_managers::SetInstanceTemplateRequest,
3321        _options: crate::RequestOptions,
3322    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3323    {
3324        gaxi::unimplemented::unimplemented_stub()
3325    }
3326
3327    /// Implements [super::client::InstanceGroupManagers::set_target_pools].
3328    fn set_target_pools(
3329        &self,
3330        _req: crate::model::instance_group_managers::SetTargetPoolsRequest,
3331        _options: crate::RequestOptions,
3332    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3333    {
3334        gaxi::unimplemented::unimplemented_stub()
3335    }
3336
3337    /// Implements [super::client::InstanceGroupManagers::start_instances].
3338    fn start_instances(
3339        &self,
3340        _req: crate::model::instance_group_managers::StartInstancesRequest,
3341        _options: crate::RequestOptions,
3342    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3343    {
3344        gaxi::unimplemented::unimplemented_stub()
3345    }
3346
3347    /// Implements [super::client::InstanceGroupManagers::stop_instances].
3348    fn stop_instances(
3349        &self,
3350        _req: crate::model::instance_group_managers::StopInstancesRequest,
3351        _options: crate::RequestOptions,
3352    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3353    {
3354        gaxi::unimplemented::unimplemented_stub()
3355    }
3356
3357    /// Implements [super::client::InstanceGroupManagers::suspend_instances].
3358    fn suspend_instances(
3359        &self,
3360        _req: crate::model::instance_group_managers::SuspendInstancesRequest,
3361        _options: crate::RequestOptions,
3362    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3363    {
3364        gaxi::unimplemented::unimplemented_stub()
3365    }
3366
3367    /// Implements [super::client::InstanceGroupManagers::update_per_instance_configs].
3368    fn update_per_instance_configs(
3369        &self,
3370        _req: crate::model::instance_group_managers::UpdatePerInstanceConfigsRequest,
3371        _options: crate::RequestOptions,
3372    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3373    {
3374        gaxi::unimplemented::unimplemented_stub()
3375    }
3376
3377    /// Implements [super::client::InstanceGroupManagers::get_operation].
3378    fn get_operation(
3379        &self,
3380        _req: crate::model::zone_operations::GetRequest,
3381        _options: crate::RequestOptions,
3382    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3383    {
3384        gaxi::unimplemented::unimplemented_stub()
3385    }
3386
3387    /// Returns the polling error policy.
3388    ///
3389    /// When mocking, this method is typically irrelevant. Do not try to verify
3390    /// it is called by your mocks.
3391    fn get_polling_error_policy(
3392        &self,
3393        _options: &crate::RequestOptions,
3394    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3395        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3396    }
3397
3398    /// Returns the polling backoff policy.
3399    ///
3400    /// When mocking, this method is typically irrelevant. Do not try to verify
3401    /// it is called by your mocks.
3402    fn get_polling_backoff_policy(
3403        &self,
3404        _options: &crate::RequestOptions,
3405    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3406        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3407    }
3408}
3409
3410/// Defines the trait used to implement [super::client::InstanceGroups].
3411///
3412/// Application developers may need to implement this trait to mock
3413/// `client::InstanceGroups`.  In other use-cases, application developers only
3414/// use `client::InstanceGroups` and need not be concerned with this trait or
3415/// its implementations.
3416///
3417/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3418/// too. To avoid breaking applications the trait provides a default
3419/// implementation of each method. Most of these implementations just return an
3420/// error.
3421#[cfg(feature = "instance-groups")]
3422#[cfg_attr(docsrs, doc(cfg(feature = "instance-groups")))]
3423pub trait InstanceGroups: std::fmt::Debug + Send + Sync {
3424    /// Implements [super::client::InstanceGroups::add_instances].
3425    fn add_instances(
3426        &self,
3427        _req: crate::model::instance_groups::AddInstancesRequest,
3428        _options: crate::RequestOptions,
3429    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3430    {
3431        gaxi::unimplemented::unimplemented_stub()
3432    }
3433
3434    /// Implements [super::client::InstanceGroups::aggregated_list].
3435    fn aggregated_list(
3436        &self,
3437        _req: crate::model::instance_groups::AggregatedListRequest,
3438        _options: crate::RequestOptions,
3439    ) -> impl std::future::Future<
3440        Output = crate::Result<crate::Response<crate::model::InstanceGroupAggregatedList>>,
3441    > + Send {
3442        gaxi::unimplemented::unimplemented_stub()
3443    }
3444
3445    /// Implements [super::client::InstanceGroups::delete].
3446    fn delete(
3447        &self,
3448        _req: crate::model::instance_groups::DeleteRequest,
3449        _options: crate::RequestOptions,
3450    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3451    {
3452        gaxi::unimplemented::unimplemented_stub()
3453    }
3454
3455    /// Implements [super::client::InstanceGroups::get].
3456    fn get(
3457        &self,
3458        _req: crate::model::instance_groups::GetRequest,
3459        _options: crate::RequestOptions,
3460    ) -> impl std::future::Future<
3461        Output = crate::Result<crate::Response<crate::model::InstanceGroup>>,
3462    > + Send {
3463        gaxi::unimplemented::unimplemented_stub()
3464    }
3465
3466    /// Implements [super::client::InstanceGroups::insert].
3467    fn insert(
3468        &self,
3469        _req: crate::model::instance_groups::InsertRequest,
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::list].
3477    fn list(
3478        &self,
3479        _req: crate::model::instance_groups::ListRequest,
3480        _options: crate::RequestOptions,
3481    ) -> impl std::future::Future<
3482        Output = crate::Result<crate::Response<crate::model::InstanceGroupList>>,
3483    > + Send {
3484        gaxi::unimplemented::unimplemented_stub()
3485    }
3486
3487    /// Implements [super::client::InstanceGroups::list_instances].
3488    fn list_instances(
3489        &self,
3490        _req: crate::model::instance_groups::ListInstancesRequest,
3491        _options: crate::RequestOptions,
3492    ) -> impl std::future::Future<
3493        Output = crate::Result<crate::Response<crate::model::InstanceGroupsListInstances>>,
3494    > + Send {
3495        gaxi::unimplemented::unimplemented_stub()
3496    }
3497
3498    /// Implements [super::client::InstanceGroups::remove_instances].
3499    fn remove_instances(
3500        &self,
3501        _req: crate::model::instance_groups::RemoveInstancesRequest,
3502        _options: crate::RequestOptions,
3503    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3504    {
3505        gaxi::unimplemented::unimplemented_stub()
3506    }
3507
3508    /// Implements [super::client::InstanceGroups::set_named_ports].
3509    fn set_named_ports(
3510        &self,
3511        _req: crate::model::instance_groups::SetNamedPortsRequest,
3512        _options: crate::RequestOptions,
3513    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3514    {
3515        gaxi::unimplemented::unimplemented_stub()
3516    }
3517
3518    /// Implements [super::client::InstanceGroups::test_iam_permissions].
3519    fn test_iam_permissions(
3520        &self,
3521        _req: crate::model::instance_groups::TestIamPermissionsRequest,
3522        _options: crate::RequestOptions,
3523    ) -> impl std::future::Future<
3524        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3525    > + Send {
3526        gaxi::unimplemented::unimplemented_stub()
3527    }
3528
3529    /// Implements [super::client::InstanceGroups::get_operation].
3530    fn get_operation(
3531        &self,
3532        _req: crate::model::zone_operations::GetRequest,
3533        _options: crate::RequestOptions,
3534    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3535    {
3536        gaxi::unimplemented::unimplemented_stub()
3537    }
3538
3539    /// Returns the polling error policy.
3540    ///
3541    /// When mocking, this method is typically irrelevant. Do not try to verify
3542    /// it is called by your mocks.
3543    fn get_polling_error_policy(
3544        &self,
3545        _options: &crate::RequestOptions,
3546    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3547        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3548    }
3549
3550    /// Returns the polling backoff policy.
3551    ///
3552    /// When mocking, this method is typically irrelevant. Do not try to verify
3553    /// it is called by your mocks.
3554    fn get_polling_backoff_policy(
3555        &self,
3556        _options: &crate::RequestOptions,
3557    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3558        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3559    }
3560}
3561
3562/// Defines the trait used to implement [super::client::InstanceSettings].
3563///
3564/// Application developers may need to implement this trait to mock
3565/// `client::InstanceSettings`.  In other use-cases, application developers only
3566/// use `client::InstanceSettings` and need not be concerned with this trait or
3567/// its implementations.
3568///
3569/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3570/// too. To avoid breaking applications the trait provides a default
3571/// implementation of each method. Most of these implementations just return an
3572/// error.
3573#[cfg(feature = "instance-settings")]
3574#[cfg_attr(docsrs, doc(cfg(feature = "instance-settings")))]
3575pub trait InstanceSettings: std::fmt::Debug + Send + Sync {
3576    /// Implements [super::client::InstanceSettings::get].
3577    fn get(
3578        &self,
3579        _req: crate::model::instance_settings::GetRequest,
3580        _options: crate::RequestOptions,
3581    ) -> impl std::future::Future<
3582        Output = crate::Result<crate::Response<crate::model::InstanceSettings>>,
3583    > + Send {
3584        gaxi::unimplemented::unimplemented_stub()
3585    }
3586
3587    /// Implements [super::client::InstanceSettings::patch].
3588    fn patch(
3589        &self,
3590        _req: crate::model::instance_settings::PatchRequest,
3591        _options: crate::RequestOptions,
3592    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3593    {
3594        gaxi::unimplemented::unimplemented_stub()
3595    }
3596
3597    /// Implements [super::client::InstanceSettings::get_operation].
3598    fn get_operation(
3599        &self,
3600        _req: crate::model::zone_operations::GetRequest,
3601        _options: crate::RequestOptions,
3602    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3603    {
3604        gaxi::unimplemented::unimplemented_stub()
3605    }
3606
3607    /// Returns the polling error policy.
3608    ///
3609    /// When mocking, this method is typically irrelevant. Do not try to verify
3610    /// it is called by your mocks.
3611    fn get_polling_error_policy(
3612        &self,
3613        _options: &crate::RequestOptions,
3614    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3615        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3616    }
3617
3618    /// Returns the polling backoff policy.
3619    ///
3620    /// When mocking, this method is typically irrelevant. Do not try to verify
3621    /// it is called by your mocks.
3622    fn get_polling_backoff_policy(
3623        &self,
3624        _options: &crate::RequestOptions,
3625    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3626        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3627    }
3628}
3629
3630/// Defines the trait used to implement [super::client::InstanceTemplates].
3631///
3632/// Application developers may need to implement this trait to mock
3633/// `client::InstanceTemplates`.  In other use-cases, application developers only
3634/// use `client::InstanceTemplates` and need not be concerned with this trait or
3635/// its implementations.
3636///
3637/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3638/// too. To avoid breaking applications the trait provides a default
3639/// implementation of each method. Most of these implementations just return an
3640/// error.
3641#[cfg(feature = "instance-templates")]
3642#[cfg_attr(docsrs, doc(cfg(feature = "instance-templates")))]
3643pub trait InstanceTemplates: std::fmt::Debug + Send + Sync {
3644    /// Implements [super::client::InstanceTemplates::aggregated_list].
3645    fn aggregated_list(
3646        &self,
3647        _req: crate::model::instance_templates::AggregatedListRequest,
3648        _options: crate::RequestOptions,
3649    ) -> impl std::future::Future<
3650        Output = crate::Result<crate::Response<crate::model::InstanceTemplateAggregatedList>>,
3651    > + Send {
3652        gaxi::unimplemented::unimplemented_stub()
3653    }
3654
3655    /// Implements [super::client::InstanceTemplates::delete].
3656    fn delete(
3657        &self,
3658        _req: crate::model::instance_templates::DeleteRequest,
3659        _options: crate::RequestOptions,
3660    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3661    {
3662        gaxi::unimplemented::unimplemented_stub()
3663    }
3664
3665    /// Implements [super::client::InstanceTemplates::get].
3666    fn get(
3667        &self,
3668        _req: crate::model::instance_templates::GetRequest,
3669        _options: crate::RequestOptions,
3670    ) -> impl std::future::Future<
3671        Output = crate::Result<crate::Response<crate::model::InstanceTemplate>>,
3672    > + Send {
3673        gaxi::unimplemented::unimplemented_stub()
3674    }
3675
3676    /// Implements [super::client::InstanceTemplates::get_iam_policy].
3677    fn get_iam_policy(
3678        &self,
3679        _req: crate::model::instance_templates::GetIamPolicyRequest,
3680        _options: crate::RequestOptions,
3681    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
3682    {
3683        gaxi::unimplemented::unimplemented_stub()
3684    }
3685
3686    /// Implements [super::client::InstanceTemplates::insert].
3687    fn insert(
3688        &self,
3689        _req: crate::model::instance_templates::InsertRequest,
3690        _options: crate::RequestOptions,
3691    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3692    {
3693        gaxi::unimplemented::unimplemented_stub()
3694    }
3695
3696    /// Implements [super::client::InstanceTemplates::list].
3697    fn list(
3698        &self,
3699        _req: crate::model::instance_templates::ListRequest,
3700        _options: crate::RequestOptions,
3701    ) -> impl std::future::Future<
3702        Output = crate::Result<crate::Response<crate::model::InstanceTemplateList>>,
3703    > + Send {
3704        gaxi::unimplemented::unimplemented_stub()
3705    }
3706
3707    /// Implements [super::client::InstanceTemplates::set_iam_policy].
3708    fn set_iam_policy(
3709        &self,
3710        _req: crate::model::instance_templates::SetIamPolicyRequest,
3711        _options: crate::RequestOptions,
3712    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
3713    {
3714        gaxi::unimplemented::unimplemented_stub()
3715    }
3716
3717    /// Implements [super::client::InstanceTemplates::test_iam_permissions].
3718    fn test_iam_permissions(
3719        &self,
3720        _req: crate::model::instance_templates::TestIamPermissionsRequest,
3721        _options: crate::RequestOptions,
3722    ) -> impl std::future::Future<
3723        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3724    > + Send {
3725        gaxi::unimplemented::unimplemented_stub()
3726    }
3727
3728    /// Implements [super::client::InstanceTemplates::get_operation].
3729    fn get_operation(
3730        &self,
3731        _req: crate::model::global_operations::GetRequest,
3732        _options: crate::RequestOptions,
3733    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3734    {
3735        gaxi::unimplemented::unimplemented_stub()
3736    }
3737
3738    /// Returns the polling error policy.
3739    ///
3740    /// When mocking, this method is typically irrelevant. Do not try to verify
3741    /// it is called by your mocks.
3742    fn get_polling_error_policy(
3743        &self,
3744        _options: &crate::RequestOptions,
3745    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3746        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3747    }
3748
3749    /// Returns the polling backoff policy.
3750    ///
3751    /// When mocking, this method is typically irrelevant. Do not try to verify
3752    /// it is called by your mocks.
3753    fn get_polling_backoff_policy(
3754        &self,
3755        _options: &crate::RequestOptions,
3756    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3757        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3758    }
3759}
3760
3761/// Defines the trait used to implement [super::client::Instances].
3762///
3763/// Application developers may need to implement this trait to mock
3764/// `client::Instances`.  In other use-cases, application developers only
3765/// use `client::Instances` and need not be concerned with this trait or
3766/// its implementations.
3767///
3768/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3769/// too. To avoid breaking applications the trait provides a default
3770/// implementation of each method. Most of these implementations just return an
3771/// error.
3772#[cfg(feature = "instances")]
3773#[cfg_attr(docsrs, doc(cfg(feature = "instances")))]
3774pub trait Instances: std::fmt::Debug + Send + Sync {
3775    /// Implements [super::client::Instances::add_access_config].
3776    fn add_access_config(
3777        &self,
3778        _req: crate::model::instances::AddAccessConfigRequest,
3779        _options: crate::RequestOptions,
3780    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3781    {
3782        gaxi::unimplemented::unimplemented_stub()
3783    }
3784
3785    /// Implements [super::client::Instances::add_network_interface].
3786    fn add_network_interface(
3787        &self,
3788        _req: crate::model::instances::AddNetworkInterfaceRequest,
3789        _options: crate::RequestOptions,
3790    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3791    {
3792        gaxi::unimplemented::unimplemented_stub()
3793    }
3794
3795    /// Implements [super::client::Instances::add_resource_policies].
3796    fn add_resource_policies(
3797        &self,
3798        _req: crate::model::instances::AddResourcePoliciesRequest,
3799        _options: crate::RequestOptions,
3800    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3801    {
3802        gaxi::unimplemented::unimplemented_stub()
3803    }
3804
3805    /// Implements [super::client::Instances::aggregated_list].
3806    fn aggregated_list(
3807        &self,
3808        _req: crate::model::instances::AggregatedListRequest,
3809        _options: crate::RequestOptions,
3810    ) -> impl std::future::Future<
3811        Output = crate::Result<crate::Response<crate::model::InstanceAggregatedList>>,
3812    > + Send {
3813        gaxi::unimplemented::unimplemented_stub()
3814    }
3815
3816    /// Implements [super::client::Instances::attach_disk].
3817    fn attach_disk(
3818        &self,
3819        _req: crate::model::instances::AttachDiskRequest,
3820        _options: crate::RequestOptions,
3821    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3822    {
3823        gaxi::unimplemented::unimplemented_stub()
3824    }
3825
3826    /// Implements [super::client::Instances::bulk_insert].
3827    fn bulk_insert(
3828        &self,
3829        _req: crate::model::instances::BulkInsertRequest,
3830        _options: crate::RequestOptions,
3831    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3832    {
3833        gaxi::unimplemented::unimplemented_stub()
3834    }
3835
3836    /// Implements [super::client::Instances::delete].
3837    fn delete(
3838        &self,
3839        _req: crate::model::instances::DeleteRequest,
3840        _options: crate::RequestOptions,
3841    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3842    {
3843        gaxi::unimplemented::unimplemented_stub()
3844    }
3845
3846    /// Implements [super::client::Instances::delete_access_config].
3847    fn delete_access_config(
3848        &self,
3849        _req: crate::model::instances::DeleteAccessConfigRequest,
3850        _options: crate::RequestOptions,
3851    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3852    {
3853        gaxi::unimplemented::unimplemented_stub()
3854    }
3855
3856    /// Implements [super::client::Instances::delete_network_interface].
3857    fn delete_network_interface(
3858        &self,
3859        _req: crate::model::instances::DeleteNetworkInterfaceRequest,
3860        _options: crate::RequestOptions,
3861    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3862    {
3863        gaxi::unimplemented::unimplemented_stub()
3864    }
3865
3866    /// Implements [super::client::Instances::detach_disk].
3867    fn detach_disk(
3868        &self,
3869        _req: crate::model::instances::DetachDiskRequest,
3870        _options: crate::RequestOptions,
3871    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3872    {
3873        gaxi::unimplemented::unimplemented_stub()
3874    }
3875
3876    /// Implements [super::client::Instances::get].
3877    fn get(
3878        &self,
3879        _req: crate::model::instances::GetRequest,
3880        _options: crate::RequestOptions,
3881    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Instance>>> + Send
3882    {
3883        gaxi::unimplemented::unimplemented_stub()
3884    }
3885
3886    /// Implements [super::client::Instances::get_effective_firewalls].
3887    fn get_effective_firewalls(
3888        &self,
3889        _req: crate::model::instances::GetEffectiveFirewallsRequest,
3890        _options: crate::RequestOptions,
3891    ) -> impl std::future::Future<
3892        Output = crate::Result<
3893            crate::Response<crate::model::InstancesGetEffectiveFirewallsResponse>,
3894        >,
3895    > + Send {
3896        gaxi::unimplemented::unimplemented_stub()
3897    }
3898
3899    /// Implements [super::client::Instances::get_guest_attributes].
3900    fn get_guest_attributes(
3901        &self,
3902        _req: crate::model::instances::GetGuestAttributesRequest,
3903        _options: crate::RequestOptions,
3904    ) -> impl std::future::Future<
3905        Output = crate::Result<crate::Response<crate::model::GuestAttributes>>,
3906    > + Send {
3907        gaxi::unimplemented::unimplemented_stub()
3908    }
3909
3910    /// Implements [super::client::Instances::get_iam_policy].
3911    fn get_iam_policy(
3912        &self,
3913        _req: crate::model::instances::GetIamPolicyRequest,
3914        _options: crate::RequestOptions,
3915    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
3916    {
3917        gaxi::unimplemented::unimplemented_stub()
3918    }
3919
3920    /// Implements [super::client::Instances::get_screenshot].
3921    fn get_screenshot(
3922        &self,
3923        _req: crate::model::instances::GetScreenshotRequest,
3924        _options: crate::RequestOptions,
3925    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Screenshot>>> + Send
3926    {
3927        gaxi::unimplemented::unimplemented_stub()
3928    }
3929
3930    /// Implements [super::client::Instances::get_serial_port_output].
3931    fn get_serial_port_output(
3932        &self,
3933        _req: crate::model::instances::GetSerialPortOutputRequest,
3934        _options: crate::RequestOptions,
3935    ) -> impl std::future::Future<
3936        Output = crate::Result<crate::Response<crate::model::SerialPortOutput>>,
3937    > + Send {
3938        gaxi::unimplemented::unimplemented_stub()
3939    }
3940
3941    /// Implements [super::client::Instances::get_shielded_instance_identity].
3942    fn get_shielded_instance_identity(
3943        &self,
3944        _req: crate::model::instances::GetShieldedInstanceIdentityRequest,
3945        _options: crate::RequestOptions,
3946    ) -> impl std::future::Future<
3947        Output = crate::Result<crate::Response<crate::model::ShieldedInstanceIdentity>>,
3948    > + Send {
3949        gaxi::unimplemented::unimplemented_stub()
3950    }
3951
3952    /// Implements [super::client::Instances::insert].
3953    fn insert(
3954        &self,
3955        _req: crate::model::instances::InsertRequest,
3956        _options: crate::RequestOptions,
3957    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3958    {
3959        gaxi::unimplemented::unimplemented_stub()
3960    }
3961
3962    /// Implements [super::client::Instances::list].
3963    fn list(
3964        &self,
3965        _req: crate::model::instances::ListRequest,
3966        _options: crate::RequestOptions,
3967    ) -> impl std::future::Future<
3968        Output = crate::Result<crate::Response<crate::model::InstanceList>>,
3969    > + Send {
3970        gaxi::unimplemented::unimplemented_stub()
3971    }
3972
3973    /// Implements [super::client::Instances::list_referrers].
3974    fn list_referrers(
3975        &self,
3976        _req: crate::model::instances::ListReferrersRequest,
3977        _options: crate::RequestOptions,
3978    ) -> impl std::future::Future<
3979        Output = crate::Result<crate::Response<crate::model::InstanceListReferrers>>,
3980    > + Send {
3981        gaxi::unimplemented::unimplemented_stub()
3982    }
3983
3984    /// Implements [super::client::Instances::perform_maintenance].
3985    fn perform_maintenance(
3986        &self,
3987        _req: crate::model::instances::PerformMaintenanceRequest,
3988        _options: crate::RequestOptions,
3989    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3990    {
3991        gaxi::unimplemented::unimplemented_stub()
3992    }
3993
3994    /// Implements [super::client::Instances::remove_resource_policies].
3995    fn remove_resource_policies(
3996        &self,
3997        _req: crate::model::instances::RemoveResourcePoliciesRequest,
3998        _options: crate::RequestOptions,
3999    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4000    {
4001        gaxi::unimplemented::unimplemented_stub()
4002    }
4003
4004    /// Implements [super::client::Instances::report_host_as_faulty].
4005    fn report_host_as_faulty(
4006        &self,
4007        _req: crate::model::instances::ReportHostAsFaultyRequest,
4008        _options: crate::RequestOptions,
4009    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4010    {
4011        gaxi::unimplemented::unimplemented_stub()
4012    }
4013
4014    /// Implements [super::client::Instances::reset].
4015    fn reset(
4016        &self,
4017        _req: crate::model::instances::ResetRequest,
4018        _options: crate::RequestOptions,
4019    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4020    {
4021        gaxi::unimplemented::unimplemented_stub()
4022    }
4023
4024    /// Implements [super::client::Instances::resume].
4025    fn resume(
4026        &self,
4027        _req: crate::model::instances::ResumeRequest,
4028        _options: crate::RequestOptions,
4029    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4030    {
4031        gaxi::unimplemented::unimplemented_stub()
4032    }
4033
4034    /// Implements [super::client::Instances::send_diagnostic_interrupt].
4035    fn send_diagnostic_interrupt(
4036        &self,
4037        _req: crate::model::instances::SendDiagnosticInterruptRequest,
4038        _options: crate::RequestOptions,
4039    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
4040        gaxi::unimplemented::unimplemented_stub()
4041    }
4042
4043    /// Implements [super::client::Instances::set_deletion_protection].
4044    fn set_deletion_protection(
4045        &self,
4046        _req: crate::model::instances::SetDeletionProtectionRequest,
4047        _options: crate::RequestOptions,
4048    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4049    {
4050        gaxi::unimplemented::unimplemented_stub()
4051    }
4052
4053    /// Implements [super::client::Instances::set_disk_auto_delete].
4054    fn set_disk_auto_delete(
4055        &self,
4056        _req: crate::model::instances::SetDiskAutoDeleteRequest,
4057        _options: crate::RequestOptions,
4058    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4059    {
4060        gaxi::unimplemented::unimplemented_stub()
4061    }
4062
4063    /// Implements [super::client::Instances::set_iam_policy].
4064    fn set_iam_policy(
4065        &self,
4066        _req: crate::model::instances::SetIamPolicyRequest,
4067        _options: crate::RequestOptions,
4068    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4069    {
4070        gaxi::unimplemented::unimplemented_stub()
4071    }
4072
4073    /// Implements [super::client::Instances::set_labels].
4074    fn set_labels(
4075        &self,
4076        _req: crate::model::instances::SetLabelsRequest,
4077        _options: crate::RequestOptions,
4078    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4079    {
4080        gaxi::unimplemented::unimplemented_stub()
4081    }
4082
4083    /// Implements [super::client::Instances::set_machine_resources].
4084    fn set_machine_resources(
4085        &self,
4086        _req: crate::model::instances::SetMachineResourcesRequest,
4087        _options: crate::RequestOptions,
4088    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4089    {
4090        gaxi::unimplemented::unimplemented_stub()
4091    }
4092
4093    /// Implements [super::client::Instances::set_machine_type].
4094    fn set_machine_type(
4095        &self,
4096        _req: crate::model::instances::SetMachineTypeRequest,
4097        _options: crate::RequestOptions,
4098    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4099    {
4100        gaxi::unimplemented::unimplemented_stub()
4101    }
4102
4103    /// Implements [super::client::Instances::set_metadata].
4104    fn set_metadata(
4105        &self,
4106        _req: crate::model::instances::SetMetadataRequest,
4107        _options: crate::RequestOptions,
4108    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4109    {
4110        gaxi::unimplemented::unimplemented_stub()
4111    }
4112
4113    /// Implements [super::client::Instances::set_min_cpu_platform].
4114    fn set_min_cpu_platform(
4115        &self,
4116        _req: crate::model::instances::SetMinCpuPlatformRequest,
4117        _options: crate::RequestOptions,
4118    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4119    {
4120        gaxi::unimplemented::unimplemented_stub()
4121    }
4122
4123    /// Implements [super::client::Instances::set_name].
4124    fn set_name(
4125        &self,
4126        _req: crate::model::instances::SetNameRequest,
4127        _options: crate::RequestOptions,
4128    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4129    {
4130        gaxi::unimplemented::unimplemented_stub()
4131    }
4132
4133    /// Implements [super::client::Instances::set_scheduling].
4134    fn set_scheduling(
4135        &self,
4136        _req: crate::model::instances::SetSchedulingRequest,
4137        _options: crate::RequestOptions,
4138    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4139    {
4140        gaxi::unimplemented::unimplemented_stub()
4141    }
4142
4143    /// Implements [super::client::Instances::set_security_policy].
4144    fn set_security_policy(
4145        &self,
4146        _req: crate::model::instances::SetSecurityPolicyRequest,
4147        _options: crate::RequestOptions,
4148    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4149    {
4150        gaxi::unimplemented::unimplemented_stub()
4151    }
4152
4153    /// Implements [super::client::Instances::set_service_account].
4154    fn set_service_account(
4155        &self,
4156        _req: crate::model::instances::SetServiceAccountRequest,
4157        _options: crate::RequestOptions,
4158    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4159    {
4160        gaxi::unimplemented::unimplemented_stub()
4161    }
4162
4163    /// Implements [super::client::Instances::set_shielded_instance_integrity_policy].
4164    fn set_shielded_instance_integrity_policy(
4165        &self,
4166        _req: crate::model::instances::SetShieldedInstanceIntegrityPolicyRequest,
4167        _options: crate::RequestOptions,
4168    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4169    {
4170        gaxi::unimplemented::unimplemented_stub()
4171    }
4172
4173    /// Implements [super::client::Instances::set_tags].
4174    fn set_tags(
4175        &self,
4176        _req: crate::model::instances::SetTagsRequest,
4177        _options: crate::RequestOptions,
4178    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4179    {
4180        gaxi::unimplemented::unimplemented_stub()
4181    }
4182
4183    /// Implements [super::client::Instances::simulate_maintenance_event].
4184    fn simulate_maintenance_event(
4185        &self,
4186        _req: crate::model::instances::SimulateMaintenanceEventRequest,
4187        _options: crate::RequestOptions,
4188    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4189    {
4190        gaxi::unimplemented::unimplemented_stub()
4191    }
4192
4193    /// Implements [super::client::Instances::start].
4194    fn start(
4195        &self,
4196        _req: crate::model::instances::StartRequest,
4197        _options: crate::RequestOptions,
4198    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4199    {
4200        gaxi::unimplemented::unimplemented_stub()
4201    }
4202
4203    /// Implements [super::client::Instances::start_with_encryption_key].
4204    fn start_with_encryption_key(
4205        &self,
4206        _req: crate::model::instances::StartWithEncryptionKeyRequest,
4207        _options: crate::RequestOptions,
4208    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4209    {
4210        gaxi::unimplemented::unimplemented_stub()
4211    }
4212
4213    /// Implements [super::client::Instances::stop].
4214    fn stop(
4215        &self,
4216        _req: crate::model::instances::StopRequest,
4217        _options: crate::RequestOptions,
4218    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4219    {
4220        gaxi::unimplemented::unimplemented_stub()
4221    }
4222
4223    /// Implements [super::client::Instances::suspend].
4224    fn suspend(
4225        &self,
4226        _req: crate::model::instances::SuspendRequest,
4227        _options: crate::RequestOptions,
4228    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4229    {
4230        gaxi::unimplemented::unimplemented_stub()
4231    }
4232
4233    /// Implements [super::client::Instances::test_iam_permissions].
4234    fn test_iam_permissions(
4235        &self,
4236        _req: crate::model::instances::TestIamPermissionsRequest,
4237        _options: crate::RequestOptions,
4238    ) -> impl std::future::Future<
4239        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4240    > + Send {
4241        gaxi::unimplemented::unimplemented_stub()
4242    }
4243
4244    /// Implements [super::client::Instances::update].
4245    fn update(
4246        &self,
4247        _req: crate::model::instances::UpdateRequest,
4248        _options: crate::RequestOptions,
4249    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4250    {
4251        gaxi::unimplemented::unimplemented_stub()
4252    }
4253
4254    /// Implements [super::client::Instances::update_access_config].
4255    fn update_access_config(
4256        &self,
4257        _req: crate::model::instances::UpdateAccessConfigRequest,
4258        _options: crate::RequestOptions,
4259    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4260    {
4261        gaxi::unimplemented::unimplemented_stub()
4262    }
4263
4264    /// Implements [super::client::Instances::update_display_device].
4265    fn update_display_device(
4266        &self,
4267        _req: crate::model::instances::UpdateDisplayDeviceRequest,
4268        _options: crate::RequestOptions,
4269    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4270    {
4271        gaxi::unimplemented::unimplemented_stub()
4272    }
4273
4274    /// Implements [super::client::Instances::update_network_interface].
4275    fn update_network_interface(
4276        &self,
4277        _req: crate::model::instances::UpdateNetworkInterfaceRequest,
4278        _options: crate::RequestOptions,
4279    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4280    {
4281        gaxi::unimplemented::unimplemented_stub()
4282    }
4283
4284    /// Implements [super::client::Instances::update_shielded_instance_config].
4285    fn update_shielded_instance_config(
4286        &self,
4287        _req: crate::model::instances::UpdateShieldedInstanceConfigRequest,
4288        _options: crate::RequestOptions,
4289    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4290    {
4291        gaxi::unimplemented::unimplemented_stub()
4292    }
4293
4294    /// Implements [super::client::Instances::get_operation].
4295    fn get_operation(
4296        &self,
4297        _req: crate::model::zone_operations::GetRequest,
4298        _options: crate::RequestOptions,
4299    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4300    {
4301        gaxi::unimplemented::unimplemented_stub()
4302    }
4303
4304    /// Returns the polling error 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_error_policy(
4309        &self,
4310        _options: &crate::RequestOptions,
4311    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4312        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4313    }
4314
4315    /// Returns the polling backoff policy.
4316    ///
4317    /// When mocking, this method is typically irrelevant. Do not try to verify
4318    /// it is called by your mocks.
4319    fn get_polling_backoff_policy(
4320        &self,
4321        _options: &crate::RequestOptions,
4322    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4323        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4324    }
4325}
4326
4327/// Defines the trait used to implement [super::client::InstantSnapshotGroups].
4328///
4329/// Application developers may need to implement this trait to mock
4330/// `client::InstantSnapshotGroups`.  In other use-cases, application developers only
4331/// use `client::InstantSnapshotGroups` and need not be concerned with this trait or
4332/// its implementations.
4333///
4334/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4335/// too. To avoid breaking applications the trait provides a default
4336/// implementation of each method. Most of these implementations just return an
4337/// error.
4338#[cfg(feature = "instant-snapshot-groups")]
4339#[cfg_attr(docsrs, doc(cfg(feature = "instant-snapshot-groups")))]
4340pub trait InstantSnapshotGroups: std::fmt::Debug + Send + Sync {
4341    /// Implements [super::client::InstantSnapshotGroups::delete].
4342    fn delete(
4343        &self,
4344        _req: crate::model::instant_snapshot_groups::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::InstantSnapshotGroups::get].
4352    fn get(
4353        &self,
4354        _req: crate::model::instant_snapshot_groups::GetRequest,
4355        _options: crate::RequestOptions,
4356    ) -> impl std::future::Future<
4357        Output = crate::Result<crate::Response<crate::model::InstantSnapshotGroup>>,
4358    > + Send {
4359        gaxi::unimplemented::unimplemented_stub()
4360    }
4361
4362    /// Implements [super::client::InstantSnapshotGroups::get_iam_policy].
4363    fn get_iam_policy(
4364        &self,
4365        _req: crate::model::instant_snapshot_groups::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::InstantSnapshotGroups::insert].
4373    fn insert(
4374        &self,
4375        _req: crate::model::instant_snapshot_groups::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::InstantSnapshotGroups::list].
4383    fn list(
4384        &self,
4385        _req: crate::model::instant_snapshot_groups::ListRequest,
4386        _options: crate::RequestOptions,
4387    ) -> impl std::future::Future<
4388        Output = crate::Result<crate::Response<crate::model::ListInstantSnapshotGroups>>,
4389    > + Send {
4390        gaxi::unimplemented::unimplemented_stub()
4391    }
4392
4393    /// Implements [super::client::InstantSnapshotGroups::set_iam_policy].
4394    fn set_iam_policy(
4395        &self,
4396        _req: crate::model::instant_snapshot_groups::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::InstantSnapshotGroups::test_iam_permissions].
4404    fn test_iam_permissions(
4405        &self,
4406        _req: crate::model::instant_snapshot_groups::TestIamPermissionsRequest,
4407        _options: crate::RequestOptions,
4408    ) -> impl std::future::Future<
4409        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4410    > + Send {
4411        gaxi::unimplemented::unimplemented_stub()
4412    }
4413
4414    /// Implements [super::client::InstantSnapshotGroups::get_operation].
4415    fn get_operation(
4416        &self,
4417        _req: crate::model::zone_operations::GetRequest,
4418        _options: crate::RequestOptions,
4419    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4420    {
4421        gaxi::unimplemented::unimplemented_stub()
4422    }
4423
4424    /// Returns the polling error policy.
4425    ///
4426    /// When mocking, this method is typically irrelevant. Do not try to verify
4427    /// it is called by your mocks.
4428    fn get_polling_error_policy(
4429        &self,
4430        _options: &crate::RequestOptions,
4431    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4432        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4433    }
4434
4435    /// Returns the polling backoff policy.
4436    ///
4437    /// When mocking, this method is typically irrelevant. Do not try to verify
4438    /// it is called by your mocks.
4439    fn get_polling_backoff_policy(
4440        &self,
4441        _options: &crate::RequestOptions,
4442    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4443        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4444    }
4445}
4446
4447/// Defines the trait used to implement [super::client::InstantSnapshots].
4448///
4449/// Application developers may need to implement this trait to mock
4450/// `client::InstantSnapshots`.  In other use-cases, application developers only
4451/// use `client::InstantSnapshots` and need not be concerned with this trait or
4452/// its implementations.
4453///
4454/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4455/// too. To avoid breaking applications the trait provides a default
4456/// implementation of each method. Most of these implementations just return an
4457/// error.
4458#[cfg(feature = "instant-snapshots")]
4459#[cfg_attr(docsrs, doc(cfg(feature = "instant-snapshots")))]
4460pub trait InstantSnapshots: std::fmt::Debug + Send + Sync {
4461    /// Implements [super::client::InstantSnapshots::aggregated_list].
4462    fn aggregated_list(
4463        &self,
4464        _req: crate::model::instant_snapshots::AggregatedListRequest,
4465        _options: crate::RequestOptions,
4466    ) -> impl std::future::Future<
4467        Output = crate::Result<crate::Response<crate::model::InstantSnapshotAggregatedList>>,
4468    > + Send {
4469        gaxi::unimplemented::unimplemented_stub()
4470    }
4471
4472    /// Implements [super::client::InstantSnapshots::delete].
4473    fn delete(
4474        &self,
4475        _req: crate::model::instant_snapshots::DeleteRequest,
4476        _options: crate::RequestOptions,
4477    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4478    {
4479        gaxi::unimplemented::unimplemented_stub()
4480    }
4481
4482    /// Implements [super::client::InstantSnapshots::get].
4483    fn get(
4484        &self,
4485        _req: crate::model::instant_snapshots::GetRequest,
4486        _options: crate::RequestOptions,
4487    ) -> impl std::future::Future<
4488        Output = crate::Result<crate::Response<crate::model::InstantSnapshot>>,
4489    > + Send {
4490        gaxi::unimplemented::unimplemented_stub()
4491    }
4492
4493    /// Implements [super::client::InstantSnapshots::get_iam_policy].
4494    fn get_iam_policy(
4495        &self,
4496        _req: crate::model::instant_snapshots::GetIamPolicyRequest,
4497        _options: crate::RequestOptions,
4498    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4499    {
4500        gaxi::unimplemented::unimplemented_stub()
4501    }
4502
4503    /// Implements [super::client::InstantSnapshots::insert].
4504    fn insert(
4505        &self,
4506        _req: crate::model::instant_snapshots::InsertRequest,
4507        _options: crate::RequestOptions,
4508    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4509    {
4510        gaxi::unimplemented::unimplemented_stub()
4511    }
4512
4513    /// Implements [super::client::InstantSnapshots::list].
4514    fn list(
4515        &self,
4516        _req: crate::model::instant_snapshots::ListRequest,
4517        _options: crate::RequestOptions,
4518    ) -> impl std::future::Future<
4519        Output = crate::Result<crate::Response<crate::model::InstantSnapshotList>>,
4520    > + Send {
4521        gaxi::unimplemented::unimplemented_stub()
4522    }
4523
4524    /// Implements [super::client::InstantSnapshots::set_iam_policy].
4525    fn set_iam_policy(
4526        &self,
4527        _req: crate::model::instant_snapshots::SetIamPolicyRequest,
4528        _options: crate::RequestOptions,
4529    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4530    {
4531        gaxi::unimplemented::unimplemented_stub()
4532    }
4533
4534    /// Implements [super::client::InstantSnapshots::set_labels].
4535    fn set_labels(
4536        &self,
4537        _req: crate::model::instant_snapshots::SetLabelsRequest,
4538        _options: crate::RequestOptions,
4539    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4540    {
4541        gaxi::unimplemented::unimplemented_stub()
4542    }
4543
4544    /// Implements [super::client::InstantSnapshots::test_iam_permissions].
4545    fn test_iam_permissions(
4546        &self,
4547        _req: crate::model::instant_snapshots::TestIamPermissionsRequest,
4548        _options: crate::RequestOptions,
4549    ) -> impl std::future::Future<
4550        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4551    > + Send {
4552        gaxi::unimplemented::unimplemented_stub()
4553    }
4554
4555    /// Implements [super::client::InstantSnapshots::get_operation].
4556    fn get_operation(
4557        &self,
4558        _req: crate::model::zone_operations::GetRequest,
4559        _options: crate::RequestOptions,
4560    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4561    {
4562        gaxi::unimplemented::unimplemented_stub()
4563    }
4564
4565    /// Returns the polling error policy.
4566    ///
4567    /// When mocking, this method is typically irrelevant. Do not try to verify
4568    /// it is called by your mocks.
4569    fn get_polling_error_policy(
4570        &self,
4571        _options: &crate::RequestOptions,
4572    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4573        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4574    }
4575
4576    /// Returns the polling backoff policy.
4577    ///
4578    /// When mocking, this method is typically irrelevant. Do not try to verify
4579    /// it is called by your mocks.
4580    fn get_polling_backoff_policy(
4581        &self,
4582        _options: &crate::RequestOptions,
4583    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4584        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4585    }
4586}
4587
4588/// Defines the trait used to implement [super::client::InterconnectAttachmentGroups].
4589///
4590/// Application developers may need to implement this trait to mock
4591/// `client::InterconnectAttachmentGroups`.  In other use-cases, application developers only
4592/// use `client::InterconnectAttachmentGroups` and need not be concerned with this trait or
4593/// its implementations.
4594///
4595/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4596/// too. To avoid breaking applications the trait provides a default
4597/// implementation of each method. Most of these implementations just return an
4598/// error.
4599#[cfg(feature = "interconnect-attachment-groups")]
4600#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-attachment-groups")))]
4601pub trait InterconnectAttachmentGroups: std::fmt::Debug + Send + Sync {
4602    /// Implements [super::client::InterconnectAttachmentGroups::delete].
4603    fn delete(
4604        &self,
4605        _req: crate::model::interconnect_attachment_groups::DeleteRequest,
4606        _options: crate::RequestOptions,
4607    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4608    {
4609        gaxi::unimplemented::unimplemented_stub()
4610    }
4611
4612    /// Implements [super::client::InterconnectAttachmentGroups::get].
4613    fn get(
4614        &self,
4615        _req: crate::model::interconnect_attachment_groups::GetRequest,
4616        _options: crate::RequestOptions,
4617    ) -> impl std::future::Future<
4618        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentGroup>>,
4619    > + Send {
4620        gaxi::unimplemented::unimplemented_stub()
4621    }
4622
4623    /// Implements [super::client::InterconnectAttachmentGroups::get_iam_policy].
4624    fn get_iam_policy(
4625        &self,
4626        _req: crate::model::interconnect_attachment_groups::GetIamPolicyRequest,
4627        _options: crate::RequestOptions,
4628    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4629    {
4630        gaxi::unimplemented::unimplemented_stub()
4631    }
4632
4633    /// Implements [super::client::InterconnectAttachmentGroups::get_operational_status].
4634    fn get_operational_status(
4635        &self,
4636        _req: crate::model::interconnect_attachment_groups::GetOperationalStatusRequest,
4637        _options: crate::RequestOptions,
4638    ) -> impl std::future::Future<
4639        Output = crate::Result<
4640            crate::Response<crate::model::InterconnectAttachmentGroupsGetOperationalStatusResponse>,
4641        >,
4642    > + Send {
4643        gaxi::unimplemented::unimplemented_stub()
4644    }
4645
4646    /// Implements [super::client::InterconnectAttachmentGroups::insert].
4647    fn insert(
4648        &self,
4649        _req: crate::model::interconnect_attachment_groups::InsertRequest,
4650        _options: crate::RequestOptions,
4651    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4652    {
4653        gaxi::unimplemented::unimplemented_stub()
4654    }
4655
4656    /// Implements [super::client::InterconnectAttachmentGroups::list].
4657    fn list(
4658        &self,
4659        _req: crate::model::interconnect_attachment_groups::ListRequest,
4660        _options: crate::RequestOptions,
4661    ) -> impl std::future::Future<
4662        Output = crate::Result<
4663            crate::Response<crate::model::InterconnectAttachmentGroupsListResponse>,
4664        >,
4665    > + Send {
4666        gaxi::unimplemented::unimplemented_stub()
4667    }
4668
4669    /// Implements [super::client::InterconnectAttachmentGroups::patch].
4670    fn patch(
4671        &self,
4672        _req: crate::model::interconnect_attachment_groups::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::InterconnectAttachmentGroups::set_iam_policy].
4680    fn set_iam_policy(
4681        &self,
4682        _req: crate::model::interconnect_attachment_groups::SetIamPolicyRequest,
4683        _options: crate::RequestOptions,
4684    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4685    {
4686        gaxi::unimplemented::unimplemented_stub()
4687    }
4688
4689    /// Implements [super::client::InterconnectAttachmentGroups::test_iam_permissions].
4690    fn test_iam_permissions(
4691        &self,
4692        _req: crate::model::interconnect_attachment_groups::TestIamPermissionsRequest,
4693        _options: crate::RequestOptions,
4694    ) -> impl std::future::Future<
4695        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4696    > + Send {
4697        gaxi::unimplemented::unimplemented_stub()
4698    }
4699
4700    /// Implements [super::client::InterconnectAttachmentGroups::get_operation].
4701    fn get_operation(
4702        &self,
4703        _req: crate::model::global_operations::GetRequest,
4704        _options: crate::RequestOptions,
4705    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4706    {
4707        gaxi::unimplemented::unimplemented_stub()
4708    }
4709
4710    /// Returns the polling error 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_error_policy(
4715        &self,
4716        _options: &crate::RequestOptions,
4717    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4718        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4719    }
4720
4721    /// Returns the polling backoff policy.
4722    ///
4723    /// When mocking, this method is typically irrelevant. Do not try to verify
4724    /// it is called by your mocks.
4725    fn get_polling_backoff_policy(
4726        &self,
4727        _options: &crate::RequestOptions,
4728    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4729        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4730    }
4731}
4732
4733/// Defines the trait used to implement [super::client::InterconnectAttachments].
4734///
4735/// Application developers may need to implement this trait to mock
4736/// `client::InterconnectAttachments`.  In other use-cases, application developers only
4737/// use `client::InterconnectAttachments` and need not be concerned with this trait or
4738/// its implementations.
4739///
4740/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4741/// too. To avoid breaking applications the trait provides a default
4742/// implementation of each method. Most of these implementations just return an
4743/// error.
4744#[cfg(feature = "interconnect-attachments")]
4745#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-attachments")))]
4746pub trait InterconnectAttachments: std::fmt::Debug + Send + Sync {
4747    /// Implements [super::client::InterconnectAttachments::aggregated_list].
4748    fn aggregated_list(
4749        &self,
4750        _req: crate::model::interconnect_attachments::AggregatedListRequest,
4751        _options: crate::RequestOptions,
4752    ) -> impl std::future::Future<
4753        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentAggregatedList>>,
4754    > + Send {
4755        gaxi::unimplemented::unimplemented_stub()
4756    }
4757
4758    /// Implements [super::client::InterconnectAttachments::delete].
4759    fn delete(
4760        &self,
4761        _req: crate::model::interconnect_attachments::DeleteRequest,
4762        _options: crate::RequestOptions,
4763    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4764    {
4765        gaxi::unimplemented::unimplemented_stub()
4766    }
4767
4768    /// Implements [super::client::InterconnectAttachments::get].
4769    fn get(
4770        &self,
4771        _req: crate::model::interconnect_attachments::GetRequest,
4772        _options: crate::RequestOptions,
4773    ) -> impl std::future::Future<
4774        Output = crate::Result<crate::Response<crate::model::InterconnectAttachment>>,
4775    > + Send {
4776        gaxi::unimplemented::unimplemented_stub()
4777    }
4778
4779    /// Implements [super::client::InterconnectAttachments::insert].
4780    fn insert(
4781        &self,
4782        _req: crate::model::interconnect_attachments::InsertRequest,
4783        _options: crate::RequestOptions,
4784    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4785    {
4786        gaxi::unimplemented::unimplemented_stub()
4787    }
4788
4789    /// Implements [super::client::InterconnectAttachments::list].
4790    fn list(
4791        &self,
4792        _req: crate::model::interconnect_attachments::ListRequest,
4793        _options: crate::RequestOptions,
4794    ) -> impl std::future::Future<
4795        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentList>>,
4796    > + Send {
4797        gaxi::unimplemented::unimplemented_stub()
4798    }
4799
4800    /// Implements [super::client::InterconnectAttachments::patch].
4801    fn patch(
4802        &self,
4803        _req: crate::model::interconnect_attachments::PatchRequest,
4804        _options: crate::RequestOptions,
4805    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4806    {
4807        gaxi::unimplemented::unimplemented_stub()
4808    }
4809
4810    /// Implements [super::client::InterconnectAttachments::set_labels].
4811    fn set_labels(
4812        &self,
4813        _req: crate::model::interconnect_attachments::SetLabelsRequest,
4814        _options: crate::RequestOptions,
4815    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4816    {
4817        gaxi::unimplemented::unimplemented_stub()
4818    }
4819
4820    /// Implements [super::client::InterconnectAttachments::get_operation].
4821    fn get_operation(
4822        &self,
4823        _req: crate::model::region_operations::GetRequest,
4824        _options: crate::RequestOptions,
4825    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4826    {
4827        gaxi::unimplemented::unimplemented_stub()
4828    }
4829
4830    /// Returns the polling error policy.
4831    ///
4832    /// When mocking, this method is typically irrelevant. Do not try to verify
4833    /// it is called by your mocks.
4834    fn get_polling_error_policy(
4835        &self,
4836        _options: &crate::RequestOptions,
4837    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4838        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4839    }
4840
4841    /// Returns the polling backoff policy.
4842    ///
4843    /// When mocking, this method is typically irrelevant. Do not try to verify
4844    /// it is called by your mocks.
4845    fn get_polling_backoff_policy(
4846        &self,
4847        _options: &crate::RequestOptions,
4848    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4849        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4850    }
4851}
4852
4853/// Defines the trait used to implement [super::client::InterconnectGroups].
4854///
4855/// Application developers may need to implement this trait to mock
4856/// `client::InterconnectGroups`.  In other use-cases, application developers only
4857/// use `client::InterconnectGroups` and need not be concerned with this trait or
4858/// its implementations.
4859///
4860/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4861/// too. To avoid breaking applications the trait provides a default
4862/// implementation of each method. Most of these implementations just return an
4863/// error.
4864#[cfg(feature = "interconnect-groups")]
4865#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-groups")))]
4866pub trait InterconnectGroups: std::fmt::Debug + Send + Sync {
4867    /// Implements [super::client::InterconnectGroups::create_members].
4868    fn create_members(
4869        &self,
4870        _req: crate::model::interconnect_groups::CreateMembersRequest,
4871        _options: crate::RequestOptions,
4872    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4873    {
4874        gaxi::unimplemented::unimplemented_stub()
4875    }
4876
4877    /// Implements [super::client::InterconnectGroups::delete].
4878    fn delete(
4879        &self,
4880        _req: crate::model::interconnect_groups::DeleteRequest,
4881        _options: crate::RequestOptions,
4882    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4883    {
4884        gaxi::unimplemented::unimplemented_stub()
4885    }
4886
4887    /// Implements [super::client::InterconnectGroups::get].
4888    fn get(
4889        &self,
4890        _req: crate::model::interconnect_groups::GetRequest,
4891        _options: crate::RequestOptions,
4892    ) -> impl std::future::Future<
4893        Output = crate::Result<crate::Response<crate::model::InterconnectGroup>>,
4894    > + Send {
4895        gaxi::unimplemented::unimplemented_stub()
4896    }
4897
4898    /// Implements [super::client::InterconnectGroups::get_iam_policy].
4899    fn get_iam_policy(
4900        &self,
4901        _req: crate::model::interconnect_groups::GetIamPolicyRequest,
4902        _options: crate::RequestOptions,
4903    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4904    {
4905        gaxi::unimplemented::unimplemented_stub()
4906    }
4907
4908    /// Implements [super::client::InterconnectGroups::get_operational_status].
4909    fn get_operational_status(
4910        &self,
4911        _req: crate::model::interconnect_groups::GetOperationalStatusRequest,
4912        _options: crate::RequestOptions,
4913    ) -> impl std::future::Future<
4914        Output = crate::Result<
4915            crate::Response<crate::model::InterconnectGroupsGetOperationalStatusResponse>,
4916        >,
4917    > + Send {
4918        gaxi::unimplemented::unimplemented_stub()
4919    }
4920
4921    /// Implements [super::client::InterconnectGroups::insert].
4922    fn insert(
4923        &self,
4924        _req: crate::model::interconnect_groups::InsertRequest,
4925        _options: crate::RequestOptions,
4926    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4927    {
4928        gaxi::unimplemented::unimplemented_stub()
4929    }
4930
4931    /// Implements [super::client::InterconnectGroups::list].
4932    fn list(
4933        &self,
4934        _req: crate::model::interconnect_groups::ListRequest,
4935        _options: crate::RequestOptions,
4936    ) -> impl std::future::Future<
4937        Output = crate::Result<crate::Response<crate::model::InterconnectGroupsListResponse>>,
4938    > + Send {
4939        gaxi::unimplemented::unimplemented_stub()
4940    }
4941
4942    /// Implements [super::client::InterconnectGroups::patch].
4943    fn patch(
4944        &self,
4945        _req: crate::model::interconnect_groups::PatchRequest,
4946        _options: crate::RequestOptions,
4947    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4948    {
4949        gaxi::unimplemented::unimplemented_stub()
4950    }
4951
4952    /// Implements [super::client::InterconnectGroups::set_iam_policy].
4953    fn set_iam_policy(
4954        &self,
4955        _req: crate::model::interconnect_groups::SetIamPolicyRequest,
4956        _options: crate::RequestOptions,
4957    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4958    {
4959        gaxi::unimplemented::unimplemented_stub()
4960    }
4961
4962    /// Implements [super::client::InterconnectGroups::test_iam_permissions].
4963    fn test_iam_permissions(
4964        &self,
4965        _req: crate::model::interconnect_groups::TestIamPermissionsRequest,
4966        _options: crate::RequestOptions,
4967    ) -> impl std::future::Future<
4968        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4969    > + Send {
4970        gaxi::unimplemented::unimplemented_stub()
4971    }
4972
4973    /// Implements [super::client::InterconnectGroups::get_operation].
4974    fn get_operation(
4975        &self,
4976        _req: crate::model::global_operations::GetRequest,
4977        _options: crate::RequestOptions,
4978    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4979    {
4980        gaxi::unimplemented::unimplemented_stub()
4981    }
4982
4983    /// Returns the polling error policy.
4984    ///
4985    /// When mocking, this method is typically irrelevant. Do not try to verify
4986    /// it is called by your mocks.
4987    fn get_polling_error_policy(
4988        &self,
4989        _options: &crate::RequestOptions,
4990    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4991        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4992    }
4993
4994    /// Returns the polling backoff policy.
4995    ///
4996    /// When mocking, this method is typically irrelevant. Do not try to verify
4997    /// it is called by your mocks.
4998    fn get_polling_backoff_policy(
4999        &self,
5000        _options: &crate::RequestOptions,
5001    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5002        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5003    }
5004}
5005
5006/// Defines the trait used to implement [super::client::InterconnectLocations].
5007///
5008/// Application developers may need to implement this trait to mock
5009/// `client::InterconnectLocations`.  In other use-cases, application developers only
5010/// use `client::InterconnectLocations` and need not be concerned with this trait or
5011/// its implementations.
5012///
5013/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5014/// too. To avoid breaking applications the trait provides a default
5015/// implementation of each method. Most of these implementations just return an
5016/// error.
5017#[cfg(feature = "interconnect-locations")]
5018#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-locations")))]
5019pub trait InterconnectLocations: std::fmt::Debug + Send + Sync {
5020    /// Implements [super::client::InterconnectLocations::get].
5021    fn get(
5022        &self,
5023        _req: crate::model::interconnect_locations::GetRequest,
5024        _options: crate::RequestOptions,
5025    ) -> impl std::future::Future<
5026        Output = crate::Result<crate::Response<crate::model::InterconnectLocation>>,
5027    > + Send {
5028        gaxi::unimplemented::unimplemented_stub()
5029    }
5030
5031    /// Implements [super::client::InterconnectLocations::list].
5032    fn list(
5033        &self,
5034        _req: crate::model::interconnect_locations::ListRequest,
5035        _options: crate::RequestOptions,
5036    ) -> impl std::future::Future<
5037        Output = crate::Result<crate::Response<crate::model::InterconnectLocationList>>,
5038    > + Send {
5039        gaxi::unimplemented::unimplemented_stub()
5040    }
5041}
5042
5043/// Defines the trait used to implement [super::client::InterconnectRemoteLocations].
5044///
5045/// Application developers may need to implement this trait to mock
5046/// `client::InterconnectRemoteLocations`.  In other use-cases, application developers only
5047/// use `client::InterconnectRemoteLocations` and need not be concerned with this trait or
5048/// its implementations.
5049///
5050/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5051/// too. To avoid breaking applications the trait provides a default
5052/// implementation of each method. Most of these implementations just return an
5053/// error.
5054#[cfg(feature = "interconnect-remote-locations")]
5055#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-remote-locations")))]
5056pub trait InterconnectRemoteLocations: std::fmt::Debug + Send + Sync {
5057    /// Implements [super::client::InterconnectRemoteLocations::get].
5058    fn get(
5059        &self,
5060        _req: crate::model::interconnect_remote_locations::GetRequest,
5061        _options: crate::RequestOptions,
5062    ) -> impl std::future::Future<
5063        Output = crate::Result<crate::Response<crate::model::InterconnectRemoteLocation>>,
5064    > + Send {
5065        gaxi::unimplemented::unimplemented_stub()
5066    }
5067
5068    /// Implements [super::client::InterconnectRemoteLocations::list].
5069    fn list(
5070        &self,
5071        _req: crate::model::interconnect_remote_locations::ListRequest,
5072        _options: crate::RequestOptions,
5073    ) -> impl std::future::Future<
5074        Output = crate::Result<crate::Response<crate::model::InterconnectRemoteLocationList>>,
5075    > + Send {
5076        gaxi::unimplemented::unimplemented_stub()
5077    }
5078}
5079
5080/// Defines the trait used to implement [super::client::Interconnects].
5081///
5082/// Application developers may need to implement this trait to mock
5083/// `client::Interconnects`.  In other use-cases, application developers only
5084/// use `client::Interconnects` 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 = "interconnects")]
5092#[cfg_attr(docsrs, doc(cfg(feature = "interconnects")))]
5093pub trait Interconnects: std::fmt::Debug + Send + Sync {
5094    /// Implements [super::client::Interconnects::delete].
5095    fn delete(
5096        &self,
5097        _req: crate::model::interconnects::DeleteRequest,
5098        _options: crate::RequestOptions,
5099    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5100    {
5101        gaxi::unimplemented::unimplemented_stub()
5102    }
5103
5104    /// Implements [super::client::Interconnects::get].
5105    fn get(
5106        &self,
5107        _req: crate::model::interconnects::GetRequest,
5108        _options: crate::RequestOptions,
5109    ) -> impl std::future::Future<
5110        Output = crate::Result<crate::Response<crate::model::Interconnect>>,
5111    > + Send {
5112        gaxi::unimplemented::unimplemented_stub()
5113    }
5114
5115    /// Implements [super::client::Interconnects::get_diagnostics].
5116    fn get_diagnostics(
5117        &self,
5118        _req: crate::model::interconnects::GetDiagnosticsRequest,
5119        _options: crate::RequestOptions,
5120    ) -> impl std::future::Future<
5121        Output = crate::Result<crate::Response<crate::model::InterconnectsGetDiagnosticsResponse>>,
5122    > + Send {
5123        gaxi::unimplemented::unimplemented_stub()
5124    }
5125
5126    /// Implements [super::client::Interconnects::get_macsec_config].
5127    fn get_macsec_config(
5128        &self,
5129        _req: crate::model::interconnects::GetMacsecConfigRequest,
5130        _options: crate::RequestOptions,
5131    ) -> impl std::future::Future<
5132        Output = crate::Result<crate::Response<crate::model::InterconnectsGetMacsecConfigResponse>>,
5133    > + Send {
5134        gaxi::unimplemented::unimplemented_stub()
5135    }
5136
5137    /// Implements [super::client::Interconnects::insert].
5138    fn insert(
5139        &self,
5140        _req: crate::model::interconnects::InsertRequest,
5141        _options: crate::RequestOptions,
5142    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5143    {
5144        gaxi::unimplemented::unimplemented_stub()
5145    }
5146
5147    /// Implements [super::client::Interconnects::list].
5148    fn list(
5149        &self,
5150        _req: crate::model::interconnects::ListRequest,
5151        _options: crate::RequestOptions,
5152    ) -> impl std::future::Future<
5153        Output = crate::Result<crate::Response<crate::model::InterconnectList>>,
5154    > + Send {
5155        gaxi::unimplemented::unimplemented_stub()
5156    }
5157
5158    /// Implements [super::client::Interconnects::patch].
5159    fn patch(
5160        &self,
5161        _req: crate::model::interconnects::PatchRequest,
5162        _options: crate::RequestOptions,
5163    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5164    {
5165        gaxi::unimplemented::unimplemented_stub()
5166    }
5167
5168    /// Implements [super::client::Interconnects::set_labels].
5169    fn set_labels(
5170        &self,
5171        _req: crate::model::interconnects::SetLabelsRequest,
5172        _options: crate::RequestOptions,
5173    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5174    {
5175        gaxi::unimplemented::unimplemented_stub()
5176    }
5177
5178    /// Implements [super::client::Interconnects::get_operation].
5179    fn get_operation(
5180        &self,
5181        _req: crate::model::global_operations::GetRequest,
5182        _options: crate::RequestOptions,
5183    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5184    {
5185        gaxi::unimplemented::unimplemented_stub()
5186    }
5187
5188    /// Returns the polling error policy.
5189    ///
5190    /// When mocking, this method is typically irrelevant. Do not try to verify
5191    /// it is called by your mocks.
5192    fn get_polling_error_policy(
5193        &self,
5194        _options: &crate::RequestOptions,
5195    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5196        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5197    }
5198
5199    /// Returns the polling backoff policy.
5200    ///
5201    /// When mocking, this method is typically irrelevant. Do not try to verify
5202    /// it is called by your mocks.
5203    fn get_polling_backoff_policy(
5204        &self,
5205        _options: &crate::RequestOptions,
5206    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5207        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5208    }
5209}
5210
5211/// Defines the trait used to implement [super::client::LicenseCodes].
5212///
5213/// Application developers may need to implement this trait to mock
5214/// `client::LicenseCodes`.  In other use-cases, application developers only
5215/// use `client::LicenseCodes` and need not be concerned with this trait or
5216/// its implementations.
5217///
5218/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5219/// too. To avoid breaking applications the trait provides a default
5220/// implementation of each method. Most of these implementations just return an
5221/// error.
5222#[cfg(feature = "license-codes")]
5223#[cfg_attr(docsrs, doc(cfg(feature = "license-codes")))]
5224pub trait LicenseCodes: std::fmt::Debug + Send + Sync {
5225    /// Implements [super::client::LicenseCodes::get].
5226    fn get(
5227        &self,
5228        _req: crate::model::license_codes::GetRequest,
5229        _options: crate::RequestOptions,
5230    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::LicenseCode>>>
5231    + Send {
5232        gaxi::unimplemented::unimplemented_stub()
5233    }
5234
5235    /// Implements [super::client::LicenseCodes::test_iam_permissions].
5236    fn test_iam_permissions(
5237        &self,
5238        _req: crate::model::license_codes::TestIamPermissionsRequest,
5239        _options: crate::RequestOptions,
5240    ) -> impl std::future::Future<
5241        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5242    > + Send {
5243        gaxi::unimplemented::unimplemented_stub()
5244    }
5245}
5246
5247/// Defines the trait used to implement [super::client::Licenses].
5248///
5249/// Application developers may need to implement this trait to mock
5250/// `client::Licenses`.  In other use-cases, application developers only
5251/// use `client::Licenses` and need not be concerned with this trait or
5252/// its implementations.
5253///
5254/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5255/// too. To avoid breaking applications the trait provides a default
5256/// implementation of each method. Most of these implementations just return an
5257/// error.
5258#[cfg(feature = "licenses")]
5259#[cfg_attr(docsrs, doc(cfg(feature = "licenses")))]
5260pub trait Licenses: std::fmt::Debug + Send + Sync {
5261    /// Implements [super::client::Licenses::delete].
5262    fn delete(
5263        &self,
5264        _req: crate::model::licenses::DeleteRequest,
5265        _options: crate::RequestOptions,
5266    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5267    {
5268        gaxi::unimplemented::unimplemented_stub()
5269    }
5270
5271    /// Implements [super::client::Licenses::get].
5272    fn get(
5273        &self,
5274        _req: crate::model::licenses::GetRequest,
5275        _options: crate::RequestOptions,
5276    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::License>>> + Send
5277    {
5278        gaxi::unimplemented::unimplemented_stub()
5279    }
5280
5281    /// Implements [super::client::Licenses::get_iam_policy].
5282    fn get_iam_policy(
5283        &self,
5284        _req: crate::model::licenses::GetIamPolicyRequest,
5285        _options: crate::RequestOptions,
5286    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5287    {
5288        gaxi::unimplemented::unimplemented_stub()
5289    }
5290
5291    /// Implements [super::client::Licenses::insert].
5292    fn insert(
5293        &self,
5294        _req: crate::model::licenses::InsertRequest,
5295        _options: crate::RequestOptions,
5296    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5297    {
5298        gaxi::unimplemented::unimplemented_stub()
5299    }
5300
5301    /// Implements [super::client::Licenses::list].
5302    fn list(
5303        &self,
5304        _req: crate::model::licenses::ListRequest,
5305        _options: crate::RequestOptions,
5306    ) -> impl std::future::Future<
5307        Output = crate::Result<crate::Response<crate::model::LicensesListResponse>>,
5308    > + Send {
5309        gaxi::unimplemented::unimplemented_stub()
5310    }
5311
5312    /// Implements [super::client::Licenses::set_iam_policy].
5313    fn set_iam_policy(
5314        &self,
5315        _req: crate::model::licenses::SetIamPolicyRequest,
5316        _options: crate::RequestOptions,
5317    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5318    {
5319        gaxi::unimplemented::unimplemented_stub()
5320    }
5321
5322    /// Implements [super::client::Licenses::test_iam_permissions].
5323    fn test_iam_permissions(
5324        &self,
5325        _req: crate::model::licenses::TestIamPermissionsRequest,
5326        _options: crate::RequestOptions,
5327    ) -> impl std::future::Future<
5328        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5329    > + Send {
5330        gaxi::unimplemented::unimplemented_stub()
5331    }
5332
5333    /// Implements [super::client::Licenses::update].
5334    fn update(
5335        &self,
5336        _req: crate::model::licenses::UpdateRequest,
5337        _options: crate::RequestOptions,
5338    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5339    {
5340        gaxi::unimplemented::unimplemented_stub()
5341    }
5342
5343    /// Implements [super::client::Licenses::get_operation].
5344    fn get_operation(
5345        &self,
5346        _req: crate::model::global_operations::GetRequest,
5347        _options: crate::RequestOptions,
5348    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5349    {
5350        gaxi::unimplemented::unimplemented_stub()
5351    }
5352
5353    /// Returns the polling error policy.
5354    ///
5355    /// When mocking, this method is typically irrelevant. Do not try to verify
5356    /// it is called by your mocks.
5357    fn get_polling_error_policy(
5358        &self,
5359        _options: &crate::RequestOptions,
5360    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5361        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5362    }
5363
5364    /// Returns the polling backoff policy.
5365    ///
5366    /// When mocking, this method is typically irrelevant. Do not try to verify
5367    /// it is called by your mocks.
5368    fn get_polling_backoff_policy(
5369        &self,
5370        _options: &crate::RequestOptions,
5371    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5372        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5373    }
5374}
5375
5376/// Defines the trait used to implement [super::client::MachineImages].
5377///
5378/// Application developers may need to implement this trait to mock
5379/// `client::MachineImages`.  In other use-cases, application developers only
5380/// use `client::MachineImages` and need not be concerned with this trait or
5381/// its implementations.
5382///
5383/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5384/// too. To avoid breaking applications the trait provides a default
5385/// implementation of each method. Most of these implementations just return an
5386/// error.
5387#[cfg(feature = "machine-images")]
5388#[cfg_attr(docsrs, doc(cfg(feature = "machine-images")))]
5389pub trait MachineImages: std::fmt::Debug + Send + Sync {
5390    /// Implements [super::client::MachineImages::delete].
5391    fn delete(
5392        &self,
5393        _req: crate::model::machine_images::DeleteRequest,
5394        _options: crate::RequestOptions,
5395    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5396    {
5397        gaxi::unimplemented::unimplemented_stub()
5398    }
5399
5400    /// Implements [super::client::MachineImages::get].
5401    fn get(
5402        &self,
5403        _req: crate::model::machine_images::GetRequest,
5404        _options: crate::RequestOptions,
5405    ) -> impl std::future::Future<
5406        Output = crate::Result<crate::Response<crate::model::MachineImage>>,
5407    > + Send {
5408        gaxi::unimplemented::unimplemented_stub()
5409    }
5410
5411    /// Implements [super::client::MachineImages::get_iam_policy].
5412    fn get_iam_policy(
5413        &self,
5414        _req: crate::model::machine_images::GetIamPolicyRequest,
5415        _options: crate::RequestOptions,
5416    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5417    {
5418        gaxi::unimplemented::unimplemented_stub()
5419    }
5420
5421    /// Implements [super::client::MachineImages::insert].
5422    fn insert(
5423        &self,
5424        _req: crate::model::machine_images::InsertRequest,
5425        _options: crate::RequestOptions,
5426    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5427    {
5428        gaxi::unimplemented::unimplemented_stub()
5429    }
5430
5431    /// Implements [super::client::MachineImages::list].
5432    fn list(
5433        &self,
5434        _req: crate::model::machine_images::ListRequest,
5435        _options: crate::RequestOptions,
5436    ) -> impl std::future::Future<
5437        Output = crate::Result<crate::Response<crate::model::MachineImageList>>,
5438    > + Send {
5439        gaxi::unimplemented::unimplemented_stub()
5440    }
5441
5442    /// Implements [super::client::MachineImages::set_iam_policy].
5443    fn set_iam_policy(
5444        &self,
5445        _req: crate::model::machine_images::SetIamPolicyRequest,
5446        _options: crate::RequestOptions,
5447    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5448    {
5449        gaxi::unimplemented::unimplemented_stub()
5450    }
5451
5452    /// Implements [super::client::MachineImages::set_labels].
5453    fn set_labels(
5454        &self,
5455        _req: crate::model::machine_images::SetLabelsRequest,
5456        _options: crate::RequestOptions,
5457    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5458    {
5459        gaxi::unimplemented::unimplemented_stub()
5460    }
5461
5462    /// Implements [super::client::MachineImages::test_iam_permissions].
5463    fn test_iam_permissions(
5464        &self,
5465        _req: crate::model::machine_images::TestIamPermissionsRequest,
5466        _options: crate::RequestOptions,
5467    ) -> impl std::future::Future<
5468        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5469    > + Send {
5470        gaxi::unimplemented::unimplemented_stub()
5471    }
5472
5473    /// Implements [super::client::MachineImages::get_operation].
5474    fn get_operation(
5475        &self,
5476        _req: crate::model::global_operations::GetRequest,
5477        _options: crate::RequestOptions,
5478    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5479    {
5480        gaxi::unimplemented::unimplemented_stub()
5481    }
5482
5483    /// Returns the polling error policy.
5484    ///
5485    /// When mocking, this method is typically irrelevant. Do not try to verify
5486    /// it is called by your mocks.
5487    fn get_polling_error_policy(
5488        &self,
5489        _options: &crate::RequestOptions,
5490    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5491        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5492    }
5493
5494    /// Returns the polling backoff policy.
5495    ///
5496    /// When mocking, this method is typically irrelevant. Do not try to verify
5497    /// it is called by your mocks.
5498    fn get_polling_backoff_policy(
5499        &self,
5500        _options: &crate::RequestOptions,
5501    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5502        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5503    }
5504}
5505
5506/// Defines the trait used to implement [super::client::MachineTypes].
5507///
5508/// Application developers may need to implement this trait to mock
5509/// `client::MachineTypes`.  In other use-cases, application developers only
5510/// use `client::MachineTypes` and need not be concerned with this trait or
5511/// its implementations.
5512///
5513/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5514/// too. To avoid breaking applications the trait provides a default
5515/// implementation of each method. Most of these implementations just return an
5516/// error.
5517#[cfg(feature = "machine-types")]
5518#[cfg_attr(docsrs, doc(cfg(feature = "machine-types")))]
5519pub trait MachineTypes: std::fmt::Debug + Send + Sync {
5520    /// Implements [super::client::MachineTypes::aggregated_list].
5521    fn aggregated_list(
5522        &self,
5523        _req: crate::model::machine_types::AggregatedListRequest,
5524        _options: crate::RequestOptions,
5525    ) -> impl std::future::Future<
5526        Output = crate::Result<crate::Response<crate::model::MachineTypeAggregatedList>>,
5527    > + Send {
5528        gaxi::unimplemented::unimplemented_stub()
5529    }
5530
5531    /// Implements [super::client::MachineTypes::get].
5532    fn get(
5533        &self,
5534        _req: crate::model::machine_types::GetRequest,
5535        _options: crate::RequestOptions,
5536    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::MachineType>>>
5537    + Send {
5538        gaxi::unimplemented::unimplemented_stub()
5539    }
5540
5541    /// Implements [super::client::MachineTypes::list].
5542    fn list(
5543        &self,
5544        _req: crate::model::machine_types::ListRequest,
5545        _options: crate::RequestOptions,
5546    ) -> impl std::future::Future<
5547        Output = crate::Result<crate::Response<crate::model::MachineTypeList>>,
5548    > + Send {
5549        gaxi::unimplemented::unimplemented_stub()
5550    }
5551}
5552
5553/// Defines the trait used to implement [super::client::NetworkAttachments].
5554///
5555/// Application developers may need to implement this trait to mock
5556/// `client::NetworkAttachments`.  In other use-cases, application developers only
5557/// use `client::NetworkAttachments` and need not be concerned with this trait or
5558/// its implementations.
5559///
5560/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5561/// too. To avoid breaking applications the trait provides a default
5562/// implementation of each method. Most of these implementations just return an
5563/// error.
5564#[cfg(feature = "network-attachments")]
5565#[cfg_attr(docsrs, doc(cfg(feature = "network-attachments")))]
5566pub trait NetworkAttachments: std::fmt::Debug + Send + Sync {
5567    /// Implements [super::client::NetworkAttachments::aggregated_list].
5568    fn aggregated_list(
5569        &self,
5570        _req: crate::model::network_attachments::AggregatedListRequest,
5571        _options: crate::RequestOptions,
5572    ) -> impl std::future::Future<
5573        Output = crate::Result<crate::Response<crate::model::NetworkAttachmentAggregatedList>>,
5574    > + Send {
5575        gaxi::unimplemented::unimplemented_stub()
5576    }
5577
5578    /// Implements [super::client::NetworkAttachments::delete].
5579    fn delete(
5580        &self,
5581        _req: crate::model::network_attachments::DeleteRequest,
5582        _options: crate::RequestOptions,
5583    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5584    {
5585        gaxi::unimplemented::unimplemented_stub()
5586    }
5587
5588    /// Implements [super::client::NetworkAttachments::get].
5589    fn get(
5590        &self,
5591        _req: crate::model::network_attachments::GetRequest,
5592        _options: crate::RequestOptions,
5593    ) -> impl std::future::Future<
5594        Output = crate::Result<crate::Response<crate::model::NetworkAttachment>>,
5595    > + Send {
5596        gaxi::unimplemented::unimplemented_stub()
5597    }
5598
5599    /// Implements [super::client::NetworkAttachments::get_iam_policy].
5600    fn get_iam_policy(
5601        &self,
5602        _req: crate::model::network_attachments::GetIamPolicyRequest,
5603        _options: crate::RequestOptions,
5604    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5605    {
5606        gaxi::unimplemented::unimplemented_stub()
5607    }
5608
5609    /// Implements [super::client::NetworkAttachments::insert].
5610    fn insert(
5611        &self,
5612        _req: crate::model::network_attachments::InsertRequest,
5613        _options: crate::RequestOptions,
5614    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5615    {
5616        gaxi::unimplemented::unimplemented_stub()
5617    }
5618
5619    /// Implements [super::client::NetworkAttachments::list].
5620    fn list(
5621        &self,
5622        _req: crate::model::network_attachments::ListRequest,
5623        _options: crate::RequestOptions,
5624    ) -> impl std::future::Future<
5625        Output = crate::Result<crate::Response<crate::model::NetworkAttachmentList>>,
5626    > + Send {
5627        gaxi::unimplemented::unimplemented_stub()
5628    }
5629
5630    /// Implements [super::client::NetworkAttachments::patch].
5631    fn patch(
5632        &self,
5633        _req: crate::model::network_attachments::PatchRequest,
5634        _options: crate::RequestOptions,
5635    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5636    {
5637        gaxi::unimplemented::unimplemented_stub()
5638    }
5639
5640    /// Implements [super::client::NetworkAttachments::set_iam_policy].
5641    fn set_iam_policy(
5642        &self,
5643        _req: crate::model::network_attachments::SetIamPolicyRequest,
5644        _options: crate::RequestOptions,
5645    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5646    {
5647        gaxi::unimplemented::unimplemented_stub()
5648    }
5649
5650    /// Implements [super::client::NetworkAttachments::test_iam_permissions].
5651    fn test_iam_permissions(
5652        &self,
5653        _req: crate::model::network_attachments::TestIamPermissionsRequest,
5654        _options: crate::RequestOptions,
5655    ) -> impl std::future::Future<
5656        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5657    > + Send {
5658        gaxi::unimplemented::unimplemented_stub()
5659    }
5660
5661    /// Implements [super::client::NetworkAttachments::get_operation].
5662    fn get_operation(
5663        &self,
5664        _req: crate::model::region_operations::GetRequest,
5665        _options: crate::RequestOptions,
5666    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5667    {
5668        gaxi::unimplemented::unimplemented_stub()
5669    }
5670
5671    /// Returns the polling error policy.
5672    ///
5673    /// When mocking, this method is typically irrelevant. Do not try to verify
5674    /// it is called by your mocks.
5675    fn get_polling_error_policy(
5676        &self,
5677        _options: &crate::RequestOptions,
5678    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5679        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5680    }
5681
5682    /// Returns the polling backoff policy.
5683    ///
5684    /// When mocking, this method is typically irrelevant. Do not try to verify
5685    /// it is called by your mocks.
5686    fn get_polling_backoff_policy(
5687        &self,
5688        _options: &crate::RequestOptions,
5689    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5690        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5691    }
5692}
5693
5694/// Defines the trait used to implement [super::client::NetworkEdgeSecurityServices].
5695///
5696/// Application developers may need to implement this trait to mock
5697/// `client::NetworkEdgeSecurityServices`.  In other use-cases, application developers only
5698/// use `client::NetworkEdgeSecurityServices` and need not be concerned with this trait or
5699/// its implementations.
5700///
5701/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5702/// too. To avoid breaking applications the trait provides a default
5703/// implementation of each method. Most of these implementations just return an
5704/// error.
5705#[cfg(feature = "network-edge-security-services")]
5706#[cfg_attr(docsrs, doc(cfg(feature = "network-edge-security-services")))]
5707pub trait NetworkEdgeSecurityServices: std::fmt::Debug + Send + Sync {
5708    /// Implements [super::client::NetworkEdgeSecurityServices::aggregated_list].
5709    fn aggregated_list(
5710        &self,
5711        _req: crate::model::network_edge_security_services::AggregatedListRequest,
5712        _options: crate::RequestOptions,
5713    ) -> impl std::future::Future<
5714        Output = crate::Result<
5715            crate::Response<crate::model::NetworkEdgeSecurityServiceAggregatedList>,
5716        >,
5717    > + Send {
5718        gaxi::unimplemented::unimplemented_stub()
5719    }
5720
5721    /// Implements [super::client::NetworkEdgeSecurityServices::delete].
5722    fn delete(
5723        &self,
5724        _req: crate::model::network_edge_security_services::DeleteRequest,
5725        _options: crate::RequestOptions,
5726    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5727    {
5728        gaxi::unimplemented::unimplemented_stub()
5729    }
5730
5731    /// Implements [super::client::NetworkEdgeSecurityServices::get].
5732    fn get(
5733        &self,
5734        _req: crate::model::network_edge_security_services::GetRequest,
5735        _options: crate::RequestOptions,
5736    ) -> impl std::future::Future<
5737        Output = crate::Result<crate::Response<crate::model::NetworkEdgeSecurityService>>,
5738    > + Send {
5739        gaxi::unimplemented::unimplemented_stub()
5740    }
5741
5742    /// Implements [super::client::NetworkEdgeSecurityServices::insert].
5743    fn insert(
5744        &self,
5745        _req: crate::model::network_edge_security_services::InsertRequest,
5746        _options: crate::RequestOptions,
5747    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5748    {
5749        gaxi::unimplemented::unimplemented_stub()
5750    }
5751
5752    /// Implements [super::client::NetworkEdgeSecurityServices::patch].
5753    fn patch(
5754        &self,
5755        _req: crate::model::network_edge_security_services::PatchRequest,
5756        _options: crate::RequestOptions,
5757    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5758    {
5759        gaxi::unimplemented::unimplemented_stub()
5760    }
5761
5762    /// Implements [super::client::NetworkEdgeSecurityServices::get_operation].
5763    fn get_operation(
5764        &self,
5765        _req: crate::model::region_operations::GetRequest,
5766        _options: crate::RequestOptions,
5767    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5768    {
5769        gaxi::unimplemented::unimplemented_stub()
5770    }
5771
5772    /// Returns the polling error policy.
5773    ///
5774    /// When mocking, this method is typically irrelevant. Do not try to verify
5775    /// it is called by your mocks.
5776    fn get_polling_error_policy(
5777        &self,
5778        _options: &crate::RequestOptions,
5779    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5780        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5781    }
5782
5783    /// Returns the polling backoff policy.
5784    ///
5785    /// When mocking, this method is typically irrelevant. Do not try to verify
5786    /// it is called by your mocks.
5787    fn get_polling_backoff_policy(
5788        &self,
5789        _options: &crate::RequestOptions,
5790    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5791        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5792    }
5793}
5794
5795/// Defines the trait used to implement [super::client::NetworkEndpointGroups].
5796///
5797/// Application developers may need to implement this trait to mock
5798/// `client::NetworkEndpointGroups`.  In other use-cases, application developers only
5799/// use `client::NetworkEndpointGroups` and need not be concerned with this trait or
5800/// its implementations.
5801///
5802/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5803/// too. To avoid breaking applications the trait provides a default
5804/// implementation of each method. Most of these implementations just return an
5805/// error.
5806#[cfg(feature = "network-endpoint-groups")]
5807#[cfg_attr(docsrs, doc(cfg(feature = "network-endpoint-groups")))]
5808pub trait NetworkEndpointGroups: std::fmt::Debug + Send + Sync {
5809    /// Implements [super::client::NetworkEndpointGroups::aggregated_list].
5810    fn aggregated_list(
5811        &self,
5812        _req: crate::model::network_endpoint_groups::AggregatedListRequest,
5813        _options: crate::RequestOptions,
5814    ) -> impl std::future::Future<
5815        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupAggregatedList>>,
5816    > + Send {
5817        gaxi::unimplemented::unimplemented_stub()
5818    }
5819
5820    /// Implements [super::client::NetworkEndpointGroups::attach_network_endpoints].
5821    fn attach_network_endpoints(
5822        &self,
5823        _req: crate::model::network_endpoint_groups::AttachNetworkEndpointsRequest,
5824        _options: crate::RequestOptions,
5825    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5826    {
5827        gaxi::unimplemented::unimplemented_stub()
5828    }
5829
5830    /// Implements [super::client::NetworkEndpointGroups::delete].
5831    fn delete(
5832        &self,
5833        _req: crate::model::network_endpoint_groups::DeleteRequest,
5834        _options: crate::RequestOptions,
5835    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5836    {
5837        gaxi::unimplemented::unimplemented_stub()
5838    }
5839
5840    /// Implements [super::client::NetworkEndpointGroups::detach_network_endpoints].
5841    fn detach_network_endpoints(
5842        &self,
5843        _req: crate::model::network_endpoint_groups::DetachNetworkEndpointsRequest,
5844        _options: crate::RequestOptions,
5845    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5846    {
5847        gaxi::unimplemented::unimplemented_stub()
5848    }
5849
5850    /// Implements [super::client::NetworkEndpointGroups::get].
5851    fn get(
5852        &self,
5853        _req: crate::model::network_endpoint_groups::GetRequest,
5854        _options: crate::RequestOptions,
5855    ) -> impl std::future::Future<
5856        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
5857    > + Send {
5858        gaxi::unimplemented::unimplemented_stub()
5859    }
5860
5861    /// Implements [super::client::NetworkEndpointGroups::insert].
5862    fn insert(
5863        &self,
5864        _req: crate::model::network_endpoint_groups::InsertRequest,
5865        _options: crate::RequestOptions,
5866    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5867    {
5868        gaxi::unimplemented::unimplemented_stub()
5869    }
5870
5871    /// Implements [super::client::NetworkEndpointGroups::list].
5872    fn list(
5873        &self,
5874        _req: crate::model::network_endpoint_groups::ListRequest,
5875        _options: crate::RequestOptions,
5876    ) -> impl std::future::Future<
5877        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
5878    > + Send {
5879        gaxi::unimplemented::unimplemented_stub()
5880    }
5881
5882    /// Implements [super::client::NetworkEndpointGroups::list_network_endpoints].
5883    fn list_network_endpoints(
5884        &self,
5885        _req: crate::model::network_endpoint_groups::ListNetworkEndpointsRequest,
5886        _options: crate::RequestOptions,
5887    ) -> impl std::future::Future<
5888        Output = crate::Result<
5889            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
5890        >,
5891    > + Send {
5892        gaxi::unimplemented::unimplemented_stub()
5893    }
5894
5895    /// Implements [super::client::NetworkEndpointGroups::test_iam_permissions].
5896    fn test_iam_permissions(
5897        &self,
5898        _req: crate::model::network_endpoint_groups::TestIamPermissionsRequest,
5899        _options: crate::RequestOptions,
5900    ) -> impl std::future::Future<
5901        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5902    > + Send {
5903        gaxi::unimplemented::unimplemented_stub()
5904    }
5905
5906    /// Implements [super::client::NetworkEndpointGroups::get_operation].
5907    fn get_operation(
5908        &self,
5909        _req: crate::model::zone_operations::GetRequest,
5910        _options: crate::RequestOptions,
5911    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5912    {
5913        gaxi::unimplemented::unimplemented_stub()
5914    }
5915
5916    /// Returns the polling error policy.
5917    ///
5918    /// When mocking, this method is typically irrelevant. Do not try to verify
5919    /// it is called by your mocks.
5920    fn get_polling_error_policy(
5921        &self,
5922        _options: &crate::RequestOptions,
5923    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5924        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5925    }
5926
5927    /// Returns the polling backoff policy.
5928    ///
5929    /// When mocking, this method is typically irrelevant. Do not try to verify
5930    /// it is called by your mocks.
5931    fn get_polling_backoff_policy(
5932        &self,
5933        _options: &crate::RequestOptions,
5934    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5935        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5936    }
5937}
5938
5939/// Defines the trait used to implement [super::client::NetworkFirewallPolicies].
5940///
5941/// Application developers may need to implement this trait to mock
5942/// `client::NetworkFirewallPolicies`.  In other use-cases, application developers only
5943/// use `client::NetworkFirewallPolicies` and need not be concerned with this trait or
5944/// its implementations.
5945///
5946/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5947/// too. To avoid breaking applications the trait provides a default
5948/// implementation of each method. Most of these implementations just return an
5949/// error.
5950#[cfg(feature = "network-firewall-policies")]
5951#[cfg_attr(docsrs, doc(cfg(feature = "network-firewall-policies")))]
5952pub trait NetworkFirewallPolicies: std::fmt::Debug + Send + Sync {
5953    /// Implements [super::client::NetworkFirewallPolicies::add_association].
5954    fn add_association(
5955        &self,
5956        _req: crate::model::network_firewall_policies::AddAssociationRequest,
5957        _options: crate::RequestOptions,
5958    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5959    {
5960        gaxi::unimplemented::unimplemented_stub()
5961    }
5962
5963    /// Implements [super::client::NetworkFirewallPolicies::add_packet_mirroring_rule].
5964    fn add_packet_mirroring_rule(
5965        &self,
5966        _req: crate::model::network_firewall_policies::AddPacketMirroringRuleRequest,
5967        _options: crate::RequestOptions,
5968    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5969    {
5970        gaxi::unimplemented::unimplemented_stub()
5971    }
5972
5973    /// Implements [super::client::NetworkFirewallPolicies::add_rule].
5974    fn add_rule(
5975        &self,
5976        _req: crate::model::network_firewall_policies::AddRuleRequest,
5977        _options: crate::RequestOptions,
5978    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5979    {
5980        gaxi::unimplemented::unimplemented_stub()
5981    }
5982
5983    /// Implements [super::client::NetworkFirewallPolicies::aggregated_list].
5984    fn aggregated_list(
5985        &self,
5986        _req: crate::model::network_firewall_policies::AggregatedListRequest,
5987        _options: crate::RequestOptions,
5988    ) -> impl std::future::Future<
5989        Output = crate::Result<crate::Response<crate::model::NetworkFirewallPolicyAggregatedList>>,
5990    > + Send {
5991        gaxi::unimplemented::unimplemented_stub()
5992    }
5993
5994    /// Implements [super::client::NetworkFirewallPolicies::clone_rules].
5995    fn clone_rules(
5996        &self,
5997        _req: crate::model::network_firewall_policies::CloneRulesRequest,
5998        _options: crate::RequestOptions,
5999    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6000    {
6001        gaxi::unimplemented::unimplemented_stub()
6002    }
6003
6004    /// Implements [super::client::NetworkFirewallPolicies::delete].
6005    fn delete(
6006        &self,
6007        _req: crate::model::network_firewall_policies::DeleteRequest,
6008        _options: crate::RequestOptions,
6009    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6010    {
6011        gaxi::unimplemented::unimplemented_stub()
6012    }
6013
6014    /// Implements [super::client::NetworkFirewallPolicies::get].
6015    fn get(
6016        &self,
6017        _req: crate::model::network_firewall_policies::GetRequest,
6018        _options: crate::RequestOptions,
6019    ) -> impl std::future::Future<
6020        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
6021    > + Send {
6022        gaxi::unimplemented::unimplemented_stub()
6023    }
6024
6025    /// Implements [super::client::NetworkFirewallPolicies::get_association].
6026    fn get_association(
6027        &self,
6028        _req: crate::model::network_firewall_policies::GetAssociationRequest,
6029        _options: crate::RequestOptions,
6030    ) -> impl std::future::Future<
6031        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
6032    > + Send {
6033        gaxi::unimplemented::unimplemented_stub()
6034    }
6035
6036    /// Implements [super::client::NetworkFirewallPolicies::get_iam_policy].
6037    fn get_iam_policy(
6038        &self,
6039        _req: crate::model::network_firewall_policies::GetIamPolicyRequest,
6040        _options: crate::RequestOptions,
6041    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6042    {
6043        gaxi::unimplemented::unimplemented_stub()
6044    }
6045
6046    /// Implements [super::client::NetworkFirewallPolicies::get_packet_mirroring_rule].
6047    fn get_packet_mirroring_rule(
6048        &self,
6049        _req: crate::model::network_firewall_policies::GetPacketMirroringRuleRequest,
6050        _options: crate::RequestOptions,
6051    ) -> impl std::future::Future<
6052        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
6053    > + Send {
6054        gaxi::unimplemented::unimplemented_stub()
6055    }
6056
6057    /// Implements [super::client::NetworkFirewallPolicies::get_rule].
6058    fn get_rule(
6059        &self,
6060        _req: crate::model::network_firewall_policies::GetRuleRequest,
6061        _options: crate::RequestOptions,
6062    ) -> impl std::future::Future<
6063        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
6064    > + Send {
6065        gaxi::unimplemented::unimplemented_stub()
6066    }
6067
6068    /// Implements [super::client::NetworkFirewallPolicies::insert].
6069    fn insert(
6070        &self,
6071        _req: crate::model::network_firewall_policies::InsertRequest,
6072        _options: crate::RequestOptions,
6073    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6074    {
6075        gaxi::unimplemented::unimplemented_stub()
6076    }
6077
6078    /// Implements [super::client::NetworkFirewallPolicies::list].
6079    fn list(
6080        &self,
6081        _req: crate::model::network_firewall_policies::ListRequest,
6082        _options: crate::RequestOptions,
6083    ) -> impl std::future::Future<
6084        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
6085    > + Send {
6086        gaxi::unimplemented::unimplemented_stub()
6087    }
6088
6089    /// Implements [super::client::NetworkFirewallPolicies::patch].
6090    fn patch(
6091        &self,
6092        _req: crate::model::network_firewall_policies::PatchRequest,
6093        _options: crate::RequestOptions,
6094    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6095    {
6096        gaxi::unimplemented::unimplemented_stub()
6097    }
6098
6099    /// Implements [super::client::NetworkFirewallPolicies::patch_packet_mirroring_rule].
6100    fn patch_packet_mirroring_rule(
6101        &self,
6102        _req: crate::model::network_firewall_policies::PatchPacketMirroringRuleRequest,
6103        _options: crate::RequestOptions,
6104    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6105    {
6106        gaxi::unimplemented::unimplemented_stub()
6107    }
6108
6109    /// Implements [super::client::NetworkFirewallPolicies::patch_rule].
6110    fn patch_rule(
6111        &self,
6112        _req: crate::model::network_firewall_policies::PatchRuleRequest,
6113        _options: crate::RequestOptions,
6114    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6115    {
6116        gaxi::unimplemented::unimplemented_stub()
6117    }
6118
6119    /// Implements [super::client::NetworkFirewallPolicies::remove_association].
6120    fn remove_association(
6121        &self,
6122        _req: crate::model::network_firewall_policies::RemoveAssociationRequest,
6123        _options: crate::RequestOptions,
6124    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6125    {
6126        gaxi::unimplemented::unimplemented_stub()
6127    }
6128
6129    /// Implements [super::client::NetworkFirewallPolicies::remove_packet_mirroring_rule].
6130    fn remove_packet_mirroring_rule(
6131        &self,
6132        _req: crate::model::network_firewall_policies::RemovePacketMirroringRuleRequest,
6133        _options: crate::RequestOptions,
6134    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6135    {
6136        gaxi::unimplemented::unimplemented_stub()
6137    }
6138
6139    /// Implements [super::client::NetworkFirewallPolicies::remove_rule].
6140    fn remove_rule(
6141        &self,
6142        _req: crate::model::network_firewall_policies::RemoveRuleRequest,
6143        _options: crate::RequestOptions,
6144    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6145    {
6146        gaxi::unimplemented::unimplemented_stub()
6147    }
6148
6149    /// Implements [super::client::NetworkFirewallPolicies::set_iam_policy].
6150    fn set_iam_policy(
6151        &self,
6152        _req: crate::model::network_firewall_policies::SetIamPolicyRequest,
6153        _options: crate::RequestOptions,
6154    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6155    {
6156        gaxi::unimplemented::unimplemented_stub()
6157    }
6158
6159    /// Implements [super::client::NetworkFirewallPolicies::test_iam_permissions].
6160    fn test_iam_permissions(
6161        &self,
6162        _req: crate::model::network_firewall_policies::TestIamPermissionsRequest,
6163        _options: crate::RequestOptions,
6164    ) -> impl std::future::Future<
6165        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6166    > + Send {
6167        gaxi::unimplemented::unimplemented_stub()
6168    }
6169
6170    /// Implements [super::client::NetworkFirewallPolicies::get_operation].
6171    fn get_operation(
6172        &self,
6173        _req: crate::model::global_operations::GetRequest,
6174        _options: crate::RequestOptions,
6175    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6176    {
6177        gaxi::unimplemented::unimplemented_stub()
6178    }
6179
6180    /// Returns the polling error policy.
6181    ///
6182    /// When mocking, this method is typically irrelevant. Do not try to verify
6183    /// it is called by your mocks.
6184    fn get_polling_error_policy(
6185        &self,
6186        _options: &crate::RequestOptions,
6187    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6188        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6189    }
6190
6191    /// Returns the polling backoff policy.
6192    ///
6193    /// When mocking, this method is typically irrelevant. Do not try to verify
6194    /// it is called by your mocks.
6195    fn get_polling_backoff_policy(
6196        &self,
6197        _options: &crate::RequestOptions,
6198    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6199        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6200    }
6201}
6202
6203/// Defines the trait used to implement [super::client::NetworkProfiles].
6204///
6205/// Application developers may need to implement this trait to mock
6206/// `client::NetworkProfiles`.  In other use-cases, application developers only
6207/// use `client::NetworkProfiles` and need not be concerned with this trait or
6208/// its implementations.
6209///
6210/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6211/// too. To avoid breaking applications the trait provides a default
6212/// implementation of each method. Most of these implementations just return an
6213/// error.
6214#[cfg(feature = "network-profiles")]
6215#[cfg_attr(docsrs, doc(cfg(feature = "network-profiles")))]
6216pub trait NetworkProfiles: std::fmt::Debug + Send + Sync {
6217    /// Implements [super::client::NetworkProfiles::get].
6218    fn get(
6219        &self,
6220        _req: crate::model::network_profiles::GetRequest,
6221        _options: crate::RequestOptions,
6222    ) -> impl std::future::Future<
6223        Output = crate::Result<crate::Response<crate::model::NetworkProfile>>,
6224    > + Send {
6225        gaxi::unimplemented::unimplemented_stub()
6226    }
6227
6228    /// Implements [super::client::NetworkProfiles::list].
6229    fn list(
6230        &self,
6231        _req: crate::model::network_profiles::ListRequest,
6232        _options: crate::RequestOptions,
6233    ) -> impl std::future::Future<
6234        Output = crate::Result<crate::Response<crate::model::NetworkProfilesListResponse>>,
6235    > + Send {
6236        gaxi::unimplemented::unimplemented_stub()
6237    }
6238}
6239
6240/// Defines the trait used to implement [super::client::Networks].
6241///
6242/// Application developers may need to implement this trait to mock
6243/// `client::Networks`.  In other use-cases, application developers only
6244/// use `client::Networks` and need not be concerned with this trait or
6245/// its implementations.
6246///
6247/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6248/// too. To avoid breaking applications the trait provides a default
6249/// implementation of each method. Most of these implementations just return an
6250/// error.
6251#[cfg(feature = "networks")]
6252#[cfg_attr(docsrs, doc(cfg(feature = "networks")))]
6253pub trait Networks: std::fmt::Debug + Send + Sync {
6254    /// Implements [super::client::Networks::add_peering].
6255    fn add_peering(
6256        &self,
6257        _req: crate::model::networks::AddPeeringRequest,
6258        _options: crate::RequestOptions,
6259    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6260    {
6261        gaxi::unimplemented::unimplemented_stub()
6262    }
6263
6264    /// Implements [super::client::Networks::delete].
6265    fn delete(
6266        &self,
6267        _req: crate::model::networks::DeleteRequest,
6268        _options: crate::RequestOptions,
6269    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6270    {
6271        gaxi::unimplemented::unimplemented_stub()
6272    }
6273
6274    /// Implements [super::client::Networks::get].
6275    fn get(
6276        &self,
6277        _req: crate::model::networks::GetRequest,
6278        _options: crate::RequestOptions,
6279    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Network>>> + Send
6280    {
6281        gaxi::unimplemented::unimplemented_stub()
6282    }
6283
6284    /// Implements [super::client::Networks::get_effective_firewalls].
6285    fn get_effective_firewalls(
6286        &self,
6287        _req: crate::model::networks::GetEffectiveFirewallsRequest,
6288        _options: crate::RequestOptions,
6289    ) -> impl std::future::Future<
6290        Output = crate::Result<
6291            crate::Response<crate::model::NetworksGetEffectiveFirewallsResponse>,
6292        >,
6293    > + Send {
6294        gaxi::unimplemented::unimplemented_stub()
6295    }
6296
6297    /// Implements [super::client::Networks::insert].
6298    fn insert(
6299        &self,
6300        _req: crate::model::networks::InsertRequest,
6301        _options: crate::RequestOptions,
6302    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6303    {
6304        gaxi::unimplemented::unimplemented_stub()
6305    }
6306
6307    /// Implements [super::client::Networks::list].
6308    fn list(
6309        &self,
6310        _req: crate::model::networks::ListRequest,
6311        _options: crate::RequestOptions,
6312    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NetworkList>>>
6313    + Send {
6314        gaxi::unimplemented::unimplemented_stub()
6315    }
6316
6317    /// Implements [super::client::Networks::list_peering_routes].
6318    fn list_peering_routes(
6319        &self,
6320        _req: crate::model::networks::ListPeeringRoutesRequest,
6321        _options: crate::RequestOptions,
6322    ) -> impl std::future::Future<
6323        Output = crate::Result<crate::Response<crate::model::ExchangedPeeringRoutesList>>,
6324    > + Send {
6325        gaxi::unimplemented::unimplemented_stub()
6326    }
6327
6328    /// Implements [super::client::Networks::patch].
6329    fn patch(
6330        &self,
6331        _req: crate::model::networks::PatchRequest,
6332        _options: crate::RequestOptions,
6333    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6334    {
6335        gaxi::unimplemented::unimplemented_stub()
6336    }
6337
6338    /// Implements [super::client::Networks::remove_peering].
6339    fn remove_peering(
6340        &self,
6341        _req: crate::model::networks::RemovePeeringRequest,
6342        _options: crate::RequestOptions,
6343    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6344    {
6345        gaxi::unimplemented::unimplemented_stub()
6346    }
6347
6348    /// Implements [super::client::Networks::request_remove_peering].
6349    fn request_remove_peering(
6350        &self,
6351        _req: crate::model::networks::RequestRemovePeeringRequest,
6352        _options: crate::RequestOptions,
6353    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6354    {
6355        gaxi::unimplemented::unimplemented_stub()
6356    }
6357
6358    /// Implements [super::client::Networks::switch_to_custom_mode].
6359    fn switch_to_custom_mode(
6360        &self,
6361        _req: crate::model::networks::SwitchToCustomModeRequest,
6362        _options: crate::RequestOptions,
6363    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6364    {
6365        gaxi::unimplemented::unimplemented_stub()
6366    }
6367
6368    /// Implements [super::client::Networks::update_peering].
6369    fn update_peering(
6370        &self,
6371        _req: crate::model::networks::UpdatePeeringRequest,
6372        _options: crate::RequestOptions,
6373    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6374    {
6375        gaxi::unimplemented::unimplemented_stub()
6376    }
6377
6378    /// Implements [super::client::Networks::get_operation].
6379    fn get_operation(
6380        &self,
6381        _req: crate::model::global_operations::GetRequest,
6382        _options: crate::RequestOptions,
6383    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6384    {
6385        gaxi::unimplemented::unimplemented_stub()
6386    }
6387
6388    /// Returns the polling error policy.
6389    ///
6390    /// When mocking, this method is typically irrelevant. Do not try to verify
6391    /// it is called by your mocks.
6392    fn get_polling_error_policy(
6393        &self,
6394        _options: &crate::RequestOptions,
6395    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6396        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6397    }
6398
6399    /// Returns the polling backoff policy.
6400    ///
6401    /// When mocking, this method is typically irrelevant. Do not try to verify
6402    /// it is called by your mocks.
6403    fn get_polling_backoff_policy(
6404        &self,
6405        _options: &crate::RequestOptions,
6406    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6407        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6408    }
6409}
6410
6411/// Defines the trait used to implement [super::client::NodeGroups].
6412///
6413/// Application developers may need to implement this trait to mock
6414/// `client::NodeGroups`.  In other use-cases, application developers only
6415/// use `client::NodeGroups` and need not be concerned with this trait or
6416/// its implementations.
6417///
6418/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6419/// too. To avoid breaking applications the trait provides a default
6420/// implementation of each method. Most of these implementations just return an
6421/// error.
6422#[cfg(feature = "node-groups")]
6423#[cfg_attr(docsrs, doc(cfg(feature = "node-groups")))]
6424pub trait NodeGroups: std::fmt::Debug + Send + Sync {
6425    /// Implements [super::client::NodeGroups::add_nodes].
6426    fn add_nodes(
6427        &self,
6428        _req: crate::model::node_groups::AddNodesRequest,
6429        _options: crate::RequestOptions,
6430    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6431    {
6432        gaxi::unimplemented::unimplemented_stub()
6433    }
6434
6435    /// Implements [super::client::NodeGroups::aggregated_list].
6436    fn aggregated_list(
6437        &self,
6438        _req: crate::model::node_groups::AggregatedListRequest,
6439        _options: crate::RequestOptions,
6440    ) -> impl std::future::Future<
6441        Output = crate::Result<crate::Response<crate::model::NodeGroupAggregatedList>>,
6442    > + Send {
6443        gaxi::unimplemented::unimplemented_stub()
6444    }
6445
6446    /// Implements [super::client::NodeGroups::delete].
6447    fn delete(
6448        &self,
6449        _req: crate::model::node_groups::DeleteRequest,
6450        _options: crate::RequestOptions,
6451    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6452    {
6453        gaxi::unimplemented::unimplemented_stub()
6454    }
6455
6456    /// Implements [super::client::NodeGroups::delete_nodes].
6457    fn delete_nodes(
6458        &self,
6459        _req: crate::model::node_groups::DeleteNodesRequest,
6460        _options: crate::RequestOptions,
6461    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6462    {
6463        gaxi::unimplemented::unimplemented_stub()
6464    }
6465
6466    /// Implements [super::client::NodeGroups::get].
6467    fn get(
6468        &self,
6469        _req: crate::model::node_groups::GetRequest,
6470        _options: crate::RequestOptions,
6471    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NodeGroup>>> + Send
6472    {
6473        gaxi::unimplemented::unimplemented_stub()
6474    }
6475
6476    /// Implements [super::client::NodeGroups::get_iam_policy].
6477    fn get_iam_policy(
6478        &self,
6479        _req: crate::model::node_groups::GetIamPolicyRequest,
6480        _options: crate::RequestOptions,
6481    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6482    {
6483        gaxi::unimplemented::unimplemented_stub()
6484    }
6485
6486    /// Implements [super::client::NodeGroups::insert].
6487    fn insert(
6488        &self,
6489        _req: crate::model::node_groups::InsertRequest,
6490        _options: crate::RequestOptions,
6491    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6492    {
6493        gaxi::unimplemented::unimplemented_stub()
6494    }
6495
6496    /// Implements [super::client::NodeGroups::list].
6497    fn list(
6498        &self,
6499        _req: crate::model::node_groups::ListRequest,
6500        _options: crate::RequestOptions,
6501    ) -> impl std::future::Future<
6502        Output = crate::Result<crate::Response<crate::model::NodeGroupList>>,
6503    > + Send {
6504        gaxi::unimplemented::unimplemented_stub()
6505    }
6506
6507    /// Implements [super::client::NodeGroups::list_nodes].
6508    fn list_nodes(
6509        &self,
6510        _req: crate::model::node_groups::ListNodesRequest,
6511        _options: crate::RequestOptions,
6512    ) -> impl std::future::Future<
6513        Output = crate::Result<crate::Response<crate::model::NodeGroupsListNodes>>,
6514    > + Send {
6515        gaxi::unimplemented::unimplemented_stub()
6516    }
6517
6518    /// Implements [super::client::NodeGroups::patch].
6519    fn patch(
6520        &self,
6521        _req: crate::model::node_groups::PatchRequest,
6522        _options: crate::RequestOptions,
6523    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6524    {
6525        gaxi::unimplemented::unimplemented_stub()
6526    }
6527
6528    /// Implements [super::client::NodeGroups::perform_maintenance].
6529    fn perform_maintenance(
6530        &self,
6531        _req: crate::model::node_groups::PerformMaintenanceRequest,
6532        _options: crate::RequestOptions,
6533    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6534    {
6535        gaxi::unimplemented::unimplemented_stub()
6536    }
6537
6538    /// Implements [super::client::NodeGroups::set_iam_policy].
6539    fn set_iam_policy(
6540        &self,
6541        _req: crate::model::node_groups::SetIamPolicyRequest,
6542        _options: crate::RequestOptions,
6543    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6544    {
6545        gaxi::unimplemented::unimplemented_stub()
6546    }
6547
6548    /// Implements [super::client::NodeGroups::set_node_template].
6549    fn set_node_template(
6550        &self,
6551        _req: crate::model::node_groups::SetNodeTemplateRequest,
6552        _options: crate::RequestOptions,
6553    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6554    {
6555        gaxi::unimplemented::unimplemented_stub()
6556    }
6557
6558    /// Implements [super::client::NodeGroups::simulate_maintenance_event].
6559    fn simulate_maintenance_event(
6560        &self,
6561        _req: crate::model::node_groups::SimulateMaintenanceEventRequest,
6562        _options: crate::RequestOptions,
6563    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6564    {
6565        gaxi::unimplemented::unimplemented_stub()
6566    }
6567
6568    /// Implements [super::client::NodeGroups::test_iam_permissions].
6569    fn test_iam_permissions(
6570        &self,
6571        _req: crate::model::node_groups::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::NodeGroups::get_operation].
6580    fn get_operation(
6581        &self,
6582        _req: crate::model::zone_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::NodeTemplates].
6613///
6614/// Application developers may need to implement this trait to mock
6615/// `client::NodeTemplates`.  In other use-cases, application developers only
6616/// use `client::NodeTemplates` 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-templates")]
6624#[cfg_attr(docsrs, doc(cfg(feature = "node-templates")))]
6625pub trait NodeTemplates: std::fmt::Debug + Send + Sync {
6626    /// Implements [super::client::NodeTemplates::aggregated_list].
6627    fn aggregated_list(
6628        &self,
6629        _req: crate::model::node_templates::AggregatedListRequest,
6630        _options: crate::RequestOptions,
6631    ) -> impl std::future::Future<
6632        Output = crate::Result<crate::Response<crate::model::NodeTemplateAggregatedList>>,
6633    > + Send {
6634        gaxi::unimplemented::unimplemented_stub()
6635    }
6636
6637    /// Implements [super::client::NodeTemplates::delete].
6638    fn delete(
6639        &self,
6640        _req: crate::model::node_templates::DeleteRequest,
6641        _options: crate::RequestOptions,
6642    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6643    {
6644        gaxi::unimplemented::unimplemented_stub()
6645    }
6646
6647    /// Implements [super::client::NodeTemplates::get].
6648    fn get(
6649        &self,
6650        _req: crate::model::node_templates::GetRequest,
6651        _options: crate::RequestOptions,
6652    ) -> impl std::future::Future<
6653        Output = crate::Result<crate::Response<crate::model::NodeTemplate>>,
6654    > + Send {
6655        gaxi::unimplemented::unimplemented_stub()
6656    }
6657
6658    /// Implements [super::client::NodeTemplates::get_iam_policy].
6659    fn get_iam_policy(
6660        &self,
6661        _req: crate::model::node_templates::GetIamPolicyRequest,
6662        _options: crate::RequestOptions,
6663    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6664    {
6665        gaxi::unimplemented::unimplemented_stub()
6666    }
6667
6668    /// Implements [super::client::NodeTemplates::insert].
6669    fn insert(
6670        &self,
6671        _req: crate::model::node_templates::InsertRequest,
6672        _options: crate::RequestOptions,
6673    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6674    {
6675        gaxi::unimplemented::unimplemented_stub()
6676    }
6677
6678    /// Implements [super::client::NodeTemplates::list].
6679    fn list(
6680        &self,
6681        _req: crate::model::node_templates::ListRequest,
6682        _options: crate::RequestOptions,
6683    ) -> impl std::future::Future<
6684        Output = crate::Result<crate::Response<crate::model::NodeTemplateList>>,
6685    > + Send {
6686        gaxi::unimplemented::unimplemented_stub()
6687    }
6688
6689    /// Implements [super::client::NodeTemplates::set_iam_policy].
6690    fn set_iam_policy(
6691        &self,
6692        _req: crate::model::node_templates::SetIamPolicyRequest,
6693        _options: crate::RequestOptions,
6694    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6695    {
6696        gaxi::unimplemented::unimplemented_stub()
6697    }
6698
6699    /// Implements [super::client::NodeTemplates::test_iam_permissions].
6700    fn test_iam_permissions(
6701        &self,
6702        _req: crate::model::node_templates::TestIamPermissionsRequest,
6703        _options: crate::RequestOptions,
6704    ) -> impl std::future::Future<
6705        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6706    > + Send {
6707        gaxi::unimplemented::unimplemented_stub()
6708    }
6709
6710    /// Implements [super::client::NodeTemplates::get_operation].
6711    fn get_operation(
6712        &self,
6713        _req: crate::model::region_operations::GetRequest,
6714        _options: crate::RequestOptions,
6715    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6716    {
6717        gaxi::unimplemented::unimplemented_stub()
6718    }
6719
6720    /// Returns the polling error policy.
6721    ///
6722    /// When mocking, this method is typically irrelevant. Do not try to verify
6723    /// it is called by your mocks.
6724    fn get_polling_error_policy(
6725        &self,
6726        _options: &crate::RequestOptions,
6727    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6728        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6729    }
6730
6731    /// Returns the polling backoff policy.
6732    ///
6733    /// When mocking, this method is typically irrelevant. Do not try to verify
6734    /// it is called by your mocks.
6735    fn get_polling_backoff_policy(
6736        &self,
6737        _options: &crate::RequestOptions,
6738    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6739        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6740    }
6741}
6742
6743/// Defines the trait used to implement [super::client::NodeTypes].
6744///
6745/// Application developers may need to implement this trait to mock
6746/// `client::NodeTypes`.  In other use-cases, application developers only
6747/// use `client::NodeTypes` and need not be concerned with this trait or
6748/// its implementations.
6749///
6750/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6751/// too. To avoid breaking applications the trait provides a default
6752/// implementation of each method. Most of these implementations just return an
6753/// error.
6754#[cfg(feature = "node-types")]
6755#[cfg_attr(docsrs, doc(cfg(feature = "node-types")))]
6756pub trait NodeTypes: std::fmt::Debug + Send + Sync {
6757    /// Implements [super::client::NodeTypes::aggregated_list].
6758    fn aggregated_list(
6759        &self,
6760        _req: crate::model::node_types::AggregatedListRequest,
6761        _options: crate::RequestOptions,
6762    ) -> impl std::future::Future<
6763        Output = crate::Result<crate::Response<crate::model::NodeTypeAggregatedList>>,
6764    > + Send {
6765        gaxi::unimplemented::unimplemented_stub()
6766    }
6767
6768    /// Implements [super::client::NodeTypes::get].
6769    fn get(
6770        &self,
6771        _req: crate::model::node_types::GetRequest,
6772        _options: crate::RequestOptions,
6773    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NodeType>>> + Send
6774    {
6775        gaxi::unimplemented::unimplemented_stub()
6776    }
6777
6778    /// Implements [super::client::NodeTypes::list].
6779    fn list(
6780        &self,
6781        _req: crate::model::node_types::ListRequest,
6782        _options: crate::RequestOptions,
6783    ) -> impl std::future::Future<
6784        Output = crate::Result<crate::Response<crate::model::NodeTypeList>>,
6785    > + Send {
6786        gaxi::unimplemented::unimplemented_stub()
6787    }
6788}
6789
6790/// Defines the trait used to implement [super::client::OrganizationSecurityPolicies].
6791///
6792/// Application developers may need to implement this trait to mock
6793/// `client::OrganizationSecurityPolicies`.  In other use-cases, application developers only
6794/// use `client::OrganizationSecurityPolicies` and need not be concerned with this trait or
6795/// its implementations.
6796///
6797/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6798/// too. To avoid breaking applications the trait provides a default
6799/// implementation of each method. Most of these implementations just return an
6800/// error.
6801#[cfg(feature = "organization-security-policies")]
6802#[cfg_attr(docsrs, doc(cfg(feature = "organization-security-policies")))]
6803pub trait OrganizationSecurityPolicies: std::fmt::Debug + Send + Sync {
6804    /// Implements [super::client::OrganizationSecurityPolicies::add_association].
6805    fn add_association(
6806        &self,
6807        _req: crate::model::organization_security_policies::AddAssociationRequest,
6808        _options: crate::RequestOptions,
6809    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6810    {
6811        gaxi::unimplemented::unimplemented_stub()
6812    }
6813
6814    /// Implements [super::client::OrganizationSecurityPolicies::add_rule].
6815    fn add_rule(
6816        &self,
6817        _req: crate::model::organization_security_policies::AddRuleRequest,
6818        _options: crate::RequestOptions,
6819    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6820    {
6821        gaxi::unimplemented::unimplemented_stub()
6822    }
6823
6824    /// Implements [super::client::OrganizationSecurityPolicies::copy_rules].
6825    fn copy_rules(
6826        &self,
6827        _req: crate::model::organization_security_policies::CopyRulesRequest,
6828        _options: crate::RequestOptions,
6829    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6830    {
6831        gaxi::unimplemented::unimplemented_stub()
6832    }
6833
6834    /// Implements [super::client::OrganizationSecurityPolicies::delete].
6835    fn delete(
6836        &self,
6837        _req: crate::model::organization_security_policies::DeleteRequest,
6838        _options: crate::RequestOptions,
6839    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6840    {
6841        gaxi::unimplemented::unimplemented_stub()
6842    }
6843
6844    /// Implements [super::client::OrganizationSecurityPolicies::get].
6845    fn get(
6846        &self,
6847        _req: crate::model::organization_security_policies::GetRequest,
6848        _options: crate::RequestOptions,
6849    ) -> impl std::future::Future<
6850        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
6851    > + Send {
6852        gaxi::unimplemented::unimplemented_stub()
6853    }
6854
6855    /// Implements [super::client::OrganizationSecurityPolicies::get_association].
6856    fn get_association(
6857        &self,
6858        _req: crate::model::organization_security_policies::GetAssociationRequest,
6859        _options: crate::RequestOptions,
6860    ) -> impl std::future::Future<
6861        Output = crate::Result<crate::Response<crate::model::SecurityPolicyAssociation>>,
6862    > + Send {
6863        gaxi::unimplemented::unimplemented_stub()
6864    }
6865
6866    /// Implements [super::client::OrganizationSecurityPolicies::get_rule].
6867    fn get_rule(
6868        &self,
6869        _req: crate::model::organization_security_policies::GetRuleRequest,
6870        _options: crate::RequestOptions,
6871    ) -> impl std::future::Future<
6872        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
6873    > + Send {
6874        gaxi::unimplemented::unimplemented_stub()
6875    }
6876
6877    /// Implements [super::client::OrganizationSecurityPolicies::insert].
6878    fn insert(
6879        &self,
6880        _req: crate::model::organization_security_policies::InsertRequest,
6881        _options: crate::RequestOptions,
6882    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6883    {
6884        gaxi::unimplemented::unimplemented_stub()
6885    }
6886
6887    /// Implements [super::client::OrganizationSecurityPolicies::list].
6888    fn list(
6889        &self,
6890        _req: crate::model::organization_security_policies::ListRequest,
6891        _options: crate::RequestOptions,
6892    ) -> impl std::future::Future<
6893        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
6894    > + Send {
6895        gaxi::unimplemented::unimplemented_stub()
6896    }
6897
6898    /// Implements [super::client::OrganizationSecurityPolicies::list_associations].
6899    fn list_associations(
6900        &self,
6901        _req: crate::model::organization_security_policies::ListAssociationsRequest,
6902        _options: crate::RequestOptions,
6903    ) -> impl std::future::Future<
6904        Output = crate::Result<
6905            crate::Response<crate::model::OrganizationSecurityPoliciesListAssociationsResponse>,
6906        >,
6907    > + Send {
6908        gaxi::unimplemented::unimplemented_stub()
6909    }
6910
6911    /// Implements [super::client::OrganizationSecurityPolicies::list_preconfigured_expression_sets].
6912    fn list_preconfigured_expression_sets(
6913        &self,
6914        _req: crate::model::organization_security_policies::ListPreconfiguredExpressionSetsRequest,
6915        _options: crate::RequestOptions,
6916    ) -> impl std::future::Future<
6917        Output = crate::Result<
6918            crate::Response<crate::model::SecurityPoliciesListPreconfiguredExpressionSetsResponse>,
6919        >,
6920    > + Send {
6921        gaxi::unimplemented::unimplemented_stub()
6922    }
6923
6924    /// Implements [super::client::OrganizationSecurityPolicies::r#move].
6925    fn r#move(
6926        &self,
6927        _req: crate::model::organization_security_policies::MoveRequest,
6928        _options: crate::RequestOptions,
6929    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6930    {
6931        gaxi::unimplemented::unimplemented_stub()
6932    }
6933
6934    /// Implements [super::client::OrganizationSecurityPolicies::patch].
6935    fn patch(
6936        &self,
6937        _req: crate::model::organization_security_policies::PatchRequest,
6938        _options: crate::RequestOptions,
6939    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6940    {
6941        gaxi::unimplemented::unimplemented_stub()
6942    }
6943
6944    /// Implements [super::client::OrganizationSecurityPolicies::patch_rule].
6945    fn patch_rule(
6946        &self,
6947        _req: crate::model::organization_security_policies::PatchRuleRequest,
6948        _options: crate::RequestOptions,
6949    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6950    {
6951        gaxi::unimplemented::unimplemented_stub()
6952    }
6953
6954    /// Implements [super::client::OrganizationSecurityPolicies::remove_association].
6955    fn remove_association(
6956        &self,
6957        _req: crate::model::organization_security_policies::RemoveAssociationRequest,
6958        _options: crate::RequestOptions,
6959    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6960    {
6961        gaxi::unimplemented::unimplemented_stub()
6962    }
6963
6964    /// Implements [super::client::OrganizationSecurityPolicies::remove_rule].
6965    fn remove_rule(
6966        &self,
6967        _req: crate::model::organization_security_policies::RemoveRuleRequest,
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    /// Implements [super::client::OrganizationSecurityPolicies::get_operation].
6975    fn get_operation(
6976        &self,
6977        _req: crate::model::global_organization_operations::GetRequest,
6978        _options: crate::RequestOptions,
6979    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6980    {
6981        gaxi::unimplemented::unimplemented_stub()
6982    }
6983
6984    /// Returns the polling error policy.
6985    ///
6986    /// When mocking, this method is typically irrelevant. Do not try to verify
6987    /// it is called by your mocks.
6988    fn get_polling_error_policy(
6989        &self,
6990        _options: &crate::RequestOptions,
6991    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6992        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6993    }
6994
6995    /// Returns the polling backoff policy.
6996    ///
6997    /// When mocking, this method is typically irrelevant. Do not try to verify
6998    /// it is called by your mocks.
6999    fn get_polling_backoff_policy(
7000        &self,
7001        _options: &crate::RequestOptions,
7002    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7003        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7004    }
7005}
7006
7007/// Defines the trait used to implement [super::client::PacketMirrorings].
7008///
7009/// Application developers may need to implement this trait to mock
7010/// `client::PacketMirrorings`.  In other use-cases, application developers only
7011/// use `client::PacketMirrorings` and need not be concerned with this trait or
7012/// its implementations.
7013///
7014/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7015/// too. To avoid breaking applications the trait provides a default
7016/// implementation of each method. Most of these implementations just return an
7017/// error.
7018#[cfg(feature = "packet-mirrorings")]
7019#[cfg_attr(docsrs, doc(cfg(feature = "packet-mirrorings")))]
7020pub trait PacketMirrorings: std::fmt::Debug + Send + Sync {
7021    /// Implements [super::client::PacketMirrorings::aggregated_list].
7022    fn aggregated_list(
7023        &self,
7024        _req: crate::model::packet_mirrorings::AggregatedListRequest,
7025        _options: crate::RequestOptions,
7026    ) -> impl std::future::Future<
7027        Output = crate::Result<crate::Response<crate::model::PacketMirroringAggregatedList>>,
7028    > + Send {
7029        gaxi::unimplemented::unimplemented_stub()
7030    }
7031
7032    /// Implements [super::client::PacketMirrorings::delete].
7033    fn delete(
7034        &self,
7035        _req: crate::model::packet_mirrorings::DeleteRequest,
7036        _options: crate::RequestOptions,
7037    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7038    {
7039        gaxi::unimplemented::unimplemented_stub()
7040    }
7041
7042    /// Implements [super::client::PacketMirrorings::get].
7043    fn get(
7044        &self,
7045        _req: crate::model::packet_mirrorings::GetRequest,
7046        _options: crate::RequestOptions,
7047    ) -> impl std::future::Future<
7048        Output = crate::Result<crate::Response<crate::model::PacketMirroring>>,
7049    > + Send {
7050        gaxi::unimplemented::unimplemented_stub()
7051    }
7052
7053    /// Implements [super::client::PacketMirrorings::insert].
7054    fn insert(
7055        &self,
7056        _req: crate::model::packet_mirrorings::InsertRequest,
7057        _options: crate::RequestOptions,
7058    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7059    {
7060        gaxi::unimplemented::unimplemented_stub()
7061    }
7062
7063    /// Implements [super::client::PacketMirrorings::list].
7064    fn list(
7065        &self,
7066        _req: crate::model::packet_mirrorings::ListRequest,
7067        _options: crate::RequestOptions,
7068    ) -> impl std::future::Future<
7069        Output = crate::Result<crate::Response<crate::model::PacketMirroringList>>,
7070    > + Send {
7071        gaxi::unimplemented::unimplemented_stub()
7072    }
7073
7074    /// Implements [super::client::PacketMirrorings::patch].
7075    fn patch(
7076        &self,
7077        _req: crate::model::packet_mirrorings::PatchRequest,
7078        _options: crate::RequestOptions,
7079    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7080    {
7081        gaxi::unimplemented::unimplemented_stub()
7082    }
7083
7084    /// Implements [super::client::PacketMirrorings::test_iam_permissions].
7085    fn test_iam_permissions(
7086        &self,
7087        _req: crate::model::packet_mirrorings::TestIamPermissionsRequest,
7088        _options: crate::RequestOptions,
7089    ) -> impl std::future::Future<
7090        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7091    > + Send {
7092        gaxi::unimplemented::unimplemented_stub()
7093    }
7094
7095    /// Implements [super::client::PacketMirrorings::get_operation].
7096    fn get_operation(
7097        &self,
7098        _req: crate::model::region_operations::GetRequest,
7099        _options: crate::RequestOptions,
7100    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7101    {
7102        gaxi::unimplemented::unimplemented_stub()
7103    }
7104
7105    /// Returns the polling error policy.
7106    ///
7107    /// When mocking, this method is typically irrelevant. Do not try to verify
7108    /// it is called by your mocks.
7109    fn get_polling_error_policy(
7110        &self,
7111        _options: &crate::RequestOptions,
7112    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7113        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7114    }
7115
7116    /// Returns the polling backoff policy.
7117    ///
7118    /// When mocking, this method is typically irrelevant. Do not try to verify
7119    /// it is called by your mocks.
7120    fn get_polling_backoff_policy(
7121        &self,
7122        _options: &crate::RequestOptions,
7123    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7124        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7125    }
7126}
7127
7128/// Defines the trait used to implement [super::client::PreviewFeatures].
7129///
7130/// Application developers may need to implement this trait to mock
7131/// `client::PreviewFeatures`.  In other use-cases, application developers only
7132/// use `client::PreviewFeatures` and need not be concerned with this trait or
7133/// its implementations.
7134///
7135/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7136/// too. To avoid breaking applications the trait provides a default
7137/// implementation of each method. Most of these implementations just return an
7138/// error.
7139#[cfg(feature = "preview-features")]
7140#[cfg_attr(docsrs, doc(cfg(feature = "preview-features")))]
7141pub trait PreviewFeatures: std::fmt::Debug + Send + Sync {
7142    /// Implements [super::client::PreviewFeatures::get].
7143    fn get(
7144        &self,
7145        _req: crate::model::preview_features::GetRequest,
7146        _options: crate::RequestOptions,
7147    ) -> impl std::future::Future<
7148        Output = crate::Result<crate::Response<crate::model::PreviewFeature>>,
7149    > + Send {
7150        gaxi::unimplemented::unimplemented_stub()
7151    }
7152
7153    /// Implements [super::client::PreviewFeatures::list].
7154    fn list(
7155        &self,
7156        _req: crate::model::preview_features::ListRequest,
7157        _options: crate::RequestOptions,
7158    ) -> impl std::future::Future<
7159        Output = crate::Result<crate::Response<crate::model::PreviewFeatureList>>,
7160    > + Send {
7161        gaxi::unimplemented::unimplemented_stub()
7162    }
7163
7164    /// Implements [super::client::PreviewFeatures::update].
7165    fn update(
7166        &self,
7167        _req: crate::model::preview_features::UpdateRequest,
7168        _options: crate::RequestOptions,
7169    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7170    {
7171        gaxi::unimplemented::unimplemented_stub()
7172    }
7173
7174    /// Implements [super::client::PreviewFeatures::get_operation].
7175    fn get_operation(
7176        &self,
7177        _req: crate::model::global_operations::GetRequest,
7178        _options: crate::RequestOptions,
7179    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7180    {
7181        gaxi::unimplemented::unimplemented_stub()
7182    }
7183
7184    /// Returns the polling error policy.
7185    ///
7186    /// When mocking, this method is typically irrelevant. Do not try to verify
7187    /// it is called by your mocks.
7188    fn get_polling_error_policy(
7189        &self,
7190        _options: &crate::RequestOptions,
7191    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7192        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7193    }
7194
7195    /// Returns the polling backoff policy.
7196    ///
7197    /// When mocking, this method is typically irrelevant. Do not try to verify
7198    /// it is called by your mocks.
7199    fn get_polling_backoff_policy(
7200        &self,
7201        _options: &crate::RequestOptions,
7202    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7203        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7204    }
7205}
7206
7207/// Defines the trait used to implement [super::client::Projects].
7208///
7209/// Application developers may need to implement this trait to mock
7210/// `client::Projects`.  In other use-cases, application developers only
7211/// use `client::Projects` and need not be concerned with this trait or
7212/// its implementations.
7213///
7214/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7215/// too. To avoid breaking applications the trait provides a default
7216/// implementation of each method. Most of these implementations just return an
7217/// error.
7218#[cfg(feature = "projects")]
7219#[cfg_attr(docsrs, doc(cfg(feature = "projects")))]
7220pub trait Projects: std::fmt::Debug + Send + Sync {
7221    /// Implements [super::client::Projects::disable_xpn_host].
7222    fn disable_xpn_host(
7223        &self,
7224        _req: crate::model::projects::DisableXpnHostRequest,
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::disable_xpn_resource].
7232    fn disable_xpn_resource(
7233        &self,
7234        _req: crate::model::projects::DisableXpnResourceRequest,
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    /// Implements [super::client::Projects::enable_xpn_host].
7242    fn enable_xpn_host(
7243        &self,
7244        _req: crate::model::projects::EnableXpnHostRequest,
7245        _options: crate::RequestOptions,
7246    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7247    {
7248        gaxi::unimplemented::unimplemented_stub()
7249    }
7250
7251    /// Implements [super::client::Projects::enable_xpn_resource].
7252    fn enable_xpn_resource(
7253        &self,
7254        _req: crate::model::projects::EnableXpnResourceRequest,
7255        _options: crate::RequestOptions,
7256    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7257    {
7258        gaxi::unimplemented::unimplemented_stub()
7259    }
7260
7261    /// Implements [super::client::Projects::get].
7262    fn get(
7263        &self,
7264        _req: crate::model::projects::GetRequest,
7265        _options: crate::RequestOptions,
7266    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Project>>> + Send
7267    {
7268        gaxi::unimplemented::unimplemented_stub()
7269    }
7270
7271    /// Implements [super::client::Projects::get_xpn_host].
7272    fn get_xpn_host(
7273        &self,
7274        _req: crate::model::projects::GetXpnHostRequest,
7275        _options: crate::RequestOptions,
7276    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Project>>> + Send
7277    {
7278        gaxi::unimplemented::unimplemented_stub()
7279    }
7280
7281    /// Implements [super::client::Projects::get_xpn_resources].
7282    fn get_xpn_resources(
7283        &self,
7284        _req: crate::model::projects::GetXpnResourcesRequest,
7285        _options: crate::RequestOptions,
7286    ) -> impl std::future::Future<
7287        Output = crate::Result<crate::Response<crate::model::ProjectsGetXpnResources>>,
7288    > + Send {
7289        gaxi::unimplemented::unimplemented_stub()
7290    }
7291
7292    /// Implements [super::client::Projects::list_xpn_hosts].
7293    fn list_xpn_hosts(
7294        &self,
7295        _req: crate::model::projects::ListXpnHostsRequest,
7296        _options: crate::RequestOptions,
7297    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::XpnHostList>>>
7298    + Send {
7299        gaxi::unimplemented::unimplemented_stub()
7300    }
7301
7302    /// Implements [super::client::Projects::move_disk].
7303    fn move_disk(
7304        &self,
7305        _req: crate::model::projects::MoveDiskRequest,
7306        _options: crate::RequestOptions,
7307    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7308    {
7309        gaxi::unimplemented::unimplemented_stub()
7310    }
7311
7312    /// Implements [super::client::Projects::move_instance].
7313    fn move_instance(
7314        &self,
7315        _req: crate::model::projects::MoveInstanceRequest,
7316        _options: crate::RequestOptions,
7317    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7318    {
7319        gaxi::unimplemented::unimplemented_stub()
7320    }
7321
7322    /// Implements [super::client::Projects::set_cloud_armor_tier].
7323    fn set_cloud_armor_tier(
7324        &self,
7325        _req: crate::model::projects::SetCloudArmorTierRequest,
7326        _options: crate::RequestOptions,
7327    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7328    {
7329        gaxi::unimplemented::unimplemented_stub()
7330    }
7331
7332    /// Implements [super::client::Projects::set_common_instance_metadata].
7333    fn set_common_instance_metadata(
7334        &self,
7335        _req: crate::model::projects::SetCommonInstanceMetadataRequest,
7336        _options: crate::RequestOptions,
7337    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7338    {
7339        gaxi::unimplemented::unimplemented_stub()
7340    }
7341
7342    /// Implements [super::client::Projects::set_default_network_tier].
7343    fn set_default_network_tier(
7344        &self,
7345        _req: crate::model::projects::SetDefaultNetworkTierRequest,
7346        _options: crate::RequestOptions,
7347    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7348    {
7349        gaxi::unimplemented::unimplemented_stub()
7350    }
7351
7352    /// Implements [super::client::Projects::set_usage_export_bucket].
7353    fn set_usage_export_bucket(
7354        &self,
7355        _req: crate::model::projects::SetUsageExportBucketRequest,
7356        _options: crate::RequestOptions,
7357    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7358    {
7359        gaxi::unimplemented::unimplemented_stub()
7360    }
7361
7362    /// Implements [super::client::Projects::get_operation].
7363    fn get_operation(
7364        &self,
7365        _req: crate::model::global_operations::GetRequest,
7366        _options: crate::RequestOptions,
7367    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7368    {
7369        gaxi::unimplemented::unimplemented_stub()
7370    }
7371
7372    /// Returns the polling error policy.
7373    ///
7374    /// When mocking, this method is typically irrelevant. Do not try to verify
7375    /// it is called by your mocks.
7376    fn get_polling_error_policy(
7377        &self,
7378        _options: &crate::RequestOptions,
7379    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7380        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7381    }
7382
7383    /// Returns the polling backoff policy.
7384    ///
7385    /// When mocking, this method is typically irrelevant. Do not try to verify
7386    /// it is called by your mocks.
7387    fn get_polling_backoff_policy(
7388        &self,
7389        _options: &crate::RequestOptions,
7390    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7391        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7392    }
7393}
7394
7395/// Defines the trait used to implement [super::client::PublicAdvertisedPrefixes].
7396///
7397/// Application developers may need to implement this trait to mock
7398/// `client::PublicAdvertisedPrefixes`.  In other use-cases, application developers only
7399/// use `client::PublicAdvertisedPrefixes` and need not be concerned with this trait or
7400/// its implementations.
7401///
7402/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7403/// too. To avoid breaking applications the trait provides a default
7404/// implementation of each method. Most of these implementations just return an
7405/// error.
7406#[cfg(feature = "public-advertised-prefixes")]
7407#[cfg_attr(docsrs, doc(cfg(feature = "public-advertised-prefixes")))]
7408pub trait PublicAdvertisedPrefixes: std::fmt::Debug + Send + Sync {
7409    /// Implements [super::client::PublicAdvertisedPrefixes::announce].
7410    fn announce(
7411        &self,
7412        _req: crate::model::public_advertised_prefixes::AnnounceRequest,
7413        _options: crate::RequestOptions,
7414    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7415    {
7416        gaxi::unimplemented::unimplemented_stub()
7417    }
7418
7419    /// Implements [super::client::PublicAdvertisedPrefixes::delete].
7420    fn delete(
7421        &self,
7422        _req: crate::model::public_advertised_prefixes::DeleteRequest,
7423        _options: crate::RequestOptions,
7424    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7425    {
7426        gaxi::unimplemented::unimplemented_stub()
7427    }
7428
7429    /// Implements [super::client::PublicAdvertisedPrefixes::get].
7430    fn get(
7431        &self,
7432        _req: crate::model::public_advertised_prefixes::GetRequest,
7433        _options: crate::RequestOptions,
7434    ) -> impl std::future::Future<
7435        Output = crate::Result<crate::Response<crate::model::PublicAdvertisedPrefix>>,
7436    > + Send {
7437        gaxi::unimplemented::unimplemented_stub()
7438    }
7439
7440    /// Implements [super::client::PublicAdvertisedPrefixes::insert].
7441    fn insert(
7442        &self,
7443        _req: crate::model::public_advertised_prefixes::InsertRequest,
7444        _options: crate::RequestOptions,
7445    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7446    {
7447        gaxi::unimplemented::unimplemented_stub()
7448    }
7449
7450    /// Implements [super::client::PublicAdvertisedPrefixes::list].
7451    fn list(
7452        &self,
7453        _req: crate::model::public_advertised_prefixes::ListRequest,
7454        _options: crate::RequestOptions,
7455    ) -> impl std::future::Future<
7456        Output = crate::Result<crate::Response<crate::model::PublicAdvertisedPrefixList>>,
7457    > + Send {
7458        gaxi::unimplemented::unimplemented_stub()
7459    }
7460
7461    /// Implements [super::client::PublicAdvertisedPrefixes::patch].
7462    fn patch(
7463        &self,
7464        _req: crate::model::public_advertised_prefixes::PatchRequest,
7465        _options: crate::RequestOptions,
7466    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7467    {
7468        gaxi::unimplemented::unimplemented_stub()
7469    }
7470
7471    /// Implements [super::client::PublicAdvertisedPrefixes::withdraw].
7472    fn withdraw(
7473        &self,
7474        _req: crate::model::public_advertised_prefixes::WithdrawRequest,
7475        _options: crate::RequestOptions,
7476    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7477    {
7478        gaxi::unimplemented::unimplemented_stub()
7479    }
7480
7481    /// Implements [super::client::PublicAdvertisedPrefixes::get_operation].
7482    fn get_operation(
7483        &self,
7484        _req: crate::model::global_operations::GetRequest,
7485        _options: crate::RequestOptions,
7486    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7487    {
7488        gaxi::unimplemented::unimplemented_stub()
7489    }
7490
7491    /// Returns the polling error policy.
7492    ///
7493    /// When mocking, this method is typically irrelevant. Do not try to verify
7494    /// it is called by your mocks.
7495    fn get_polling_error_policy(
7496        &self,
7497        _options: &crate::RequestOptions,
7498    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7499        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7500    }
7501
7502    /// Returns the polling backoff policy.
7503    ///
7504    /// When mocking, this method is typically irrelevant. Do not try to verify
7505    /// it is called by your mocks.
7506    fn get_polling_backoff_policy(
7507        &self,
7508        _options: &crate::RequestOptions,
7509    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7510        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7511    }
7512}
7513
7514/// Defines the trait used to implement [super::client::PublicDelegatedPrefixes].
7515///
7516/// Application developers may need to implement this trait to mock
7517/// `client::PublicDelegatedPrefixes`.  In other use-cases, application developers only
7518/// use `client::PublicDelegatedPrefixes` and need not be concerned with this trait or
7519/// its implementations.
7520///
7521/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7522/// too. To avoid breaking applications the trait provides a default
7523/// implementation of each method. Most of these implementations just return an
7524/// error.
7525#[cfg(feature = "public-delegated-prefixes")]
7526#[cfg_attr(docsrs, doc(cfg(feature = "public-delegated-prefixes")))]
7527pub trait PublicDelegatedPrefixes: std::fmt::Debug + Send + Sync {
7528    /// Implements [super::client::PublicDelegatedPrefixes::aggregated_list].
7529    fn aggregated_list(
7530        &self,
7531        _req: crate::model::public_delegated_prefixes::AggregatedListRequest,
7532        _options: crate::RequestOptions,
7533    ) -> impl std::future::Future<
7534        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixAggregatedList>>,
7535    > + Send {
7536        gaxi::unimplemented::unimplemented_stub()
7537    }
7538
7539    /// Implements [super::client::PublicDelegatedPrefixes::announce].
7540    fn announce(
7541        &self,
7542        _req: crate::model::public_delegated_prefixes::AnnounceRequest,
7543        _options: crate::RequestOptions,
7544    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7545    {
7546        gaxi::unimplemented::unimplemented_stub()
7547    }
7548
7549    /// Implements [super::client::PublicDelegatedPrefixes::delete].
7550    fn delete(
7551        &self,
7552        _req: crate::model::public_delegated_prefixes::DeleteRequest,
7553        _options: crate::RequestOptions,
7554    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7555    {
7556        gaxi::unimplemented::unimplemented_stub()
7557    }
7558
7559    /// Implements [super::client::PublicDelegatedPrefixes::get].
7560    fn get(
7561        &self,
7562        _req: crate::model::public_delegated_prefixes::GetRequest,
7563        _options: crate::RequestOptions,
7564    ) -> impl std::future::Future<
7565        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefix>>,
7566    > + Send {
7567        gaxi::unimplemented::unimplemented_stub()
7568    }
7569
7570    /// Implements [super::client::PublicDelegatedPrefixes::insert].
7571    fn insert(
7572        &self,
7573        _req: crate::model::public_delegated_prefixes::InsertRequest,
7574        _options: crate::RequestOptions,
7575    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7576    {
7577        gaxi::unimplemented::unimplemented_stub()
7578    }
7579
7580    /// Implements [super::client::PublicDelegatedPrefixes::list].
7581    fn list(
7582        &self,
7583        _req: crate::model::public_delegated_prefixes::ListRequest,
7584        _options: crate::RequestOptions,
7585    ) -> impl std::future::Future<
7586        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixList>>,
7587    > + Send {
7588        gaxi::unimplemented::unimplemented_stub()
7589    }
7590
7591    /// Implements [super::client::PublicDelegatedPrefixes::patch].
7592    fn patch(
7593        &self,
7594        _req: crate::model::public_delegated_prefixes::PatchRequest,
7595        _options: crate::RequestOptions,
7596    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7597    {
7598        gaxi::unimplemented::unimplemented_stub()
7599    }
7600
7601    /// Implements [super::client::PublicDelegatedPrefixes::withdraw].
7602    fn withdraw(
7603        &self,
7604        _req: crate::model::public_delegated_prefixes::WithdrawRequest,
7605        _options: crate::RequestOptions,
7606    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7607    {
7608        gaxi::unimplemented::unimplemented_stub()
7609    }
7610
7611    /// Implements [super::client::PublicDelegatedPrefixes::get_operation].
7612    fn get_operation(
7613        &self,
7614        _req: crate::model::region_operations::GetRequest,
7615        _options: crate::RequestOptions,
7616    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7617    {
7618        gaxi::unimplemented::unimplemented_stub()
7619    }
7620
7621    /// Returns the polling error policy.
7622    ///
7623    /// When mocking, this method is typically irrelevant. Do not try to verify
7624    /// it is called by your mocks.
7625    fn get_polling_error_policy(
7626        &self,
7627        _options: &crate::RequestOptions,
7628    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7629        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7630    }
7631
7632    /// Returns the polling backoff policy.
7633    ///
7634    /// When mocking, this method is typically irrelevant. Do not try to verify
7635    /// it is called by your mocks.
7636    fn get_polling_backoff_policy(
7637        &self,
7638        _options: &crate::RequestOptions,
7639    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7640        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7641    }
7642}
7643
7644/// Defines the trait used to implement [super::client::RegionAutoscalers].
7645///
7646/// Application developers may need to implement this trait to mock
7647/// `client::RegionAutoscalers`.  In other use-cases, application developers only
7648/// use `client::RegionAutoscalers` and need not be concerned with this trait or
7649/// its implementations.
7650///
7651/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7652/// too. To avoid breaking applications the trait provides a default
7653/// implementation of each method. Most of these implementations just return an
7654/// error.
7655#[cfg(feature = "region-autoscalers")]
7656#[cfg_attr(docsrs, doc(cfg(feature = "region-autoscalers")))]
7657pub trait RegionAutoscalers: std::fmt::Debug + Send + Sync {
7658    /// Implements [super::client::RegionAutoscalers::delete].
7659    fn delete(
7660        &self,
7661        _req: crate::model::region_autoscalers::DeleteRequest,
7662        _options: crate::RequestOptions,
7663    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7664    {
7665        gaxi::unimplemented::unimplemented_stub()
7666    }
7667
7668    /// Implements [super::client::RegionAutoscalers::get].
7669    fn get(
7670        &self,
7671        _req: crate::model::region_autoscalers::GetRequest,
7672        _options: crate::RequestOptions,
7673    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Autoscaler>>> + Send
7674    {
7675        gaxi::unimplemented::unimplemented_stub()
7676    }
7677
7678    /// Implements [super::client::RegionAutoscalers::insert].
7679    fn insert(
7680        &self,
7681        _req: crate::model::region_autoscalers::InsertRequest,
7682        _options: crate::RequestOptions,
7683    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7684    {
7685        gaxi::unimplemented::unimplemented_stub()
7686    }
7687
7688    /// Implements [super::client::RegionAutoscalers::list].
7689    fn list(
7690        &self,
7691        _req: crate::model::region_autoscalers::ListRequest,
7692        _options: crate::RequestOptions,
7693    ) -> impl std::future::Future<
7694        Output = crate::Result<crate::Response<crate::model::RegionAutoscalerList>>,
7695    > + Send {
7696        gaxi::unimplemented::unimplemented_stub()
7697    }
7698
7699    /// Implements [super::client::RegionAutoscalers::patch].
7700    fn patch(
7701        &self,
7702        _req: crate::model::region_autoscalers::PatchRequest,
7703        _options: crate::RequestOptions,
7704    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7705    {
7706        gaxi::unimplemented::unimplemented_stub()
7707    }
7708
7709    /// Implements [super::client::RegionAutoscalers::test_iam_permissions].
7710    fn test_iam_permissions(
7711        &self,
7712        _req: crate::model::region_autoscalers::TestIamPermissionsRequest,
7713        _options: crate::RequestOptions,
7714    ) -> impl std::future::Future<
7715        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7716    > + Send {
7717        gaxi::unimplemented::unimplemented_stub()
7718    }
7719
7720    /// Implements [super::client::RegionAutoscalers::update].
7721    fn update(
7722        &self,
7723        _req: crate::model::region_autoscalers::UpdateRequest,
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::RegionAutoscalers::get_operation].
7731    fn get_operation(
7732        &self,
7733        _req: crate::model::region_operations::GetRequest,
7734        _options: crate::RequestOptions,
7735    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7736    {
7737        gaxi::unimplemented::unimplemented_stub()
7738    }
7739
7740    /// Returns the polling error policy.
7741    ///
7742    /// When mocking, this method is typically irrelevant. Do not try to verify
7743    /// it is called by your mocks.
7744    fn get_polling_error_policy(
7745        &self,
7746        _options: &crate::RequestOptions,
7747    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7748        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7749    }
7750
7751    /// Returns the polling backoff policy.
7752    ///
7753    /// When mocking, this method is typically irrelevant. Do not try to verify
7754    /// it is called by your mocks.
7755    fn get_polling_backoff_policy(
7756        &self,
7757        _options: &crate::RequestOptions,
7758    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7759        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7760    }
7761}
7762
7763/// Defines the trait used to implement [super::client::RegionBackendBuckets].
7764///
7765/// Application developers may need to implement this trait to mock
7766/// `client::RegionBackendBuckets`.  In other use-cases, application developers only
7767/// use `client::RegionBackendBuckets` and need not be concerned with this trait or
7768/// its implementations.
7769///
7770/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7771/// too. To avoid breaking applications the trait provides a default
7772/// implementation of each method. Most of these implementations just return an
7773/// error.
7774#[cfg(feature = "region-backend-buckets")]
7775#[cfg_attr(docsrs, doc(cfg(feature = "region-backend-buckets")))]
7776pub trait RegionBackendBuckets: std::fmt::Debug + Send + Sync {
7777    /// Implements [super::client::RegionBackendBuckets::delete].
7778    fn delete(
7779        &self,
7780        _req: crate::model::region_backend_buckets::DeleteRequest,
7781        _options: crate::RequestOptions,
7782    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7783    {
7784        gaxi::unimplemented::unimplemented_stub()
7785    }
7786
7787    /// Implements [super::client::RegionBackendBuckets::get].
7788    fn get(
7789        &self,
7790        _req: crate::model::region_backend_buckets::GetRequest,
7791        _options: crate::RequestOptions,
7792    ) -> impl std::future::Future<
7793        Output = crate::Result<crate::Response<crate::model::BackendBucket>>,
7794    > + Send {
7795        gaxi::unimplemented::unimplemented_stub()
7796    }
7797
7798    /// Implements [super::client::RegionBackendBuckets::get_iam_policy].
7799    fn get_iam_policy(
7800        &self,
7801        _req: crate::model::region_backend_buckets::GetIamPolicyRequest,
7802        _options: crate::RequestOptions,
7803    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7804    {
7805        gaxi::unimplemented::unimplemented_stub()
7806    }
7807
7808    /// Implements [super::client::RegionBackendBuckets::insert].
7809    fn insert(
7810        &self,
7811        _req: crate::model::region_backend_buckets::InsertRequest,
7812        _options: crate::RequestOptions,
7813    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7814    {
7815        gaxi::unimplemented::unimplemented_stub()
7816    }
7817
7818    /// Implements [super::client::RegionBackendBuckets::list].
7819    fn list(
7820        &self,
7821        _req: crate::model::region_backend_buckets::ListRequest,
7822        _options: crate::RequestOptions,
7823    ) -> impl std::future::Future<
7824        Output = crate::Result<crate::Response<crate::model::BackendBucketList>>,
7825    > + Send {
7826        gaxi::unimplemented::unimplemented_stub()
7827    }
7828
7829    /// Implements [super::client::RegionBackendBuckets::list_usable].
7830    fn list_usable(
7831        &self,
7832        _req: crate::model::region_backend_buckets::ListUsableRequest,
7833        _options: crate::RequestOptions,
7834    ) -> impl std::future::Future<
7835        Output = crate::Result<crate::Response<crate::model::BackendBucketListUsable>>,
7836    > + Send {
7837        gaxi::unimplemented::unimplemented_stub()
7838    }
7839
7840    /// Implements [super::client::RegionBackendBuckets::patch].
7841    fn patch(
7842        &self,
7843        _req: crate::model::region_backend_buckets::PatchRequest,
7844        _options: crate::RequestOptions,
7845    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7846    {
7847        gaxi::unimplemented::unimplemented_stub()
7848    }
7849
7850    /// Implements [super::client::RegionBackendBuckets::set_iam_policy].
7851    fn set_iam_policy(
7852        &self,
7853        _req: crate::model::region_backend_buckets::SetIamPolicyRequest,
7854        _options: crate::RequestOptions,
7855    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7856    {
7857        gaxi::unimplemented::unimplemented_stub()
7858    }
7859
7860    /// Implements [super::client::RegionBackendBuckets::test_iam_permissions].
7861    fn test_iam_permissions(
7862        &self,
7863        _req: crate::model::region_backend_buckets::TestIamPermissionsRequest,
7864        _options: crate::RequestOptions,
7865    ) -> impl std::future::Future<
7866        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7867    > + Send {
7868        gaxi::unimplemented::unimplemented_stub()
7869    }
7870
7871    /// Implements [super::client::RegionBackendBuckets::get_operation].
7872    fn get_operation(
7873        &self,
7874        _req: crate::model::region_operations::GetRequest,
7875        _options: crate::RequestOptions,
7876    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7877    {
7878        gaxi::unimplemented::unimplemented_stub()
7879    }
7880
7881    /// Returns the polling error policy.
7882    ///
7883    /// When mocking, this method is typically irrelevant. Do not try to verify
7884    /// it is called by your mocks.
7885    fn get_polling_error_policy(
7886        &self,
7887        _options: &crate::RequestOptions,
7888    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7889        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7890    }
7891
7892    /// Returns the polling backoff policy.
7893    ///
7894    /// When mocking, this method is typically irrelevant. Do not try to verify
7895    /// it is called by your mocks.
7896    fn get_polling_backoff_policy(
7897        &self,
7898        _options: &crate::RequestOptions,
7899    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7900        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7901    }
7902}
7903
7904/// Defines the trait used to implement [super::client::RegionBackendServices].
7905///
7906/// Application developers may need to implement this trait to mock
7907/// `client::RegionBackendServices`.  In other use-cases, application developers only
7908/// use `client::RegionBackendServices` and need not be concerned with this trait or
7909/// its implementations.
7910///
7911/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7912/// too. To avoid breaking applications the trait provides a default
7913/// implementation of each method. Most of these implementations just return an
7914/// error.
7915#[cfg(feature = "region-backend-services")]
7916#[cfg_attr(docsrs, doc(cfg(feature = "region-backend-services")))]
7917pub trait RegionBackendServices: std::fmt::Debug + Send + Sync {
7918    /// Implements [super::client::RegionBackendServices::delete].
7919    fn delete(
7920        &self,
7921        _req: crate::model::region_backend_services::DeleteRequest,
7922        _options: crate::RequestOptions,
7923    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7924    {
7925        gaxi::unimplemented::unimplemented_stub()
7926    }
7927
7928    /// Implements [super::client::RegionBackendServices::get].
7929    fn get(
7930        &self,
7931        _req: crate::model::region_backend_services::GetRequest,
7932        _options: crate::RequestOptions,
7933    ) -> impl std::future::Future<
7934        Output = crate::Result<crate::Response<crate::model::BackendService>>,
7935    > + Send {
7936        gaxi::unimplemented::unimplemented_stub()
7937    }
7938
7939    /// Implements [super::client::RegionBackendServices::get_health].
7940    fn get_health(
7941        &self,
7942        _req: crate::model::region_backend_services::GetHealthRequest,
7943        _options: crate::RequestOptions,
7944    ) -> impl std::future::Future<
7945        Output = crate::Result<crate::Response<crate::model::BackendServiceGroupHealth>>,
7946    > + Send {
7947        gaxi::unimplemented::unimplemented_stub()
7948    }
7949
7950    /// Implements [super::client::RegionBackendServices::get_iam_policy].
7951    fn get_iam_policy(
7952        &self,
7953        _req: crate::model::region_backend_services::GetIamPolicyRequest,
7954        _options: crate::RequestOptions,
7955    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7956    {
7957        gaxi::unimplemented::unimplemented_stub()
7958    }
7959
7960    /// Implements [super::client::RegionBackendServices::insert].
7961    fn insert(
7962        &self,
7963        _req: crate::model::region_backend_services::InsertRequest,
7964        _options: crate::RequestOptions,
7965    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7966    {
7967        gaxi::unimplemented::unimplemented_stub()
7968    }
7969
7970    /// Implements [super::client::RegionBackendServices::list].
7971    fn list(
7972        &self,
7973        _req: crate::model::region_backend_services::ListRequest,
7974        _options: crate::RequestOptions,
7975    ) -> impl std::future::Future<
7976        Output = crate::Result<crate::Response<crate::model::BackendServiceList>>,
7977    > + Send {
7978        gaxi::unimplemented::unimplemented_stub()
7979    }
7980
7981    /// Implements [super::client::RegionBackendServices::list_usable].
7982    fn list_usable(
7983        &self,
7984        _req: crate::model::region_backend_services::ListUsableRequest,
7985        _options: crate::RequestOptions,
7986    ) -> impl std::future::Future<
7987        Output = crate::Result<crate::Response<crate::model::BackendServiceListUsable>>,
7988    > + Send {
7989        gaxi::unimplemented::unimplemented_stub()
7990    }
7991
7992    /// Implements [super::client::RegionBackendServices::patch].
7993    fn patch(
7994        &self,
7995        _req: crate::model::region_backend_services::PatchRequest,
7996        _options: crate::RequestOptions,
7997    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7998    {
7999        gaxi::unimplemented::unimplemented_stub()
8000    }
8001
8002    /// Implements [super::client::RegionBackendServices::set_iam_policy].
8003    fn set_iam_policy(
8004        &self,
8005        _req: crate::model::region_backend_services::SetIamPolicyRequest,
8006        _options: crate::RequestOptions,
8007    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8008    {
8009        gaxi::unimplemented::unimplemented_stub()
8010    }
8011
8012    /// Implements [super::client::RegionBackendServices::set_security_policy].
8013    fn set_security_policy(
8014        &self,
8015        _req: crate::model::region_backend_services::SetSecurityPolicyRequest,
8016        _options: crate::RequestOptions,
8017    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8018    {
8019        gaxi::unimplemented::unimplemented_stub()
8020    }
8021
8022    /// Implements [super::client::RegionBackendServices::test_iam_permissions].
8023    fn test_iam_permissions(
8024        &self,
8025        _req: crate::model::region_backend_services::TestIamPermissionsRequest,
8026        _options: crate::RequestOptions,
8027    ) -> impl std::future::Future<
8028        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8029    > + Send {
8030        gaxi::unimplemented::unimplemented_stub()
8031    }
8032
8033    /// Implements [super::client::RegionBackendServices::update].
8034    fn update(
8035        &self,
8036        _req: crate::model::region_backend_services::UpdateRequest,
8037        _options: crate::RequestOptions,
8038    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8039    {
8040        gaxi::unimplemented::unimplemented_stub()
8041    }
8042
8043    /// Implements [super::client::RegionBackendServices::get_operation].
8044    fn get_operation(
8045        &self,
8046        _req: crate::model::region_operations::GetRequest,
8047        _options: crate::RequestOptions,
8048    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8049    {
8050        gaxi::unimplemented::unimplemented_stub()
8051    }
8052
8053    /// Returns the polling error policy.
8054    ///
8055    /// When mocking, this method is typically irrelevant. Do not try to verify
8056    /// it is called by your mocks.
8057    fn get_polling_error_policy(
8058        &self,
8059        _options: &crate::RequestOptions,
8060    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8061        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8062    }
8063
8064    /// Returns the polling backoff policy.
8065    ///
8066    /// When mocking, this method is typically irrelevant. Do not try to verify
8067    /// it is called by your mocks.
8068    fn get_polling_backoff_policy(
8069        &self,
8070        _options: &crate::RequestOptions,
8071    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8072        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8073    }
8074}
8075
8076/// Defines the trait used to implement [super::client::RegionCommitments].
8077///
8078/// Application developers may need to implement this trait to mock
8079/// `client::RegionCommitments`.  In other use-cases, application developers only
8080/// use `client::RegionCommitments` and need not be concerned with this trait or
8081/// its implementations.
8082///
8083/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8084/// too. To avoid breaking applications the trait provides a default
8085/// implementation of each method. Most of these implementations just return an
8086/// error.
8087#[cfg(feature = "region-commitments")]
8088#[cfg_attr(docsrs, doc(cfg(feature = "region-commitments")))]
8089pub trait RegionCommitments: std::fmt::Debug + Send + Sync {
8090    /// Implements [super::client::RegionCommitments::aggregated_list].
8091    fn aggregated_list(
8092        &self,
8093        _req: crate::model::region_commitments::AggregatedListRequest,
8094        _options: crate::RequestOptions,
8095    ) -> impl std::future::Future<
8096        Output = crate::Result<crate::Response<crate::model::CommitmentAggregatedList>>,
8097    > + Send {
8098        gaxi::unimplemented::unimplemented_stub()
8099    }
8100
8101    /// Implements [super::client::RegionCommitments::get].
8102    fn get(
8103        &self,
8104        _req: crate::model::region_commitments::GetRequest,
8105        _options: crate::RequestOptions,
8106    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Commitment>>> + Send
8107    {
8108        gaxi::unimplemented::unimplemented_stub()
8109    }
8110
8111    /// Implements [super::client::RegionCommitments::insert].
8112    fn insert(
8113        &self,
8114        _req: crate::model::region_commitments::InsertRequest,
8115        _options: crate::RequestOptions,
8116    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8117    {
8118        gaxi::unimplemented::unimplemented_stub()
8119    }
8120
8121    /// Implements [super::client::RegionCommitments::list].
8122    fn list(
8123        &self,
8124        _req: crate::model::region_commitments::ListRequest,
8125        _options: crate::RequestOptions,
8126    ) -> impl std::future::Future<
8127        Output = crate::Result<crate::Response<crate::model::CommitmentList>>,
8128    > + Send {
8129        gaxi::unimplemented::unimplemented_stub()
8130    }
8131
8132    /// Implements [super::client::RegionCommitments::update].
8133    fn update(
8134        &self,
8135        _req: crate::model::region_commitments::UpdateRequest,
8136        _options: crate::RequestOptions,
8137    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8138    {
8139        gaxi::unimplemented::unimplemented_stub()
8140    }
8141
8142    /// Implements [super::client::RegionCommitments::get_operation].
8143    fn get_operation(
8144        &self,
8145        _req: crate::model::region_operations::GetRequest,
8146        _options: crate::RequestOptions,
8147    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8148    {
8149        gaxi::unimplemented::unimplemented_stub()
8150    }
8151
8152    /// Returns the polling error policy.
8153    ///
8154    /// When mocking, this method is typically irrelevant. Do not try to verify
8155    /// it is called by your mocks.
8156    fn get_polling_error_policy(
8157        &self,
8158        _options: &crate::RequestOptions,
8159    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8160        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8161    }
8162
8163    /// Returns the polling backoff policy.
8164    ///
8165    /// When mocking, this method is typically irrelevant. Do not try to verify
8166    /// it is called by your mocks.
8167    fn get_polling_backoff_policy(
8168        &self,
8169        _options: &crate::RequestOptions,
8170    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8171        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8172    }
8173}
8174
8175/// Defines the trait used to implement [super::client::RegionCompositeHealthChecks].
8176///
8177/// Application developers may need to implement this trait to mock
8178/// `client::RegionCompositeHealthChecks`.  In other use-cases, application developers only
8179/// use `client::RegionCompositeHealthChecks` and need not be concerned with this trait or
8180/// its implementations.
8181///
8182/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8183/// too. To avoid breaking applications the trait provides a default
8184/// implementation of each method. Most of these implementations just return an
8185/// error.
8186#[cfg(feature = "region-composite-health-checks")]
8187#[cfg_attr(docsrs, doc(cfg(feature = "region-composite-health-checks")))]
8188pub trait RegionCompositeHealthChecks: std::fmt::Debug + Send + Sync {
8189    /// Implements [super::client::RegionCompositeHealthChecks::aggregated_list].
8190    fn aggregated_list(
8191        &self,
8192        _req: crate::model::region_composite_health_checks::AggregatedListRequest,
8193        _options: crate::RequestOptions,
8194    ) -> impl std::future::Future<
8195        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckAggregatedList>>,
8196    > + Send {
8197        gaxi::unimplemented::unimplemented_stub()
8198    }
8199
8200    /// Implements [super::client::RegionCompositeHealthChecks::delete].
8201    fn delete(
8202        &self,
8203        _req: crate::model::region_composite_health_checks::DeleteRequest,
8204        _options: crate::RequestOptions,
8205    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8206    {
8207        gaxi::unimplemented::unimplemented_stub()
8208    }
8209
8210    /// Implements [super::client::RegionCompositeHealthChecks::get].
8211    fn get(
8212        &self,
8213        _req: crate::model::region_composite_health_checks::GetRequest,
8214        _options: crate::RequestOptions,
8215    ) -> impl std::future::Future<
8216        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheck>>,
8217    > + Send {
8218        gaxi::unimplemented::unimplemented_stub()
8219    }
8220
8221    /// Implements [super::client::RegionCompositeHealthChecks::get_health].
8222    fn get_health(
8223        &self,
8224        _req: crate::model::region_composite_health_checks::GetHealthRequest,
8225        _options: crate::RequestOptions,
8226    ) -> impl std::future::Future<
8227        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckHealth>>,
8228    > + Send {
8229        gaxi::unimplemented::unimplemented_stub()
8230    }
8231
8232    /// Implements [super::client::RegionCompositeHealthChecks::insert].
8233    fn insert(
8234        &self,
8235        _req: crate::model::region_composite_health_checks::InsertRequest,
8236        _options: crate::RequestOptions,
8237    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8238    {
8239        gaxi::unimplemented::unimplemented_stub()
8240    }
8241
8242    /// Implements [super::client::RegionCompositeHealthChecks::list].
8243    fn list(
8244        &self,
8245        _req: crate::model::region_composite_health_checks::ListRequest,
8246        _options: crate::RequestOptions,
8247    ) -> impl std::future::Future<
8248        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckList>>,
8249    > + Send {
8250        gaxi::unimplemented::unimplemented_stub()
8251    }
8252
8253    /// Implements [super::client::RegionCompositeHealthChecks::patch].
8254    fn patch(
8255        &self,
8256        _req: crate::model::region_composite_health_checks::PatchRequest,
8257        _options: crate::RequestOptions,
8258    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8259    {
8260        gaxi::unimplemented::unimplemented_stub()
8261    }
8262
8263    /// Implements [super::client::RegionCompositeHealthChecks::test_iam_permissions].
8264    fn test_iam_permissions(
8265        &self,
8266        _req: crate::model::region_composite_health_checks::TestIamPermissionsRequest,
8267        _options: crate::RequestOptions,
8268    ) -> impl std::future::Future<
8269        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8270    > + Send {
8271        gaxi::unimplemented::unimplemented_stub()
8272    }
8273
8274    /// Implements [super::client::RegionCompositeHealthChecks::get_operation].
8275    fn get_operation(
8276        &self,
8277        _req: crate::model::region_operations::GetRequest,
8278        _options: crate::RequestOptions,
8279    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8280    {
8281        gaxi::unimplemented::unimplemented_stub()
8282    }
8283
8284    /// Returns the polling error policy.
8285    ///
8286    /// When mocking, this method is typically irrelevant. Do not try to verify
8287    /// it is called by your mocks.
8288    fn get_polling_error_policy(
8289        &self,
8290        _options: &crate::RequestOptions,
8291    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8292        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8293    }
8294
8295    /// Returns the polling backoff policy.
8296    ///
8297    /// When mocking, this method is typically irrelevant. Do not try to verify
8298    /// it is called by your mocks.
8299    fn get_polling_backoff_policy(
8300        &self,
8301        _options: &crate::RequestOptions,
8302    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8303        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8304    }
8305}
8306
8307/// Defines the trait used to implement [super::client::RegionDiskTypes].
8308///
8309/// Application developers may need to implement this trait to mock
8310/// `client::RegionDiskTypes`.  In other use-cases, application developers only
8311/// use `client::RegionDiskTypes` and need not be concerned with this trait or
8312/// its implementations.
8313///
8314/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8315/// too. To avoid breaking applications the trait provides a default
8316/// implementation of each method. Most of these implementations just return an
8317/// error.
8318#[cfg(feature = "region-disk-types")]
8319#[cfg_attr(docsrs, doc(cfg(feature = "region-disk-types")))]
8320pub trait RegionDiskTypes: std::fmt::Debug + Send + Sync {
8321    /// Implements [super::client::RegionDiskTypes::get].
8322    fn get(
8323        &self,
8324        _req: crate::model::region_disk_types::GetRequest,
8325        _options: crate::RequestOptions,
8326    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskType>>> + Send
8327    {
8328        gaxi::unimplemented::unimplemented_stub()
8329    }
8330
8331    /// Implements [super::client::RegionDiskTypes::list].
8332    fn list(
8333        &self,
8334        _req: crate::model::region_disk_types::ListRequest,
8335        _options: crate::RequestOptions,
8336    ) -> impl std::future::Future<
8337        Output = crate::Result<crate::Response<crate::model::RegionDiskTypeList>>,
8338    > + Send {
8339        gaxi::unimplemented::unimplemented_stub()
8340    }
8341}
8342
8343/// Defines the trait used to implement [super::client::RegionDisks].
8344///
8345/// Application developers may need to implement this trait to mock
8346/// `client::RegionDisks`.  In other use-cases, application developers only
8347/// use `client::RegionDisks` and need not be concerned with this trait or
8348/// its implementations.
8349///
8350/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8351/// too. To avoid breaking applications the trait provides a default
8352/// implementation of each method. Most of these implementations just return an
8353/// error.
8354#[cfg(feature = "region-disks")]
8355#[cfg_attr(docsrs, doc(cfg(feature = "region-disks")))]
8356pub trait RegionDisks: std::fmt::Debug + Send + Sync {
8357    /// Implements [super::client::RegionDisks::add_resource_policies].
8358    fn add_resource_policies(
8359        &self,
8360        _req: crate::model::region_disks::AddResourcePoliciesRequest,
8361        _options: crate::RequestOptions,
8362    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8363    {
8364        gaxi::unimplemented::unimplemented_stub()
8365    }
8366
8367    /// Implements [super::client::RegionDisks::bulk_insert].
8368    fn bulk_insert(
8369        &self,
8370        _req: crate::model::region_disks::BulkInsertRequest,
8371        _options: crate::RequestOptions,
8372    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8373    {
8374        gaxi::unimplemented::unimplemented_stub()
8375    }
8376
8377    /// Implements [super::client::RegionDisks::create_snapshot].
8378    fn create_snapshot(
8379        &self,
8380        _req: crate::model::region_disks::CreateSnapshotRequest,
8381        _options: crate::RequestOptions,
8382    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8383    {
8384        gaxi::unimplemented::unimplemented_stub()
8385    }
8386
8387    /// Implements [super::client::RegionDisks::delete].
8388    fn delete(
8389        &self,
8390        _req: crate::model::region_disks::DeleteRequest,
8391        _options: crate::RequestOptions,
8392    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8393    {
8394        gaxi::unimplemented::unimplemented_stub()
8395    }
8396
8397    /// Implements [super::client::RegionDisks::get].
8398    fn get(
8399        &self,
8400        _req: crate::model::region_disks::GetRequest,
8401        _options: crate::RequestOptions,
8402    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Disk>>> + Send
8403    {
8404        gaxi::unimplemented::unimplemented_stub()
8405    }
8406
8407    /// Implements [super::client::RegionDisks::get_iam_policy].
8408    fn get_iam_policy(
8409        &self,
8410        _req: crate::model::region_disks::GetIamPolicyRequest,
8411        _options: crate::RequestOptions,
8412    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8413    {
8414        gaxi::unimplemented::unimplemented_stub()
8415    }
8416
8417    /// Implements [super::client::RegionDisks::insert].
8418    fn insert(
8419        &self,
8420        _req: crate::model::region_disks::InsertRequest,
8421        _options: crate::RequestOptions,
8422    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8423    {
8424        gaxi::unimplemented::unimplemented_stub()
8425    }
8426
8427    /// Implements [super::client::RegionDisks::list].
8428    fn list(
8429        &self,
8430        _req: crate::model::region_disks::ListRequest,
8431        _options: crate::RequestOptions,
8432    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskList>>> + Send
8433    {
8434        gaxi::unimplemented::unimplemented_stub()
8435    }
8436
8437    /// Implements [super::client::RegionDisks::remove_resource_policies].
8438    fn remove_resource_policies(
8439        &self,
8440        _req: crate::model::region_disks::RemoveResourcePoliciesRequest,
8441        _options: crate::RequestOptions,
8442    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8443    {
8444        gaxi::unimplemented::unimplemented_stub()
8445    }
8446
8447    /// Implements [super::client::RegionDisks::resize].
8448    fn resize(
8449        &self,
8450        _req: crate::model::region_disks::ResizeRequest,
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::RegionDisks::set_iam_policy].
8458    fn set_iam_policy(
8459        &self,
8460        _req: crate::model::region_disks::SetIamPolicyRequest,
8461        _options: crate::RequestOptions,
8462    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8463    {
8464        gaxi::unimplemented::unimplemented_stub()
8465    }
8466
8467    /// Implements [super::client::RegionDisks::set_labels].
8468    fn set_labels(
8469        &self,
8470        _req: crate::model::region_disks::SetLabelsRequest,
8471        _options: crate::RequestOptions,
8472    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8473    {
8474        gaxi::unimplemented::unimplemented_stub()
8475    }
8476
8477    /// Implements [super::client::RegionDisks::start_async_replication].
8478    fn start_async_replication(
8479        &self,
8480        _req: crate::model::region_disks::StartAsyncReplicationRequest,
8481        _options: crate::RequestOptions,
8482    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8483    {
8484        gaxi::unimplemented::unimplemented_stub()
8485    }
8486
8487    /// Implements [super::client::RegionDisks::stop_async_replication].
8488    fn stop_async_replication(
8489        &self,
8490        _req: crate::model::region_disks::StopAsyncReplicationRequest,
8491        _options: crate::RequestOptions,
8492    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8493    {
8494        gaxi::unimplemented::unimplemented_stub()
8495    }
8496
8497    /// Implements [super::client::RegionDisks::stop_group_async_replication].
8498    fn stop_group_async_replication(
8499        &self,
8500        _req: crate::model::region_disks::StopGroupAsyncReplicationRequest,
8501        _options: crate::RequestOptions,
8502    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8503    {
8504        gaxi::unimplemented::unimplemented_stub()
8505    }
8506
8507    /// Implements [super::client::RegionDisks::test_iam_permissions].
8508    fn test_iam_permissions(
8509        &self,
8510        _req: crate::model::region_disks::TestIamPermissionsRequest,
8511        _options: crate::RequestOptions,
8512    ) -> impl std::future::Future<
8513        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8514    > + Send {
8515        gaxi::unimplemented::unimplemented_stub()
8516    }
8517
8518    /// Implements [super::client::RegionDisks::update].
8519    fn update(
8520        &self,
8521        _req: crate::model::region_disks::UpdateRequest,
8522        _options: crate::RequestOptions,
8523    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8524    {
8525        gaxi::unimplemented::unimplemented_stub()
8526    }
8527
8528    /// Implements [super::client::RegionDisks::update_kms_key].
8529    fn update_kms_key(
8530        &self,
8531        _req: crate::model::region_disks::UpdateKmsKeyRequest,
8532        _options: crate::RequestOptions,
8533    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8534    {
8535        gaxi::unimplemented::unimplemented_stub()
8536    }
8537
8538    /// Implements [super::client::RegionDisks::get_operation].
8539    fn get_operation(
8540        &self,
8541        _req: crate::model::region_operations::GetRequest,
8542        _options: crate::RequestOptions,
8543    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8544    {
8545        gaxi::unimplemented::unimplemented_stub()
8546    }
8547
8548    /// Returns the polling error policy.
8549    ///
8550    /// When mocking, this method is typically irrelevant. Do not try to verify
8551    /// it is called by your mocks.
8552    fn get_polling_error_policy(
8553        &self,
8554        _options: &crate::RequestOptions,
8555    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8556        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8557    }
8558
8559    /// Returns the polling backoff policy.
8560    ///
8561    /// When mocking, this method is typically irrelevant. Do not try to verify
8562    /// it is called by your mocks.
8563    fn get_polling_backoff_policy(
8564        &self,
8565        _options: &crate::RequestOptions,
8566    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8567        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8568    }
8569}
8570
8571/// Defines the trait used to implement [super::client::RegionHealthAggregationPolicies].
8572///
8573/// Application developers may need to implement this trait to mock
8574/// `client::RegionHealthAggregationPolicies`.  In other use-cases, application developers only
8575/// use `client::RegionHealthAggregationPolicies` and need not be concerned with this trait or
8576/// its implementations.
8577///
8578/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8579/// too. To avoid breaking applications the trait provides a default
8580/// implementation of each method. Most of these implementations just return an
8581/// error.
8582#[cfg(feature = "region-health-aggregation-policies")]
8583#[cfg_attr(docsrs, doc(cfg(feature = "region-health-aggregation-policies")))]
8584pub trait RegionHealthAggregationPolicies: std::fmt::Debug + Send + Sync {
8585    /// Implements [super::client::RegionHealthAggregationPolicies::aggregated_list].
8586    fn aggregated_list(
8587        &self,
8588        _req: crate::model::region_health_aggregation_policies::AggregatedListRequest,
8589        _options: crate::RequestOptions,
8590    ) -> impl std::future::Future<
8591        Output = crate::Result<
8592            crate::Response<crate::model::HealthAggregationPolicyAggregatedList>,
8593        >,
8594    > + Send {
8595        gaxi::unimplemented::unimplemented_stub()
8596    }
8597
8598    /// Implements [super::client::RegionHealthAggregationPolicies::delete].
8599    fn delete(
8600        &self,
8601        _req: crate::model::region_health_aggregation_policies::DeleteRequest,
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::RegionHealthAggregationPolicies::get].
8609    fn get(
8610        &self,
8611        _req: crate::model::region_health_aggregation_policies::GetRequest,
8612        _options: crate::RequestOptions,
8613    ) -> impl std::future::Future<
8614        Output = crate::Result<crate::Response<crate::model::HealthAggregationPolicy>>,
8615    > + Send {
8616        gaxi::unimplemented::unimplemented_stub()
8617    }
8618
8619    /// Implements [super::client::RegionHealthAggregationPolicies::insert].
8620    fn insert(
8621        &self,
8622        _req: crate::model::region_health_aggregation_policies::InsertRequest,
8623        _options: crate::RequestOptions,
8624    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8625    {
8626        gaxi::unimplemented::unimplemented_stub()
8627    }
8628
8629    /// Implements [super::client::RegionHealthAggregationPolicies::list].
8630    fn list(
8631        &self,
8632        _req: crate::model::region_health_aggregation_policies::ListRequest,
8633        _options: crate::RequestOptions,
8634    ) -> impl std::future::Future<
8635        Output = crate::Result<crate::Response<crate::model::HealthAggregationPolicyList>>,
8636    > + Send {
8637        gaxi::unimplemented::unimplemented_stub()
8638    }
8639
8640    /// Implements [super::client::RegionHealthAggregationPolicies::patch].
8641    fn patch(
8642        &self,
8643        _req: crate::model::region_health_aggregation_policies::PatchRequest,
8644        _options: crate::RequestOptions,
8645    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8646    {
8647        gaxi::unimplemented::unimplemented_stub()
8648    }
8649
8650    /// Implements [super::client::RegionHealthAggregationPolicies::test_iam_permissions].
8651    fn test_iam_permissions(
8652        &self,
8653        _req: crate::model::region_health_aggregation_policies::TestIamPermissionsRequest,
8654        _options: crate::RequestOptions,
8655    ) -> impl std::future::Future<
8656        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8657    > + Send {
8658        gaxi::unimplemented::unimplemented_stub()
8659    }
8660
8661    /// Implements [super::client::RegionHealthAggregationPolicies::get_operation].
8662    fn get_operation(
8663        &self,
8664        _req: crate::model::region_operations::GetRequest,
8665        _options: crate::RequestOptions,
8666    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8667    {
8668        gaxi::unimplemented::unimplemented_stub()
8669    }
8670
8671    /// Returns the polling error policy.
8672    ///
8673    /// When mocking, this method is typically irrelevant. Do not try to verify
8674    /// it is called by your mocks.
8675    fn get_polling_error_policy(
8676        &self,
8677        _options: &crate::RequestOptions,
8678    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8679        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8680    }
8681
8682    /// Returns the polling backoff policy.
8683    ///
8684    /// When mocking, this method is typically irrelevant. Do not try to verify
8685    /// it is called by your mocks.
8686    fn get_polling_backoff_policy(
8687        &self,
8688        _options: &crate::RequestOptions,
8689    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8690        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8691    }
8692}
8693
8694/// Defines the trait used to implement [super::client::RegionHealthCheckServices].
8695///
8696/// Application developers may need to implement this trait to mock
8697/// `client::RegionHealthCheckServices`.  In other use-cases, application developers only
8698/// use `client::RegionHealthCheckServices` and need not be concerned with this trait or
8699/// its implementations.
8700///
8701/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8702/// too. To avoid breaking applications the trait provides a default
8703/// implementation of each method. Most of these implementations just return an
8704/// error.
8705#[cfg(feature = "region-health-check-services")]
8706#[cfg_attr(docsrs, doc(cfg(feature = "region-health-check-services")))]
8707pub trait RegionHealthCheckServices: std::fmt::Debug + Send + Sync {
8708    /// Implements [super::client::RegionHealthCheckServices::aggregated_list].
8709    fn aggregated_list(
8710        &self,
8711        _req: crate::model::region_health_check_services::AggregatedListRequest,
8712        _options: crate::RequestOptions,
8713    ) -> impl std::future::Future<
8714        Output = crate::Result<crate::Response<crate::model::HealthCheckServiceAggregatedList>>,
8715    > + Send {
8716        gaxi::unimplemented::unimplemented_stub()
8717    }
8718
8719    /// Implements [super::client::RegionHealthCheckServices::delete].
8720    fn delete(
8721        &self,
8722        _req: crate::model::region_health_check_services::DeleteRequest,
8723        _options: crate::RequestOptions,
8724    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8725    {
8726        gaxi::unimplemented::unimplemented_stub()
8727    }
8728
8729    /// Implements [super::client::RegionHealthCheckServices::get].
8730    fn get(
8731        &self,
8732        _req: crate::model::region_health_check_services::GetRequest,
8733        _options: crate::RequestOptions,
8734    ) -> impl std::future::Future<
8735        Output = crate::Result<crate::Response<crate::model::HealthCheckService>>,
8736    > + Send {
8737        gaxi::unimplemented::unimplemented_stub()
8738    }
8739
8740    /// Implements [super::client::RegionHealthCheckServices::insert].
8741    fn insert(
8742        &self,
8743        _req: crate::model::region_health_check_services::InsertRequest,
8744        _options: crate::RequestOptions,
8745    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8746    {
8747        gaxi::unimplemented::unimplemented_stub()
8748    }
8749
8750    /// Implements [super::client::RegionHealthCheckServices::list].
8751    fn list(
8752        &self,
8753        _req: crate::model::region_health_check_services::ListRequest,
8754        _options: crate::RequestOptions,
8755    ) -> impl std::future::Future<
8756        Output = crate::Result<crate::Response<crate::model::HealthCheckServicesList>>,
8757    > + Send {
8758        gaxi::unimplemented::unimplemented_stub()
8759    }
8760
8761    /// Implements [super::client::RegionHealthCheckServices::patch].
8762    fn patch(
8763        &self,
8764        _req: crate::model::region_health_check_services::PatchRequest,
8765        _options: crate::RequestOptions,
8766    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8767    {
8768        gaxi::unimplemented::unimplemented_stub()
8769    }
8770
8771    /// Implements [super::client::RegionHealthCheckServices::test_iam_permissions].
8772    fn test_iam_permissions(
8773        &self,
8774        _req: crate::model::region_health_check_services::TestIamPermissionsRequest,
8775        _options: crate::RequestOptions,
8776    ) -> impl std::future::Future<
8777        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8778    > + Send {
8779        gaxi::unimplemented::unimplemented_stub()
8780    }
8781
8782    /// Implements [super::client::RegionHealthCheckServices::get_operation].
8783    fn get_operation(
8784        &self,
8785        _req: crate::model::region_operations::GetRequest,
8786        _options: crate::RequestOptions,
8787    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8788    {
8789        gaxi::unimplemented::unimplemented_stub()
8790    }
8791
8792    /// Returns the polling error policy.
8793    ///
8794    /// When mocking, this method is typically irrelevant. Do not try to verify
8795    /// it is called by your mocks.
8796    fn get_polling_error_policy(
8797        &self,
8798        _options: &crate::RequestOptions,
8799    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8800        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8801    }
8802
8803    /// Returns the polling backoff policy.
8804    ///
8805    /// When mocking, this method is typically irrelevant. Do not try to verify
8806    /// it is called by your mocks.
8807    fn get_polling_backoff_policy(
8808        &self,
8809        _options: &crate::RequestOptions,
8810    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8811        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8812    }
8813}
8814
8815/// Defines the trait used to implement [super::client::RegionHealthChecks].
8816///
8817/// Application developers may need to implement this trait to mock
8818/// `client::RegionHealthChecks`.  In other use-cases, application developers only
8819/// use `client::RegionHealthChecks` and need not be concerned with this trait or
8820/// its implementations.
8821///
8822/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8823/// too. To avoid breaking applications the trait provides a default
8824/// implementation of each method. Most of these implementations just return an
8825/// error.
8826#[cfg(feature = "region-health-checks")]
8827#[cfg_attr(docsrs, doc(cfg(feature = "region-health-checks")))]
8828pub trait RegionHealthChecks: std::fmt::Debug + Send + Sync {
8829    /// Implements [super::client::RegionHealthChecks::delete].
8830    fn delete(
8831        &self,
8832        _req: crate::model::region_health_checks::DeleteRequest,
8833        _options: crate::RequestOptions,
8834    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8835    {
8836        gaxi::unimplemented::unimplemented_stub()
8837    }
8838
8839    /// Implements [super::client::RegionHealthChecks::get].
8840    fn get(
8841        &self,
8842        _req: crate::model::region_health_checks::GetRequest,
8843        _options: crate::RequestOptions,
8844    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::HealthCheck>>>
8845    + Send {
8846        gaxi::unimplemented::unimplemented_stub()
8847    }
8848
8849    /// Implements [super::client::RegionHealthChecks::insert].
8850    fn insert(
8851        &self,
8852        _req: crate::model::region_health_checks::InsertRequest,
8853        _options: crate::RequestOptions,
8854    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8855    {
8856        gaxi::unimplemented::unimplemented_stub()
8857    }
8858
8859    /// Implements [super::client::RegionHealthChecks::list].
8860    fn list(
8861        &self,
8862        _req: crate::model::region_health_checks::ListRequest,
8863        _options: crate::RequestOptions,
8864    ) -> impl std::future::Future<
8865        Output = crate::Result<crate::Response<crate::model::HealthCheckList>>,
8866    > + Send {
8867        gaxi::unimplemented::unimplemented_stub()
8868    }
8869
8870    /// Implements [super::client::RegionHealthChecks::patch].
8871    fn patch(
8872        &self,
8873        _req: crate::model::region_health_checks::PatchRequest,
8874        _options: crate::RequestOptions,
8875    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8876    {
8877        gaxi::unimplemented::unimplemented_stub()
8878    }
8879
8880    /// Implements [super::client::RegionHealthChecks::test_iam_permissions].
8881    fn test_iam_permissions(
8882        &self,
8883        _req: crate::model::region_health_checks::TestIamPermissionsRequest,
8884        _options: crate::RequestOptions,
8885    ) -> impl std::future::Future<
8886        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8887    > + Send {
8888        gaxi::unimplemented::unimplemented_stub()
8889    }
8890
8891    /// Implements [super::client::RegionHealthChecks::update].
8892    fn update(
8893        &self,
8894        _req: crate::model::region_health_checks::UpdateRequest,
8895        _options: crate::RequestOptions,
8896    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8897    {
8898        gaxi::unimplemented::unimplemented_stub()
8899    }
8900
8901    /// Implements [super::client::RegionHealthChecks::get_operation].
8902    fn get_operation(
8903        &self,
8904        _req: crate::model::region_operations::GetRequest,
8905        _options: crate::RequestOptions,
8906    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8907    {
8908        gaxi::unimplemented::unimplemented_stub()
8909    }
8910
8911    /// Returns the polling error policy.
8912    ///
8913    /// When mocking, this method is typically irrelevant. Do not try to verify
8914    /// it is called by your mocks.
8915    fn get_polling_error_policy(
8916        &self,
8917        _options: &crate::RequestOptions,
8918    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8919        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8920    }
8921
8922    /// Returns the polling backoff policy.
8923    ///
8924    /// When mocking, this method is typically irrelevant. Do not try to verify
8925    /// it is called by your mocks.
8926    fn get_polling_backoff_policy(
8927        &self,
8928        _options: &crate::RequestOptions,
8929    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8930        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8931    }
8932}
8933
8934/// Defines the trait used to implement [super::client::RegionHealthSources].
8935///
8936/// Application developers may need to implement this trait to mock
8937/// `client::RegionHealthSources`.  In other use-cases, application developers only
8938/// use `client::RegionHealthSources` and need not be concerned with this trait or
8939/// its implementations.
8940///
8941/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8942/// too. To avoid breaking applications the trait provides a default
8943/// implementation of each method. Most of these implementations just return an
8944/// error.
8945#[cfg(feature = "region-health-sources")]
8946#[cfg_attr(docsrs, doc(cfg(feature = "region-health-sources")))]
8947pub trait RegionHealthSources: std::fmt::Debug + Send + Sync {
8948    /// Implements [super::client::RegionHealthSources::aggregated_list].
8949    fn aggregated_list(
8950        &self,
8951        _req: crate::model::region_health_sources::AggregatedListRequest,
8952        _options: crate::RequestOptions,
8953    ) -> impl std::future::Future<
8954        Output = crate::Result<crate::Response<crate::model::HealthSourceAggregatedList>>,
8955    > + Send {
8956        gaxi::unimplemented::unimplemented_stub()
8957    }
8958
8959    /// Implements [super::client::RegionHealthSources::delete].
8960    fn delete(
8961        &self,
8962        _req: crate::model::region_health_sources::DeleteRequest,
8963        _options: crate::RequestOptions,
8964    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8965    {
8966        gaxi::unimplemented::unimplemented_stub()
8967    }
8968
8969    /// Implements [super::client::RegionHealthSources::get].
8970    fn get(
8971        &self,
8972        _req: crate::model::region_health_sources::GetRequest,
8973        _options: crate::RequestOptions,
8974    ) -> impl std::future::Future<
8975        Output = crate::Result<crate::Response<crate::model::HealthSource>>,
8976    > + Send {
8977        gaxi::unimplemented::unimplemented_stub()
8978    }
8979
8980    /// Implements [super::client::RegionHealthSources::get_health].
8981    fn get_health(
8982        &self,
8983        _req: crate::model::region_health_sources::GetHealthRequest,
8984        _options: crate::RequestOptions,
8985    ) -> impl std::future::Future<
8986        Output = crate::Result<crate::Response<crate::model::HealthSourceHealth>>,
8987    > + Send {
8988        gaxi::unimplemented::unimplemented_stub()
8989    }
8990
8991    /// Implements [super::client::RegionHealthSources::insert].
8992    fn insert(
8993        &self,
8994        _req: crate::model::region_health_sources::InsertRequest,
8995        _options: crate::RequestOptions,
8996    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8997    {
8998        gaxi::unimplemented::unimplemented_stub()
8999    }
9000
9001    /// Implements [super::client::RegionHealthSources::list].
9002    fn list(
9003        &self,
9004        _req: crate::model::region_health_sources::ListRequest,
9005        _options: crate::RequestOptions,
9006    ) -> impl std::future::Future<
9007        Output = crate::Result<crate::Response<crate::model::HealthSourceList>>,
9008    > + Send {
9009        gaxi::unimplemented::unimplemented_stub()
9010    }
9011
9012    /// Implements [super::client::RegionHealthSources::patch].
9013    fn patch(
9014        &self,
9015        _req: crate::model::region_health_sources::PatchRequest,
9016        _options: crate::RequestOptions,
9017    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9018    {
9019        gaxi::unimplemented::unimplemented_stub()
9020    }
9021
9022    /// Implements [super::client::RegionHealthSources::test_iam_permissions].
9023    fn test_iam_permissions(
9024        &self,
9025        _req: crate::model::region_health_sources::TestIamPermissionsRequest,
9026        _options: crate::RequestOptions,
9027    ) -> impl std::future::Future<
9028        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9029    > + Send {
9030        gaxi::unimplemented::unimplemented_stub()
9031    }
9032
9033    /// Implements [super::client::RegionHealthSources::get_operation].
9034    fn get_operation(
9035        &self,
9036        _req: crate::model::region_operations::GetRequest,
9037        _options: crate::RequestOptions,
9038    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9039    {
9040        gaxi::unimplemented::unimplemented_stub()
9041    }
9042
9043    /// Returns the polling error policy.
9044    ///
9045    /// When mocking, this method is typically irrelevant. Do not try to verify
9046    /// it is called by your mocks.
9047    fn get_polling_error_policy(
9048        &self,
9049        _options: &crate::RequestOptions,
9050    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9051        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9052    }
9053
9054    /// Returns the polling backoff policy.
9055    ///
9056    /// When mocking, this method is typically irrelevant. Do not try to verify
9057    /// it is called by your mocks.
9058    fn get_polling_backoff_policy(
9059        &self,
9060        _options: &crate::RequestOptions,
9061    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9062        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9063    }
9064}
9065
9066/// Defines the trait used to implement [super::client::RegionInstanceGroupManagerResizeRequests].
9067///
9068/// Application developers may need to implement this trait to mock
9069/// `client::RegionInstanceGroupManagerResizeRequests`.  In other use-cases, application developers only
9070/// use `client::RegionInstanceGroupManagerResizeRequests` and need not be concerned with this trait or
9071/// its implementations.
9072///
9073/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9074/// too. To avoid breaking applications the trait provides a default
9075/// implementation of each method. Most of these implementations just return an
9076/// error.
9077#[cfg(feature = "region-instance-group-manager-resize-requests")]
9078#[cfg_attr(
9079    docsrs,
9080    doc(cfg(feature = "region-instance-group-manager-resize-requests"))
9081)]
9082pub trait RegionInstanceGroupManagerResizeRequests: std::fmt::Debug + Send + Sync {
9083    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::cancel].
9084    fn cancel(
9085        &self,
9086        _req: crate::model::region_instance_group_manager_resize_requests::CancelRequest,
9087        _options: crate::RequestOptions,
9088    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9089    {
9090        gaxi::unimplemented::unimplemented_stub()
9091    }
9092
9093    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::delete].
9094    fn delete(
9095        &self,
9096        _req: crate::model::region_instance_group_manager_resize_requests::DeleteRequest,
9097        _options: crate::RequestOptions,
9098    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9099    {
9100        gaxi::unimplemented::unimplemented_stub()
9101    }
9102
9103    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::get].
9104    fn get(
9105        &self,
9106        _req: crate::model::region_instance_group_manager_resize_requests::GetRequest,
9107        _options: crate::RequestOptions,
9108    ) -> impl std::future::Future<
9109        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerResizeRequest>>,
9110    > + Send {
9111        gaxi::unimplemented::unimplemented_stub()
9112    }
9113
9114    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::insert].
9115    fn insert(
9116        &self,
9117        _req: crate::model::region_instance_group_manager_resize_requests::InsertRequest,
9118        _options: crate::RequestOptions,
9119    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9120    {
9121        gaxi::unimplemented::unimplemented_stub()
9122    }
9123
9124    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::list].
9125    fn list(
9126        &self,
9127        _req: crate::model::region_instance_group_manager_resize_requests::ListRequest,
9128        _options: crate::RequestOptions,
9129    ) -> impl std::future::Future<
9130        Output = crate::Result<
9131            crate::Response<crate::model::RegionInstanceGroupManagerResizeRequestsListResponse>,
9132        >,
9133    > + Send {
9134        gaxi::unimplemented::unimplemented_stub()
9135    }
9136
9137    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::get_operation].
9138    fn get_operation(
9139        &self,
9140        _req: crate::model::region_operations::GetRequest,
9141        _options: crate::RequestOptions,
9142    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9143    {
9144        gaxi::unimplemented::unimplemented_stub()
9145    }
9146
9147    /// Returns the polling error policy.
9148    ///
9149    /// When mocking, this method is typically irrelevant. Do not try to verify
9150    /// it is called by your mocks.
9151    fn get_polling_error_policy(
9152        &self,
9153        _options: &crate::RequestOptions,
9154    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9155        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9156    }
9157
9158    /// Returns the polling backoff policy.
9159    ///
9160    /// When mocking, this method is typically irrelevant. Do not try to verify
9161    /// it is called by your mocks.
9162    fn get_polling_backoff_policy(
9163        &self,
9164        _options: &crate::RequestOptions,
9165    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9166        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9167    }
9168}
9169
9170/// Defines the trait used to implement [super::client::RegionInstanceGroupManagers].
9171///
9172/// Application developers may need to implement this trait to mock
9173/// `client::RegionInstanceGroupManagers`.  In other use-cases, application developers only
9174/// use `client::RegionInstanceGroupManagers` and need not be concerned with this trait or
9175/// its implementations.
9176///
9177/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9178/// too. To avoid breaking applications the trait provides a default
9179/// implementation of each method. Most of these implementations just return an
9180/// error.
9181#[cfg(feature = "region-instance-group-managers")]
9182#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-group-managers")))]
9183pub trait RegionInstanceGroupManagers: std::fmt::Debug + Send + Sync {
9184    /// Implements [super::client::RegionInstanceGroupManagers::abandon_instances].
9185    fn abandon_instances(
9186        &self,
9187        _req: crate::model::region_instance_group_managers::AbandonInstancesRequest,
9188        _options: crate::RequestOptions,
9189    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9190    {
9191        gaxi::unimplemented::unimplemented_stub()
9192    }
9193
9194    /// Implements [super::client::RegionInstanceGroupManagers::apply_updates_to_instances].
9195    fn apply_updates_to_instances(
9196        &self,
9197        _req: crate::model::region_instance_group_managers::ApplyUpdatesToInstancesRequest,
9198        _options: crate::RequestOptions,
9199    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9200    {
9201        gaxi::unimplemented::unimplemented_stub()
9202    }
9203
9204    /// Implements [super::client::RegionInstanceGroupManagers::create_instances].
9205    fn create_instances(
9206        &self,
9207        _req: crate::model::region_instance_group_managers::CreateInstancesRequest,
9208        _options: crate::RequestOptions,
9209    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9210    {
9211        gaxi::unimplemented::unimplemented_stub()
9212    }
9213
9214    /// Implements [super::client::RegionInstanceGroupManagers::delete].
9215    fn delete(
9216        &self,
9217        _req: crate::model::region_instance_group_managers::DeleteRequest,
9218        _options: crate::RequestOptions,
9219    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9220    {
9221        gaxi::unimplemented::unimplemented_stub()
9222    }
9223
9224    /// Implements [super::client::RegionInstanceGroupManagers::delete_instances].
9225    fn delete_instances(
9226        &self,
9227        _req: crate::model::region_instance_group_managers::DeleteInstancesRequest,
9228        _options: crate::RequestOptions,
9229    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9230    {
9231        gaxi::unimplemented::unimplemented_stub()
9232    }
9233
9234    /// Implements [super::client::RegionInstanceGroupManagers::delete_per_instance_configs].
9235    fn delete_per_instance_configs(
9236        &self,
9237        _req: crate::model::region_instance_group_managers::DeletePerInstanceConfigsRequest,
9238        _options: crate::RequestOptions,
9239    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9240    {
9241        gaxi::unimplemented::unimplemented_stub()
9242    }
9243
9244    /// Implements [super::client::RegionInstanceGroupManagers::get].
9245    fn get(
9246        &self,
9247        _req: crate::model::region_instance_group_managers::GetRequest,
9248        _options: crate::RequestOptions,
9249    ) -> impl std::future::Future<
9250        Output = crate::Result<crate::Response<crate::model::InstanceGroupManager>>,
9251    > + Send {
9252        gaxi::unimplemented::unimplemented_stub()
9253    }
9254
9255    /// Implements [super::client::RegionInstanceGroupManagers::insert].
9256    fn insert(
9257        &self,
9258        _req: crate::model::region_instance_group_managers::InsertRequest,
9259        _options: crate::RequestOptions,
9260    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9261    {
9262        gaxi::unimplemented::unimplemented_stub()
9263    }
9264
9265    /// Implements [super::client::RegionInstanceGroupManagers::list].
9266    fn list(
9267        &self,
9268        _req: crate::model::region_instance_group_managers::ListRequest,
9269        _options: crate::RequestOptions,
9270    ) -> impl std::future::Future<
9271        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupManagerList>>,
9272    > + Send {
9273        gaxi::unimplemented::unimplemented_stub()
9274    }
9275
9276    /// Implements [super::client::RegionInstanceGroupManagers::list_errors].
9277    fn list_errors(
9278        &self,
9279        _req: crate::model::region_instance_group_managers::ListErrorsRequest,
9280        _options: crate::RequestOptions,
9281    ) -> impl std::future::Future<
9282        Output = crate::Result<
9283            crate::Response<crate::model::RegionInstanceGroupManagersListErrorsResponse>,
9284        >,
9285    > + Send {
9286        gaxi::unimplemented::unimplemented_stub()
9287    }
9288
9289    /// Implements [super::client::RegionInstanceGroupManagers::list_managed_instances].
9290    fn list_managed_instances(
9291        &self,
9292        _req: crate::model::region_instance_group_managers::ListManagedInstancesRequest,
9293        _options: crate::RequestOptions,
9294    ) -> impl std::future::Future<
9295        Output = crate::Result<
9296            crate::Response<crate::model::RegionInstanceGroupManagersListInstancesResponse>,
9297        >,
9298    > + Send {
9299        gaxi::unimplemented::unimplemented_stub()
9300    }
9301
9302    /// Implements [super::client::RegionInstanceGroupManagers::list_per_instance_configs].
9303    fn list_per_instance_configs(
9304        &self,
9305        _req: crate::model::region_instance_group_managers::ListPerInstanceConfigsRequest,
9306        _options: crate::RequestOptions,
9307    ) -> impl std::future::Future<
9308        Output = crate::Result<
9309            crate::Response<crate::model::RegionInstanceGroupManagersListInstanceConfigsResp>,
9310        >,
9311    > + Send {
9312        gaxi::unimplemented::unimplemented_stub()
9313    }
9314
9315    /// Implements [super::client::RegionInstanceGroupManagers::patch].
9316    fn patch(
9317        &self,
9318        _req: crate::model::region_instance_group_managers::PatchRequest,
9319        _options: crate::RequestOptions,
9320    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9321    {
9322        gaxi::unimplemented::unimplemented_stub()
9323    }
9324
9325    /// Implements [super::client::RegionInstanceGroupManagers::patch_per_instance_configs].
9326    fn patch_per_instance_configs(
9327        &self,
9328        _req: crate::model::region_instance_group_managers::PatchPerInstanceConfigsRequest,
9329        _options: crate::RequestOptions,
9330    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9331    {
9332        gaxi::unimplemented::unimplemented_stub()
9333    }
9334
9335    /// Implements [super::client::RegionInstanceGroupManagers::recreate_instances].
9336    fn recreate_instances(
9337        &self,
9338        _req: crate::model::region_instance_group_managers::RecreateInstancesRequest,
9339        _options: crate::RequestOptions,
9340    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9341    {
9342        gaxi::unimplemented::unimplemented_stub()
9343    }
9344
9345    /// Implements [super::client::RegionInstanceGroupManagers::resize].
9346    fn resize(
9347        &self,
9348        _req: crate::model::region_instance_group_managers::ResizeRequest,
9349        _options: crate::RequestOptions,
9350    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9351    {
9352        gaxi::unimplemented::unimplemented_stub()
9353    }
9354
9355    /// Implements [super::client::RegionInstanceGroupManagers::resume_instances].
9356    fn resume_instances(
9357        &self,
9358        _req: crate::model::region_instance_group_managers::ResumeInstancesRequest,
9359        _options: crate::RequestOptions,
9360    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9361    {
9362        gaxi::unimplemented::unimplemented_stub()
9363    }
9364
9365    /// Implements [super::client::RegionInstanceGroupManagers::set_instance_template].
9366    fn set_instance_template(
9367        &self,
9368        _req: crate::model::region_instance_group_managers::SetInstanceTemplateRequest,
9369        _options: crate::RequestOptions,
9370    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9371    {
9372        gaxi::unimplemented::unimplemented_stub()
9373    }
9374
9375    /// Implements [super::client::RegionInstanceGroupManagers::set_target_pools].
9376    fn set_target_pools(
9377        &self,
9378        _req: crate::model::region_instance_group_managers::SetTargetPoolsRequest,
9379        _options: crate::RequestOptions,
9380    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9381    {
9382        gaxi::unimplemented::unimplemented_stub()
9383    }
9384
9385    /// Implements [super::client::RegionInstanceGroupManagers::start_instances].
9386    fn start_instances(
9387        &self,
9388        _req: crate::model::region_instance_group_managers::StartInstancesRequest,
9389        _options: crate::RequestOptions,
9390    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9391    {
9392        gaxi::unimplemented::unimplemented_stub()
9393    }
9394
9395    /// Implements [super::client::RegionInstanceGroupManagers::stop_instances].
9396    fn stop_instances(
9397        &self,
9398        _req: crate::model::region_instance_group_managers::StopInstancesRequest,
9399        _options: crate::RequestOptions,
9400    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9401    {
9402        gaxi::unimplemented::unimplemented_stub()
9403    }
9404
9405    /// Implements [super::client::RegionInstanceGroupManagers::suspend_instances].
9406    fn suspend_instances(
9407        &self,
9408        _req: crate::model::region_instance_group_managers::SuspendInstancesRequest,
9409        _options: crate::RequestOptions,
9410    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9411    {
9412        gaxi::unimplemented::unimplemented_stub()
9413    }
9414
9415    /// Implements [super::client::RegionInstanceGroupManagers::update_per_instance_configs].
9416    fn update_per_instance_configs(
9417        &self,
9418        _req: crate::model::region_instance_group_managers::UpdatePerInstanceConfigsRequest,
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::RegionInstanceGroupManagers::get_operation].
9426    fn get_operation(
9427        &self,
9428        _req: crate::model::region_operations::GetRequest,
9429        _options: crate::RequestOptions,
9430    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9431    {
9432        gaxi::unimplemented::unimplemented_stub()
9433    }
9434
9435    /// Returns the polling error policy.
9436    ///
9437    /// When mocking, this method is typically irrelevant. Do not try to verify
9438    /// it is called by your mocks.
9439    fn get_polling_error_policy(
9440        &self,
9441        _options: &crate::RequestOptions,
9442    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9443        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9444    }
9445
9446    /// Returns the polling backoff policy.
9447    ///
9448    /// When mocking, this method is typically irrelevant. Do not try to verify
9449    /// it is called by your mocks.
9450    fn get_polling_backoff_policy(
9451        &self,
9452        _options: &crate::RequestOptions,
9453    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9454        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9455    }
9456}
9457
9458/// Defines the trait used to implement [super::client::RegionInstanceGroups].
9459///
9460/// Application developers may need to implement this trait to mock
9461/// `client::RegionInstanceGroups`.  In other use-cases, application developers only
9462/// use `client::RegionInstanceGroups` and need not be concerned with this trait or
9463/// its implementations.
9464///
9465/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9466/// too. To avoid breaking applications the trait provides a default
9467/// implementation of each method. Most of these implementations just return an
9468/// error.
9469#[cfg(feature = "region-instance-groups")]
9470#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-groups")))]
9471pub trait RegionInstanceGroups: std::fmt::Debug + Send + Sync {
9472    /// Implements [super::client::RegionInstanceGroups::get].
9473    fn get(
9474        &self,
9475        _req: crate::model::region_instance_groups::GetRequest,
9476        _options: crate::RequestOptions,
9477    ) -> impl std::future::Future<
9478        Output = crate::Result<crate::Response<crate::model::InstanceGroup>>,
9479    > + Send {
9480        gaxi::unimplemented::unimplemented_stub()
9481    }
9482
9483    /// Implements [super::client::RegionInstanceGroups::list].
9484    fn list(
9485        &self,
9486        _req: crate::model::region_instance_groups::ListRequest,
9487        _options: crate::RequestOptions,
9488    ) -> impl std::future::Future<
9489        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupList>>,
9490    > + Send {
9491        gaxi::unimplemented::unimplemented_stub()
9492    }
9493
9494    /// Implements [super::client::RegionInstanceGroups::list_instances].
9495    fn list_instances(
9496        &self,
9497        _req: crate::model::region_instance_groups::ListInstancesRequest,
9498        _options: crate::RequestOptions,
9499    ) -> impl std::future::Future<
9500        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupsListInstances>>,
9501    > + Send {
9502        gaxi::unimplemented::unimplemented_stub()
9503    }
9504
9505    /// Implements [super::client::RegionInstanceGroups::set_named_ports].
9506    fn set_named_ports(
9507        &self,
9508        _req: crate::model::region_instance_groups::SetNamedPortsRequest,
9509        _options: crate::RequestOptions,
9510    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9511    {
9512        gaxi::unimplemented::unimplemented_stub()
9513    }
9514
9515    /// Implements [super::client::RegionInstanceGroups::test_iam_permissions].
9516    fn test_iam_permissions(
9517        &self,
9518        _req: crate::model::region_instance_groups::TestIamPermissionsRequest,
9519        _options: crate::RequestOptions,
9520    ) -> impl std::future::Future<
9521        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9522    > + Send {
9523        gaxi::unimplemented::unimplemented_stub()
9524    }
9525
9526    /// Implements [super::client::RegionInstanceGroups::get_operation].
9527    fn get_operation(
9528        &self,
9529        _req: crate::model::region_operations::GetRequest,
9530        _options: crate::RequestOptions,
9531    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9532    {
9533        gaxi::unimplemented::unimplemented_stub()
9534    }
9535
9536    /// Returns the polling error policy.
9537    ///
9538    /// When mocking, this method is typically irrelevant. Do not try to verify
9539    /// it is called by your mocks.
9540    fn get_polling_error_policy(
9541        &self,
9542        _options: &crate::RequestOptions,
9543    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9544        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9545    }
9546
9547    /// Returns the polling backoff policy.
9548    ///
9549    /// When mocking, this method is typically irrelevant. Do not try to verify
9550    /// it is called by your mocks.
9551    fn get_polling_backoff_policy(
9552        &self,
9553        _options: &crate::RequestOptions,
9554    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9555        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9556    }
9557}
9558
9559/// Defines the trait used to implement [super::client::RegionInstanceTemplates].
9560///
9561/// Application developers may need to implement this trait to mock
9562/// `client::RegionInstanceTemplates`.  In other use-cases, application developers only
9563/// use `client::RegionInstanceTemplates` and need not be concerned with this trait or
9564/// its implementations.
9565///
9566/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9567/// too. To avoid breaking applications the trait provides a default
9568/// implementation of each method. Most of these implementations just return an
9569/// error.
9570#[cfg(feature = "region-instance-templates")]
9571#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-templates")))]
9572pub trait RegionInstanceTemplates: std::fmt::Debug + Send + Sync {
9573    /// Implements [super::client::RegionInstanceTemplates::delete].
9574    fn delete(
9575        &self,
9576        _req: crate::model::region_instance_templates::DeleteRequest,
9577        _options: crate::RequestOptions,
9578    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9579    {
9580        gaxi::unimplemented::unimplemented_stub()
9581    }
9582
9583    /// Implements [super::client::RegionInstanceTemplates::get].
9584    fn get(
9585        &self,
9586        _req: crate::model::region_instance_templates::GetRequest,
9587        _options: crate::RequestOptions,
9588    ) -> impl std::future::Future<
9589        Output = crate::Result<crate::Response<crate::model::InstanceTemplate>>,
9590    > + Send {
9591        gaxi::unimplemented::unimplemented_stub()
9592    }
9593
9594    /// Implements [super::client::RegionInstanceTemplates::insert].
9595    fn insert(
9596        &self,
9597        _req: crate::model::region_instance_templates::InsertRequest,
9598        _options: crate::RequestOptions,
9599    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9600    {
9601        gaxi::unimplemented::unimplemented_stub()
9602    }
9603
9604    /// Implements [super::client::RegionInstanceTemplates::list].
9605    fn list(
9606        &self,
9607        _req: crate::model::region_instance_templates::ListRequest,
9608        _options: crate::RequestOptions,
9609    ) -> impl std::future::Future<
9610        Output = crate::Result<crate::Response<crate::model::InstanceTemplateList>>,
9611    > + Send {
9612        gaxi::unimplemented::unimplemented_stub()
9613    }
9614
9615    /// Implements [super::client::RegionInstanceTemplates::get_operation].
9616    fn get_operation(
9617        &self,
9618        _req: crate::model::region_operations::GetRequest,
9619        _options: crate::RequestOptions,
9620    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9621    {
9622        gaxi::unimplemented::unimplemented_stub()
9623    }
9624
9625    /// Returns the polling error policy.
9626    ///
9627    /// When mocking, this method is typically irrelevant. Do not try to verify
9628    /// it is called by your mocks.
9629    fn get_polling_error_policy(
9630        &self,
9631        _options: &crate::RequestOptions,
9632    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9633        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9634    }
9635
9636    /// Returns the polling backoff policy.
9637    ///
9638    /// When mocking, this method is typically irrelevant. Do not try to verify
9639    /// it is called by your mocks.
9640    fn get_polling_backoff_policy(
9641        &self,
9642        _options: &crate::RequestOptions,
9643    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9644        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9645    }
9646}
9647
9648/// Defines the trait used to implement [super::client::RegionInstances].
9649///
9650/// Application developers may need to implement this trait to mock
9651/// `client::RegionInstances`.  In other use-cases, application developers only
9652/// use `client::RegionInstances` and need not be concerned with this trait or
9653/// its implementations.
9654///
9655/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9656/// too. To avoid breaking applications the trait provides a default
9657/// implementation of each method. Most of these implementations just return an
9658/// error.
9659#[cfg(feature = "region-instances")]
9660#[cfg_attr(docsrs, doc(cfg(feature = "region-instances")))]
9661pub trait RegionInstances: std::fmt::Debug + Send + Sync {
9662    /// Implements [super::client::RegionInstances::bulk_insert].
9663    fn bulk_insert(
9664        &self,
9665        _req: crate::model::region_instances::BulkInsertRequest,
9666        _options: crate::RequestOptions,
9667    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9668    {
9669        gaxi::unimplemented::unimplemented_stub()
9670    }
9671
9672    /// Implements [super::client::RegionInstances::get_operation].
9673    fn get_operation(
9674        &self,
9675        _req: crate::model::region_operations::GetRequest,
9676        _options: crate::RequestOptions,
9677    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9678    {
9679        gaxi::unimplemented::unimplemented_stub()
9680    }
9681
9682    /// Returns the polling error policy.
9683    ///
9684    /// When mocking, this method is typically irrelevant. Do not try to verify
9685    /// it is called by your mocks.
9686    fn get_polling_error_policy(
9687        &self,
9688        _options: &crate::RequestOptions,
9689    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9690        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9691    }
9692
9693    /// Returns the polling backoff policy.
9694    ///
9695    /// When mocking, this method is typically irrelevant. Do not try to verify
9696    /// it is called by your mocks.
9697    fn get_polling_backoff_policy(
9698        &self,
9699        _options: &crate::RequestOptions,
9700    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9701        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9702    }
9703}
9704
9705/// Defines the trait used to implement [super::client::RegionInstantSnapshotGroups].
9706///
9707/// Application developers may need to implement this trait to mock
9708/// `client::RegionInstantSnapshotGroups`.  In other use-cases, application developers only
9709/// use `client::RegionInstantSnapshotGroups` and need not be concerned with this trait or
9710/// its implementations.
9711///
9712/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9713/// too. To avoid breaking applications the trait provides a default
9714/// implementation of each method. Most of these implementations just return an
9715/// error.
9716#[cfg(feature = "region-instant-snapshot-groups")]
9717#[cfg_attr(docsrs, doc(cfg(feature = "region-instant-snapshot-groups")))]
9718pub trait RegionInstantSnapshotGroups: std::fmt::Debug + Send + Sync {
9719    /// Implements [super::client::RegionInstantSnapshotGroups::delete].
9720    fn delete(
9721        &self,
9722        _req: crate::model::region_instant_snapshot_groups::DeleteRequest,
9723        _options: crate::RequestOptions,
9724    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9725    {
9726        gaxi::unimplemented::unimplemented_stub()
9727    }
9728
9729    /// Implements [super::client::RegionInstantSnapshotGroups::get].
9730    fn get(
9731        &self,
9732        _req: crate::model::region_instant_snapshot_groups::GetRequest,
9733        _options: crate::RequestOptions,
9734    ) -> impl std::future::Future<
9735        Output = crate::Result<crate::Response<crate::model::InstantSnapshotGroup>>,
9736    > + Send {
9737        gaxi::unimplemented::unimplemented_stub()
9738    }
9739
9740    /// Implements [super::client::RegionInstantSnapshotGroups::get_iam_policy].
9741    fn get_iam_policy(
9742        &self,
9743        _req: crate::model::region_instant_snapshot_groups::GetIamPolicyRequest,
9744        _options: crate::RequestOptions,
9745    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9746    {
9747        gaxi::unimplemented::unimplemented_stub()
9748    }
9749
9750    /// Implements [super::client::RegionInstantSnapshotGroups::insert].
9751    fn insert(
9752        &self,
9753        _req: crate::model::region_instant_snapshot_groups::InsertRequest,
9754        _options: crate::RequestOptions,
9755    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9756    {
9757        gaxi::unimplemented::unimplemented_stub()
9758    }
9759
9760    /// Implements [super::client::RegionInstantSnapshotGroups::list].
9761    fn list(
9762        &self,
9763        _req: crate::model::region_instant_snapshot_groups::ListRequest,
9764        _options: crate::RequestOptions,
9765    ) -> impl std::future::Future<
9766        Output = crate::Result<crate::Response<crate::model::ListInstantSnapshotGroups>>,
9767    > + Send {
9768        gaxi::unimplemented::unimplemented_stub()
9769    }
9770
9771    /// Implements [super::client::RegionInstantSnapshotGroups::set_iam_policy].
9772    fn set_iam_policy(
9773        &self,
9774        _req: crate::model::region_instant_snapshot_groups::SetIamPolicyRequest,
9775        _options: crate::RequestOptions,
9776    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9777    {
9778        gaxi::unimplemented::unimplemented_stub()
9779    }
9780
9781    /// Implements [super::client::RegionInstantSnapshotGroups::test_iam_permissions].
9782    fn test_iam_permissions(
9783        &self,
9784        _req: crate::model::region_instant_snapshot_groups::TestIamPermissionsRequest,
9785        _options: crate::RequestOptions,
9786    ) -> impl std::future::Future<
9787        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9788    > + Send {
9789        gaxi::unimplemented::unimplemented_stub()
9790    }
9791
9792    /// Implements [super::client::RegionInstantSnapshotGroups::get_operation].
9793    fn get_operation(
9794        &self,
9795        _req: crate::model::region_operations::GetRequest,
9796        _options: crate::RequestOptions,
9797    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9798    {
9799        gaxi::unimplemented::unimplemented_stub()
9800    }
9801
9802    /// Returns the polling error policy.
9803    ///
9804    /// When mocking, this method is typically irrelevant. Do not try to verify
9805    /// it is called by your mocks.
9806    fn get_polling_error_policy(
9807        &self,
9808        _options: &crate::RequestOptions,
9809    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9810        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9811    }
9812
9813    /// Returns the polling backoff policy.
9814    ///
9815    /// When mocking, this method is typically irrelevant. Do not try to verify
9816    /// it is called by your mocks.
9817    fn get_polling_backoff_policy(
9818        &self,
9819        _options: &crate::RequestOptions,
9820    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9821        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9822    }
9823}
9824
9825/// Defines the trait used to implement [super::client::RegionInstantSnapshots].
9826///
9827/// Application developers may need to implement this trait to mock
9828/// `client::RegionInstantSnapshots`.  In other use-cases, application developers only
9829/// use `client::RegionInstantSnapshots` and need not be concerned with this trait or
9830/// its implementations.
9831///
9832/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9833/// too. To avoid breaking applications the trait provides a default
9834/// implementation of each method. Most of these implementations just return an
9835/// error.
9836#[cfg(feature = "region-instant-snapshots")]
9837#[cfg_attr(docsrs, doc(cfg(feature = "region-instant-snapshots")))]
9838pub trait RegionInstantSnapshots: std::fmt::Debug + Send + Sync {
9839    /// Implements [super::client::RegionInstantSnapshots::delete].
9840    fn delete(
9841        &self,
9842        _req: crate::model::region_instant_snapshots::DeleteRequest,
9843        _options: crate::RequestOptions,
9844    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9845    {
9846        gaxi::unimplemented::unimplemented_stub()
9847    }
9848
9849    /// Implements [super::client::RegionInstantSnapshots::get].
9850    fn get(
9851        &self,
9852        _req: crate::model::region_instant_snapshots::GetRequest,
9853        _options: crate::RequestOptions,
9854    ) -> impl std::future::Future<
9855        Output = crate::Result<crate::Response<crate::model::InstantSnapshot>>,
9856    > + Send {
9857        gaxi::unimplemented::unimplemented_stub()
9858    }
9859
9860    /// Implements [super::client::RegionInstantSnapshots::get_iam_policy].
9861    fn get_iam_policy(
9862        &self,
9863        _req: crate::model::region_instant_snapshots::GetIamPolicyRequest,
9864        _options: crate::RequestOptions,
9865    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9866    {
9867        gaxi::unimplemented::unimplemented_stub()
9868    }
9869
9870    /// Implements [super::client::RegionInstantSnapshots::insert].
9871    fn insert(
9872        &self,
9873        _req: crate::model::region_instant_snapshots::InsertRequest,
9874        _options: crate::RequestOptions,
9875    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9876    {
9877        gaxi::unimplemented::unimplemented_stub()
9878    }
9879
9880    /// Implements [super::client::RegionInstantSnapshots::list].
9881    fn list(
9882        &self,
9883        _req: crate::model::region_instant_snapshots::ListRequest,
9884        _options: crate::RequestOptions,
9885    ) -> impl std::future::Future<
9886        Output = crate::Result<crate::Response<crate::model::InstantSnapshotList>>,
9887    > + Send {
9888        gaxi::unimplemented::unimplemented_stub()
9889    }
9890
9891    /// Implements [super::client::RegionInstantSnapshots::set_iam_policy].
9892    fn set_iam_policy(
9893        &self,
9894        _req: crate::model::region_instant_snapshots::SetIamPolicyRequest,
9895        _options: crate::RequestOptions,
9896    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9897    {
9898        gaxi::unimplemented::unimplemented_stub()
9899    }
9900
9901    /// Implements [super::client::RegionInstantSnapshots::set_labels].
9902    fn set_labels(
9903        &self,
9904        _req: crate::model::region_instant_snapshots::SetLabelsRequest,
9905        _options: crate::RequestOptions,
9906    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9907    {
9908        gaxi::unimplemented::unimplemented_stub()
9909    }
9910
9911    /// Implements [super::client::RegionInstantSnapshots::test_iam_permissions].
9912    fn test_iam_permissions(
9913        &self,
9914        _req: crate::model::region_instant_snapshots::TestIamPermissionsRequest,
9915        _options: crate::RequestOptions,
9916    ) -> impl std::future::Future<
9917        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9918    > + Send {
9919        gaxi::unimplemented::unimplemented_stub()
9920    }
9921
9922    /// Implements [super::client::RegionInstantSnapshots::get_operation].
9923    fn get_operation(
9924        &self,
9925        _req: crate::model::region_operations::GetRequest,
9926        _options: crate::RequestOptions,
9927    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9928    {
9929        gaxi::unimplemented::unimplemented_stub()
9930    }
9931
9932    /// Returns the polling error policy.
9933    ///
9934    /// When mocking, this method is typically irrelevant. Do not try to verify
9935    /// it is called by your mocks.
9936    fn get_polling_error_policy(
9937        &self,
9938        _options: &crate::RequestOptions,
9939    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9940        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9941    }
9942
9943    /// Returns the polling backoff policy.
9944    ///
9945    /// When mocking, this method is typically irrelevant. Do not try to verify
9946    /// it is called by your mocks.
9947    fn get_polling_backoff_policy(
9948        &self,
9949        _options: &crate::RequestOptions,
9950    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9951        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9952    }
9953}
9954
9955/// Defines the trait used to implement [super::client::RegionNetworkEndpointGroups].
9956///
9957/// Application developers may need to implement this trait to mock
9958/// `client::RegionNetworkEndpointGroups`.  In other use-cases, application developers only
9959/// use `client::RegionNetworkEndpointGroups` and need not be concerned with this trait or
9960/// its implementations.
9961///
9962/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9963/// too. To avoid breaking applications the trait provides a default
9964/// implementation of each method. Most of these implementations just return an
9965/// error.
9966#[cfg(feature = "region-network-endpoint-groups")]
9967#[cfg_attr(docsrs, doc(cfg(feature = "region-network-endpoint-groups")))]
9968pub trait RegionNetworkEndpointGroups: std::fmt::Debug + Send + Sync {
9969    /// Implements [super::client::RegionNetworkEndpointGroups::attach_network_endpoints].
9970    fn attach_network_endpoints(
9971        &self,
9972        _req: crate::model::region_network_endpoint_groups::AttachNetworkEndpointsRequest,
9973        _options: crate::RequestOptions,
9974    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9975    {
9976        gaxi::unimplemented::unimplemented_stub()
9977    }
9978
9979    /// Implements [super::client::RegionNetworkEndpointGroups::delete].
9980    fn delete(
9981        &self,
9982        _req: crate::model::region_network_endpoint_groups::DeleteRequest,
9983        _options: crate::RequestOptions,
9984    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9985    {
9986        gaxi::unimplemented::unimplemented_stub()
9987    }
9988
9989    /// Implements [super::client::RegionNetworkEndpointGroups::detach_network_endpoints].
9990    fn detach_network_endpoints(
9991        &self,
9992        _req: crate::model::region_network_endpoint_groups::DetachNetworkEndpointsRequest,
9993        _options: crate::RequestOptions,
9994    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9995    {
9996        gaxi::unimplemented::unimplemented_stub()
9997    }
9998
9999    /// Implements [super::client::RegionNetworkEndpointGroups::get].
10000    fn get(
10001        &self,
10002        _req: crate::model::region_network_endpoint_groups::GetRequest,
10003        _options: crate::RequestOptions,
10004    ) -> impl std::future::Future<
10005        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
10006    > + Send {
10007        gaxi::unimplemented::unimplemented_stub()
10008    }
10009
10010    /// Implements [super::client::RegionNetworkEndpointGroups::insert].
10011    fn insert(
10012        &self,
10013        _req: crate::model::region_network_endpoint_groups::InsertRequest,
10014        _options: crate::RequestOptions,
10015    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10016    {
10017        gaxi::unimplemented::unimplemented_stub()
10018    }
10019
10020    /// Implements [super::client::RegionNetworkEndpointGroups::list].
10021    fn list(
10022        &self,
10023        _req: crate::model::region_network_endpoint_groups::ListRequest,
10024        _options: crate::RequestOptions,
10025    ) -> impl std::future::Future<
10026        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
10027    > + Send {
10028        gaxi::unimplemented::unimplemented_stub()
10029    }
10030
10031    /// Implements [super::client::RegionNetworkEndpointGroups::list_network_endpoints].
10032    fn list_network_endpoints(
10033        &self,
10034        _req: crate::model::region_network_endpoint_groups::ListNetworkEndpointsRequest,
10035        _options: crate::RequestOptions,
10036    ) -> impl std::future::Future<
10037        Output = crate::Result<
10038            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
10039        >,
10040    > + Send {
10041        gaxi::unimplemented::unimplemented_stub()
10042    }
10043
10044    /// Implements [super::client::RegionNetworkEndpointGroups::get_operation].
10045    fn get_operation(
10046        &self,
10047        _req: crate::model::region_operations::GetRequest,
10048        _options: crate::RequestOptions,
10049    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10050    {
10051        gaxi::unimplemented::unimplemented_stub()
10052    }
10053
10054    /// Returns the polling error policy.
10055    ///
10056    /// When mocking, this method is typically irrelevant. Do not try to verify
10057    /// it is called by your mocks.
10058    fn get_polling_error_policy(
10059        &self,
10060        _options: &crate::RequestOptions,
10061    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10062        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10063    }
10064
10065    /// Returns the polling backoff policy.
10066    ///
10067    /// When mocking, this method is typically irrelevant. Do not try to verify
10068    /// it is called by your mocks.
10069    fn get_polling_backoff_policy(
10070        &self,
10071        _options: &crate::RequestOptions,
10072    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10073        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10074    }
10075}
10076
10077/// Defines the trait used to implement [super::client::RegionNetworkFirewallPolicies].
10078///
10079/// Application developers may need to implement this trait to mock
10080/// `client::RegionNetworkFirewallPolicies`.  In other use-cases, application developers only
10081/// use `client::RegionNetworkFirewallPolicies` and need not be concerned with this trait or
10082/// its implementations.
10083///
10084/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10085/// too. To avoid breaking applications the trait provides a default
10086/// implementation of each method. Most of these implementations just return an
10087/// error.
10088#[cfg(feature = "region-network-firewall-policies")]
10089#[cfg_attr(docsrs, doc(cfg(feature = "region-network-firewall-policies")))]
10090pub trait RegionNetworkFirewallPolicies: std::fmt::Debug + Send + Sync {
10091    /// Implements [super::client::RegionNetworkFirewallPolicies::add_association].
10092    fn add_association(
10093        &self,
10094        _req: crate::model::region_network_firewall_policies::AddAssociationRequest,
10095        _options: crate::RequestOptions,
10096    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10097    {
10098        gaxi::unimplemented::unimplemented_stub()
10099    }
10100
10101    /// Implements [super::client::RegionNetworkFirewallPolicies::add_rule].
10102    fn add_rule(
10103        &self,
10104        _req: crate::model::region_network_firewall_policies::AddRuleRequest,
10105        _options: crate::RequestOptions,
10106    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10107    {
10108        gaxi::unimplemented::unimplemented_stub()
10109    }
10110
10111    /// Implements [super::client::RegionNetworkFirewallPolicies::clone_rules].
10112    fn clone_rules(
10113        &self,
10114        _req: crate::model::region_network_firewall_policies::CloneRulesRequest,
10115        _options: crate::RequestOptions,
10116    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10117    {
10118        gaxi::unimplemented::unimplemented_stub()
10119    }
10120
10121    /// Implements [super::client::RegionNetworkFirewallPolicies::delete].
10122    fn delete(
10123        &self,
10124        _req: crate::model::region_network_firewall_policies::DeleteRequest,
10125        _options: crate::RequestOptions,
10126    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10127    {
10128        gaxi::unimplemented::unimplemented_stub()
10129    }
10130
10131    /// Implements [super::client::RegionNetworkFirewallPolicies::get].
10132    fn get(
10133        &self,
10134        _req: crate::model::region_network_firewall_policies::GetRequest,
10135        _options: crate::RequestOptions,
10136    ) -> impl std::future::Future<
10137        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
10138    > + Send {
10139        gaxi::unimplemented::unimplemented_stub()
10140    }
10141
10142    /// Implements [super::client::RegionNetworkFirewallPolicies::get_association].
10143    fn get_association(
10144        &self,
10145        _req: crate::model::region_network_firewall_policies::GetAssociationRequest,
10146        _options: crate::RequestOptions,
10147    ) -> impl std::future::Future<
10148        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
10149    > + Send {
10150        gaxi::unimplemented::unimplemented_stub()
10151    }
10152
10153    /// Implements [super::client::RegionNetworkFirewallPolicies::get_effective_firewalls].
10154    fn get_effective_firewalls(
10155        &self,
10156        _req: crate::model::region_network_firewall_policies::GetEffectiveFirewallsRequest,
10157        _options: crate::RequestOptions,
10158    ) -> impl std::future::Future<
10159        Output = crate::Result<
10160            crate::Response<
10161                crate::model::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse,
10162            >,
10163        >,
10164    > + Send {
10165        gaxi::unimplemented::unimplemented_stub()
10166    }
10167
10168    /// Implements [super::client::RegionNetworkFirewallPolicies::get_iam_policy].
10169    fn get_iam_policy(
10170        &self,
10171        _req: crate::model::region_network_firewall_policies::GetIamPolicyRequest,
10172        _options: crate::RequestOptions,
10173    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10174    {
10175        gaxi::unimplemented::unimplemented_stub()
10176    }
10177
10178    /// Implements [super::client::RegionNetworkFirewallPolicies::get_rule].
10179    fn get_rule(
10180        &self,
10181        _req: crate::model::region_network_firewall_policies::GetRuleRequest,
10182        _options: crate::RequestOptions,
10183    ) -> impl std::future::Future<
10184        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
10185    > + Send {
10186        gaxi::unimplemented::unimplemented_stub()
10187    }
10188
10189    /// Implements [super::client::RegionNetworkFirewallPolicies::insert].
10190    fn insert(
10191        &self,
10192        _req: crate::model::region_network_firewall_policies::InsertRequest,
10193        _options: crate::RequestOptions,
10194    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10195    {
10196        gaxi::unimplemented::unimplemented_stub()
10197    }
10198
10199    /// Implements [super::client::RegionNetworkFirewallPolicies::list].
10200    fn list(
10201        &self,
10202        _req: crate::model::region_network_firewall_policies::ListRequest,
10203        _options: crate::RequestOptions,
10204    ) -> impl std::future::Future<
10205        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
10206    > + Send {
10207        gaxi::unimplemented::unimplemented_stub()
10208    }
10209
10210    /// Implements [super::client::RegionNetworkFirewallPolicies::patch].
10211    fn patch(
10212        &self,
10213        _req: crate::model::region_network_firewall_policies::PatchRequest,
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::RegionNetworkFirewallPolicies::patch_rule].
10221    fn patch_rule(
10222        &self,
10223        _req: crate::model::region_network_firewall_policies::PatchRuleRequest,
10224        _options: crate::RequestOptions,
10225    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10226    {
10227        gaxi::unimplemented::unimplemented_stub()
10228    }
10229
10230    /// Implements [super::client::RegionNetworkFirewallPolicies::remove_association].
10231    fn remove_association(
10232        &self,
10233        _req: crate::model::region_network_firewall_policies::RemoveAssociationRequest,
10234        _options: crate::RequestOptions,
10235    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10236    {
10237        gaxi::unimplemented::unimplemented_stub()
10238    }
10239
10240    /// Implements [super::client::RegionNetworkFirewallPolicies::remove_rule].
10241    fn remove_rule(
10242        &self,
10243        _req: crate::model::region_network_firewall_policies::RemoveRuleRequest,
10244        _options: crate::RequestOptions,
10245    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10246    {
10247        gaxi::unimplemented::unimplemented_stub()
10248    }
10249
10250    /// Implements [super::client::RegionNetworkFirewallPolicies::set_iam_policy].
10251    fn set_iam_policy(
10252        &self,
10253        _req: crate::model::region_network_firewall_policies::SetIamPolicyRequest,
10254        _options: crate::RequestOptions,
10255    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10256    {
10257        gaxi::unimplemented::unimplemented_stub()
10258    }
10259
10260    /// Implements [super::client::RegionNetworkFirewallPolicies::test_iam_permissions].
10261    fn test_iam_permissions(
10262        &self,
10263        _req: crate::model::region_network_firewall_policies::TestIamPermissionsRequest,
10264        _options: crate::RequestOptions,
10265    ) -> impl std::future::Future<
10266        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10267    > + Send {
10268        gaxi::unimplemented::unimplemented_stub()
10269    }
10270
10271    /// Implements [super::client::RegionNetworkFirewallPolicies::get_operation].
10272    fn get_operation(
10273        &self,
10274        _req: crate::model::region_operations::GetRequest,
10275        _options: crate::RequestOptions,
10276    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10277    {
10278        gaxi::unimplemented::unimplemented_stub()
10279    }
10280
10281    /// Returns the polling error policy.
10282    ///
10283    /// When mocking, this method is typically irrelevant. Do not try to verify
10284    /// it is called by your mocks.
10285    fn get_polling_error_policy(
10286        &self,
10287        _options: &crate::RequestOptions,
10288    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10289        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10290    }
10291
10292    /// Returns the polling backoff policy.
10293    ///
10294    /// When mocking, this method is typically irrelevant. Do not try to verify
10295    /// it is called by your mocks.
10296    fn get_polling_backoff_policy(
10297        &self,
10298        _options: &crate::RequestOptions,
10299    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10300        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10301    }
10302}
10303
10304/// Defines the trait used to implement [super::client::RegionNotificationEndpoints].
10305///
10306/// Application developers may need to implement this trait to mock
10307/// `client::RegionNotificationEndpoints`.  In other use-cases, application developers only
10308/// use `client::RegionNotificationEndpoints` and need not be concerned with this trait or
10309/// its implementations.
10310///
10311/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10312/// too. To avoid breaking applications the trait provides a default
10313/// implementation of each method. Most of these implementations just return an
10314/// error.
10315#[cfg(feature = "region-notification-endpoints")]
10316#[cfg_attr(docsrs, doc(cfg(feature = "region-notification-endpoints")))]
10317pub trait RegionNotificationEndpoints: std::fmt::Debug + Send + Sync {
10318    /// Implements [super::client::RegionNotificationEndpoints::aggregated_list].
10319    fn aggregated_list(
10320        &self,
10321        _req: crate::model::region_notification_endpoints::AggregatedListRequest,
10322        _options: crate::RequestOptions,
10323    ) -> impl std::future::Future<
10324        Output = crate::Result<crate::Response<crate::model::NotificationEndpointAggregatedList>>,
10325    > + Send {
10326        gaxi::unimplemented::unimplemented_stub()
10327    }
10328
10329    /// Implements [super::client::RegionNotificationEndpoints::delete].
10330    fn delete(
10331        &self,
10332        _req: crate::model::region_notification_endpoints::DeleteRequest,
10333        _options: crate::RequestOptions,
10334    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10335    {
10336        gaxi::unimplemented::unimplemented_stub()
10337    }
10338
10339    /// Implements [super::client::RegionNotificationEndpoints::get].
10340    fn get(
10341        &self,
10342        _req: crate::model::region_notification_endpoints::GetRequest,
10343        _options: crate::RequestOptions,
10344    ) -> impl std::future::Future<
10345        Output = crate::Result<crate::Response<crate::model::NotificationEndpoint>>,
10346    > + Send {
10347        gaxi::unimplemented::unimplemented_stub()
10348    }
10349
10350    /// Implements [super::client::RegionNotificationEndpoints::insert].
10351    fn insert(
10352        &self,
10353        _req: crate::model::region_notification_endpoints::InsertRequest,
10354        _options: crate::RequestOptions,
10355    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10356    {
10357        gaxi::unimplemented::unimplemented_stub()
10358    }
10359
10360    /// Implements [super::client::RegionNotificationEndpoints::list].
10361    fn list(
10362        &self,
10363        _req: crate::model::region_notification_endpoints::ListRequest,
10364        _options: crate::RequestOptions,
10365    ) -> impl std::future::Future<
10366        Output = crate::Result<crate::Response<crate::model::NotificationEndpointList>>,
10367    > + Send {
10368        gaxi::unimplemented::unimplemented_stub()
10369    }
10370
10371    /// Implements [super::client::RegionNotificationEndpoints::test_iam_permissions].
10372    fn test_iam_permissions(
10373        &self,
10374        _req: crate::model::region_notification_endpoints::TestIamPermissionsRequest,
10375        _options: crate::RequestOptions,
10376    ) -> impl std::future::Future<
10377        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10378    > + Send {
10379        gaxi::unimplemented::unimplemented_stub()
10380    }
10381
10382    /// Implements [super::client::RegionNotificationEndpoints::get_operation].
10383    fn get_operation(
10384        &self,
10385        _req: crate::model::region_operations::GetRequest,
10386        _options: crate::RequestOptions,
10387    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10388    {
10389        gaxi::unimplemented::unimplemented_stub()
10390    }
10391
10392    /// Returns the polling error policy.
10393    ///
10394    /// When mocking, this method is typically irrelevant. Do not try to verify
10395    /// it is called by your mocks.
10396    fn get_polling_error_policy(
10397        &self,
10398        _options: &crate::RequestOptions,
10399    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10400        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10401    }
10402
10403    /// Returns the polling backoff policy.
10404    ///
10405    /// When mocking, this method is typically irrelevant. Do not try to verify
10406    /// it is called by your mocks.
10407    fn get_polling_backoff_policy(
10408        &self,
10409        _options: &crate::RequestOptions,
10410    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10411        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10412    }
10413}
10414
10415/// Defines the trait used to implement [super::client::RegionOperations].
10416///
10417/// Application developers may need to implement this trait to mock
10418/// `client::RegionOperations`.  In other use-cases, application developers only
10419/// use `client::RegionOperations` and need not be concerned with this trait or
10420/// its implementations.
10421///
10422/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10423/// too. To avoid breaking applications the trait provides a default
10424/// implementation of each method. Most of these implementations just return an
10425/// error.
10426#[cfg(feature = "region-operations")]
10427#[cfg_attr(docsrs, doc(cfg(feature = "region-operations")))]
10428pub trait RegionOperations: std::fmt::Debug + Send + Sync {
10429    /// Implements [super::client::RegionOperations::delete].
10430    fn delete(
10431        &self,
10432        _req: crate::model::region_operations::DeleteRequest,
10433        _options: crate::RequestOptions,
10434    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
10435        gaxi::unimplemented::unimplemented_stub()
10436    }
10437
10438    /// Implements [super::client::RegionOperations::get].
10439    fn get(
10440        &self,
10441        _req: crate::model::region_operations::GetRequest,
10442        _options: crate::RequestOptions,
10443    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10444    {
10445        gaxi::unimplemented::unimplemented_stub()
10446    }
10447
10448    /// Implements [super::client::RegionOperations::list].
10449    fn list(
10450        &self,
10451        _req: crate::model::region_operations::ListRequest,
10452        _options: crate::RequestOptions,
10453    ) -> impl std::future::Future<
10454        Output = crate::Result<crate::Response<crate::model::OperationList>>,
10455    > + Send {
10456        gaxi::unimplemented::unimplemented_stub()
10457    }
10458
10459    /// Implements [super::client::RegionOperations::wait].
10460    fn wait(
10461        &self,
10462        _req: crate::model::region_operations::WaitRequest,
10463        _options: crate::RequestOptions,
10464    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10465    {
10466        gaxi::unimplemented::unimplemented_stub()
10467    }
10468}
10469
10470/// Defines the trait used to implement [super::client::RegionSecurityPolicies].
10471///
10472/// Application developers may need to implement this trait to mock
10473/// `client::RegionSecurityPolicies`.  In other use-cases, application developers only
10474/// use `client::RegionSecurityPolicies` and need not be concerned with this trait or
10475/// its implementations.
10476///
10477/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10478/// too. To avoid breaking applications the trait provides a default
10479/// implementation of each method. Most of these implementations just return an
10480/// error.
10481#[cfg(feature = "region-security-policies")]
10482#[cfg_attr(docsrs, doc(cfg(feature = "region-security-policies")))]
10483pub trait RegionSecurityPolicies: std::fmt::Debug + Send + Sync {
10484    /// Implements [super::client::RegionSecurityPolicies::add_rule].
10485    fn add_rule(
10486        &self,
10487        _req: crate::model::region_security_policies::AddRuleRequest,
10488        _options: crate::RequestOptions,
10489    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10490    {
10491        gaxi::unimplemented::unimplemented_stub()
10492    }
10493
10494    /// Implements [super::client::RegionSecurityPolicies::delete].
10495    fn delete(
10496        &self,
10497        _req: crate::model::region_security_policies::DeleteRequest,
10498        _options: crate::RequestOptions,
10499    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10500    {
10501        gaxi::unimplemented::unimplemented_stub()
10502    }
10503
10504    /// Implements [super::client::RegionSecurityPolicies::get].
10505    fn get(
10506        &self,
10507        _req: crate::model::region_security_policies::GetRequest,
10508        _options: crate::RequestOptions,
10509    ) -> impl std::future::Future<
10510        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
10511    > + Send {
10512        gaxi::unimplemented::unimplemented_stub()
10513    }
10514
10515    /// Implements [super::client::RegionSecurityPolicies::get_rule].
10516    fn get_rule(
10517        &self,
10518        _req: crate::model::region_security_policies::GetRuleRequest,
10519        _options: crate::RequestOptions,
10520    ) -> impl std::future::Future<
10521        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
10522    > + Send {
10523        gaxi::unimplemented::unimplemented_stub()
10524    }
10525
10526    /// Implements [super::client::RegionSecurityPolicies::insert].
10527    fn insert(
10528        &self,
10529        _req: crate::model::region_security_policies::InsertRequest,
10530        _options: crate::RequestOptions,
10531    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10532    {
10533        gaxi::unimplemented::unimplemented_stub()
10534    }
10535
10536    /// Implements [super::client::RegionSecurityPolicies::list].
10537    fn list(
10538        &self,
10539        _req: crate::model::region_security_policies::ListRequest,
10540        _options: crate::RequestOptions,
10541    ) -> impl std::future::Future<
10542        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
10543    > + Send {
10544        gaxi::unimplemented::unimplemented_stub()
10545    }
10546
10547    /// Implements [super::client::RegionSecurityPolicies::patch].
10548    fn patch(
10549        &self,
10550        _req: crate::model::region_security_policies::PatchRequest,
10551        _options: crate::RequestOptions,
10552    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10553    {
10554        gaxi::unimplemented::unimplemented_stub()
10555    }
10556
10557    /// Implements [super::client::RegionSecurityPolicies::patch_rule].
10558    fn patch_rule(
10559        &self,
10560        _req: crate::model::region_security_policies::PatchRuleRequest,
10561        _options: crate::RequestOptions,
10562    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10563    {
10564        gaxi::unimplemented::unimplemented_stub()
10565    }
10566
10567    /// Implements [super::client::RegionSecurityPolicies::remove_rule].
10568    fn remove_rule(
10569        &self,
10570        _req: crate::model::region_security_policies::RemoveRuleRequest,
10571        _options: crate::RequestOptions,
10572    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10573    {
10574        gaxi::unimplemented::unimplemented_stub()
10575    }
10576
10577    /// Implements [super::client::RegionSecurityPolicies::set_labels].
10578    fn set_labels(
10579        &self,
10580        _req: crate::model::region_security_policies::SetLabelsRequest,
10581        _options: crate::RequestOptions,
10582    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10583    {
10584        gaxi::unimplemented::unimplemented_stub()
10585    }
10586
10587    /// Implements [super::client::RegionSecurityPolicies::get_operation].
10588    fn get_operation(
10589        &self,
10590        _req: crate::model::region_operations::GetRequest,
10591        _options: crate::RequestOptions,
10592    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10593    {
10594        gaxi::unimplemented::unimplemented_stub()
10595    }
10596
10597    /// Returns the polling error policy.
10598    ///
10599    /// When mocking, this method is typically irrelevant. Do not try to verify
10600    /// it is called by your mocks.
10601    fn get_polling_error_policy(
10602        &self,
10603        _options: &crate::RequestOptions,
10604    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10605        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10606    }
10607
10608    /// Returns the polling backoff policy.
10609    ///
10610    /// When mocking, this method is typically irrelevant. Do not try to verify
10611    /// it is called by your mocks.
10612    fn get_polling_backoff_policy(
10613        &self,
10614        _options: &crate::RequestOptions,
10615    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10616        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10617    }
10618}
10619
10620/// Defines the trait used to implement [super::client::RegionSnapshotSettings].
10621///
10622/// Application developers may need to implement this trait to mock
10623/// `client::RegionSnapshotSettings`.  In other use-cases, application developers only
10624/// use `client::RegionSnapshotSettings` and need not be concerned with this trait or
10625/// its implementations.
10626///
10627/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10628/// too. To avoid breaking applications the trait provides a default
10629/// implementation of each method. Most of these implementations just return an
10630/// error.
10631#[cfg(feature = "region-snapshot-settings")]
10632#[cfg_attr(docsrs, doc(cfg(feature = "region-snapshot-settings")))]
10633pub trait RegionSnapshotSettings: std::fmt::Debug + Send + Sync {
10634    /// Implements [super::client::RegionSnapshotSettings::get].
10635    fn get(
10636        &self,
10637        _req: crate::model::region_snapshot_settings::GetRequest,
10638        _options: crate::RequestOptions,
10639    ) -> impl std::future::Future<
10640        Output = crate::Result<crate::Response<crate::model::SnapshotSettings>>,
10641    > + Send {
10642        gaxi::unimplemented::unimplemented_stub()
10643    }
10644
10645    /// Implements [super::client::RegionSnapshotSettings::patch].
10646    fn patch(
10647        &self,
10648        _req: crate::model::region_snapshot_settings::PatchRequest,
10649        _options: crate::RequestOptions,
10650    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10651    {
10652        gaxi::unimplemented::unimplemented_stub()
10653    }
10654
10655    /// Implements [super::client::RegionSnapshotSettings::get_operation].
10656    fn get_operation(
10657        &self,
10658        _req: crate::model::region_operations::GetRequest,
10659        _options: crate::RequestOptions,
10660    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10661    {
10662        gaxi::unimplemented::unimplemented_stub()
10663    }
10664
10665    /// Returns the polling error policy.
10666    ///
10667    /// When mocking, this method is typically irrelevant. Do not try to verify
10668    /// it is called by your mocks.
10669    fn get_polling_error_policy(
10670        &self,
10671        _options: &crate::RequestOptions,
10672    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10673        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10674    }
10675
10676    /// Returns the polling backoff policy.
10677    ///
10678    /// When mocking, this method is typically irrelevant. Do not try to verify
10679    /// it is called by your mocks.
10680    fn get_polling_backoff_policy(
10681        &self,
10682        _options: &crate::RequestOptions,
10683    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10684        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10685    }
10686}
10687
10688/// Defines the trait used to implement [super::client::RegionSnapshots].
10689///
10690/// Application developers may need to implement this trait to mock
10691/// `client::RegionSnapshots`.  In other use-cases, application developers only
10692/// use `client::RegionSnapshots` and need not be concerned with this trait or
10693/// its implementations.
10694///
10695/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10696/// too. To avoid breaking applications the trait provides a default
10697/// implementation of each method. Most of these implementations just return an
10698/// error.
10699#[cfg(feature = "region-snapshots")]
10700#[cfg_attr(docsrs, doc(cfg(feature = "region-snapshots")))]
10701pub trait RegionSnapshots: std::fmt::Debug + Send + Sync {
10702    /// Implements [super::client::RegionSnapshots::delete].
10703    fn delete(
10704        &self,
10705        _req: crate::model::region_snapshots::DeleteRequest,
10706        _options: crate::RequestOptions,
10707    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10708    {
10709        gaxi::unimplemented::unimplemented_stub()
10710    }
10711
10712    /// Implements [super::client::RegionSnapshots::get].
10713    fn get(
10714        &self,
10715        _req: crate::model::region_snapshots::GetRequest,
10716        _options: crate::RequestOptions,
10717    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Snapshot>>> + Send
10718    {
10719        gaxi::unimplemented::unimplemented_stub()
10720    }
10721
10722    /// Implements [super::client::RegionSnapshots::get_iam_policy].
10723    fn get_iam_policy(
10724        &self,
10725        _req: crate::model::region_snapshots::GetIamPolicyRequest,
10726        _options: crate::RequestOptions,
10727    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10728    {
10729        gaxi::unimplemented::unimplemented_stub()
10730    }
10731
10732    /// Implements [super::client::RegionSnapshots::insert].
10733    fn insert(
10734        &self,
10735        _req: crate::model::region_snapshots::InsertRequest,
10736        _options: crate::RequestOptions,
10737    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10738    {
10739        gaxi::unimplemented::unimplemented_stub()
10740    }
10741
10742    /// Implements [super::client::RegionSnapshots::list].
10743    fn list(
10744        &self,
10745        _req: crate::model::region_snapshots::ListRequest,
10746        _options: crate::RequestOptions,
10747    ) -> impl std::future::Future<
10748        Output = crate::Result<crate::Response<crate::model::SnapshotList>>,
10749    > + Send {
10750        gaxi::unimplemented::unimplemented_stub()
10751    }
10752
10753    /// Implements [super::client::RegionSnapshots::set_iam_policy].
10754    fn set_iam_policy(
10755        &self,
10756        _req: crate::model::region_snapshots::SetIamPolicyRequest,
10757        _options: crate::RequestOptions,
10758    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10759    {
10760        gaxi::unimplemented::unimplemented_stub()
10761    }
10762
10763    /// Implements [super::client::RegionSnapshots::set_labels].
10764    fn set_labels(
10765        &self,
10766        _req: crate::model::region_snapshots::SetLabelsRequest,
10767        _options: crate::RequestOptions,
10768    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10769    {
10770        gaxi::unimplemented::unimplemented_stub()
10771    }
10772
10773    /// Implements [super::client::RegionSnapshots::test_iam_permissions].
10774    fn test_iam_permissions(
10775        &self,
10776        _req: crate::model::region_snapshots::TestIamPermissionsRequest,
10777        _options: crate::RequestOptions,
10778    ) -> impl std::future::Future<
10779        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10780    > + Send {
10781        gaxi::unimplemented::unimplemented_stub()
10782    }
10783
10784    /// Implements [super::client::RegionSnapshots::update_kms_key].
10785    fn update_kms_key(
10786        &self,
10787        _req: crate::model::region_snapshots::UpdateKmsKeyRequest,
10788        _options: crate::RequestOptions,
10789    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10790    {
10791        gaxi::unimplemented::unimplemented_stub()
10792    }
10793
10794    /// Implements [super::client::RegionSnapshots::get_operation].
10795    fn get_operation(
10796        &self,
10797        _req: crate::model::region_operations::GetRequest,
10798        _options: crate::RequestOptions,
10799    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10800    {
10801        gaxi::unimplemented::unimplemented_stub()
10802    }
10803
10804    /// Returns the polling error policy.
10805    ///
10806    /// When mocking, this method is typically irrelevant. Do not try to verify
10807    /// it is called by your mocks.
10808    fn get_polling_error_policy(
10809        &self,
10810        _options: &crate::RequestOptions,
10811    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10812        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10813    }
10814
10815    /// Returns the polling backoff policy.
10816    ///
10817    /// When mocking, this method is typically irrelevant. Do not try to verify
10818    /// it is called by your mocks.
10819    fn get_polling_backoff_policy(
10820        &self,
10821        _options: &crate::RequestOptions,
10822    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10823        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10824    }
10825}
10826
10827/// Defines the trait used to implement [super::client::RegionSslCertificates].
10828///
10829/// Application developers may need to implement this trait to mock
10830/// `client::RegionSslCertificates`.  In other use-cases, application developers only
10831/// use `client::RegionSslCertificates` and need not be concerned with this trait or
10832/// its implementations.
10833///
10834/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10835/// too. To avoid breaking applications the trait provides a default
10836/// implementation of each method. Most of these implementations just return an
10837/// error.
10838#[cfg(feature = "region-ssl-certificates")]
10839#[cfg_attr(docsrs, doc(cfg(feature = "region-ssl-certificates")))]
10840pub trait RegionSslCertificates: std::fmt::Debug + Send + Sync {
10841    /// Implements [super::client::RegionSslCertificates::delete].
10842    fn delete(
10843        &self,
10844        _req: crate::model::region_ssl_certificates::DeleteRequest,
10845        _options: crate::RequestOptions,
10846    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10847    {
10848        gaxi::unimplemented::unimplemented_stub()
10849    }
10850
10851    /// Implements [super::client::RegionSslCertificates::get].
10852    fn get(
10853        &self,
10854        _req: crate::model::region_ssl_certificates::GetRequest,
10855        _options: crate::RequestOptions,
10856    ) -> impl std::future::Future<
10857        Output = crate::Result<crate::Response<crate::model::SslCertificate>>,
10858    > + Send {
10859        gaxi::unimplemented::unimplemented_stub()
10860    }
10861
10862    /// Implements [super::client::RegionSslCertificates::insert].
10863    fn insert(
10864        &self,
10865        _req: crate::model::region_ssl_certificates::InsertRequest,
10866        _options: crate::RequestOptions,
10867    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10868    {
10869        gaxi::unimplemented::unimplemented_stub()
10870    }
10871
10872    /// Implements [super::client::RegionSslCertificates::list].
10873    fn list(
10874        &self,
10875        _req: crate::model::region_ssl_certificates::ListRequest,
10876        _options: crate::RequestOptions,
10877    ) -> impl std::future::Future<
10878        Output = crate::Result<crate::Response<crate::model::SslCertificateList>>,
10879    > + Send {
10880        gaxi::unimplemented::unimplemented_stub()
10881    }
10882
10883    /// Implements [super::client::RegionSslCertificates::get_operation].
10884    fn get_operation(
10885        &self,
10886        _req: crate::model::region_operations::GetRequest,
10887        _options: crate::RequestOptions,
10888    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10889    {
10890        gaxi::unimplemented::unimplemented_stub()
10891    }
10892
10893    /// Returns the polling error policy.
10894    ///
10895    /// When mocking, this method is typically irrelevant. Do not try to verify
10896    /// it is called by your mocks.
10897    fn get_polling_error_policy(
10898        &self,
10899        _options: &crate::RequestOptions,
10900    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10901        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10902    }
10903
10904    /// Returns the polling backoff policy.
10905    ///
10906    /// When mocking, this method is typically irrelevant. Do not try to verify
10907    /// it is called by your mocks.
10908    fn get_polling_backoff_policy(
10909        &self,
10910        _options: &crate::RequestOptions,
10911    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10912        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10913    }
10914}
10915
10916/// Defines the trait used to implement [super::client::RegionSslPolicies].
10917///
10918/// Application developers may need to implement this trait to mock
10919/// `client::RegionSslPolicies`.  In other use-cases, application developers only
10920/// use `client::RegionSslPolicies` and need not be concerned with this trait or
10921/// its implementations.
10922///
10923/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10924/// too. To avoid breaking applications the trait provides a default
10925/// implementation of each method. Most of these implementations just return an
10926/// error.
10927#[cfg(feature = "region-ssl-policies")]
10928#[cfg_attr(docsrs, doc(cfg(feature = "region-ssl-policies")))]
10929pub trait RegionSslPolicies: std::fmt::Debug + Send + Sync {
10930    /// Implements [super::client::RegionSslPolicies::delete].
10931    fn delete(
10932        &self,
10933        _req: crate::model::region_ssl_policies::DeleteRequest,
10934        _options: crate::RequestOptions,
10935    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10936    {
10937        gaxi::unimplemented::unimplemented_stub()
10938    }
10939
10940    /// Implements [super::client::RegionSslPolicies::get].
10941    fn get(
10942        &self,
10943        _req: crate::model::region_ssl_policies::GetRequest,
10944        _options: crate::RequestOptions,
10945    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::SslPolicy>>> + Send
10946    {
10947        gaxi::unimplemented::unimplemented_stub()
10948    }
10949
10950    /// Implements [super::client::RegionSslPolicies::insert].
10951    fn insert(
10952        &self,
10953        _req: crate::model::region_ssl_policies::InsertRequest,
10954        _options: crate::RequestOptions,
10955    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10956    {
10957        gaxi::unimplemented::unimplemented_stub()
10958    }
10959
10960    /// Implements [super::client::RegionSslPolicies::list].
10961    fn list(
10962        &self,
10963        _req: crate::model::region_ssl_policies::ListRequest,
10964        _options: crate::RequestOptions,
10965    ) -> impl std::future::Future<
10966        Output = crate::Result<crate::Response<crate::model::SslPoliciesList>>,
10967    > + Send {
10968        gaxi::unimplemented::unimplemented_stub()
10969    }
10970
10971    /// Implements [super::client::RegionSslPolicies::list_available_features].
10972    fn list_available_features(
10973        &self,
10974        _req: crate::model::region_ssl_policies::ListAvailableFeaturesRequest,
10975        _options: crate::RequestOptions,
10976    ) -> impl std::future::Future<
10977        Output = crate::Result<
10978            crate::Response<crate::model::SslPoliciesListAvailableFeaturesResponse>,
10979        >,
10980    > + Send {
10981        gaxi::unimplemented::unimplemented_stub()
10982    }
10983
10984    /// Implements [super::client::RegionSslPolicies::patch].
10985    fn patch(
10986        &self,
10987        _req: crate::model::region_ssl_policies::PatchRequest,
10988        _options: crate::RequestOptions,
10989    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10990    {
10991        gaxi::unimplemented::unimplemented_stub()
10992    }
10993
10994    /// Implements [super::client::RegionSslPolicies::get_operation].
10995    fn get_operation(
10996        &self,
10997        _req: crate::model::region_operations::GetRequest,
10998        _options: crate::RequestOptions,
10999    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11000    {
11001        gaxi::unimplemented::unimplemented_stub()
11002    }
11003
11004    /// Returns the polling error policy.
11005    ///
11006    /// When mocking, this method is typically irrelevant. Do not try to verify
11007    /// it is called by your mocks.
11008    fn get_polling_error_policy(
11009        &self,
11010        _options: &crate::RequestOptions,
11011    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11012        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11013    }
11014
11015    /// Returns the polling backoff policy.
11016    ///
11017    /// When mocking, this method is typically irrelevant. Do not try to verify
11018    /// it is called by your mocks.
11019    fn get_polling_backoff_policy(
11020        &self,
11021        _options: &crate::RequestOptions,
11022    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11023        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11024    }
11025}
11026
11027/// Defines the trait used to implement [super::client::RegionTargetHttpProxies].
11028///
11029/// Application developers may need to implement this trait to mock
11030/// `client::RegionTargetHttpProxies`.  In other use-cases, application developers only
11031/// use `client::RegionTargetHttpProxies` and need not be concerned with this trait or
11032/// its implementations.
11033///
11034/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11035/// too. To avoid breaking applications the trait provides a default
11036/// implementation of each method. Most of these implementations just return an
11037/// error.
11038#[cfg(feature = "region-target-http-proxies")]
11039#[cfg_attr(docsrs, doc(cfg(feature = "region-target-http-proxies")))]
11040pub trait RegionTargetHttpProxies: std::fmt::Debug + Send + Sync {
11041    /// Implements [super::client::RegionTargetHttpProxies::delete].
11042    fn delete(
11043        &self,
11044        _req: crate::model::region_target_http_proxies::DeleteRequest,
11045        _options: crate::RequestOptions,
11046    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11047    {
11048        gaxi::unimplemented::unimplemented_stub()
11049    }
11050
11051    /// Implements [super::client::RegionTargetHttpProxies::get].
11052    fn get(
11053        &self,
11054        _req: crate::model::region_target_http_proxies::GetRequest,
11055        _options: crate::RequestOptions,
11056    ) -> impl std::future::Future<
11057        Output = crate::Result<crate::Response<crate::model::TargetHttpProxy>>,
11058    > + Send {
11059        gaxi::unimplemented::unimplemented_stub()
11060    }
11061
11062    /// Implements [super::client::RegionTargetHttpProxies::insert].
11063    fn insert(
11064        &self,
11065        _req: crate::model::region_target_http_proxies::InsertRequest,
11066        _options: crate::RequestOptions,
11067    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11068    {
11069        gaxi::unimplemented::unimplemented_stub()
11070    }
11071
11072    /// Implements [super::client::RegionTargetHttpProxies::list].
11073    fn list(
11074        &self,
11075        _req: crate::model::region_target_http_proxies::ListRequest,
11076        _options: crate::RequestOptions,
11077    ) -> impl std::future::Future<
11078        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyList>>,
11079    > + Send {
11080        gaxi::unimplemented::unimplemented_stub()
11081    }
11082
11083    /// Implements [super::client::RegionTargetHttpProxies::set_url_map].
11084    fn set_url_map(
11085        &self,
11086        _req: crate::model::region_target_http_proxies::SetUrlMapRequest,
11087        _options: crate::RequestOptions,
11088    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11089    {
11090        gaxi::unimplemented::unimplemented_stub()
11091    }
11092
11093    /// Implements [super::client::RegionTargetHttpProxies::get_operation].
11094    fn get_operation(
11095        &self,
11096        _req: crate::model::region_operations::GetRequest,
11097        _options: crate::RequestOptions,
11098    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11099    {
11100        gaxi::unimplemented::unimplemented_stub()
11101    }
11102
11103    /// Returns the polling error policy.
11104    ///
11105    /// When mocking, this method is typically irrelevant. Do not try to verify
11106    /// it is called by your mocks.
11107    fn get_polling_error_policy(
11108        &self,
11109        _options: &crate::RequestOptions,
11110    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11111        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11112    }
11113
11114    /// Returns the polling backoff policy.
11115    ///
11116    /// When mocking, this method is typically irrelevant. Do not try to verify
11117    /// it is called by your mocks.
11118    fn get_polling_backoff_policy(
11119        &self,
11120        _options: &crate::RequestOptions,
11121    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11122        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11123    }
11124}
11125
11126/// Defines the trait used to implement [super::client::RegionTargetHttpsProxies].
11127///
11128/// Application developers may need to implement this trait to mock
11129/// `client::RegionTargetHttpsProxies`.  In other use-cases, application developers only
11130/// use `client::RegionTargetHttpsProxies` and need not be concerned with this trait or
11131/// its implementations.
11132///
11133/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11134/// too. To avoid breaking applications the trait provides a default
11135/// implementation of each method. Most of these implementations just return an
11136/// error.
11137#[cfg(feature = "region-target-https-proxies")]
11138#[cfg_attr(docsrs, doc(cfg(feature = "region-target-https-proxies")))]
11139pub trait RegionTargetHttpsProxies: std::fmt::Debug + Send + Sync {
11140    /// Implements [super::client::RegionTargetHttpsProxies::delete].
11141    fn delete(
11142        &self,
11143        _req: crate::model::region_target_https_proxies::DeleteRequest,
11144        _options: crate::RequestOptions,
11145    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11146    {
11147        gaxi::unimplemented::unimplemented_stub()
11148    }
11149
11150    /// Implements [super::client::RegionTargetHttpsProxies::get].
11151    fn get(
11152        &self,
11153        _req: crate::model::region_target_https_proxies::GetRequest,
11154        _options: crate::RequestOptions,
11155    ) -> impl std::future::Future<
11156        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxy>>,
11157    > + Send {
11158        gaxi::unimplemented::unimplemented_stub()
11159    }
11160
11161    /// Implements [super::client::RegionTargetHttpsProxies::insert].
11162    fn insert(
11163        &self,
11164        _req: crate::model::region_target_https_proxies::InsertRequest,
11165        _options: crate::RequestOptions,
11166    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11167    {
11168        gaxi::unimplemented::unimplemented_stub()
11169    }
11170
11171    /// Implements [super::client::RegionTargetHttpsProxies::list].
11172    fn list(
11173        &self,
11174        _req: crate::model::region_target_https_proxies::ListRequest,
11175        _options: crate::RequestOptions,
11176    ) -> impl std::future::Future<
11177        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyList>>,
11178    > + Send {
11179        gaxi::unimplemented::unimplemented_stub()
11180    }
11181
11182    /// Implements [super::client::RegionTargetHttpsProxies::patch].
11183    fn patch(
11184        &self,
11185        _req: crate::model::region_target_https_proxies::PatchRequest,
11186        _options: crate::RequestOptions,
11187    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11188    {
11189        gaxi::unimplemented::unimplemented_stub()
11190    }
11191
11192    /// Implements [super::client::RegionTargetHttpsProxies::set_ssl_certificates].
11193    fn set_ssl_certificates(
11194        &self,
11195        _req: crate::model::region_target_https_proxies::SetSslCertificatesRequest,
11196        _options: crate::RequestOptions,
11197    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11198    {
11199        gaxi::unimplemented::unimplemented_stub()
11200    }
11201
11202    /// Implements [super::client::RegionTargetHttpsProxies::set_url_map].
11203    fn set_url_map(
11204        &self,
11205        _req: crate::model::region_target_https_proxies::SetUrlMapRequest,
11206        _options: crate::RequestOptions,
11207    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11208    {
11209        gaxi::unimplemented::unimplemented_stub()
11210    }
11211
11212    /// Implements [super::client::RegionTargetHttpsProxies::get_operation].
11213    fn get_operation(
11214        &self,
11215        _req: crate::model::region_operations::GetRequest,
11216        _options: crate::RequestOptions,
11217    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11218    {
11219        gaxi::unimplemented::unimplemented_stub()
11220    }
11221
11222    /// Returns the polling error policy.
11223    ///
11224    /// When mocking, this method is typically irrelevant. Do not try to verify
11225    /// it is called by your mocks.
11226    fn get_polling_error_policy(
11227        &self,
11228        _options: &crate::RequestOptions,
11229    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11230        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11231    }
11232
11233    /// Returns the polling backoff policy.
11234    ///
11235    /// When mocking, this method is typically irrelevant. Do not try to verify
11236    /// it is called by your mocks.
11237    fn get_polling_backoff_policy(
11238        &self,
11239        _options: &crate::RequestOptions,
11240    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11241        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11242    }
11243}
11244
11245/// Defines the trait used to implement [super::client::RegionTargetTcpProxies].
11246///
11247/// Application developers may need to implement this trait to mock
11248/// `client::RegionTargetTcpProxies`.  In other use-cases, application developers only
11249/// use `client::RegionTargetTcpProxies` and need not be concerned with this trait or
11250/// its implementations.
11251///
11252/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11253/// too. To avoid breaking applications the trait provides a default
11254/// implementation of each method. Most of these implementations just return an
11255/// error.
11256#[cfg(feature = "region-target-tcp-proxies")]
11257#[cfg_attr(docsrs, doc(cfg(feature = "region-target-tcp-proxies")))]
11258pub trait RegionTargetTcpProxies: std::fmt::Debug + Send + Sync {
11259    /// Implements [super::client::RegionTargetTcpProxies::delete].
11260    fn delete(
11261        &self,
11262        _req: crate::model::region_target_tcp_proxies::DeleteRequest,
11263        _options: crate::RequestOptions,
11264    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11265    {
11266        gaxi::unimplemented::unimplemented_stub()
11267    }
11268
11269    /// Implements [super::client::RegionTargetTcpProxies::get].
11270    fn get(
11271        &self,
11272        _req: crate::model::region_target_tcp_proxies::GetRequest,
11273        _options: crate::RequestOptions,
11274    ) -> impl std::future::Future<
11275        Output = crate::Result<crate::Response<crate::model::TargetTcpProxy>>,
11276    > + Send {
11277        gaxi::unimplemented::unimplemented_stub()
11278    }
11279
11280    /// Implements [super::client::RegionTargetTcpProxies::insert].
11281    fn insert(
11282        &self,
11283        _req: crate::model::region_target_tcp_proxies::InsertRequest,
11284        _options: crate::RequestOptions,
11285    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11286    {
11287        gaxi::unimplemented::unimplemented_stub()
11288    }
11289
11290    /// Implements [super::client::RegionTargetTcpProxies::list].
11291    fn list(
11292        &self,
11293        _req: crate::model::region_target_tcp_proxies::ListRequest,
11294        _options: crate::RequestOptions,
11295    ) -> impl std::future::Future<
11296        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyList>>,
11297    > + Send {
11298        gaxi::unimplemented::unimplemented_stub()
11299    }
11300
11301    /// Implements [super::client::RegionTargetTcpProxies::get_operation].
11302    fn get_operation(
11303        &self,
11304        _req: crate::model::region_operations::GetRequest,
11305        _options: crate::RequestOptions,
11306    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11307    {
11308        gaxi::unimplemented::unimplemented_stub()
11309    }
11310
11311    /// Returns the polling error policy.
11312    ///
11313    /// When mocking, this method is typically irrelevant. Do not try to verify
11314    /// it is called by your mocks.
11315    fn get_polling_error_policy(
11316        &self,
11317        _options: &crate::RequestOptions,
11318    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11319        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11320    }
11321
11322    /// Returns the polling backoff policy.
11323    ///
11324    /// When mocking, this method is typically irrelevant. Do not try to verify
11325    /// it is called by your mocks.
11326    fn get_polling_backoff_policy(
11327        &self,
11328        _options: &crate::RequestOptions,
11329    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11330        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11331    }
11332}
11333
11334/// Defines the trait used to implement [super::client::RegionUrlMaps].
11335///
11336/// Application developers may need to implement this trait to mock
11337/// `client::RegionUrlMaps`.  In other use-cases, application developers only
11338/// use `client::RegionUrlMaps` and need not be concerned with this trait or
11339/// its implementations.
11340///
11341/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11342/// too. To avoid breaking applications the trait provides a default
11343/// implementation of each method. Most of these implementations just return an
11344/// error.
11345#[cfg(feature = "region-url-maps")]
11346#[cfg_attr(docsrs, doc(cfg(feature = "region-url-maps")))]
11347pub trait RegionUrlMaps: std::fmt::Debug + Send + Sync {
11348    /// Implements [super::client::RegionUrlMaps::delete].
11349    fn delete(
11350        &self,
11351        _req: crate::model::region_url_maps::DeleteRequest,
11352        _options: crate::RequestOptions,
11353    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11354    {
11355        gaxi::unimplemented::unimplemented_stub()
11356    }
11357
11358    /// Implements [super::client::RegionUrlMaps::get].
11359    fn get(
11360        &self,
11361        _req: crate::model::region_url_maps::GetRequest,
11362        _options: crate::RequestOptions,
11363    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMap>>> + Send
11364    {
11365        gaxi::unimplemented::unimplemented_stub()
11366    }
11367
11368    /// Implements [super::client::RegionUrlMaps::insert].
11369    fn insert(
11370        &self,
11371        _req: crate::model::region_url_maps::InsertRequest,
11372        _options: crate::RequestOptions,
11373    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11374    {
11375        gaxi::unimplemented::unimplemented_stub()
11376    }
11377
11378    /// Implements [super::client::RegionUrlMaps::list].
11379    fn list(
11380        &self,
11381        _req: crate::model::region_url_maps::ListRequest,
11382        _options: crate::RequestOptions,
11383    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMapList>>> + Send
11384    {
11385        gaxi::unimplemented::unimplemented_stub()
11386    }
11387
11388    /// Implements [super::client::RegionUrlMaps::patch].
11389    fn patch(
11390        &self,
11391        _req: crate::model::region_url_maps::PatchRequest,
11392        _options: crate::RequestOptions,
11393    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11394    {
11395        gaxi::unimplemented::unimplemented_stub()
11396    }
11397
11398    /// Implements [super::client::RegionUrlMaps::update].
11399    fn update(
11400        &self,
11401        _req: crate::model::region_url_maps::UpdateRequest,
11402        _options: crate::RequestOptions,
11403    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11404    {
11405        gaxi::unimplemented::unimplemented_stub()
11406    }
11407
11408    /// Implements [super::client::RegionUrlMaps::validate].
11409    fn validate(
11410        &self,
11411        _req: crate::model::region_url_maps::ValidateRequest,
11412        _options: crate::RequestOptions,
11413    ) -> impl std::future::Future<
11414        Output = crate::Result<crate::Response<crate::model::UrlMapsValidateResponse>>,
11415    > + Send {
11416        gaxi::unimplemented::unimplemented_stub()
11417    }
11418
11419    /// Implements [super::client::RegionUrlMaps::get_operation].
11420    fn get_operation(
11421        &self,
11422        _req: crate::model::region_operations::GetRequest,
11423        _options: crate::RequestOptions,
11424    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11425    {
11426        gaxi::unimplemented::unimplemented_stub()
11427    }
11428
11429    /// Returns the polling error policy.
11430    ///
11431    /// When mocking, this method is typically irrelevant. Do not try to verify
11432    /// it is called by your mocks.
11433    fn get_polling_error_policy(
11434        &self,
11435        _options: &crate::RequestOptions,
11436    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11437        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11438    }
11439
11440    /// Returns the polling backoff policy.
11441    ///
11442    /// When mocking, this method is typically irrelevant. Do not try to verify
11443    /// it is called by your mocks.
11444    fn get_polling_backoff_policy(
11445        &self,
11446        _options: &crate::RequestOptions,
11447    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11448        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11449    }
11450}
11451
11452/// Defines the trait used to implement [super::client::RegionZones].
11453///
11454/// Application developers may need to implement this trait to mock
11455/// `client::RegionZones`.  In other use-cases, application developers only
11456/// use `client::RegionZones` and need not be concerned with this trait or
11457/// its implementations.
11458///
11459/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11460/// too. To avoid breaking applications the trait provides a default
11461/// implementation of each method. Most of these implementations just return an
11462/// error.
11463#[cfg(feature = "region-zones")]
11464#[cfg_attr(docsrs, doc(cfg(feature = "region-zones")))]
11465pub trait RegionZones: std::fmt::Debug + Send + Sync {
11466    /// Implements [super::client::RegionZones::list].
11467    fn list(
11468        &self,
11469        _req: crate::model::region_zones::ListRequest,
11470        _options: crate::RequestOptions,
11471    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ZoneList>>> + Send
11472    {
11473        gaxi::unimplemented::unimplemented_stub()
11474    }
11475}
11476
11477/// Defines the trait used to implement [super::client::Regions].
11478///
11479/// Application developers may need to implement this trait to mock
11480/// `client::Regions`.  In other use-cases, application developers only
11481/// use `client::Regions` and need not be concerned with this trait or
11482/// its implementations.
11483///
11484/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11485/// too. To avoid breaking applications the trait provides a default
11486/// implementation of each method. Most of these implementations just return an
11487/// error.
11488#[cfg(feature = "regions")]
11489#[cfg_attr(docsrs, doc(cfg(feature = "regions")))]
11490pub trait Regions: std::fmt::Debug + Send + Sync {
11491    /// Implements [super::client::Regions::get].
11492    fn get(
11493        &self,
11494        _req: crate::model::regions::GetRequest,
11495        _options: crate::RequestOptions,
11496    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Region>>> + Send
11497    {
11498        gaxi::unimplemented::unimplemented_stub()
11499    }
11500
11501    /// Implements [super::client::Regions::list].
11502    fn list(
11503        &self,
11504        _req: crate::model::regions::ListRequest,
11505        _options: crate::RequestOptions,
11506    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RegionList>>> + Send
11507    {
11508        gaxi::unimplemented::unimplemented_stub()
11509    }
11510}
11511
11512/// Defines the trait used to implement [super::client::ReservationBlocks].
11513///
11514/// Application developers may need to implement this trait to mock
11515/// `client::ReservationBlocks`.  In other use-cases, application developers only
11516/// use `client::ReservationBlocks` and need not be concerned with this trait or
11517/// its implementations.
11518///
11519/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11520/// too. To avoid breaking applications the trait provides a default
11521/// implementation of each method. Most of these implementations just return an
11522/// error.
11523#[cfg(feature = "reservation-blocks")]
11524#[cfg_attr(docsrs, doc(cfg(feature = "reservation-blocks")))]
11525pub trait ReservationBlocks: std::fmt::Debug + Send + Sync {
11526    /// Implements [super::client::ReservationBlocks::get].
11527    fn get(
11528        &self,
11529        _req: crate::model::reservation_blocks::GetRequest,
11530        _options: crate::RequestOptions,
11531    ) -> impl std::future::Future<
11532        Output = crate::Result<crate::Response<crate::model::ReservationBlocksGetResponse>>,
11533    > + Send {
11534        gaxi::unimplemented::unimplemented_stub()
11535    }
11536
11537    /// Implements [super::client::ReservationBlocks::get_iam_policy].
11538    fn get_iam_policy(
11539        &self,
11540        _req: crate::model::reservation_blocks::GetIamPolicyRequest,
11541        _options: crate::RequestOptions,
11542    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11543    {
11544        gaxi::unimplemented::unimplemented_stub()
11545    }
11546
11547    /// Implements [super::client::ReservationBlocks::list].
11548    fn list(
11549        &self,
11550        _req: crate::model::reservation_blocks::ListRequest,
11551        _options: crate::RequestOptions,
11552    ) -> impl std::future::Future<
11553        Output = crate::Result<crate::Response<crate::model::ReservationBlocksListResponse>>,
11554    > + Send {
11555        gaxi::unimplemented::unimplemented_stub()
11556    }
11557
11558    /// Implements [super::client::ReservationBlocks::perform_maintenance].
11559    fn perform_maintenance(
11560        &self,
11561        _req: crate::model::reservation_blocks::PerformMaintenanceRequest,
11562        _options: crate::RequestOptions,
11563    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11564    {
11565        gaxi::unimplemented::unimplemented_stub()
11566    }
11567
11568    /// Implements [super::client::ReservationBlocks::set_iam_policy].
11569    fn set_iam_policy(
11570        &self,
11571        _req: crate::model::reservation_blocks::SetIamPolicyRequest,
11572        _options: crate::RequestOptions,
11573    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11574    {
11575        gaxi::unimplemented::unimplemented_stub()
11576    }
11577
11578    /// Implements [super::client::ReservationBlocks::test_iam_permissions].
11579    fn test_iam_permissions(
11580        &self,
11581        _req: crate::model::reservation_blocks::TestIamPermissionsRequest,
11582        _options: crate::RequestOptions,
11583    ) -> impl std::future::Future<
11584        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11585    > + Send {
11586        gaxi::unimplemented::unimplemented_stub()
11587    }
11588
11589    /// Implements [super::client::ReservationBlocks::get_operation].
11590    fn get_operation(
11591        &self,
11592        _req: crate::model::zone_operations::GetRequest,
11593        _options: crate::RequestOptions,
11594    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11595    {
11596        gaxi::unimplemented::unimplemented_stub()
11597    }
11598
11599    /// Returns the polling error policy.
11600    ///
11601    /// When mocking, this method is typically irrelevant. Do not try to verify
11602    /// it is called by your mocks.
11603    fn get_polling_error_policy(
11604        &self,
11605        _options: &crate::RequestOptions,
11606    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11607        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11608    }
11609
11610    /// Returns the polling backoff policy.
11611    ///
11612    /// When mocking, this method is typically irrelevant. Do not try to verify
11613    /// it is called by your mocks.
11614    fn get_polling_backoff_policy(
11615        &self,
11616        _options: &crate::RequestOptions,
11617    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11618        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11619    }
11620}
11621
11622/// Defines the trait used to implement [super::client::ReservationSlots].
11623///
11624/// Application developers may need to implement this trait to mock
11625/// `client::ReservationSlots`.  In other use-cases, application developers only
11626/// use `client::ReservationSlots` and need not be concerned with this trait or
11627/// its implementations.
11628///
11629/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11630/// too. To avoid breaking applications the trait provides a default
11631/// implementation of each method. Most of these implementations just return an
11632/// error.
11633#[cfg(feature = "reservation-slots")]
11634#[cfg_attr(docsrs, doc(cfg(feature = "reservation-slots")))]
11635pub trait ReservationSlots: std::fmt::Debug + Send + Sync {
11636    /// Implements [super::client::ReservationSlots::get].
11637    fn get(
11638        &self,
11639        _req: crate::model::reservation_slots::GetRequest,
11640        _options: crate::RequestOptions,
11641    ) -> impl std::future::Future<
11642        Output = crate::Result<crate::Response<crate::model::ReservationSlotsGetResponse>>,
11643    > + Send {
11644        gaxi::unimplemented::unimplemented_stub()
11645    }
11646
11647    /// Implements [super::client::ReservationSlots::get_version].
11648    fn get_version(
11649        &self,
11650        _req: crate::model::reservation_slots::GetVersionRequest,
11651        _options: crate::RequestOptions,
11652    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11653    {
11654        gaxi::unimplemented::unimplemented_stub()
11655    }
11656
11657    /// Implements [super::client::ReservationSlots::list].
11658    fn list(
11659        &self,
11660        _req: crate::model::reservation_slots::ListRequest,
11661        _options: crate::RequestOptions,
11662    ) -> impl std::future::Future<
11663        Output = crate::Result<crate::Response<crate::model::ReservationSlotsListResponse>>,
11664    > + Send {
11665        gaxi::unimplemented::unimplemented_stub()
11666    }
11667
11668    /// Implements [super::client::ReservationSlots::update].
11669    fn update(
11670        &self,
11671        _req: crate::model::reservation_slots::UpdateRequest,
11672        _options: crate::RequestOptions,
11673    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11674    {
11675        gaxi::unimplemented::unimplemented_stub()
11676    }
11677
11678    /// Implements [super::client::ReservationSlots::get_operation].
11679    fn get_operation(
11680        &self,
11681        _req: crate::model::zone_operations::GetRequest,
11682        _options: crate::RequestOptions,
11683    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11684    {
11685        gaxi::unimplemented::unimplemented_stub()
11686    }
11687
11688    /// Returns the polling error policy.
11689    ///
11690    /// When mocking, this method is typically irrelevant. Do not try to verify
11691    /// it is called by your mocks.
11692    fn get_polling_error_policy(
11693        &self,
11694        _options: &crate::RequestOptions,
11695    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11696        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11697    }
11698
11699    /// Returns the polling backoff policy.
11700    ///
11701    /// When mocking, this method is typically irrelevant. Do not try to verify
11702    /// it is called by your mocks.
11703    fn get_polling_backoff_policy(
11704        &self,
11705        _options: &crate::RequestOptions,
11706    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11707        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11708    }
11709}
11710
11711/// Defines the trait used to implement [super::client::ReservationSubBlocks].
11712///
11713/// Application developers may need to implement this trait to mock
11714/// `client::ReservationSubBlocks`.  In other use-cases, application developers only
11715/// use `client::ReservationSubBlocks` and need not be concerned with this trait or
11716/// its implementations.
11717///
11718/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11719/// too. To avoid breaking applications the trait provides a default
11720/// implementation of each method. Most of these implementations just return an
11721/// error.
11722#[cfg(feature = "reservation-sub-blocks")]
11723#[cfg_attr(docsrs, doc(cfg(feature = "reservation-sub-blocks")))]
11724pub trait ReservationSubBlocks: std::fmt::Debug + Send + Sync {
11725    /// Implements [super::client::ReservationSubBlocks::get].
11726    fn get(
11727        &self,
11728        _req: crate::model::reservation_sub_blocks::GetRequest,
11729        _options: crate::RequestOptions,
11730    ) -> impl std::future::Future<
11731        Output = crate::Result<crate::Response<crate::model::ReservationSubBlocksGetResponse>>,
11732    > + Send {
11733        gaxi::unimplemented::unimplemented_stub()
11734    }
11735
11736    /// Implements [super::client::ReservationSubBlocks::get_iam_policy].
11737    fn get_iam_policy(
11738        &self,
11739        _req: crate::model::reservation_sub_blocks::GetIamPolicyRequest,
11740        _options: crate::RequestOptions,
11741    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11742    {
11743        gaxi::unimplemented::unimplemented_stub()
11744    }
11745
11746    /// Implements [super::client::ReservationSubBlocks::get_version].
11747    fn get_version(
11748        &self,
11749        _req: crate::model::reservation_sub_blocks::GetVersionRequest,
11750        _options: crate::RequestOptions,
11751    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11752    {
11753        gaxi::unimplemented::unimplemented_stub()
11754    }
11755
11756    /// Implements [super::client::ReservationSubBlocks::list].
11757    fn list(
11758        &self,
11759        _req: crate::model::reservation_sub_blocks::ListRequest,
11760        _options: crate::RequestOptions,
11761    ) -> impl std::future::Future<
11762        Output = crate::Result<crate::Response<crate::model::ReservationSubBlocksListResponse>>,
11763    > + Send {
11764        gaxi::unimplemented::unimplemented_stub()
11765    }
11766
11767    /// Implements [super::client::ReservationSubBlocks::perform_maintenance].
11768    fn perform_maintenance(
11769        &self,
11770        _req: crate::model::reservation_sub_blocks::PerformMaintenanceRequest,
11771        _options: crate::RequestOptions,
11772    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11773    {
11774        gaxi::unimplemented::unimplemented_stub()
11775    }
11776
11777    /// Implements [super::client::ReservationSubBlocks::report_faulty].
11778    fn report_faulty(
11779        &self,
11780        _req: crate::model::reservation_sub_blocks::ReportFaultyRequest,
11781        _options: crate::RequestOptions,
11782    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11783    {
11784        gaxi::unimplemented::unimplemented_stub()
11785    }
11786
11787    /// Implements [super::client::ReservationSubBlocks::set_iam_policy].
11788    fn set_iam_policy(
11789        &self,
11790        _req: crate::model::reservation_sub_blocks::SetIamPolicyRequest,
11791        _options: crate::RequestOptions,
11792    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11793    {
11794        gaxi::unimplemented::unimplemented_stub()
11795    }
11796
11797    /// Implements [super::client::ReservationSubBlocks::test_iam_permissions].
11798    fn test_iam_permissions(
11799        &self,
11800        _req: crate::model::reservation_sub_blocks::TestIamPermissionsRequest,
11801        _options: crate::RequestOptions,
11802    ) -> impl std::future::Future<
11803        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11804    > + Send {
11805        gaxi::unimplemented::unimplemented_stub()
11806    }
11807
11808    /// Implements [super::client::ReservationSubBlocks::get_operation].
11809    fn get_operation(
11810        &self,
11811        _req: crate::model::zone_operations::GetRequest,
11812        _options: crate::RequestOptions,
11813    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11814    {
11815        gaxi::unimplemented::unimplemented_stub()
11816    }
11817
11818    /// Returns the polling error policy.
11819    ///
11820    /// When mocking, this method is typically irrelevant. Do not try to verify
11821    /// it is called by your mocks.
11822    fn get_polling_error_policy(
11823        &self,
11824        _options: &crate::RequestOptions,
11825    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11826        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11827    }
11828
11829    /// Returns the polling backoff policy.
11830    ///
11831    /// When mocking, this method is typically irrelevant. Do not try to verify
11832    /// it is called by your mocks.
11833    fn get_polling_backoff_policy(
11834        &self,
11835        _options: &crate::RequestOptions,
11836    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11837        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11838    }
11839}
11840
11841/// Defines the trait used to implement [super::client::Reservations].
11842///
11843/// Application developers may need to implement this trait to mock
11844/// `client::Reservations`.  In other use-cases, application developers only
11845/// use `client::Reservations` and need not be concerned with this trait or
11846/// its implementations.
11847///
11848/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11849/// too. To avoid breaking applications the trait provides a default
11850/// implementation of each method. Most of these implementations just return an
11851/// error.
11852#[cfg(feature = "reservations")]
11853#[cfg_attr(docsrs, doc(cfg(feature = "reservations")))]
11854pub trait Reservations: std::fmt::Debug + Send + Sync {
11855    /// Implements [super::client::Reservations::aggregated_list].
11856    fn aggregated_list(
11857        &self,
11858        _req: crate::model::reservations::AggregatedListRequest,
11859        _options: crate::RequestOptions,
11860    ) -> impl std::future::Future<
11861        Output = crate::Result<crate::Response<crate::model::ReservationAggregatedList>>,
11862    > + Send {
11863        gaxi::unimplemented::unimplemented_stub()
11864    }
11865
11866    /// Implements [super::client::Reservations::delete].
11867    fn delete(
11868        &self,
11869        _req: crate::model::reservations::DeleteRequest,
11870        _options: crate::RequestOptions,
11871    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11872    {
11873        gaxi::unimplemented::unimplemented_stub()
11874    }
11875
11876    /// Implements [super::client::Reservations::get].
11877    fn get(
11878        &self,
11879        _req: crate::model::reservations::GetRequest,
11880        _options: crate::RequestOptions,
11881    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Reservation>>>
11882    + Send {
11883        gaxi::unimplemented::unimplemented_stub()
11884    }
11885
11886    /// Implements [super::client::Reservations::get_iam_policy].
11887    fn get_iam_policy(
11888        &self,
11889        _req: crate::model::reservations::GetIamPolicyRequest,
11890        _options: crate::RequestOptions,
11891    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11892    {
11893        gaxi::unimplemented::unimplemented_stub()
11894    }
11895
11896    /// Implements [super::client::Reservations::insert].
11897    fn insert(
11898        &self,
11899        _req: crate::model::reservations::InsertRequest,
11900        _options: crate::RequestOptions,
11901    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11902    {
11903        gaxi::unimplemented::unimplemented_stub()
11904    }
11905
11906    /// Implements [super::client::Reservations::list].
11907    fn list(
11908        &self,
11909        _req: crate::model::reservations::ListRequest,
11910        _options: crate::RequestOptions,
11911    ) -> impl std::future::Future<
11912        Output = crate::Result<crate::Response<crate::model::ReservationList>>,
11913    > + Send {
11914        gaxi::unimplemented::unimplemented_stub()
11915    }
11916
11917    /// Implements [super::client::Reservations::perform_maintenance].
11918    fn perform_maintenance(
11919        &self,
11920        _req: crate::model::reservations::PerformMaintenanceRequest,
11921        _options: crate::RequestOptions,
11922    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11923    {
11924        gaxi::unimplemented::unimplemented_stub()
11925    }
11926
11927    /// Implements [super::client::Reservations::resize].
11928    fn resize(
11929        &self,
11930        _req: crate::model::reservations::ResizeRequest,
11931        _options: crate::RequestOptions,
11932    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11933    {
11934        gaxi::unimplemented::unimplemented_stub()
11935    }
11936
11937    /// Implements [super::client::Reservations::set_iam_policy].
11938    fn set_iam_policy(
11939        &self,
11940        _req: crate::model::reservations::SetIamPolicyRequest,
11941        _options: crate::RequestOptions,
11942    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11943    {
11944        gaxi::unimplemented::unimplemented_stub()
11945    }
11946
11947    /// Implements [super::client::Reservations::test_iam_permissions].
11948    fn test_iam_permissions(
11949        &self,
11950        _req: crate::model::reservations::TestIamPermissionsRequest,
11951        _options: crate::RequestOptions,
11952    ) -> impl std::future::Future<
11953        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11954    > + Send {
11955        gaxi::unimplemented::unimplemented_stub()
11956    }
11957
11958    /// Implements [super::client::Reservations::update].
11959    fn update(
11960        &self,
11961        _req: crate::model::reservations::UpdateRequest,
11962        _options: crate::RequestOptions,
11963    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11964    {
11965        gaxi::unimplemented::unimplemented_stub()
11966    }
11967
11968    /// Implements [super::client::Reservations::get_operation].
11969    fn get_operation(
11970        &self,
11971        _req: crate::model::zone_operations::GetRequest,
11972        _options: crate::RequestOptions,
11973    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11974    {
11975        gaxi::unimplemented::unimplemented_stub()
11976    }
11977
11978    /// Returns the polling error policy.
11979    ///
11980    /// When mocking, this method is typically irrelevant. Do not try to verify
11981    /// it is called by your mocks.
11982    fn get_polling_error_policy(
11983        &self,
11984        _options: &crate::RequestOptions,
11985    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11986        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11987    }
11988
11989    /// Returns the polling backoff policy.
11990    ///
11991    /// When mocking, this method is typically irrelevant. Do not try to verify
11992    /// it is called by your mocks.
11993    fn get_polling_backoff_policy(
11994        &self,
11995        _options: &crate::RequestOptions,
11996    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11997        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11998    }
11999}
12000
12001/// Defines the trait used to implement [super::client::ResourcePolicies].
12002///
12003/// Application developers may need to implement this trait to mock
12004/// `client::ResourcePolicies`.  In other use-cases, application developers only
12005/// use `client::ResourcePolicies` and need not be concerned with this trait or
12006/// its implementations.
12007///
12008/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12009/// too. To avoid breaking applications the trait provides a default
12010/// implementation of each method. Most of these implementations just return an
12011/// error.
12012#[cfg(feature = "resource-policies")]
12013#[cfg_attr(docsrs, doc(cfg(feature = "resource-policies")))]
12014pub trait ResourcePolicies: std::fmt::Debug + Send + Sync {
12015    /// Implements [super::client::ResourcePolicies::aggregated_list].
12016    fn aggregated_list(
12017        &self,
12018        _req: crate::model::resource_policies::AggregatedListRequest,
12019        _options: crate::RequestOptions,
12020    ) -> impl std::future::Future<
12021        Output = crate::Result<crate::Response<crate::model::ResourcePolicyAggregatedList>>,
12022    > + Send {
12023        gaxi::unimplemented::unimplemented_stub()
12024    }
12025
12026    /// Implements [super::client::ResourcePolicies::delete].
12027    fn delete(
12028        &self,
12029        _req: crate::model::resource_policies::DeleteRequest,
12030        _options: crate::RequestOptions,
12031    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12032    {
12033        gaxi::unimplemented::unimplemented_stub()
12034    }
12035
12036    /// Implements [super::client::ResourcePolicies::get].
12037    fn get(
12038        &self,
12039        _req: crate::model::resource_policies::GetRequest,
12040        _options: crate::RequestOptions,
12041    ) -> impl std::future::Future<
12042        Output = crate::Result<crate::Response<crate::model::ResourcePolicy>>,
12043    > + Send {
12044        gaxi::unimplemented::unimplemented_stub()
12045    }
12046
12047    /// Implements [super::client::ResourcePolicies::get_iam_policy].
12048    fn get_iam_policy(
12049        &self,
12050        _req: crate::model::resource_policies::GetIamPolicyRequest,
12051        _options: crate::RequestOptions,
12052    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12053    {
12054        gaxi::unimplemented::unimplemented_stub()
12055    }
12056
12057    /// Implements [super::client::ResourcePolicies::insert].
12058    fn insert(
12059        &self,
12060        _req: crate::model::resource_policies::InsertRequest,
12061        _options: crate::RequestOptions,
12062    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12063    {
12064        gaxi::unimplemented::unimplemented_stub()
12065    }
12066
12067    /// Implements [super::client::ResourcePolicies::list].
12068    fn list(
12069        &self,
12070        _req: crate::model::resource_policies::ListRequest,
12071        _options: crate::RequestOptions,
12072    ) -> impl std::future::Future<
12073        Output = crate::Result<crate::Response<crate::model::ResourcePolicyList>>,
12074    > + Send {
12075        gaxi::unimplemented::unimplemented_stub()
12076    }
12077
12078    /// Implements [super::client::ResourcePolicies::patch].
12079    fn patch(
12080        &self,
12081        _req: crate::model::resource_policies::PatchRequest,
12082        _options: crate::RequestOptions,
12083    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12084    {
12085        gaxi::unimplemented::unimplemented_stub()
12086    }
12087
12088    /// Implements [super::client::ResourcePolicies::set_iam_policy].
12089    fn set_iam_policy(
12090        &self,
12091        _req: crate::model::resource_policies::SetIamPolicyRequest,
12092        _options: crate::RequestOptions,
12093    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12094    {
12095        gaxi::unimplemented::unimplemented_stub()
12096    }
12097
12098    /// Implements [super::client::ResourcePolicies::test_iam_permissions].
12099    fn test_iam_permissions(
12100        &self,
12101        _req: crate::model::resource_policies::TestIamPermissionsRequest,
12102        _options: crate::RequestOptions,
12103    ) -> impl std::future::Future<
12104        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12105    > + Send {
12106        gaxi::unimplemented::unimplemented_stub()
12107    }
12108
12109    /// Implements [super::client::ResourcePolicies::get_operation].
12110    fn get_operation(
12111        &self,
12112        _req: crate::model::region_operations::GetRequest,
12113        _options: crate::RequestOptions,
12114    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12115    {
12116        gaxi::unimplemented::unimplemented_stub()
12117    }
12118
12119    /// Returns the polling error policy.
12120    ///
12121    /// When mocking, this method is typically irrelevant. Do not try to verify
12122    /// it is called by your mocks.
12123    fn get_polling_error_policy(
12124        &self,
12125        _options: &crate::RequestOptions,
12126    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12127        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12128    }
12129
12130    /// Returns the polling backoff policy.
12131    ///
12132    /// When mocking, this method is typically irrelevant. Do not try to verify
12133    /// it is called by your mocks.
12134    fn get_polling_backoff_policy(
12135        &self,
12136        _options: &crate::RequestOptions,
12137    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12138        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12139    }
12140}
12141
12142/// Defines the trait used to implement [super::client::Routers].
12143///
12144/// Application developers may need to implement this trait to mock
12145/// `client::Routers`.  In other use-cases, application developers only
12146/// use `client::Routers` and need not be concerned with this trait or
12147/// its implementations.
12148///
12149/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12150/// too. To avoid breaking applications the trait provides a default
12151/// implementation of each method. Most of these implementations just return an
12152/// error.
12153#[cfg(feature = "routers")]
12154#[cfg_attr(docsrs, doc(cfg(feature = "routers")))]
12155pub trait Routers: std::fmt::Debug + Send + Sync {
12156    /// Implements [super::client::Routers::aggregated_list].
12157    fn aggregated_list(
12158        &self,
12159        _req: crate::model::routers::AggregatedListRequest,
12160        _options: crate::RequestOptions,
12161    ) -> impl std::future::Future<
12162        Output = crate::Result<crate::Response<crate::model::RouterAggregatedList>>,
12163    > + Send {
12164        gaxi::unimplemented::unimplemented_stub()
12165    }
12166
12167    /// Implements [super::client::Routers::delete].
12168    fn delete(
12169        &self,
12170        _req: crate::model::routers::DeleteRequest,
12171        _options: crate::RequestOptions,
12172    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12173    {
12174        gaxi::unimplemented::unimplemented_stub()
12175    }
12176
12177    /// Implements [super::client::Routers::delete_route_policy].
12178    fn delete_route_policy(
12179        &self,
12180        _req: crate::model::routers::DeleteRoutePolicyRequest,
12181        _options: crate::RequestOptions,
12182    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12183    {
12184        gaxi::unimplemented::unimplemented_stub()
12185    }
12186
12187    /// Implements [super::client::Routers::get].
12188    fn get(
12189        &self,
12190        _req: crate::model::routers::GetRequest,
12191        _options: crate::RequestOptions,
12192    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Router>>> + Send
12193    {
12194        gaxi::unimplemented::unimplemented_stub()
12195    }
12196
12197    /// Implements [super::client::Routers::get_nat_ip_info].
12198    fn get_nat_ip_info(
12199        &self,
12200        _req: crate::model::routers::GetNatIpInfoRequest,
12201        _options: crate::RequestOptions,
12202    ) -> impl std::future::Future<
12203        Output = crate::Result<crate::Response<crate::model::NatIpInfoResponse>>,
12204    > + Send {
12205        gaxi::unimplemented::unimplemented_stub()
12206    }
12207
12208    /// Implements [super::client::Routers::get_nat_mapping_info].
12209    fn get_nat_mapping_info(
12210        &self,
12211        _req: crate::model::routers::GetNatMappingInfoRequest,
12212        _options: crate::RequestOptions,
12213    ) -> impl std::future::Future<
12214        Output = crate::Result<crate::Response<crate::model::VmEndpointNatMappingsList>>,
12215    > + Send {
12216        gaxi::unimplemented::unimplemented_stub()
12217    }
12218
12219    /// Implements [super::client::Routers::get_route_policy].
12220    fn get_route_policy(
12221        &self,
12222        _req: crate::model::routers::GetRoutePolicyRequest,
12223        _options: crate::RequestOptions,
12224    ) -> impl std::future::Future<
12225        Output = crate::Result<crate::Response<crate::model::RoutersGetRoutePolicyResponse>>,
12226    > + Send {
12227        gaxi::unimplemented::unimplemented_stub()
12228    }
12229
12230    /// Implements [super::client::Routers::get_router_status].
12231    fn get_router_status(
12232        &self,
12233        _req: crate::model::routers::GetRouterStatusRequest,
12234        _options: crate::RequestOptions,
12235    ) -> impl std::future::Future<
12236        Output = crate::Result<crate::Response<crate::model::RouterStatusResponse>>,
12237    > + Send {
12238        gaxi::unimplemented::unimplemented_stub()
12239    }
12240
12241    /// Implements [super::client::Routers::insert].
12242    fn insert(
12243        &self,
12244        _req: crate::model::routers::InsertRequest,
12245        _options: crate::RequestOptions,
12246    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12247    {
12248        gaxi::unimplemented::unimplemented_stub()
12249    }
12250
12251    /// Implements [super::client::Routers::list].
12252    fn list(
12253        &self,
12254        _req: crate::model::routers::ListRequest,
12255        _options: crate::RequestOptions,
12256    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RouterList>>> + Send
12257    {
12258        gaxi::unimplemented::unimplemented_stub()
12259    }
12260
12261    /// Implements [super::client::Routers::list_bgp_routes].
12262    fn list_bgp_routes(
12263        &self,
12264        _req: crate::model::routers::ListBgpRoutesRequest,
12265        _options: crate::RequestOptions,
12266    ) -> impl std::future::Future<
12267        Output = crate::Result<crate::Response<crate::model::RoutersListBgpRoutes>>,
12268    > + Send {
12269        gaxi::unimplemented::unimplemented_stub()
12270    }
12271
12272    /// Implements [super::client::Routers::list_route_policies].
12273    fn list_route_policies(
12274        &self,
12275        _req: crate::model::routers::ListRoutePoliciesRequest,
12276        _options: crate::RequestOptions,
12277    ) -> impl std::future::Future<
12278        Output = crate::Result<crate::Response<crate::model::RoutersListRoutePolicies>>,
12279    > + Send {
12280        gaxi::unimplemented::unimplemented_stub()
12281    }
12282
12283    /// Implements [super::client::Routers::patch].
12284    fn patch(
12285        &self,
12286        _req: crate::model::routers::PatchRequest,
12287        _options: crate::RequestOptions,
12288    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12289    {
12290        gaxi::unimplemented::unimplemented_stub()
12291    }
12292
12293    /// Implements [super::client::Routers::patch_route_policy].
12294    fn patch_route_policy(
12295        &self,
12296        _req: crate::model::routers::PatchRoutePolicyRequest,
12297        _options: crate::RequestOptions,
12298    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12299    {
12300        gaxi::unimplemented::unimplemented_stub()
12301    }
12302
12303    /// Implements [super::client::Routers::preview].
12304    fn preview(
12305        &self,
12306        _req: crate::model::routers::PreviewRequest,
12307        _options: crate::RequestOptions,
12308    ) -> impl std::future::Future<
12309        Output = crate::Result<crate::Response<crate::model::RoutersPreviewResponse>>,
12310    > + Send {
12311        gaxi::unimplemented::unimplemented_stub()
12312    }
12313
12314    /// Implements [super::client::Routers::update].
12315    fn update(
12316        &self,
12317        _req: crate::model::routers::UpdateRequest,
12318        _options: crate::RequestOptions,
12319    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12320    {
12321        gaxi::unimplemented::unimplemented_stub()
12322    }
12323
12324    /// Implements [super::client::Routers::update_route_policy].
12325    fn update_route_policy(
12326        &self,
12327        _req: crate::model::routers::UpdateRoutePolicyRequest,
12328        _options: crate::RequestOptions,
12329    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12330    {
12331        gaxi::unimplemented::unimplemented_stub()
12332    }
12333
12334    /// Implements [super::client::Routers::get_operation].
12335    fn get_operation(
12336        &self,
12337        _req: crate::model::region_operations::GetRequest,
12338        _options: crate::RequestOptions,
12339    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12340    {
12341        gaxi::unimplemented::unimplemented_stub()
12342    }
12343
12344    /// Returns the polling error policy.
12345    ///
12346    /// When mocking, this method is typically irrelevant. Do not try to verify
12347    /// it is called by your mocks.
12348    fn get_polling_error_policy(
12349        &self,
12350        _options: &crate::RequestOptions,
12351    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12352        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12353    }
12354
12355    /// Returns the polling backoff policy.
12356    ///
12357    /// When mocking, this method is typically irrelevant. Do not try to verify
12358    /// it is called by your mocks.
12359    fn get_polling_backoff_policy(
12360        &self,
12361        _options: &crate::RequestOptions,
12362    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12363        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12364    }
12365}
12366
12367/// Defines the trait used to implement [super::client::Routes].
12368///
12369/// Application developers may need to implement this trait to mock
12370/// `client::Routes`.  In other use-cases, application developers only
12371/// use `client::Routes` and need not be concerned with this trait or
12372/// its implementations.
12373///
12374/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12375/// too. To avoid breaking applications the trait provides a default
12376/// implementation of each method. Most of these implementations just return an
12377/// error.
12378#[cfg(feature = "routes")]
12379#[cfg_attr(docsrs, doc(cfg(feature = "routes")))]
12380pub trait Routes: std::fmt::Debug + Send + Sync {
12381    /// Implements [super::client::Routes::delete].
12382    fn delete(
12383        &self,
12384        _req: crate::model::routes::DeleteRequest,
12385        _options: crate::RequestOptions,
12386    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12387    {
12388        gaxi::unimplemented::unimplemented_stub()
12389    }
12390
12391    /// Implements [super::client::Routes::get].
12392    fn get(
12393        &self,
12394        _req: crate::model::routes::GetRequest,
12395        _options: crate::RequestOptions,
12396    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Route>>> + Send
12397    {
12398        gaxi::unimplemented::unimplemented_stub()
12399    }
12400
12401    /// Implements [super::client::Routes::insert].
12402    fn insert(
12403        &self,
12404        _req: crate::model::routes::InsertRequest,
12405        _options: crate::RequestOptions,
12406    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12407    {
12408        gaxi::unimplemented::unimplemented_stub()
12409    }
12410
12411    /// Implements [super::client::Routes::list].
12412    fn list(
12413        &self,
12414        _req: crate::model::routes::ListRequest,
12415        _options: crate::RequestOptions,
12416    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RouteList>>> + Send
12417    {
12418        gaxi::unimplemented::unimplemented_stub()
12419    }
12420
12421    /// Implements [super::client::Routes::test_iam_permissions].
12422    fn test_iam_permissions(
12423        &self,
12424        _req: crate::model::routes::TestIamPermissionsRequest,
12425        _options: crate::RequestOptions,
12426    ) -> impl std::future::Future<
12427        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12428    > + Send {
12429        gaxi::unimplemented::unimplemented_stub()
12430    }
12431
12432    /// Implements [super::client::Routes::get_operation].
12433    fn get_operation(
12434        &self,
12435        _req: crate::model::global_operations::GetRequest,
12436        _options: crate::RequestOptions,
12437    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12438    {
12439        gaxi::unimplemented::unimplemented_stub()
12440    }
12441
12442    /// Returns the polling error policy.
12443    ///
12444    /// When mocking, this method is typically irrelevant. Do not try to verify
12445    /// it is called by your mocks.
12446    fn get_polling_error_policy(
12447        &self,
12448        _options: &crate::RequestOptions,
12449    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12450        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12451    }
12452
12453    /// Returns the polling backoff policy.
12454    ///
12455    /// When mocking, this method is typically irrelevant. Do not try to verify
12456    /// it is called by your mocks.
12457    fn get_polling_backoff_policy(
12458        &self,
12459        _options: &crate::RequestOptions,
12460    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12461        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12462    }
12463}
12464
12465/// Defines the trait used to implement [super::client::SecurityPolicies].
12466///
12467/// Application developers may need to implement this trait to mock
12468/// `client::SecurityPolicies`.  In other use-cases, application developers only
12469/// use `client::SecurityPolicies` and need not be concerned with this trait or
12470/// its implementations.
12471///
12472/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12473/// too. To avoid breaking applications the trait provides a default
12474/// implementation of each method. Most of these implementations just return an
12475/// error.
12476#[cfg(feature = "security-policies")]
12477#[cfg_attr(docsrs, doc(cfg(feature = "security-policies")))]
12478pub trait SecurityPolicies: std::fmt::Debug + Send + Sync {
12479    /// Implements [super::client::SecurityPolicies::add_rule].
12480    fn add_rule(
12481        &self,
12482        _req: crate::model::security_policies::AddRuleRequest,
12483        _options: crate::RequestOptions,
12484    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12485    {
12486        gaxi::unimplemented::unimplemented_stub()
12487    }
12488
12489    /// Implements [super::client::SecurityPolicies::aggregated_list].
12490    fn aggregated_list(
12491        &self,
12492        _req: crate::model::security_policies::AggregatedListRequest,
12493        _options: crate::RequestOptions,
12494    ) -> impl std::future::Future<
12495        Output = crate::Result<crate::Response<crate::model::SecurityPoliciesAggregatedList>>,
12496    > + Send {
12497        gaxi::unimplemented::unimplemented_stub()
12498    }
12499
12500    /// Implements [super::client::SecurityPolicies::delete].
12501    fn delete(
12502        &self,
12503        _req: crate::model::security_policies::DeleteRequest,
12504        _options: crate::RequestOptions,
12505    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12506    {
12507        gaxi::unimplemented::unimplemented_stub()
12508    }
12509
12510    /// Implements [super::client::SecurityPolicies::get].
12511    fn get(
12512        &self,
12513        _req: crate::model::security_policies::GetRequest,
12514        _options: crate::RequestOptions,
12515    ) -> impl std::future::Future<
12516        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
12517    > + Send {
12518        gaxi::unimplemented::unimplemented_stub()
12519    }
12520
12521    /// Implements [super::client::SecurityPolicies::get_rule].
12522    fn get_rule(
12523        &self,
12524        _req: crate::model::security_policies::GetRuleRequest,
12525        _options: crate::RequestOptions,
12526    ) -> impl std::future::Future<
12527        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
12528    > + Send {
12529        gaxi::unimplemented::unimplemented_stub()
12530    }
12531
12532    /// Implements [super::client::SecurityPolicies::insert].
12533    fn insert(
12534        &self,
12535        _req: crate::model::security_policies::InsertRequest,
12536        _options: crate::RequestOptions,
12537    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12538    {
12539        gaxi::unimplemented::unimplemented_stub()
12540    }
12541
12542    /// Implements [super::client::SecurityPolicies::list].
12543    fn list(
12544        &self,
12545        _req: crate::model::security_policies::ListRequest,
12546        _options: crate::RequestOptions,
12547    ) -> impl std::future::Future<
12548        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
12549    > + Send {
12550        gaxi::unimplemented::unimplemented_stub()
12551    }
12552
12553    /// Implements [super::client::SecurityPolicies::list_preconfigured_expression_sets].
12554    fn list_preconfigured_expression_sets(
12555        &self,
12556        _req: crate::model::security_policies::ListPreconfiguredExpressionSetsRequest,
12557        _options: crate::RequestOptions,
12558    ) -> impl std::future::Future<
12559        Output = crate::Result<
12560            crate::Response<crate::model::SecurityPoliciesListPreconfiguredExpressionSetsResponse>,
12561        >,
12562    > + Send {
12563        gaxi::unimplemented::unimplemented_stub()
12564    }
12565
12566    /// Implements [super::client::SecurityPolicies::patch].
12567    fn patch(
12568        &self,
12569        _req: crate::model::security_policies::PatchRequest,
12570        _options: crate::RequestOptions,
12571    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12572    {
12573        gaxi::unimplemented::unimplemented_stub()
12574    }
12575
12576    /// Implements [super::client::SecurityPolicies::patch_rule].
12577    fn patch_rule(
12578        &self,
12579        _req: crate::model::security_policies::PatchRuleRequest,
12580        _options: crate::RequestOptions,
12581    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12582    {
12583        gaxi::unimplemented::unimplemented_stub()
12584    }
12585
12586    /// Implements [super::client::SecurityPolicies::remove_rule].
12587    fn remove_rule(
12588        &self,
12589        _req: crate::model::security_policies::RemoveRuleRequest,
12590        _options: crate::RequestOptions,
12591    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12592    {
12593        gaxi::unimplemented::unimplemented_stub()
12594    }
12595
12596    /// Implements [super::client::SecurityPolicies::set_labels].
12597    fn set_labels(
12598        &self,
12599        _req: crate::model::security_policies::SetLabelsRequest,
12600        _options: crate::RequestOptions,
12601    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12602    {
12603        gaxi::unimplemented::unimplemented_stub()
12604    }
12605
12606    /// Implements [super::client::SecurityPolicies::get_operation].
12607    fn get_operation(
12608        &self,
12609        _req: crate::model::global_operations::GetRequest,
12610        _options: crate::RequestOptions,
12611    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12612    {
12613        gaxi::unimplemented::unimplemented_stub()
12614    }
12615
12616    /// Returns the polling error policy.
12617    ///
12618    /// When mocking, this method is typically irrelevant. Do not try to verify
12619    /// it is called by your mocks.
12620    fn get_polling_error_policy(
12621        &self,
12622        _options: &crate::RequestOptions,
12623    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12624        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12625    }
12626
12627    /// Returns the polling backoff policy.
12628    ///
12629    /// When mocking, this method is typically irrelevant. Do not try to verify
12630    /// it is called by your mocks.
12631    fn get_polling_backoff_policy(
12632        &self,
12633        _options: &crate::RequestOptions,
12634    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12635        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12636    }
12637}
12638
12639/// Defines the trait used to implement [super::client::ServiceAttachments].
12640///
12641/// Application developers may need to implement this trait to mock
12642/// `client::ServiceAttachments`.  In other use-cases, application developers only
12643/// use `client::ServiceAttachments` and need not be concerned with this trait or
12644/// its implementations.
12645///
12646/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12647/// too. To avoid breaking applications the trait provides a default
12648/// implementation of each method. Most of these implementations just return an
12649/// error.
12650#[cfg(feature = "service-attachments")]
12651#[cfg_attr(docsrs, doc(cfg(feature = "service-attachments")))]
12652pub trait ServiceAttachments: std::fmt::Debug + Send + Sync {
12653    /// Implements [super::client::ServiceAttachments::aggregated_list].
12654    fn aggregated_list(
12655        &self,
12656        _req: crate::model::service_attachments::AggregatedListRequest,
12657        _options: crate::RequestOptions,
12658    ) -> impl std::future::Future<
12659        Output = crate::Result<crate::Response<crate::model::ServiceAttachmentAggregatedList>>,
12660    > + Send {
12661        gaxi::unimplemented::unimplemented_stub()
12662    }
12663
12664    /// Implements [super::client::ServiceAttachments::delete].
12665    fn delete(
12666        &self,
12667        _req: crate::model::service_attachments::DeleteRequest,
12668        _options: crate::RequestOptions,
12669    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12670    {
12671        gaxi::unimplemented::unimplemented_stub()
12672    }
12673
12674    /// Implements [super::client::ServiceAttachments::get].
12675    fn get(
12676        &self,
12677        _req: crate::model::service_attachments::GetRequest,
12678        _options: crate::RequestOptions,
12679    ) -> impl std::future::Future<
12680        Output = crate::Result<crate::Response<crate::model::ServiceAttachment>>,
12681    > + Send {
12682        gaxi::unimplemented::unimplemented_stub()
12683    }
12684
12685    /// Implements [super::client::ServiceAttachments::get_iam_policy].
12686    fn get_iam_policy(
12687        &self,
12688        _req: crate::model::service_attachments::GetIamPolicyRequest,
12689        _options: crate::RequestOptions,
12690    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12691    {
12692        gaxi::unimplemented::unimplemented_stub()
12693    }
12694
12695    /// Implements [super::client::ServiceAttachments::insert].
12696    fn insert(
12697        &self,
12698        _req: crate::model::service_attachments::InsertRequest,
12699        _options: crate::RequestOptions,
12700    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12701    {
12702        gaxi::unimplemented::unimplemented_stub()
12703    }
12704
12705    /// Implements [super::client::ServiceAttachments::list].
12706    fn list(
12707        &self,
12708        _req: crate::model::service_attachments::ListRequest,
12709        _options: crate::RequestOptions,
12710    ) -> impl std::future::Future<
12711        Output = crate::Result<crate::Response<crate::model::ServiceAttachmentList>>,
12712    > + Send {
12713        gaxi::unimplemented::unimplemented_stub()
12714    }
12715
12716    /// Implements [super::client::ServiceAttachments::patch].
12717    fn patch(
12718        &self,
12719        _req: crate::model::service_attachments::PatchRequest,
12720        _options: crate::RequestOptions,
12721    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12722    {
12723        gaxi::unimplemented::unimplemented_stub()
12724    }
12725
12726    /// Implements [super::client::ServiceAttachments::set_iam_policy].
12727    fn set_iam_policy(
12728        &self,
12729        _req: crate::model::service_attachments::SetIamPolicyRequest,
12730        _options: crate::RequestOptions,
12731    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12732    {
12733        gaxi::unimplemented::unimplemented_stub()
12734    }
12735
12736    /// Implements [super::client::ServiceAttachments::test_iam_permissions].
12737    fn test_iam_permissions(
12738        &self,
12739        _req: crate::model::service_attachments::TestIamPermissionsRequest,
12740        _options: crate::RequestOptions,
12741    ) -> impl std::future::Future<
12742        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12743    > + Send {
12744        gaxi::unimplemented::unimplemented_stub()
12745    }
12746
12747    /// Implements [super::client::ServiceAttachments::get_operation].
12748    fn get_operation(
12749        &self,
12750        _req: crate::model::region_operations::GetRequest,
12751        _options: crate::RequestOptions,
12752    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12753    {
12754        gaxi::unimplemented::unimplemented_stub()
12755    }
12756
12757    /// Returns the polling error policy.
12758    ///
12759    /// When mocking, this method is typically irrelevant. Do not try to verify
12760    /// it is called by your mocks.
12761    fn get_polling_error_policy(
12762        &self,
12763        _options: &crate::RequestOptions,
12764    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12765        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12766    }
12767
12768    /// Returns the polling backoff policy.
12769    ///
12770    /// When mocking, this method is typically irrelevant. Do not try to verify
12771    /// it is called by your mocks.
12772    fn get_polling_backoff_policy(
12773        &self,
12774        _options: &crate::RequestOptions,
12775    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12776        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12777    }
12778}
12779
12780/// Defines the trait used to implement [super::client::SnapshotSettings].
12781///
12782/// Application developers may need to implement this trait to mock
12783/// `client::SnapshotSettings`.  In other use-cases, application developers only
12784/// use `client::SnapshotSettings` and need not be concerned with this trait or
12785/// its implementations.
12786///
12787/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12788/// too. To avoid breaking applications the trait provides a default
12789/// implementation of each method. Most of these implementations just return an
12790/// error.
12791#[cfg(feature = "snapshot-settings")]
12792#[cfg_attr(docsrs, doc(cfg(feature = "snapshot-settings")))]
12793pub trait SnapshotSettings: std::fmt::Debug + Send + Sync {
12794    /// Implements [super::client::SnapshotSettings::get].
12795    fn get(
12796        &self,
12797        _req: crate::model::snapshot_settings::GetRequest,
12798        _options: crate::RequestOptions,
12799    ) -> impl std::future::Future<
12800        Output = crate::Result<crate::Response<crate::model::SnapshotSettings>>,
12801    > + Send {
12802        gaxi::unimplemented::unimplemented_stub()
12803    }
12804
12805    /// Implements [super::client::SnapshotSettings::patch].
12806    fn patch(
12807        &self,
12808        _req: crate::model::snapshot_settings::PatchRequest,
12809        _options: crate::RequestOptions,
12810    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12811    {
12812        gaxi::unimplemented::unimplemented_stub()
12813    }
12814
12815    /// Implements [super::client::SnapshotSettings::get_operation].
12816    fn get_operation(
12817        &self,
12818        _req: crate::model::global_operations::GetRequest,
12819        _options: crate::RequestOptions,
12820    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12821    {
12822        gaxi::unimplemented::unimplemented_stub()
12823    }
12824
12825    /// Returns the polling error policy.
12826    ///
12827    /// When mocking, this method is typically irrelevant. Do not try to verify
12828    /// it is called by your mocks.
12829    fn get_polling_error_policy(
12830        &self,
12831        _options: &crate::RequestOptions,
12832    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12833        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12834    }
12835
12836    /// Returns the polling backoff policy.
12837    ///
12838    /// When mocking, this method is typically irrelevant. Do not try to verify
12839    /// it is called by your mocks.
12840    fn get_polling_backoff_policy(
12841        &self,
12842        _options: &crate::RequestOptions,
12843    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12844        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12845    }
12846}
12847
12848/// Defines the trait used to implement [super::client::Snapshots].
12849///
12850/// Application developers may need to implement this trait to mock
12851/// `client::Snapshots`.  In other use-cases, application developers only
12852/// use `client::Snapshots` and need not be concerned with this trait or
12853/// its implementations.
12854///
12855/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12856/// too. To avoid breaking applications the trait provides a default
12857/// implementation of each method. Most of these implementations just return an
12858/// error.
12859#[cfg(feature = "snapshots")]
12860#[cfg_attr(docsrs, doc(cfg(feature = "snapshots")))]
12861pub trait Snapshots: std::fmt::Debug + Send + Sync {
12862    /// Implements [super::client::Snapshots::delete].
12863    fn delete(
12864        &self,
12865        _req: crate::model::snapshots::DeleteRequest,
12866        _options: crate::RequestOptions,
12867    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12868    {
12869        gaxi::unimplemented::unimplemented_stub()
12870    }
12871
12872    /// Implements [super::client::Snapshots::get].
12873    fn get(
12874        &self,
12875        _req: crate::model::snapshots::GetRequest,
12876        _options: crate::RequestOptions,
12877    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Snapshot>>> + Send
12878    {
12879        gaxi::unimplemented::unimplemented_stub()
12880    }
12881
12882    /// Implements [super::client::Snapshots::get_iam_policy].
12883    fn get_iam_policy(
12884        &self,
12885        _req: crate::model::snapshots::GetIamPolicyRequest,
12886        _options: crate::RequestOptions,
12887    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12888    {
12889        gaxi::unimplemented::unimplemented_stub()
12890    }
12891
12892    /// Implements [super::client::Snapshots::insert].
12893    fn insert(
12894        &self,
12895        _req: crate::model::snapshots::InsertRequest,
12896        _options: crate::RequestOptions,
12897    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12898    {
12899        gaxi::unimplemented::unimplemented_stub()
12900    }
12901
12902    /// Implements [super::client::Snapshots::list].
12903    fn list(
12904        &self,
12905        _req: crate::model::snapshots::ListRequest,
12906        _options: crate::RequestOptions,
12907    ) -> impl std::future::Future<
12908        Output = crate::Result<crate::Response<crate::model::SnapshotList>>,
12909    > + Send {
12910        gaxi::unimplemented::unimplemented_stub()
12911    }
12912
12913    /// Implements [super::client::Snapshots::set_iam_policy].
12914    fn set_iam_policy(
12915        &self,
12916        _req: crate::model::snapshots::SetIamPolicyRequest,
12917        _options: crate::RequestOptions,
12918    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12919    {
12920        gaxi::unimplemented::unimplemented_stub()
12921    }
12922
12923    /// Implements [super::client::Snapshots::set_labels].
12924    fn set_labels(
12925        &self,
12926        _req: crate::model::snapshots::SetLabelsRequest,
12927        _options: crate::RequestOptions,
12928    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12929    {
12930        gaxi::unimplemented::unimplemented_stub()
12931    }
12932
12933    /// Implements [super::client::Snapshots::test_iam_permissions].
12934    fn test_iam_permissions(
12935        &self,
12936        _req: crate::model::snapshots::TestIamPermissionsRequest,
12937        _options: crate::RequestOptions,
12938    ) -> impl std::future::Future<
12939        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12940    > + Send {
12941        gaxi::unimplemented::unimplemented_stub()
12942    }
12943
12944    /// Implements [super::client::Snapshots::update_kms_key].
12945    fn update_kms_key(
12946        &self,
12947        _req: crate::model::snapshots::UpdateKmsKeyRequest,
12948        _options: crate::RequestOptions,
12949    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12950    {
12951        gaxi::unimplemented::unimplemented_stub()
12952    }
12953
12954    /// Implements [super::client::Snapshots::get_operation].
12955    fn get_operation(
12956        &self,
12957        _req: crate::model::global_operations::GetRequest,
12958        _options: crate::RequestOptions,
12959    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12960    {
12961        gaxi::unimplemented::unimplemented_stub()
12962    }
12963
12964    /// Returns the polling error policy.
12965    ///
12966    /// When mocking, this method is typically irrelevant. Do not try to verify
12967    /// it is called by your mocks.
12968    fn get_polling_error_policy(
12969        &self,
12970        _options: &crate::RequestOptions,
12971    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12972        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12973    }
12974
12975    /// Returns the polling backoff policy.
12976    ///
12977    /// When mocking, this method is typically irrelevant. Do not try to verify
12978    /// it is called by your mocks.
12979    fn get_polling_backoff_policy(
12980        &self,
12981        _options: &crate::RequestOptions,
12982    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12983        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12984    }
12985}
12986
12987/// Defines the trait used to implement [super::client::SslCertificates].
12988///
12989/// Application developers may need to implement this trait to mock
12990/// `client::SslCertificates`.  In other use-cases, application developers only
12991/// use `client::SslCertificates` and need not be concerned with this trait or
12992/// its implementations.
12993///
12994/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12995/// too. To avoid breaking applications the trait provides a default
12996/// implementation of each method. Most of these implementations just return an
12997/// error.
12998#[cfg(feature = "ssl-certificates")]
12999#[cfg_attr(docsrs, doc(cfg(feature = "ssl-certificates")))]
13000pub trait SslCertificates: std::fmt::Debug + Send + Sync {
13001    /// Implements [super::client::SslCertificates::aggregated_list].
13002    fn aggregated_list(
13003        &self,
13004        _req: crate::model::ssl_certificates::AggregatedListRequest,
13005        _options: crate::RequestOptions,
13006    ) -> impl std::future::Future<
13007        Output = crate::Result<crate::Response<crate::model::SslCertificateAggregatedList>>,
13008    > + Send {
13009        gaxi::unimplemented::unimplemented_stub()
13010    }
13011
13012    /// Implements [super::client::SslCertificates::delete].
13013    fn delete(
13014        &self,
13015        _req: crate::model::ssl_certificates::DeleteRequest,
13016        _options: crate::RequestOptions,
13017    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13018    {
13019        gaxi::unimplemented::unimplemented_stub()
13020    }
13021
13022    /// Implements [super::client::SslCertificates::get].
13023    fn get(
13024        &self,
13025        _req: crate::model::ssl_certificates::GetRequest,
13026        _options: crate::RequestOptions,
13027    ) -> impl std::future::Future<
13028        Output = crate::Result<crate::Response<crate::model::SslCertificate>>,
13029    > + Send {
13030        gaxi::unimplemented::unimplemented_stub()
13031    }
13032
13033    /// Implements [super::client::SslCertificates::insert].
13034    fn insert(
13035        &self,
13036        _req: crate::model::ssl_certificates::InsertRequest,
13037        _options: crate::RequestOptions,
13038    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13039    {
13040        gaxi::unimplemented::unimplemented_stub()
13041    }
13042
13043    /// Implements [super::client::SslCertificates::list].
13044    fn list(
13045        &self,
13046        _req: crate::model::ssl_certificates::ListRequest,
13047        _options: crate::RequestOptions,
13048    ) -> impl std::future::Future<
13049        Output = crate::Result<crate::Response<crate::model::SslCertificateList>>,
13050    > + Send {
13051        gaxi::unimplemented::unimplemented_stub()
13052    }
13053
13054    /// Implements [super::client::SslCertificates::get_operation].
13055    fn get_operation(
13056        &self,
13057        _req: crate::model::global_operations::GetRequest,
13058        _options: crate::RequestOptions,
13059    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13060    {
13061        gaxi::unimplemented::unimplemented_stub()
13062    }
13063
13064    /// Returns the polling error policy.
13065    ///
13066    /// When mocking, this method is typically irrelevant. Do not try to verify
13067    /// it is called by your mocks.
13068    fn get_polling_error_policy(
13069        &self,
13070        _options: &crate::RequestOptions,
13071    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13072        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13073    }
13074
13075    /// Returns the polling backoff policy.
13076    ///
13077    /// When mocking, this method is typically irrelevant. Do not try to verify
13078    /// it is called by your mocks.
13079    fn get_polling_backoff_policy(
13080        &self,
13081        _options: &crate::RequestOptions,
13082    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13083        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13084    }
13085}
13086
13087/// Defines the trait used to implement [super::client::SslPolicies].
13088///
13089/// Application developers may need to implement this trait to mock
13090/// `client::SslPolicies`.  In other use-cases, application developers only
13091/// use `client::SslPolicies` and need not be concerned with this trait or
13092/// its implementations.
13093///
13094/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13095/// too. To avoid breaking applications the trait provides a default
13096/// implementation of each method. Most of these implementations just return an
13097/// error.
13098#[cfg(feature = "ssl-policies")]
13099#[cfg_attr(docsrs, doc(cfg(feature = "ssl-policies")))]
13100pub trait SslPolicies: std::fmt::Debug + Send + Sync {
13101    /// Implements [super::client::SslPolicies::aggregated_list].
13102    fn aggregated_list(
13103        &self,
13104        _req: crate::model::ssl_policies::AggregatedListRequest,
13105        _options: crate::RequestOptions,
13106    ) -> impl std::future::Future<
13107        Output = crate::Result<crate::Response<crate::model::SslPoliciesAggregatedList>>,
13108    > + Send {
13109        gaxi::unimplemented::unimplemented_stub()
13110    }
13111
13112    /// Implements [super::client::SslPolicies::delete].
13113    fn delete(
13114        &self,
13115        _req: crate::model::ssl_policies::DeleteRequest,
13116        _options: crate::RequestOptions,
13117    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13118    {
13119        gaxi::unimplemented::unimplemented_stub()
13120    }
13121
13122    /// Implements [super::client::SslPolicies::get].
13123    fn get(
13124        &self,
13125        _req: crate::model::ssl_policies::GetRequest,
13126        _options: crate::RequestOptions,
13127    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::SslPolicy>>> + Send
13128    {
13129        gaxi::unimplemented::unimplemented_stub()
13130    }
13131
13132    /// Implements [super::client::SslPolicies::insert].
13133    fn insert(
13134        &self,
13135        _req: crate::model::ssl_policies::InsertRequest,
13136        _options: crate::RequestOptions,
13137    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13138    {
13139        gaxi::unimplemented::unimplemented_stub()
13140    }
13141
13142    /// Implements [super::client::SslPolicies::list].
13143    fn list(
13144        &self,
13145        _req: crate::model::ssl_policies::ListRequest,
13146        _options: crate::RequestOptions,
13147    ) -> impl std::future::Future<
13148        Output = crate::Result<crate::Response<crate::model::SslPoliciesList>>,
13149    > + Send {
13150        gaxi::unimplemented::unimplemented_stub()
13151    }
13152
13153    /// Implements [super::client::SslPolicies::list_available_features].
13154    fn list_available_features(
13155        &self,
13156        _req: crate::model::ssl_policies::ListAvailableFeaturesRequest,
13157        _options: crate::RequestOptions,
13158    ) -> impl std::future::Future<
13159        Output = crate::Result<
13160            crate::Response<crate::model::SslPoliciesListAvailableFeaturesResponse>,
13161        >,
13162    > + Send {
13163        gaxi::unimplemented::unimplemented_stub()
13164    }
13165
13166    /// Implements [super::client::SslPolicies::patch].
13167    fn patch(
13168        &self,
13169        _req: crate::model::ssl_policies::PatchRequest,
13170        _options: crate::RequestOptions,
13171    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13172    {
13173        gaxi::unimplemented::unimplemented_stub()
13174    }
13175
13176    /// Implements [super::client::SslPolicies::get_operation].
13177    fn get_operation(
13178        &self,
13179        _req: crate::model::global_operations::GetRequest,
13180        _options: crate::RequestOptions,
13181    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13182    {
13183        gaxi::unimplemented::unimplemented_stub()
13184    }
13185
13186    /// Returns the polling error policy.
13187    ///
13188    /// When mocking, this method is typically irrelevant. Do not try to verify
13189    /// it is called by your mocks.
13190    fn get_polling_error_policy(
13191        &self,
13192        _options: &crate::RequestOptions,
13193    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13194        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13195    }
13196
13197    /// Returns the polling backoff policy.
13198    ///
13199    /// When mocking, this method is typically irrelevant. Do not try to verify
13200    /// it is called by your mocks.
13201    fn get_polling_backoff_policy(
13202        &self,
13203        _options: &crate::RequestOptions,
13204    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13205        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13206    }
13207}
13208
13209/// Defines the trait used to implement [super::client::StoragePoolTypes].
13210///
13211/// Application developers may need to implement this trait to mock
13212/// `client::StoragePoolTypes`.  In other use-cases, application developers only
13213/// use `client::StoragePoolTypes` and need not be concerned with this trait or
13214/// its implementations.
13215///
13216/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13217/// too. To avoid breaking applications the trait provides a default
13218/// implementation of each method. Most of these implementations just return an
13219/// error.
13220#[cfg(feature = "storage-pool-types")]
13221#[cfg_attr(docsrs, doc(cfg(feature = "storage-pool-types")))]
13222pub trait StoragePoolTypes: std::fmt::Debug + Send + Sync {
13223    /// Implements [super::client::StoragePoolTypes::aggregated_list].
13224    fn aggregated_list(
13225        &self,
13226        _req: crate::model::storage_pool_types::AggregatedListRequest,
13227        _options: crate::RequestOptions,
13228    ) -> impl std::future::Future<
13229        Output = crate::Result<crate::Response<crate::model::StoragePoolTypeAggregatedList>>,
13230    > + Send {
13231        gaxi::unimplemented::unimplemented_stub()
13232    }
13233
13234    /// Implements [super::client::StoragePoolTypes::get].
13235    fn get(
13236        &self,
13237        _req: crate::model::storage_pool_types::GetRequest,
13238        _options: crate::RequestOptions,
13239    ) -> impl std::future::Future<
13240        Output = crate::Result<crate::Response<crate::model::StoragePoolType>>,
13241    > + Send {
13242        gaxi::unimplemented::unimplemented_stub()
13243    }
13244
13245    /// Implements [super::client::StoragePoolTypes::list].
13246    fn list(
13247        &self,
13248        _req: crate::model::storage_pool_types::ListRequest,
13249        _options: crate::RequestOptions,
13250    ) -> impl std::future::Future<
13251        Output = crate::Result<crate::Response<crate::model::StoragePoolTypeList>>,
13252    > + Send {
13253        gaxi::unimplemented::unimplemented_stub()
13254    }
13255}
13256
13257/// Defines the trait used to implement [super::client::StoragePools].
13258///
13259/// Application developers may need to implement this trait to mock
13260/// `client::StoragePools`.  In other use-cases, application developers only
13261/// use `client::StoragePools` and need not be concerned with this trait or
13262/// its implementations.
13263///
13264/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13265/// too. To avoid breaking applications the trait provides a default
13266/// implementation of each method. Most of these implementations just return an
13267/// error.
13268#[cfg(feature = "storage-pools")]
13269#[cfg_attr(docsrs, doc(cfg(feature = "storage-pools")))]
13270pub trait StoragePools: std::fmt::Debug + Send + Sync {
13271    /// Implements [super::client::StoragePools::aggregated_list].
13272    fn aggregated_list(
13273        &self,
13274        _req: crate::model::storage_pools::AggregatedListRequest,
13275        _options: crate::RequestOptions,
13276    ) -> impl std::future::Future<
13277        Output = crate::Result<crate::Response<crate::model::StoragePoolAggregatedList>>,
13278    > + Send {
13279        gaxi::unimplemented::unimplemented_stub()
13280    }
13281
13282    /// Implements [super::client::StoragePools::delete].
13283    fn delete(
13284        &self,
13285        _req: crate::model::storage_pools::DeleteRequest,
13286        _options: crate::RequestOptions,
13287    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13288    {
13289        gaxi::unimplemented::unimplemented_stub()
13290    }
13291
13292    /// Implements [super::client::StoragePools::get].
13293    fn get(
13294        &self,
13295        _req: crate::model::storage_pools::GetRequest,
13296        _options: crate::RequestOptions,
13297    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::StoragePool>>>
13298    + Send {
13299        gaxi::unimplemented::unimplemented_stub()
13300    }
13301
13302    /// Implements [super::client::StoragePools::get_iam_policy].
13303    fn get_iam_policy(
13304        &self,
13305        _req: crate::model::storage_pools::GetIamPolicyRequest,
13306        _options: crate::RequestOptions,
13307    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13308    {
13309        gaxi::unimplemented::unimplemented_stub()
13310    }
13311
13312    /// Implements [super::client::StoragePools::insert].
13313    fn insert(
13314        &self,
13315        _req: crate::model::storage_pools::InsertRequest,
13316        _options: crate::RequestOptions,
13317    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13318    {
13319        gaxi::unimplemented::unimplemented_stub()
13320    }
13321
13322    /// Implements [super::client::StoragePools::list].
13323    fn list(
13324        &self,
13325        _req: crate::model::storage_pools::ListRequest,
13326        _options: crate::RequestOptions,
13327    ) -> impl std::future::Future<
13328        Output = crate::Result<crate::Response<crate::model::StoragePoolList>>,
13329    > + Send {
13330        gaxi::unimplemented::unimplemented_stub()
13331    }
13332
13333    /// Implements [super::client::StoragePools::list_disks].
13334    fn list_disks(
13335        &self,
13336        _req: crate::model::storage_pools::ListDisksRequest,
13337        _options: crate::RequestOptions,
13338    ) -> impl std::future::Future<
13339        Output = crate::Result<crate::Response<crate::model::StoragePoolListDisks>>,
13340    > + Send {
13341        gaxi::unimplemented::unimplemented_stub()
13342    }
13343
13344    /// Implements [super::client::StoragePools::set_iam_policy].
13345    fn set_iam_policy(
13346        &self,
13347        _req: crate::model::storage_pools::SetIamPolicyRequest,
13348        _options: crate::RequestOptions,
13349    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13350    {
13351        gaxi::unimplemented::unimplemented_stub()
13352    }
13353
13354    /// Implements [super::client::StoragePools::test_iam_permissions].
13355    fn test_iam_permissions(
13356        &self,
13357        _req: crate::model::storage_pools::TestIamPermissionsRequest,
13358        _options: crate::RequestOptions,
13359    ) -> impl std::future::Future<
13360        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13361    > + Send {
13362        gaxi::unimplemented::unimplemented_stub()
13363    }
13364
13365    /// Implements [super::client::StoragePools::update].
13366    fn update(
13367        &self,
13368        _req: crate::model::storage_pools::UpdateRequest,
13369        _options: crate::RequestOptions,
13370    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13371    {
13372        gaxi::unimplemented::unimplemented_stub()
13373    }
13374
13375    /// Implements [super::client::StoragePools::get_operation].
13376    fn get_operation(
13377        &self,
13378        _req: crate::model::zone_operations::GetRequest,
13379        _options: crate::RequestOptions,
13380    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13381    {
13382        gaxi::unimplemented::unimplemented_stub()
13383    }
13384
13385    /// Returns the polling error policy.
13386    ///
13387    /// When mocking, this method is typically irrelevant. Do not try to verify
13388    /// it is called by your mocks.
13389    fn get_polling_error_policy(
13390        &self,
13391        _options: &crate::RequestOptions,
13392    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13393        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13394    }
13395
13396    /// Returns the polling backoff policy.
13397    ///
13398    /// When mocking, this method is typically irrelevant. Do not try to verify
13399    /// it is called by your mocks.
13400    fn get_polling_backoff_policy(
13401        &self,
13402        _options: &crate::RequestOptions,
13403    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13404        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13405    }
13406}
13407
13408/// Defines the trait used to implement [super::client::Subnetworks].
13409///
13410/// Application developers may need to implement this trait to mock
13411/// `client::Subnetworks`.  In other use-cases, application developers only
13412/// use `client::Subnetworks` and need not be concerned with this trait or
13413/// its implementations.
13414///
13415/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13416/// too. To avoid breaking applications the trait provides a default
13417/// implementation of each method. Most of these implementations just return an
13418/// error.
13419#[cfg(feature = "subnetworks")]
13420#[cfg_attr(docsrs, doc(cfg(feature = "subnetworks")))]
13421pub trait Subnetworks: std::fmt::Debug + Send + Sync {
13422    /// Implements [super::client::Subnetworks::aggregated_list].
13423    fn aggregated_list(
13424        &self,
13425        _req: crate::model::subnetworks::AggregatedListRequest,
13426        _options: crate::RequestOptions,
13427    ) -> impl std::future::Future<
13428        Output = crate::Result<crate::Response<crate::model::SubnetworkAggregatedList>>,
13429    > + Send {
13430        gaxi::unimplemented::unimplemented_stub()
13431    }
13432
13433    /// Implements [super::client::Subnetworks::delete].
13434    fn delete(
13435        &self,
13436        _req: crate::model::subnetworks::DeleteRequest,
13437        _options: crate::RequestOptions,
13438    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13439    {
13440        gaxi::unimplemented::unimplemented_stub()
13441    }
13442
13443    /// Implements [super::client::Subnetworks::expand_ip_cidr_range].
13444    fn expand_ip_cidr_range(
13445        &self,
13446        _req: crate::model::subnetworks::ExpandIpCidrRangeRequest,
13447        _options: crate::RequestOptions,
13448    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13449    {
13450        gaxi::unimplemented::unimplemented_stub()
13451    }
13452
13453    /// Implements [super::client::Subnetworks::get].
13454    fn get(
13455        &self,
13456        _req: crate::model::subnetworks::GetRequest,
13457        _options: crate::RequestOptions,
13458    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Subnetwork>>> + Send
13459    {
13460        gaxi::unimplemented::unimplemented_stub()
13461    }
13462
13463    /// Implements [super::client::Subnetworks::get_iam_policy].
13464    fn get_iam_policy(
13465        &self,
13466        _req: crate::model::subnetworks::GetIamPolicyRequest,
13467        _options: crate::RequestOptions,
13468    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13469    {
13470        gaxi::unimplemented::unimplemented_stub()
13471    }
13472
13473    /// Implements [super::client::Subnetworks::insert].
13474    fn insert(
13475        &self,
13476        _req: crate::model::subnetworks::InsertRequest,
13477        _options: crate::RequestOptions,
13478    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13479    {
13480        gaxi::unimplemented::unimplemented_stub()
13481    }
13482
13483    /// Implements [super::client::Subnetworks::list].
13484    fn list(
13485        &self,
13486        _req: crate::model::subnetworks::ListRequest,
13487        _options: crate::RequestOptions,
13488    ) -> impl std::future::Future<
13489        Output = crate::Result<crate::Response<crate::model::SubnetworkList>>,
13490    > + Send {
13491        gaxi::unimplemented::unimplemented_stub()
13492    }
13493
13494    /// Implements [super::client::Subnetworks::list_usable].
13495    fn list_usable(
13496        &self,
13497        _req: crate::model::subnetworks::ListUsableRequest,
13498        _options: crate::RequestOptions,
13499    ) -> impl std::future::Future<
13500        Output = crate::Result<crate::Response<crate::model::UsableSubnetworksAggregatedList>>,
13501    > + Send {
13502        gaxi::unimplemented::unimplemented_stub()
13503    }
13504
13505    /// Implements [super::client::Subnetworks::patch].
13506    fn patch(
13507        &self,
13508        _req: crate::model::subnetworks::PatchRequest,
13509        _options: crate::RequestOptions,
13510    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13511    {
13512        gaxi::unimplemented::unimplemented_stub()
13513    }
13514
13515    /// Implements [super::client::Subnetworks::set_iam_policy].
13516    fn set_iam_policy(
13517        &self,
13518        _req: crate::model::subnetworks::SetIamPolicyRequest,
13519        _options: crate::RequestOptions,
13520    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13521    {
13522        gaxi::unimplemented::unimplemented_stub()
13523    }
13524
13525    /// Implements [super::client::Subnetworks::set_private_ip_google_access].
13526    fn set_private_ip_google_access(
13527        &self,
13528        _req: crate::model::subnetworks::SetPrivateIpGoogleAccessRequest,
13529        _options: crate::RequestOptions,
13530    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13531    {
13532        gaxi::unimplemented::unimplemented_stub()
13533    }
13534
13535    /// Implements [super::client::Subnetworks::test_iam_permissions].
13536    fn test_iam_permissions(
13537        &self,
13538        _req: crate::model::subnetworks::TestIamPermissionsRequest,
13539        _options: crate::RequestOptions,
13540    ) -> impl std::future::Future<
13541        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13542    > + Send {
13543        gaxi::unimplemented::unimplemented_stub()
13544    }
13545
13546    /// Implements [super::client::Subnetworks::get_operation].
13547    fn get_operation(
13548        &self,
13549        _req: crate::model::region_operations::GetRequest,
13550        _options: crate::RequestOptions,
13551    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13552    {
13553        gaxi::unimplemented::unimplemented_stub()
13554    }
13555
13556    /// Returns the polling error policy.
13557    ///
13558    /// When mocking, this method is typically irrelevant. Do not try to verify
13559    /// it is called by your mocks.
13560    fn get_polling_error_policy(
13561        &self,
13562        _options: &crate::RequestOptions,
13563    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13564        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13565    }
13566
13567    /// Returns the polling backoff policy.
13568    ///
13569    /// When mocking, this method is typically irrelevant. Do not try to verify
13570    /// it is called by your mocks.
13571    fn get_polling_backoff_policy(
13572        &self,
13573        _options: &crate::RequestOptions,
13574    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13575        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13576    }
13577}
13578
13579/// Defines the trait used to implement [super::client::TargetGrpcProxies].
13580///
13581/// Application developers may need to implement this trait to mock
13582/// `client::TargetGrpcProxies`.  In other use-cases, application developers only
13583/// use `client::TargetGrpcProxies` and need not be concerned with this trait or
13584/// its implementations.
13585///
13586/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13587/// too. To avoid breaking applications the trait provides a default
13588/// implementation of each method. Most of these implementations just return an
13589/// error.
13590#[cfg(feature = "target-grpc-proxies")]
13591#[cfg_attr(docsrs, doc(cfg(feature = "target-grpc-proxies")))]
13592pub trait TargetGrpcProxies: std::fmt::Debug + Send + Sync {
13593    /// Implements [super::client::TargetGrpcProxies::delete].
13594    fn delete(
13595        &self,
13596        _req: crate::model::target_grpc_proxies::DeleteRequest,
13597        _options: crate::RequestOptions,
13598    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13599    {
13600        gaxi::unimplemented::unimplemented_stub()
13601    }
13602
13603    /// Implements [super::client::TargetGrpcProxies::get].
13604    fn get(
13605        &self,
13606        _req: crate::model::target_grpc_proxies::GetRequest,
13607        _options: crate::RequestOptions,
13608    ) -> impl std::future::Future<
13609        Output = crate::Result<crate::Response<crate::model::TargetGrpcProxy>>,
13610    > + Send {
13611        gaxi::unimplemented::unimplemented_stub()
13612    }
13613
13614    /// Implements [super::client::TargetGrpcProxies::insert].
13615    fn insert(
13616        &self,
13617        _req: crate::model::target_grpc_proxies::InsertRequest,
13618        _options: crate::RequestOptions,
13619    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13620    {
13621        gaxi::unimplemented::unimplemented_stub()
13622    }
13623
13624    /// Implements [super::client::TargetGrpcProxies::list].
13625    fn list(
13626        &self,
13627        _req: crate::model::target_grpc_proxies::ListRequest,
13628        _options: crate::RequestOptions,
13629    ) -> impl std::future::Future<
13630        Output = crate::Result<crate::Response<crate::model::TargetGrpcProxyList>>,
13631    > + Send {
13632        gaxi::unimplemented::unimplemented_stub()
13633    }
13634
13635    /// Implements [super::client::TargetGrpcProxies::patch].
13636    fn patch(
13637        &self,
13638        _req: crate::model::target_grpc_proxies::PatchRequest,
13639        _options: crate::RequestOptions,
13640    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13641    {
13642        gaxi::unimplemented::unimplemented_stub()
13643    }
13644
13645    /// Implements [super::client::TargetGrpcProxies::get_operation].
13646    fn get_operation(
13647        &self,
13648        _req: crate::model::global_operations::GetRequest,
13649        _options: crate::RequestOptions,
13650    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13651    {
13652        gaxi::unimplemented::unimplemented_stub()
13653    }
13654
13655    /// Returns the polling error policy.
13656    ///
13657    /// When mocking, this method is typically irrelevant. Do not try to verify
13658    /// it is called by your mocks.
13659    fn get_polling_error_policy(
13660        &self,
13661        _options: &crate::RequestOptions,
13662    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13663        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13664    }
13665
13666    /// Returns the polling backoff policy.
13667    ///
13668    /// When mocking, this method is typically irrelevant. Do not try to verify
13669    /// it is called by your mocks.
13670    fn get_polling_backoff_policy(
13671        &self,
13672        _options: &crate::RequestOptions,
13673    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13674        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13675    }
13676}
13677
13678/// Defines the trait used to implement [super::client::TargetHttpProxies].
13679///
13680/// Application developers may need to implement this trait to mock
13681/// `client::TargetHttpProxies`.  In other use-cases, application developers only
13682/// use `client::TargetHttpProxies` and need not be concerned with this trait or
13683/// its implementations.
13684///
13685/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13686/// too. To avoid breaking applications the trait provides a default
13687/// implementation of each method. Most of these implementations just return an
13688/// error.
13689#[cfg(feature = "target-http-proxies")]
13690#[cfg_attr(docsrs, doc(cfg(feature = "target-http-proxies")))]
13691pub trait TargetHttpProxies: std::fmt::Debug + Send + Sync {
13692    /// Implements [super::client::TargetHttpProxies::aggregated_list].
13693    fn aggregated_list(
13694        &self,
13695        _req: crate::model::target_http_proxies::AggregatedListRequest,
13696        _options: crate::RequestOptions,
13697    ) -> impl std::future::Future<
13698        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyAggregatedList>>,
13699    > + Send {
13700        gaxi::unimplemented::unimplemented_stub()
13701    }
13702
13703    /// Implements [super::client::TargetHttpProxies::delete].
13704    fn delete(
13705        &self,
13706        _req: crate::model::target_http_proxies::DeleteRequest,
13707        _options: crate::RequestOptions,
13708    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13709    {
13710        gaxi::unimplemented::unimplemented_stub()
13711    }
13712
13713    /// Implements [super::client::TargetHttpProxies::get].
13714    fn get(
13715        &self,
13716        _req: crate::model::target_http_proxies::GetRequest,
13717        _options: crate::RequestOptions,
13718    ) -> impl std::future::Future<
13719        Output = crate::Result<crate::Response<crate::model::TargetHttpProxy>>,
13720    > + Send {
13721        gaxi::unimplemented::unimplemented_stub()
13722    }
13723
13724    /// Implements [super::client::TargetHttpProxies::insert].
13725    fn insert(
13726        &self,
13727        _req: crate::model::target_http_proxies::InsertRequest,
13728        _options: crate::RequestOptions,
13729    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13730    {
13731        gaxi::unimplemented::unimplemented_stub()
13732    }
13733
13734    /// Implements [super::client::TargetHttpProxies::list].
13735    fn list(
13736        &self,
13737        _req: crate::model::target_http_proxies::ListRequest,
13738        _options: crate::RequestOptions,
13739    ) -> impl std::future::Future<
13740        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyList>>,
13741    > + Send {
13742        gaxi::unimplemented::unimplemented_stub()
13743    }
13744
13745    /// Implements [super::client::TargetHttpProxies::patch].
13746    fn patch(
13747        &self,
13748        _req: crate::model::target_http_proxies::PatchRequest,
13749        _options: crate::RequestOptions,
13750    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13751    {
13752        gaxi::unimplemented::unimplemented_stub()
13753    }
13754
13755    /// Implements [super::client::TargetHttpProxies::set_url_map].
13756    fn set_url_map(
13757        &self,
13758        _req: crate::model::target_http_proxies::SetUrlMapRequest,
13759        _options: crate::RequestOptions,
13760    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13761    {
13762        gaxi::unimplemented::unimplemented_stub()
13763    }
13764
13765    /// Implements [super::client::TargetHttpProxies::get_operation].
13766    fn get_operation(
13767        &self,
13768        _req: crate::model::global_operations::GetRequest,
13769        _options: crate::RequestOptions,
13770    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13771    {
13772        gaxi::unimplemented::unimplemented_stub()
13773    }
13774
13775    /// Returns the polling error policy.
13776    ///
13777    /// When mocking, this method is typically irrelevant. Do not try to verify
13778    /// it is called by your mocks.
13779    fn get_polling_error_policy(
13780        &self,
13781        _options: &crate::RequestOptions,
13782    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13783        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13784    }
13785
13786    /// Returns the polling backoff policy.
13787    ///
13788    /// When mocking, this method is typically irrelevant. Do not try to verify
13789    /// it is called by your mocks.
13790    fn get_polling_backoff_policy(
13791        &self,
13792        _options: &crate::RequestOptions,
13793    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13794        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13795    }
13796}
13797
13798/// Defines the trait used to implement [super::client::TargetHttpsProxies].
13799///
13800/// Application developers may need to implement this trait to mock
13801/// `client::TargetHttpsProxies`.  In other use-cases, application developers only
13802/// use `client::TargetHttpsProxies` and need not be concerned with this trait or
13803/// its implementations.
13804///
13805/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13806/// too. To avoid breaking applications the trait provides a default
13807/// implementation of each method. Most of these implementations just return an
13808/// error.
13809#[cfg(feature = "target-https-proxies")]
13810#[cfg_attr(docsrs, doc(cfg(feature = "target-https-proxies")))]
13811pub trait TargetHttpsProxies: std::fmt::Debug + Send + Sync {
13812    /// Implements [super::client::TargetHttpsProxies::aggregated_list].
13813    fn aggregated_list(
13814        &self,
13815        _req: crate::model::target_https_proxies::AggregatedListRequest,
13816        _options: crate::RequestOptions,
13817    ) -> impl std::future::Future<
13818        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyAggregatedList>>,
13819    > + Send {
13820        gaxi::unimplemented::unimplemented_stub()
13821    }
13822
13823    /// Implements [super::client::TargetHttpsProxies::delete].
13824    fn delete(
13825        &self,
13826        _req: crate::model::target_https_proxies::DeleteRequest,
13827        _options: crate::RequestOptions,
13828    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13829    {
13830        gaxi::unimplemented::unimplemented_stub()
13831    }
13832
13833    /// Implements [super::client::TargetHttpsProxies::get].
13834    fn get(
13835        &self,
13836        _req: crate::model::target_https_proxies::GetRequest,
13837        _options: crate::RequestOptions,
13838    ) -> impl std::future::Future<
13839        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxy>>,
13840    > + Send {
13841        gaxi::unimplemented::unimplemented_stub()
13842    }
13843
13844    /// Implements [super::client::TargetHttpsProxies::insert].
13845    fn insert(
13846        &self,
13847        _req: crate::model::target_https_proxies::InsertRequest,
13848        _options: crate::RequestOptions,
13849    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13850    {
13851        gaxi::unimplemented::unimplemented_stub()
13852    }
13853
13854    /// Implements [super::client::TargetHttpsProxies::list].
13855    fn list(
13856        &self,
13857        _req: crate::model::target_https_proxies::ListRequest,
13858        _options: crate::RequestOptions,
13859    ) -> impl std::future::Future<
13860        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyList>>,
13861    > + Send {
13862        gaxi::unimplemented::unimplemented_stub()
13863    }
13864
13865    /// Implements [super::client::TargetHttpsProxies::patch].
13866    fn patch(
13867        &self,
13868        _req: crate::model::target_https_proxies::PatchRequest,
13869        _options: crate::RequestOptions,
13870    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13871    {
13872        gaxi::unimplemented::unimplemented_stub()
13873    }
13874
13875    /// Implements [super::client::TargetHttpsProxies::set_certificate_map].
13876    fn set_certificate_map(
13877        &self,
13878        _req: crate::model::target_https_proxies::SetCertificateMapRequest,
13879        _options: crate::RequestOptions,
13880    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13881    {
13882        gaxi::unimplemented::unimplemented_stub()
13883    }
13884
13885    /// Implements [super::client::TargetHttpsProxies::set_quic_override].
13886    fn set_quic_override(
13887        &self,
13888        _req: crate::model::target_https_proxies::SetQuicOverrideRequest,
13889        _options: crate::RequestOptions,
13890    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13891    {
13892        gaxi::unimplemented::unimplemented_stub()
13893    }
13894
13895    /// Implements [super::client::TargetHttpsProxies::set_ssl_certificates].
13896    fn set_ssl_certificates(
13897        &self,
13898        _req: crate::model::target_https_proxies::SetSslCertificatesRequest,
13899        _options: crate::RequestOptions,
13900    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13901    {
13902        gaxi::unimplemented::unimplemented_stub()
13903    }
13904
13905    /// Implements [super::client::TargetHttpsProxies::set_ssl_policy].
13906    fn set_ssl_policy(
13907        &self,
13908        _req: crate::model::target_https_proxies::SetSslPolicyRequest,
13909        _options: crate::RequestOptions,
13910    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13911    {
13912        gaxi::unimplemented::unimplemented_stub()
13913    }
13914
13915    /// Implements [super::client::TargetHttpsProxies::set_url_map].
13916    fn set_url_map(
13917        &self,
13918        _req: crate::model::target_https_proxies::SetUrlMapRequest,
13919        _options: crate::RequestOptions,
13920    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13921    {
13922        gaxi::unimplemented::unimplemented_stub()
13923    }
13924
13925    /// Implements [super::client::TargetHttpsProxies::get_operation].
13926    fn get_operation(
13927        &self,
13928        _req: crate::model::global_operations::GetRequest,
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    /// Returns the polling error policy.
13936    ///
13937    /// When mocking, this method is typically irrelevant. Do not try to verify
13938    /// it is called by your mocks.
13939    fn get_polling_error_policy(
13940        &self,
13941        _options: &crate::RequestOptions,
13942    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13943        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13944    }
13945
13946    /// Returns the polling backoff policy.
13947    ///
13948    /// When mocking, this method is typically irrelevant. Do not try to verify
13949    /// it is called by your mocks.
13950    fn get_polling_backoff_policy(
13951        &self,
13952        _options: &crate::RequestOptions,
13953    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13954        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13955    }
13956}
13957
13958/// Defines the trait used to implement [super::client::TargetInstances].
13959///
13960/// Application developers may need to implement this trait to mock
13961/// `client::TargetInstances`.  In other use-cases, application developers only
13962/// use `client::TargetInstances` and need not be concerned with this trait or
13963/// its implementations.
13964///
13965/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13966/// too. To avoid breaking applications the trait provides a default
13967/// implementation of each method. Most of these implementations just return an
13968/// error.
13969#[cfg(feature = "target-instances")]
13970#[cfg_attr(docsrs, doc(cfg(feature = "target-instances")))]
13971pub trait TargetInstances: std::fmt::Debug + Send + Sync {
13972    /// Implements [super::client::TargetInstances::aggregated_list].
13973    fn aggregated_list(
13974        &self,
13975        _req: crate::model::target_instances::AggregatedListRequest,
13976        _options: crate::RequestOptions,
13977    ) -> impl std::future::Future<
13978        Output = crate::Result<crate::Response<crate::model::TargetInstanceAggregatedList>>,
13979    > + Send {
13980        gaxi::unimplemented::unimplemented_stub()
13981    }
13982
13983    /// Implements [super::client::TargetInstances::delete].
13984    fn delete(
13985        &self,
13986        _req: crate::model::target_instances::DeleteRequest,
13987        _options: crate::RequestOptions,
13988    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13989    {
13990        gaxi::unimplemented::unimplemented_stub()
13991    }
13992
13993    /// Implements [super::client::TargetInstances::get].
13994    fn get(
13995        &self,
13996        _req: crate::model::target_instances::GetRequest,
13997        _options: crate::RequestOptions,
13998    ) -> impl std::future::Future<
13999        Output = crate::Result<crate::Response<crate::model::TargetInstance>>,
14000    > + Send {
14001        gaxi::unimplemented::unimplemented_stub()
14002    }
14003
14004    /// Implements [super::client::TargetInstances::insert].
14005    fn insert(
14006        &self,
14007        _req: crate::model::target_instances::InsertRequest,
14008        _options: crate::RequestOptions,
14009    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14010    {
14011        gaxi::unimplemented::unimplemented_stub()
14012    }
14013
14014    /// Implements [super::client::TargetInstances::list].
14015    fn list(
14016        &self,
14017        _req: crate::model::target_instances::ListRequest,
14018        _options: crate::RequestOptions,
14019    ) -> impl std::future::Future<
14020        Output = crate::Result<crate::Response<crate::model::TargetInstanceList>>,
14021    > + Send {
14022        gaxi::unimplemented::unimplemented_stub()
14023    }
14024
14025    /// Implements [super::client::TargetInstances::set_security_policy].
14026    fn set_security_policy(
14027        &self,
14028        _req: crate::model::target_instances::SetSecurityPolicyRequest,
14029        _options: crate::RequestOptions,
14030    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14031    {
14032        gaxi::unimplemented::unimplemented_stub()
14033    }
14034
14035    /// Implements [super::client::TargetInstances::test_iam_permissions].
14036    fn test_iam_permissions(
14037        &self,
14038        _req: crate::model::target_instances::TestIamPermissionsRequest,
14039        _options: crate::RequestOptions,
14040    ) -> impl std::future::Future<
14041        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14042    > + Send {
14043        gaxi::unimplemented::unimplemented_stub()
14044    }
14045
14046    /// Implements [super::client::TargetInstances::get_operation].
14047    fn get_operation(
14048        &self,
14049        _req: crate::model::zone_operations::GetRequest,
14050        _options: crate::RequestOptions,
14051    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14052    {
14053        gaxi::unimplemented::unimplemented_stub()
14054    }
14055
14056    /// Returns the polling error policy.
14057    ///
14058    /// When mocking, this method is typically irrelevant. Do not try to verify
14059    /// it is called by your mocks.
14060    fn get_polling_error_policy(
14061        &self,
14062        _options: &crate::RequestOptions,
14063    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14064        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14065    }
14066
14067    /// Returns the polling backoff policy.
14068    ///
14069    /// When mocking, this method is typically irrelevant. Do not try to verify
14070    /// it is called by your mocks.
14071    fn get_polling_backoff_policy(
14072        &self,
14073        _options: &crate::RequestOptions,
14074    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14075        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14076    }
14077}
14078
14079/// Defines the trait used to implement [super::client::TargetPools].
14080///
14081/// Application developers may need to implement this trait to mock
14082/// `client::TargetPools`.  In other use-cases, application developers only
14083/// use `client::TargetPools` and need not be concerned with this trait or
14084/// its implementations.
14085///
14086/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14087/// too. To avoid breaking applications the trait provides a default
14088/// implementation of each method. Most of these implementations just return an
14089/// error.
14090#[cfg(feature = "target-pools")]
14091#[cfg_attr(docsrs, doc(cfg(feature = "target-pools")))]
14092pub trait TargetPools: std::fmt::Debug + Send + Sync {
14093    /// Implements [super::client::TargetPools::add_health_check].
14094    fn add_health_check(
14095        &self,
14096        _req: crate::model::target_pools::AddHealthCheckRequest,
14097        _options: crate::RequestOptions,
14098    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14099    {
14100        gaxi::unimplemented::unimplemented_stub()
14101    }
14102
14103    /// Implements [super::client::TargetPools::add_instance].
14104    fn add_instance(
14105        &self,
14106        _req: crate::model::target_pools::AddInstanceRequest,
14107        _options: crate::RequestOptions,
14108    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14109    {
14110        gaxi::unimplemented::unimplemented_stub()
14111    }
14112
14113    /// Implements [super::client::TargetPools::aggregated_list].
14114    fn aggregated_list(
14115        &self,
14116        _req: crate::model::target_pools::AggregatedListRequest,
14117        _options: crate::RequestOptions,
14118    ) -> impl std::future::Future<
14119        Output = crate::Result<crate::Response<crate::model::TargetPoolAggregatedList>>,
14120    > + Send {
14121        gaxi::unimplemented::unimplemented_stub()
14122    }
14123
14124    /// Implements [super::client::TargetPools::delete].
14125    fn delete(
14126        &self,
14127        _req: crate::model::target_pools::DeleteRequest,
14128        _options: crate::RequestOptions,
14129    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14130    {
14131        gaxi::unimplemented::unimplemented_stub()
14132    }
14133
14134    /// Implements [super::client::TargetPools::get].
14135    fn get(
14136        &self,
14137        _req: crate::model::target_pools::GetRequest,
14138        _options: crate::RequestOptions,
14139    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::TargetPool>>> + Send
14140    {
14141        gaxi::unimplemented::unimplemented_stub()
14142    }
14143
14144    /// Implements [super::client::TargetPools::get_health].
14145    fn get_health(
14146        &self,
14147        _req: crate::model::target_pools::GetHealthRequest,
14148        _options: crate::RequestOptions,
14149    ) -> impl std::future::Future<
14150        Output = crate::Result<crate::Response<crate::model::TargetPoolInstanceHealth>>,
14151    > + Send {
14152        gaxi::unimplemented::unimplemented_stub()
14153    }
14154
14155    /// Implements [super::client::TargetPools::insert].
14156    fn insert(
14157        &self,
14158        _req: crate::model::target_pools::InsertRequest,
14159        _options: crate::RequestOptions,
14160    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14161    {
14162        gaxi::unimplemented::unimplemented_stub()
14163    }
14164
14165    /// Implements [super::client::TargetPools::list].
14166    fn list(
14167        &self,
14168        _req: crate::model::target_pools::ListRequest,
14169        _options: crate::RequestOptions,
14170    ) -> impl std::future::Future<
14171        Output = crate::Result<crate::Response<crate::model::TargetPoolList>>,
14172    > + Send {
14173        gaxi::unimplemented::unimplemented_stub()
14174    }
14175
14176    /// Implements [super::client::TargetPools::remove_health_check].
14177    fn remove_health_check(
14178        &self,
14179        _req: crate::model::target_pools::RemoveHealthCheckRequest,
14180        _options: crate::RequestOptions,
14181    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14182    {
14183        gaxi::unimplemented::unimplemented_stub()
14184    }
14185
14186    /// Implements [super::client::TargetPools::remove_instance].
14187    fn remove_instance(
14188        &self,
14189        _req: crate::model::target_pools::RemoveInstanceRequest,
14190        _options: crate::RequestOptions,
14191    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14192    {
14193        gaxi::unimplemented::unimplemented_stub()
14194    }
14195
14196    /// Implements [super::client::TargetPools::set_backup].
14197    fn set_backup(
14198        &self,
14199        _req: crate::model::target_pools::SetBackupRequest,
14200        _options: crate::RequestOptions,
14201    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14202    {
14203        gaxi::unimplemented::unimplemented_stub()
14204    }
14205
14206    /// Implements [super::client::TargetPools::set_security_policy].
14207    fn set_security_policy(
14208        &self,
14209        _req: crate::model::target_pools::SetSecurityPolicyRequest,
14210        _options: crate::RequestOptions,
14211    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14212    {
14213        gaxi::unimplemented::unimplemented_stub()
14214    }
14215
14216    /// Implements [super::client::TargetPools::test_iam_permissions].
14217    fn test_iam_permissions(
14218        &self,
14219        _req: crate::model::target_pools::TestIamPermissionsRequest,
14220        _options: crate::RequestOptions,
14221    ) -> impl std::future::Future<
14222        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14223    > + Send {
14224        gaxi::unimplemented::unimplemented_stub()
14225    }
14226
14227    /// Implements [super::client::TargetPools::get_operation].
14228    fn get_operation(
14229        &self,
14230        _req: crate::model::region_operations::GetRequest,
14231        _options: crate::RequestOptions,
14232    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14233    {
14234        gaxi::unimplemented::unimplemented_stub()
14235    }
14236
14237    /// Returns the polling error policy.
14238    ///
14239    /// When mocking, this method is typically irrelevant. Do not try to verify
14240    /// it is called by your mocks.
14241    fn get_polling_error_policy(
14242        &self,
14243        _options: &crate::RequestOptions,
14244    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14245        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14246    }
14247
14248    /// Returns the polling backoff policy.
14249    ///
14250    /// When mocking, this method is typically irrelevant. Do not try to verify
14251    /// it is called by your mocks.
14252    fn get_polling_backoff_policy(
14253        &self,
14254        _options: &crate::RequestOptions,
14255    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14256        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14257    }
14258}
14259
14260/// Defines the trait used to implement [super::client::TargetSslProxies].
14261///
14262/// Application developers may need to implement this trait to mock
14263/// `client::TargetSslProxies`.  In other use-cases, application developers only
14264/// use `client::TargetSslProxies` and need not be concerned with this trait or
14265/// its implementations.
14266///
14267/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14268/// too. To avoid breaking applications the trait provides a default
14269/// implementation of each method. Most of these implementations just return an
14270/// error.
14271#[cfg(feature = "target-ssl-proxies")]
14272#[cfg_attr(docsrs, doc(cfg(feature = "target-ssl-proxies")))]
14273pub trait TargetSslProxies: std::fmt::Debug + Send + Sync {
14274    /// Implements [super::client::TargetSslProxies::delete].
14275    fn delete(
14276        &self,
14277        _req: crate::model::target_ssl_proxies::DeleteRequest,
14278        _options: crate::RequestOptions,
14279    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14280    {
14281        gaxi::unimplemented::unimplemented_stub()
14282    }
14283
14284    /// Implements [super::client::TargetSslProxies::get].
14285    fn get(
14286        &self,
14287        _req: crate::model::target_ssl_proxies::GetRequest,
14288        _options: crate::RequestOptions,
14289    ) -> impl std::future::Future<
14290        Output = crate::Result<crate::Response<crate::model::TargetSslProxy>>,
14291    > + Send {
14292        gaxi::unimplemented::unimplemented_stub()
14293    }
14294
14295    /// Implements [super::client::TargetSslProxies::insert].
14296    fn insert(
14297        &self,
14298        _req: crate::model::target_ssl_proxies::InsertRequest,
14299        _options: crate::RequestOptions,
14300    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14301    {
14302        gaxi::unimplemented::unimplemented_stub()
14303    }
14304
14305    /// Implements [super::client::TargetSslProxies::list].
14306    fn list(
14307        &self,
14308        _req: crate::model::target_ssl_proxies::ListRequest,
14309        _options: crate::RequestOptions,
14310    ) -> impl std::future::Future<
14311        Output = crate::Result<crate::Response<crate::model::TargetSslProxyList>>,
14312    > + Send {
14313        gaxi::unimplemented::unimplemented_stub()
14314    }
14315
14316    /// Implements [super::client::TargetSslProxies::set_backend_service].
14317    fn set_backend_service(
14318        &self,
14319        _req: crate::model::target_ssl_proxies::SetBackendServiceRequest,
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::TargetSslProxies::set_certificate_map].
14327    fn set_certificate_map(
14328        &self,
14329        _req: crate::model::target_ssl_proxies::SetCertificateMapRequest,
14330        _options: crate::RequestOptions,
14331    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14332    {
14333        gaxi::unimplemented::unimplemented_stub()
14334    }
14335
14336    /// Implements [super::client::TargetSslProxies::set_proxy_header].
14337    fn set_proxy_header(
14338        &self,
14339        _req: crate::model::target_ssl_proxies::SetProxyHeaderRequest,
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::TargetSslProxies::set_ssl_certificates].
14347    fn set_ssl_certificates(
14348        &self,
14349        _req: crate::model::target_ssl_proxies::SetSslCertificatesRequest,
14350        _options: crate::RequestOptions,
14351    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14352    {
14353        gaxi::unimplemented::unimplemented_stub()
14354    }
14355
14356    /// Implements [super::client::TargetSslProxies::set_ssl_policy].
14357    fn set_ssl_policy(
14358        &self,
14359        _req: crate::model::target_ssl_proxies::SetSslPolicyRequest,
14360        _options: crate::RequestOptions,
14361    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14362    {
14363        gaxi::unimplemented::unimplemented_stub()
14364    }
14365
14366    /// Implements [super::client::TargetSslProxies::test_iam_permissions].
14367    fn test_iam_permissions(
14368        &self,
14369        _req: crate::model::target_ssl_proxies::TestIamPermissionsRequest,
14370        _options: crate::RequestOptions,
14371    ) -> impl std::future::Future<
14372        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14373    > + Send {
14374        gaxi::unimplemented::unimplemented_stub()
14375    }
14376
14377    /// Implements [super::client::TargetSslProxies::get_operation].
14378    fn get_operation(
14379        &self,
14380        _req: crate::model::global_operations::GetRequest,
14381        _options: crate::RequestOptions,
14382    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14383    {
14384        gaxi::unimplemented::unimplemented_stub()
14385    }
14386
14387    /// Returns the polling error policy.
14388    ///
14389    /// When mocking, this method is typically irrelevant. Do not try to verify
14390    /// it is called by your mocks.
14391    fn get_polling_error_policy(
14392        &self,
14393        _options: &crate::RequestOptions,
14394    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14395        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14396    }
14397
14398    /// Returns the polling backoff policy.
14399    ///
14400    /// When mocking, this method is typically irrelevant. Do not try to verify
14401    /// it is called by your mocks.
14402    fn get_polling_backoff_policy(
14403        &self,
14404        _options: &crate::RequestOptions,
14405    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14406        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14407    }
14408}
14409
14410/// Defines the trait used to implement [super::client::TargetTcpProxies].
14411///
14412/// Application developers may need to implement this trait to mock
14413/// `client::TargetTcpProxies`.  In other use-cases, application developers only
14414/// use `client::TargetTcpProxies` and need not be concerned with this trait or
14415/// its implementations.
14416///
14417/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14418/// too. To avoid breaking applications the trait provides a default
14419/// implementation of each method. Most of these implementations just return an
14420/// error.
14421#[cfg(feature = "target-tcp-proxies")]
14422#[cfg_attr(docsrs, doc(cfg(feature = "target-tcp-proxies")))]
14423pub trait TargetTcpProxies: std::fmt::Debug + Send + Sync {
14424    /// Implements [super::client::TargetTcpProxies::aggregated_list].
14425    fn aggregated_list(
14426        &self,
14427        _req: crate::model::target_tcp_proxies::AggregatedListRequest,
14428        _options: crate::RequestOptions,
14429    ) -> impl std::future::Future<
14430        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyAggregatedList>>,
14431    > + Send {
14432        gaxi::unimplemented::unimplemented_stub()
14433    }
14434
14435    /// Implements [super::client::TargetTcpProxies::delete].
14436    fn delete(
14437        &self,
14438        _req: crate::model::target_tcp_proxies::DeleteRequest,
14439        _options: crate::RequestOptions,
14440    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14441    {
14442        gaxi::unimplemented::unimplemented_stub()
14443    }
14444
14445    /// Implements [super::client::TargetTcpProxies::get].
14446    fn get(
14447        &self,
14448        _req: crate::model::target_tcp_proxies::GetRequest,
14449        _options: crate::RequestOptions,
14450    ) -> impl std::future::Future<
14451        Output = crate::Result<crate::Response<crate::model::TargetTcpProxy>>,
14452    > + Send {
14453        gaxi::unimplemented::unimplemented_stub()
14454    }
14455
14456    /// Implements [super::client::TargetTcpProxies::insert].
14457    fn insert(
14458        &self,
14459        _req: crate::model::target_tcp_proxies::InsertRequest,
14460        _options: crate::RequestOptions,
14461    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14462    {
14463        gaxi::unimplemented::unimplemented_stub()
14464    }
14465
14466    /// Implements [super::client::TargetTcpProxies::list].
14467    fn list(
14468        &self,
14469        _req: crate::model::target_tcp_proxies::ListRequest,
14470        _options: crate::RequestOptions,
14471    ) -> impl std::future::Future<
14472        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyList>>,
14473    > + Send {
14474        gaxi::unimplemented::unimplemented_stub()
14475    }
14476
14477    /// Implements [super::client::TargetTcpProxies::set_backend_service].
14478    fn set_backend_service(
14479        &self,
14480        _req: crate::model::target_tcp_proxies::SetBackendServiceRequest,
14481        _options: crate::RequestOptions,
14482    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14483    {
14484        gaxi::unimplemented::unimplemented_stub()
14485    }
14486
14487    /// Implements [super::client::TargetTcpProxies::set_proxy_header].
14488    fn set_proxy_header(
14489        &self,
14490        _req: crate::model::target_tcp_proxies::SetProxyHeaderRequest,
14491        _options: crate::RequestOptions,
14492    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14493    {
14494        gaxi::unimplemented::unimplemented_stub()
14495    }
14496
14497    /// Implements [super::client::TargetTcpProxies::test_iam_permissions].
14498    fn test_iam_permissions(
14499        &self,
14500        _req: crate::model::target_tcp_proxies::TestIamPermissionsRequest,
14501        _options: crate::RequestOptions,
14502    ) -> impl std::future::Future<
14503        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14504    > + Send {
14505        gaxi::unimplemented::unimplemented_stub()
14506    }
14507
14508    /// Implements [super::client::TargetTcpProxies::get_operation].
14509    fn get_operation(
14510        &self,
14511        _req: crate::model::global_operations::GetRequest,
14512        _options: crate::RequestOptions,
14513    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14514    {
14515        gaxi::unimplemented::unimplemented_stub()
14516    }
14517
14518    /// Returns the polling error policy.
14519    ///
14520    /// When mocking, this method is typically irrelevant. Do not try to verify
14521    /// it is called by your mocks.
14522    fn get_polling_error_policy(
14523        &self,
14524        _options: &crate::RequestOptions,
14525    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14526        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14527    }
14528
14529    /// Returns the polling backoff policy.
14530    ///
14531    /// When mocking, this method is typically irrelevant. Do not try to verify
14532    /// it is called by your mocks.
14533    fn get_polling_backoff_policy(
14534        &self,
14535        _options: &crate::RequestOptions,
14536    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14537        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14538    }
14539}
14540
14541/// Defines the trait used to implement [super::client::TargetVpnGateways].
14542///
14543/// Application developers may need to implement this trait to mock
14544/// `client::TargetVpnGateways`.  In other use-cases, application developers only
14545/// use `client::TargetVpnGateways` and need not be concerned with this trait or
14546/// its implementations.
14547///
14548/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14549/// too. To avoid breaking applications the trait provides a default
14550/// implementation of each method. Most of these implementations just return an
14551/// error.
14552#[cfg(feature = "target-vpn-gateways")]
14553#[cfg_attr(docsrs, doc(cfg(feature = "target-vpn-gateways")))]
14554pub trait TargetVpnGateways: std::fmt::Debug + Send + Sync {
14555    /// Implements [super::client::TargetVpnGateways::aggregated_list].
14556    fn aggregated_list(
14557        &self,
14558        _req: crate::model::target_vpn_gateways::AggregatedListRequest,
14559        _options: crate::RequestOptions,
14560    ) -> impl std::future::Future<
14561        Output = crate::Result<crate::Response<crate::model::TargetVpnGatewayAggregatedList>>,
14562    > + Send {
14563        gaxi::unimplemented::unimplemented_stub()
14564    }
14565
14566    /// Implements [super::client::TargetVpnGateways::delete].
14567    fn delete(
14568        &self,
14569        _req: crate::model::target_vpn_gateways::DeleteRequest,
14570        _options: crate::RequestOptions,
14571    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14572    {
14573        gaxi::unimplemented::unimplemented_stub()
14574    }
14575
14576    /// Implements [super::client::TargetVpnGateways::get].
14577    fn get(
14578        &self,
14579        _req: crate::model::target_vpn_gateways::GetRequest,
14580        _options: crate::RequestOptions,
14581    ) -> impl std::future::Future<
14582        Output = crate::Result<crate::Response<crate::model::TargetVpnGateway>>,
14583    > + Send {
14584        gaxi::unimplemented::unimplemented_stub()
14585    }
14586
14587    /// Implements [super::client::TargetVpnGateways::insert].
14588    fn insert(
14589        &self,
14590        _req: crate::model::target_vpn_gateways::InsertRequest,
14591        _options: crate::RequestOptions,
14592    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14593    {
14594        gaxi::unimplemented::unimplemented_stub()
14595    }
14596
14597    /// Implements [super::client::TargetVpnGateways::list].
14598    fn list(
14599        &self,
14600        _req: crate::model::target_vpn_gateways::ListRequest,
14601        _options: crate::RequestOptions,
14602    ) -> impl std::future::Future<
14603        Output = crate::Result<crate::Response<crate::model::TargetVpnGatewayList>>,
14604    > + Send {
14605        gaxi::unimplemented::unimplemented_stub()
14606    }
14607
14608    /// Implements [super::client::TargetVpnGateways::set_labels].
14609    fn set_labels(
14610        &self,
14611        _req: crate::model::target_vpn_gateways::SetLabelsRequest,
14612        _options: crate::RequestOptions,
14613    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14614    {
14615        gaxi::unimplemented::unimplemented_stub()
14616    }
14617
14618    /// Implements [super::client::TargetVpnGateways::get_operation].
14619    fn get_operation(
14620        &self,
14621        _req: crate::model::region_operations::GetRequest,
14622        _options: crate::RequestOptions,
14623    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14624    {
14625        gaxi::unimplemented::unimplemented_stub()
14626    }
14627
14628    /// Returns the polling error policy.
14629    ///
14630    /// When mocking, this method is typically irrelevant. Do not try to verify
14631    /// it is called by your mocks.
14632    fn get_polling_error_policy(
14633        &self,
14634        _options: &crate::RequestOptions,
14635    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14636        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14637    }
14638
14639    /// Returns the polling backoff policy.
14640    ///
14641    /// When mocking, this method is typically irrelevant. Do not try to verify
14642    /// it is called by your mocks.
14643    fn get_polling_backoff_policy(
14644        &self,
14645        _options: &crate::RequestOptions,
14646    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14647        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14648    }
14649}
14650
14651/// Defines the trait used to implement [super::client::UrlMaps].
14652///
14653/// Application developers may need to implement this trait to mock
14654/// `client::UrlMaps`.  In other use-cases, application developers only
14655/// use `client::UrlMaps` and need not be concerned with this trait or
14656/// its implementations.
14657///
14658/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14659/// too. To avoid breaking applications the trait provides a default
14660/// implementation of each method. Most of these implementations just return an
14661/// error.
14662#[cfg(feature = "url-maps")]
14663#[cfg_attr(docsrs, doc(cfg(feature = "url-maps")))]
14664pub trait UrlMaps: std::fmt::Debug + Send + Sync {
14665    /// Implements [super::client::UrlMaps::aggregated_list].
14666    fn aggregated_list(
14667        &self,
14668        _req: crate::model::url_maps::AggregatedListRequest,
14669        _options: crate::RequestOptions,
14670    ) -> impl std::future::Future<
14671        Output = crate::Result<crate::Response<crate::model::UrlMapsAggregatedList>>,
14672    > + Send {
14673        gaxi::unimplemented::unimplemented_stub()
14674    }
14675
14676    /// Implements [super::client::UrlMaps::delete].
14677    fn delete(
14678        &self,
14679        _req: crate::model::url_maps::DeleteRequest,
14680        _options: crate::RequestOptions,
14681    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14682    {
14683        gaxi::unimplemented::unimplemented_stub()
14684    }
14685
14686    /// Implements [super::client::UrlMaps::get].
14687    fn get(
14688        &self,
14689        _req: crate::model::url_maps::GetRequest,
14690        _options: crate::RequestOptions,
14691    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMap>>> + Send
14692    {
14693        gaxi::unimplemented::unimplemented_stub()
14694    }
14695
14696    /// Implements [super::client::UrlMaps::insert].
14697    fn insert(
14698        &self,
14699        _req: crate::model::url_maps::InsertRequest,
14700        _options: crate::RequestOptions,
14701    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14702    {
14703        gaxi::unimplemented::unimplemented_stub()
14704    }
14705
14706    /// Implements [super::client::UrlMaps::invalidate_cache].
14707    fn invalidate_cache(
14708        &self,
14709        _req: crate::model::url_maps::InvalidateCacheRequest,
14710        _options: crate::RequestOptions,
14711    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14712    {
14713        gaxi::unimplemented::unimplemented_stub()
14714    }
14715
14716    /// Implements [super::client::UrlMaps::list].
14717    fn list(
14718        &self,
14719        _req: crate::model::url_maps::ListRequest,
14720        _options: crate::RequestOptions,
14721    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMapList>>> + Send
14722    {
14723        gaxi::unimplemented::unimplemented_stub()
14724    }
14725
14726    /// Implements [super::client::UrlMaps::patch].
14727    fn patch(
14728        &self,
14729        _req: crate::model::url_maps::PatchRequest,
14730        _options: crate::RequestOptions,
14731    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14732    {
14733        gaxi::unimplemented::unimplemented_stub()
14734    }
14735
14736    /// Implements [super::client::UrlMaps::test_iam_permissions].
14737    fn test_iam_permissions(
14738        &self,
14739        _req: crate::model::url_maps::TestIamPermissionsRequest,
14740        _options: crate::RequestOptions,
14741    ) -> impl std::future::Future<
14742        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14743    > + Send {
14744        gaxi::unimplemented::unimplemented_stub()
14745    }
14746
14747    /// Implements [super::client::UrlMaps::update].
14748    fn update(
14749        &self,
14750        _req: crate::model::url_maps::UpdateRequest,
14751        _options: crate::RequestOptions,
14752    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14753    {
14754        gaxi::unimplemented::unimplemented_stub()
14755    }
14756
14757    /// Implements [super::client::UrlMaps::validate].
14758    fn validate(
14759        &self,
14760        _req: crate::model::url_maps::ValidateRequest,
14761        _options: crate::RequestOptions,
14762    ) -> impl std::future::Future<
14763        Output = crate::Result<crate::Response<crate::model::UrlMapsValidateResponse>>,
14764    > + Send {
14765        gaxi::unimplemented::unimplemented_stub()
14766    }
14767
14768    /// Implements [super::client::UrlMaps::get_operation].
14769    fn get_operation(
14770        &self,
14771        _req: crate::model::global_operations::GetRequest,
14772        _options: crate::RequestOptions,
14773    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14774    {
14775        gaxi::unimplemented::unimplemented_stub()
14776    }
14777
14778    /// Returns the polling error policy.
14779    ///
14780    /// When mocking, this method is typically irrelevant. Do not try to verify
14781    /// it is called by your mocks.
14782    fn get_polling_error_policy(
14783        &self,
14784        _options: &crate::RequestOptions,
14785    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14786        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14787    }
14788
14789    /// Returns the polling backoff policy.
14790    ///
14791    /// When mocking, this method is typically irrelevant. Do not try to verify
14792    /// it is called by your mocks.
14793    fn get_polling_backoff_policy(
14794        &self,
14795        _options: &crate::RequestOptions,
14796    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14797        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14798    }
14799}
14800
14801/// Defines the trait used to implement [super::client::VpnGateways].
14802///
14803/// Application developers may need to implement this trait to mock
14804/// `client::VpnGateways`.  In other use-cases, application developers only
14805/// use `client::VpnGateways` and need not be concerned with this trait or
14806/// its implementations.
14807///
14808/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14809/// too. To avoid breaking applications the trait provides a default
14810/// implementation of each method. Most of these implementations just return an
14811/// error.
14812#[cfg(feature = "vpn-gateways")]
14813#[cfg_attr(docsrs, doc(cfg(feature = "vpn-gateways")))]
14814pub trait VpnGateways: std::fmt::Debug + Send + Sync {
14815    /// Implements [super::client::VpnGateways::aggregated_list].
14816    fn aggregated_list(
14817        &self,
14818        _req: crate::model::vpn_gateways::AggregatedListRequest,
14819        _options: crate::RequestOptions,
14820    ) -> impl std::future::Future<
14821        Output = crate::Result<crate::Response<crate::model::VpnGatewayAggregatedList>>,
14822    > + Send {
14823        gaxi::unimplemented::unimplemented_stub()
14824    }
14825
14826    /// Implements [super::client::VpnGateways::delete].
14827    fn delete(
14828        &self,
14829        _req: crate::model::vpn_gateways::DeleteRequest,
14830        _options: crate::RequestOptions,
14831    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14832    {
14833        gaxi::unimplemented::unimplemented_stub()
14834    }
14835
14836    /// Implements [super::client::VpnGateways::get].
14837    fn get(
14838        &self,
14839        _req: crate::model::vpn_gateways::GetRequest,
14840        _options: crate::RequestOptions,
14841    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::VpnGateway>>> + Send
14842    {
14843        gaxi::unimplemented::unimplemented_stub()
14844    }
14845
14846    /// Implements [super::client::VpnGateways::get_status].
14847    fn get_status(
14848        &self,
14849        _req: crate::model::vpn_gateways::GetStatusRequest,
14850        _options: crate::RequestOptions,
14851    ) -> impl std::future::Future<
14852        Output = crate::Result<crate::Response<crate::model::VpnGatewaysGetStatusResponse>>,
14853    > + Send {
14854        gaxi::unimplemented::unimplemented_stub()
14855    }
14856
14857    /// Implements [super::client::VpnGateways::insert].
14858    fn insert(
14859        &self,
14860        _req: crate::model::vpn_gateways::InsertRequest,
14861        _options: crate::RequestOptions,
14862    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14863    {
14864        gaxi::unimplemented::unimplemented_stub()
14865    }
14866
14867    /// Implements [super::client::VpnGateways::list].
14868    fn list(
14869        &self,
14870        _req: crate::model::vpn_gateways::ListRequest,
14871        _options: crate::RequestOptions,
14872    ) -> impl std::future::Future<
14873        Output = crate::Result<crate::Response<crate::model::VpnGatewayList>>,
14874    > + Send {
14875        gaxi::unimplemented::unimplemented_stub()
14876    }
14877
14878    /// Implements [super::client::VpnGateways::set_labels].
14879    fn set_labels(
14880        &self,
14881        _req: crate::model::vpn_gateways::SetLabelsRequest,
14882        _options: crate::RequestOptions,
14883    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14884    {
14885        gaxi::unimplemented::unimplemented_stub()
14886    }
14887
14888    /// Implements [super::client::VpnGateways::test_iam_permissions].
14889    fn test_iam_permissions(
14890        &self,
14891        _req: crate::model::vpn_gateways::TestIamPermissionsRequest,
14892        _options: crate::RequestOptions,
14893    ) -> impl std::future::Future<
14894        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14895    > + Send {
14896        gaxi::unimplemented::unimplemented_stub()
14897    }
14898
14899    /// Implements [super::client::VpnGateways::get_operation].
14900    fn get_operation(
14901        &self,
14902        _req: crate::model::region_operations::GetRequest,
14903        _options: crate::RequestOptions,
14904    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14905    {
14906        gaxi::unimplemented::unimplemented_stub()
14907    }
14908
14909    /// Returns the polling error policy.
14910    ///
14911    /// When mocking, this method is typically irrelevant. Do not try to verify
14912    /// it is called by your mocks.
14913    fn get_polling_error_policy(
14914        &self,
14915        _options: &crate::RequestOptions,
14916    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14917        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14918    }
14919
14920    /// Returns the polling backoff policy.
14921    ///
14922    /// When mocking, this method is typically irrelevant. Do not try to verify
14923    /// it is called by your mocks.
14924    fn get_polling_backoff_policy(
14925        &self,
14926        _options: &crate::RequestOptions,
14927    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14928        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14929    }
14930}
14931
14932/// Defines the trait used to implement [super::client::VpnTunnels].
14933///
14934/// Application developers may need to implement this trait to mock
14935/// `client::VpnTunnels`.  In other use-cases, application developers only
14936/// use `client::VpnTunnels` and need not be concerned with this trait or
14937/// its implementations.
14938///
14939/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14940/// too. To avoid breaking applications the trait provides a default
14941/// implementation of each method. Most of these implementations just return an
14942/// error.
14943#[cfg(feature = "vpn-tunnels")]
14944#[cfg_attr(docsrs, doc(cfg(feature = "vpn-tunnels")))]
14945pub trait VpnTunnels: std::fmt::Debug + Send + Sync {
14946    /// Implements [super::client::VpnTunnels::aggregated_list].
14947    fn aggregated_list(
14948        &self,
14949        _req: crate::model::vpn_tunnels::AggregatedListRequest,
14950        _options: crate::RequestOptions,
14951    ) -> impl std::future::Future<
14952        Output = crate::Result<crate::Response<crate::model::VpnTunnelAggregatedList>>,
14953    > + Send {
14954        gaxi::unimplemented::unimplemented_stub()
14955    }
14956
14957    /// Implements [super::client::VpnTunnels::delete].
14958    fn delete(
14959        &self,
14960        _req: crate::model::vpn_tunnels::DeleteRequest,
14961        _options: crate::RequestOptions,
14962    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14963    {
14964        gaxi::unimplemented::unimplemented_stub()
14965    }
14966
14967    /// Implements [super::client::VpnTunnels::get].
14968    fn get(
14969        &self,
14970        _req: crate::model::vpn_tunnels::GetRequest,
14971        _options: crate::RequestOptions,
14972    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::VpnTunnel>>> + Send
14973    {
14974        gaxi::unimplemented::unimplemented_stub()
14975    }
14976
14977    /// Implements [super::client::VpnTunnels::insert].
14978    fn insert(
14979        &self,
14980        _req: crate::model::vpn_tunnels::InsertRequest,
14981        _options: crate::RequestOptions,
14982    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14983    {
14984        gaxi::unimplemented::unimplemented_stub()
14985    }
14986
14987    /// Implements [super::client::VpnTunnels::list].
14988    fn list(
14989        &self,
14990        _req: crate::model::vpn_tunnels::ListRequest,
14991        _options: crate::RequestOptions,
14992    ) -> impl std::future::Future<
14993        Output = crate::Result<crate::Response<crate::model::VpnTunnelList>>,
14994    > + Send {
14995        gaxi::unimplemented::unimplemented_stub()
14996    }
14997
14998    /// Implements [super::client::VpnTunnels::set_labels].
14999    fn set_labels(
15000        &self,
15001        _req: crate::model::vpn_tunnels::SetLabelsRequest,
15002        _options: crate::RequestOptions,
15003    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15004    {
15005        gaxi::unimplemented::unimplemented_stub()
15006    }
15007
15008    /// Implements [super::client::VpnTunnels::get_operation].
15009    fn get_operation(
15010        &self,
15011        _req: crate::model::region_operations::GetRequest,
15012        _options: crate::RequestOptions,
15013    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15014    {
15015        gaxi::unimplemented::unimplemented_stub()
15016    }
15017
15018    /// Returns the polling error policy.
15019    ///
15020    /// When mocking, this method is typically irrelevant. Do not try to verify
15021    /// it is called by your mocks.
15022    fn get_polling_error_policy(
15023        &self,
15024        _options: &crate::RequestOptions,
15025    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15026        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15027    }
15028
15029    /// Returns the polling backoff policy.
15030    ///
15031    /// When mocking, this method is typically irrelevant. Do not try to verify
15032    /// it is called by your mocks.
15033    fn get_polling_backoff_policy(
15034        &self,
15035        _options: &crate::RequestOptions,
15036    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15037        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15038    }
15039}
15040
15041/// Defines the trait used to implement [super::client::WireGroups].
15042///
15043/// Application developers may need to implement this trait to mock
15044/// `client::WireGroups`.  In other use-cases, application developers only
15045/// use `client::WireGroups` and need not be concerned with this trait or
15046/// its implementations.
15047///
15048/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15049/// too. To avoid breaking applications the trait provides a default
15050/// implementation of each method. Most of these implementations just return an
15051/// error.
15052#[cfg(feature = "wire-groups")]
15053#[cfg_attr(docsrs, doc(cfg(feature = "wire-groups")))]
15054pub trait WireGroups: std::fmt::Debug + Send + Sync {
15055    /// Implements [super::client::WireGroups::delete].
15056    fn delete(
15057        &self,
15058        _req: crate::model::wire_groups::DeleteRequest,
15059        _options: crate::RequestOptions,
15060    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15061    {
15062        gaxi::unimplemented::unimplemented_stub()
15063    }
15064
15065    /// Implements [super::client::WireGroups::get].
15066    fn get(
15067        &self,
15068        _req: crate::model::wire_groups::GetRequest,
15069        _options: crate::RequestOptions,
15070    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::WireGroup>>> + Send
15071    {
15072        gaxi::unimplemented::unimplemented_stub()
15073    }
15074
15075    /// Implements [super::client::WireGroups::insert].
15076    fn insert(
15077        &self,
15078        _req: crate::model::wire_groups::InsertRequest,
15079        _options: crate::RequestOptions,
15080    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15081    {
15082        gaxi::unimplemented::unimplemented_stub()
15083    }
15084
15085    /// Implements [super::client::WireGroups::list].
15086    fn list(
15087        &self,
15088        _req: crate::model::wire_groups::ListRequest,
15089        _options: crate::RequestOptions,
15090    ) -> impl std::future::Future<
15091        Output = crate::Result<crate::Response<crate::model::WireGroupList>>,
15092    > + Send {
15093        gaxi::unimplemented::unimplemented_stub()
15094    }
15095
15096    /// Implements [super::client::WireGroups::patch].
15097    fn patch(
15098        &self,
15099        _req: crate::model::wire_groups::PatchRequest,
15100        _options: crate::RequestOptions,
15101    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15102    {
15103        gaxi::unimplemented::unimplemented_stub()
15104    }
15105
15106    /// Implements [super::client::WireGroups::get_operation].
15107    fn get_operation(
15108        &self,
15109        _req: crate::model::global_operations::GetRequest,
15110        _options: crate::RequestOptions,
15111    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15112    {
15113        gaxi::unimplemented::unimplemented_stub()
15114    }
15115
15116    /// Returns the polling error policy.
15117    ///
15118    /// When mocking, this method is typically irrelevant. Do not try to verify
15119    /// it is called by your mocks.
15120    fn get_polling_error_policy(
15121        &self,
15122        _options: &crate::RequestOptions,
15123    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15124        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15125    }
15126
15127    /// Returns the polling backoff policy.
15128    ///
15129    /// When mocking, this method is typically irrelevant. Do not try to verify
15130    /// it is called by your mocks.
15131    fn get_polling_backoff_policy(
15132        &self,
15133        _options: &crate::RequestOptions,
15134    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15135        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15136    }
15137}
15138
15139/// Defines the trait used to implement [super::client::ZoneOperations].
15140///
15141/// Application developers may need to implement this trait to mock
15142/// `client::ZoneOperations`.  In other use-cases, application developers only
15143/// use `client::ZoneOperations` and need not be concerned with this trait or
15144/// its implementations.
15145///
15146/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15147/// too. To avoid breaking applications the trait provides a default
15148/// implementation of each method. Most of these implementations just return an
15149/// error.
15150#[cfg(feature = "zone-operations")]
15151#[cfg_attr(docsrs, doc(cfg(feature = "zone-operations")))]
15152pub trait ZoneOperations: std::fmt::Debug + Send + Sync {
15153    /// Implements [super::client::ZoneOperations::delete].
15154    fn delete(
15155        &self,
15156        _req: crate::model::zone_operations::DeleteRequest,
15157        _options: crate::RequestOptions,
15158    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
15159        gaxi::unimplemented::unimplemented_stub()
15160    }
15161
15162    /// Implements [super::client::ZoneOperations::get].
15163    fn get(
15164        &self,
15165        _req: crate::model::zone_operations::GetRequest,
15166        _options: crate::RequestOptions,
15167    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15168    {
15169        gaxi::unimplemented::unimplemented_stub()
15170    }
15171
15172    /// Implements [super::client::ZoneOperations::list].
15173    fn list(
15174        &self,
15175        _req: crate::model::zone_operations::ListRequest,
15176        _options: crate::RequestOptions,
15177    ) -> impl std::future::Future<
15178        Output = crate::Result<crate::Response<crate::model::OperationList>>,
15179    > + Send {
15180        gaxi::unimplemented::unimplemented_stub()
15181    }
15182
15183    /// Implements [super::client::ZoneOperations::wait].
15184    fn wait(
15185        &self,
15186        _req: crate::model::zone_operations::WaitRequest,
15187        _options: crate::RequestOptions,
15188    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15189    {
15190        gaxi::unimplemented::unimplemented_stub()
15191    }
15192}
15193
15194/// Defines the trait used to implement [super::client::ZoneVmExtensionPolicies].
15195///
15196/// Application developers may need to implement this trait to mock
15197/// `client::ZoneVmExtensionPolicies`.  In other use-cases, application developers only
15198/// use `client::ZoneVmExtensionPolicies` and need not be concerned with this trait or
15199/// its implementations.
15200///
15201/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15202/// too. To avoid breaking applications the trait provides a default
15203/// implementation of each method. Most of these implementations just return an
15204/// error.
15205#[cfg(feature = "zone-vm-extension-policies")]
15206#[cfg_attr(docsrs, doc(cfg(feature = "zone-vm-extension-policies")))]
15207pub trait ZoneVmExtensionPolicies: std::fmt::Debug + Send + Sync {
15208    /// Implements [super::client::ZoneVmExtensionPolicies::delete].
15209    fn delete(
15210        &self,
15211        _req: crate::model::zone_vm_extension_policies::DeleteRequest,
15212        _options: crate::RequestOptions,
15213    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15214    {
15215        gaxi::unimplemented::unimplemented_stub()
15216    }
15217
15218    /// Implements [super::client::ZoneVmExtensionPolicies::get].
15219    fn get(
15220        &self,
15221        _req: crate::model::zone_vm_extension_policies::GetRequest,
15222        _options: crate::RequestOptions,
15223    ) -> impl std::future::Future<
15224        Output = crate::Result<crate::Response<crate::model::VmExtensionPolicy>>,
15225    > + Send {
15226        gaxi::unimplemented::unimplemented_stub()
15227    }
15228
15229    /// Implements [super::client::ZoneVmExtensionPolicies::insert].
15230    fn insert(
15231        &self,
15232        _req: crate::model::zone_vm_extension_policies::InsertRequest,
15233        _options: crate::RequestOptions,
15234    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15235    {
15236        gaxi::unimplemented::unimplemented_stub()
15237    }
15238
15239    /// Implements [super::client::ZoneVmExtensionPolicies::list].
15240    fn list(
15241        &self,
15242        _req: crate::model::zone_vm_extension_policies::ListRequest,
15243        _options: crate::RequestOptions,
15244    ) -> impl std::future::Future<
15245        Output = crate::Result<crate::Response<crate::model::VmExtensionPolicyList>>,
15246    > + Send {
15247        gaxi::unimplemented::unimplemented_stub()
15248    }
15249
15250    /// Implements [super::client::ZoneVmExtensionPolicies::update].
15251    fn update(
15252        &self,
15253        _req: crate::model::zone_vm_extension_policies::UpdateRequest,
15254        _options: crate::RequestOptions,
15255    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15256    {
15257        gaxi::unimplemented::unimplemented_stub()
15258    }
15259
15260    /// Implements [super::client::ZoneVmExtensionPolicies::get_operation].
15261    fn get_operation(
15262        &self,
15263        _req: crate::model::zone_operations::GetRequest,
15264        _options: crate::RequestOptions,
15265    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15266    {
15267        gaxi::unimplemented::unimplemented_stub()
15268    }
15269
15270    /// Returns the polling error policy.
15271    ///
15272    /// When mocking, this method is typically irrelevant. Do not try to verify
15273    /// it is called by your mocks.
15274    fn get_polling_error_policy(
15275        &self,
15276        _options: &crate::RequestOptions,
15277    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15278        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15279    }
15280
15281    /// Returns the polling backoff policy.
15282    ///
15283    /// When mocking, this method is typically irrelevant. Do not try to verify
15284    /// it is called by your mocks.
15285    fn get_polling_backoff_policy(
15286        &self,
15287        _options: &crate::RequestOptions,
15288    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15289        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15290    }
15291}
15292
15293/// Defines the trait used to implement [super::client::Zones].
15294///
15295/// Application developers may need to implement this trait to mock
15296/// `client::Zones`.  In other use-cases, application developers only
15297/// use `client::Zones` and need not be concerned with this trait or
15298/// its implementations.
15299///
15300/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15301/// too. To avoid breaking applications the trait provides a default
15302/// implementation of each method. Most of these implementations just return an
15303/// error.
15304#[cfg(feature = "zones")]
15305#[cfg_attr(docsrs, doc(cfg(feature = "zones")))]
15306pub trait Zones: std::fmt::Debug + Send + Sync {
15307    /// Implements [super::client::Zones::get].
15308    fn get(
15309        &self,
15310        _req: crate::model::zones::GetRequest,
15311        _options: crate::RequestOptions,
15312    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Zone>>> + Send
15313    {
15314        gaxi::unimplemented::unimplemented_stub()
15315    }
15316
15317    /// Implements [super::client::Zones::list].
15318    fn list(
15319        &self,
15320        _req: crate::model::zones::ListRequest,
15321        _options: crate::RequestOptions,
15322    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ZoneList>>> + Send
15323    {
15324        gaxi::unimplemented::unimplemented_stub()
15325    }
15326}