Skip to main content

google_cloud_compute_v1/
stub.rs

1// Copyright 2025 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     https://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15// Code generated by sidekick. DO NOT EDIT.
16
17//! Traits to mock the clients in this library.
18//!
19//! Application developers may need to mock the clients in this library to test
20//! how their application works with different (and sometimes hard to trigger)
21//! client and service behavior. Such test can define mocks implementing the
22//! trait(s) defined in this module, initialize the client with an instance of
23//! this mock in their tests, and verify their application responds as expected.
24
25#![allow(rustdoc::broken_intra_doc_links)]
26
27pub(crate) mod dynamic;
28
29/// Defines the trait used to implement [super::client::AcceleratorTypes].
30///
31/// Application developers may need to implement this trait to mock
32/// `client::AcceleratorTypes`.  In other use-cases, application developers only
33/// use `client::AcceleratorTypes` and need not be concerned with this trait or
34/// its implementations.
35///
36/// Services gain new RPCs routinely. Consequently, this trait gains new methods
37/// too. To avoid breaking applications the trait provides a default
38/// implementation of each method. Most of these implementations just return an
39/// error.
40#[cfg(feature = "accelerator-types")]
41#[cfg_attr(docsrs, doc(cfg(feature = "accelerator-types")))]
42pub trait AcceleratorTypes: std::fmt::Debug + Send + Sync {
43    /// Implements [super::client::AcceleratorTypes::aggregated_list].
44    fn aggregated_list(
45        &self,
46        _req: crate::model::accelerator_types::AggregatedListRequest,
47        _options: crate::RequestOptions,
48    ) -> impl std::future::Future<
49        Output = crate::Result<crate::Response<crate::model::AcceleratorTypeAggregatedList>>,
50    > + Send {
51        gaxi::unimplemented::unimplemented_stub()
52    }
53
54    /// Implements [super::client::AcceleratorTypes::get].
55    fn get(
56        &self,
57        _req: crate::model::accelerator_types::GetRequest,
58        _options: crate::RequestOptions,
59    ) -> impl std::future::Future<
60        Output = crate::Result<crate::Response<crate::model::AcceleratorType>>,
61    > + Send {
62        gaxi::unimplemented::unimplemented_stub()
63    }
64
65    /// Implements [super::client::AcceleratorTypes::list].
66    fn list(
67        &self,
68        _req: crate::model::accelerator_types::ListRequest,
69        _options: crate::RequestOptions,
70    ) -> impl std::future::Future<
71        Output = crate::Result<crate::Response<crate::model::AcceleratorTypeList>>,
72    > + Send {
73        gaxi::unimplemented::unimplemented_stub()
74    }
75}
76
77/// Defines the trait used to implement [super::client::Addresses].
78///
79/// Application developers may need to implement this trait to mock
80/// `client::Addresses`.  In other use-cases, application developers only
81/// use `client::Addresses` and need not be concerned with this trait or
82/// its implementations.
83///
84/// Services gain new RPCs routinely. Consequently, this trait gains new methods
85/// too. To avoid breaking applications the trait provides a default
86/// implementation of each method. Most of these implementations just return an
87/// error.
88#[cfg(feature = "addresses")]
89#[cfg_attr(docsrs, doc(cfg(feature = "addresses")))]
90pub trait Addresses: std::fmt::Debug + Send + Sync {
91    /// Implements [super::client::Addresses::aggregated_list].
92    fn aggregated_list(
93        &self,
94        _req: crate::model::addresses::AggregatedListRequest,
95        _options: crate::RequestOptions,
96    ) -> impl std::future::Future<
97        Output = crate::Result<crate::Response<crate::model::AddressAggregatedList>>,
98    > + Send {
99        gaxi::unimplemented::unimplemented_stub()
100    }
101
102    /// Implements [super::client::Addresses::delete].
103    fn delete(
104        &self,
105        _req: crate::model::addresses::DeleteRequest,
106        _options: crate::RequestOptions,
107    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
108    {
109        gaxi::unimplemented::unimplemented_stub()
110    }
111
112    /// Implements [super::client::Addresses::get].
113    fn get(
114        &self,
115        _req: crate::model::addresses::GetRequest,
116        _options: crate::RequestOptions,
117    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Address>>> + Send
118    {
119        gaxi::unimplemented::unimplemented_stub()
120    }
121
122    /// Implements [super::client::Addresses::insert].
123    fn insert(
124        &self,
125        _req: crate::model::addresses::InsertRequest,
126        _options: crate::RequestOptions,
127    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
128    {
129        gaxi::unimplemented::unimplemented_stub()
130    }
131
132    /// Implements [super::client::Addresses::list].
133    fn list(
134        &self,
135        _req: crate::model::addresses::ListRequest,
136        _options: crate::RequestOptions,
137    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::AddressList>>>
138    + Send {
139        gaxi::unimplemented::unimplemented_stub()
140    }
141
142    /// Implements [super::client::Addresses::r#move].
143    fn r#move(
144        &self,
145        _req: crate::model::addresses::MoveRequest,
146        _options: crate::RequestOptions,
147    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
148    {
149        gaxi::unimplemented::unimplemented_stub()
150    }
151
152    /// Implements [super::client::Addresses::set_labels].
153    fn set_labels(
154        &self,
155        _req: crate::model::addresses::SetLabelsRequest,
156        _options: crate::RequestOptions,
157    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
158    {
159        gaxi::unimplemented::unimplemented_stub()
160    }
161
162    /// Implements [super::client::Addresses::test_iam_permissions].
163    fn test_iam_permissions(
164        &self,
165        _req: crate::model::addresses::TestIamPermissionsRequest,
166        _options: crate::RequestOptions,
167    ) -> impl std::future::Future<
168        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
169    > + Send {
170        gaxi::unimplemented::unimplemented_stub()
171    }
172
173    /// Implements [super::client::Addresses::get_operation].
174    fn get_operation(
175        &self,
176        _req: crate::model::region_operations::GetRequest,
177        _options: crate::RequestOptions,
178    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
179    {
180        gaxi::unimplemented::unimplemented_stub()
181    }
182
183    /// Returns the polling error policy.
184    ///
185    /// When mocking, this method is typically irrelevant. Do not try to verify
186    /// it is called by your mocks.
187    fn get_polling_error_policy(
188        &self,
189        _options: &crate::RequestOptions,
190    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
191        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
192    }
193
194    /// Returns the polling backoff policy.
195    ///
196    /// When mocking, this method is typically irrelevant. Do not try to verify
197    /// it is called by your mocks.
198    fn get_polling_backoff_policy(
199        &self,
200        _options: &crate::RequestOptions,
201    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
202        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
203    }
204}
205
206/// Defines the trait used to implement [super::client::Advice].
207///
208/// Application developers may need to implement this trait to mock
209/// `client::Advice`.  In other use-cases, application developers only
210/// use `client::Advice` and need not be concerned with this trait or
211/// its implementations.
212///
213/// Services gain new RPCs routinely. Consequently, this trait gains new methods
214/// too. To avoid breaking applications the trait provides a default
215/// implementation of each method. Most of these implementations just return an
216/// error.
217#[cfg(feature = "advice")]
218#[cfg_attr(docsrs, doc(cfg(feature = "advice")))]
219pub trait Advice: std::fmt::Debug + Send + Sync {
220    /// Implements [super::client::Advice::calendar_mode].
221    fn calendar_mode(
222        &self,
223        _req: crate::model::advice::CalendarModeRequest,
224        _options: crate::RequestOptions,
225    ) -> impl std::future::Future<
226        Output = crate::Result<crate::Response<crate::model::CalendarModeAdviceResponse>>,
227    > + Send {
228        gaxi::unimplemented::unimplemented_stub()
229    }
230}
231
232/// Defines the trait used to implement [super::client::Autoscalers].
233///
234/// Application developers may need to implement this trait to mock
235/// `client::Autoscalers`.  In other use-cases, application developers only
236/// use `client::Autoscalers` and need not be concerned with this trait or
237/// its implementations.
238///
239/// Services gain new RPCs routinely. Consequently, this trait gains new methods
240/// too. To avoid breaking applications the trait provides a default
241/// implementation of each method. Most of these implementations just return an
242/// error.
243#[cfg(feature = "autoscalers")]
244#[cfg_attr(docsrs, doc(cfg(feature = "autoscalers")))]
245pub trait Autoscalers: std::fmt::Debug + Send + Sync {
246    /// Implements [super::client::Autoscalers::aggregated_list].
247    fn aggregated_list(
248        &self,
249        _req: crate::model::autoscalers::AggregatedListRequest,
250        _options: crate::RequestOptions,
251    ) -> impl std::future::Future<
252        Output = crate::Result<crate::Response<crate::model::AutoscalerAggregatedList>>,
253    > + Send {
254        gaxi::unimplemented::unimplemented_stub()
255    }
256
257    /// Implements [super::client::Autoscalers::delete].
258    fn delete(
259        &self,
260        _req: crate::model::autoscalers::DeleteRequest,
261        _options: crate::RequestOptions,
262    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
263    {
264        gaxi::unimplemented::unimplemented_stub()
265    }
266
267    /// Implements [super::client::Autoscalers::get].
268    fn get(
269        &self,
270        _req: crate::model::autoscalers::GetRequest,
271        _options: crate::RequestOptions,
272    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Autoscaler>>> + Send
273    {
274        gaxi::unimplemented::unimplemented_stub()
275    }
276
277    /// Implements [super::client::Autoscalers::insert].
278    fn insert(
279        &self,
280        _req: crate::model::autoscalers::InsertRequest,
281        _options: crate::RequestOptions,
282    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
283    {
284        gaxi::unimplemented::unimplemented_stub()
285    }
286
287    /// Implements [super::client::Autoscalers::list].
288    fn list(
289        &self,
290        _req: crate::model::autoscalers::ListRequest,
291        _options: crate::RequestOptions,
292    ) -> impl std::future::Future<
293        Output = crate::Result<crate::Response<crate::model::AutoscalerList>>,
294    > + Send {
295        gaxi::unimplemented::unimplemented_stub()
296    }
297
298    /// Implements [super::client::Autoscalers::patch].
299    fn patch(
300        &self,
301        _req: crate::model::autoscalers::PatchRequest,
302        _options: crate::RequestOptions,
303    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
304    {
305        gaxi::unimplemented::unimplemented_stub()
306    }
307
308    /// Implements [super::client::Autoscalers::test_iam_permissions].
309    fn test_iam_permissions(
310        &self,
311        _req: crate::model::autoscalers::TestIamPermissionsRequest,
312        _options: crate::RequestOptions,
313    ) -> impl std::future::Future<
314        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
315    > + Send {
316        gaxi::unimplemented::unimplemented_stub()
317    }
318
319    /// Implements [super::client::Autoscalers::update].
320    fn update(
321        &self,
322        _req: crate::model::autoscalers::UpdateRequest,
323        _options: crate::RequestOptions,
324    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
325    {
326        gaxi::unimplemented::unimplemented_stub()
327    }
328
329    /// Implements [super::client::Autoscalers::get_operation].
330    fn get_operation(
331        &self,
332        _req: crate::model::zone_operations::GetRequest,
333        _options: crate::RequestOptions,
334    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
335    {
336        gaxi::unimplemented::unimplemented_stub()
337    }
338
339    /// Returns the polling error policy.
340    ///
341    /// When mocking, this method is typically irrelevant. Do not try to verify
342    /// it is called by your mocks.
343    fn get_polling_error_policy(
344        &self,
345        _options: &crate::RequestOptions,
346    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
347        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
348    }
349
350    /// Returns the polling backoff policy.
351    ///
352    /// When mocking, this method is typically irrelevant. Do not try to verify
353    /// it is called by your mocks.
354    fn get_polling_backoff_policy(
355        &self,
356        _options: &crate::RequestOptions,
357    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
358        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
359    }
360}
361
362/// Defines the trait used to implement [super::client::BackendBuckets].
363///
364/// Application developers may need to implement this trait to mock
365/// `client::BackendBuckets`.  In other use-cases, application developers only
366/// use `client::BackendBuckets` and need not be concerned with this trait or
367/// its implementations.
368///
369/// Services gain new RPCs routinely. Consequently, this trait gains new methods
370/// too. To avoid breaking applications the trait provides a default
371/// implementation of each method. Most of these implementations just return an
372/// error.
373#[cfg(feature = "backend-buckets")]
374#[cfg_attr(docsrs, doc(cfg(feature = "backend-buckets")))]
375pub trait BackendBuckets: std::fmt::Debug + Send + Sync {
376    /// Implements [super::client::BackendBuckets::add_signed_url_key].
377    fn add_signed_url_key(
378        &self,
379        _req: crate::model::backend_buckets::AddSignedUrlKeyRequest,
380        _options: crate::RequestOptions,
381    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
382    {
383        gaxi::unimplemented::unimplemented_stub()
384    }
385
386    /// Implements [super::client::BackendBuckets::delete].
387    fn delete(
388        &self,
389        _req: crate::model::backend_buckets::DeleteRequest,
390        _options: crate::RequestOptions,
391    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
392    {
393        gaxi::unimplemented::unimplemented_stub()
394    }
395
396    /// Implements [super::client::BackendBuckets::delete_signed_url_key].
397    fn delete_signed_url_key(
398        &self,
399        _req: crate::model::backend_buckets::DeleteSignedUrlKeyRequest,
400        _options: crate::RequestOptions,
401    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
402    {
403        gaxi::unimplemented::unimplemented_stub()
404    }
405
406    /// Implements [super::client::BackendBuckets::get].
407    fn get(
408        &self,
409        _req: crate::model::backend_buckets::GetRequest,
410        _options: crate::RequestOptions,
411    ) -> impl std::future::Future<
412        Output = crate::Result<crate::Response<crate::model::BackendBucket>>,
413    > + Send {
414        gaxi::unimplemented::unimplemented_stub()
415    }
416
417    /// Implements [super::client::BackendBuckets::get_iam_policy].
418    fn get_iam_policy(
419        &self,
420        _req: crate::model::backend_buckets::GetIamPolicyRequest,
421        _options: crate::RequestOptions,
422    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
423    {
424        gaxi::unimplemented::unimplemented_stub()
425    }
426
427    /// Implements [super::client::BackendBuckets::insert].
428    fn insert(
429        &self,
430        _req: crate::model::backend_buckets::InsertRequest,
431        _options: crate::RequestOptions,
432    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
433    {
434        gaxi::unimplemented::unimplemented_stub()
435    }
436
437    /// Implements [super::client::BackendBuckets::list].
438    fn list(
439        &self,
440        _req: crate::model::backend_buckets::ListRequest,
441        _options: crate::RequestOptions,
442    ) -> impl std::future::Future<
443        Output = crate::Result<crate::Response<crate::model::BackendBucketList>>,
444    > + Send {
445        gaxi::unimplemented::unimplemented_stub()
446    }
447
448    /// Implements [super::client::BackendBuckets::patch].
449    fn patch(
450        &self,
451        _req: crate::model::backend_buckets::PatchRequest,
452        _options: crate::RequestOptions,
453    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
454    {
455        gaxi::unimplemented::unimplemented_stub()
456    }
457
458    /// Implements [super::client::BackendBuckets::set_edge_security_policy].
459    fn set_edge_security_policy(
460        &self,
461        _req: crate::model::backend_buckets::SetEdgeSecurityPolicyRequest,
462        _options: crate::RequestOptions,
463    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
464    {
465        gaxi::unimplemented::unimplemented_stub()
466    }
467
468    /// Implements [super::client::BackendBuckets::set_iam_policy].
469    fn set_iam_policy(
470        &self,
471        _req: crate::model::backend_buckets::SetIamPolicyRequest,
472        _options: crate::RequestOptions,
473    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
474    {
475        gaxi::unimplemented::unimplemented_stub()
476    }
477
478    /// Implements [super::client::BackendBuckets::test_iam_permissions].
479    fn test_iam_permissions(
480        &self,
481        _req: crate::model::backend_buckets::TestIamPermissionsRequest,
482        _options: crate::RequestOptions,
483    ) -> impl std::future::Future<
484        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
485    > + Send {
486        gaxi::unimplemented::unimplemented_stub()
487    }
488
489    /// Implements [super::client::BackendBuckets::update].
490    fn update(
491        &self,
492        _req: crate::model::backend_buckets::UpdateRequest,
493        _options: crate::RequestOptions,
494    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
495    {
496        gaxi::unimplemented::unimplemented_stub()
497    }
498
499    /// Implements [super::client::BackendBuckets::get_operation].
500    fn get_operation(
501        &self,
502        _req: crate::model::global_operations::GetRequest,
503        _options: crate::RequestOptions,
504    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
505    {
506        gaxi::unimplemented::unimplemented_stub()
507    }
508
509    /// Returns the polling error policy.
510    ///
511    /// When mocking, this method is typically irrelevant. Do not try to verify
512    /// it is called by your mocks.
513    fn get_polling_error_policy(
514        &self,
515        _options: &crate::RequestOptions,
516    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
517        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
518    }
519
520    /// Returns the polling backoff policy.
521    ///
522    /// When mocking, this method is typically irrelevant. Do not try to verify
523    /// it is called by your mocks.
524    fn get_polling_backoff_policy(
525        &self,
526        _options: &crate::RequestOptions,
527    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
528        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
529    }
530}
531
532/// Defines the trait used to implement [super::client::BackendServices].
533///
534/// Application developers may need to implement this trait to mock
535/// `client::BackendServices`.  In other use-cases, application developers only
536/// use `client::BackendServices` and need not be concerned with this trait or
537/// its implementations.
538///
539/// Services gain new RPCs routinely. Consequently, this trait gains new methods
540/// too. To avoid breaking applications the trait provides a default
541/// implementation of each method. Most of these implementations just return an
542/// error.
543#[cfg(feature = "backend-services")]
544#[cfg_attr(docsrs, doc(cfg(feature = "backend-services")))]
545pub trait BackendServices: std::fmt::Debug + Send + Sync {
546    /// Implements [super::client::BackendServices::add_signed_url_key].
547    fn add_signed_url_key(
548        &self,
549        _req: crate::model::backend_services::AddSignedUrlKeyRequest,
550        _options: crate::RequestOptions,
551    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
552    {
553        gaxi::unimplemented::unimplemented_stub()
554    }
555
556    /// Implements [super::client::BackendServices::aggregated_list].
557    fn aggregated_list(
558        &self,
559        _req: crate::model::backend_services::AggregatedListRequest,
560        _options: crate::RequestOptions,
561    ) -> impl std::future::Future<
562        Output = crate::Result<crate::Response<crate::model::BackendServiceAggregatedList>>,
563    > + Send {
564        gaxi::unimplemented::unimplemented_stub()
565    }
566
567    /// Implements [super::client::BackendServices::delete].
568    fn delete(
569        &self,
570        _req: crate::model::backend_services::DeleteRequest,
571        _options: crate::RequestOptions,
572    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
573    {
574        gaxi::unimplemented::unimplemented_stub()
575    }
576
577    /// Implements [super::client::BackendServices::delete_signed_url_key].
578    fn delete_signed_url_key(
579        &self,
580        _req: crate::model::backend_services::DeleteSignedUrlKeyRequest,
581        _options: crate::RequestOptions,
582    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
583    {
584        gaxi::unimplemented::unimplemented_stub()
585    }
586
587    /// Implements [super::client::BackendServices::get].
588    fn get(
589        &self,
590        _req: crate::model::backend_services::GetRequest,
591        _options: crate::RequestOptions,
592    ) -> impl std::future::Future<
593        Output = crate::Result<crate::Response<crate::model::BackendService>>,
594    > + Send {
595        gaxi::unimplemented::unimplemented_stub()
596    }
597
598    /// Implements [super::client::BackendServices::get_effective_security_policies].
599    fn get_effective_security_policies(
600        &self,
601        _req: crate::model::backend_services::GetEffectiveSecurityPoliciesRequest,
602        _options: crate::RequestOptions,
603    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
604        gaxi::unimplemented::unimplemented_stub()
605    }
606
607    /// Implements [super::client::BackendServices::get_health].
608    fn get_health(
609        &self,
610        _req: crate::model::backend_services::GetHealthRequest,
611        _options: crate::RequestOptions,
612    ) -> impl std::future::Future<
613        Output = crate::Result<crate::Response<crate::model::BackendServiceGroupHealth>>,
614    > + Send {
615        gaxi::unimplemented::unimplemented_stub()
616    }
617
618    /// Implements [super::client::BackendServices::get_iam_policy].
619    fn get_iam_policy(
620        &self,
621        _req: crate::model::backend_services::GetIamPolicyRequest,
622        _options: crate::RequestOptions,
623    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
624    {
625        gaxi::unimplemented::unimplemented_stub()
626    }
627
628    /// Implements [super::client::BackendServices::insert].
629    fn insert(
630        &self,
631        _req: crate::model::backend_services::InsertRequest,
632        _options: crate::RequestOptions,
633    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
634    {
635        gaxi::unimplemented::unimplemented_stub()
636    }
637
638    /// Implements [super::client::BackendServices::list].
639    fn list(
640        &self,
641        _req: crate::model::backend_services::ListRequest,
642        _options: crate::RequestOptions,
643    ) -> impl std::future::Future<
644        Output = crate::Result<crate::Response<crate::model::BackendServiceList>>,
645    > + Send {
646        gaxi::unimplemented::unimplemented_stub()
647    }
648
649    /// Implements [super::client::BackendServices::list_usable].
650    fn list_usable(
651        &self,
652        _req: crate::model::backend_services::ListUsableRequest,
653        _options: crate::RequestOptions,
654    ) -> impl std::future::Future<
655        Output = crate::Result<crate::Response<crate::model::BackendServiceListUsable>>,
656    > + Send {
657        gaxi::unimplemented::unimplemented_stub()
658    }
659
660    /// Implements [super::client::BackendServices::patch].
661    fn patch(
662        &self,
663        _req: crate::model::backend_services::PatchRequest,
664        _options: crate::RequestOptions,
665    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
666    {
667        gaxi::unimplemented::unimplemented_stub()
668    }
669
670    /// Implements [super::client::BackendServices::set_edge_security_policy].
671    fn set_edge_security_policy(
672        &self,
673        _req: crate::model::backend_services::SetEdgeSecurityPolicyRequest,
674        _options: crate::RequestOptions,
675    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
676    {
677        gaxi::unimplemented::unimplemented_stub()
678    }
679
680    /// Implements [super::client::BackendServices::set_iam_policy].
681    fn set_iam_policy(
682        &self,
683        _req: crate::model::backend_services::SetIamPolicyRequest,
684        _options: crate::RequestOptions,
685    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
686    {
687        gaxi::unimplemented::unimplemented_stub()
688    }
689
690    /// Implements [super::client::BackendServices::set_security_policy].
691    fn set_security_policy(
692        &self,
693        _req: crate::model::backend_services::SetSecurityPolicyRequest,
694        _options: crate::RequestOptions,
695    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
696    {
697        gaxi::unimplemented::unimplemented_stub()
698    }
699
700    /// Implements [super::client::BackendServices::test_iam_permissions].
701    fn test_iam_permissions(
702        &self,
703        _req: crate::model::backend_services::TestIamPermissionsRequest,
704        _options: crate::RequestOptions,
705    ) -> impl std::future::Future<
706        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
707    > + Send {
708        gaxi::unimplemented::unimplemented_stub()
709    }
710
711    /// Implements [super::client::BackendServices::update].
712    fn update(
713        &self,
714        _req: crate::model::backend_services::UpdateRequest,
715        _options: crate::RequestOptions,
716    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
717    {
718        gaxi::unimplemented::unimplemented_stub()
719    }
720
721    /// Implements [super::client::BackendServices::get_operation].
722    fn get_operation(
723        &self,
724        _req: crate::model::global_operations::GetRequest,
725        _options: crate::RequestOptions,
726    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
727    {
728        gaxi::unimplemented::unimplemented_stub()
729    }
730
731    /// Returns the polling error policy.
732    ///
733    /// When mocking, this method is typically irrelevant. Do not try to verify
734    /// it is called by your mocks.
735    fn get_polling_error_policy(
736        &self,
737        _options: &crate::RequestOptions,
738    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
739        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
740    }
741
742    /// Returns the polling backoff policy.
743    ///
744    /// When mocking, this method is typically irrelevant. Do not try to verify
745    /// it is called by your mocks.
746    fn get_polling_backoff_policy(
747        &self,
748        _options: &crate::RequestOptions,
749    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
750        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
751    }
752}
753
754/// Defines the trait used to implement [super::client::CrossSiteNetworks].
755///
756/// Application developers may need to implement this trait to mock
757/// `client::CrossSiteNetworks`.  In other use-cases, application developers only
758/// use `client::CrossSiteNetworks` and need not be concerned with this trait or
759/// its implementations.
760///
761/// Services gain new RPCs routinely. Consequently, this trait gains new methods
762/// too. To avoid breaking applications the trait provides a default
763/// implementation of each method. Most of these implementations just return an
764/// error.
765#[cfg(feature = "cross-site-networks")]
766#[cfg_attr(docsrs, doc(cfg(feature = "cross-site-networks")))]
767pub trait CrossSiteNetworks: std::fmt::Debug + Send + Sync {
768    /// Implements [super::client::CrossSiteNetworks::delete].
769    fn delete(
770        &self,
771        _req: crate::model::cross_site_networks::DeleteRequest,
772        _options: crate::RequestOptions,
773    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
774    {
775        gaxi::unimplemented::unimplemented_stub()
776    }
777
778    /// Implements [super::client::CrossSiteNetworks::get].
779    fn get(
780        &self,
781        _req: crate::model::cross_site_networks::GetRequest,
782        _options: crate::RequestOptions,
783    ) -> impl std::future::Future<
784        Output = crate::Result<crate::Response<crate::model::CrossSiteNetwork>>,
785    > + Send {
786        gaxi::unimplemented::unimplemented_stub()
787    }
788
789    /// Implements [super::client::CrossSiteNetworks::insert].
790    fn insert(
791        &self,
792        _req: crate::model::cross_site_networks::InsertRequest,
793        _options: crate::RequestOptions,
794    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
795    {
796        gaxi::unimplemented::unimplemented_stub()
797    }
798
799    /// Implements [super::client::CrossSiteNetworks::list].
800    fn list(
801        &self,
802        _req: crate::model::cross_site_networks::ListRequest,
803        _options: crate::RequestOptions,
804    ) -> impl std::future::Future<
805        Output = crate::Result<crate::Response<crate::model::CrossSiteNetworkList>>,
806    > + Send {
807        gaxi::unimplemented::unimplemented_stub()
808    }
809
810    /// Implements [super::client::CrossSiteNetworks::patch].
811    fn patch(
812        &self,
813        _req: crate::model::cross_site_networks::PatchRequest,
814        _options: crate::RequestOptions,
815    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
816    {
817        gaxi::unimplemented::unimplemented_stub()
818    }
819
820    /// Implements [super::client::CrossSiteNetworks::get_operation].
821    fn get_operation(
822        &self,
823        _req: crate::model::global_operations::GetRequest,
824        _options: crate::RequestOptions,
825    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
826    {
827        gaxi::unimplemented::unimplemented_stub()
828    }
829
830    /// Returns the polling error policy.
831    ///
832    /// When mocking, this method is typically irrelevant. Do not try to verify
833    /// it is called by your mocks.
834    fn get_polling_error_policy(
835        &self,
836        _options: &crate::RequestOptions,
837    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
838        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
839    }
840
841    /// Returns the polling backoff policy.
842    ///
843    /// When mocking, this method is typically irrelevant. Do not try to verify
844    /// it is called by your mocks.
845    fn get_polling_backoff_policy(
846        &self,
847        _options: &crate::RequestOptions,
848    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
849        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
850    }
851}
852
853/// Defines the trait used to implement [super::client::DiskTypes].
854///
855/// Application developers may need to implement this trait to mock
856/// `client::DiskTypes`.  In other use-cases, application developers only
857/// use `client::DiskTypes` and need not be concerned with this trait or
858/// its implementations.
859///
860/// Services gain new RPCs routinely. Consequently, this trait gains new methods
861/// too. To avoid breaking applications the trait provides a default
862/// implementation of each method. Most of these implementations just return an
863/// error.
864#[cfg(feature = "disk-types")]
865#[cfg_attr(docsrs, doc(cfg(feature = "disk-types")))]
866pub trait DiskTypes: std::fmt::Debug + Send + Sync {
867    /// Implements [super::client::DiskTypes::aggregated_list].
868    fn aggregated_list(
869        &self,
870        _req: crate::model::disk_types::AggregatedListRequest,
871        _options: crate::RequestOptions,
872    ) -> impl std::future::Future<
873        Output = crate::Result<crate::Response<crate::model::DiskTypeAggregatedList>>,
874    > + Send {
875        gaxi::unimplemented::unimplemented_stub()
876    }
877
878    /// Implements [super::client::DiskTypes::get].
879    fn get(
880        &self,
881        _req: crate::model::disk_types::GetRequest,
882        _options: crate::RequestOptions,
883    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskType>>> + Send
884    {
885        gaxi::unimplemented::unimplemented_stub()
886    }
887
888    /// Implements [super::client::DiskTypes::list].
889    fn list(
890        &self,
891        _req: crate::model::disk_types::ListRequest,
892        _options: crate::RequestOptions,
893    ) -> impl std::future::Future<
894        Output = crate::Result<crate::Response<crate::model::DiskTypeList>>,
895    > + Send {
896        gaxi::unimplemented::unimplemented_stub()
897    }
898}
899
900/// Defines the trait used to implement [super::client::Disks].
901///
902/// Application developers may need to implement this trait to mock
903/// `client::Disks`.  In other use-cases, application developers only
904/// use `client::Disks` and need not be concerned with this trait or
905/// its implementations.
906///
907/// Services gain new RPCs routinely. Consequently, this trait gains new methods
908/// too. To avoid breaking applications the trait provides a default
909/// implementation of each method. Most of these implementations just return an
910/// error.
911#[cfg(feature = "disks")]
912#[cfg_attr(docsrs, doc(cfg(feature = "disks")))]
913pub trait Disks: std::fmt::Debug + Send + Sync {
914    /// Implements [super::client::Disks::add_resource_policies].
915    fn add_resource_policies(
916        &self,
917        _req: crate::model::disks::AddResourcePoliciesRequest,
918        _options: crate::RequestOptions,
919    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
920    {
921        gaxi::unimplemented::unimplemented_stub()
922    }
923
924    /// Implements [super::client::Disks::aggregated_list].
925    fn aggregated_list(
926        &self,
927        _req: crate::model::disks::AggregatedListRequest,
928        _options: crate::RequestOptions,
929    ) -> impl std::future::Future<
930        Output = crate::Result<crate::Response<crate::model::DiskAggregatedList>>,
931    > + Send {
932        gaxi::unimplemented::unimplemented_stub()
933    }
934
935    /// Implements [super::client::Disks::bulk_insert].
936    fn bulk_insert(
937        &self,
938        _req: crate::model::disks::BulkInsertRequest,
939        _options: crate::RequestOptions,
940    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
941    {
942        gaxi::unimplemented::unimplemented_stub()
943    }
944
945    /// Implements [super::client::Disks::bulk_set_labels].
946    fn bulk_set_labels(
947        &self,
948        _req: crate::model::disks::BulkSetLabelsRequest,
949        _options: crate::RequestOptions,
950    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
951    {
952        gaxi::unimplemented::unimplemented_stub()
953    }
954
955    /// Implements [super::client::Disks::create_snapshot].
956    fn create_snapshot(
957        &self,
958        _req: crate::model::disks::CreateSnapshotRequest,
959        _options: crate::RequestOptions,
960    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
961    {
962        gaxi::unimplemented::unimplemented_stub()
963    }
964
965    /// Implements [super::client::Disks::delete].
966    fn delete(
967        &self,
968        _req: crate::model::disks::DeleteRequest,
969        _options: crate::RequestOptions,
970    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
971    {
972        gaxi::unimplemented::unimplemented_stub()
973    }
974
975    /// Implements [super::client::Disks::get].
976    fn get(
977        &self,
978        _req: crate::model::disks::GetRequest,
979        _options: crate::RequestOptions,
980    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Disk>>> + Send
981    {
982        gaxi::unimplemented::unimplemented_stub()
983    }
984
985    /// Implements [super::client::Disks::get_iam_policy].
986    fn get_iam_policy(
987        &self,
988        _req: crate::model::disks::GetIamPolicyRequest,
989        _options: crate::RequestOptions,
990    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
991    {
992        gaxi::unimplemented::unimplemented_stub()
993    }
994
995    /// Implements [super::client::Disks::insert].
996    fn insert(
997        &self,
998        _req: crate::model::disks::InsertRequest,
999        _options: crate::RequestOptions,
1000    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1001    {
1002        gaxi::unimplemented::unimplemented_stub()
1003    }
1004
1005    /// Implements [super::client::Disks::list].
1006    fn list(
1007        &self,
1008        _req: crate::model::disks::ListRequest,
1009        _options: crate::RequestOptions,
1010    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskList>>> + Send
1011    {
1012        gaxi::unimplemented::unimplemented_stub()
1013    }
1014
1015    /// Implements [super::client::Disks::remove_resource_policies].
1016    fn remove_resource_policies(
1017        &self,
1018        _req: crate::model::disks::RemoveResourcePoliciesRequest,
1019        _options: crate::RequestOptions,
1020    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1021    {
1022        gaxi::unimplemented::unimplemented_stub()
1023    }
1024
1025    /// Implements [super::client::Disks::resize].
1026    fn resize(
1027        &self,
1028        _req: crate::model::disks::ResizeRequest,
1029        _options: crate::RequestOptions,
1030    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1031    {
1032        gaxi::unimplemented::unimplemented_stub()
1033    }
1034
1035    /// Implements [super::client::Disks::set_iam_policy].
1036    fn set_iam_policy(
1037        &self,
1038        _req: crate::model::disks::SetIamPolicyRequest,
1039        _options: crate::RequestOptions,
1040    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1041    {
1042        gaxi::unimplemented::unimplemented_stub()
1043    }
1044
1045    /// Implements [super::client::Disks::set_labels].
1046    fn set_labels(
1047        &self,
1048        _req: crate::model::disks::SetLabelsRequest,
1049        _options: crate::RequestOptions,
1050    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1051    {
1052        gaxi::unimplemented::unimplemented_stub()
1053    }
1054
1055    /// Implements [super::client::Disks::start_async_replication].
1056    fn start_async_replication(
1057        &self,
1058        _req: crate::model::disks::StartAsyncReplicationRequest,
1059        _options: crate::RequestOptions,
1060    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1061    {
1062        gaxi::unimplemented::unimplemented_stub()
1063    }
1064
1065    /// Implements [super::client::Disks::stop_async_replication].
1066    fn stop_async_replication(
1067        &self,
1068        _req: crate::model::disks::StopAsyncReplicationRequest,
1069        _options: crate::RequestOptions,
1070    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1071    {
1072        gaxi::unimplemented::unimplemented_stub()
1073    }
1074
1075    /// Implements [super::client::Disks::stop_group_async_replication].
1076    fn stop_group_async_replication(
1077        &self,
1078        _req: crate::model::disks::StopGroupAsyncReplicationRequest,
1079        _options: crate::RequestOptions,
1080    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1081    {
1082        gaxi::unimplemented::unimplemented_stub()
1083    }
1084
1085    /// Implements [super::client::Disks::test_iam_permissions].
1086    fn test_iam_permissions(
1087        &self,
1088        _req: crate::model::disks::TestIamPermissionsRequest,
1089        _options: crate::RequestOptions,
1090    ) -> impl std::future::Future<
1091        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1092    > + Send {
1093        gaxi::unimplemented::unimplemented_stub()
1094    }
1095
1096    /// Implements [super::client::Disks::update].
1097    fn update(
1098        &self,
1099        _req: crate::model::disks::UpdateRequest,
1100        _options: crate::RequestOptions,
1101    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1102    {
1103        gaxi::unimplemented::unimplemented_stub()
1104    }
1105
1106    /// Implements [super::client::Disks::get_operation].
1107    fn get_operation(
1108        &self,
1109        _req: crate::model::zone_operations::GetRequest,
1110        _options: crate::RequestOptions,
1111    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1112    {
1113        gaxi::unimplemented::unimplemented_stub()
1114    }
1115
1116    /// Returns the polling error policy.
1117    ///
1118    /// When mocking, this method is typically irrelevant. Do not try to verify
1119    /// it is called by your mocks.
1120    fn get_polling_error_policy(
1121        &self,
1122        _options: &crate::RequestOptions,
1123    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1124        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1125    }
1126
1127    /// Returns the polling backoff policy.
1128    ///
1129    /// When mocking, this method is typically irrelevant. Do not try to verify
1130    /// it is called by your mocks.
1131    fn get_polling_backoff_policy(
1132        &self,
1133        _options: &crate::RequestOptions,
1134    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1135        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1136    }
1137}
1138
1139/// Defines the trait used to implement [super::client::ExternalVpnGateways].
1140///
1141/// Application developers may need to implement this trait to mock
1142/// `client::ExternalVpnGateways`.  In other use-cases, application developers only
1143/// use `client::ExternalVpnGateways` and need not be concerned with this trait or
1144/// its implementations.
1145///
1146/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1147/// too. To avoid breaking applications the trait provides a default
1148/// implementation of each method. Most of these implementations just return an
1149/// error.
1150#[cfg(feature = "external-vpn-gateways")]
1151#[cfg_attr(docsrs, doc(cfg(feature = "external-vpn-gateways")))]
1152pub trait ExternalVpnGateways: std::fmt::Debug + Send + Sync {
1153    /// Implements [super::client::ExternalVpnGateways::delete].
1154    fn delete(
1155        &self,
1156        _req: crate::model::external_vpn_gateways::DeleteRequest,
1157        _options: crate::RequestOptions,
1158    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1159    {
1160        gaxi::unimplemented::unimplemented_stub()
1161    }
1162
1163    /// Implements [super::client::ExternalVpnGateways::get].
1164    fn get(
1165        &self,
1166        _req: crate::model::external_vpn_gateways::GetRequest,
1167        _options: crate::RequestOptions,
1168    ) -> impl std::future::Future<
1169        Output = crate::Result<crate::Response<crate::model::ExternalVpnGateway>>,
1170    > + Send {
1171        gaxi::unimplemented::unimplemented_stub()
1172    }
1173
1174    /// Implements [super::client::ExternalVpnGateways::insert].
1175    fn insert(
1176        &self,
1177        _req: crate::model::external_vpn_gateways::InsertRequest,
1178        _options: crate::RequestOptions,
1179    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1180    {
1181        gaxi::unimplemented::unimplemented_stub()
1182    }
1183
1184    /// Implements [super::client::ExternalVpnGateways::list].
1185    fn list(
1186        &self,
1187        _req: crate::model::external_vpn_gateways::ListRequest,
1188        _options: crate::RequestOptions,
1189    ) -> impl std::future::Future<
1190        Output = crate::Result<crate::Response<crate::model::ExternalVpnGatewayList>>,
1191    > + Send {
1192        gaxi::unimplemented::unimplemented_stub()
1193    }
1194
1195    /// Implements [super::client::ExternalVpnGateways::set_labels].
1196    fn set_labels(
1197        &self,
1198        _req: crate::model::external_vpn_gateways::SetLabelsRequest,
1199        _options: crate::RequestOptions,
1200    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1201    {
1202        gaxi::unimplemented::unimplemented_stub()
1203    }
1204
1205    /// Implements [super::client::ExternalVpnGateways::test_iam_permissions].
1206    fn test_iam_permissions(
1207        &self,
1208        _req: crate::model::external_vpn_gateways::TestIamPermissionsRequest,
1209        _options: crate::RequestOptions,
1210    ) -> impl std::future::Future<
1211        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1212    > + Send {
1213        gaxi::unimplemented::unimplemented_stub()
1214    }
1215
1216    /// Implements [super::client::ExternalVpnGateways::get_operation].
1217    fn get_operation(
1218        &self,
1219        _req: crate::model::global_operations::GetRequest,
1220        _options: crate::RequestOptions,
1221    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1222    {
1223        gaxi::unimplemented::unimplemented_stub()
1224    }
1225
1226    /// Returns the polling error policy.
1227    ///
1228    /// When mocking, this method is typically irrelevant. Do not try to verify
1229    /// it is called by your mocks.
1230    fn get_polling_error_policy(
1231        &self,
1232        _options: &crate::RequestOptions,
1233    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1234        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1235    }
1236
1237    /// Returns the polling backoff policy.
1238    ///
1239    /// When mocking, this method is typically irrelevant. Do not try to verify
1240    /// it is called by your mocks.
1241    fn get_polling_backoff_policy(
1242        &self,
1243        _options: &crate::RequestOptions,
1244    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1245        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1246    }
1247}
1248
1249/// Defines the trait used to implement [super::client::FirewallPolicies].
1250///
1251/// Application developers may need to implement this trait to mock
1252/// `client::FirewallPolicies`.  In other use-cases, application developers only
1253/// use `client::FirewallPolicies` and need not be concerned with this trait or
1254/// its implementations.
1255///
1256/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1257/// too. To avoid breaking applications the trait provides a default
1258/// implementation of each method. Most of these implementations just return an
1259/// error.
1260#[cfg(feature = "firewall-policies")]
1261#[cfg_attr(docsrs, doc(cfg(feature = "firewall-policies")))]
1262pub trait FirewallPolicies: std::fmt::Debug + Send + Sync {
1263    /// Implements [super::client::FirewallPolicies::add_association].
1264    fn add_association(
1265        &self,
1266        _req: crate::model::firewall_policies::AddAssociationRequest,
1267        _options: crate::RequestOptions,
1268    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1269    {
1270        gaxi::unimplemented::unimplemented_stub()
1271    }
1272
1273    /// Implements [super::client::FirewallPolicies::add_rule].
1274    fn add_rule(
1275        &self,
1276        _req: crate::model::firewall_policies::AddRuleRequest,
1277        _options: crate::RequestOptions,
1278    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1279    {
1280        gaxi::unimplemented::unimplemented_stub()
1281    }
1282
1283    /// Implements [super::client::FirewallPolicies::clone_rules].
1284    fn clone_rules(
1285        &self,
1286        _req: crate::model::firewall_policies::CloneRulesRequest,
1287        _options: crate::RequestOptions,
1288    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1289    {
1290        gaxi::unimplemented::unimplemented_stub()
1291    }
1292
1293    /// Implements [super::client::FirewallPolicies::delete].
1294    fn delete(
1295        &self,
1296        _req: crate::model::firewall_policies::DeleteRequest,
1297        _options: crate::RequestOptions,
1298    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1299    {
1300        gaxi::unimplemented::unimplemented_stub()
1301    }
1302
1303    /// Implements [super::client::FirewallPolicies::get].
1304    fn get(
1305        &self,
1306        _req: crate::model::firewall_policies::GetRequest,
1307        _options: crate::RequestOptions,
1308    ) -> impl std::future::Future<
1309        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
1310    > + Send {
1311        gaxi::unimplemented::unimplemented_stub()
1312    }
1313
1314    /// Implements [super::client::FirewallPolicies::get_association].
1315    fn get_association(
1316        &self,
1317        _req: crate::model::firewall_policies::GetAssociationRequest,
1318        _options: crate::RequestOptions,
1319    ) -> impl std::future::Future<
1320        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
1321    > + Send {
1322        gaxi::unimplemented::unimplemented_stub()
1323    }
1324
1325    /// Implements [super::client::FirewallPolicies::get_iam_policy].
1326    fn get_iam_policy(
1327        &self,
1328        _req: crate::model::firewall_policies::GetIamPolicyRequest,
1329        _options: crate::RequestOptions,
1330    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1331    {
1332        gaxi::unimplemented::unimplemented_stub()
1333    }
1334
1335    /// Implements [super::client::FirewallPolicies::get_rule].
1336    fn get_rule(
1337        &self,
1338        _req: crate::model::firewall_policies::GetRuleRequest,
1339        _options: crate::RequestOptions,
1340    ) -> impl std::future::Future<
1341        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
1342    > + Send {
1343        gaxi::unimplemented::unimplemented_stub()
1344    }
1345
1346    /// Implements [super::client::FirewallPolicies::insert].
1347    fn insert(
1348        &self,
1349        _req: crate::model::firewall_policies::InsertRequest,
1350        _options: crate::RequestOptions,
1351    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1352    {
1353        gaxi::unimplemented::unimplemented_stub()
1354    }
1355
1356    /// Implements [super::client::FirewallPolicies::list].
1357    fn list(
1358        &self,
1359        _req: crate::model::firewall_policies::ListRequest,
1360        _options: crate::RequestOptions,
1361    ) -> impl std::future::Future<
1362        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
1363    > + Send {
1364        gaxi::unimplemented::unimplemented_stub()
1365    }
1366
1367    /// Implements [super::client::FirewallPolicies::list_associations].
1368    fn list_associations(
1369        &self,
1370        _req: crate::model::firewall_policies::ListAssociationsRequest,
1371        _options: crate::RequestOptions,
1372    ) -> impl std::future::Future<
1373        Output = crate::Result<
1374            crate::Response<crate::model::FirewallPoliciesListAssociationsResponse>,
1375        >,
1376    > + Send {
1377        gaxi::unimplemented::unimplemented_stub()
1378    }
1379
1380    /// Implements [super::client::FirewallPolicies::r#move].
1381    fn r#move(
1382        &self,
1383        _req: crate::model::firewall_policies::MoveRequest,
1384        _options: crate::RequestOptions,
1385    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1386    {
1387        gaxi::unimplemented::unimplemented_stub()
1388    }
1389
1390    /// Implements [super::client::FirewallPolicies::patch].
1391    fn patch(
1392        &self,
1393        _req: crate::model::firewall_policies::PatchRequest,
1394        _options: crate::RequestOptions,
1395    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1396    {
1397        gaxi::unimplemented::unimplemented_stub()
1398    }
1399
1400    /// Implements [super::client::FirewallPolicies::patch_rule].
1401    fn patch_rule(
1402        &self,
1403        _req: crate::model::firewall_policies::PatchRuleRequest,
1404        _options: crate::RequestOptions,
1405    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1406    {
1407        gaxi::unimplemented::unimplemented_stub()
1408    }
1409
1410    /// Implements [super::client::FirewallPolicies::remove_association].
1411    fn remove_association(
1412        &self,
1413        _req: crate::model::firewall_policies::RemoveAssociationRequest,
1414        _options: crate::RequestOptions,
1415    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1416    {
1417        gaxi::unimplemented::unimplemented_stub()
1418    }
1419
1420    /// Implements [super::client::FirewallPolicies::remove_rule].
1421    fn remove_rule(
1422        &self,
1423        _req: crate::model::firewall_policies::RemoveRuleRequest,
1424        _options: crate::RequestOptions,
1425    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1426    {
1427        gaxi::unimplemented::unimplemented_stub()
1428    }
1429
1430    /// Implements [super::client::FirewallPolicies::set_iam_policy].
1431    fn set_iam_policy(
1432        &self,
1433        _req: crate::model::firewall_policies::SetIamPolicyRequest,
1434        _options: crate::RequestOptions,
1435    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1436    {
1437        gaxi::unimplemented::unimplemented_stub()
1438    }
1439
1440    /// Implements [super::client::FirewallPolicies::test_iam_permissions].
1441    fn test_iam_permissions(
1442        &self,
1443        _req: crate::model::firewall_policies::TestIamPermissionsRequest,
1444        _options: crate::RequestOptions,
1445    ) -> impl std::future::Future<
1446        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1447    > + Send {
1448        gaxi::unimplemented::unimplemented_stub()
1449    }
1450
1451    /// Implements [super::client::FirewallPolicies::get_operation].
1452    fn get_operation(
1453        &self,
1454        _req: crate::model::global_organization_operations::GetRequest,
1455        _options: crate::RequestOptions,
1456    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1457    {
1458        gaxi::unimplemented::unimplemented_stub()
1459    }
1460
1461    /// Returns the polling error policy.
1462    ///
1463    /// When mocking, this method is typically irrelevant. Do not try to verify
1464    /// it is called by your mocks.
1465    fn get_polling_error_policy(
1466        &self,
1467        _options: &crate::RequestOptions,
1468    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1469        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1470    }
1471
1472    /// Returns the polling backoff policy.
1473    ///
1474    /// When mocking, this method is typically irrelevant. Do not try to verify
1475    /// it is called by your mocks.
1476    fn get_polling_backoff_policy(
1477        &self,
1478        _options: &crate::RequestOptions,
1479    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1480        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1481    }
1482}
1483
1484/// Defines the trait used to implement [super::client::Firewalls].
1485///
1486/// Application developers may need to implement this trait to mock
1487/// `client::Firewalls`.  In other use-cases, application developers only
1488/// use `client::Firewalls` and need not be concerned with this trait or
1489/// its implementations.
1490///
1491/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1492/// too. To avoid breaking applications the trait provides a default
1493/// implementation of each method. Most of these implementations just return an
1494/// error.
1495#[cfg(feature = "firewalls")]
1496#[cfg_attr(docsrs, doc(cfg(feature = "firewalls")))]
1497pub trait Firewalls: std::fmt::Debug + Send + Sync {
1498    /// Implements [super::client::Firewalls::delete].
1499    fn delete(
1500        &self,
1501        _req: crate::model::firewalls::DeleteRequest,
1502        _options: crate::RequestOptions,
1503    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1504    {
1505        gaxi::unimplemented::unimplemented_stub()
1506    }
1507
1508    /// Implements [super::client::Firewalls::get].
1509    fn get(
1510        &self,
1511        _req: crate::model::firewalls::GetRequest,
1512        _options: crate::RequestOptions,
1513    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Firewall>>> + Send
1514    {
1515        gaxi::unimplemented::unimplemented_stub()
1516    }
1517
1518    /// Implements [super::client::Firewalls::insert].
1519    fn insert(
1520        &self,
1521        _req: crate::model::firewalls::InsertRequest,
1522        _options: crate::RequestOptions,
1523    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1524    {
1525        gaxi::unimplemented::unimplemented_stub()
1526    }
1527
1528    /// Implements [super::client::Firewalls::list].
1529    fn list(
1530        &self,
1531        _req: crate::model::firewalls::ListRequest,
1532        _options: crate::RequestOptions,
1533    ) -> impl std::future::Future<
1534        Output = crate::Result<crate::Response<crate::model::FirewallList>>,
1535    > + Send {
1536        gaxi::unimplemented::unimplemented_stub()
1537    }
1538
1539    /// Implements [super::client::Firewalls::patch].
1540    fn patch(
1541        &self,
1542        _req: crate::model::firewalls::PatchRequest,
1543        _options: crate::RequestOptions,
1544    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1545    {
1546        gaxi::unimplemented::unimplemented_stub()
1547    }
1548
1549    /// Implements [super::client::Firewalls::test_iam_permissions].
1550    fn test_iam_permissions(
1551        &self,
1552        _req: crate::model::firewalls::TestIamPermissionsRequest,
1553        _options: crate::RequestOptions,
1554    ) -> impl std::future::Future<
1555        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1556    > + Send {
1557        gaxi::unimplemented::unimplemented_stub()
1558    }
1559
1560    /// Implements [super::client::Firewalls::update].
1561    fn update(
1562        &self,
1563        _req: crate::model::firewalls::UpdateRequest,
1564        _options: crate::RequestOptions,
1565    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1566    {
1567        gaxi::unimplemented::unimplemented_stub()
1568    }
1569
1570    /// Implements [super::client::Firewalls::get_operation].
1571    fn get_operation(
1572        &self,
1573        _req: crate::model::global_operations::GetRequest,
1574        _options: crate::RequestOptions,
1575    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1576    {
1577        gaxi::unimplemented::unimplemented_stub()
1578    }
1579
1580    /// Returns the polling error policy.
1581    ///
1582    /// When mocking, this method is typically irrelevant. Do not try to verify
1583    /// it is called by your mocks.
1584    fn get_polling_error_policy(
1585        &self,
1586        _options: &crate::RequestOptions,
1587    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1588        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1589    }
1590
1591    /// Returns the polling backoff policy.
1592    ///
1593    /// When mocking, this method is typically irrelevant. Do not try to verify
1594    /// it is called by your mocks.
1595    fn get_polling_backoff_policy(
1596        &self,
1597        _options: &crate::RequestOptions,
1598    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1599        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1600    }
1601}
1602
1603/// Defines the trait used to implement [super::client::ForwardingRules].
1604///
1605/// Application developers may need to implement this trait to mock
1606/// `client::ForwardingRules`.  In other use-cases, application developers only
1607/// use `client::ForwardingRules` and need not be concerned with this trait or
1608/// its implementations.
1609///
1610/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1611/// too. To avoid breaking applications the trait provides a default
1612/// implementation of each method. Most of these implementations just return an
1613/// error.
1614#[cfg(feature = "forwarding-rules")]
1615#[cfg_attr(docsrs, doc(cfg(feature = "forwarding-rules")))]
1616pub trait ForwardingRules: std::fmt::Debug + Send + Sync {
1617    /// Implements [super::client::ForwardingRules::aggregated_list].
1618    fn aggregated_list(
1619        &self,
1620        _req: crate::model::forwarding_rules::AggregatedListRequest,
1621        _options: crate::RequestOptions,
1622    ) -> impl std::future::Future<
1623        Output = crate::Result<crate::Response<crate::model::ForwardingRuleAggregatedList>>,
1624    > + Send {
1625        gaxi::unimplemented::unimplemented_stub()
1626    }
1627
1628    /// Implements [super::client::ForwardingRules::delete].
1629    fn delete(
1630        &self,
1631        _req: crate::model::forwarding_rules::DeleteRequest,
1632        _options: crate::RequestOptions,
1633    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1634    {
1635        gaxi::unimplemented::unimplemented_stub()
1636    }
1637
1638    /// Implements [super::client::ForwardingRules::get].
1639    fn get(
1640        &self,
1641        _req: crate::model::forwarding_rules::GetRequest,
1642        _options: crate::RequestOptions,
1643    ) -> impl std::future::Future<
1644        Output = crate::Result<crate::Response<crate::model::ForwardingRule>>,
1645    > + Send {
1646        gaxi::unimplemented::unimplemented_stub()
1647    }
1648
1649    /// Implements [super::client::ForwardingRules::insert].
1650    fn insert(
1651        &self,
1652        _req: crate::model::forwarding_rules::InsertRequest,
1653        _options: crate::RequestOptions,
1654    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1655    {
1656        gaxi::unimplemented::unimplemented_stub()
1657    }
1658
1659    /// Implements [super::client::ForwardingRules::list].
1660    fn list(
1661        &self,
1662        _req: crate::model::forwarding_rules::ListRequest,
1663        _options: crate::RequestOptions,
1664    ) -> impl std::future::Future<
1665        Output = crate::Result<crate::Response<crate::model::ForwardingRuleList>>,
1666    > + Send {
1667        gaxi::unimplemented::unimplemented_stub()
1668    }
1669
1670    /// Implements [super::client::ForwardingRules::patch].
1671    fn patch(
1672        &self,
1673        _req: crate::model::forwarding_rules::PatchRequest,
1674        _options: crate::RequestOptions,
1675    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1676    {
1677        gaxi::unimplemented::unimplemented_stub()
1678    }
1679
1680    /// Implements [super::client::ForwardingRules::set_labels].
1681    fn set_labels(
1682        &self,
1683        _req: crate::model::forwarding_rules::SetLabelsRequest,
1684        _options: crate::RequestOptions,
1685    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1686    {
1687        gaxi::unimplemented::unimplemented_stub()
1688    }
1689
1690    /// Implements [super::client::ForwardingRules::set_target].
1691    fn set_target(
1692        &self,
1693        _req: crate::model::forwarding_rules::SetTargetRequest,
1694        _options: crate::RequestOptions,
1695    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1696    {
1697        gaxi::unimplemented::unimplemented_stub()
1698    }
1699
1700    /// Implements [super::client::ForwardingRules::get_operation].
1701    fn get_operation(
1702        &self,
1703        _req: crate::model::region_operations::GetRequest,
1704        _options: crate::RequestOptions,
1705    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1706    {
1707        gaxi::unimplemented::unimplemented_stub()
1708    }
1709
1710    /// Returns the polling error policy.
1711    ///
1712    /// When mocking, this method is typically irrelevant. Do not try to verify
1713    /// it is called by your mocks.
1714    fn get_polling_error_policy(
1715        &self,
1716        _options: &crate::RequestOptions,
1717    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1718        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1719    }
1720
1721    /// Returns the polling backoff policy.
1722    ///
1723    /// When mocking, this method is typically irrelevant. Do not try to verify
1724    /// it is called by your mocks.
1725    fn get_polling_backoff_policy(
1726        &self,
1727        _options: &crate::RequestOptions,
1728    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1729        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1730    }
1731}
1732
1733/// Defines the trait used to implement [super::client::FutureReservations].
1734///
1735/// Application developers may need to implement this trait to mock
1736/// `client::FutureReservations`.  In other use-cases, application developers only
1737/// use `client::FutureReservations` and need not be concerned with this trait or
1738/// its implementations.
1739///
1740/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1741/// too. To avoid breaking applications the trait provides a default
1742/// implementation of each method. Most of these implementations just return an
1743/// error.
1744#[cfg(feature = "future-reservations")]
1745#[cfg_attr(docsrs, doc(cfg(feature = "future-reservations")))]
1746pub trait FutureReservations: std::fmt::Debug + Send + Sync {
1747    /// Implements [super::client::FutureReservations::aggregated_list].
1748    fn aggregated_list(
1749        &self,
1750        _req: crate::model::future_reservations::AggregatedListRequest,
1751        _options: crate::RequestOptions,
1752    ) -> impl std::future::Future<
1753        Output = crate::Result<
1754            crate::Response<crate::model::FutureReservationsAggregatedListResponse>,
1755        >,
1756    > + Send {
1757        gaxi::unimplemented::unimplemented_stub()
1758    }
1759
1760    /// Implements [super::client::FutureReservations::cancel].
1761    fn cancel(
1762        &self,
1763        _req: crate::model::future_reservations::CancelRequest,
1764        _options: crate::RequestOptions,
1765    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1766    {
1767        gaxi::unimplemented::unimplemented_stub()
1768    }
1769
1770    /// Implements [super::client::FutureReservations::delete].
1771    fn delete(
1772        &self,
1773        _req: crate::model::future_reservations::DeleteRequest,
1774        _options: crate::RequestOptions,
1775    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1776    {
1777        gaxi::unimplemented::unimplemented_stub()
1778    }
1779
1780    /// Implements [super::client::FutureReservations::get].
1781    fn get(
1782        &self,
1783        _req: crate::model::future_reservations::GetRequest,
1784        _options: crate::RequestOptions,
1785    ) -> impl std::future::Future<
1786        Output = crate::Result<crate::Response<crate::model::FutureReservation>>,
1787    > + Send {
1788        gaxi::unimplemented::unimplemented_stub()
1789    }
1790
1791    /// Implements [super::client::FutureReservations::insert].
1792    fn insert(
1793        &self,
1794        _req: crate::model::future_reservations::InsertRequest,
1795        _options: crate::RequestOptions,
1796    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1797    {
1798        gaxi::unimplemented::unimplemented_stub()
1799    }
1800
1801    /// Implements [super::client::FutureReservations::list].
1802    fn list(
1803        &self,
1804        _req: crate::model::future_reservations::ListRequest,
1805        _options: crate::RequestOptions,
1806    ) -> impl std::future::Future<
1807        Output = crate::Result<crate::Response<crate::model::FutureReservationsListResponse>>,
1808    > + Send {
1809        gaxi::unimplemented::unimplemented_stub()
1810    }
1811
1812    /// Implements [super::client::FutureReservations::update].
1813    fn update(
1814        &self,
1815        _req: crate::model::future_reservations::UpdateRequest,
1816        _options: crate::RequestOptions,
1817    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1818    {
1819        gaxi::unimplemented::unimplemented_stub()
1820    }
1821
1822    /// Implements [super::client::FutureReservations::get_operation].
1823    fn get_operation(
1824        &self,
1825        _req: crate::model::zone_operations::GetRequest,
1826        _options: crate::RequestOptions,
1827    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1828    {
1829        gaxi::unimplemented::unimplemented_stub()
1830    }
1831
1832    /// Returns the polling error policy.
1833    ///
1834    /// When mocking, this method is typically irrelevant. Do not try to verify
1835    /// it is called by your mocks.
1836    fn get_polling_error_policy(
1837        &self,
1838        _options: &crate::RequestOptions,
1839    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1840        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1841    }
1842
1843    /// Returns the polling backoff policy.
1844    ///
1845    /// When mocking, this method is typically irrelevant. Do not try to verify
1846    /// it is called by your mocks.
1847    fn get_polling_backoff_policy(
1848        &self,
1849        _options: &crate::RequestOptions,
1850    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1851        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1852    }
1853}
1854
1855/// Defines the trait used to implement [super::client::GlobalAddresses].
1856///
1857/// Application developers may need to implement this trait to mock
1858/// `client::GlobalAddresses`.  In other use-cases, application developers only
1859/// use `client::GlobalAddresses` and need not be concerned with this trait or
1860/// its implementations.
1861///
1862/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1863/// too. To avoid breaking applications the trait provides a default
1864/// implementation of each method. Most of these implementations just return an
1865/// error.
1866#[cfg(feature = "global-addresses")]
1867#[cfg_attr(docsrs, doc(cfg(feature = "global-addresses")))]
1868pub trait GlobalAddresses: std::fmt::Debug + Send + Sync {
1869    /// Implements [super::client::GlobalAddresses::delete].
1870    fn delete(
1871        &self,
1872        _req: crate::model::global_addresses::DeleteRequest,
1873        _options: crate::RequestOptions,
1874    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1875    {
1876        gaxi::unimplemented::unimplemented_stub()
1877    }
1878
1879    /// Implements [super::client::GlobalAddresses::get].
1880    fn get(
1881        &self,
1882        _req: crate::model::global_addresses::GetRequest,
1883        _options: crate::RequestOptions,
1884    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Address>>> + Send
1885    {
1886        gaxi::unimplemented::unimplemented_stub()
1887    }
1888
1889    /// Implements [super::client::GlobalAddresses::insert].
1890    fn insert(
1891        &self,
1892        _req: crate::model::global_addresses::InsertRequest,
1893        _options: crate::RequestOptions,
1894    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1895    {
1896        gaxi::unimplemented::unimplemented_stub()
1897    }
1898
1899    /// Implements [super::client::GlobalAddresses::list].
1900    fn list(
1901        &self,
1902        _req: crate::model::global_addresses::ListRequest,
1903        _options: crate::RequestOptions,
1904    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::AddressList>>>
1905    + Send {
1906        gaxi::unimplemented::unimplemented_stub()
1907    }
1908
1909    /// Implements [super::client::GlobalAddresses::r#move].
1910    fn r#move(
1911        &self,
1912        _req: crate::model::global_addresses::MoveRequest,
1913        _options: crate::RequestOptions,
1914    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1915    {
1916        gaxi::unimplemented::unimplemented_stub()
1917    }
1918
1919    /// Implements [super::client::GlobalAddresses::set_labels].
1920    fn set_labels(
1921        &self,
1922        _req: crate::model::global_addresses::SetLabelsRequest,
1923        _options: crate::RequestOptions,
1924    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1925    {
1926        gaxi::unimplemented::unimplemented_stub()
1927    }
1928
1929    /// Implements [super::client::GlobalAddresses::test_iam_permissions].
1930    fn test_iam_permissions(
1931        &self,
1932        _req: crate::model::global_addresses::TestIamPermissionsRequest,
1933        _options: crate::RequestOptions,
1934    ) -> impl std::future::Future<
1935        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1936    > + Send {
1937        gaxi::unimplemented::unimplemented_stub()
1938    }
1939
1940    /// Implements [super::client::GlobalAddresses::get_operation].
1941    fn get_operation(
1942        &self,
1943        _req: crate::model::global_operations::GetRequest,
1944        _options: crate::RequestOptions,
1945    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1946    {
1947        gaxi::unimplemented::unimplemented_stub()
1948    }
1949
1950    /// Returns the polling error policy.
1951    ///
1952    /// When mocking, this method is typically irrelevant. Do not try to verify
1953    /// it is called by your mocks.
1954    fn get_polling_error_policy(
1955        &self,
1956        _options: &crate::RequestOptions,
1957    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1958        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1959    }
1960
1961    /// Returns the polling backoff policy.
1962    ///
1963    /// When mocking, this method is typically irrelevant. Do not try to verify
1964    /// it is called by your mocks.
1965    fn get_polling_backoff_policy(
1966        &self,
1967        _options: &crate::RequestOptions,
1968    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1969        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1970    }
1971}
1972
1973/// Defines the trait used to implement [super::client::GlobalForwardingRules].
1974///
1975/// Application developers may need to implement this trait to mock
1976/// `client::GlobalForwardingRules`.  In other use-cases, application developers only
1977/// use `client::GlobalForwardingRules` and need not be concerned with this trait or
1978/// its implementations.
1979///
1980/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1981/// too. To avoid breaking applications the trait provides a default
1982/// implementation of each method. Most of these implementations just return an
1983/// error.
1984#[cfg(feature = "global-forwarding-rules")]
1985#[cfg_attr(docsrs, doc(cfg(feature = "global-forwarding-rules")))]
1986pub trait GlobalForwardingRules: std::fmt::Debug + Send + Sync {
1987    /// Implements [super::client::GlobalForwardingRules::delete].
1988    fn delete(
1989        &self,
1990        _req: crate::model::global_forwarding_rules::DeleteRequest,
1991        _options: crate::RequestOptions,
1992    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1993    {
1994        gaxi::unimplemented::unimplemented_stub()
1995    }
1996
1997    /// Implements [super::client::GlobalForwardingRules::get].
1998    fn get(
1999        &self,
2000        _req: crate::model::global_forwarding_rules::GetRequest,
2001        _options: crate::RequestOptions,
2002    ) -> impl std::future::Future<
2003        Output = crate::Result<crate::Response<crate::model::ForwardingRule>>,
2004    > + Send {
2005        gaxi::unimplemented::unimplemented_stub()
2006    }
2007
2008    /// Implements [super::client::GlobalForwardingRules::insert].
2009    fn insert(
2010        &self,
2011        _req: crate::model::global_forwarding_rules::InsertRequest,
2012        _options: crate::RequestOptions,
2013    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2014    {
2015        gaxi::unimplemented::unimplemented_stub()
2016    }
2017
2018    /// Implements [super::client::GlobalForwardingRules::list].
2019    fn list(
2020        &self,
2021        _req: crate::model::global_forwarding_rules::ListRequest,
2022        _options: crate::RequestOptions,
2023    ) -> impl std::future::Future<
2024        Output = crate::Result<crate::Response<crate::model::ForwardingRuleList>>,
2025    > + Send {
2026        gaxi::unimplemented::unimplemented_stub()
2027    }
2028
2029    /// Implements [super::client::GlobalForwardingRules::patch].
2030    fn patch(
2031        &self,
2032        _req: crate::model::global_forwarding_rules::PatchRequest,
2033        _options: crate::RequestOptions,
2034    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2035    {
2036        gaxi::unimplemented::unimplemented_stub()
2037    }
2038
2039    /// Implements [super::client::GlobalForwardingRules::set_labels].
2040    fn set_labels(
2041        &self,
2042        _req: crate::model::global_forwarding_rules::SetLabelsRequest,
2043        _options: crate::RequestOptions,
2044    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2045    {
2046        gaxi::unimplemented::unimplemented_stub()
2047    }
2048
2049    /// Implements [super::client::GlobalForwardingRules::set_target].
2050    fn set_target(
2051        &self,
2052        _req: crate::model::global_forwarding_rules::SetTargetRequest,
2053        _options: crate::RequestOptions,
2054    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2055    {
2056        gaxi::unimplemented::unimplemented_stub()
2057    }
2058
2059    /// Implements [super::client::GlobalForwardingRules::get_operation].
2060    fn get_operation(
2061        &self,
2062        _req: crate::model::global_operations::GetRequest,
2063        _options: crate::RequestOptions,
2064    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2065    {
2066        gaxi::unimplemented::unimplemented_stub()
2067    }
2068
2069    /// Returns the polling error policy.
2070    ///
2071    /// When mocking, this method is typically irrelevant. Do not try to verify
2072    /// it is called by your mocks.
2073    fn get_polling_error_policy(
2074        &self,
2075        _options: &crate::RequestOptions,
2076    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2077        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2078    }
2079
2080    /// Returns the polling backoff policy.
2081    ///
2082    /// When mocking, this method is typically irrelevant. Do not try to verify
2083    /// it is called by your mocks.
2084    fn get_polling_backoff_policy(
2085        &self,
2086        _options: &crate::RequestOptions,
2087    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2088        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2089    }
2090}
2091
2092/// Defines the trait used to implement [super::client::GlobalNetworkEndpointGroups].
2093///
2094/// Application developers may need to implement this trait to mock
2095/// `client::GlobalNetworkEndpointGroups`.  In other use-cases, application developers only
2096/// use `client::GlobalNetworkEndpointGroups` and need not be concerned with this trait or
2097/// its implementations.
2098///
2099/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2100/// too. To avoid breaking applications the trait provides a default
2101/// implementation of each method. Most of these implementations just return an
2102/// error.
2103#[cfg(feature = "global-network-endpoint-groups")]
2104#[cfg_attr(docsrs, doc(cfg(feature = "global-network-endpoint-groups")))]
2105pub trait GlobalNetworkEndpointGroups: std::fmt::Debug + Send + Sync {
2106    /// Implements [super::client::GlobalNetworkEndpointGroups::attach_network_endpoints].
2107    fn attach_network_endpoints(
2108        &self,
2109        _req: crate::model::global_network_endpoint_groups::AttachNetworkEndpointsRequest,
2110        _options: crate::RequestOptions,
2111    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2112    {
2113        gaxi::unimplemented::unimplemented_stub()
2114    }
2115
2116    /// Implements [super::client::GlobalNetworkEndpointGroups::delete].
2117    fn delete(
2118        &self,
2119        _req: crate::model::global_network_endpoint_groups::DeleteRequest,
2120        _options: crate::RequestOptions,
2121    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2122    {
2123        gaxi::unimplemented::unimplemented_stub()
2124    }
2125
2126    /// Implements [super::client::GlobalNetworkEndpointGroups::detach_network_endpoints].
2127    fn detach_network_endpoints(
2128        &self,
2129        _req: crate::model::global_network_endpoint_groups::DetachNetworkEndpointsRequest,
2130        _options: crate::RequestOptions,
2131    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2132    {
2133        gaxi::unimplemented::unimplemented_stub()
2134    }
2135
2136    /// Implements [super::client::GlobalNetworkEndpointGroups::get].
2137    fn get(
2138        &self,
2139        _req: crate::model::global_network_endpoint_groups::GetRequest,
2140        _options: crate::RequestOptions,
2141    ) -> impl std::future::Future<
2142        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
2143    > + Send {
2144        gaxi::unimplemented::unimplemented_stub()
2145    }
2146
2147    /// Implements [super::client::GlobalNetworkEndpointGroups::insert].
2148    fn insert(
2149        &self,
2150        _req: crate::model::global_network_endpoint_groups::InsertRequest,
2151        _options: crate::RequestOptions,
2152    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2153    {
2154        gaxi::unimplemented::unimplemented_stub()
2155    }
2156
2157    /// Implements [super::client::GlobalNetworkEndpointGroups::list].
2158    fn list(
2159        &self,
2160        _req: crate::model::global_network_endpoint_groups::ListRequest,
2161        _options: crate::RequestOptions,
2162    ) -> impl std::future::Future<
2163        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
2164    > + Send {
2165        gaxi::unimplemented::unimplemented_stub()
2166    }
2167
2168    /// Implements [super::client::GlobalNetworkEndpointGroups::list_network_endpoints].
2169    fn list_network_endpoints(
2170        &self,
2171        _req: crate::model::global_network_endpoint_groups::ListNetworkEndpointsRequest,
2172        _options: crate::RequestOptions,
2173    ) -> impl std::future::Future<
2174        Output = crate::Result<
2175            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
2176        >,
2177    > + Send {
2178        gaxi::unimplemented::unimplemented_stub()
2179    }
2180
2181    /// Implements [super::client::GlobalNetworkEndpointGroups::get_operation].
2182    fn get_operation(
2183        &self,
2184        _req: crate::model::global_operations::GetRequest,
2185        _options: crate::RequestOptions,
2186    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2187    {
2188        gaxi::unimplemented::unimplemented_stub()
2189    }
2190
2191    /// Returns the polling error policy.
2192    ///
2193    /// When mocking, this method is typically irrelevant. Do not try to verify
2194    /// it is called by your mocks.
2195    fn get_polling_error_policy(
2196        &self,
2197        _options: &crate::RequestOptions,
2198    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2199        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2200    }
2201
2202    /// Returns the polling backoff policy.
2203    ///
2204    /// When mocking, this method is typically irrelevant. Do not try to verify
2205    /// it is called by your mocks.
2206    fn get_polling_backoff_policy(
2207        &self,
2208        _options: &crate::RequestOptions,
2209    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2210        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2211    }
2212}
2213
2214/// Defines the trait used to implement [super::client::GlobalOperations].
2215///
2216/// Application developers may need to implement this trait to mock
2217/// `client::GlobalOperations`.  In other use-cases, application developers only
2218/// use `client::GlobalOperations` and need not be concerned with this trait or
2219/// its implementations.
2220///
2221/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2222/// too. To avoid breaking applications the trait provides a default
2223/// implementation of each method. Most of these implementations just return an
2224/// error.
2225#[cfg(feature = "global-operations")]
2226#[cfg_attr(docsrs, doc(cfg(feature = "global-operations")))]
2227pub trait GlobalOperations: std::fmt::Debug + Send + Sync {
2228    /// Implements [super::client::GlobalOperations::aggregated_list].
2229    fn aggregated_list(
2230        &self,
2231        _req: crate::model::global_operations::AggregatedListRequest,
2232        _options: crate::RequestOptions,
2233    ) -> impl std::future::Future<
2234        Output = crate::Result<crate::Response<crate::model::OperationAggregatedList>>,
2235    > + Send {
2236        gaxi::unimplemented::unimplemented_stub()
2237    }
2238
2239    /// Implements [super::client::GlobalOperations::delete].
2240    fn delete(
2241        &self,
2242        _req: crate::model::global_operations::DeleteRequest,
2243        _options: crate::RequestOptions,
2244    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
2245        gaxi::unimplemented::unimplemented_stub()
2246    }
2247
2248    /// Implements [super::client::GlobalOperations::get].
2249    fn get(
2250        &self,
2251        _req: crate::model::global_operations::GetRequest,
2252        _options: crate::RequestOptions,
2253    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2254    {
2255        gaxi::unimplemented::unimplemented_stub()
2256    }
2257
2258    /// Implements [super::client::GlobalOperations::list].
2259    fn list(
2260        &self,
2261        _req: crate::model::global_operations::ListRequest,
2262        _options: crate::RequestOptions,
2263    ) -> impl std::future::Future<
2264        Output = crate::Result<crate::Response<crate::model::OperationList>>,
2265    > + Send {
2266        gaxi::unimplemented::unimplemented_stub()
2267    }
2268
2269    /// Implements [super::client::GlobalOperations::wait].
2270    fn wait(
2271        &self,
2272        _req: crate::model::global_operations::WaitRequest,
2273        _options: crate::RequestOptions,
2274    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2275    {
2276        gaxi::unimplemented::unimplemented_stub()
2277    }
2278}
2279
2280/// Defines the trait used to implement [super::client::GlobalOrganizationOperations].
2281///
2282/// Application developers may need to implement this trait to mock
2283/// `client::GlobalOrganizationOperations`.  In other use-cases, application developers only
2284/// use `client::GlobalOrganizationOperations` and need not be concerned with this trait or
2285/// its implementations.
2286///
2287/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2288/// too. To avoid breaking applications the trait provides a default
2289/// implementation of each method. Most of these implementations just return an
2290/// error.
2291#[cfg(feature = "global-organization-operations")]
2292#[cfg_attr(docsrs, doc(cfg(feature = "global-organization-operations")))]
2293pub trait GlobalOrganizationOperations: std::fmt::Debug + Send + Sync {
2294    /// Implements [super::client::GlobalOrganizationOperations::delete].
2295    fn delete(
2296        &self,
2297        _req: crate::model::global_organization_operations::DeleteRequest,
2298        _options: crate::RequestOptions,
2299    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
2300        gaxi::unimplemented::unimplemented_stub()
2301    }
2302
2303    /// Implements [super::client::GlobalOrganizationOperations::get].
2304    fn get(
2305        &self,
2306        _req: crate::model::global_organization_operations::GetRequest,
2307        _options: crate::RequestOptions,
2308    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2309    {
2310        gaxi::unimplemented::unimplemented_stub()
2311    }
2312
2313    /// Implements [super::client::GlobalOrganizationOperations::list].
2314    fn list(
2315        &self,
2316        _req: crate::model::global_organization_operations::ListRequest,
2317        _options: crate::RequestOptions,
2318    ) -> impl std::future::Future<
2319        Output = crate::Result<crate::Response<crate::model::OperationList>>,
2320    > + Send {
2321        gaxi::unimplemented::unimplemented_stub()
2322    }
2323}
2324
2325/// Defines the trait used to implement [super::client::GlobalPublicDelegatedPrefixes].
2326///
2327/// Application developers may need to implement this trait to mock
2328/// `client::GlobalPublicDelegatedPrefixes`.  In other use-cases, application developers only
2329/// use `client::GlobalPublicDelegatedPrefixes` and need not be concerned with this trait or
2330/// its implementations.
2331///
2332/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2333/// too. To avoid breaking applications the trait provides a default
2334/// implementation of each method. Most of these implementations just return an
2335/// error.
2336#[cfg(feature = "global-public-delegated-prefixes")]
2337#[cfg_attr(docsrs, doc(cfg(feature = "global-public-delegated-prefixes")))]
2338pub trait GlobalPublicDelegatedPrefixes: std::fmt::Debug + Send + Sync {
2339    /// Implements [super::client::GlobalPublicDelegatedPrefixes::delete].
2340    fn delete(
2341        &self,
2342        _req: crate::model::global_public_delegated_prefixes::DeleteRequest,
2343        _options: crate::RequestOptions,
2344    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2345    {
2346        gaxi::unimplemented::unimplemented_stub()
2347    }
2348
2349    /// Implements [super::client::GlobalPublicDelegatedPrefixes::get].
2350    fn get(
2351        &self,
2352        _req: crate::model::global_public_delegated_prefixes::GetRequest,
2353        _options: crate::RequestOptions,
2354    ) -> impl std::future::Future<
2355        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefix>>,
2356    > + Send {
2357        gaxi::unimplemented::unimplemented_stub()
2358    }
2359
2360    /// Implements [super::client::GlobalPublicDelegatedPrefixes::insert].
2361    fn insert(
2362        &self,
2363        _req: crate::model::global_public_delegated_prefixes::InsertRequest,
2364        _options: crate::RequestOptions,
2365    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2366    {
2367        gaxi::unimplemented::unimplemented_stub()
2368    }
2369
2370    /// Implements [super::client::GlobalPublicDelegatedPrefixes::list].
2371    fn list(
2372        &self,
2373        _req: crate::model::global_public_delegated_prefixes::ListRequest,
2374        _options: crate::RequestOptions,
2375    ) -> impl std::future::Future<
2376        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixList>>,
2377    > + Send {
2378        gaxi::unimplemented::unimplemented_stub()
2379    }
2380
2381    /// Implements [super::client::GlobalPublicDelegatedPrefixes::patch].
2382    fn patch(
2383        &self,
2384        _req: crate::model::global_public_delegated_prefixes::PatchRequest,
2385        _options: crate::RequestOptions,
2386    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2387    {
2388        gaxi::unimplemented::unimplemented_stub()
2389    }
2390
2391    /// Implements [super::client::GlobalPublicDelegatedPrefixes::get_operation].
2392    fn get_operation(
2393        &self,
2394        _req: crate::model::global_operations::GetRequest,
2395        _options: crate::RequestOptions,
2396    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2397    {
2398        gaxi::unimplemented::unimplemented_stub()
2399    }
2400
2401    /// Returns the polling error policy.
2402    ///
2403    /// When mocking, this method is typically irrelevant. Do not try to verify
2404    /// it is called by your mocks.
2405    fn get_polling_error_policy(
2406        &self,
2407        _options: &crate::RequestOptions,
2408    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2409        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2410    }
2411
2412    /// Returns the polling backoff policy.
2413    ///
2414    /// When mocking, this method is typically irrelevant. Do not try to verify
2415    /// it is called by your mocks.
2416    fn get_polling_backoff_policy(
2417        &self,
2418        _options: &crate::RequestOptions,
2419    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2420        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2421    }
2422}
2423
2424/// Defines the trait used to implement [super::client::HealthChecks].
2425///
2426/// Application developers may need to implement this trait to mock
2427/// `client::HealthChecks`.  In other use-cases, application developers only
2428/// use `client::HealthChecks` and need not be concerned with this trait or
2429/// its implementations.
2430///
2431/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2432/// too. To avoid breaking applications the trait provides a default
2433/// implementation of each method. Most of these implementations just return an
2434/// error.
2435#[cfg(feature = "health-checks")]
2436#[cfg_attr(docsrs, doc(cfg(feature = "health-checks")))]
2437pub trait HealthChecks: std::fmt::Debug + Send + Sync {
2438    /// Implements [super::client::HealthChecks::aggregated_list].
2439    fn aggregated_list(
2440        &self,
2441        _req: crate::model::health_checks::AggregatedListRequest,
2442        _options: crate::RequestOptions,
2443    ) -> impl std::future::Future<
2444        Output = crate::Result<crate::Response<crate::model::HealthChecksAggregatedList>>,
2445    > + Send {
2446        gaxi::unimplemented::unimplemented_stub()
2447    }
2448
2449    /// Implements [super::client::HealthChecks::delete].
2450    fn delete(
2451        &self,
2452        _req: crate::model::health_checks::DeleteRequest,
2453        _options: crate::RequestOptions,
2454    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2455    {
2456        gaxi::unimplemented::unimplemented_stub()
2457    }
2458
2459    /// Implements [super::client::HealthChecks::get].
2460    fn get(
2461        &self,
2462        _req: crate::model::health_checks::GetRequest,
2463        _options: crate::RequestOptions,
2464    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::HealthCheck>>>
2465    + Send {
2466        gaxi::unimplemented::unimplemented_stub()
2467    }
2468
2469    /// Implements [super::client::HealthChecks::insert].
2470    fn insert(
2471        &self,
2472        _req: crate::model::health_checks::InsertRequest,
2473        _options: crate::RequestOptions,
2474    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2475    {
2476        gaxi::unimplemented::unimplemented_stub()
2477    }
2478
2479    /// Implements [super::client::HealthChecks::list].
2480    fn list(
2481        &self,
2482        _req: crate::model::health_checks::ListRequest,
2483        _options: crate::RequestOptions,
2484    ) -> impl std::future::Future<
2485        Output = crate::Result<crate::Response<crate::model::HealthCheckList>>,
2486    > + Send {
2487        gaxi::unimplemented::unimplemented_stub()
2488    }
2489
2490    /// Implements [super::client::HealthChecks::patch].
2491    fn patch(
2492        &self,
2493        _req: crate::model::health_checks::PatchRequest,
2494        _options: crate::RequestOptions,
2495    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2496    {
2497        gaxi::unimplemented::unimplemented_stub()
2498    }
2499
2500    /// Implements [super::client::HealthChecks::test_iam_permissions].
2501    fn test_iam_permissions(
2502        &self,
2503        _req: crate::model::health_checks::TestIamPermissionsRequest,
2504        _options: crate::RequestOptions,
2505    ) -> impl std::future::Future<
2506        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2507    > + Send {
2508        gaxi::unimplemented::unimplemented_stub()
2509    }
2510
2511    /// Implements [super::client::HealthChecks::update].
2512    fn update(
2513        &self,
2514        _req: crate::model::health_checks::UpdateRequest,
2515        _options: crate::RequestOptions,
2516    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2517    {
2518        gaxi::unimplemented::unimplemented_stub()
2519    }
2520
2521    /// Implements [super::client::HealthChecks::get_operation].
2522    fn get_operation(
2523        &self,
2524        _req: crate::model::global_operations::GetRequest,
2525        _options: crate::RequestOptions,
2526    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2527    {
2528        gaxi::unimplemented::unimplemented_stub()
2529    }
2530
2531    /// Returns the polling error policy.
2532    ///
2533    /// When mocking, this method is typically irrelevant. Do not try to verify
2534    /// it is called by your mocks.
2535    fn get_polling_error_policy(
2536        &self,
2537        _options: &crate::RequestOptions,
2538    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2539        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2540    }
2541
2542    /// Returns the polling backoff policy.
2543    ///
2544    /// When mocking, this method is typically irrelevant. Do not try to verify
2545    /// it is called by your mocks.
2546    fn get_polling_backoff_policy(
2547        &self,
2548        _options: &crate::RequestOptions,
2549    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2550        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2551    }
2552}
2553
2554/// Defines the trait used to implement [super::client::HttpHealthChecks].
2555///
2556/// Application developers may need to implement this trait to mock
2557/// `client::HttpHealthChecks`.  In other use-cases, application developers only
2558/// use `client::HttpHealthChecks` and need not be concerned with this trait or
2559/// its implementations.
2560///
2561/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2562/// too. To avoid breaking applications the trait provides a default
2563/// implementation of each method. Most of these implementations just return an
2564/// error.
2565#[cfg(feature = "http-health-checks")]
2566#[cfg_attr(docsrs, doc(cfg(feature = "http-health-checks")))]
2567pub trait HttpHealthChecks: std::fmt::Debug + Send + Sync {
2568    /// Implements [super::client::HttpHealthChecks::delete].
2569    fn delete(
2570        &self,
2571        _req: crate::model::http_health_checks::DeleteRequest,
2572        _options: crate::RequestOptions,
2573    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2574    {
2575        gaxi::unimplemented::unimplemented_stub()
2576    }
2577
2578    /// Implements [super::client::HttpHealthChecks::get].
2579    fn get(
2580        &self,
2581        _req: crate::model::http_health_checks::GetRequest,
2582        _options: crate::RequestOptions,
2583    ) -> impl std::future::Future<
2584        Output = crate::Result<crate::Response<crate::model::HttpHealthCheck>>,
2585    > + Send {
2586        gaxi::unimplemented::unimplemented_stub()
2587    }
2588
2589    /// Implements [super::client::HttpHealthChecks::insert].
2590    fn insert(
2591        &self,
2592        _req: crate::model::http_health_checks::InsertRequest,
2593        _options: crate::RequestOptions,
2594    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2595    {
2596        gaxi::unimplemented::unimplemented_stub()
2597    }
2598
2599    /// Implements [super::client::HttpHealthChecks::list].
2600    fn list(
2601        &self,
2602        _req: crate::model::http_health_checks::ListRequest,
2603        _options: crate::RequestOptions,
2604    ) -> impl std::future::Future<
2605        Output = crate::Result<crate::Response<crate::model::HttpHealthCheckList>>,
2606    > + Send {
2607        gaxi::unimplemented::unimplemented_stub()
2608    }
2609
2610    /// Implements [super::client::HttpHealthChecks::patch].
2611    fn patch(
2612        &self,
2613        _req: crate::model::http_health_checks::PatchRequest,
2614        _options: crate::RequestOptions,
2615    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2616    {
2617        gaxi::unimplemented::unimplemented_stub()
2618    }
2619
2620    /// Implements [super::client::HttpHealthChecks::test_iam_permissions].
2621    fn test_iam_permissions(
2622        &self,
2623        _req: crate::model::http_health_checks::TestIamPermissionsRequest,
2624        _options: crate::RequestOptions,
2625    ) -> impl std::future::Future<
2626        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2627    > + Send {
2628        gaxi::unimplemented::unimplemented_stub()
2629    }
2630
2631    /// Implements [super::client::HttpHealthChecks::update].
2632    fn update(
2633        &self,
2634        _req: crate::model::http_health_checks::UpdateRequest,
2635        _options: crate::RequestOptions,
2636    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2637    {
2638        gaxi::unimplemented::unimplemented_stub()
2639    }
2640
2641    /// Implements [super::client::HttpHealthChecks::get_operation].
2642    fn get_operation(
2643        &self,
2644        _req: crate::model::global_operations::GetRequest,
2645        _options: crate::RequestOptions,
2646    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2647    {
2648        gaxi::unimplemented::unimplemented_stub()
2649    }
2650
2651    /// Returns the polling error policy.
2652    ///
2653    /// When mocking, this method is typically irrelevant. Do not try to verify
2654    /// it is called by your mocks.
2655    fn get_polling_error_policy(
2656        &self,
2657        _options: &crate::RequestOptions,
2658    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2659        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2660    }
2661
2662    /// Returns the polling backoff policy.
2663    ///
2664    /// When mocking, this method is typically irrelevant. Do not try to verify
2665    /// it is called by your mocks.
2666    fn get_polling_backoff_policy(
2667        &self,
2668        _options: &crate::RequestOptions,
2669    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2670        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2671    }
2672}
2673
2674/// Defines the trait used to implement [super::client::HttpsHealthChecks].
2675///
2676/// Application developers may need to implement this trait to mock
2677/// `client::HttpsHealthChecks`.  In other use-cases, application developers only
2678/// use `client::HttpsHealthChecks` and need not be concerned with this trait or
2679/// its implementations.
2680///
2681/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2682/// too. To avoid breaking applications the trait provides a default
2683/// implementation of each method. Most of these implementations just return an
2684/// error.
2685#[cfg(feature = "https-health-checks")]
2686#[cfg_attr(docsrs, doc(cfg(feature = "https-health-checks")))]
2687pub trait HttpsHealthChecks: std::fmt::Debug + Send + Sync {
2688    /// Implements [super::client::HttpsHealthChecks::delete].
2689    fn delete(
2690        &self,
2691        _req: crate::model::https_health_checks::DeleteRequest,
2692        _options: crate::RequestOptions,
2693    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2694    {
2695        gaxi::unimplemented::unimplemented_stub()
2696    }
2697
2698    /// Implements [super::client::HttpsHealthChecks::get].
2699    fn get(
2700        &self,
2701        _req: crate::model::https_health_checks::GetRequest,
2702        _options: crate::RequestOptions,
2703    ) -> impl std::future::Future<
2704        Output = crate::Result<crate::Response<crate::model::HttpsHealthCheck>>,
2705    > + Send {
2706        gaxi::unimplemented::unimplemented_stub()
2707    }
2708
2709    /// Implements [super::client::HttpsHealthChecks::insert].
2710    fn insert(
2711        &self,
2712        _req: crate::model::https_health_checks::InsertRequest,
2713        _options: crate::RequestOptions,
2714    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2715    {
2716        gaxi::unimplemented::unimplemented_stub()
2717    }
2718
2719    /// Implements [super::client::HttpsHealthChecks::list].
2720    fn list(
2721        &self,
2722        _req: crate::model::https_health_checks::ListRequest,
2723        _options: crate::RequestOptions,
2724    ) -> impl std::future::Future<
2725        Output = crate::Result<crate::Response<crate::model::HttpsHealthCheckList>>,
2726    > + Send {
2727        gaxi::unimplemented::unimplemented_stub()
2728    }
2729
2730    /// Implements [super::client::HttpsHealthChecks::patch].
2731    fn patch(
2732        &self,
2733        _req: crate::model::https_health_checks::PatchRequest,
2734        _options: crate::RequestOptions,
2735    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2736    {
2737        gaxi::unimplemented::unimplemented_stub()
2738    }
2739
2740    /// Implements [super::client::HttpsHealthChecks::test_iam_permissions].
2741    fn test_iam_permissions(
2742        &self,
2743        _req: crate::model::https_health_checks::TestIamPermissionsRequest,
2744        _options: crate::RequestOptions,
2745    ) -> impl std::future::Future<
2746        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2747    > + Send {
2748        gaxi::unimplemented::unimplemented_stub()
2749    }
2750
2751    /// Implements [super::client::HttpsHealthChecks::update].
2752    fn update(
2753        &self,
2754        _req: crate::model::https_health_checks::UpdateRequest,
2755        _options: crate::RequestOptions,
2756    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2757    {
2758        gaxi::unimplemented::unimplemented_stub()
2759    }
2760
2761    /// Implements [super::client::HttpsHealthChecks::get_operation].
2762    fn get_operation(
2763        &self,
2764        _req: crate::model::global_operations::GetRequest,
2765        _options: crate::RequestOptions,
2766    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2767    {
2768        gaxi::unimplemented::unimplemented_stub()
2769    }
2770
2771    /// Returns the polling error policy.
2772    ///
2773    /// When mocking, this method is typically irrelevant. Do not try to verify
2774    /// it is called by your mocks.
2775    fn get_polling_error_policy(
2776        &self,
2777        _options: &crate::RequestOptions,
2778    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2779        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2780    }
2781
2782    /// Returns the polling backoff policy.
2783    ///
2784    /// When mocking, this method is typically irrelevant. Do not try to verify
2785    /// it is called by your mocks.
2786    fn get_polling_backoff_policy(
2787        &self,
2788        _options: &crate::RequestOptions,
2789    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2790        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2791    }
2792}
2793
2794/// Defines the trait used to implement [super::client::ImageFamilyViews].
2795///
2796/// Application developers may need to implement this trait to mock
2797/// `client::ImageFamilyViews`.  In other use-cases, application developers only
2798/// use `client::ImageFamilyViews` and need not be concerned with this trait or
2799/// its implementations.
2800///
2801/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2802/// too. To avoid breaking applications the trait provides a default
2803/// implementation of each method. Most of these implementations just return an
2804/// error.
2805#[cfg(feature = "image-family-views")]
2806#[cfg_attr(docsrs, doc(cfg(feature = "image-family-views")))]
2807pub trait ImageFamilyViews: std::fmt::Debug + Send + Sync {
2808    /// Implements [super::client::ImageFamilyViews::get].
2809    fn get(
2810        &self,
2811        _req: crate::model::image_family_views::GetRequest,
2812        _options: crate::RequestOptions,
2813    ) -> impl std::future::Future<
2814        Output = crate::Result<crate::Response<crate::model::ImageFamilyView>>,
2815    > + Send {
2816        gaxi::unimplemented::unimplemented_stub()
2817    }
2818}
2819
2820/// Defines the trait used to implement [super::client::Images].
2821///
2822/// Application developers may need to implement this trait to mock
2823/// `client::Images`.  In other use-cases, application developers only
2824/// use `client::Images` and need not be concerned with this trait or
2825/// its implementations.
2826///
2827/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2828/// too. To avoid breaking applications the trait provides a default
2829/// implementation of each method. Most of these implementations just return an
2830/// error.
2831#[cfg(feature = "images")]
2832#[cfg_attr(docsrs, doc(cfg(feature = "images")))]
2833pub trait Images: std::fmt::Debug + Send + Sync {
2834    /// Implements [super::client::Images::delete].
2835    fn delete(
2836        &self,
2837        _req: crate::model::images::DeleteRequest,
2838        _options: crate::RequestOptions,
2839    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2840    {
2841        gaxi::unimplemented::unimplemented_stub()
2842    }
2843
2844    /// Implements [super::client::Images::deprecate].
2845    fn deprecate(
2846        &self,
2847        _req: crate::model::images::DeprecateRequest,
2848        _options: crate::RequestOptions,
2849    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2850    {
2851        gaxi::unimplemented::unimplemented_stub()
2852    }
2853
2854    /// Implements [super::client::Images::get].
2855    fn get(
2856        &self,
2857        _req: crate::model::images::GetRequest,
2858        _options: crate::RequestOptions,
2859    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Image>>> + Send
2860    {
2861        gaxi::unimplemented::unimplemented_stub()
2862    }
2863
2864    /// Implements [super::client::Images::get_from_family].
2865    fn get_from_family(
2866        &self,
2867        _req: crate::model::images::GetFromFamilyRequest,
2868        _options: crate::RequestOptions,
2869    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Image>>> + Send
2870    {
2871        gaxi::unimplemented::unimplemented_stub()
2872    }
2873
2874    /// Implements [super::client::Images::get_iam_policy].
2875    fn get_iam_policy(
2876        &self,
2877        _req: crate::model::images::GetIamPolicyRequest,
2878        _options: crate::RequestOptions,
2879    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
2880    {
2881        gaxi::unimplemented::unimplemented_stub()
2882    }
2883
2884    /// Implements [super::client::Images::insert].
2885    fn insert(
2886        &self,
2887        _req: crate::model::images::InsertRequest,
2888        _options: crate::RequestOptions,
2889    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2890    {
2891        gaxi::unimplemented::unimplemented_stub()
2892    }
2893
2894    /// Implements [super::client::Images::list].
2895    fn list(
2896        &self,
2897        _req: crate::model::images::ListRequest,
2898        _options: crate::RequestOptions,
2899    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ImageList>>> + Send
2900    {
2901        gaxi::unimplemented::unimplemented_stub()
2902    }
2903
2904    /// Implements [super::client::Images::patch].
2905    fn patch(
2906        &self,
2907        _req: crate::model::images::PatchRequest,
2908        _options: crate::RequestOptions,
2909    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2910    {
2911        gaxi::unimplemented::unimplemented_stub()
2912    }
2913
2914    /// Implements [super::client::Images::set_iam_policy].
2915    fn set_iam_policy(
2916        &self,
2917        _req: crate::model::images::SetIamPolicyRequest,
2918        _options: crate::RequestOptions,
2919    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
2920    {
2921        gaxi::unimplemented::unimplemented_stub()
2922    }
2923
2924    /// Implements [super::client::Images::set_labels].
2925    fn set_labels(
2926        &self,
2927        _req: crate::model::images::SetLabelsRequest,
2928        _options: crate::RequestOptions,
2929    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2930    {
2931        gaxi::unimplemented::unimplemented_stub()
2932    }
2933
2934    /// Implements [super::client::Images::test_iam_permissions].
2935    fn test_iam_permissions(
2936        &self,
2937        _req: crate::model::images::TestIamPermissionsRequest,
2938        _options: crate::RequestOptions,
2939    ) -> impl std::future::Future<
2940        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2941    > + Send {
2942        gaxi::unimplemented::unimplemented_stub()
2943    }
2944
2945    /// Implements [super::client::Images::get_operation].
2946    fn get_operation(
2947        &self,
2948        _req: crate::model::global_operations::GetRequest,
2949        _options: crate::RequestOptions,
2950    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2951    {
2952        gaxi::unimplemented::unimplemented_stub()
2953    }
2954
2955    /// Returns the polling error policy.
2956    ///
2957    /// When mocking, this method is typically irrelevant. Do not try to verify
2958    /// it is called by your mocks.
2959    fn get_polling_error_policy(
2960        &self,
2961        _options: &crate::RequestOptions,
2962    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2963        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2964    }
2965
2966    /// Returns the polling backoff policy.
2967    ///
2968    /// When mocking, this method is typically irrelevant. Do not try to verify
2969    /// it is called by your mocks.
2970    fn get_polling_backoff_policy(
2971        &self,
2972        _options: &crate::RequestOptions,
2973    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2974        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2975    }
2976}
2977
2978/// Defines the trait used to implement [super::client::InstanceGroupManagerResizeRequests].
2979///
2980/// Application developers may need to implement this trait to mock
2981/// `client::InstanceGroupManagerResizeRequests`.  In other use-cases, application developers only
2982/// use `client::InstanceGroupManagerResizeRequests` and need not be concerned with this trait or
2983/// its implementations.
2984///
2985/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2986/// too. To avoid breaking applications the trait provides a default
2987/// implementation of each method. Most of these implementations just return an
2988/// error.
2989#[cfg(feature = "instance-group-manager-resize-requests")]
2990#[cfg_attr(docsrs, doc(cfg(feature = "instance-group-manager-resize-requests")))]
2991pub trait InstanceGroupManagerResizeRequests: std::fmt::Debug + Send + Sync {
2992    /// Implements [super::client::InstanceGroupManagerResizeRequests::cancel].
2993    fn cancel(
2994        &self,
2995        _req: crate::model::instance_group_manager_resize_requests::CancelRequest,
2996        _options: crate::RequestOptions,
2997    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2998    {
2999        gaxi::unimplemented::unimplemented_stub()
3000    }
3001
3002    /// Implements [super::client::InstanceGroupManagerResizeRequests::delete].
3003    fn delete(
3004        &self,
3005        _req: crate::model::instance_group_manager_resize_requests::DeleteRequest,
3006        _options: crate::RequestOptions,
3007    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3008    {
3009        gaxi::unimplemented::unimplemented_stub()
3010    }
3011
3012    /// Implements [super::client::InstanceGroupManagerResizeRequests::get].
3013    fn get(
3014        &self,
3015        _req: crate::model::instance_group_manager_resize_requests::GetRequest,
3016        _options: crate::RequestOptions,
3017    ) -> impl std::future::Future<
3018        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerResizeRequest>>,
3019    > + Send {
3020        gaxi::unimplemented::unimplemented_stub()
3021    }
3022
3023    /// Implements [super::client::InstanceGroupManagerResizeRequests::insert].
3024    fn insert(
3025        &self,
3026        _req: crate::model::instance_group_manager_resize_requests::InsertRequest,
3027        _options: crate::RequestOptions,
3028    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3029    {
3030        gaxi::unimplemented::unimplemented_stub()
3031    }
3032
3033    /// Implements [super::client::InstanceGroupManagerResizeRequests::list].
3034    fn list(
3035        &self,
3036        _req: crate::model::instance_group_manager_resize_requests::ListRequest,
3037        _options: crate::RequestOptions,
3038    ) -> impl std::future::Future<
3039        Output = crate::Result<
3040            crate::Response<crate::model::InstanceGroupManagerResizeRequestsListResponse>,
3041        >,
3042    > + Send {
3043        gaxi::unimplemented::unimplemented_stub()
3044    }
3045
3046    /// Implements [super::client::InstanceGroupManagerResizeRequests::get_operation].
3047    fn get_operation(
3048        &self,
3049        _req: crate::model::zone_operations::GetRequest,
3050        _options: crate::RequestOptions,
3051    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3052    {
3053        gaxi::unimplemented::unimplemented_stub()
3054    }
3055
3056    /// Returns the polling error policy.
3057    ///
3058    /// When mocking, this method is typically irrelevant. Do not try to verify
3059    /// it is called by your mocks.
3060    fn get_polling_error_policy(
3061        &self,
3062        _options: &crate::RequestOptions,
3063    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3064        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3065    }
3066
3067    /// Returns the polling backoff policy.
3068    ///
3069    /// When mocking, this method is typically irrelevant. Do not try to verify
3070    /// it is called by your mocks.
3071    fn get_polling_backoff_policy(
3072        &self,
3073        _options: &crate::RequestOptions,
3074    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3075        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3076    }
3077}
3078
3079/// Defines the trait used to implement [super::client::InstanceGroupManagers].
3080///
3081/// Application developers may need to implement this trait to mock
3082/// `client::InstanceGroupManagers`.  In other use-cases, application developers only
3083/// use `client::InstanceGroupManagers` and need not be concerned with this trait or
3084/// its implementations.
3085///
3086/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3087/// too. To avoid breaking applications the trait provides a default
3088/// implementation of each method. Most of these implementations just return an
3089/// error.
3090#[cfg(feature = "instance-group-managers")]
3091#[cfg_attr(docsrs, doc(cfg(feature = "instance-group-managers")))]
3092pub trait InstanceGroupManagers: std::fmt::Debug + Send + Sync {
3093    /// Implements [super::client::InstanceGroupManagers::abandon_instances].
3094    fn abandon_instances(
3095        &self,
3096        _req: crate::model::instance_group_managers::AbandonInstancesRequest,
3097        _options: crate::RequestOptions,
3098    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3099    {
3100        gaxi::unimplemented::unimplemented_stub()
3101    }
3102
3103    /// Implements [super::client::InstanceGroupManagers::aggregated_list].
3104    fn aggregated_list(
3105        &self,
3106        _req: crate::model::instance_group_managers::AggregatedListRequest,
3107        _options: crate::RequestOptions,
3108    ) -> impl std::future::Future<
3109        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerAggregatedList>>,
3110    > + Send {
3111        gaxi::unimplemented::unimplemented_stub()
3112    }
3113
3114    /// Implements [super::client::InstanceGroupManagers::apply_updates_to_instances].
3115    fn apply_updates_to_instances(
3116        &self,
3117        _req: crate::model::instance_group_managers::ApplyUpdatesToInstancesRequest,
3118        _options: crate::RequestOptions,
3119    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3120    {
3121        gaxi::unimplemented::unimplemented_stub()
3122    }
3123
3124    /// Implements [super::client::InstanceGroupManagers::create_instances].
3125    fn create_instances(
3126        &self,
3127        _req: crate::model::instance_group_managers::CreateInstancesRequest,
3128        _options: crate::RequestOptions,
3129    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3130    {
3131        gaxi::unimplemented::unimplemented_stub()
3132    }
3133
3134    /// Implements [super::client::InstanceGroupManagers::delete].
3135    fn delete(
3136        &self,
3137        _req: crate::model::instance_group_managers::DeleteRequest,
3138        _options: crate::RequestOptions,
3139    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3140    {
3141        gaxi::unimplemented::unimplemented_stub()
3142    }
3143
3144    /// Implements [super::client::InstanceGroupManagers::delete_instances].
3145    fn delete_instances(
3146        &self,
3147        _req: crate::model::instance_group_managers::DeleteInstancesRequest,
3148        _options: crate::RequestOptions,
3149    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3150    {
3151        gaxi::unimplemented::unimplemented_stub()
3152    }
3153
3154    /// Implements [super::client::InstanceGroupManagers::delete_per_instance_configs].
3155    fn delete_per_instance_configs(
3156        &self,
3157        _req: crate::model::instance_group_managers::DeletePerInstanceConfigsRequest,
3158        _options: crate::RequestOptions,
3159    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3160    {
3161        gaxi::unimplemented::unimplemented_stub()
3162    }
3163
3164    /// Implements [super::client::InstanceGroupManagers::get].
3165    fn get(
3166        &self,
3167        _req: crate::model::instance_group_managers::GetRequest,
3168        _options: crate::RequestOptions,
3169    ) -> impl std::future::Future<
3170        Output = crate::Result<crate::Response<crate::model::InstanceGroupManager>>,
3171    > + Send {
3172        gaxi::unimplemented::unimplemented_stub()
3173    }
3174
3175    /// Implements [super::client::InstanceGroupManagers::insert].
3176    fn insert(
3177        &self,
3178        _req: crate::model::instance_group_managers::InsertRequest,
3179        _options: crate::RequestOptions,
3180    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3181    {
3182        gaxi::unimplemented::unimplemented_stub()
3183    }
3184
3185    /// Implements [super::client::InstanceGroupManagers::list].
3186    fn list(
3187        &self,
3188        _req: crate::model::instance_group_managers::ListRequest,
3189        _options: crate::RequestOptions,
3190    ) -> impl std::future::Future<
3191        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerList>>,
3192    > + Send {
3193        gaxi::unimplemented::unimplemented_stub()
3194    }
3195
3196    /// Implements [super::client::InstanceGroupManagers::list_errors].
3197    fn list_errors(
3198        &self,
3199        _req: crate::model::instance_group_managers::ListErrorsRequest,
3200        _options: crate::RequestOptions,
3201    ) -> impl std::future::Future<
3202        Output = crate::Result<
3203            crate::Response<crate::model::InstanceGroupManagersListErrorsResponse>,
3204        >,
3205    > + Send {
3206        gaxi::unimplemented::unimplemented_stub()
3207    }
3208
3209    /// Implements [super::client::InstanceGroupManagers::list_managed_instances].
3210    fn list_managed_instances(
3211        &self,
3212        _req: crate::model::instance_group_managers::ListManagedInstancesRequest,
3213        _options: crate::RequestOptions,
3214    ) -> impl std::future::Future<
3215        Output = crate::Result<
3216            crate::Response<crate::model::InstanceGroupManagersListManagedInstancesResponse>,
3217        >,
3218    > + Send {
3219        gaxi::unimplemented::unimplemented_stub()
3220    }
3221
3222    /// Implements [super::client::InstanceGroupManagers::list_per_instance_configs].
3223    fn list_per_instance_configs(
3224        &self,
3225        _req: crate::model::instance_group_managers::ListPerInstanceConfigsRequest,
3226        _options: crate::RequestOptions,
3227    ) -> impl std::future::Future<
3228        Output = crate::Result<
3229            crate::Response<crate::model::InstanceGroupManagersListPerInstanceConfigsResp>,
3230        >,
3231    > + Send {
3232        gaxi::unimplemented::unimplemented_stub()
3233    }
3234
3235    /// Implements [super::client::InstanceGroupManagers::patch].
3236    fn patch(
3237        &self,
3238        _req: crate::model::instance_group_managers::PatchRequest,
3239        _options: crate::RequestOptions,
3240    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3241    {
3242        gaxi::unimplemented::unimplemented_stub()
3243    }
3244
3245    /// Implements [super::client::InstanceGroupManagers::patch_per_instance_configs].
3246    fn patch_per_instance_configs(
3247        &self,
3248        _req: crate::model::instance_group_managers::PatchPerInstanceConfigsRequest,
3249        _options: crate::RequestOptions,
3250    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3251    {
3252        gaxi::unimplemented::unimplemented_stub()
3253    }
3254
3255    /// Implements [super::client::InstanceGroupManagers::recreate_instances].
3256    fn recreate_instances(
3257        &self,
3258        _req: crate::model::instance_group_managers::RecreateInstancesRequest,
3259        _options: crate::RequestOptions,
3260    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3261    {
3262        gaxi::unimplemented::unimplemented_stub()
3263    }
3264
3265    /// Implements [super::client::InstanceGroupManagers::resize].
3266    fn resize(
3267        &self,
3268        _req: crate::model::instance_group_managers::ResizeRequest,
3269        _options: crate::RequestOptions,
3270    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3271    {
3272        gaxi::unimplemented::unimplemented_stub()
3273    }
3274
3275    /// Implements [super::client::InstanceGroupManagers::resume_instances].
3276    fn resume_instances(
3277        &self,
3278        _req: crate::model::instance_group_managers::ResumeInstancesRequest,
3279        _options: crate::RequestOptions,
3280    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3281    {
3282        gaxi::unimplemented::unimplemented_stub()
3283    }
3284
3285    /// Implements [super::client::InstanceGroupManagers::set_instance_template].
3286    fn set_instance_template(
3287        &self,
3288        _req: crate::model::instance_group_managers::SetInstanceTemplateRequest,
3289        _options: crate::RequestOptions,
3290    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3291    {
3292        gaxi::unimplemented::unimplemented_stub()
3293    }
3294
3295    /// Implements [super::client::InstanceGroupManagers::set_target_pools].
3296    fn set_target_pools(
3297        &self,
3298        _req: crate::model::instance_group_managers::SetTargetPoolsRequest,
3299        _options: crate::RequestOptions,
3300    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3301    {
3302        gaxi::unimplemented::unimplemented_stub()
3303    }
3304
3305    /// Implements [super::client::InstanceGroupManagers::start_instances].
3306    fn start_instances(
3307        &self,
3308        _req: crate::model::instance_group_managers::StartInstancesRequest,
3309        _options: crate::RequestOptions,
3310    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3311    {
3312        gaxi::unimplemented::unimplemented_stub()
3313    }
3314
3315    /// Implements [super::client::InstanceGroupManagers::stop_instances].
3316    fn stop_instances(
3317        &self,
3318        _req: crate::model::instance_group_managers::StopInstancesRequest,
3319        _options: crate::RequestOptions,
3320    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3321    {
3322        gaxi::unimplemented::unimplemented_stub()
3323    }
3324
3325    /// Implements [super::client::InstanceGroupManagers::suspend_instances].
3326    fn suspend_instances(
3327        &self,
3328        _req: crate::model::instance_group_managers::SuspendInstancesRequest,
3329        _options: crate::RequestOptions,
3330    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3331    {
3332        gaxi::unimplemented::unimplemented_stub()
3333    }
3334
3335    /// Implements [super::client::InstanceGroupManagers::update_per_instance_configs].
3336    fn update_per_instance_configs(
3337        &self,
3338        _req: crate::model::instance_group_managers::UpdatePerInstanceConfigsRequest,
3339        _options: crate::RequestOptions,
3340    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3341    {
3342        gaxi::unimplemented::unimplemented_stub()
3343    }
3344
3345    /// Implements [super::client::InstanceGroupManagers::get_operation].
3346    fn get_operation(
3347        &self,
3348        _req: crate::model::zone_operations::GetRequest,
3349        _options: crate::RequestOptions,
3350    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3351    {
3352        gaxi::unimplemented::unimplemented_stub()
3353    }
3354
3355    /// Returns the polling error policy.
3356    ///
3357    /// When mocking, this method is typically irrelevant. Do not try to verify
3358    /// it is called by your mocks.
3359    fn get_polling_error_policy(
3360        &self,
3361        _options: &crate::RequestOptions,
3362    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3363        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3364    }
3365
3366    /// Returns the polling backoff policy.
3367    ///
3368    /// When mocking, this method is typically irrelevant. Do not try to verify
3369    /// it is called by your mocks.
3370    fn get_polling_backoff_policy(
3371        &self,
3372        _options: &crate::RequestOptions,
3373    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3374        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3375    }
3376}
3377
3378/// Defines the trait used to implement [super::client::InstanceGroups].
3379///
3380/// Application developers may need to implement this trait to mock
3381/// `client::InstanceGroups`.  In other use-cases, application developers only
3382/// use `client::InstanceGroups` and need not be concerned with this trait or
3383/// its implementations.
3384///
3385/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3386/// too. To avoid breaking applications the trait provides a default
3387/// implementation of each method. Most of these implementations just return an
3388/// error.
3389#[cfg(feature = "instance-groups")]
3390#[cfg_attr(docsrs, doc(cfg(feature = "instance-groups")))]
3391pub trait InstanceGroups: std::fmt::Debug + Send + Sync {
3392    /// Implements [super::client::InstanceGroups::add_instances].
3393    fn add_instances(
3394        &self,
3395        _req: crate::model::instance_groups::AddInstancesRequest,
3396        _options: crate::RequestOptions,
3397    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3398    {
3399        gaxi::unimplemented::unimplemented_stub()
3400    }
3401
3402    /// Implements [super::client::InstanceGroups::aggregated_list].
3403    fn aggregated_list(
3404        &self,
3405        _req: crate::model::instance_groups::AggregatedListRequest,
3406        _options: crate::RequestOptions,
3407    ) -> impl std::future::Future<
3408        Output = crate::Result<crate::Response<crate::model::InstanceGroupAggregatedList>>,
3409    > + Send {
3410        gaxi::unimplemented::unimplemented_stub()
3411    }
3412
3413    /// Implements [super::client::InstanceGroups::delete].
3414    fn delete(
3415        &self,
3416        _req: crate::model::instance_groups::DeleteRequest,
3417        _options: crate::RequestOptions,
3418    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3419    {
3420        gaxi::unimplemented::unimplemented_stub()
3421    }
3422
3423    /// Implements [super::client::InstanceGroups::get].
3424    fn get(
3425        &self,
3426        _req: crate::model::instance_groups::GetRequest,
3427        _options: crate::RequestOptions,
3428    ) -> impl std::future::Future<
3429        Output = crate::Result<crate::Response<crate::model::InstanceGroup>>,
3430    > + Send {
3431        gaxi::unimplemented::unimplemented_stub()
3432    }
3433
3434    /// Implements [super::client::InstanceGroups::insert].
3435    fn insert(
3436        &self,
3437        _req: crate::model::instance_groups::InsertRequest,
3438        _options: crate::RequestOptions,
3439    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3440    {
3441        gaxi::unimplemented::unimplemented_stub()
3442    }
3443
3444    /// Implements [super::client::InstanceGroups::list].
3445    fn list(
3446        &self,
3447        _req: crate::model::instance_groups::ListRequest,
3448        _options: crate::RequestOptions,
3449    ) -> impl std::future::Future<
3450        Output = crate::Result<crate::Response<crate::model::InstanceGroupList>>,
3451    > + Send {
3452        gaxi::unimplemented::unimplemented_stub()
3453    }
3454
3455    /// Implements [super::client::InstanceGroups::list_instances].
3456    fn list_instances(
3457        &self,
3458        _req: crate::model::instance_groups::ListInstancesRequest,
3459        _options: crate::RequestOptions,
3460    ) -> impl std::future::Future<
3461        Output = crate::Result<crate::Response<crate::model::InstanceGroupsListInstances>>,
3462    > + Send {
3463        gaxi::unimplemented::unimplemented_stub()
3464    }
3465
3466    /// Implements [super::client::InstanceGroups::remove_instances].
3467    fn remove_instances(
3468        &self,
3469        _req: crate::model::instance_groups::RemoveInstancesRequest,
3470        _options: crate::RequestOptions,
3471    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3472    {
3473        gaxi::unimplemented::unimplemented_stub()
3474    }
3475
3476    /// Implements [super::client::InstanceGroups::set_named_ports].
3477    fn set_named_ports(
3478        &self,
3479        _req: crate::model::instance_groups::SetNamedPortsRequest,
3480        _options: crate::RequestOptions,
3481    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3482    {
3483        gaxi::unimplemented::unimplemented_stub()
3484    }
3485
3486    /// Implements [super::client::InstanceGroups::test_iam_permissions].
3487    fn test_iam_permissions(
3488        &self,
3489        _req: crate::model::instance_groups::TestIamPermissionsRequest,
3490        _options: crate::RequestOptions,
3491    ) -> impl std::future::Future<
3492        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3493    > + Send {
3494        gaxi::unimplemented::unimplemented_stub()
3495    }
3496
3497    /// Implements [super::client::InstanceGroups::get_operation].
3498    fn get_operation(
3499        &self,
3500        _req: crate::model::zone_operations::GetRequest,
3501        _options: crate::RequestOptions,
3502    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3503    {
3504        gaxi::unimplemented::unimplemented_stub()
3505    }
3506
3507    /// Returns the polling error policy.
3508    ///
3509    /// When mocking, this method is typically irrelevant. Do not try to verify
3510    /// it is called by your mocks.
3511    fn get_polling_error_policy(
3512        &self,
3513        _options: &crate::RequestOptions,
3514    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3515        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3516    }
3517
3518    /// Returns the polling backoff policy.
3519    ///
3520    /// When mocking, this method is typically irrelevant. Do not try to verify
3521    /// it is called by your mocks.
3522    fn get_polling_backoff_policy(
3523        &self,
3524        _options: &crate::RequestOptions,
3525    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3526        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3527    }
3528}
3529
3530/// Defines the trait used to implement [super::client::InstanceSettings].
3531///
3532/// Application developers may need to implement this trait to mock
3533/// `client::InstanceSettings`.  In other use-cases, application developers only
3534/// use `client::InstanceSettings` and need not be concerned with this trait or
3535/// its implementations.
3536///
3537/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3538/// too. To avoid breaking applications the trait provides a default
3539/// implementation of each method. Most of these implementations just return an
3540/// error.
3541#[cfg(feature = "instance-settings")]
3542#[cfg_attr(docsrs, doc(cfg(feature = "instance-settings")))]
3543pub trait InstanceSettings: std::fmt::Debug + Send + Sync {
3544    /// Implements [super::client::InstanceSettings::get].
3545    fn get(
3546        &self,
3547        _req: crate::model::instance_settings::GetRequest,
3548        _options: crate::RequestOptions,
3549    ) -> impl std::future::Future<
3550        Output = crate::Result<crate::Response<crate::model::InstanceSettings>>,
3551    > + Send {
3552        gaxi::unimplemented::unimplemented_stub()
3553    }
3554
3555    /// Implements [super::client::InstanceSettings::patch].
3556    fn patch(
3557        &self,
3558        _req: crate::model::instance_settings::PatchRequest,
3559        _options: crate::RequestOptions,
3560    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3561    {
3562        gaxi::unimplemented::unimplemented_stub()
3563    }
3564
3565    /// Implements [super::client::InstanceSettings::get_operation].
3566    fn get_operation(
3567        &self,
3568        _req: crate::model::zone_operations::GetRequest,
3569        _options: crate::RequestOptions,
3570    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3571    {
3572        gaxi::unimplemented::unimplemented_stub()
3573    }
3574
3575    /// Returns the polling error policy.
3576    ///
3577    /// When mocking, this method is typically irrelevant. Do not try to verify
3578    /// it is called by your mocks.
3579    fn get_polling_error_policy(
3580        &self,
3581        _options: &crate::RequestOptions,
3582    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3583        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3584    }
3585
3586    /// Returns the polling backoff policy.
3587    ///
3588    /// When mocking, this method is typically irrelevant. Do not try to verify
3589    /// it is called by your mocks.
3590    fn get_polling_backoff_policy(
3591        &self,
3592        _options: &crate::RequestOptions,
3593    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3594        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3595    }
3596}
3597
3598/// Defines the trait used to implement [super::client::InstanceTemplates].
3599///
3600/// Application developers may need to implement this trait to mock
3601/// `client::InstanceTemplates`.  In other use-cases, application developers only
3602/// use `client::InstanceTemplates` and need not be concerned with this trait or
3603/// its implementations.
3604///
3605/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3606/// too. To avoid breaking applications the trait provides a default
3607/// implementation of each method. Most of these implementations just return an
3608/// error.
3609#[cfg(feature = "instance-templates")]
3610#[cfg_attr(docsrs, doc(cfg(feature = "instance-templates")))]
3611pub trait InstanceTemplates: std::fmt::Debug + Send + Sync {
3612    /// Implements [super::client::InstanceTemplates::aggregated_list].
3613    fn aggregated_list(
3614        &self,
3615        _req: crate::model::instance_templates::AggregatedListRequest,
3616        _options: crate::RequestOptions,
3617    ) -> impl std::future::Future<
3618        Output = crate::Result<crate::Response<crate::model::InstanceTemplateAggregatedList>>,
3619    > + Send {
3620        gaxi::unimplemented::unimplemented_stub()
3621    }
3622
3623    /// Implements [super::client::InstanceTemplates::delete].
3624    fn delete(
3625        &self,
3626        _req: crate::model::instance_templates::DeleteRequest,
3627        _options: crate::RequestOptions,
3628    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3629    {
3630        gaxi::unimplemented::unimplemented_stub()
3631    }
3632
3633    /// Implements [super::client::InstanceTemplates::get].
3634    fn get(
3635        &self,
3636        _req: crate::model::instance_templates::GetRequest,
3637        _options: crate::RequestOptions,
3638    ) -> impl std::future::Future<
3639        Output = crate::Result<crate::Response<crate::model::InstanceTemplate>>,
3640    > + Send {
3641        gaxi::unimplemented::unimplemented_stub()
3642    }
3643
3644    /// Implements [super::client::InstanceTemplates::get_iam_policy].
3645    fn get_iam_policy(
3646        &self,
3647        _req: crate::model::instance_templates::GetIamPolicyRequest,
3648        _options: crate::RequestOptions,
3649    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
3650    {
3651        gaxi::unimplemented::unimplemented_stub()
3652    }
3653
3654    /// Implements [super::client::InstanceTemplates::insert].
3655    fn insert(
3656        &self,
3657        _req: crate::model::instance_templates::InsertRequest,
3658        _options: crate::RequestOptions,
3659    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3660    {
3661        gaxi::unimplemented::unimplemented_stub()
3662    }
3663
3664    /// Implements [super::client::InstanceTemplates::list].
3665    fn list(
3666        &self,
3667        _req: crate::model::instance_templates::ListRequest,
3668        _options: crate::RequestOptions,
3669    ) -> impl std::future::Future<
3670        Output = crate::Result<crate::Response<crate::model::InstanceTemplateList>>,
3671    > + Send {
3672        gaxi::unimplemented::unimplemented_stub()
3673    }
3674
3675    /// Implements [super::client::InstanceTemplates::set_iam_policy].
3676    fn set_iam_policy(
3677        &self,
3678        _req: crate::model::instance_templates::SetIamPolicyRequest,
3679        _options: crate::RequestOptions,
3680    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
3681    {
3682        gaxi::unimplemented::unimplemented_stub()
3683    }
3684
3685    /// Implements [super::client::InstanceTemplates::test_iam_permissions].
3686    fn test_iam_permissions(
3687        &self,
3688        _req: crate::model::instance_templates::TestIamPermissionsRequest,
3689        _options: crate::RequestOptions,
3690    ) -> impl std::future::Future<
3691        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3692    > + Send {
3693        gaxi::unimplemented::unimplemented_stub()
3694    }
3695
3696    /// Implements [super::client::InstanceTemplates::get_operation].
3697    fn get_operation(
3698        &self,
3699        _req: crate::model::global_operations::GetRequest,
3700        _options: crate::RequestOptions,
3701    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3702    {
3703        gaxi::unimplemented::unimplemented_stub()
3704    }
3705
3706    /// Returns the polling error policy.
3707    ///
3708    /// When mocking, this method is typically irrelevant. Do not try to verify
3709    /// it is called by your mocks.
3710    fn get_polling_error_policy(
3711        &self,
3712        _options: &crate::RequestOptions,
3713    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3714        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3715    }
3716
3717    /// Returns the polling backoff policy.
3718    ///
3719    /// When mocking, this method is typically irrelevant. Do not try to verify
3720    /// it is called by your mocks.
3721    fn get_polling_backoff_policy(
3722        &self,
3723        _options: &crate::RequestOptions,
3724    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3725        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3726    }
3727}
3728
3729/// Defines the trait used to implement [super::client::Instances].
3730///
3731/// Application developers may need to implement this trait to mock
3732/// `client::Instances`.  In other use-cases, application developers only
3733/// use `client::Instances` and need not be concerned with this trait or
3734/// its implementations.
3735///
3736/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3737/// too. To avoid breaking applications the trait provides a default
3738/// implementation of each method. Most of these implementations just return an
3739/// error.
3740#[cfg(feature = "instances")]
3741#[cfg_attr(docsrs, doc(cfg(feature = "instances")))]
3742pub trait Instances: std::fmt::Debug + Send + Sync {
3743    /// Implements [super::client::Instances::add_access_config].
3744    fn add_access_config(
3745        &self,
3746        _req: crate::model::instances::AddAccessConfigRequest,
3747        _options: crate::RequestOptions,
3748    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3749    {
3750        gaxi::unimplemented::unimplemented_stub()
3751    }
3752
3753    /// Implements [super::client::Instances::add_network_interface].
3754    fn add_network_interface(
3755        &self,
3756        _req: crate::model::instances::AddNetworkInterfaceRequest,
3757        _options: crate::RequestOptions,
3758    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3759    {
3760        gaxi::unimplemented::unimplemented_stub()
3761    }
3762
3763    /// Implements [super::client::Instances::add_resource_policies].
3764    fn add_resource_policies(
3765        &self,
3766        _req: crate::model::instances::AddResourcePoliciesRequest,
3767        _options: crate::RequestOptions,
3768    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3769    {
3770        gaxi::unimplemented::unimplemented_stub()
3771    }
3772
3773    /// Implements [super::client::Instances::aggregated_list].
3774    fn aggregated_list(
3775        &self,
3776        _req: crate::model::instances::AggregatedListRequest,
3777        _options: crate::RequestOptions,
3778    ) -> impl std::future::Future<
3779        Output = crate::Result<crate::Response<crate::model::InstanceAggregatedList>>,
3780    > + Send {
3781        gaxi::unimplemented::unimplemented_stub()
3782    }
3783
3784    /// Implements [super::client::Instances::attach_disk].
3785    fn attach_disk(
3786        &self,
3787        _req: crate::model::instances::AttachDiskRequest,
3788        _options: crate::RequestOptions,
3789    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3790    {
3791        gaxi::unimplemented::unimplemented_stub()
3792    }
3793
3794    /// Implements [super::client::Instances::bulk_insert].
3795    fn bulk_insert(
3796        &self,
3797        _req: crate::model::instances::BulkInsertRequest,
3798        _options: crate::RequestOptions,
3799    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3800    {
3801        gaxi::unimplemented::unimplemented_stub()
3802    }
3803
3804    /// Implements [super::client::Instances::delete].
3805    fn delete(
3806        &self,
3807        _req: crate::model::instances::DeleteRequest,
3808        _options: crate::RequestOptions,
3809    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3810    {
3811        gaxi::unimplemented::unimplemented_stub()
3812    }
3813
3814    /// Implements [super::client::Instances::delete_access_config].
3815    fn delete_access_config(
3816        &self,
3817        _req: crate::model::instances::DeleteAccessConfigRequest,
3818        _options: crate::RequestOptions,
3819    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3820    {
3821        gaxi::unimplemented::unimplemented_stub()
3822    }
3823
3824    /// Implements [super::client::Instances::delete_network_interface].
3825    fn delete_network_interface(
3826        &self,
3827        _req: crate::model::instances::DeleteNetworkInterfaceRequest,
3828        _options: crate::RequestOptions,
3829    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3830    {
3831        gaxi::unimplemented::unimplemented_stub()
3832    }
3833
3834    /// Implements [super::client::Instances::detach_disk].
3835    fn detach_disk(
3836        &self,
3837        _req: crate::model::instances::DetachDiskRequest,
3838        _options: crate::RequestOptions,
3839    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3840    {
3841        gaxi::unimplemented::unimplemented_stub()
3842    }
3843
3844    /// Implements [super::client::Instances::get].
3845    fn get(
3846        &self,
3847        _req: crate::model::instances::GetRequest,
3848        _options: crate::RequestOptions,
3849    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Instance>>> + Send
3850    {
3851        gaxi::unimplemented::unimplemented_stub()
3852    }
3853
3854    /// Implements [super::client::Instances::get_effective_firewalls].
3855    fn get_effective_firewalls(
3856        &self,
3857        _req: crate::model::instances::GetEffectiveFirewallsRequest,
3858        _options: crate::RequestOptions,
3859    ) -> impl std::future::Future<
3860        Output = crate::Result<
3861            crate::Response<crate::model::InstancesGetEffectiveFirewallsResponse>,
3862        >,
3863    > + Send {
3864        gaxi::unimplemented::unimplemented_stub()
3865    }
3866
3867    /// Implements [super::client::Instances::get_guest_attributes].
3868    fn get_guest_attributes(
3869        &self,
3870        _req: crate::model::instances::GetGuestAttributesRequest,
3871        _options: crate::RequestOptions,
3872    ) -> impl std::future::Future<
3873        Output = crate::Result<crate::Response<crate::model::GuestAttributes>>,
3874    > + Send {
3875        gaxi::unimplemented::unimplemented_stub()
3876    }
3877
3878    /// Implements [super::client::Instances::get_iam_policy].
3879    fn get_iam_policy(
3880        &self,
3881        _req: crate::model::instances::GetIamPolicyRequest,
3882        _options: crate::RequestOptions,
3883    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
3884    {
3885        gaxi::unimplemented::unimplemented_stub()
3886    }
3887
3888    /// Implements [super::client::Instances::get_screenshot].
3889    fn get_screenshot(
3890        &self,
3891        _req: crate::model::instances::GetScreenshotRequest,
3892        _options: crate::RequestOptions,
3893    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Screenshot>>> + Send
3894    {
3895        gaxi::unimplemented::unimplemented_stub()
3896    }
3897
3898    /// Implements [super::client::Instances::get_serial_port_output].
3899    fn get_serial_port_output(
3900        &self,
3901        _req: crate::model::instances::GetSerialPortOutputRequest,
3902        _options: crate::RequestOptions,
3903    ) -> impl std::future::Future<
3904        Output = crate::Result<crate::Response<crate::model::SerialPortOutput>>,
3905    > + Send {
3906        gaxi::unimplemented::unimplemented_stub()
3907    }
3908
3909    /// Implements [super::client::Instances::get_shielded_instance_identity].
3910    fn get_shielded_instance_identity(
3911        &self,
3912        _req: crate::model::instances::GetShieldedInstanceIdentityRequest,
3913        _options: crate::RequestOptions,
3914    ) -> impl std::future::Future<
3915        Output = crate::Result<crate::Response<crate::model::ShieldedInstanceIdentity>>,
3916    > + Send {
3917        gaxi::unimplemented::unimplemented_stub()
3918    }
3919
3920    /// Implements [super::client::Instances::insert].
3921    fn insert(
3922        &self,
3923        _req: crate::model::instances::InsertRequest,
3924        _options: crate::RequestOptions,
3925    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3926    {
3927        gaxi::unimplemented::unimplemented_stub()
3928    }
3929
3930    /// Implements [super::client::Instances::list].
3931    fn list(
3932        &self,
3933        _req: crate::model::instances::ListRequest,
3934        _options: crate::RequestOptions,
3935    ) -> impl std::future::Future<
3936        Output = crate::Result<crate::Response<crate::model::InstanceList>>,
3937    > + Send {
3938        gaxi::unimplemented::unimplemented_stub()
3939    }
3940
3941    /// Implements [super::client::Instances::list_referrers].
3942    fn list_referrers(
3943        &self,
3944        _req: crate::model::instances::ListReferrersRequest,
3945        _options: crate::RequestOptions,
3946    ) -> impl std::future::Future<
3947        Output = crate::Result<crate::Response<crate::model::InstanceListReferrers>>,
3948    > + Send {
3949        gaxi::unimplemented::unimplemented_stub()
3950    }
3951
3952    /// Implements [super::client::Instances::perform_maintenance].
3953    fn perform_maintenance(
3954        &self,
3955        _req: crate::model::instances::PerformMaintenanceRequest,
3956        _options: crate::RequestOptions,
3957    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3958    {
3959        gaxi::unimplemented::unimplemented_stub()
3960    }
3961
3962    /// Implements [super::client::Instances::remove_resource_policies].
3963    fn remove_resource_policies(
3964        &self,
3965        _req: crate::model::instances::RemoveResourcePoliciesRequest,
3966        _options: crate::RequestOptions,
3967    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3968    {
3969        gaxi::unimplemented::unimplemented_stub()
3970    }
3971
3972    /// Implements [super::client::Instances::report_host_as_faulty].
3973    fn report_host_as_faulty(
3974        &self,
3975        _req: crate::model::instances::ReportHostAsFaultyRequest,
3976        _options: crate::RequestOptions,
3977    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3978    {
3979        gaxi::unimplemented::unimplemented_stub()
3980    }
3981
3982    /// Implements [super::client::Instances::reset].
3983    fn reset(
3984        &self,
3985        _req: crate::model::instances::ResetRequest,
3986        _options: crate::RequestOptions,
3987    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3988    {
3989        gaxi::unimplemented::unimplemented_stub()
3990    }
3991
3992    /// Implements [super::client::Instances::resume].
3993    fn resume(
3994        &self,
3995        _req: crate::model::instances::ResumeRequest,
3996        _options: crate::RequestOptions,
3997    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3998    {
3999        gaxi::unimplemented::unimplemented_stub()
4000    }
4001
4002    /// Implements [super::client::Instances::send_diagnostic_interrupt].
4003    fn send_diagnostic_interrupt(
4004        &self,
4005        _req: crate::model::instances::SendDiagnosticInterruptRequest,
4006        _options: crate::RequestOptions,
4007    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
4008        gaxi::unimplemented::unimplemented_stub()
4009    }
4010
4011    /// Implements [super::client::Instances::set_deletion_protection].
4012    fn set_deletion_protection(
4013        &self,
4014        _req: crate::model::instances::SetDeletionProtectionRequest,
4015        _options: crate::RequestOptions,
4016    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4017    {
4018        gaxi::unimplemented::unimplemented_stub()
4019    }
4020
4021    /// Implements [super::client::Instances::set_disk_auto_delete].
4022    fn set_disk_auto_delete(
4023        &self,
4024        _req: crate::model::instances::SetDiskAutoDeleteRequest,
4025        _options: crate::RequestOptions,
4026    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4027    {
4028        gaxi::unimplemented::unimplemented_stub()
4029    }
4030
4031    /// Implements [super::client::Instances::set_iam_policy].
4032    fn set_iam_policy(
4033        &self,
4034        _req: crate::model::instances::SetIamPolicyRequest,
4035        _options: crate::RequestOptions,
4036    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4037    {
4038        gaxi::unimplemented::unimplemented_stub()
4039    }
4040
4041    /// Implements [super::client::Instances::set_labels].
4042    fn set_labels(
4043        &self,
4044        _req: crate::model::instances::SetLabelsRequest,
4045        _options: crate::RequestOptions,
4046    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4047    {
4048        gaxi::unimplemented::unimplemented_stub()
4049    }
4050
4051    /// Implements [super::client::Instances::set_machine_resources].
4052    fn set_machine_resources(
4053        &self,
4054        _req: crate::model::instances::SetMachineResourcesRequest,
4055        _options: crate::RequestOptions,
4056    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4057    {
4058        gaxi::unimplemented::unimplemented_stub()
4059    }
4060
4061    /// Implements [super::client::Instances::set_machine_type].
4062    fn set_machine_type(
4063        &self,
4064        _req: crate::model::instances::SetMachineTypeRequest,
4065        _options: crate::RequestOptions,
4066    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4067    {
4068        gaxi::unimplemented::unimplemented_stub()
4069    }
4070
4071    /// Implements [super::client::Instances::set_metadata].
4072    fn set_metadata(
4073        &self,
4074        _req: crate::model::instances::SetMetadataRequest,
4075        _options: crate::RequestOptions,
4076    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4077    {
4078        gaxi::unimplemented::unimplemented_stub()
4079    }
4080
4081    /// Implements [super::client::Instances::set_min_cpu_platform].
4082    fn set_min_cpu_platform(
4083        &self,
4084        _req: crate::model::instances::SetMinCpuPlatformRequest,
4085        _options: crate::RequestOptions,
4086    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4087    {
4088        gaxi::unimplemented::unimplemented_stub()
4089    }
4090
4091    /// Implements [super::client::Instances::set_name].
4092    fn set_name(
4093        &self,
4094        _req: crate::model::instances::SetNameRequest,
4095        _options: crate::RequestOptions,
4096    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4097    {
4098        gaxi::unimplemented::unimplemented_stub()
4099    }
4100
4101    /// Implements [super::client::Instances::set_scheduling].
4102    fn set_scheduling(
4103        &self,
4104        _req: crate::model::instances::SetSchedulingRequest,
4105        _options: crate::RequestOptions,
4106    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4107    {
4108        gaxi::unimplemented::unimplemented_stub()
4109    }
4110
4111    /// Implements [super::client::Instances::set_security_policy].
4112    fn set_security_policy(
4113        &self,
4114        _req: crate::model::instances::SetSecurityPolicyRequest,
4115        _options: crate::RequestOptions,
4116    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4117    {
4118        gaxi::unimplemented::unimplemented_stub()
4119    }
4120
4121    /// Implements [super::client::Instances::set_service_account].
4122    fn set_service_account(
4123        &self,
4124        _req: crate::model::instances::SetServiceAccountRequest,
4125        _options: crate::RequestOptions,
4126    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4127    {
4128        gaxi::unimplemented::unimplemented_stub()
4129    }
4130
4131    /// Implements [super::client::Instances::set_shielded_instance_integrity_policy].
4132    fn set_shielded_instance_integrity_policy(
4133        &self,
4134        _req: crate::model::instances::SetShieldedInstanceIntegrityPolicyRequest,
4135        _options: crate::RequestOptions,
4136    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4137    {
4138        gaxi::unimplemented::unimplemented_stub()
4139    }
4140
4141    /// Implements [super::client::Instances::set_tags].
4142    fn set_tags(
4143        &self,
4144        _req: crate::model::instances::SetTagsRequest,
4145        _options: crate::RequestOptions,
4146    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4147    {
4148        gaxi::unimplemented::unimplemented_stub()
4149    }
4150
4151    /// Implements [super::client::Instances::simulate_maintenance_event].
4152    fn simulate_maintenance_event(
4153        &self,
4154        _req: crate::model::instances::SimulateMaintenanceEventRequest,
4155        _options: crate::RequestOptions,
4156    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4157    {
4158        gaxi::unimplemented::unimplemented_stub()
4159    }
4160
4161    /// Implements [super::client::Instances::start].
4162    fn start(
4163        &self,
4164        _req: crate::model::instances::StartRequest,
4165        _options: crate::RequestOptions,
4166    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4167    {
4168        gaxi::unimplemented::unimplemented_stub()
4169    }
4170
4171    /// Implements [super::client::Instances::start_with_encryption_key].
4172    fn start_with_encryption_key(
4173        &self,
4174        _req: crate::model::instances::StartWithEncryptionKeyRequest,
4175        _options: crate::RequestOptions,
4176    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4177    {
4178        gaxi::unimplemented::unimplemented_stub()
4179    }
4180
4181    /// Implements [super::client::Instances::stop].
4182    fn stop(
4183        &self,
4184        _req: crate::model::instances::StopRequest,
4185        _options: crate::RequestOptions,
4186    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4187    {
4188        gaxi::unimplemented::unimplemented_stub()
4189    }
4190
4191    /// Implements [super::client::Instances::suspend].
4192    fn suspend(
4193        &self,
4194        _req: crate::model::instances::SuspendRequest,
4195        _options: crate::RequestOptions,
4196    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4197    {
4198        gaxi::unimplemented::unimplemented_stub()
4199    }
4200
4201    /// Implements [super::client::Instances::test_iam_permissions].
4202    fn test_iam_permissions(
4203        &self,
4204        _req: crate::model::instances::TestIamPermissionsRequest,
4205        _options: crate::RequestOptions,
4206    ) -> impl std::future::Future<
4207        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4208    > + Send {
4209        gaxi::unimplemented::unimplemented_stub()
4210    }
4211
4212    /// Implements [super::client::Instances::update].
4213    fn update(
4214        &self,
4215        _req: crate::model::instances::UpdateRequest,
4216        _options: crate::RequestOptions,
4217    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4218    {
4219        gaxi::unimplemented::unimplemented_stub()
4220    }
4221
4222    /// Implements [super::client::Instances::update_access_config].
4223    fn update_access_config(
4224        &self,
4225        _req: crate::model::instances::UpdateAccessConfigRequest,
4226        _options: crate::RequestOptions,
4227    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4228    {
4229        gaxi::unimplemented::unimplemented_stub()
4230    }
4231
4232    /// Implements [super::client::Instances::update_display_device].
4233    fn update_display_device(
4234        &self,
4235        _req: crate::model::instances::UpdateDisplayDeviceRequest,
4236        _options: crate::RequestOptions,
4237    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4238    {
4239        gaxi::unimplemented::unimplemented_stub()
4240    }
4241
4242    /// Implements [super::client::Instances::update_network_interface].
4243    fn update_network_interface(
4244        &self,
4245        _req: crate::model::instances::UpdateNetworkInterfaceRequest,
4246        _options: crate::RequestOptions,
4247    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4248    {
4249        gaxi::unimplemented::unimplemented_stub()
4250    }
4251
4252    /// Implements [super::client::Instances::update_shielded_instance_config].
4253    fn update_shielded_instance_config(
4254        &self,
4255        _req: crate::model::instances::UpdateShieldedInstanceConfigRequest,
4256        _options: crate::RequestOptions,
4257    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4258    {
4259        gaxi::unimplemented::unimplemented_stub()
4260    }
4261
4262    /// Implements [super::client::Instances::get_operation].
4263    fn get_operation(
4264        &self,
4265        _req: crate::model::zone_operations::GetRequest,
4266        _options: crate::RequestOptions,
4267    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4268    {
4269        gaxi::unimplemented::unimplemented_stub()
4270    }
4271
4272    /// Returns the polling error policy.
4273    ///
4274    /// When mocking, this method is typically irrelevant. Do not try to verify
4275    /// it is called by your mocks.
4276    fn get_polling_error_policy(
4277        &self,
4278        _options: &crate::RequestOptions,
4279    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4280        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4281    }
4282
4283    /// Returns the polling backoff policy.
4284    ///
4285    /// When mocking, this method is typically irrelevant. Do not try to verify
4286    /// it is called by your mocks.
4287    fn get_polling_backoff_policy(
4288        &self,
4289        _options: &crate::RequestOptions,
4290    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4291        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4292    }
4293}
4294
4295/// Defines the trait used to implement [super::client::InstantSnapshots].
4296///
4297/// Application developers may need to implement this trait to mock
4298/// `client::InstantSnapshots`.  In other use-cases, application developers only
4299/// use `client::InstantSnapshots` and need not be concerned with this trait or
4300/// its implementations.
4301///
4302/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4303/// too. To avoid breaking applications the trait provides a default
4304/// implementation of each method. Most of these implementations just return an
4305/// error.
4306#[cfg(feature = "instant-snapshots")]
4307#[cfg_attr(docsrs, doc(cfg(feature = "instant-snapshots")))]
4308pub trait InstantSnapshots: std::fmt::Debug + Send + Sync {
4309    /// Implements [super::client::InstantSnapshots::aggregated_list].
4310    fn aggregated_list(
4311        &self,
4312        _req: crate::model::instant_snapshots::AggregatedListRequest,
4313        _options: crate::RequestOptions,
4314    ) -> impl std::future::Future<
4315        Output = crate::Result<crate::Response<crate::model::InstantSnapshotAggregatedList>>,
4316    > + Send {
4317        gaxi::unimplemented::unimplemented_stub()
4318    }
4319
4320    /// Implements [super::client::InstantSnapshots::delete].
4321    fn delete(
4322        &self,
4323        _req: crate::model::instant_snapshots::DeleteRequest,
4324        _options: crate::RequestOptions,
4325    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4326    {
4327        gaxi::unimplemented::unimplemented_stub()
4328    }
4329
4330    /// Implements [super::client::InstantSnapshots::get].
4331    fn get(
4332        &self,
4333        _req: crate::model::instant_snapshots::GetRequest,
4334        _options: crate::RequestOptions,
4335    ) -> impl std::future::Future<
4336        Output = crate::Result<crate::Response<crate::model::InstantSnapshot>>,
4337    > + Send {
4338        gaxi::unimplemented::unimplemented_stub()
4339    }
4340
4341    /// Implements [super::client::InstantSnapshots::get_iam_policy].
4342    fn get_iam_policy(
4343        &self,
4344        _req: crate::model::instant_snapshots::GetIamPolicyRequest,
4345        _options: crate::RequestOptions,
4346    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4347    {
4348        gaxi::unimplemented::unimplemented_stub()
4349    }
4350
4351    /// Implements [super::client::InstantSnapshots::insert].
4352    fn insert(
4353        &self,
4354        _req: crate::model::instant_snapshots::InsertRequest,
4355        _options: crate::RequestOptions,
4356    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4357    {
4358        gaxi::unimplemented::unimplemented_stub()
4359    }
4360
4361    /// Implements [super::client::InstantSnapshots::list].
4362    fn list(
4363        &self,
4364        _req: crate::model::instant_snapshots::ListRequest,
4365        _options: crate::RequestOptions,
4366    ) -> impl std::future::Future<
4367        Output = crate::Result<crate::Response<crate::model::InstantSnapshotList>>,
4368    > + Send {
4369        gaxi::unimplemented::unimplemented_stub()
4370    }
4371
4372    /// Implements [super::client::InstantSnapshots::set_iam_policy].
4373    fn set_iam_policy(
4374        &self,
4375        _req: crate::model::instant_snapshots::SetIamPolicyRequest,
4376        _options: crate::RequestOptions,
4377    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4378    {
4379        gaxi::unimplemented::unimplemented_stub()
4380    }
4381
4382    /// Implements [super::client::InstantSnapshots::set_labels].
4383    fn set_labels(
4384        &self,
4385        _req: crate::model::instant_snapshots::SetLabelsRequest,
4386        _options: crate::RequestOptions,
4387    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4388    {
4389        gaxi::unimplemented::unimplemented_stub()
4390    }
4391
4392    /// Implements [super::client::InstantSnapshots::test_iam_permissions].
4393    fn test_iam_permissions(
4394        &self,
4395        _req: crate::model::instant_snapshots::TestIamPermissionsRequest,
4396        _options: crate::RequestOptions,
4397    ) -> impl std::future::Future<
4398        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4399    > + Send {
4400        gaxi::unimplemented::unimplemented_stub()
4401    }
4402
4403    /// Implements [super::client::InstantSnapshots::get_operation].
4404    fn get_operation(
4405        &self,
4406        _req: crate::model::zone_operations::GetRequest,
4407        _options: crate::RequestOptions,
4408    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4409    {
4410        gaxi::unimplemented::unimplemented_stub()
4411    }
4412
4413    /// Returns the polling error policy.
4414    ///
4415    /// When mocking, this method is typically irrelevant. Do not try to verify
4416    /// it is called by your mocks.
4417    fn get_polling_error_policy(
4418        &self,
4419        _options: &crate::RequestOptions,
4420    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4421        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4422    }
4423
4424    /// Returns the polling backoff policy.
4425    ///
4426    /// When mocking, this method is typically irrelevant. Do not try to verify
4427    /// it is called by your mocks.
4428    fn get_polling_backoff_policy(
4429        &self,
4430        _options: &crate::RequestOptions,
4431    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4432        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4433    }
4434}
4435
4436/// Defines the trait used to implement [super::client::InterconnectAttachmentGroups].
4437///
4438/// Application developers may need to implement this trait to mock
4439/// `client::InterconnectAttachmentGroups`.  In other use-cases, application developers only
4440/// use `client::InterconnectAttachmentGroups` and need not be concerned with this trait or
4441/// its implementations.
4442///
4443/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4444/// too. To avoid breaking applications the trait provides a default
4445/// implementation of each method. Most of these implementations just return an
4446/// error.
4447#[cfg(feature = "interconnect-attachment-groups")]
4448#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-attachment-groups")))]
4449pub trait InterconnectAttachmentGroups: std::fmt::Debug + Send + Sync {
4450    /// Implements [super::client::InterconnectAttachmentGroups::delete].
4451    fn delete(
4452        &self,
4453        _req: crate::model::interconnect_attachment_groups::DeleteRequest,
4454        _options: crate::RequestOptions,
4455    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4456    {
4457        gaxi::unimplemented::unimplemented_stub()
4458    }
4459
4460    /// Implements [super::client::InterconnectAttachmentGroups::get].
4461    fn get(
4462        &self,
4463        _req: crate::model::interconnect_attachment_groups::GetRequest,
4464        _options: crate::RequestOptions,
4465    ) -> impl std::future::Future<
4466        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentGroup>>,
4467    > + Send {
4468        gaxi::unimplemented::unimplemented_stub()
4469    }
4470
4471    /// Implements [super::client::InterconnectAttachmentGroups::get_iam_policy].
4472    fn get_iam_policy(
4473        &self,
4474        _req: crate::model::interconnect_attachment_groups::GetIamPolicyRequest,
4475        _options: crate::RequestOptions,
4476    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4477    {
4478        gaxi::unimplemented::unimplemented_stub()
4479    }
4480
4481    /// Implements [super::client::InterconnectAttachmentGroups::get_operational_status].
4482    fn get_operational_status(
4483        &self,
4484        _req: crate::model::interconnect_attachment_groups::GetOperationalStatusRequest,
4485        _options: crate::RequestOptions,
4486    ) -> impl std::future::Future<
4487        Output = crate::Result<
4488            crate::Response<crate::model::InterconnectAttachmentGroupsGetOperationalStatusResponse>,
4489        >,
4490    > + Send {
4491        gaxi::unimplemented::unimplemented_stub()
4492    }
4493
4494    /// Implements [super::client::InterconnectAttachmentGroups::insert].
4495    fn insert(
4496        &self,
4497        _req: crate::model::interconnect_attachment_groups::InsertRequest,
4498        _options: crate::RequestOptions,
4499    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4500    {
4501        gaxi::unimplemented::unimplemented_stub()
4502    }
4503
4504    /// Implements [super::client::InterconnectAttachmentGroups::list].
4505    fn list(
4506        &self,
4507        _req: crate::model::interconnect_attachment_groups::ListRequest,
4508        _options: crate::RequestOptions,
4509    ) -> impl std::future::Future<
4510        Output = crate::Result<
4511            crate::Response<crate::model::InterconnectAttachmentGroupsListResponse>,
4512        >,
4513    > + Send {
4514        gaxi::unimplemented::unimplemented_stub()
4515    }
4516
4517    /// Implements [super::client::InterconnectAttachmentGroups::patch].
4518    fn patch(
4519        &self,
4520        _req: crate::model::interconnect_attachment_groups::PatchRequest,
4521        _options: crate::RequestOptions,
4522    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4523    {
4524        gaxi::unimplemented::unimplemented_stub()
4525    }
4526
4527    /// Implements [super::client::InterconnectAttachmentGroups::set_iam_policy].
4528    fn set_iam_policy(
4529        &self,
4530        _req: crate::model::interconnect_attachment_groups::SetIamPolicyRequest,
4531        _options: crate::RequestOptions,
4532    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4533    {
4534        gaxi::unimplemented::unimplemented_stub()
4535    }
4536
4537    /// Implements [super::client::InterconnectAttachmentGroups::test_iam_permissions].
4538    fn test_iam_permissions(
4539        &self,
4540        _req: crate::model::interconnect_attachment_groups::TestIamPermissionsRequest,
4541        _options: crate::RequestOptions,
4542    ) -> impl std::future::Future<
4543        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4544    > + Send {
4545        gaxi::unimplemented::unimplemented_stub()
4546    }
4547
4548    /// Implements [super::client::InterconnectAttachmentGroups::get_operation].
4549    fn get_operation(
4550        &self,
4551        _req: crate::model::global_operations::GetRequest,
4552        _options: crate::RequestOptions,
4553    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4554    {
4555        gaxi::unimplemented::unimplemented_stub()
4556    }
4557
4558    /// Returns the polling error policy.
4559    ///
4560    /// When mocking, this method is typically irrelevant. Do not try to verify
4561    /// it is called by your mocks.
4562    fn get_polling_error_policy(
4563        &self,
4564        _options: &crate::RequestOptions,
4565    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4566        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4567    }
4568
4569    /// Returns the polling backoff policy.
4570    ///
4571    /// When mocking, this method is typically irrelevant. Do not try to verify
4572    /// it is called by your mocks.
4573    fn get_polling_backoff_policy(
4574        &self,
4575        _options: &crate::RequestOptions,
4576    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4577        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4578    }
4579}
4580
4581/// Defines the trait used to implement [super::client::InterconnectAttachments].
4582///
4583/// Application developers may need to implement this trait to mock
4584/// `client::InterconnectAttachments`.  In other use-cases, application developers only
4585/// use `client::InterconnectAttachments` and need not be concerned with this trait or
4586/// its implementations.
4587///
4588/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4589/// too. To avoid breaking applications the trait provides a default
4590/// implementation of each method. Most of these implementations just return an
4591/// error.
4592#[cfg(feature = "interconnect-attachments")]
4593#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-attachments")))]
4594pub trait InterconnectAttachments: std::fmt::Debug + Send + Sync {
4595    /// Implements [super::client::InterconnectAttachments::aggregated_list].
4596    fn aggregated_list(
4597        &self,
4598        _req: crate::model::interconnect_attachments::AggregatedListRequest,
4599        _options: crate::RequestOptions,
4600    ) -> impl std::future::Future<
4601        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentAggregatedList>>,
4602    > + Send {
4603        gaxi::unimplemented::unimplemented_stub()
4604    }
4605
4606    /// Implements [super::client::InterconnectAttachments::delete].
4607    fn delete(
4608        &self,
4609        _req: crate::model::interconnect_attachments::DeleteRequest,
4610        _options: crate::RequestOptions,
4611    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4612    {
4613        gaxi::unimplemented::unimplemented_stub()
4614    }
4615
4616    /// Implements [super::client::InterconnectAttachments::get].
4617    fn get(
4618        &self,
4619        _req: crate::model::interconnect_attachments::GetRequest,
4620        _options: crate::RequestOptions,
4621    ) -> impl std::future::Future<
4622        Output = crate::Result<crate::Response<crate::model::InterconnectAttachment>>,
4623    > + Send {
4624        gaxi::unimplemented::unimplemented_stub()
4625    }
4626
4627    /// Implements [super::client::InterconnectAttachments::insert].
4628    fn insert(
4629        &self,
4630        _req: crate::model::interconnect_attachments::InsertRequest,
4631        _options: crate::RequestOptions,
4632    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4633    {
4634        gaxi::unimplemented::unimplemented_stub()
4635    }
4636
4637    /// Implements [super::client::InterconnectAttachments::list].
4638    fn list(
4639        &self,
4640        _req: crate::model::interconnect_attachments::ListRequest,
4641        _options: crate::RequestOptions,
4642    ) -> impl std::future::Future<
4643        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentList>>,
4644    > + Send {
4645        gaxi::unimplemented::unimplemented_stub()
4646    }
4647
4648    /// Implements [super::client::InterconnectAttachments::patch].
4649    fn patch(
4650        &self,
4651        _req: crate::model::interconnect_attachments::PatchRequest,
4652        _options: crate::RequestOptions,
4653    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4654    {
4655        gaxi::unimplemented::unimplemented_stub()
4656    }
4657
4658    /// Implements [super::client::InterconnectAttachments::set_labels].
4659    fn set_labels(
4660        &self,
4661        _req: crate::model::interconnect_attachments::SetLabelsRequest,
4662        _options: crate::RequestOptions,
4663    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4664    {
4665        gaxi::unimplemented::unimplemented_stub()
4666    }
4667
4668    /// Implements [super::client::InterconnectAttachments::get_operation].
4669    fn get_operation(
4670        &self,
4671        _req: crate::model::region_operations::GetRequest,
4672        _options: crate::RequestOptions,
4673    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4674    {
4675        gaxi::unimplemented::unimplemented_stub()
4676    }
4677
4678    /// Returns the polling error policy.
4679    ///
4680    /// When mocking, this method is typically irrelevant. Do not try to verify
4681    /// it is called by your mocks.
4682    fn get_polling_error_policy(
4683        &self,
4684        _options: &crate::RequestOptions,
4685    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4686        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4687    }
4688
4689    /// Returns the polling backoff policy.
4690    ///
4691    /// When mocking, this method is typically irrelevant. Do not try to verify
4692    /// it is called by your mocks.
4693    fn get_polling_backoff_policy(
4694        &self,
4695        _options: &crate::RequestOptions,
4696    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4697        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4698    }
4699}
4700
4701/// Defines the trait used to implement [super::client::InterconnectGroups].
4702///
4703/// Application developers may need to implement this trait to mock
4704/// `client::InterconnectGroups`.  In other use-cases, application developers only
4705/// use `client::InterconnectGroups` and need not be concerned with this trait or
4706/// its implementations.
4707///
4708/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4709/// too. To avoid breaking applications the trait provides a default
4710/// implementation of each method. Most of these implementations just return an
4711/// error.
4712#[cfg(feature = "interconnect-groups")]
4713#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-groups")))]
4714pub trait InterconnectGroups: std::fmt::Debug + Send + Sync {
4715    /// Implements [super::client::InterconnectGroups::create_members].
4716    fn create_members(
4717        &self,
4718        _req: crate::model::interconnect_groups::CreateMembersRequest,
4719        _options: crate::RequestOptions,
4720    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4721    {
4722        gaxi::unimplemented::unimplemented_stub()
4723    }
4724
4725    /// Implements [super::client::InterconnectGroups::delete].
4726    fn delete(
4727        &self,
4728        _req: crate::model::interconnect_groups::DeleteRequest,
4729        _options: crate::RequestOptions,
4730    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4731    {
4732        gaxi::unimplemented::unimplemented_stub()
4733    }
4734
4735    /// Implements [super::client::InterconnectGroups::get].
4736    fn get(
4737        &self,
4738        _req: crate::model::interconnect_groups::GetRequest,
4739        _options: crate::RequestOptions,
4740    ) -> impl std::future::Future<
4741        Output = crate::Result<crate::Response<crate::model::InterconnectGroup>>,
4742    > + Send {
4743        gaxi::unimplemented::unimplemented_stub()
4744    }
4745
4746    /// Implements [super::client::InterconnectGroups::get_iam_policy].
4747    fn get_iam_policy(
4748        &self,
4749        _req: crate::model::interconnect_groups::GetIamPolicyRequest,
4750        _options: crate::RequestOptions,
4751    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4752    {
4753        gaxi::unimplemented::unimplemented_stub()
4754    }
4755
4756    /// Implements [super::client::InterconnectGroups::get_operational_status].
4757    fn get_operational_status(
4758        &self,
4759        _req: crate::model::interconnect_groups::GetOperationalStatusRequest,
4760        _options: crate::RequestOptions,
4761    ) -> impl std::future::Future<
4762        Output = crate::Result<
4763            crate::Response<crate::model::InterconnectGroupsGetOperationalStatusResponse>,
4764        >,
4765    > + Send {
4766        gaxi::unimplemented::unimplemented_stub()
4767    }
4768
4769    /// Implements [super::client::InterconnectGroups::insert].
4770    fn insert(
4771        &self,
4772        _req: crate::model::interconnect_groups::InsertRequest,
4773        _options: crate::RequestOptions,
4774    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4775    {
4776        gaxi::unimplemented::unimplemented_stub()
4777    }
4778
4779    /// Implements [super::client::InterconnectGroups::list].
4780    fn list(
4781        &self,
4782        _req: crate::model::interconnect_groups::ListRequest,
4783        _options: crate::RequestOptions,
4784    ) -> impl std::future::Future<
4785        Output = crate::Result<crate::Response<crate::model::InterconnectGroupsListResponse>>,
4786    > + Send {
4787        gaxi::unimplemented::unimplemented_stub()
4788    }
4789
4790    /// Implements [super::client::InterconnectGroups::patch].
4791    fn patch(
4792        &self,
4793        _req: crate::model::interconnect_groups::PatchRequest,
4794        _options: crate::RequestOptions,
4795    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4796    {
4797        gaxi::unimplemented::unimplemented_stub()
4798    }
4799
4800    /// Implements [super::client::InterconnectGroups::set_iam_policy].
4801    fn set_iam_policy(
4802        &self,
4803        _req: crate::model::interconnect_groups::SetIamPolicyRequest,
4804        _options: crate::RequestOptions,
4805    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4806    {
4807        gaxi::unimplemented::unimplemented_stub()
4808    }
4809
4810    /// Implements [super::client::InterconnectGroups::test_iam_permissions].
4811    fn test_iam_permissions(
4812        &self,
4813        _req: crate::model::interconnect_groups::TestIamPermissionsRequest,
4814        _options: crate::RequestOptions,
4815    ) -> impl std::future::Future<
4816        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4817    > + Send {
4818        gaxi::unimplemented::unimplemented_stub()
4819    }
4820
4821    /// Implements [super::client::InterconnectGroups::get_operation].
4822    fn get_operation(
4823        &self,
4824        _req: crate::model::global_operations::GetRequest,
4825        _options: crate::RequestOptions,
4826    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4827    {
4828        gaxi::unimplemented::unimplemented_stub()
4829    }
4830
4831    /// Returns the polling error policy.
4832    ///
4833    /// When mocking, this method is typically irrelevant. Do not try to verify
4834    /// it is called by your mocks.
4835    fn get_polling_error_policy(
4836        &self,
4837        _options: &crate::RequestOptions,
4838    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4839        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4840    }
4841
4842    /// Returns the polling backoff policy.
4843    ///
4844    /// When mocking, this method is typically irrelevant. Do not try to verify
4845    /// it is called by your mocks.
4846    fn get_polling_backoff_policy(
4847        &self,
4848        _options: &crate::RequestOptions,
4849    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4850        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4851    }
4852}
4853
4854/// Defines the trait used to implement [super::client::InterconnectLocations].
4855///
4856/// Application developers may need to implement this trait to mock
4857/// `client::InterconnectLocations`.  In other use-cases, application developers only
4858/// use `client::InterconnectLocations` and need not be concerned with this trait or
4859/// its implementations.
4860///
4861/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4862/// too. To avoid breaking applications the trait provides a default
4863/// implementation of each method. Most of these implementations just return an
4864/// error.
4865#[cfg(feature = "interconnect-locations")]
4866#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-locations")))]
4867pub trait InterconnectLocations: std::fmt::Debug + Send + Sync {
4868    /// Implements [super::client::InterconnectLocations::get].
4869    fn get(
4870        &self,
4871        _req: crate::model::interconnect_locations::GetRequest,
4872        _options: crate::RequestOptions,
4873    ) -> impl std::future::Future<
4874        Output = crate::Result<crate::Response<crate::model::InterconnectLocation>>,
4875    > + Send {
4876        gaxi::unimplemented::unimplemented_stub()
4877    }
4878
4879    /// Implements [super::client::InterconnectLocations::list].
4880    fn list(
4881        &self,
4882        _req: crate::model::interconnect_locations::ListRequest,
4883        _options: crate::RequestOptions,
4884    ) -> impl std::future::Future<
4885        Output = crate::Result<crate::Response<crate::model::InterconnectLocationList>>,
4886    > + Send {
4887        gaxi::unimplemented::unimplemented_stub()
4888    }
4889}
4890
4891/// Defines the trait used to implement [super::client::InterconnectRemoteLocations].
4892///
4893/// Application developers may need to implement this trait to mock
4894/// `client::InterconnectRemoteLocations`.  In other use-cases, application developers only
4895/// use `client::InterconnectRemoteLocations` and need not be concerned with this trait or
4896/// its implementations.
4897///
4898/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4899/// too. To avoid breaking applications the trait provides a default
4900/// implementation of each method. Most of these implementations just return an
4901/// error.
4902#[cfg(feature = "interconnect-remote-locations")]
4903#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-remote-locations")))]
4904pub trait InterconnectRemoteLocations: std::fmt::Debug + Send + Sync {
4905    /// Implements [super::client::InterconnectRemoteLocations::get].
4906    fn get(
4907        &self,
4908        _req: crate::model::interconnect_remote_locations::GetRequest,
4909        _options: crate::RequestOptions,
4910    ) -> impl std::future::Future<
4911        Output = crate::Result<crate::Response<crate::model::InterconnectRemoteLocation>>,
4912    > + Send {
4913        gaxi::unimplemented::unimplemented_stub()
4914    }
4915
4916    /// Implements [super::client::InterconnectRemoteLocations::list].
4917    fn list(
4918        &self,
4919        _req: crate::model::interconnect_remote_locations::ListRequest,
4920        _options: crate::RequestOptions,
4921    ) -> impl std::future::Future<
4922        Output = crate::Result<crate::Response<crate::model::InterconnectRemoteLocationList>>,
4923    > + Send {
4924        gaxi::unimplemented::unimplemented_stub()
4925    }
4926}
4927
4928/// Defines the trait used to implement [super::client::Interconnects].
4929///
4930/// Application developers may need to implement this trait to mock
4931/// `client::Interconnects`.  In other use-cases, application developers only
4932/// use `client::Interconnects` and need not be concerned with this trait or
4933/// its implementations.
4934///
4935/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4936/// too. To avoid breaking applications the trait provides a default
4937/// implementation of each method. Most of these implementations just return an
4938/// error.
4939#[cfg(feature = "interconnects")]
4940#[cfg_attr(docsrs, doc(cfg(feature = "interconnects")))]
4941pub trait Interconnects: std::fmt::Debug + Send + Sync {
4942    /// Implements [super::client::Interconnects::delete].
4943    fn delete(
4944        &self,
4945        _req: crate::model::interconnects::DeleteRequest,
4946        _options: crate::RequestOptions,
4947    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4948    {
4949        gaxi::unimplemented::unimplemented_stub()
4950    }
4951
4952    /// Implements [super::client::Interconnects::get].
4953    fn get(
4954        &self,
4955        _req: crate::model::interconnects::GetRequest,
4956        _options: crate::RequestOptions,
4957    ) -> impl std::future::Future<
4958        Output = crate::Result<crate::Response<crate::model::Interconnect>>,
4959    > + Send {
4960        gaxi::unimplemented::unimplemented_stub()
4961    }
4962
4963    /// Implements [super::client::Interconnects::get_diagnostics].
4964    fn get_diagnostics(
4965        &self,
4966        _req: crate::model::interconnects::GetDiagnosticsRequest,
4967        _options: crate::RequestOptions,
4968    ) -> impl std::future::Future<
4969        Output = crate::Result<crate::Response<crate::model::InterconnectsGetDiagnosticsResponse>>,
4970    > + Send {
4971        gaxi::unimplemented::unimplemented_stub()
4972    }
4973
4974    /// Implements [super::client::Interconnects::get_macsec_config].
4975    fn get_macsec_config(
4976        &self,
4977        _req: crate::model::interconnects::GetMacsecConfigRequest,
4978        _options: crate::RequestOptions,
4979    ) -> impl std::future::Future<
4980        Output = crate::Result<crate::Response<crate::model::InterconnectsGetMacsecConfigResponse>>,
4981    > + Send {
4982        gaxi::unimplemented::unimplemented_stub()
4983    }
4984
4985    /// Implements [super::client::Interconnects::insert].
4986    fn insert(
4987        &self,
4988        _req: crate::model::interconnects::InsertRequest,
4989        _options: crate::RequestOptions,
4990    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4991    {
4992        gaxi::unimplemented::unimplemented_stub()
4993    }
4994
4995    /// Implements [super::client::Interconnects::list].
4996    fn list(
4997        &self,
4998        _req: crate::model::interconnects::ListRequest,
4999        _options: crate::RequestOptions,
5000    ) -> impl std::future::Future<
5001        Output = crate::Result<crate::Response<crate::model::InterconnectList>>,
5002    > + Send {
5003        gaxi::unimplemented::unimplemented_stub()
5004    }
5005
5006    /// Implements [super::client::Interconnects::patch].
5007    fn patch(
5008        &self,
5009        _req: crate::model::interconnects::PatchRequest,
5010        _options: crate::RequestOptions,
5011    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5012    {
5013        gaxi::unimplemented::unimplemented_stub()
5014    }
5015
5016    /// Implements [super::client::Interconnects::set_labels].
5017    fn set_labels(
5018        &self,
5019        _req: crate::model::interconnects::SetLabelsRequest,
5020        _options: crate::RequestOptions,
5021    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5022    {
5023        gaxi::unimplemented::unimplemented_stub()
5024    }
5025
5026    /// Implements [super::client::Interconnects::get_operation].
5027    fn get_operation(
5028        &self,
5029        _req: crate::model::global_operations::GetRequest,
5030        _options: crate::RequestOptions,
5031    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5032    {
5033        gaxi::unimplemented::unimplemented_stub()
5034    }
5035
5036    /// Returns the polling error policy.
5037    ///
5038    /// When mocking, this method is typically irrelevant. Do not try to verify
5039    /// it is called by your mocks.
5040    fn get_polling_error_policy(
5041        &self,
5042        _options: &crate::RequestOptions,
5043    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5044        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5045    }
5046
5047    /// Returns the polling backoff policy.
5048    ///
5049    /// When mocking, this method is typically irrelevant. Do not try to verify
5050    /// it is called by your mocks.
5051    fn get_polling_backoff_policy(
5052        &self,
5053        _options: &crate::RequestOptions,
5054    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5055        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5056    }
5057}
5058
5059/// Defines the trait used to implement [super::client::LicenseCodes].
5060///
5061/// Application developers may need to implement this trait to mock
5062/// `client::LicenseCodes`.  In other use-cases, application developers only
5063/// use `client::LicenseCodes` and need not be concerned with this trait or
5064/// its implementations.
5065///
5066/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5067/// too. To avoid breaking applications the trait provides a default
5068/// implementation of each method. Most of these implementations just return an
5069/// error.
5070#[cfg(feature = "license-codes")]
5071#[cfg_attr(docsrs, doc(cfg(feature = "license-codes")))]
5072pub trait LicenseCodes: std::fmt::Debug + Send + Sync {
5073    /// Implements [super::client::LicenseCodes::get].
5074    fn get(
5075        &self,
5076        _req: crate::model::license_codes::GetRequest,
5077        _options: crate::RequestOptions,
5078    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::LicenseCode>>>
5079    + Send {
5080        gaxi::unimplemented::unimplemented_stub()
5081    }
5082
5083    /// Implements [super::client::LicenseCodes::test_iam_permissions].
5084    fn test_iam_permissions(
5085        &self,
5086        _req: crate::model::license_codes::TestIamPermissionsRequest,
5087        _options: crate::RequestOptions,
5088    ) -> impl std::future::Future<
5089        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5090    > + Send {
5091        gaxi::unimplemented::unimplemented_stub()
5092    }
5093}
5094
5095/// Defines the trait used to implement [super::client::Licenses].
5096///
5097/// Application developers may need to implement this trait to mock
5098/// `client::Licenses`.  In other use-cases, application developers only
5099/// use `client::Licenses` and need not be concerned with this trait or
5100/// its implementations.
5101///
5102/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5103/// too. To avoid breaking applications the trait provides a default
5104/// implementation of each method. Most of these implementations just return an
5105/// error.
5106#[cfg(feature = "licenses")]
5107#[cfg_attr(docsrs, doc(cfg(feature = "licenses")))]
5108pub trait Licenses: std::fmt::Debug + Send + Sync {
5109    /// Implements [super::client::Licenses::delete].
5110    fn delete(
5111        &self,
5112        _req: crate::model::licenses::DeleteRequest,
5113        _options: crate::RequestOptions,
5114    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5115    {
5116        gaxi::unimplemented::unimplemented_stub()
5117    }
5118
5119    /// Implements [super::client::Licenses::get].
5120    fn get(
5121        &self,
5122        _req: crate::model::licenses::GetRequest,
5123        _options: crate::RequestOptions,
5124    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::License>>> + Send
5125    {
5126        gaxi::unimplemented::unimplemented_stub()
5127    }
5128
5129    /// Implements [super::client::Licenses::get_iam_policy].
5130    fn get_iam_policy(
5131        &self,
5132        _req: crate::model::licenses::GetIamPolicyRequest,
5133        _options: crate::RequestOptions,
5134    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5135    {
5136        gaxi::unimplemented::unimplemented_stub()
5137    }
5138
5139    /// Implements [super::client::Licenses::insert].
5140    fn insert(
5141        &self,
5142        _req: crate::model::licenses::InsertRequest,
5143        _options: crate::RequestOptions,
5144    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5145    {
5146        gaxi::unimplemented::unimplemented_stub()
5147    }
5148
5149    /// Implements [super::client::Licenses::list].
5150    fn list(
5151        &self,
5152        _req: crate::model::licenses::ListRequest,
5153        _options: crate::RequestOptions,
5154    ) -> impl std::future::Future<
5155        Output = crate::Result<crate::Response<crate::model::LicensesListResponse>>,
5156    > + Send {
5157        gaxi::unimplemented::unimplemented_stub()
5158    }
5159
5160    /// Implements [super::client::Licenses::set_iam_policy].
5161    fn set_iam_policy(
5162        &self,
5163        _req: crate::model::licenses::SetIamPolicyRequest,
5164        _options: crate::RequestOptions,
5165    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5166    {
5167        gaxi::unimplemented::unimplemented_stub()
5168    }
5169
5170    /// Implements [super::client::Licenses::test_iam_permissions].
5171    fn test_iam_permissions(
5172        &self,
5173        _req: crate::model::licenses::TestIamPermissionsRequest,
5174        _options: crate::RequestOptions,
5175    ) -> impl std::future::Future<
5176        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5177    > + Send {
5178        gaxi::unimplemented::unimplemented_stub()
5179    }
5180
5181    /// Implements [super::client::Licenses::update].
5182    fn update(
5183        &self,
5184        _req: crate::model::licenses::UpdateRequest,
5185        _options: crate::RequestOptions,
5186    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5187    {
5188        gaxi::unimplemented::unimplemented_stub()
5189    }
5190
5191    /// Implements [super::client::Licenses::get_operation].
5192    fn get_operation(
5193        &self,
5194        _req: crate::model::global_operations::GetRequest,
5195        _options: crate::RequestOptions,
5196    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5197    {
5198        gaxi::unimplemented::unimplemented_stub()
5199    }
5200
5201    /// Returns the polling error policy.
5202    ///
5203    /// When mocking, this method is typically irrelevant. Do not try to verify
5204    /// it is called by your mocks.
5205    fn get_polling_error_policy(
5206        &self,
5207        _options: &crate::RequestOptions,
5208    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5209        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5210    }
5211
5212    /// Returns the polling backoff policy.
5213    ///
5214    /// When mocking, this method is typically irrelevant. Do not try to verify
5215    /// it is called by your mocks.
5216    fn get_polling_backoff_policy(
5217        &self,
5218        _options: &crate::RequestOptions,
5219    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5220        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5221    }
5222}
5223
5224/// Defines the trait used to implement [super::client::MachineImages].
5225///
5226/// Application developers may need to implement this trait to mock
5227/// `client::MachineImages`.  In other use-cases, application developers only
5228/// use `client::MachineImages` and need not be concerned with this trait or
5229/// its implementations.
5230///
5231/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5232/// too. To avoid breaking applications the trait provides a default
5233/// implementation of each method. Most of these implementations just return an
5234/// error.
5235#[cfg(feature = "machine-images")]
5236#[cfg_attr(docsrs, doc(cfg(feature = "machine-images")))]
5237pub trait MachineImages: std::fmt::Debug + Send + Sync {
5238    /// Implements [super::client::MachineImages::delete].
5239    fn delete(
5240        &self,
5241        _req: crate::model::machine_images::DeleteRequest,
5242        _options: crate::RequestOptions,
5243    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5244    {
5245        gaxi::unimplemented::unimplemented_stub()
5246    }
5247
5248    /// Implements [super::client::MachineImages::get].
5249    fn get(
5250        &self,
5251        _req: crate::model::machine_images::GetRequest,
5252        _options: crate::RequestOptions,
5253    ) -> impl std::future::Future<
5254        Output = crate::Result<crate::Response<crate::model::MachineImage>>,
5255    > + Send {
5256        gaxi::unimplemented::unimplemented_stub()
5257    }
5258
5259    /// Implements [super::client::MachineImages::get_iam_policy].
5260    fn get_iam_policy(
5261        &self,
5262        _req: crate::model::machine_images::GetIamPolicyRequest,
5263        _options: crate::RequestOptions,
5264    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5265    {
5266        gaxi::unimplemented::unimplemented_stub()
5267    }
5268
5269    /// Implements [super::client::MachineImages::insert].
5270    fn insert(
5271        &self,
5272        _req: crate::model::machine_images::InsertRequest,
5273        _options: crate::RequestOptions,
5274    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5275    {
5276        gaxi::unimplemented::unimplemented_stub()
5277    }
5278
5279    /// Implements [super::client::MachineImages::list].
5280    fn list(
5281        &self,
5282        _req: crate::model::machine_images::ListRequest,
5283        _options: crate::RequestOptions,
5284    ) -> impl std::future::Future<
5285        Output = crate::Result<crate::Response<crate::model::MachineImageList>>,
5286    > + Send {
5287        gaxi::unimplemented::unimplemented_stub()
5288    }
5289
5290    /// Implements [super::client::MachineImages::set_iam_policy].
5291    fn set_iam_policy(
5292        &self,
5293        _req: crate::model::machine_images::SetIamPolicyRequest,
5294        _options: crate::RequestOptions,
5295    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5296    {
5297        gaxi::unimplemented::unimplemented_stub()
5298    }
5299
5300    /// Implements [super::client::MachineImages::set_labels].
5301    fn set_labels(
5302        &self,
5303        _req: crate::model::machine_images::SetLabelsRequest,
5304        _options: crate::RequestOptions,
5305    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5306    {
5307        gaxi::unimplemented::unimplemented_stub()
5308    }
5309
5310    /// Implements [super::client::MachineImages::test_iam_permissions].
5311    fn test_iam_permissions(
5312        &self,
5313        _req: crate::model::machine_images::TestIamPermissionsRequest,
5314        _options: crate::RequestOptions,
5315    ) -> impl std::future::Future<
5316        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5317    > + Send {
5318        gaxi::unimplemented::unimplemented_stub()
5319    }
5320
5321    /// Implements [super::client::MachineImages::get_operation].
5322    fn get_operation(
5323        &self,
5324        _req: crate::model::global_operations::GetRequest,
5325        _options: crate::RequestOptions,
5326    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5327    {
5328        gaxi::unimplemented::unimplemented_stub()
5329    }
5330
5331    /// Returns the polling error policy.
5332    ///
5333    /// When mocking, this method is typically irrelevant. Do not try to verify
5334    /// it is called by your mocks.
5335    fn get_polling_error_policy(
5336        &self,
5337        _options: &crate::RequestOptions,
5338    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5339        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5340    }
5341
5342    /// Returns the polling backoff policy.
5343    ///
5344    /// When mocking, this method is typically irrelevant. Do not try to verify
5345    /// it is called by your mocks.
5346    fn get_polling_backoff_policy(
5347        &self,
5348        _options: &crate::RequestOptions,
5349    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5350        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5351    }
5352}
5353
5354/// Defines the trait used to implement [super::client::MachineTypes].
5355///
5356/// Application developers may need to implement this trait to mock
5357/// `client::MachineTypes`.  In other use-cases, application developers only
5358/// use `client::MachineTypes` and need not be concerned with this trait or
5359/// its implementations.
5360///
5361/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5362/// too. To avoid breaking applications the trait provides a default
5363/// implementation of each method. Most of these implementations just return an
5364/// error.
5365#[cfg(feature = "machine-types")]
5366#[cfg_attr(docsrs, doc(cfg(feature = "machine-types")))]
5367pub trait MachineTypes: std::fmt::Debug + Send + Sync {
5368    /// Implements [super::client::MachineTypes::aggregated_list].
5369    fn aggregated_list(
5370        &self,
5371        _req: crate::model::machine_types::AggregatedListRequest,
5372        _options: crate::RequestOptions,
5373    ) -> impl std::future::Future<
5374        Output = crate::Result<crate::Response<crate::model::MachineTypeAggregatedList>>,
5375    > + Send {
5376        gaxi::unimplemented::unimplemented_stub()
5377    }
5378
5379    /// Implements [super::client::MachineTypes::get].
5380    fn get(
5381        &self,
5382        _req: crate::model::machine_types::GetRequest,
5383        _options: crate::RequestOptions,
5384    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::MachineType>>>
5385    + Send {
5386        gaxi::unimplemented::unimplemented_stub()
5387    }
5388
5389    /// Implements [super::client::MachineTypes::list].
5390    fn list(
5391        &self,
5392        _req: crate::model::machine_types::ListRequest,
5393        _options: crate::RequestOptions,
5394    ) -> impl std::future::Future<
5395        Output = crate::Result<crate::Response<crate::model::MachineTypeList>>,
5396    > + Send {
5397        gaxi::unimplemented::unimplemented_stub()
5398    }
5399}
5400
5401/// Defines the trait used to implement [super::client::NetworkAttachments].
5402///
5403/// Application developers may need to implement this trait to mock
5404/// `client::NetworkAttachments`.  In other use-cases, application developers only
5405/// use `client::NetworkAttachments` and need not be concerned with this trait or
5406/// its implementations.
5407///
5408/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5409/// too. To avoid breaking applications the trait provides a default
5410/// implementation of each method. Most of these implementations just return an
5411/// error.
5412#[cfg(feature = "network-attachments")]
5413#[cfg_attr(docsrs, doc(cfg(feature = "network-attachments")))]
5414pub trait NetworkAttachments: std::fmt::Debug + Send + Sync {
5415    /// Implements [super::client::NetworkAttachments::aggregated_list].
5416    fn aggregated_list(
5417        &self,
5418        _req: crate::model::network_attachments::AggregatedListRequest,
5419        _options: crate::RequestOptions,
5420    ) -> impl std::future::Future<
5421        Output = crate::Result<crate::Response<crate::model::NetworkAttachmentAggregatedList>>,
5422    > + Send {
5423        gaxi::unimplemented::unimplemented_stub()
5424    }
5425
5426    /// Implements [super::client::NetworkAttachments::delete].
5427    fn delete(
5428        &self,
5429        _req: crate::model::network_attachments::DeleteRequest,
5430        _options: crate::RequestOptions,
5431    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5432    {
5433        gaxi::unimplemented::unimplemented_stub()
5434    }
5435
5436    /// Implements [super::client::NetworkAttachments::get].
5437    fn get(
5438        &self,
5439        _req: crate::model::network_attachments::GetRequest,
5440        _options: crate::RequestOptions,
5441    ) -> impl std::future::Future<
5442        Output = crate::Result<crate::Response<crate::model::NetworkAttachment>>,
5443    > + Send {
5444        gaxi::unimplemented::unimplemented_stub()
5445    }
5446
5447    /// Implements [super::client::NetworkAttachments::get_iam_policy].
5448    fn get_iam_policy(
5449        &self,
5450        _req: crate::model::network_attachments::GetIamPolicyRequest,
5451        _options: crate::RequestOptions,
5452    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5453    {
5454        gaxi::unimplemented::unimplemented_stub()
5455    }
5456
5457    /// Implements [super::client::NetworkAttachments::insert].
5458    fn insert(
5459        &self,
5460        _req: crate::model::network_attachments::InsertRequest,
5461        _options: crate::RequestOptions,
5462    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5463    {
5464        gaxi::unimplemented::unimplemented_stub()
5465    }
5466
5467    /// Implements [super::client::NetworkAttachments::list].
5468    fn list(
5469        &self,
5470        _req: crate::model::network_attachments::ListRequest,
5471        _options: crate::RequestOptions,
5472    ) -> impl std::future::Future<
5473        Output = crate::Result<crate::Response<crate::model::NetworkAttachmentList>>,
5474    > + Send {
5475        gaxi::unimplemented::unimplemented_stub()
5476    }
5477
5478    /// Implements [super::client::NetworkAttachments::patch].
5479    fn patch(
5480        &self,
5481        _req: crate::model::network_attachments::PatchRequest,
5482        _options: crate::RequestOptions,
5483    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5484    {
5485        gaxi::unimplemented::unimplemented_stub()
5486    }
5487
5488    /// Implements [super::client::NetworkAttachments::set_iam_policy].
5489    fn set_iam_policy(
5490        &self,
5491        _req: crate::model::network_attachments::SetIamPolicyRequest,
5492        _options: crate::RequestOptions,
5493    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5494    {
5495        gaxi::unimplemented::unimplemented_stub()
5496    }
5497
5498    /// Implements [super::client::NetworkAttachments::test_iam_permissions].
5499    fn test_iam_permissions(
5500        &self,
5501        _req: crate::model::network_attachments::TestIamPermissionsRequest,
5502        _options: crate::RequestOptions,
5503    ) -> impl std::future::Future<
5504        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5505    > + Send {
5506        gaxi::unimplemented::unimplemented_stub()
5507    }
5508
5509    /// Implements [super::client::NetworkAttachments::get_operation].
5510    fn get_operation(
5511        &self,
5512        _req: crate::model::region_operations::GetRequest,
5513        _options: crate::RequestOptions,
5514    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5515    {
5516        gaxi::unimplemented::unimplemented_stub()
5517    }
5518
5519    /// Returns the polling error policy.
5520    ///
5521    /// When mocking, this method is typically irrelevant. Do not try to verify
5522    /// it is called by your mocks.
5523    fn get_polling_error_policy(
5524        &self,
5525        _options: &crate::RequestOptions,
5526    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5527        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5528    }
5529
5530    /// Returns the polling backoff policy.
5531    ///
5532    /// When mocking, this method is typically irrelevant. Do not try to verify
5533    /// it is called by your mocks.
5534    fn get_polling_backoff_policy(
5535        &self,
5536        _options: &crate::RequestOptions,
5537    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5538        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5539    }
5540}
5541
5542/// Defines the trait used to implement [super::client::NetworkEdgeSecurityServices].
5543///
5544/// Application developers may need to implement this trait to mock
5545/// `client::NetworkEdgeSecurityServices`.  In other use-cases, application developers only
5546/// use `client::NetworkEdgeSecurityServices` and need not be concerned with this trait or
5547/// its implementations.
5548///
5549/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5550/// too. To avoid breaking applications the trait provides a default
5551/// implementation of each method. Most of these implementations just return an
5552/// error.
5553#[cfg(feature = "network-edge-security-services")]
5554#[cfg_attr(docsrs, doc(cfg(feature = "network-edge-security-services")))]
5555pub trait NetworkEdgeSecurityServices: std::fmt::Debug + Send + Sync {
5556    /// Implements [super::client::NetworkEdgeSecurityServices::aggregated_list].
5557    fn aggregated_list(
5558        &self,
5559        _req: crate::model::network_edge_security_services::AggregatedListRequest,
5560        _options: crate::RequestOptions,
5561    ) -> impl std::future::Future<
5562        Output = crate::Result<
5563            crate::Response<crate::model::NetworkEdgeSecurityServiceAggregatedList>,
5564        >,
5565    > + Send {
5566        gaxi::unimplemented::unimplemented_stub()
5567    }
5568
5569    /// Implements [super::client::NetworkEdgeSecurityServices::delete].
5570    fn delete(
5571        &self,
5572        _req: crate::model::network_edge_security_services::DeleteRequest,
5573        _options: crate::RequestOptions,
5574    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5575    {
5576        gaxi::unimplemented::unimplemented_stub()
5577    }
5578
5579    /// Implements [super::client::NetworkEdgeSecurityServices::get].
5580    fn get(
5581        &self,
5582        _req: crate::model::network_edge_security_services::GetRequest,
5583        _options: crate::RequestOptions,
5584    ) -> impl std::future::Future<
5585        Output = crate::Result<crate::Response<crate::model::NetworkEdgeSecurityService>>,
5586    > + Send {
5587        gaxi::unimplemented::unimplemented_stub()
5588    }
5589
5590    /// Implements [super::client::NetworkEdgeSecurityServices::insert].
5591    fn insert(
5592        &self,
5593        _req: crate::model::network_edge_security_services::InsertRequest,
5594        _options: crate::RequestOptions,
5595    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5596    {
5597        gaxi::unimplemented::unimplemented_stub()
5598    }
5599
5600    /// Implements [super::client::NetworkEdgeSecurityServices::patch].
5601    fn patch(
5602        &self,
5603        _req: crate::model::network_edge_security_services::PatchRequest,
5604        _options: crate::RequestOptions,
5605    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5606    {
5607        gaxi::unimplemented::unimplemented_stub()
5608    }
5609
5610    /// Implements [super::client::NetworkEdgeSecurityServices::get_operation].
5611    fn get_operation(
5612        &self,
5613        _req: crate::model::region_operations::GetRequest,
5614        _options: crate::RequestOptions,
5615    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5616    {
5617        gaxi::unimplemented::unimplemented_stub()
5618    }
5619
5620    /// Returns the polling error policy.
5621    ///
5622    /// When mocking, this method is typically irrelevant. Do not try to verify
5623    /// it is called by your mocks.
5624    fn get_polling_error_policy(
5625        &self,
5626        _options: &crate::RequestOptions,
5627    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5628        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5629    }
5630
5631    /// Returns the polling backoff policy.
5632    ///
5633    /// When mocking, this method is typically irrelevant. Do not try to verify
5634    /// it is called by your mocks.
5635    fn get_polling_backoff_policy(
5636        &self,
5637        _options: &crate::RequestOptions,
5638    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5639        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5640    }
5641}
5642
5643/// Defines the trait used to implement [super::client::NetworkEndpointGroups].
5644///
5645/// Application developers may need to implement this trait to mock
5646/// `client::NetworkEndpointGroups`.  In other use-cases, application developers only
5647/// use `client::NetworkEndpointGroups` and need not be concerned with this trait or
5648/// its implementations.
5649///
5650/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5651/// too. To avoid breaking applications the trait provides a default
5652/// implementation of each method. Most of these implementations just return an
5653/// error.
5654#[cfg(feature = "network-endpoint-groups")]
5655#[cfg_attr(docsrs, doc(cfg(feature = "network-endpoint-groups")))]
5656pub trait NetworkEndpointGroups: std::fmt::Debug + Send + Sync {
5657    /// Implements [super::client::NetworkEndpointGroups::aggregated_list].
5658    fn aggregated_list(
5659        &self,
5660        _req: crate::model::network_endpoint_groups::AggregatedListRequest,
5661        _options: crate::RequestOptions,
5662    ) -> impl std::future::Future<
5663        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupAggregatedList>>,
5664    > + Send {
5665        gaxi::unimplemented::unimplemented_stub()
5666    }
5667
5668    /// Implements [super::client::NetworkEndpointGroups::attach_network_endpoints].
5669    fn attach_network_endpoints(
5670        &self,
5671        _req: crate::model::network_endpoint_groups::AttachNetworkEndpointsRequest,
5672        _options: crate::RequestOptions,
5673    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5674    {
5675        gaxi::unimplemented::unimplemented_stub()
5676    }
5677
5678    /// Implements [super::client::NetworkEndpointGroups::delete].
5679    fn delete(
5680        &self,
5681        _req: crate::model::network_endpoint_groups::DeleteRequest,
5682        _options: crate::RequestOptions,
5683    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5684    {
5685        gaxi::unimplemented::unimplemented_stub()
5686    }
5687
5688    /// Implements [super::client::NetworkEndpointGroups::detach_network_endpoints].
5689    fn detach_network_endpoints(
5690        &self,
5691        _req: crate::model::network_endpoint_groups::DetachNetworkEndpointsRequest,
5692        _options: crate::RequestOptions,
5693    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5694    {
5695        gaxi::unimplemented::unimplemented_stub()
5696    }
5697
5698    /// Implements [super::client::NetworkEndpointGroups::get].
5699    fn get(
5700        &self,
5701        _req: crate::model::network_endpoint_groups::GetRequest,
5702        _options: crate::RequestOptions,
5703    ) -> impl std::future::Future<
5704        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
5705    > + Send {
5706        gaxi::unimplemented::unimplemented_stub()
5707    }
5708
5709    /// Implements [super::client::NetworkEndpointGroups::insert].
5710    fn insert(
5711        &self,
5712        _req: crate::model::network_endpoint_groups::InsertRequest,
5713        _options: crate::RequestOptions,
5714    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5715    {
5716        gaxi::unimplemented::unimplemented_stub()
5717    }
5718
5719    /// Implements [super::client::NetworkEndpointGroups::list].
5720    fn list(
5721        &self,
5722        _req: crate::model::network_endpoint_groups::ListRequest,
5723        _options: crate::RequestOptions,
5724    ) -> impl std::future::Future<
5725        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
5726    > + Send {
5727        gaxi::unimplemented::unimplemented_stub()
5728    }
5729
5730    /// Implements [super::client::NetworkEndpointGroups::list_network_endpoints].
5731    fn list_network_endpoints(
5732        &self,
5733        _req: crate::model::network_endpoint_groups::ListNetworkEndpointsRequest,
5734        _options: crate::RequestOptions,
5735    ) -> impl std::future::Future<
5736        Output = crate::Result<
5737            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
5738        >,
5739    > + Send {
5740        gaxi::unimplemented::unimplemented_stub()
5741    }
5742
5743    /// Implements [super::client::NetworkEndpointGroups::test_iam_permissions].
5744    fn test_iam_permissions(
5745        &self,
5746        _req: crate::model::network_endpoint_groups::TestIamPermissionsRequest,
5747        _options: crate::RequestOptions,
5748    ) -> impl std::future::Future<
5749        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5750    > + Send {
5751        gaxi::unimplemented::unimplemented_stub()
5752    }
5753
5754    /// Implements [super::client::NetworkEndpointGroups::get_operation].
5755    fn get_operation(
5756        &self,
5757        _req: crate::model::zone_operations::GetRequest,
5758        _options: crate::RequestOptions,
5759    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5760    {
5761        gaxi::unimplemented::unimplemented_stub()
5762    }
5763
5764    /// Returns the polling error policy.
5765    ///
5766    /// When mocking, this method is typically irrelevant. Do not try to verify
5767    /// it is called by your mocks.
5768    fn get_polling_error_policy(
5769        &self,
5770        _options: &crate::RequestOptions,
5771    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5772        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5773    }
5774
5775    /// Returns the polling backoff policy.
5776    ///
5777    /// When mocking, this method is typically irrelevant. Do not try to verify
5778    /// it is called by your mocks.
5779    fn get_polling_backoff_policy(
5780        &self,
5781        _options: &crate::RequestOptions,
5782    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5783        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5784    }
5785}
5786
5787/// Defines the trait used to implement [super::client::NetworkFirewallPolicies].
5788///
5789/// Application developers may need to implement this trait to mock
5790/// `client::NetworkFirewallPolicies`.  In other use-cases, application developers only
5791/// use `client::NetworkFirewallPolicies` and need not be concerned with this trait or
5792/// its implementations.
5793///
5794/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5795/// too. To avoid breaking applications the trait provides a default
5796/// implementation of each method. Most of these implementations just return an
5797/// error.
5798#[cfg(feature = "network-firewall-policies")]
5799#[cfg_attr(docsrs, doc(cfg(feature = "network-firewall-policies")))]
5800pub trait NetworkFirewallPolicies: std::fmt::Debug + Send + Sync {
5801    /// Implements [super::client::NetworkFirewallPolicies::add_association].
5802    fn add_association(
5803        &self,
5804        _req: crate::model::network_firewall_policies::AddAssociationRequest,
5805        _options: crate::RequestOptions,
5806    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5807    {
5808        gaxi::unimplemented::unimplemented_stub()
5809    }
5810
5811    /// Implements [super::client::NetworkFirewallPolicies::add_packet_mirroring_rule].
5812    fn add_packet_mirroring_rule(
5813        &self,
5814        _req: crate::model::network_firewall_policies::AddPacketMirroringRuleRequest,
5815        _options: crate::RequestOptions,
5816    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5817    {
5818        gaxi::unimplemented::unimplemented_stub()
5819    }
5820
5821    /// Implements [super::client::NetworkFirewallPolicies::add_rule].
5822    fn add_rule(
5823        &self,
5824        _req: crate::model::network_firewall_policies::AddRuleRequest,
5825        _options: crate::RequestOptions,
5826    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5827    {
5828        gaxi::unimplemented::unimplemented_stub()
5829    }
5830
5831    /// Implements [super::client::NetworkFirewallPolicies::aggregated_list].
5832    fn aggregated_list(
5833        &self,
5834        _req: crate::model::network_firewall_policies::AggregatedListRequest,
5835        _options: crate::RequestOptions,
5836    ) -> impl std::future::Future<
5837        Output = crate::Result<crate::Response<crate::model::NetworkFirewallPolicyAggregatedList>>,
5838    > + Send {
5839        gaxi::unimplemented::unimplemented_stub()
5840    }
5841
5842    /// Implements [super::client::NetworkFirewallPolicies::clone_rules].
5843    fn clone_rules(
5844        &self,
5845        _req: crate::model::network_firewall_policies::CloneRulesRequest,
5846        _options: crate::RequestOptions,
5847    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5848    {
5849        gaxi::unimplemented::unimplemented_stub()
5850    }
5851
5852    /// Implements [super::client::NetworkFirewallPolicies::delete].
5853    fn delete(
5854        &self,
5855        _req: crate::model::network_firewall_policies::DeleteRequest,
5856        _options: crate::RequestOptions,
5857    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5858    {
5859        gaxi::unimplemented::unimplemented_stub()
5860    }
5861
5862    /// Implements [super::client::NetworkFirewallPolicies::get].
5863    fn get(
5864        &self,
5865        _req: crate::model::network_firewall_policies::GetRequest,
5866        _options: crate::RequestOptions,
5867    ) -> impl std::future::Future<
5868        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
5869    > + Send {
5870        gaxi::unimplemented::unimplemented_stub()
5871    }
5872
5873    /// Implements [super::client::NetworkFirewallPolicies::get_association].
5874    fn get_association(
5875        &self,
5876        _req: crate::model::network_firewall_policies::GetAssociationRequest,
5877        _options: crate::RequestOptions,
5878    ) -> impl std::future::Future<
5879        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
5880    > + Send {
5881        gaxi::unimplemented::unimplemented_stub()
5882    }
5883
5884    /// Implements [super::client::NetworkFirewallPolicies::get_iam_policy].
5885    fn get_iam_policy(
5886        &self,
5887        _req: crate::model::network_firewall_policies::GetIamPolicyRequest,
5888        _options: crate::RequestOptions,
5889    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5890    {
5891        gaxi::unimplemented::unimplemented_stub()
5892    }
5893
5894    /// Implements [super::client::NetworkFirewallPolicies::get_packet_mirroring_rule].
5895    fn get_packet_mirroring_rule(
5896        &self,
5897        _req: crate::model::network_firewall_policies::GetPacketMirroringRuleRequest,
5898        _options: crate::RequestOptions,
5899    ) -> impl std::future::Future<
5900        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
5901    > + Send {
5902        gaxi::unimplemented::unimplemented_stub()
5903    }
5904
5905    /// Implements [super::client::NetworkFirewallPolicies::get_rule].
5906    fn get_rule(
5907        &self,
5908        _req: crate::model::network_firewall_policies::GetRuleRequest,
5909        _options: crate::RequestOptions,
5910    ) -> impl std::future::Future<
5911        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
5912    > + Send {
5913        gaxi::unimplemented::unimplemented_stub()
5914    }
5915
5916    /// Implements [super::client::NetworkFirewallPolicies::insert].
5917    fn insert(
5918        &self,
5919        _req: crate::model::network_firewall_policies::InsertRequest,
5920        _options: crate::RequestOptions,
5921    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5922    {
5923        gaxi::unimplemented::unimplemented_stub()
5924    }
5925
5926    /// Implements [super::client::NetworkFirewallPolicies::list].
5927    fn list(
5928        &self,
5929        _req: crate::model::network_firewall_policies::ListRequest,
5930        _options: crate::RequestOptions,
5931    ) -> impl std::future::Future<
5932        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
5933    > + Send {
5934        gaxi::unimplemented::unimplemented_stub()
5935    }
5936
5937    /// Implements [super::client::NetworkFirewallPolicies::patch].
5938    fn patch(
5939        &self,
5940        _req: crate::model::network_firewall_policies::PatchRequest,
5941        _options: crate::RequestOptions,
5942    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5943    {
5944        gaxi::unimplemented::unimplemented_stub()
5945    }
5946
5947    /// Implements [super::client::NetworkFirewallPolicies::patch_packet_mirroring_rule].
5948    fn patch_packet_mirroring_rule(
5949        &self,
5950        _req: crate::model::network_firewall_policies::PatchPacketMirroringRuleRequest,
5951        _options: crate::RequestOptions,
5952    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5953    {
5954        gaxi::unimplemented::unimplemented_stub()
5955    }
5956
5957    /// Implements [super::client::NetworkFirewallPolicies::patch_rule].
5958    fn patch_rule(
5959        &self,
5960        _req: crate::model::network_firewall_policies::PatchRuleRequest,
5961        _options: crate::RequestOptions,
5962    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5963    {
5964        gaxi::unimplemented::unimplemented_stub()
5965    }
5966
5967    /// Implements [super::client::NetworkFirewallPolicies::remove_association].
5968    fn remove_association(
5969        &self,
5970        _req: crate::model::network_firewall_policies::RemoveAssociationRequest,
5971        _options: crate::RequestOptions,
5972    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5973    {
5974        gaxi::unimplemented::unimplemented_stub()
5975    }
5976
5977    /// Implements [super::client::NetworkFirewallPolicies::remove_packet_mirroring_rule].
5978    fn remove_packet_mirroring_rule(
5979        &self,
5980        _req: crate::model::network_firewall_policies::RemovePacketMirroringRuleRequest,
5981        _options: crate::RequestOptions,
5982    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5983    {
5984        gaxi::unimplemented::unimplemented_stub()
5985    }
5986
5987    /// Implements [super::client::NetworkFirewallPolicies::remove_rule].
5988    fn remove_rule(
5989        &self,
5990        _req: crate::model::network_firewall_policies::RemoveRuleRequest,
5991        _options: crate::RequestOptions,
5992    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5993    {
5994        gaxi::unimplemented::unimplemented_stub()
5995    }
5996
5997    /// Implements [super::client::NetworkFirewallPolicies::set_iam_policy].
5998    fn set_iam_policy(
5999        &self,
6000        _req: crate::model::network_firewall_policies::SetIamPolicyRequest,
6001        _options: crate::RequestOptions,
6002    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6003    {
6004        gaxi::unimplemented::unimplemented_stub()
6005    }
6006
6007    /// Implements [super::client::NetworkFirewallPolicies::test_iam_permissions].
6008    fn test_iam_permissions(
6009        &self,
6010        _req: crate::model::network_firewall_policies::TestIamPermissionsRequest,
6011        _options: crate::RequestOptions,
6012    ) -> impl std::future::Future<
6013        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6014    > + Send {
6015        gaxi::unimplemented::unimplemented_stub()
6016    }
6017
6018    /// Implements [super::client::NetworkFirewallPolicies::get_operation].
6019    fn get_operation(
6020        &self,
6021        _req: crate::model::global_operations::GetRequest,
6022        _options: crate::RequestOptions,
6023    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6024    {
6025        gaxi::unimplemented::unimplemented_stub()
6026    }
6027
6028    /// Returns the polling error policy.
6029    ///
6030    /// When mocking, this method is typically irrelevant. Do not try to verify
6031    /// it is called by your mocks.
6032    fn get_polling_error_policy(
6033        &self,
6034        _options: &crate::RequestOptions,
6035    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6036        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6037    }
6038
6039    /// Returns the polling backoff policy.
6040    ///
6041    /// When mocking, this method is typically irrelevant. Do not try to verify
6042    /// it is called by your mocks.
6043    fn get_polling_backoff_policy(
6044        &self,
6045        _options: &crate::RequestOptions,
6046    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6047        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6048    }
6049}
6050
6051/// Defines the trait used to implement [super::client::NetworkProfiles].
6052///
6053/// Application developers may need to implement this trait to mock
6054/// `client::NetworkProfiles`.  In other use-cases, application developers only
6055/// use `client::NetworkProfiles` and need not be concerned with this trait or
6056/// its implementations.
6057///
6058/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6059/// too. To avoid breaking applications the trait provides a default
6060/// implementation of each method. Most of these implementations just return an
6061/// error.
6062#[cfg(feature = "network-profiles")]
6063#[cfg_attr(docsrs, doc(cfg(feature = "network-profiles")))]
6064pub trait NetworkProfiles: std::fmt::Debug + Send + Sync {
6065    /// Implements [super::client::NetworkProfiles::get].
6066    fn get(
6067        &self,
6068        _req: crate::model::network_profiles::GetRequest,
6069        _options: crate::RequestOptions,
6070    ) -> impl std::future::Future<
6071        Output = crate::Result<crate::Response<crate::model::NetworkProfile>>,
6072    > + Send {
6073        gaxi::unimplemented::unimplemented_stub()
6074    }
6075
6076    /// Implements [super::client::NetworkProfiles::list].
6077    fn list(
6078        &self,
6079        _req: crate::model::network_profiles::ListRequest,
6080        _options: crate::RequestOptions,
6081    ) -> impl std::future::Future<
6082        Output = crate::Result<crate::Response<crate::model::NetworkProfilesListResponse>>,
6083    > + Send {
6084        gaxi::unimplemented::unimplemented_stub()
6085    }
6086}
6087
6088/// Defines the trait used to implement [super::client::Networks].
6089///
6090/// Application developers may need to implement this trait to mock
6091/// `client::Networks`.  In other use-cases, application developers only
6092/// use `client::Networks` and need not be concerned with this trait or
6093/// its implementations.
6094///
6095/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6096/// too. To avoid breaking applications the trait provides a default
6097/// implementation of each method. Most of these implementations just return an
6098/// error.
6099#[cfg(feature = "networks")]
6100#[cfg_attr(docsrs, doc(cfg(feature = "networks")))]
6101pub trait Networks: std::fmt::Debug + Send + Sync {
6102    /// Implements [super::client::Networks::add_peering].
6103    fn add_peering(
6104        &self,
6105        _req: crate::model::networks::AddPeeringRequest,
6106        _options: crate::RequestOptions,
6107    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6108    {
6109        gaxi::unimplemented::unimplemented_stub()
6110    }
6111
6112    /// Implements [super::client::Networks::delete].
6113    fn delete(
6114        &self,
6115        _req: crate::model::networks::DeleteRequest,
6116        _options: crate::RequestOptions,
6117    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6118    {
6119        gaxi::unimplemented::unimplemented_stub()
6120    }
6121
6122    /// Implements [super::client::Networks::get].
6123    fn get(
6124        &self,
6125        _req: crate::model::networks::GetRequest,
6126        _options: crate::RequestOptions,
6127    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Network>>> + Send
6128    {
6129        gaxi::unimplemented::unimplemented_stub()
6130    }
6131
6132    /// Implements [super::client::Networks::get_effective_firewalls].
6133    fn get_effective_firewalls(
6134        &self,
6135        _req: crate::model::networks::GetEffectiveFirewallsRequest,
6136        _options: crate::RequestOptions,
6137    ) -> impl std::future::Future<
6138        Output = crate::Result<
6139            crate::Response<crate::model::NetworksGetEffectiveFirewallsResponse>,
6140        >,
6141    > + Send {
6142        gaxi::unimplemented::unimplemented_stub()
6143    }
6144
6145    /// Implements [super::client::Networks::insert].
6146    fn insert(
6147        &self,
6148        _req: crate::model::networks::InsertRequest,
6149        _options: crate::RequestOptions,
6150    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6151    {
6152        gaxi::unimplemented::unimplemented_stub()
6153    }
6154
6155    /// Implements [super::client::Networks::list].
6156    fn list(
6157        &self,
6158        _req: crate::model::networks::ListRequest,
6159        _options: crate::RequestOptions,
6160    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NetworkList>>>
6161    + Send {
6162        gaxi::unimplemented::unimplemented_stub()
6163    }
6164
6165    /// Implements [super::client::Networks::list_peering_routes].
6166    fn list_peering_routes(
6167        &self,
6168        _req: crate::model::networks::ListPeeringRoutesRequest,
6169        _options: crate::RequestOptions,
6170    ) -> impl std::future::Future<
6171        Output = crate::Result<crate::Response<crate::model::ExchangedPeeringRoutesList>>,
6172    > + Send {
6173        gaxi::unimplemented::unimplemented_stub()
6174    }
6175
6176    /// Implements [super::client::Networks::patch].
6177    fn patch(
6178        &self,
6179        _req: crate::model::networks::PatchRequest,
6180        _options: crate::RequestOptions,
6181    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6182    {
6183        gaxi::unimplemented::unimplemented_stub()
6184    }
6185
6186    /// Implements [super::client::Networks::remove_peering].
6187    fn remove_peering(
6188        &self,
6189        _req: crate::model::networks::RemovePeeringRequest,
6190        _options: crate::RequestOptions,
6191    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6192    {
6193        gaxi::unimplemented::unimplemented_stub()
6194    }
6195
6196    /// Implements [super::client::Networks::request_remove_peering].
6197    fn request_remove_peering(
6198        &self,
6199        _req: crate::model::networks::RequestRemovePeeringRequest,
6200        _options: crate::RequestOptions,
6201    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6202    {
6203        gaxi::unimplemented::unimplemented_stub()
6204    }
6205
6206    /// Implements [super::client::Networks::switch_to_custom_mode].
6207    fn switch_to_custom_mode(
6208        &self,
6209        _req: crate::model::networks::SwitchToCustomModeRequest,
6210        _options: crate::RequestOptions,
6211    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6212    {
6213        gaxi::unimplemented::unimplemented_stub()
6214    }
6215
6216    /// Implements [super::client::Networks::update_peering].
6217    fn update_peering(
6218        &self,
6219        _req: crate::model::networks::UpdatePeeringRequest,
6220        _options: crate::RequestOptions,
6221    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6222    {
6223        gaxi::unimplemented::unimplemented_stub()
6224    }
6225
6226    /// Implements [super::client::Networks::get_operation].
6227    fn get_operation(
6228        &self,
6229        _req: crate::model::global_operations::GetRequest,
6230        _options: crate::RequestOptions,
6231    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6232    {
6233        gaxi::unimplemented::unimplemented_stub()
6234    }
6235
6236    /// Returns the polling error policy.
6237    ///
6238    /// When mocking, this method is typically irrelevant. Do not try to verify
6239    /// it is called by your mocks.
6240    fn get_polling_error_policy(
6241        &self,
6242        _options: &crate::RequestOptions,
6243    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6244        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6245    }
6246
6247    /// Returns the polling backoff policy.
6248    ///
6249    /// When mocking, this method is typically irrelevant. Do not try to verify
6250    /// it is called by your mocks.
6251    fn get_polling_backoff_policy(
6252        &self,
6253        _options: &crate::RequestOptions,
6254    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6255        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6256    }
6257}
6258
6259/// Defines the trait used to implement [super::client::NodeGroups].
6260///
6261/// Application developers may need to implement this trait to mock
6262/// `client::NodeGroups`.  In other use-cases, application developers only
6263/// use `client::NodeGroups` and need not be concerned with this trait or
6264/// its implementations.
6265///
6266/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6267/// too. To avoid breaking applications the trait provides a default
6268/// implementation of each method. Most of these implementations just return an
6269/// error.
6270#[cfg(feature = "node-groups")]
6271#[cfg_attr(docsrs, doc(cfg(feature = "node-groups")))]
6272pub trait NodeGroups: std::fmt::Debug + Send + Sync {
6273    /// Implements [super::client::NodeGroups::add_nodes].
6274    fn add_nodes(
6275        &self,
6276        _req: crate::model::node_groups::AddNodesRequest,
6277        _options: crate::RequestOptions,
6278    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6279    {
6280        gaxi::unimplemented::unimplemented_stub()
6281    }
6282
6283    /// Implements [super::client::NodeGroups::aggregated_list].
6284    fn aggregated_list(
6285        &self,
6286        _req: crate::model::node_groups::AggregatedListRequest,
6287        _options: crate::RequestOptions,
6288    ) -> impl std::future::Future<
6289        Output = crate::Result<crate::Response<crate::model::NodeGroupAggregatedList>>,
6290    > + Send {
6291        gaxi::unimplemented::unimplemented_stub()
6292    }
6293
6294    /// Implements [super::client::NodeGroups::delete].
6295    fn delete(
6296        &self,
6297        _req: crate::model::node_groups::DeleteRequest,
6298        _options: crate::RequestOptions,
6299    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6300    {
6301        gaxi::unimplemented::unimplemented_stub()
6302    }
6303
6304    /// Implements [super::client::NodeGroups::delete_nodes].
6305    fn delete_nodes(
6306        &self,
6307        _req: crate::model::node_groups::DeleteNodesRequest,
6308        _options: crate::RequestOptions,
6309    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6310    {
6311        gaxi::unimplemented::unimplemented_stub()
6312    }
6313
6314    /// Implements [super::client::NodeGroups::get].
6315    fn get(
6316        &self,
6317        _req: crate::model::node_groups::GetRequest,
6318        _options: crate::RequestOptions,
6319    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NodeGroup>>> + Send
6320    {
6321        gaxi::unimplemented::unimplemented_stub()
6322    }
6323
6324    /// Implements [super::client::NodeGroups::get_iam_policy].
6325    fn get_iam_policy(
6326        &self,
6327        _req: crate::model::node_groups::GetIamPolicyRequest,
6328        _options: crate::RequestOptions,
6329    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6330    {
6331        gaxi::unimplemented::unimplemented_stub()
6332    }
6333
6334    /// Implements [super::client::NodeGroups::insert].
6335    fn insert(
6336        &self,
6337        _req: crate::model::node_groups::InsertRequest,
6338        _options: crate::RequestOptions,
6339    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6340    {
6341        gaxi::unimplemented::unimplemented_stub()
6342    }
6343
6344    /// Implements [super::client::NodeGroups::list].
6345    fn list(
6346        &self,
6347        _req: crate::model::node_groups::ListRequest,
6348        _options: crate::RequestOptions,
6349    ) -> impl std::future::Future<
6350        Output = crate::Result<crate::Response<crate::model::NodeGroupList>>,
6351    > + Send {
6352        gaxi::unimplemented::unimplemented_stub()
6353    }
6354
6355    /// Implements [super::client::NodeGroups::list_nodes].
6356    fn list_nodes(
6357        &self,
6358        _req: crate::model::node_groups::ListNodesRequest,
6359        _options: crate::RequestOptions,
6360    ) -> impl std::future::Future<
6361        Output = crate::Result<crate::Response<crate::model::NodeGroupsListNodes>>,
6362    > + Send {
6363        gaxi::unimplemented::unimplemented_stub()
6364    }
6365
6366    /// Implements [super::client::NodeGroups::patch].
6367    fn patch(
6368        &self,
6369        _req: crate::model::node_groups::PatchRequest,
6370        _options: crate::RequestOptions,
6371    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6372    {
6373        gaxi::unimplemented::unimplemented_stub()
6374    }
6375
6376    /// Implements [super::client::NodeGroups::perform_maintenance].
6377    fn perform_maintenance(
6378        &self,
6379        _req: crate::model::node_groups::PerformMaintenanceRequest,
6380        _options: crate::RequestOptions,
6381    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6382    {
6383        gaxi::unimplemented::unimplemented_stub()
6384    }
6385
6386    /// Implements [super::client::NodeGroups::set_iam_policy].
6387    fn set_iam_policy(
6388        &self,
6389        _req: crate::model::node_groups::SetIamPolicyRequest,
6390        _options: crate::RequestOptions,
6391    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6392    {
6393        gaxi::unimplemented::unimplemented_stub()
6394    }
6395
6396    /// Implements [super::client::NodeGroups::set_node_template].
6397    fn set_node_template(
6398        &self,
6399        _req: crate::model::node_groups::SetNodeTemplateRequest,
6400        _options: crate::RequestOptions,
6401    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6402    {
6403        gaxi::unimplemented::unimplemented_stub()
6404    }
6405
6406    /// Implements [super::client::NodeGroups::simulate_maintenance_event].
6407    fn simulate_maintenance_event(
6408        &self,
6409        _req: crate::model::node_groups::SimulateMaintenanceEventRequest,
6410        _options: crate::RequestOptions,
6411    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6412    {
6413        gaxi::unimplemented::unimplemented_stub()
6414    }
6415
6416    /// Implements [super::client::NodeGroups::test_iam_permissions].
6417    fn test_iam_permissions(
6418        &self,
6419        _req: crate::model::node_groups::TestIamPermissionsRequest,
6420        _options: crate::RequestOptions,
6421    ) -> impl std::future::Future<
6422        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6423    > + Send {
6424        gaxi::unimplemented::unimplemented_stub()
6425    }
6426
6427    /// Implements [super::client::NodeGroups::get_operation].
6428    fn get_operation(
6429        &self,
6430        _req: crate::model::zone_operations::GetRequest,
6431        _options: crate::RequestOptions,
6432    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6433    {
6434        gaxi::unimplemented::unimplemented_stub()
6435    }
6436
6437    /// Returns the polling error policy.
6438    ///
6439    /// When mocking, this method is typically irrelevant. Do not try to verify
6440    /// it is called by your mocks.
6441    fn get_polling_error_policy(
6442        &self,
6443        _options: &crate::RequestOptions,
6444    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6445        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6446    }
6447
6448    /// Returns the polling backoff policy.
6449    ///
6450    /// When mocking, this method is typically irrelevant. Do not try to verify
6451    /// it is called by your mocks.
6452    fn get_polling_backoff_policy(
6453        &self,
6454        _options: &crate::RequestOptions,
6455    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6456        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6457    }
6458}
6459
6460/// Defines the trait used to implement [super::client::NodeTemplates].
6461///
6462/// Application developers may need to implement this trait to mock
6463/// `client::NodeTemplates`.  In other use-cases, application developers only
6464/// use `client::NodeTemplates` and need not be concerned with this trait or
6465/// its implementations.
6466///
6467/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6468/// too. To avoid breaking applications the trait provides a default
6469/// implementation of each method. Most of these implementations just return an
6470/// error.
6471#[cfg(feature = "node-templates")]
6472#[cfg_attr(docsrs, doc(cfg(feature = "node-templates")))]
6473pub trait NodeTemplates: std::fmt::Debug + Send + Sync {
6474    /// Implements [super::client::NodeTemplates::aggregated_list].
6475    fn aggregated_list(
6476        &self,
6477        _req: crate::model::node_templates::AggregatedListRequest,
6478        _options: crate::RequestOptions,
6479    ) -> impl std::future::Future<
6480        Output = crate::Result<crate::Response<crate::model::NodeTemplateAggregatedList>>,
6481    > + Send {
6482        gaxi::unimplemented::unimplemented_stub()
6483    }
6484
6485    /// Implements [super::client::NodeTemplates::delete].
6486    fn delete(
6487        &self,
6488        _req: crate::model::node_templates::DeleteRequest,
6489        _options: crate::RequestOptions,
6490    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6491    {
6492        gaxi::unimplemented::unimplemented_stub()
6493    }
6494
6495    /// Implements [super::client::NodeTemplates::get].
6496    fn get(
6497        &self,
6498        _req: crate::model::node_templates::GetRequest,
6499        _options: crate::RequestOptions,
6500    ) -> impl std::future::Future<
6501        Output = crate::Result<crate::Response<crate::model::NodeTemplate>>,
6502    > + Send {
6503        gaxi::unimplemented::unimplemented_stub()
6504    }
6505
6506    /// Implements [super::client::NodeTemplates::get_iam_policy].
6507    fn get_iam_policy(
6508        &self,
6509        _req: crate::model::node_templates::GetIamPolicyRequest,
6510        _options: crate::RequestOptions,
6511    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6512    {
6513        gaxi::unimplemented::unimplemented_stub()
6514    }
6515
6516    /// Implements [super::client::NodeTemplates::insert].
6517    fn insert(
6518        &self,
6519        _req: crate::model::node_templates::InsertRequest,
6520        _options: crate::RequestOptions,
6521    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6522    {
6523        gaxi::unimplemented::unimplemented_stub()
6524    }
6525
6526    /// Implements [super::client::NodeTemplates::list].
6527    fn list(
6528        &self,
6529        _req: crate::model::node_templates::ListRequest,
6530        _options: crate::RequestOptions,
6531    ) -> impl std::future::Future<
6532        Output = crate::Result<crate::Response<crate::model::NodeTemplateList>>,
6533    > + Send {
6534        gaxi::unimplemented::unimplemented_stub()
6535    }
6536
6537    /// Implements [super::client::NodeTemplates::set_iam_policy].
6538    fn set_iam_policy(
6539        &self,
6540        _req: crate::model::node_templates::SetIamPolicyRequest,
6541        _options: crate::RequestOptions,
6542    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6543    {
6544        gaxi::unimplemented::unimplemented_stub()
6545    }
6546
6547    /// Implements [super::client::NodeTemplates::test_iam_permissions].
6548    fn test_iam_permissions(
6549        &self,
6550        _req: crate::model::node_templates::TestIamPermissionsRequest,
6551        _options: crate::RequestOptions,
6552    ) -> impl std::future::Future<
6553        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6554    > + Send {
6555        gaxi::unimplemented::unimplemented_stub()
6556    }
6557
6558    /// Implements [super::client::NodeTemplates::get_operation].
6559    fn get_operation(
6560        &self,
6561        _req: crate::model::region_operations::GetRequest,
6562        _options: crate::RequestOptions,
6563    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6564    {
6565        gaxi::unimplemented::unimplemented_stub()
6566    }
6567
6568    /// Returns the polling error policy.
6569    ///
6570    /// When mocking, this method is typically irrelevant. Do not try to verify
6571    /// it is called by your mocks.
6572    fn get_polling_error_policy(
6573        &self,
6574        _options: &crate::RequestOptions,
6575    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6576        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6577    }
6578
6579    /// Returns the polling backoff policy.
6580    ///
6581    /// When mocking, this method is typically irrelevant. Do not try to verify
6582    /// it is called by your mocks.
6583    fn get_polling_backoff_policy(
6584        &self,
6585        _options: &crate::RequestOptions,
6586    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6587        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6588    }
6589}
6590
6591/// Defines the trait used to implement [super::client::NodeTypes].
6592///
6593/// Application developers may need to implement this trait to mock
6594/// `client::NodeTypes`.  In other use-cases, application developers only
6595/// use `client::NodeTypes` and need not be concerned with this trait or
6596/// its implementations.
6597///
6598/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6599/// too. To avoid breaking applications the trait provides a default
6600/// implementation of each method. Most of these implementations just return an
6601/// error.
6602#[cfg(feature = "node-types")]
6603#[cfg_attr(docsrs, doc(cfg(feature = "node-types")))]
6604pub trait NodeTypes: std::fmt::Debug + Send + Sync {
6605    /// Implements [super::client::NodeTypes::aggregated_list].
6606    fn aggregated_list(
6607        &self,
6608        _req: crate::model::node_types::AggregatedListRequest,
6609        _options: crate::RequestOptions,
6610    ) -> impl std::future::Future<
6611        Output = crate::Result<crate::Response<crate::model::NodeTypeAggregatedList>>,
6612    > + Send {
6613        gaxi::unimplemented::unimplemented_stub()
6614    }
6615
6616    /// Implements [super::client::NodeTypes::get].
6617    fn get(
6618        &self,
6619        _req: crate::model::node_types::GetRequest,
6620        _options: crate::RequestOptions,
6621    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NodeType>>> + Send
6622    {
6623        gaxi::unimplemented::unimplemented_stub()
6624    }
6625
6626    /// Implements [super::client::NodeTypes::list].
6627    fn list(
6628        &self,
6629        _req: crate::model::node_types::ListRequest,
6630        _options: crate::RequestOptions,
6631    ) -> impl std::future::Future<
6632        Output = crate::Result<crate::Response<crate::model::NodeTypeList>>,
6633    > + Send {
6634        gaxi::unimplemented::unimplemented_stub()
6635    }
6636}
6637
6638/// Defines the trait used to implement [super::client::OrganizationSecurityPolicies].
6639///
6640/// Application developers may need to implement this trait to mock
6641/// `client::OrganizationSecurityPolicies`.  In other use-cases, application developers only
6642/// use `client::OrganizationSecurityPolicies` and need not be concerned with this trait or
6643/// its implementations.
6644///
6645/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6646/// too. To avoid breaking applications the trait provides a default
6647/// implementation of each method. Most of these implementations just return an
6648/// error.
6649#[cfg(feature = "organization-security-policies")]
6650#[cfg_attr(docsrs, doc(cfg(feature = "organization-security-policies")))]
6651pub trait OrganizationSecurityPolicies: std::fmt::Debug + Send + Sync {
6652    /// Implements [super::client::OrganizationSecurityPolicies::add_association].
6653    fn add_association(
6654        &self,
6655        _req: crate::model::organization_security_policies::AddAssociationRequest,
6656        _options: crate::RequestOptions,
6657    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6658    {
6659        gaxi::unimplemented::unimplemented_stub()
6660    }
6661
6662    /// Implements [super::client::OrganizationSecurityPolicies::add_rule].
6663    fn add_rule(
6664        &self,
6665        _req: crate::model::organization_security_policies::AddRuleRequest,
6666        _options: crate::RequestOptions,
6667    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6668    {
6669        gaxi::unimplemented::unimplemented_stub()
6670    }
6671
6672    /// Implements [super::client::OrganizationSecurityPolicies::copy_rules].
6673    fn copy_rules(
6674        &self,
6675        _req: crate::model::organization_security_policies::CopyRulesRequest,
6676        _options: crate::RequestOptions,
6677    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6678    {
6679        gaxi::unimplemented::unimplemented_stub()
6680    }
6681
6682    /// Implements [super::client::OrganizationSecurityPolicies::delete].
6683    fn delete(
6684        &self,
6685        _req: crate::model::organization_security_policies::DeleteRequest,
6686        _options: crate::RequestOptions,
6687    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6688    {
6689        gaxi::unimplemented::unimplemented_stub()
6690    }
6691
6692    /// Implements [super::client::OrganizationSecurityPolicies::get].
6693    fn get(
6694        &self,
6695        _req: crate::model::organization_security_policies::GetRequest,
6696        _options: crate::RequestOptions,
6697    ) -> impl std::future::Future<
6698        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
6699    > + Send {
6700        gaxi::unimplemented::unimplemented_stub()
6701    }
6702
6703    /// Implements [super::client::OrganizationSecurityPolicies::get_association].
6704    fn get_association(
6705        &self,
6706        _req: crate::model::organization_security_policies::GetAssociationRequest,
6707        _options: crate::RequestOptions,
6708    ) -> impl std::future::Future<
6709        Output = crate::Result<crate::Response<crate::model::SecurityPolicyAssociation>>,
6710    > + Send {
6711        gaxi::unimplemented::unimplemented_stub()
6712    }
6713
6714    /// Implements [super::client::OrganizationSecurityPolicies::get_rule].
6715    fn get_rule(
6716        &self,
6717        _req: crate::model::organization_security_policies::GetRuleRequest,
6718        _options: crate::RequestOptions,
6719    ) -> impl std::future::Future<
6720        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
6721    > + Send {
6722        gaxi::unimplemented::unimplemented_stub()
6723    }
6724
6725    /// Implements [super::client::OrganizationSecurityPolicies::insert].
6726    fn insert(
6727        &self,
6728        _req: crate::model::organization_security_policies::InsertRequest,
6729        _options: crate::RequestOptions,
6730    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6731    {
6732        gaxi::unimplemented::unimplemented_stub()
6733    }
6734
6735    /// Implements [super::client::OrganizationSecurityPolicies::list].
6736    fn list(
6737        &self,
6738        _req: crate::model::organization_security_policies::ListRequest,
6739        _options: crate::RequestOptions,
6740    ) -> impl std::future::Future<
6741        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
6742    > + Send {
6743        gaxi::unimplemented::unimplemented_stub()
6744    }
6745
6746    /// Implements [super::client::OrganizationSecurityPolicies::list_associations].
6747    fn list_associations(
6748        &self,
6749        _req: crate::model::organization_security_policies::ListAssociationsRequest,
6750        _options: crate::RequestOptions,
6751    ) -> impl std::future::Future<
6752        Output = crate::Result<
6753            crate::Response<crate::model::OrganizationSecurityPoliciesListAssociationsResponse>,
6754        >,
6755    > + Send {
6756        gaxi::unimplemented::unimplemented_stub()
6757    }
6758
6759    /// Implements [super::client::OrganizationSecurityPolicies::list_preconfigured_expression_sets].
6760    fn list_preconfigured_expression_sets(
6761        &self,
6762        _req: crate::model::organization_security_policies::ListPreconfiguredExpressionSetsRequest,
6763        _options: crate::RequestOptions,
6764    ) -> impl std::future::Future<
6765        Output = crate::Result<
6766            crate::Response<crate::model::SecurityPoliciesListPreconfiguredExpressionSetsResponse>,
6767        >,
6768    > + Send {
6769        gaxi::unimplemented::unimplemented_stub()
6770    }
6771
6772    /// Implements [super::client::OrganizationSecurityPolicies::r#move].
6773    fn r#move(
6774        &self,
6775        _req: crate::model::organization_security_policies::MoveRequest,
6776        _options: crate::RequestOptions,
6777    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6778    {
6779        gaxi::unimplemented::unimplemented_stub()
6780    }
6781
6782    /// Implements [super::client::OrganizationSecurityPolicies::patch].
6783    fn patch(
6784        &self,
6785        _req: crate::model::organization_security_policies::PatchRequest,
6786        _options: crate::RequestOptions,
6787    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6788    {
6789        gaxi::unimplemented::unimplemented_stub()
6790    }
6791
6792    /// Implements [super::client::OrganizationSecurityPolicies::patch_rule].
6793    fn patch_rule(
6794        &self,
6795        _req: crate::model::organization_security_policies::PatchRuleRequest,
6796        _options: crate::RequestOptions,
6797    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6798    {
6799        gaxi::unimplemented::unimplemented_stub()
6800    }
6801
6802    /// Implements [super::client::OrganizationSecurityPolicies::remove_association].
6803    fn remove_association(
6804        &self,
6805        _req: crate::model::organization_security_policies::RemoveAssociationRequest,
6806        _options: crate::RequestOptions,
6807    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6808    {
6809        gaxi::unimplemented::unimplemented_stub()
6810    }
6811
6812    /// Implements [super::client::OrganizationSecurityPolicies::remove_rule].
6813    fn remove_rule(
6814        &self,
6815        _req: crate::model::organization_security_policies::RemoveRuleRequest,
6816        _options: crate::RequestOptions,
6817    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6818    {
6819        gaxi::unimplemented::unimplemented_stub()
6820    }
6821
6822    /// Implements [super::client::OrganizationSecurityPolicies::get_operation].
6823    fn get_operation(
6824        &self,
6825        _req: crate::model::global_organization_operations::GetRequest,
6826        _options: crate::RequestOptions,
6827    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6828    {
6829        gaxi::unimplemented::unimplemented_stub()
6830    }
6831
6832    /// Returns the polling error policy.
6833    ///
6834    /// When mocking, this method is typically irrelevant. Do not try to verify
6835    /// it is called by your mocks.
6836    fn get_polling_error_policy(
6837        &self,
6838        _options: &crate::RequestOptions,
6839    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6840        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6841    }
6842
6843    /// Returns the polling backoff policy.
6844    ///
6845    /// When mocking, this method is typically irrelevant. Do not try to verify
6846    /// it is called by your mocks.
6847    fn get_polling_backoff_policy(
6848        &self,
6849        _options: &crate::RequestOptions,
6850    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6851        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6852    }
6853}
6854
6855/// Defines the trait used to implement [super::client::PacketMirrorings].
6856///
6857/// Application developers may need to implement this trait to mock
6858/// `client::PacketMirrorings`.  In other use-cases, application developers only
6859/// use `client::PacketMirrorings` and need not be concerned with this trait or
6860/// its implementations.
6861///
6862/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6863/// too. To avoid breaking applications the trait provides a default
6864/// implementation of each method. Most of these implementations just return an
6865/// error.
6866#[cfg(feature = "packet-mirrorings")]
6867#[cfg_attr(docsrs, doc(cfg(feature = "packet-mirrorings")))]
6868pub trait PacketMirrorings: std::fmt::Debug + Send + Sync {
6869    /// Implements [super::client::PacketMirrorings::aggregated_list].
6870    fn aggregated_list(
6871        &self,
6872        _req: crate::model::packet_mirrorings::AggregatedListRequest,
6873        _options: crate::RequestOptions,
6874    ) -> impl std::future::Future<
6875        Output = crate::Result<crate::Response<crate::model::PacketMirroringAggregatedList>>,
6876    > + Send {
6877        gaxi::unimplemented::unimplemented_stub()
6878    }
6879
6880    /// Implements [super::client::PacketMirrorings::delete].
6881    fn delete(
6882        &self,
6883        _req: crate::model::packet_mirrorings::DeleteRequest,
6884        _options: crate::RequestOptions,
6885    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6886    {
6887        gaxi::unimplemented::unimplemented_stub()
6888    }
6889
6890    /// Implements [super::client::PacketMirrorings::get].
6891    fn get(
6892        &self,
6893        _req: crate::model::packet_mirrorings::GetRequest,
6894        _options: crate::RequestOptions,
6895    ) -> impl std::future::Future<
6896        Output = crate::Result<crate::Response<crate::model::PacketMirroring>>,
6897    > + Send {
6898        gaxi::unimplemented::unimplemented_stub()
6899    }
6900
6901    /// Implements [super::client::PacketMirrorings::insert].
6902    fn insert(
6903        &self,
6904        _req: crate::model::packet_mirrorings::InsertRequest,
6905        _options: crate::RequestOptions,
6906    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6907    {
6908        gaxi::unimplemented::unimplemented_stub()
6909    }
6910
6911    /// Implements [super::client::PacketMirrorings::list].
6912    fn list(
6913        &self,
6914        _req: crate::model::packet_mirrorings::ListRequest,
6915        _options: crate::RequestOptions,
6916    ) -> impl std::future::Future<
6917        Output = crate::Result<crate::Response<crate::model::PacketMirroringList>>,
6918    > + Send {
6919        gaxi::unimplemented::unimplemented_stub()
6920    }
6921
6922    /// Implements [super::client::PacketMirrorings::patch].
6923    fn patch(
6924        &self,
6925        _req: crate::model::packet_mirrorings::PatchRequest,
6926        _options: crate::RequestOptions,
6927    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6928    {
6929        gaxi::unimplemented::unimplemented_stub()
6930    }
6931
6932    /// Implements [super::client::PacketMirrorings::test_iam_permissions].
6933    fn test_iam_permissions(
6934        &self,
6935        _req: crate::model::packet_mirrorings::TestIamPermissionsRequest,
6936        _options: crate::RequestOptions,
6937    ) -> impl std::future::Future<
6938        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6939    > + Send {
6940        gaxi::unimplemented::unimplemented_stub()
6941    }
6942
6943    /// Implements [super::client::PacketMirrorings::get_operation].
6944    fn get_operation(
6945        &self,
6946        _req: crate::model::region_operations::GetRequest,
6947        _options: crate::RequestOptions,
6948    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6949    {
6950        gaxi::unimplemented::unimplemented_stub()
6951    }
6952
6953    /// Returns the polling error policy.
6954    ///
6955    /// When mocking, this method is typically irrelevant. Do not try to verify
6956    /// it is called by your mocks.
6957    fn get_polling_error_policy(
6958        &self,
6959        _options: &crate::RequestOptions,
6960    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6961        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6962    }
6963
6964    /// Returns the polling backoff policy.
6965    ///
6966    /// When mocking, this method is typically irrelevant. Do not try to verify
6967    /// it is called by your mocks.
6968    fn get_polling_backoff_policy(
6969        &self,
6970        _options: &crate::RequestOptions,
6971    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6972        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6973    }
6974}
6975
6976/// Defines the trait used to implement [super::client::PreviewFeatures].
6977///
6978/// Application developers may need to implement this trait to mock
6979/// `client::PreviewFeatures`.  In other use-cases, application developers only
6980/// use `client::PreviewFeatures` and need not be concerned with this trait or
6981/// its implementations.
6982///
6983/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6984/// too. To avoid breaking applications the trait provides a default
6985/// implementation of each method. Most of these implementations just return an
6986/// error.
6987#[cfg(feature = "preview-features")]
6988#[cfg_attr(docsrs, doc(cfg(feature = "preview-features")))]
6989pub trait PreviewFeatures: std::fmt::Debug + Send + Sync {
6990    /// Implements [super::client::PreviewFeatures::get].
6991    fn get(
6992        &self,
6993        _req: crate::model::preview_features::GetRequest,
6994        _options: crate::RequestOptions,
6995    ) -> impl std::future::Future<
6996        Output = crate::Result<crate::Response<crate::model::PreviewFeature>>,
6997    > + Send {
6998        gaxi::unimplemented::unimplemented_stub()
6999    }
7000
7001    /// Implements [super::client::PreviewFeatures::list].
7002    fn list(
7003        &self,
7004        _req: crate::model::preview_features::ListRequest,
7005        _options: crate::RequestOptions,
7006    ) -> impl std::future::Future<
7007        Output = crate::Result<crate::Response<crate::model::PreviewFeatureList>>,
7008    > + Send {
7009        gaxi::unimplemented::unimplemented_stub()
7010    }
7011
7012    /// Implements [super::client::PreviewFeatures::update].
7013    fn update(
7014        &self,
7015        _req: crate::model::preview_features::UpdateRequest,
7016        _options: crate::RequestOptions,
7017    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7018    {
7019        gaxi::unimplemented::unimplemented_stub()
7020    }
7021
7022    /// Implements [super::client::PreviewFeatures::get_operation].
7023    fn get_operation(
7024        &self,
7025        _req: crate::model::global_operations::GetRequest,
7026        _options: crate::RequestOptions,
7027    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7028    {
7029        gaxi::unimplemented::unimplemented_stub()
7030    }
7031
7032    /// Returns the polling error policy.
7033    ///
7034    /// When mocking, this method is typically irrelevant. Do not try to verify
7035    /// it is called by your mocks.
7036    fn get_polling_error_policy(
7037        &self,
7038        _options: &crate::RequestOptions,
7039    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7040        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7041    }
7042
7043    /// Returns the polling backoff policy.
7044    ///
7045    /// When mocking, this method is typically irrelevant. Do not try to verify
7046    /// it is called by your mocks.
7047    fn get_polling_backoff_policy(
7048        &self,
7049        _options: &crate::RequestOptions,
7050    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7051        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7052    }
7053}
7054
7055/// Defines the trait used to implement [super::client::Projects].
7056///
7057/// Application developers may need to implement this trait to mock
7058/// `client::Projects`.  In other use-cases, application developers only
7059/// use `client::Projects` and need not be concerned with this trait or
7060/// its implementations.
7061///
7062/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7063/// too. To avoid breaking applications the trait provides a default
7064/// implementation of each method. Most of these implementations just return an
7065/// error.
7066#[cfg(feature = "projects")]
7067#[cfg_attr(docsrs, doc(cfg(feature = "projects")))]
7068pub trait Projects: std::fmt::Debug + Send + Sync {
7069    /// Implements [super::client::Projects::disable_xpn_host].
7070    fn disable_xpn_host(
7071        &self,
7072        _req: crate::model::projects::DisableXpnHostRequest,
7073        _options: crate::RequestOptions,
7074    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7075    {
7076        gaxi::unimplemented::unimplemented_stub()
7077    }
7078
7079    /// Implements [super::client::Projects::disable_xpn_resource].
7080    fn disable_xpn_resource(
7081        &self,
7082        _req: crate::model::projects::DisableXpnResourceRequest,
7083        _options: crate::RequestOptions,
7084    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7085    {
7086        gaxi::unimplemented::unimplemented_stub()
7087    }
7088
7089    /// Implements [super::client::Projects::enable_xpn_host].
7090    fn enable_xpn_host(
7091        &self,
7092        _req: crate::model::projects::EnableXpnHostRequest,
7093        _options: crate::RequestOptions,
7094    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7095    {
7096        gaxi::unimplemented::unimplemented_stub()
7097    }
7098
7099    /// Implements [super::client::Projects::enable_xpn_resource].
7100    fn enable_xpn_resource(
7101        &self,
7102        _req: crate::model::projects::EnableXpnResourceRequest,
7103        _options: crate::RequestOptions,
7104    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7105    {
7106        gaxi::unimplemented::unimplemented_stub()
7107    }
7108
7109    /// Implements [super::client::Projects::get].
7110    fn get(
7111        &self,
7112        _req: crate::model::projects::GetRequest,
7113        _options: crate::RequestOptions,
7114    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Project>>> + Send
7115    {
7116        gaxi::unimplemented::unimplemented_stub()
7117    }
7118
7119    /// Implements [super::client::Projects::get_xpn_host].
7120    fn get_xpn_host(
7121        &self,
7122        _req: crate::model::projects::GetXpnHostRequest,
7123        _options: crate::RequestOptions,
7124    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Project>>> + Send
7125    {
7126        gaxi::unimplemented::unimplemented_stub()
7127    }
7128
7129    /// Implements [super::client::Projects::get_xpn_resources].
7130    fn get_xpn_resources(
7131        &self,
7132        _req: crate::model::projects::GetXpnResourcesRequest,
7133        _options: crate::RequestOptions,
7134    ) -> impl std::future::Future<
7135        Output = crate::Result<crate::Response<crate::model::ProjectsGetXpnResources>>,
7136    > + Send {
7137        gaxi::unimplemented::unimplemented_stub()
7138    }
7139
7140    /// Implements [super::client::Projects::list_xpn_hosts].
7141    fn list_xpn_hosts(
7142        &self,
7143        _req: crate::model::projects::ListXpnHostsRequest,
7144        _options: crate::RequestOptions,
7145    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::XpnHostList>>>
7146    + Send {
7147        gaxi::unimplemented::unimplemented_stub()
7148    }
7149
7150    /// Implements [super::client::Projects::move_disk].
7151    fn move_disk(
7152        &self,
7153        _req: crate::model::projects::MoveDiskRequest,
7154        _options: crate::RequestOptions,
7155    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7156    {
7157        gaxi::unimplemented::unimplemented_stub()
7158    }
7159
7160    /// Implements [super::client::Projects::move_instance].
7161    fn move_instance(
7162        &self,
7163        _req: crate::model::projects::MoveInstanceRequest,
7164        _options: crate::RequestOptions,
7165    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7166    {
7167        gaxi::unimplemented::unimplemented_stub()
7168    }
7169
7170    /// Implements [super::client::Projects::set_cloud_armor_tier].
7171    fn set_cloud_armor_tier(
7172        &self,
7173        _req: crate::model::projects::SetCloudArmorTierRequest,
7174        _options: crate::RequestOptions,
7175    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7176    {
7177        gaxi::unimplemented::unimplemented_stub()
7178    }
7179
7180    /// Implements [super::client::Projects::set_common_instance_metadata].
7181    fn set_common_instance_metadata(
7182        &self,
7183        _req: crate::model::projects::SetCommonInstanceMetadataRequest,
7184        _options: crate::RequestOptions,
7185    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7186    {
7187        gaxi::unimplemented::unimplemented_stub()
7188    }
7189
7190    /// Implements [super::client::Projects::set_default_network_tier].
7191    fn set_default_network_tier(
7192        &self,
7193        _req: crate::model::projects::SetDefaultNetworkTierRequest,
7194        _options: crate::RequestOptions,
7195    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7196    {
7197        gaxi::unimplemented::unimplemented_stub()
7198    }
7199
7200    /// Implements [super::client::Projects::set_usage_export_bucket].
7201    fn set_usage_export_bucket(
7202        &self,
7203        _req: crate::model::projects::SetUsageExportBucketRequest,
7204        _options: crate::RequestOptions,
7205    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7206    {
7207        gaxi::unimplemented::unimplemented_stub()
7208    }
7209
7210    /// Implements [super::client::Projects::get_operation].
7211    fn get_operation(
7212        &self,
7213        _req: crate::model::global_operations::GetRequest,
7214        _options: crate::RequestOptions,
7215    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7216    {
7217        gaxi::unimplemented::unimplemented_stub()
7218    }
7219
7220    /// Returns the polling error policy.
7221    ///
7222    /// When mocking, this method is typically irrelevant. Do not try to verify
7223    /// it is called by your mocks.
7224    fn get_polling_error_policy(
7225        &self,
7226        _options: &crate::RequestOptions,
7227    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7228        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7229    }
7230
7231    /// Returns the polling backoff policy.
7232    ///
7233    /// When mocking, this method is typically irrelevant. Do not try to verify
7234    /// it is called by your mocks.
7235    fn get_polling_backoff_policy(
7236        &self,
7237        _options: &crate::RequestOptions,
7238    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7239        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7240    }
7241}
7242
7243/// Defines the trait used to implement [super::client::PublicAdvertisedPrefixes].
7244///
7245/// Application developers may need to implement this trait to mock
7246/// `client::PublicAdvertisedPrefixes`.  In other use-cases, application developers only
7247/// use `client::PublicAdvertisedPrefixes` and need not be concerned with this trait or
7248/// its implementations.
7249///
7250/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7251/// too. To avoid breaking applications the trait provides a default
7252/// implementation of each method. Most of these implementations just return an
7253/// error.
7254#[cfg(feature = "public-advertised-prefixes")]
7255#[cfg_attr(docsrs, doc(cfg(feature = "public-advertised-prefixes")))]
7256pub trait PublicAdvertisedPrefixes: std::fmt::Debug + Send + Sync {
7257    /// Implements [super::client::PublicAdvertisedPrefixes::announce].
7258    fn announce(
7259        &self,
7260        _req: crate::model::public_advertised_prefixes::AnnounceRequest,
7261        _options: crate::RequestOptions,
7262    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7263    {
7264        gaxi::unimplemented::unimplemented_stub()
7265    }
7266
7267    /// Implements [super::client::PublicAdvertisedPrefixes::delete].
7268    fn delete(
7269        &self,
7270        _req: crate::model::public_advertised_prefixes::DeleteRequest,
7271        _options: crate::RequestOptions,
7272    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7273    {
7274        gaxi::unimplemented::unimplemented_stub()
7275    }
7276
7277    /// Implements [super::client::PublicAdvertisedPrefixes::get].
7278    fn get(
7279        &self,
7280        _req: crate::model::public_advertised_prefixes::GetRequest,
7281        _options: crate::RequestOptions,
7282    ) -> impl std::future::Future<
7283        Output = crate::Result<crate::Response<crate::model::PublicAdvertisedPrefix>>,
7284    > + Send {
7285        gaxi::unimplemented::unimplemented_stub()
7286    }
7287
7288    /// Implements [super::client::PublicAdvertisedPrefixes::insert].
7289    fn insert(
7290        &self,
7291        _req: crate::model::public_advertised_prefixes::InsertRequest,
7292        _options: crate::RequestOptions,
7293    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7294    {
7295        gaxi::unimplemented::unimplemented_stub()
7296    }
7297
7298    /// Implements [super::client::PublicAdvertisedPrefixes::list].
7299    fn list(
7300        &self,
7301        _req: crate::model::public_advertised_prefixes::ListRequest,
7302        _options: crate::RequestOptions,
7303    ) -> impl std::future::Future<
7304        Output = crate::Result<crate::Response<crate::model::PublicAdvertisedPrefixList>>,
7305    > + Send {
7306        gaxi::unimplemented::unimplemented_stub()
7307    }
7308
7309    /// Implements [super::client::PublicAdvertisedPrefixes::patch].
7310    fn patch(
7311        &self,
7312        _req: crate::model::public_advertised_prefixes::PatchRequest,
7313        _options: crate::RequestOptions,
7314    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7315    {
7316        gaxi::unimplemented::unimplemented_stub()
7317    }
7318
7319    /// Implements [super::client::PublicAdvertisedPrefixes::withdraw].
7320    fn withdraw(
7321        &self,
7322        _req: crate::model::public_advertised_prefixes::WithdrawRequest,
7323        _options: crate::RequestOptions,
7324    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7325    {
7326        gaxi::unimplemented::unimplemented_stub()
7327    }
7328
7329    /// Implements [super::client::PublicAdvertisedPrefixes::get_operation].
7330    fn get_operation(
7331        &self,
7332        _req: crate::model::global_operations::GetRequest,
7333        _options: crate::RequestOptions,
7334    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7335    {
7336        gaxi::unimplemented::unimplemented_stub()
7337    }
7338
7339    /// Returns the polling error policy.
7340    ///
7341    /// When mocking, this method is typically irrelevant. Do not try to verify
7342    /// it is called by your mocks.
7343    fn get_polling_error_policy(
7344        &self,
7345        _options: &crate::RequestOptions,
7346    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7347        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7348    }
7349
7350    /// Returns the polling backoff policy.
7351    ///
7352    /// When mocking, this method is typically irrelevant. Do not try to verify
7353    /// it is called by your mocks.
7354    fn get_polling_backoff_policy(
7355        &self,
7356        _options: &crate::RequestOptions,
7357    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7358        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7359    }
7360}
7361
7362/// Defines the trait used to implement [super::client::PublicDelegatedPrefixes].
7363///
7364/// Application developers may need to implement this trait to mock
7365/// `client::PublicDelegatedPrefixes`.  In other use-cases, application developers only
7366/// use `client::PublicDelegatedPrefixes` and need not be concerned with this trait or
7367/// its implementations.
7368///
7369/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7370/// too. To avoid breaking applications the trait provides a default
7371/// implementation of each method. Most of these implementations just return an
7372/// error.
7373#[cfg(feature = "public-delegated-prefixes")]
7374#[cfg_attr(docsrs, doc(cfg(feature = "public-delegated-prefixes")))]
7375pub trait PublicDelegatedPrefixes: std::fmt::Debug + Send + Sync {
7376    /// Implements [super::client::PublicDelegatedPrefixes::aggregated_list].
7377    fn aggregated_list(
7378        &self,
7379        _req: crate::model::public_delegated_prefixes::AggregatedListRequest,
7380        _options: crate::RequestOptions,
7381    ) -> impl std::future::Future<
7382        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixAggregatedList>>,
7383    > + Send {
7384        gaxi::unimplemented::unimplemented_stub()
7385    }
7386
7387    /// Implements [super::client::PublicDelegatedPrefixes::announce].
7388    fn announce(
7389        &self,
7390        _req: crate::model::public_delegated_prefixes::AnnounceRequest,
7391        _options: crate::RequestOptions,
7392    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7393    {
7394        gaxi::unimplemented::unimplemented_stub()
7395    }
7396
7397    /// Implements [super::client::PublicDelegatedPrefixes::delete].
7398    fn delete(
7399        &self,
7400        _req: crate::model::public_delegated_prefixes::DeleteRequest,
7401        _options: crate::RequestOptions,
7402    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7403    {
7404        gaxi::unimplemented::unimplemented_stub()
7405    }
7406
7407    /// Implements [super::client::PublicDelegatedPrefixes::get].
7408    fn get(
7409        &self,
7410        _req: crate::model::public_delegated_prefixes::GetRequest,
7411        _options: crate::RequestOptions,
7412    ) -> impl std::future::Future<
7413        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefix>>,
7414    > + Send {
7415        gaxi::unimplemented::unimplemented_stub()
7416    }
7417
7418    /// Implements [super::client::PublicDelegatedPrefixes::insert].
7419    fn insert(
7420        &self,
7421        _req: crate::model::public_delegated_prefixes::InsertRequest,
7422        _options: crate::RequestOptions,
7423    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7424    {
7425        gaxi::unimplemented::unimplemented_stub()
7426    }
7427
7428    /// Implements [super::client::PublicDelegatedPrefixes::list].
7429    fn list(
7430        &self,
7431        _req: crate::model::public_delegated_prefixes::ListRequest,
7432        _options: crate::RequestOptions,
7433    ) -> impl std::future::Future<
7434        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixList>>,
7435    > + Send {
7436        gaxi::unimplemented::unimplemented_stub()
7437    }
7438
7439    /// Implements [super::client::PublicDelegatedPrefixes::patch].
7440    fn patch(
7441        &self,
7442        _req: crate::model::public_delegated_prefixes::PatchRequest,
7443        _options: crate::RequestOptions,
7444    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7445    {
7446        gaxi::unimplemented::unimplemented_stub()
7447    }
7448
7449    /// Implements [super::client::PublicDelegatedPrefixes::withdraw].
7450    fn withdraw(
7451        &self,
7452        _req: crate::model::public_delegated_prefixes::WithdrawRequest,
7453        _options: crate::RequestOptions,
7454    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7455    {
7456        gaxi::unimplemented::unimplemented_stub()
7457    }
7458
7459    /// Implements [super::client::PublicDelegatedPrefixes::get_operation].
7460    fn get_operation(
7461        &self,
7462        _req: crate::model::region_operations::GetRequest,
7463        _options: crate::RequestOptions,
7464    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7465    {
7466        gaxi::unimplemented::unimplemented_stub()
7467    }
7468
7469    /// Returns the polling error policy.
7470    ///
7471    /// When mocking, this method is typically irrelevant. Do not try to verify
7472    /// it is called by your mocks.
7473    fn get_polling_error_policy(
7474        &self,
7475        _options: &crate::RequestOptions,
7476    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7477        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7478    }
7479
7480    /// Returns the polling backoff policy.
7481    ///
7482    /// When mocking, this method is typically irrelevant. Do not try to verify
7483    /// it is called by your mocks.
7484    fn get_polling_backoff_policy(
7485        &self,
7486        _options: &crate::RequestOptions,
7487    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7488        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7489    }
7490}
7491
7492/// Defines the trait used to implement [super::client::RegionAutoscalers].
7493///
7494/// Application developers may need to implement this trait to mock
7495/// `client::RegionAutoscalers`.  In other use-cases, application developers only
7496/// use `client::RegionAutoscalers` and need not be concerned with this trait or
7497/// its implementations.
7498///
7499/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7500/// too. To avoid breaking applications the trait provides a default
7501/// implementation of each method. Most of these implementations just return an
7502/// error.
7503#[cfg(feature = "region-autoscalers")]
7504#[cfg_attr(docsrs, doc(cfg(feature = "region-autoscalers")))]
7505pub trait RegionAutoscalers: std::fmt::Debug + Send + Sync {
7506    /// Implements [super::client::RegionAutoscalers::delete].
7507    fn delete(
7508        &self,
7509        _req: crate::model::region_autoscalers::DeleteRequest,
7510        _options: crate::RequestOptions,
7511    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7512    {
7513        gaxi::unimplemented::unimplemented_stub()
7514    }
7515
7516    /// Implements [super::client::RegionAutoscalers::get].
7517    fn get(
7518        &self,
7519        _req: crate::model::region_autoscalers::GetRequest,
7520        _options: crate::RequestOptions,
7521    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Autoscaler>>> + Send
7522    {
7523        gaxi::unimplemented::unimplemented_stub()
7524    }
7525
7526    /// Implements [super::client::RegionAutoscalers::insert].
7527    fn insert(
7528        &self,
7529        _req: crate::model::region_autoscalers::InsertRequest,
7530        _options: crate::RequestOptions,
7531    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7532    {
7533        gaxi::unimplemented::unimplemented_stub()
7534    }
7535
7536    /// Implements [super::client::RegionAutoscalers::list].
7537    fn list(
7538        &self,
7539        _req: crate::model::region_autoscalers::ListRequest,
7540        _options: crate::RequestOptions,
7541    ) -> impl std::future::Future<
7542        Output = crate::Result<crate::Response<crate::model::RegionAutoscalerList>>,
7543    > + Send {
7544        gaxi::unimplemented::unimplemented_stub()
7545    }
7546
7547    /// Implements [super::client::RegionAutoscalers::patch].
7548    fn patch(
7549        &self,
7550        _req: crate::model::region_autoscalers::PatchRequest,
7551        _options: crate::RequestOptions,
7552    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7553    {
7554        gaxi::unimplemented::unimplemented_stub()
7555    }
7556
7557    /// Implements [super::client::RegionAutoscalers::test_iam_permissions].
7558    fn test_iam_permissions(
7559        &self,
7560        _req: crate::model::region_autoscalers::TestIamPermissionsRequest,
7561        _options: crate::RequestOptions,
7562    ) -> impl std::future::Future<
7563        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7564    > + Send {
7565        gaxi::unimplemented::unimplemented_stub()
7566    }
7567
7568    /// Implements [super::client::RegionAutoscalers::update].
7569    fn update(
7570        &self,
7571        _req: crate::model::region_autoscalers::UpdateRequest,
7572        _options: crate::RequestOptions,
7573    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7574    {
7575        gaxi::unimplemented::unimplemented_stub()
7576    }
7577
7578    /// Implements [super::client::RegionAutoscalers::get_operation].
7579    fn get_operation(
7580        &self,
7581        _req: crate::model::region_operations::GetRequest,
7582        _options: crate::RequestOptions,
7583    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7584    {
7585        gaxi::unimplemented::unimplemented_stub()
7586    }
7587
7588    /// Returns the polling error policy.
7589    ///
7590    /// When mocking, this method is typically irrelevant. Do not try to verify
7591    /// it is called by your mocks.
7592    fn get_polling_error_policy(
7593        &self,
7594        _options: &crate::RequestOptions,
7595    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7596        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7597    }
7598
7599    /// Returns the polling backoff policy.
7600    ///
7601    /// When mocking, this method is typically irrelevant. Do not try to verify
7602    /// it is called by your mocks.
7603    fn get_polling_backoff_policy(
7604        &self,
7605        _options: &crate::RequestOptions,
7606    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7607        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7608    }
7609}
7610
7611/// Defines the trait used to implement [super::client::RegionBackendServices].
7612///
7613/// Application developers may need to implement this trait to mock
7614/// `client::RegionBackendServices`.  In other use-cases, application developers only
7615/// use `client::RegionBackendServices` and need not be concerned with this trait or
7616/// its implementations.
7617///
7618/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7619/// too. To avoid breaking applications the trait provides a default
7620/// implementation of each method. Most of these implementations just return an
7621/// error.
7622#[cfg(feature = "region-backend-services")]
7623#[cfg_attr(docsrs, doc(cfg(feature = "region-backend-services")))]
7624pub trait RegionBackendServices: std::fmt::Debug + Send + Sync {
7625    /// Implements [super::client::RegionBackendServices::delete].
7626    fn delete(
7627        &self,
7628        _req: crate::model::region_backend_services::DeleteRequest,
7629        _options: crate::RequestOptions,
7630    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7631    {
7632        gaxi::unimplemented::unimplemented_stub()
7633    }
7634
7635    /// Implements [super::client::RegionBackendServices::get].
7636    fn get(
7637        &self,
7638        _req: crate::model::region_backend_services::GetRequest,
7639        _options: crate::RequestOptions,
7640    ) -> impl std::future::Future<
7641        Output = crate::Result<crate::Response<crate::model::BackendService>>,
7642    > + Send {
7643        gaxi::unimplemented::unimplemented_stub()
7644    }
7645
7646    /// Implements [super::client::RegionBackendServices::get_health].
7647    fn get_health(
7648        &self,
7649        _req: crate::model::region_backend_services::GetHealthRequest,
7650        _options: crate::RequestOptions,
7651    ) -> impl std::future::Future<
7652        Output = crate::Result<crate::Response<crate::model::BackendServiceGroupHealth>>,
7653    > + Send {
7654        gaxi::unimplemented::unimplemented_stub()
7655    }
7656
7657    /// Implements [super::client::RegionBackendServices::get_iam_policy].
7658    fn get_iam_policy(
7659        &self,
7660        _req: crate::model::region_backend_services::GetIamPolicyRequest,
7661        _options: crate::RequestOptions,
7662    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7663    {
7664        gaxi::unimplemented::unimplemented_stub()
7665    }
7666
7667    /// Implements [super::client::RegionBackendServices::insert].
7668    fn insert(
7669        &self,
7670        _req: crate::model::region_backend_services::InsertRequest,
7671        _options: crate::RequestOptions,
7672    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7673    {
7674        gaxi::unimplemented::unimplemented_stub()
7675    }
7676
7677    /// Implements [super::client::RegionBackendServices::list].
7678    fn list(
7679        &self,
7680        _req: crate::model::region_backend_services::ListRequest,
7681        _options: crate::RequestOptions,
7682    ) -> impl std::future::Future<
7683        Output = crate::Result<crate::Response<crate::model::BackendServiceList>>,
7684    > + Send {
7685        gaxi::unimplemented::unimplemented_stub()
7686    }
7687
7688    /// Implements [super::client::RegionBackendServices::list_usable].
7689    fn list_usable(
7690        &self,
7691        _req: crate::model::region_backend_services::ListUsableRequest,
7692        _options: crate::RequestOptions,
7693    ) -> impl std::future::Future<
7694        Output = crate::Result<crate::Response<crate::model::BackendServiceListUsable>>,
7695    > + Send {
7696        gaxi::unimplemented::unimplemented_stub()
7697    }
7698
7699    /// Implements [super::client::RegionBackendServices::patch].
7700    fn patch(
7701        &self,
7702        _req: crate::model::region_backend_services::PatchRequest,
7703        _options: crate::RequestOptions,
7704    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7705    {
7706        gaxi::unimplemented::unimplemented_stub()
7707    }
7708
7709    /// Implements [super::client::RegionBackendServices::set_iam_policy].
7710    fn set_iam_policy(
7711        &self,
7712        _req: crate::model::region_backend_services::SetIamPolicyRequest,
7713        _options: crate::RequestOptions,
7714    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7715    {
7716        gaxi::unimplemented::unimplemented_stub()
7717    }
7718
7719    /// Implements [super::client::RegionBackendServices::set_security_policy].
7720    fn set_security_policy(
7721        &self,
7722        _req: crate::model::region_backend_services::SetSecurityPolicyRequest,
7723        _options: crate::RequestOptions,
7724    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7725    {
7726        gaxi::unimplemented::unimplemented_stub()
7727    }
7728
7729    /// Implements [super::client::RegionBackendServices::test_iam_permissions].
7730    fn test_iam_permissions(
7731        &self,
7732        _req: crate::model::region_backend_services::TestIamPermissionsRequest,
7733        _options: crate::RequestOptions,
7734    ) -> impl std::future::Future<
7735        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7736    > + Send {
7737        gaxi::unimplemented::unimplemented_stub()
7738    }
7739
7740    /// Implements [super::client::RegionBackendServices::update].
7741    fn update(
7742        &self,
7743        _req: crate::model::region_backend_services::UpdateRequest,
7744        _options: crate::RequestOptions,
7745    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7746    {
7747        gaxi::unimplemented::unimplemented_stub()
7748    }
7749
7750    /// Implements [super::client::RegionBackendServices::get_operation].
7751    fn get_operation(
7752        &self,
7753        _req: crate::model::region_operations::GetRequest,
7754        _options: crate::RequestOptions,
7755    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7756    {
7757        gaxi::unimplemented::unimplemented_stub()
7758    }
7759
7760    /// Returns the polling error policy.
7761    ///
7762    /// When mocking, this method is typically irrelevant. Do not try to verify
7763    /// it is called by your mocks.
7764    fn get_polling_error_policy(
7765        &self,
7766        _options: &crate::RequestOptions,
7767    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7768        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7769    }
7770
7771    /// Returns the polling backoff policy.
7772    ///
7773    /// When mocking, this method is typically irrelevant. Do not try to verify
7774    /// it is called by your mocks.
7775    fn get_polling_backoff_policy(
7776        &self,
7777        _options: &crate::RequestOptions,
7778    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7779        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7780    }
7781}
7782
7783/// Defines the trait used to implement [super::client::RegionCommitments].
7784///
7785/// Application developers may need to implement this trait to mock
7786/// `client::RegionCommitments`.  In other use-cases, application developers only
7787/// use `client::RegionCommitments` and need not be concerned with this trait or
7788/// its implementations.
7789///
7790/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7791/// too. To avoid breaking applications the trait provides a default
7792/// implementation of each method. Most of these implementations just return an
7793/// error.
7794#[cfg(feature = "region-commitments")]
7795#[cfg_attr(docsrs, doc(cfg(feature = "region-commitments")))]
7796pub trait RegionCommitments: std::fmt::Debug + Send + Sync {
7797    /// Implements [super::client::RegionCommitments::aggregated_list].
7798    fn aggregated_list(
7799        &self,
7800        _req: crate::model::region_commitments::AggregatedListRequest,
7801        _options: crate::RequestOptions,
7802    ) -> impl std::future::Future<
7803        Output = crate::Result<crate::Response<crate::model::CommitmentAggregatedList>>,
7804    > + Send {
7805        gaxi::unimplemented::unimplemented_stub()
7806    }
7807
7808    /// Implements [super::client::RegionCommitments::get].
7809    fn get(
7810        &self,
7811        _req: crate::model::region_commitments::GetRequest,
7812        _options: crate::RequestOptions,
7813    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Commitment>>> + Send
7814    {
7815        gaxi::unimplemented::unimplemented_stub()
7816    }
7817
7818    /// Implements [super::client::RegionCommitments::insert].
7819    fn insert(
7820        &self,
7821        _req: crate::model::region_commitments::InsertRequest,
7822        _options: crate::RequestOptions,
7823    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7824    {
7825        gaxi::unimplemented::unimplemented_stub()
7826    }
7827
7828    /// Implements [super::client::RegionCommitments::list].
7829    fn list(
7830        &self,
7831        _req: crate::model::region_commitments::ListRequest,
7832        _options: crate::RequestOptions,
7833    ) -> impl std::future::Future<
7834        Output = crate::Result<crate::Response<crate::model::CommitmentList>>,
7835    > + Send {
7836        gaxi::unimplemented::unimplemented_stub()
7837    }
7838
7839    /// Implements [super::client::RegionCommitments::update].
7840    fn update(
7841        &self,
7842        _req: crate::model::region_commitments::UpdateRequest,
7843        _options: crate::RequestOptions,
7844    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7845    {
7846        gaxi::unimplemented::unimplemented_stub()
7847    }
7848
7849    /// Implements [super::client::RegionCommitments::get_operation].
7850    fn get_operation(
7851        &self,
7852        _req: crate::model::region_operations::GetRequest,
7853        _options: crate::RequestOptions,
7854    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7855    {
7856        gaxi::unimplemented::unimplemented_stub()
7857    }
7858
7859    /// Returns the polling error policy.
7860    ///
7861    /// When mocking, this method is typically irrelevant. Do not try to verify
7862    /// it is called by your mocks.
7863    fn get_polling_error_policy(
7864        &self,
7865        _options: &crate::RequestOptions,
7866    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7867        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7868    }
7869
7870    /// Returns the polling backoff policy.
7871    ///
7872    /// When mocking, this method is typically irrelevant. Do not try to verify
7873    /// it is called by your mocks.
7874    fn get_polling_backoff_policy(
7875        &self,
7876        _options: &crate::RequestOptions,
7877    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7878        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7879    }
7880}
7881
7882/// Defines the trait used to implement [super::client::RegionDiskTypes].
7883///
7884/// Application developers may need to implement this trait to mock
7885/// `client::RegionDiskTypes`.  In other use-cases, application developers only
7886/// use `client::RegionDiskTypes` and need not be concerned with this trait or
7887/// its implementations.
7888///
7889/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7890/// too. To avoid breaking applications the trait provides a default
7891/// implementation of each method. Most of these implementations just return an
7892/// error.
7893#[cfg(feature = "region-disk-types")]
7894#[cfg_attr(docsrs, doc(cfg(feature = "region-disk-types")))]
7895pub trait RegionDiskTypes: std::fmt::Debug + Send + Sync {
7896    /// Implements [super::client::RegionDiskTypes::get].
7897    fn get(
7898        &self,
7899        _req: crate::model::region_disk_types::GetRequest,
7900        _options: crate::RequestOptions,
7901    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskType>>> + Send
7902    {
7903        gaxi::unimplemented::unimplemented_stub()
7904    }
7905
7906    /// Implements [super::client::RegionDiskTypes::list].
7907    fn list(
7908        &self,
7909        _req: crate::model::region_disk_types::ListRequest,
7910        _options: crate::RequestOptions,
7911    ) -> impl std::future::Future<
7912        Output = crate::Result<crate::Response<crate::model::RegionDiskTypeList>>,
7913    > + Send {
7914        gaxi::unimplemented::unimplemented_stub()
7915    }
7916}
7917
7918/// Defines the trait used to implement [super::client::RegionDisks].
7919///
7920/// Application developers may need to implement this trait to mock
7921/// `client::RegionDisks`.  In other use-cases, application developers only
7922/// use `client::RegionDisks` and need not be concerned with this trait or
7923/// its implementations.
7924///
7925/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7926/// too. To avoid breaking applications the trait provides a default
7927/// implementation of each method. Most of these implementations just return an
7928/// error.
7929#[cfg(feature = "region-disks")]
7930#[cfg_attr(docsrs, doc(cfg(feature = "region-disks")))]
7931pub trait RegionDisks: std::fmt::Debug + Send + Sync {
7932    /// Implements [super::client::RegionDisks::add_resource_policies].
7933    fn add_resource_policies(
7934        &self,
7935        _req: crate::model::region_disks::AddResourcePoliciesRequest,
7936        _options: crate::RequestOptions,
7937    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7938    {
7939        gaxi::unimplemented::unimplemented_stub()
7940    }
7941
7942    /// Implements [super::client::RegionDisks::bulk_insert].
7943    fn bulk_insert(
7944        &self,
7945        _req: crate::model::region_disks::BulkInsertRequest,
7946        _options: crate::RequestOptions,
7947    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7948    {
7949        gaxi::unimplemented::unimplemented_stub()
7950    }
7951
7952    /// Implements [super::client::RegionDisks::create_snapshot].
7953    fn create_snapshot(
7954        &self,
7955        _req: crate::model::region_disks::CreateSnapshotRequest,
7956        _options: crate::RequestOptions,
7957    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7958    {
7959        gaxi::unimplemented::unimplemented_stub()
7960    }
7961
7962    /// Implements [super::client::RegionDisks::delete].
7963    fn delete(
7964        &self,
7965        _req: crate::model::region_disks::DeleteRequest,
7966        _options: crate::RequestOptions,
7967    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7968    {
7969        gaxi::unimplemented::unimplemented_stub()
7970    }
7971
7972    /// Implements [super::client::RegionDisks::get].
7973    fn get(
7974        &self,
7975        _req: crate::model::region_disks::GetRequest,
7976        _options: crate::RequestOptions,
7977    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Disk>>> + Send
7978    {
7979        gaxi::unimplemented::unimplemented_stub()
7980    }
7981
7982    /// Implements [super::client::RegionDisks::get_iam_policy].
7983    fn get_iam_policy(
7984        &self,
7985        _req: crate::model::region_disks::GetIamPolicyRequest,
7986        _options: crate::RequestOptions,
7987    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7988    {
7989        gaxi::unimplemented::unimplemented_stub()
7990    }
7991
7992    /// Implements [super::client::RegionDisks::insert].
7993    fn insert(
7994        &self,
7995        _req: crate::model::region_disks::InsertRequest,
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::RegionDisks::list].
8003    fn list(
8004        &self,
8005        _req: crate::model::region_disks::ListRequest,
8006        _options: crate::RequestOptions,
8007    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskList>>> + Send
8008    {
8009        gaxi::unimplemented::unimplemented_stub()
8010    }
8011
8012    /// Implements [super::client::RegionDisks::remove_resource_policies].
8013    fn remove_resource_policies(
8014        &self,
8015        _req: crate::model::region_disks::RemoveResourcePoliciesRequest,
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::RegionDisks::resize].
8023    fn resize(
8024        &self,
8025        _req: crate::model::region_disks::ResizeRequest,
8026        _options: crate::RequestOptions,
8027    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8028    {
8029        gaxi::unimplemented::unimplemented_stub()
8030    }
8031
8032    /// Implements [super::client::RegionDisks::set_iam_policy].
8033    fn set_iam_policy(
8034        &self,
8035        _req: crate::model::region_disks::SetIamPolicyRequest,
8036        _options: crate::RequestOptions,
8037    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8038    {
8039        gaxi::unimplemented::unimplemented_stub()
8040    }
8041
8042    /// Implements [super::client::RegionDisks::set_labels].
8043    fn set_labels(
8044        &self,
8045        _req: crate::model::region_disks::SetLabelsRequest,
8046        _options: crate::RequestOptions,
8047    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8048    {
8049        gaxi::unimplemented::unimplemented_stub()
8050    }
8051
8052    /// Implements [super::client::RegionDisks::start_async_replication].
8053    fn start_async_replication(
8054        &self,
8055        _req: crate::model::region_disks::StartAsyncReplicationRequest,
8056        _options: crate::RequestOptions,
8057    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8058    {
8059        gaxi::unimplemented::unimplemented_stub()
8060    }
8061
8062    /// Implements [super::client::RegionDisks::stop_async_replication].
8063    fn stop_async_replication(
8064        &self,
8065        _req: crate::model::region_disks::StopAsyncReplicationRequest,
8066        _options: crate::RequestOptions,
8067    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8068    {
8069        gaxi::unimplemented::unimplemented_stub()
8070    }
8071
8072    /// Implements [super::client::RegionDisks::stop_group_async_replication].
8073    fn stop_group_async_replication(
8074        &self,
8075        _req: crate::model::region_disks::StopGroupAsyncReplicationRequest,
8076        _options: crate::RequestOptions,
8077    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8078    {
8079        gaxi::unimplemented::unimplemented_stub()
8080    }
8081
8082    /// Implements [super::client::RegionDisks::test_iam_permissions].
8083    fn test_iam_permissions(
8084        &self,
8085        _req: crate::model::region_disks::TestIamPermissionsRequest,
8086        _options: crate::RequestOptions,
8087    ) -> impl std::future::Future<
8088        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8089    > + Send {
8090        gaxi::unimplemented::unimplemented_stub()
8091    }
8092
8093    /// Implements [super::client::RegionDisks::update].
8094    fn update(
8095        &self,
8096        _req: crate::model::region_disks::UpdateRequest,
8097        _options: crate::RequestOptions,
8098    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8099    {
8100        gaxi::unimplemented::unimplemented_stub()
8101    }
8102
8103    /// Implements [super::client::RegionDisks::get_operation].
8104    fn get_operation(
8105        &self,
8106        _req: crate::model::region_operations::GetRequest,
8107        _options: crate::RequestOptions,
8108    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8109    {
8110        gaxi::unimplemented::unimplemented_stub()
8111    }
8112
8113    /// Returns the polling error policy.
8114    ///
8115    /// When mocking, this method is typically irrelevant. Do not try to verify
8116    /// it is called by your mocks.
8117    fn get_polling_error_policy(
8118        &self,
8119        _options: &crate::RequestOptions,
8120    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8121        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8122    }
8123
8124    /// Returns the polling backoff policy.
8125    ///
8126    /// When mocking, this method is typically irrelevant. Do not try to verify
8127    /// it is called by your mocks.
8128    fn get_polling_backoff_policy(
8129        &self,
8130        _options: &crate::RequestOptions,
8131    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8132        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8133    }
8134}
8135
8136/// Defines the trait used to implement [super::client::RegionHealthCheckServices].
8137///
8138/// Application developers may need to implement this trait to mock
8139/// `client::RegionHealthCheckServices`.  In other use-cases, application developers only
8140/// use `client::RegionHealthCheckServices` and need not be concerned with this trait or
8141/// its implementations.
8142///
8143/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8144/// too. To avoid breaking applications the trait provides a default
8145/// implementation of each method. Most of these implementations just return an
8146/// error.
8147#[cfg(feature = "region-health-check-services")]
8148#[cfg_attr(docsrs, doc(cfg(feature = "region-health-check-services")))]
8149pub trait RegionHealthCheckServices: std::fmt::Debug + Send + Sync {
8150    /// Implements [super::client::RegionHealthCheckServices::delete].
8151    fn delete(
8152        &self,
8153        _req: crate::model::region_health_check_services::DeleteRequest,
8154        _options: crate::RequestOptions,
8155    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8156    {
8157        gaxi::unimplemented::unimplemented_stub()
8158    }
8159
8160    /// Implements [super::client::RegionHealthCheckServices::get].
8161    fn get(
8162        &self,
8163        _req: crate::model::region_health_check_services::GetRequest,
8164        _options: crate::RequestOptions,
8165    ) -> impl std::future::Future<
8166        Output = crate::Result<crate::Response<crate::model::HealthCheckService>>,
8167    > + Send {
8168        gaxi::unimplemented::unimplemented_stub()
8169    }
8170
8171    /// Implements [super::client::RegionHealthCheckServices::insert].
8172    fn insert(
8173        &self,
8174        _req: crate::model::region_health_check_services::InsertRequest,
8175        _options: crate::RequestOptions,
8176    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8177    {
8178        gaxi::unimplemented::unimplemented_stub()
8179    }
8180
8181    /// Implements [super::client::RegionHealthCheckServices::list].
8182    fn list(
8183        &self,
8184        _req: crate::model::region_health_check_services::ListRequest,
8185        _options: crate::RequestOptions,
8186    ) -> impl std::future::Future<
8187        Output = crate::Result<crate::Response<crate::model::HealthCheckServicesList>>,
8188    > + Send {
8189        gaxi::unimplemented::unimplemented_stub()
8190    }
8191
8192    /// Implements [super::client::RegionHealthCheckServices::patch].
8193    fn patch(
8194        &self,
8195        _req: crate::model::region_health_check_services::PatchRequest,
8196        _options: crate::RequestOptions,
8197    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8198    {
8199        gaxi::unimplemented::unimplemented_stub()
8200    }
8201
8202    /// Implements [super::client::RegionHealthCheckServices::test_iam_permissions].
8203    fn test_iam_permissions(
8204        &self,
8205        _req: crate::model::region_health_check_services::TestIamPermissionsRequest,
8206        _options: crate::RequestOptions,
8207    ) -> impl std::future::Future<
8208        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8209    > + Send {
8210        gaxi::unimplemented::unimplemented_stub()
8211    }
8212
8213    /// Implements [super::client::RegionHealthCheckServices::get_operation].
8214    fn get_operation(
8215        &self,
8216        _req: crate::model::region_operations::GetRequest,
8217        _options: crate::RequestOptions,
8218    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8219    {
8220        gaxi::unimplemented::unimplemented_stub()
8221    }
8222
8223    /// Returns the polling error policy.
8224    ///
8225    /// When mocking, this method is typically irrelevant. Do not try to verify
8226    /// it is called by your mocks.
8227    fn get_polling_error_policy(
8228        &self,
8229        _options: &crate::RequestOptions,
8230    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8231        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8232    }
8233
8234    /// Returns the polling backoff policy.
8235    ///
8236    /// When mocking, this method is typically irrelevant. Do not try to verify
8237    /// it is called by your mocks.
8238    fn get_polling_backoff_policy(
8239        &self,
8240        _options: &crate::RequestOptions,
8241    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8242        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8243    }
8244}
8245
8246/// Defines the trait used to implement [super::client::RegionHealthChecks].
8247///
8248/// Application developers may need to implement this trait to mock
8249/// `client::RegionHealthChecks`.  In other use-cases, application developers only
8250/// use `client::RegionHealthChecks` and need not be concerned with this trait or
8251/// its implementations.
8252///
8253/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8254/// too. To avoid breaking applications the trait provides a default
8255/// implementation of each method. Most of these implementations just return an
8256/// error.
8257#[cfg(feature = "region-health-checks")]
8258#[cfg_attr(docsrs, doc(cfg(feature = "region-health-checks")))]
8259pub trait RegionHealthChecks: std::fmt::Debug + Send + Sync {
8260    /// Implements [super::client::RegionHealthChecks::delete].
8261    fn delete(
8262        &self,
8263        _req: crate::model::region_health_checks::DeleteRequest,
8264        _options: crate::RequestOptions,
8265    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8266    {
8267        gaxi::unimplemented::unimplemented_stub()
8268    }
8269
8270    /// Implements [super::client::RegionHealthChecks::get].
8271    fn get(
8272        &self,
8273        _req: crate::model::region_health_checks::GetRequest,
8274        _options: crate::RequestOptions,
8275    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::HealthCheck>>>
8276    + Send {
8277        gaxi::unimplemented::unimplemented_stub()
8278    }
8279
8280    /// Implements [super::client::RegionHealthChecks::insert].
8281    fn insert(
8282        &self,
8283        _req: crate::model::region_health_checks::InsertRequest,
8284        _options: crate::RequestOptions,
8285    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8286    {
8287        gaxi::unimplemented::unimplemented_stub()
8288    }
8289
8290    /// Implements [super::client::RegionHealthChecks::list].
8291    fn list(
8292        &self,
8293        _req: crate::model::region_health_checks::ListRequest,
8294        _options: crate::RequestOptions,
8295    ) -> impl std::future::Future<
8296        Output = crate::Result<crate::Response<crate::model::HealthCheckList>>,
8297    > + Send {
8298        gaxi::unimplemented::unimplemented_stub()
8299    }
8300
8301    /// Implements [super::client::RegionHealthChecks::patch].
8302    fn patch(
8303        &self,
8304        _req: crate::model::region_health_checks::PatchRequest,
8305        _options: crate::RequestOptions,
8306    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8307    {
8308        gaxi::unimplemented::unimplemented_stub()
8309    }
8310
8311    /// Implements [super::client::RegionHealthChecks::test_iam_permissions].
8312    fn test_iam_permissions(
8313        &self,
8314        _req: crate::model::region_health_checks::TestIamPermissionsRequest,
8315        _options: crate::RequestOptions,
8316    ) -> impl std::future::Future<
8317        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8318    > + Send {
8319        gaxi::unimplemented::unimplemented_stub()
8320    }
8321
8322    /// Implements [super::client::RegionHealthChecks::update].
8323    fn update(
8324        &self,
8325        _req: crate::model::region_health_checks::UpdateRequest,
8326        _options: crate::RequestOptions,
8327    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8328    {
8329        gaxi::unimplemented::unimplemented_stub()
8330    }
8331
8332    /// Implements [super::client::RegionHealthChecks::get_operation].
8333    fn get_operation(
8334        &self,
8335        _req: crate::model::region_operations::GetRequest,
8336        _options: crate::RequestOptions,
8337    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8338    {
8339        gaxi::unimplemented::unimplemented_stub()
8340    }
8341
8342    /// Returns the polling error policy.
8343    ///
8344    /// When mocking, this method is typically irrelevant. Do not try to verify
8345    /// it is called by your mocks.
8346    fn get_polling_error_policy(
8347        &self,
8348        _options: &crate::RequestOptions,
8349    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8350        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8351    }
8352
8353    /// Returns the polling backoff policy.
8354    ///
8355    /// When mocking, this method is typically irrelevant. Do not try to verify
8356    /// it is called by your mocks.
8357    fn get_polling_backoff_policy(
8358        &self,
8359        _options: &crate::RequestOptions,
8360    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8361        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8362    }
8363}
8364
8365/// Defines the trait used to implement [super::client::RegionInstanceGroupManagers].
8366///
8367/// Application developers may need to implement this trait to mock
8368/// `client::RegionInstanceGroupManagers`.  In other use-cases, application developers only
8369/// use `client::RegionInstanceGroupManagers` and need not be concerned with this trait or
8370/// its implementations.
8371///
8372/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8373/// too. To avoid breaking applications the trait provides a default
8374/// implementation of each method. Most of these implementations just return an
8375/// error.
8376#[cfg(feature = "region-instance-group-managers")]
8377#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-group-managers")))]
8378pub trait RegionInstanceGroupManagers: std::fmt::Debug + Send + Sync {
8379    /// Implements [super::client::RegionInstanceGroupManagers::abandon_instances].
8380    fn abandon_instances(
8381        &self,
8382        _req: crate::model::region_instance_group_managers::AbandonInstancesRequest,
8383        _options: crate::RequestOptions,
8384    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8385    {
8386        gaxi::unimplemented::unimplemented_stub()
8387    }
8388
8389    /// Implements [super::client::RegionInstanceGroupManagers::apply_updates_to_instances].
8390    fn apply_updates_to_instances(
8391        &self,
8392        _req: crate::model::region_instance_group_managers::ApplyUpdatesToInstancesRequest,
8393        _options: crate::RequestOptions,
8394    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8395    {
8396        gaxi::unimplemented::unimplemented_stub()
8397    }
8398
8399    /// Implements [super::client::RegionInstanceGroupManagers::create_instances].
8400    fn create_instances(
8401        &self,
8402        _req: crate::model::region_instance_group_managers::CreateInstancesRequest,
8403        _options: crate::RequestOptions,
8404    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8405    {
8406        gaxi::unimplemented::unimplemented_stub()
8407    }
8408
8409    /// Implements [super::client::RegionInstanceGroupManagers::delete].
8410    fn delete(
8411        &self,
8412        _req: crate::model::region_instance_group_managers::DeleteRequest,
8413        _options: crate::RequestOptions,
8414    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8415    {
8416        gaxi::unimplemented::unimplemented_stub()
8417    }
8418
8419    /// Implements [super::client::RegionInstanceGroupManagers::delete_instances].
8420    fn delete_instances(
8421        &self,
8422        _req: crate::model::region_instance_group_managers::DeleteInstancesRequest,
8423        _options: crate::RequestOptions,
8424    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8425    {
8426        gaxi::unimplemented::unimplemented_stub()
8427    }
8428
8429    /// Implements [super::client::RegionInstanceGroupManagers::delete_per_instance_configs].
8430    fn delete_per_instance_configs(
8431        &self,
8432        _req: crate::model::region_instance_group_managers::DeletePerInstanceConfigsRequest,
8433        _options: crate::RequestOptions,
8434    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8435    {
8436        gaxi::unimplemented::unimplemented_stub()
8437    }
8438
8439    /// Implements [super::client::RegionInstanceGroupManagers::get].
8440    fn get(
8441        &self,
8442        _req: crate::model::region_instance_group_managers::GetRequest,
8443        _options: crate::RequestOptions,
8444    ) -> impl std::future::Future<
8445        Output = crate::Result<crate::Response<crate::model::InstanceGroupManager>>,
8446    > + Send {
8447        gaxi::unimplemented::unimplemented_stub()
8448    }
8449
8450    /// Implements [super::client::RegionInstanceGroupManagers::insert].
8451    fn insert(
8452        &self,
8453        _req: crate::model::region_instance_group_managers::InsertRequest,
8454        _options: crate::RequestOptions,
8455    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8456    {
8457        gaxi::unimplemented::unimplemented_stub()
8458    }
8459
8460    /// Implements [super::client::RegionInstanceGroupManagers::list].
8461    fn list(
8462        &self,
8463        _req: crate::model::region_instance_group_managers::ListRequest,
8464        _options: crate::RequestOptions,
8465    ) -> impl std::future::Future<
8466        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupManagerList>>,
8467    > + Send {
8468        gaxi::unimplemented::unimplemented_stub()
8469    }
8470
8471    /// Implements [super::client::RegionInstanceGroupManagers::list_errors].
8472    fn list_errors(
8473        &self,
8474        _req: crate::model::region_instance_group_managers::ListErrorsRequest,
8475        _options: crate::RequestOptions,
8476    ) -> impl std::future::Future<
8477        Output = crate::Result<
8478            crate::Response<crate::model::RegionInstanceGroupManagersListErrorsResponse>,
8479        >,
8480    > + Send {
8481        gaxi::unimplemented::unimplemented_stub()
8482    }
8483
8484    /// Implements [super::client::RegionInstanceGroupManagers::list_managed_instances].
8485    fn list_managed_instances(
8486        &self,
8487        _req: crate::model::region_instance_group_managers::ListManagedInstancesRequest,
8488        _options: crate::RequestOptions,
8489    ) -> impl std::future::Future<
8490        Output = crate::Result<
8491            crate::Response<crate::model::RegionInstanceGroupManagersListInstancesResponse>,
8492        >,
8493    > + Send {
8494        gaxi::unimplemented::unimplemented_stub()
8495    }
8496
8497    /// Implements [super::client::RegionInstanceGroupManagers::list_per_instance_configs].
8498    fn list_per_instance_configs(
8499        &self,
8500        _req: crate::model::region_instance_group_managers::ListPerInstanceConfigsRequest,
8501        _options: crate::RequestOptions,
8502    ) -> impl std::future::Future<
8503        Output = crate::Result<
8504            crate::Response<crate::model::RegionInstanceGroupManagersListInstanceConfigsResp>,
8505        >,
8506    > + Send {
8507        gaxi::unimplemented::unimplemented_stub()
8508    }
8509
8510    /// Implements [super::client::RegionInstanceGroupManagers::patch].
8511    fn patch(
8512        &self,
8513        _req: crate::model::region_instance_group_managers::PatchRequest,
8514        _options: crate::RequestOptions,
8515    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8516    {
8517        gaxi::unimplemented::unimplemented_stub()
8518    }
8519
8520    /// Implements [super::client::RegionInstanceGroupManagers::patch_per_instance_configs].
8521    fn patch_per_instance_configs(
8522        &self,
8523        _req: crate::model::region_instance_group_managers::PatchPerInstanceConfigsRequest,
8524        _options: crate::RequestOptions,
8525    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8526    {
8527        gaxi::unimplemented::unimplemented_stub()
8528    }
8529
8530    /// Implements [super::client::RegionInstanceGroupManagers::recreate_instances].
8531    fn recreate_instances(
8532        &self,
8533        _req: crate::model::region_instance_group_managers::RecreateInstancesRequest,
8534        _options: crate::RequestOptions,
8535    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8536    {
8537        gaxi::unimplemented::unimplemented_stub()
8538    }
8539
8540    /// Implements [super::client::RegionInstanceGroupManagers::resize].
8541    fn resize(
8542        &self,
8543        _req: crate::model::region_instance_group_managers::ResizeRequest,
8544        _options: crate::RequestOptions,
8545    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8546    {
8547        gaxi::unimplemented::unimplemented_stub()
8548    }
8549
8550    /// Implements [super::client::RegionInstanceGroupManagers::resume_instances].
8551    fn resume_instances(
8552        &self,
8553        _req: crate::model::region_instance_group_managers::ResumeInstancesRequest,
8554        _options: crate::RequestOptions,
8555    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8556    {
8557        gaxi::unimplemented::unimplemented_stub()
8558    }
8559
8560    /// Implements [super::client::RegionInstanceGroupManagers::set_instance_template].
8561    fn set_instance_template(
8562        &self,
8563        _req: crate::model::region_instance_group_managers::SetInstanceTemplateRequest,
8564        _options: crate::RequestOptions,
8565    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8566    {
8567        gaxi::unimplemented::unimplemented_stub()
8568    }
8569
8570    /// Implements [super::client::RegionInstanceGroupManagers::set_target_pools].
8571    fn set_target_pools(
8572        &self,
8573        _req: crate::model::region_instance_group_managers::SetTargetPoolsRequest,
8574        _options: crate::RequestOptions,
8575    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8576    {
8577        gaxi::unimplemented::unimplemented_stub()
8578    }
8579
8580    /// Implements [super::client::RegionInstanceGroupManagers::start_instances].
8581    fn start_instances(
8582        &self,
8583        _req: crate::model::region_instance_group_managers::StartInstancesRequest,
8584        _options: crate::RequestOptions,
8585    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8586    {
8587        gaxi::unimplemented::unimplemented_stub()
8588    }
8589
8590    /// Implements [super::client::RegionInstanceGroupManagers::stop_instances].
8591    fn stop_instances(
8592        &self,
8593        _req: crate::model::region_instance_group_managers::StopInstancesRequest,
8594        _options: crate::RequestOptions,
8595    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8596    {
8597        gaxi::unimplemented::unimplemented_stub()
8598    }
8599
8600    /// Implements [super::client::RegionInstanceGroupManagers::suspend_instances].
8601    fn suspend_instances(
8602        &self,
8603        _req: crate::model::region_instance_group_managers::SuspendInstancesRequest,
8604        _options: crate::RequestOptions,
8605    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8606    {
8607        gaxi::unimplemented::unimplemented_stub()
8608    }
8609
8610    /// Implements [super::client::RegionInstanceGroupManagers::update_per_instance_configs].
8611    fn update_per_instance_configs(
8612        &self,
8613        _req: crate::model::region_instance_group_managers::UpdatePerInstanceConfigsRequest,
8614        _options: crate::RequestOptions,
8615    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8616    {
8617        gaxi::unimplemented::unimplemented_stub()
8618    }
8619
8620    /// Implements [super::client::RegionInstanceGroupManagers::get_operation].
8621    fn get_operation(
8622        &self,
8623        _req: crate::model::region_operations::GetRequest,
8624        _options: crate::RequestOptions,
8625    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8626    {
8627        gaxi::unimplemented::unimplemented_stub()
8628    }
8629
8630    /// Returns the polling error policy.
8631    ///
8632    /// When mocking, this method is typically irrelevant. Do not try to verify
8633    /// it is called by your mocks.
8634    fn get_polling_error_policy(
8635        &self,
8636        _options: &crate::RequestOptions,
8637    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8638        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8639    }
8640
8641    /// Returns the polling backoff policy.
8642    ///
8643    /// When mocking, this method is typically irrelevant. Do not try to verify
8644    /// it is called by your mocks.
8645    fn get_polling_backoff_policy(
8646        &self,
8647        _options: &crate::RequestOptions,
8648    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8649        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8650    }
8651}
8652
8653/// Defines the trait used to implement [super::client::RegionInstanceGroups].
8654///
8655/// Application developers may need to implement this trait to mock
8656/// `client::RegionInstanceGroups`.  In other use-cases, application developers only
8657/// use `client::RegionInstanceGroups` and need not be concerned with this trait or
8658/// its implementations.
8659///
8660/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8661/// too. To avoid breaking applications the trait provides a default
8662/// implementation of each method. Most of these implementations just return an
8663/// error.
8664#[cfg(feature = "region-instance-groups")]
8665#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-groups")))]
8666pub trait RegionInstanceGroups: std::fmt::Debug + Send + Sync {
8667    /// Implements [super::client::RegionInstanceGroups::get].
8668    fn get(
8669        &self,
8670        _req: crate::model::region_instance_groups::GetRequest,
8671        _options: crate::RequestOptions,
8672    ) -> impl std::future::Future<
8673        Output = crate::Result<crate::Response<crate::model::InstanceGroup>>,
8674    > + Send {
8675        gaxi::unimplemented::unimplemented_stub()
8676    }
8677
8678    /// Implements [super::client::RegionInstanceGroups::list].
8679    fn list(
8680        &self,
8681        _req: crate::model::region_instance_groups::ListRequest,
8682        _options: crate::RequestOptions,
8683    ) -> impl std::future::Future<
8684        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupList>>,
8685    > + Send {
8686        gaxi::unimplemented::unimplemented_stub()
8687    }
8688
8689    /// Implements [super::client::RegionInstanceGroups::list_instances].
8690    fn list_instances(
8691        &self,
8692        _req: crate::model::region_instance_groups::ListInstancesRequest,
8693        _options: crate::RequestOptions,
8694    ) -> impl std::future::Future<
8695        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupsListInstances>>,
8696    > + Send {
8697        gaxi::unimplemented::unimplemented_stub()
8698    }
8699
8700    /// Implements [super::client::RegionInstanceGroups::set_named_ports].
8701    fn set_named_ports(
8702        &self,
8703        _req: crate::model::region_instance_groups::SetNamedPortsRequest,
8704        _options: crate::RequestOptions,
8705    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8706    {
8707        gaxi::unimplemented::unimplemented_stub()
8708    }
8709
8710    /// Implements [super::client::RegionInstanceGroups::test_iam_permissions].
8711    fn test_iam_permissions(
8712        &self,
8713        _req: crate::model::region_instance_groups::TestIamPermissionsRequest,
8714        _options: crate::RequestOptions,
8715    ) -> impl std::future::Future<
8716        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8717    > + Send {
8718        gaxi::unimplemented::unimplemented_stub()
8719    }
8720
8721    /// Implements [super::client::RegionInstanceGroups::get_operation].
8722    fn get_operation(
8723        &self,
8724        _req: crate::model::region_operations::GetRequest,
8725        _options: crate::RequestOptions,
8726    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8727    {
8728        gaxi::unimplemented::unimplemented_stub()
8729    }
8730
8731    /// Returns the polling error policy.
8732    ///
8733    /// When mocking, this method is typically irrelevant. Do not try to verify
8734    /// it is called by your mocks.
8735    fn get_polling_error_policy(
8736        &self,
8737        _options: &crate::RequestOptions,
8738    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8739        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8740    }
8741
8742    /// Returns the polling backoff policy.
8743    ///
8744    /// When mocking, this method is typically irrelevant. Do not try to verify
8745    /// it is called by your mocks.
8746    fn get_polling_backoff_policy(
8747        &self,
8748        _options: &crate::RequestOptions,
8749    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8750        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8751    }
8752}
8753
8754/// Defines the trait used to implement [super::client::RegionInstanceTemplates].
8755///
8756/// Application developers may need to implement this trait to mock
8757/// `client::RegionInstanceTemplates`.  In other use-cases, application developers only
8758/// use `client::RegionInstanceTemplates` and need not be concerned with this trait or
8759/// its implementations.
8760///
8761/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8762/// too. To avoid breaking applications the trait provides a default
8763/// implementation of each method. Most of these implementations just return an
8764/// error.
8765#[cfg(feature = "region-instance-templates")]
8766#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-templates")))]
8767pub trait RegionInstanceTemplates: std::fmt::Debug + Send + Sync {
8768    /// Implements [super::client::RegionInstanceTemplates::delete].
8769    fn delete(
8770        &self,
8771        _req: crate::model::region_instance_templates::DeleteRequest,
8772        _options: crate::RequestOptions,
8773    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8774    {
8775        gaxi::unimplemented::unimplemented_stub()
8776    }
8777
8778    /// Implements [super::client::RegionInstanceTemplates::get].
8779    fn get(
8780        &self,
8781        _req: crate::model::region_instance_templates::GetRequest,
8782        _options: crate::RequestOptions,
8783    ) -> impl std::future::Future<
8784        Output = crate::Result<crate::Response<crate::model::InstanceTemplate>>,
8785    > + Send {
8786        gaxi::unimplemented::unimplemented_stub()
8787    }
8788
8789    /// Implements [super::client::RegionInstanceTemplates::insert].
8790    fn insert(
8791        &self,
8792        _req: crate::model::region_instance_templates::InsertRequest,
8793        _options: crate::RequestOptions,
8794    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8795    {
8796        gaxi::unimplemented::unimplemented_stub()
8797    }
8798
8799    /// Implements [super::client::RegionInstanceTemplates::list].
8800    fn list(
8801        &self,
8802        _req: crate::model::region_instance_templates::ListRequest,
8803        _options: crate::RequestOptions,
8804    ) -> impl std::future::Future<
8805        Output = crate::Result<crate::Response<crate::model::InstanceTemplateList>>,
8806    > + Send {
8807        gaxi::unimplemented::unimplemented_stub()
8808    }
8809
8810    /// Implements [super::client::RegionInstanceTemplates::get_operation].
8811    fn get_operation(
8812        &self,
8813        _req: crate::model::region_operations::GetRequest,
8814        _options: crate::RequestOptions,
8815    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8816    {
8817        gaxi::unimplemented::unimplemented_stub()
8818    }
8819
8820    /// Returns the polling error policy.
8821    ///
8822    /// When mocking, this method is typically irrelevant. Do not try to verify
8823    /// it is called by your mocks.
8824    fn get_polling_error_policy(
8825        &self,
8826        _options: &crate::RequestOptions,
8827    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8828        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8829    }
8830
8831    /// Returns the polling backoff policy.
8832    ///
8833    /// When mocking, this method is typically irrelevant. Do not try to verify
8834    /// it is called by your mocks.
8835    fn get_polling_backoff_policy(
8836        &self,
8837        _options: &crate::RequestOptions,
8838    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8839        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8840    }
8841}
8842
8843/// Defines the trait used to implement [super::client::RegionInstances].
8844///
8845/// Application developers may need to implement this trait to mock
8846/// `client::RegionInstances`.  In other use-cases, application developers only
8847/// use `client::RegionInstances` and need not be concerned with this trait or
8848/// its implementations.
8849///
8850/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8851/// too. To avoid breaking applications the trait provides a default
8852/// implementation of each method. Most of these implementations just return an
8853/// error.
8854#[cfg(feature = "region-instances")]
8855#[cfg_attr(docsrs, doc(cfg(feature = "region-instances")))]
8856pub trait RegionInstances: std::fmt::Debug + Send + Sync {
8857    /// Implements [super::client::RegionInstances::bulk_insert].
8858    fn bulk_insert(
8859        &self,
8860        _req: crate::model::region_instances::BulkInsertRequest,
8861        _options: crate::RequestOptions,
8862    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8863    {
8864        gaxi::unimplemented::unimplemented_stub()
8865    }
8866
8867    /// Implements [super::client::RegionInstances::get_operation].
8868    fn get_operation(
8869        &self,
8870        _req: crate::model::region_operations::GetRequest,
8871        _options: crate::RequestOptions,
8872    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8873    {
8874        gaxi::unimplemented::unimplemented_stub()
8875    }
8876
8877    /// Returns the polling error policy.
8878    ///
8879    /// When mocking, this method is typically irrelevant. Do not try to verify
8880    /// it is called by your mocks.
8881    fn get_polling_error_policy(
8882        &self,
8883        _options: &crate::RequestOptions,
8884    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8885        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8886    }
8887
8888    /// Returns the polling backoff policy.
8889    ///
8890    /// When mocking, this method is typically irrelevant. Do not try to verify
8891    /// it is called by your mocks.
8892    fn get_polling_backoff_policy(
8893        &self,
8894        _options: &crate::RequestOptions,
8895    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8896        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8897    }
8898}
8899
8900/// Defines the trait used to implement [super::client::RegionInstantSnapshots].
8901///
8902/// Application developers may need to implement this trait to mock
8903/// `client::RegionInstantSnapshots`.  In other use-cases, application developers only
8904/// use `client::RegionInstantSnapshots` and need not be concerned with this trait or
8905/// its implementations.
8906///
8907/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8908/// too. To avoid breaking applications the trait provides a default
8909/// implementation of each method. Most of these implementations just return an
8910/// error.
8911#[cfg(feature = "region-instant-snapshots")]
8912#[cfg_attr(docsrs, doc(cfg(feature = "region-instant-snapshots")))]
8913pub trait RegionInstantSnapshots: std::fmt::Debug + Send + Sync {
8914    /// Implements [super::client::RegionInstantSnapshots::delete].
8915    fn delete(
8916        &self,
8917        _req: crate::model::region_instant_snapshots::DeleteRequest,
8918        _options: crate::RequestOptions,
8919    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8920    {
8921        gaxi::unimplemented::unimplemented_stub()
8922    }
8923
8924    /// Implements [super::client::RegionInstantSnapshots::get].
8925    fn get(
8926        &self,
8927        _req: crate::model::region_instant_snapshots::GetRequest,
8928        _options: crate::RequestOptions,
8929    ) -> impl std::future::Future<
8930        Output = crate::Result<crate::Response<crate::model::InstantSnapshot>>,
8931    > + Send {
8932        gaxi::unimplemented::unimplemented_stub()
8933    }
8934
8935    /// Implements [super::client::RegionInstantSnapshots::get_iam_policy].
8936    fn get_iam_policy(
8937        &self,
8938        _req: crate::model::region_instant_snapshots::GetIamPolicyRequest,
8939        _options: crate::RequestOptions,
8940    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8941    {
8942        gaxi::unimplemented::unimplemented_stub()
8943    }
8944
8945    /// Implements [super::client::RegionInstantSnapshots::insert].
8946    fn insert(
8947        &self,
8948        _req: crate::model::region_instant_snapshots::InsertRequest,
8949        _options: crate::RequestOptions,
8950    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8951    {
8952        gaxi::unimplemented::unimplemented_stub()
8953    }
8954
8955    /// Implements [super::client::RegionInstantSnapshots::list].
8956    fn list(
8957        &self,
8958        _req: crate::model::region_instant_snapshots::ListRequest,
8959        _options: crate::RequestOptions,
8960    ) -> impl std::future::Future<
8961        Output = crate::Result<crate::Response<crate::model::InstantSnapshotList>>,
8962    > + Send {
8963        gaxi::unimplemented::unimplemented_stub()
8964    }
8965
8966    /// Implements [super::client::RegionInstantSnapshots::set_iam_policy].
8967    fn set_iam_policy(
8968        &self,
8969        _req: crate::model::region_instant_snapshots::SetIamPolicyRequest,
8970        _options: crate::RequestOptions,
8971    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8972    {
8973        gaxi::unimplemented::unimplemented_stub()
8974    }
8975
8976    /// Implements [super::client::RegionInstantSnapshots::set_labels].
8977    fn set_labels(
8978        &self,
8979        _req: crate::model::region_instant_snapshots::SetLabelsRequest,
8980        _options: crate::RequestOptions,
8981    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8982    {
8983        gaxi::unimplemented::unimplemented_stub()
8984    }
8985
8986    /// Implements [super::client::RegionInstantSnapshots::test_iam_permissions].
8987    fn test_iam_permissions(
8988        &self,
8989        _req: crate::model::region_instant_snapshots::TestIamPermissionsRequest,
8990        _options: crate::RequestOptions,
8991    ) -> impl std::future::Future<
8992        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8993    > + Send {
8994        gaxi::unimplemented::unimplemented_stub()
8995    }
8996
8997    /// Implements [super::client::RegionInstantSnapshots::get_operation].
8998    fn get_operation(
8999        &self,
9000        _req: crate::model::region_operations::GetRequest,
9001        _options: crate::RequestOptions,
9002    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9003    {
9004        gaxi::unimplemented::unimplemented_stub()
9005    }
9006
9007    /// Returns the polling error policy.
9008    ///
9009    /// When mocking, this method is typically irrelevant. Do not try to verify
9010    /// it is called by your mocks.
9011    fn get_polling_error_policy(
9012        &self,
9013        _options: &crate::RequestOptions,
9014    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9015        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9016    }
9017
9018    /// Returns the polling backoff policy.
9019    ///
9020    /// When mocking, this method is typically irrelevant. Do not try to verify
9021    /// it is called by your mocks.
9022    fn get_polling_backoff_policy(
9023        &self,
9024        _options: &crate::RequestOptions,
9025    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9026        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9027    }
9028}
9029
9030/// Defines the trait used to implement [super::client::RegionNetworkEndpointGroups].
9031///
9032/// Application developers may need to implement this trait to mock
9033/// `client::RegionNetworkEndpointGroups`.  In other use-cases, application developers only
9034/// use `client::RegionNetworkEndpointGroups` and need not be concerned with this trait or
9035/// its implementations.
9036///
9037/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9038/// too. To avoid breaking applications the trait provides a default
9039/// implementation of each method. Most of these implementations just return an
9040/// error.
9041#[cfg(feature = "region-network-endpoint-groups")]
9042#[cfg_attr(docsrs, doc(cfg(feature = "region-network-endpoint-groups")))]
9043pub trait RegionNetworkEndpointGroups: std::fmt::Debug + Send + Sync {
9044    /// Implements [super::client::RegionNetworkEndpointGroups::attach_network_endpoints].
9045    fn attach_network_endpoints(
9046        &self,
9047        _req: crate::model::region_network_endpoint_groups::AttachNetworkEndpointsRequest,
9048        _options: crate::RequestOptions,
9049    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9050    {
9051        gaxi::unimplemented::unimplemented_stub()
9052    }
9053
9054    /// Implements [super::client::RegionNetworkEndpointGroups::delete].
9055    fn delete(
9056        &self,
9057        _req: crate::model::region_network_endpoint_groups::DeleteRequest,
9058        _options: crate::RequestOptions,
9059    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9060    {
9061        gaxi::unimplemented::unimplemented_stub()
9062    }
9063
9064    /// Implements [super::client::RegionNetworkEndpointGroups::detach_network_endpoints].
9065    fn detach_network_endpoints(
9066        &self,
9067        _req: crate::model::region_network_endpoint_groups::DetachNetworkEndpointsRequest,
9068        _options: crate::RequestOptions,
9069    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9070    {
9071        gaxi::unimplemented::unimplemented_stub()
9072    }
9073
9074    /// Implements [super::client::RegionNetworkEndpointGroups::get].
9075    fn get(
9076        &self,
9077        _req: crate::model::region_network_endpoint_groups::GetRequest,
9078        _options: crate::RequestOptions,
9079    ) -> impl std::future::Future<
9080        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
9081    > + Send {
9082        gaxi::unimplemented::unimplemented_stub()
9083    }
9084
9085    /// Implements [super::client::RegionNetworkEndpointGroups::insert].
9086    fn insert(
9087        &self,
9088        _req: crate::model::region_network_endpoint_groups::InsertRequest,
9089        _options: crate::RequestOptions,
9090    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9091    {
9092        gaxi::unimplemented::unimplemented_stub()
9093    }
9094
9095    /// Implements [super::client::RegionNetworkEndpointGroups::list].
9096    fn list(
9097        &self,
9098        _req: crate::model::region_network_endpoint_groups::ListRequest,
9099        _options: crate::RequestOptions,
9100    ) -> impl std::future::Future<
9101        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
9102    > + Send {
9103        gaxi::unimplemented::unimplemented_stub()
9104    }
9105
9106    /// Implements [super::client::RegionNetworkEndpointGroups::list_network_endpoints].
9107    fn list_network_endpoints(
9108        &self,
9109        _req: crate::model::region_network_endpoint_groups::ListNetworkEndpointsRequest,
9110        _options: crate::RequestOptions,
9111    ) -> impl std::future::Future<
9112        Output = crate::Result<
9113            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
9114        >,
9115    > + Send {
9116        gaxi::unimplemented::unimplemented_stub()
9117    }
9118
9119    /// Implements [super::client::RegionNetworkEndpointGroups::get_operation].
9120    fn get_operation(
9121        &self,
9122        _req: crate::model::region_operations::GetRequest,
9123        _options: crate::RequestOptions,
9124    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9125    {
9126        gaxi::unimplemented::unimplemented_stub()
9127    }
9128
9129    /// Returns the polling error policy.
9130    ///
9131    /// When mocking, this method is typically irrelevant. Do not try to verify
9132    /// it is called by your mocks.
9133    fn get_polling_error_policy(
9134        &self,
9135        _options: &crate::RequestOptions,
9136    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9137        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9138    }
9139
9140    /// Returns the polling backoff policy.
9141    ///
9142    /// When mocking, this method is typically irrelevant. Do not try to verify
9143    /// it is called by your mocks.
9144    fn get_polling_backoff_policy(
9145        &self,
9146        _options: &crate::RequestOptions,
9147    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9148        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9149    }
9150}
9151
9152/// Defines the trait used to implement [super::client::RegionNetworkFirewallPolicies].
9153///
9154/// Application developers may need to implement this trait to mock
9155/// `client::RegionNetworkFirewallPolicies`.  In other use-cases, application developers only
9156/// use `client::RegionNetworkFirewallPolicies` and need not be concerned with this trait or
9157/// its implementations.
9158///
9159/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9160/// too. To avoid breaking applications the trait provides a default
9161/// implementation of each method. Most of these implementations just return an
9162/// error.
9163#[cfg(feature = "region-network-firewall-policies")]
9164#[cfg_attr(docsrs, doc(cfg(feature = "region-network-firewall-policies")))]
9165pub trait RegionNetworkFirewallPolicies: std::fmt::Debug + Send + Sync {
9166    /// Implements [super::client::RegionNetworkFirewallPolicies::add_association].
9167    fn add_association(
9168        &self,
9169        _req: crate::model::region_network_firewall_policies::AddAssociationRequest,
9170        _options: crate::RequestOptions,
9171    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9172    {
9173        gaxi::unimplemented::unimplemented_stub()
9174    }
9175
9176    /// Implements [super::client::RegionNetworkFirewallPolicies::add_rule].
9177    fn add_rule(
9178        &self,
9179        _req: crate::model::region_network_firewall_policies::AddRuleRequest,
9180        _options: crate::RequestOptions,
9181    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9182    {
9183        gaxi::unimplemented::unimplemented_stub()
9184    }
9185
9186    /// Implements [super::client::RegionNetworkFirewallPolicies::clone_rules].
9187    fn clone_rules(
9188        &self,
9189        _req: crate::model::region_network_firewall_policies::CloneRulesRequest,
9190        _options: crate::RequestOptions,
9191    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9192    {
9193        gaxi::unimplemented::unimplemented_stub()
9194    }
9195
9196    /// Implements [super::client::RegionNetworkFirewallPolicies::delete].
9197    fn delete(
9198        &self,
9199        _req: crate::model::region_network_firewall_policies::DeleteRequest,
9200        _options: crate::RequestOptions,
9201    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9202    {
9203        gaxi::unimplemented::unimplemented_stub()
9204    }
9205
9206    /// Implements [super::client::RegionNetworkFirewallPolicies::get].
9207    fn get(
9208        &self,
9209        _req: crate::model::region_network_firewall_policies::GetRequest,
9210        _options: crate::RequestOptions,
9211    ) -> impl std::future::Future<
9212        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
9213    > + Send {
9214        gaxi::unimplemented::unimplemented_stub()
9215    }
9216
9217    /// Implements [super::client::RegionNetworkFirewallPolicies::get_association].
9218    fn get_association(
9219        &self,
9220        _req: crate::model::region_network_firewall_policies::GetAssociationRequest,
9221        _options: crate::RequestOptions,
9222    ) -> impl std::future::Future<
9223        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
9224    > + Send {
9225        gaxi::unimplemented::unimplemented_stub()
9226    }
9227
9228    /// Implements [super::client::RegionNetworkFirewallPolicies::get_effective_firewalls].
9229    fn get_effective_firewalls(
9230        &self,
9231        _req: crate::model::region_network_firewall_policies::GetEffectiveFirewallsRequest,
9232        _options: crate::RequestOptions,
9233    ) -> impl std::future::Future<
9234        Output = crate::Result<
9235            crate::Response<
9236                crate::model::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse,
9237            >,
9238        >,
9239    > + Send {
9240        gaxi::unimplemented::unimplemented_stub()
9241    }
9242
9243    /// Implements [super::client::RegionNetworkFirewallPolicies::get_iam_policy].
9244    fn get_iam_policy(
9245        &self,
9246        _req: crate::model::region_network_firewall_policies::GetIamPolicyRequest,
9247        _options: crate::RequestOptions,
9248    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9249    {
9250        gaxi::unimplemented::unimplemented_stub()
9251    }
9252
9253    /// Implements [super::client::RegionNetworkFirewallPolicies::get_rule].
9254    fn get_rule(
9255        &self,
9256        _req: crate::model::region_network_firewall_policies::GetRuleRequest,
9257        _options: crate::RequestOptions,
9258    ) -> impl std::future::Future<
9259        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
9260    > + Send {
9261        gaxi::unimplemented::unimplemented_stub()
9262    }
9263
9264    /// Implements [super::client::RegionNetworkFirewallPolicies::insert].
9265    fn insert(
9266        &self,
9267        _req: crate::model::region_network_firewall_policies::InsertRequest,
9268        _options: crate::RequestOptions,
9269    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9270    {
9271        gaxi::unimplemented::unimplemented_stub()
9272    }
9273
9274    /// Implements [super::client::RegionNetworkFirewallPolicies::list].
9275    fn list(
9276        &self,
9277        _req: crate::model::region_network_firewall_policies::ListRequest,
9278        _options: crate::RequestOptions,
9279    ) -> impl std::future::Future<
9280        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
9281    > + Send {
9282        gaxi::unimplemented::unimplemented_stub()
9283    }
9284
9285    /// Implements [super::client::RegionNetworkFirewallPolicies::patch].
9286    fn patch(
9287        &self,
9288        _req: crate::model::region_network_firewall_policies::PatchRequest,
9289        _options: crate::RequestOptions,
9290    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9291    {
9292        gaxi::unimplemented::unimplemented_stub()
9293    }
9294
9295    /// Implements [super::client::RegionNetworkFirewallPolicies::patch_rule].
9296    fn patch_rule(
9297        &self,
9298        _req: crate::model::region_network_firewall_policies::PatchRuleRequest,
9299        _options: crate::RequestOptions,
9300    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9301    {
9302        gaxi::unimplemented::unimplemented_stub()
9303    }
9304
9305    /// Implements [super::client::RegionNetworkFirewallPolicies::remove_association].
9306    fn remove_association(
9307        &self,
9308        _req: crate::model::region_network_firewall_policies::RemoveAssociationRequest,
9309        _options: crate::RequestOptions,
9310    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9311    {
9312        gaxi::unimplemented::unimplemented_stub()
9313    }
9314
9315    /// Implements [super::client::RegionNetworkFirewallPolicies::remove_rule].
9316    fn remove_rule(
9317        &self,
9318        _req: crate::model::region_network_firewall_policies::RemoveRuleRequest,
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::RegionNetworkFirewallPolicies::set_iam_policy].
9326    fn set_iam_policy(
9327        &self,
9328        _req: crate::model::region_network_firewall_policies::SetIamPolicyRequest,
9329        _options: crate::RequestOptions,
9330    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9331    {
9332        gaxi::unimplemented::unimplemented_stub()
9333    }
9334
9335    /// Implements [super::client::RegionNetworkFirewallPolicies::test_iam_permissions].
9336    fn test_iam_permissions(
9337        &self,
9338        _req: crate::model::region_network_firewall_policies::TestIamPermissionsRequest,
9339        _options: crate::RequestOptions,
9340    ) -> impl std::future::Future<
9341        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9342    > + Send {
9343        gaxi::unimplemented::unimplemented_stub()
9344    }
9345
9346    /// Implements [super::client::RegionNetworkFirewallPolicies::get_operation].
9347    fn get_operation(
9348        &self,
9349        _req: crate::model::region_operations::GetRequest,
9350        _options: crate::RequestOptions,
9351    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9352    {
9353        gaxi::unimplemented::unimplemented_stub()
9354    }
9355
9356    /// Returns the polling error policy.
9357    ///
9358    /// When mocking, this method is typically irrelevant. Do not try to verify
9359    /// it is called by your mocks.
9360    fn get_polling_error_policy(
9361        &self,
9362        _options: &crate::RequestOptions,
9363    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9364        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9365    }
9366
9367    /// Returns the polling backoff policy.
9368    ///
9369    /// When mocking, this method is typically irrelevant. Do not try to verify
9370    /// it is called by your mocks.
9371    fn get_polling_backoff_policy(
9372        &self,
9373        _options: &crate::RequestOptions,
9374    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9375        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9376    }
9377}
9378
9379/// Defines the trait used to implement [super::client::RegionNotificationEndpoints].
9380///
9381/// Application developers may need to implement this trait to mock
9382/// `client::RegionNotificationEndpoints`.  In other use-cases, application developers only
9383/// use `client::RegionNotificationEndpoints` and need not be concerned with this trait or
9384/// its implementations.
9385///
9386/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9387/// too. To avoid breaking applications the trait provides a default
9388/// implementation of each method. Most of these implementations just return an
9389/// error.
9390#[cfg(feature = "region-notification-endpoints")]
9391#[cfg_attr(docsrs, doc(cfg(feature = "region-notification-endpoints")))]
9392pub trait RegionNotificationEndpoints: std::fmt::Debug + Send + Sync {
9393    /// Implements [super::client::RegionNotificationEndpoints::delete].
9394    fn delete(
9395        &self,
9396        _req: crate::model::region_notification_endpoints::DeleteRequest,
9397        _options: crate::RequestOptions,
9398    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9399    {
9400        gaxi::unimplemented::unimplemented_stub()
9401    }
9402
9403    /// Implements [super::client::RegionNotificationEndpoints::get].
9404    fn get(
9405        &self,
9406        _req: crate::model::region_notification_endpoints::GetRequest,
9407        _options: crate::RequestOptions,
9408    ) -> impl std::future::Future<
9409        Output = crate::Result<crate::Response<crate::model::NotificationEndpoint>>,
9410    > + Send {
9411        gaxi::unimplemented::unimplemented_stub()
9412    }
9413
9414    /// Implements [super::client::RegionNotificationEndpoints::insert].
9415    fn insert(
9416        &self,
9417        _req: crate::model::region_notification_endpoints::InsertRequest,
9418        _options: crate::RequestOptions,
9419    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9420    {
9421        gaxi::unimplemented::unimplemented_stub()
9422    }
9423
9424    /// Implements [super::client::RegionNotificationEndpoints::list].
9425    fn list(
9426        &self,
9427        _req: crate::model::region_notification_endpoints::ListRequest,
9428        _options: crate::RequestOptions,
9429    ) -> impl std::future::Future<
9430        Output = crate::Result<crate::Response<crate::model::NotificationEndpointList>>,
9431    > + Send {
9432        gaxi::unimplemented::unimplemented_stub()
9433    }
9434
9435    /// Implements [super::client::RegionNotificationEndpoints::test_iam_permissions].
9436    fn test_iam_permissions(
9437        &self,
9438        _req: crate::model::region_notification_endpoints::TestIamPermissionsRequest,
9439        _options: crate::RequestOptions,
9440    ) -> impl std::future::Future<
9441        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9442    > + Send {
9443        gaxi::unimplemented::unimplemented_stub()
9444    }
9445
9446    /// Implements [super::client::RegionNotificationEndpoints::get_operation].
9447    fn get_operation(
9448        &self,
9449        _req: crate::model::region_operations::GetRequest,
9450        _options: crate::RequestOptions,
9451    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9452    {
9453        gaxi::unimplemented::unimplemented_stub()
9454    }
9455
9456    /// Returns the polling error policy.
9457    ///
9458    /// When mocking, this method is typically irrelevant. Do not try to verify
9459    /// it is called by your mocks.
9460    fn get_polling_error_policy(
9461        &self,
9462        _options: &crate::RequestOptions,
9463    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9464        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9465    }
9466
9467    /// Returns the polling backoff policy.
9468    ///
9469    /// When mocking, this method is typically irrelevant. Do not try to verify
9470    /// it is called by your mocks.
9471    fn get_polling_backoff_policy(
9472        &self,
9473        _options: &crate::RequestOptions,
9474    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9475        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9476    }
9477}
9478
9479/// Defines the trait used to implement [super::client::RegionOperations].
9480///
9481/// Application developers may need to implement this trait to mock
9482/// `client::RegionOperations`.  In other use-cases, application developers only
9483/// use `client::RegionOperations` and need not be concerned with this trait or
9484/// its implementations.
9485///
9486/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9487/// too. To avoid breaking applications the trait provides a default
9488/// implementation of each method. Most of these implementations just return an
9489/// error.
9490#[cfg(feature = "region-operations")]
9491#[cfg_attr(docsrs, doc(cfg(feature = "region-operations")))]
9492pub trait RegionOperations: std::fmt::Debug + Send + Sync {
9493    /// Implements [super::client::RegionOperations::delete].
9494    fn delete(
9495        &self,
9496        _req: crate::model::region_operations::DeleteRequest,
9497        _options: crate::RequestOptions,
9498    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
9499        gaxi::unimplemented::unimplemented_stub()
9500    }
9501
9502    /// Implements [super::client::RegionOperations::get].
9503    fn get(
9504        &self,
9505        _req: crate::model::region_operations::GetRequest,
9506        _options: crate::RequestOptions,
9507    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9508    {
9509        gaxi::unimplemented::unimplemented_stub()
9510    }
9511
9512    /// Implements [super::client::RegionOperations::list].
9513    fn list(
9514        &self,
9515        _req: crate::model::region_operations::ListRequest,
9516        _options: crate::RequestOptions,
9517    ) -> impl std::future::Future<
9518        Output = crate::Result<crate::Response<crate::model::OperationList>>,
9519    > + Send {
9520        gaxi::unimplemented::unimplemented_stub()
9521    }
9522
9523    /// Implements [super::client::RegionOperations::wait].
9524    fn wait(
9525        &self,
9526        _req: crate::model::region_operations::WaitRequest,
9527        _options: crate::RequestOptions,
9528    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9529    {
9530        gaxi::unimplemented::unimplemented_stub()
9531    }
9532}
9533
9534/// Defines the trait used to implement [super::client::RegionSecurityPolicies].
9535///
9536/// Application developers may need to implement this trait to mock
9537/// `client::RegionSecurityPolicies`.  In other use-cases, application developers only
9538/// use `client::RegionSecurityPolicies` and need not be concerned with this trait or
9539/// its implementations.
9540///
9541/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9542/// too. To avoid breaking applications the trait provides a default
9543/// implementation of each method. Most of these implementations just return an
9544/// error.
9545#[cfg(feature = "region-security-policies")]
9546#[cfg_attr(docsrs, doc(cfg(feature = "region-security-policies")))]
9547pub trait RegionSecurityPolicies: std::fmt::Debug + Send + Sync {
9548    /// Implements [super::client::RegionSecurityPolicies::add_rule].
9549    fn add_rule(
9550        &self,
9551        _req: crate::model::region_security_policies::AddRuleRequest,
9552        _options: crate::RequestOptions,
9553    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9554    {
9555        gaxi::unimplemented::unimplemented_stub()
9556    }
9557
9558    /// Implements [super::client::RegionSecurityPolicies::delete].
9559    fn delete(
9560        &self,
9561        _req: crate::model::region_security_policies::DeleteRequest,
9562        _options: crate::RequestOptions,
9563    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9564    {
9565        gaxi::unimplemented::unimplemented_stub()
9566    }
9567
9568    /// Implements [super::client::RegionSecurityPolicies::get].
9569    fn get(
9570        &self,
9571        _req: crate::model::region_security_policies::GetRequest,
9572        _options: crate::RequestOptions,
9573    ) -> impl std::future::Future<
9574        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
9575    > + Send {
9576        gaxi::unimplemented::unimplemented_stub()
9577    }
9578
9579    /// Implements [super::client::RegionSecurityPolicies::get_rule].
9580    fn get_rule(
9581        &self,
9582        _req: crate::model::region_security_policies::GetRuleRequest,
9583        _options: crate::RequestOptions,
9584    ) -> impl std::future::Future<
9585        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
9586    > + Send {
9587        gaxi::unimplemented::unimplemented_stub()
9588    }
9589
9590    /// Implements [super::client::RegionSecurityPolicies::insert].
9591    fn insert(
9592        &self,
9593        _req: crate::model::region_security_policies::InsertRequest,
9594        _options: crate::RequestOptions,
9595    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9596    {
9597        gaxi::unimplemented::unimplemented_stub()
9598    }
9599
9600    /// Implements [super::client::RegionSecurityPolicies::list].
9601    fn list(
9602        &self,
9603        _req: crate::model::region_security_policies::ListRequest,
9604        _options: crate::RequestOptions,
9605    ) -> impl std::future::Future<
9606        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
9607    > + Send {
9608        gaxi::unimplemented::unimplemented_stub()
9609    }
9610
9611    /// Implements [super::client::RegionSecurityPolicies::patch].
9612    fn patch(
9613        &self,
9614        _req: crate::model::region_security_policies::PatchRequest,
9615        _options: crate::RequestOptions,
9616    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9617    {
9618        gaxi::unimplemented::unimplemented_stub()
9619    }
9620
9621    /// Implements [super::client::RegionSecurityPolicies::patch_rule].
9622    fn patch_rule(
9623        &self,
9624        _req: crate::model::region_security_policies::PatchRuleRequest,
9625        _options: crate::RequestOptions,
9626    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9627    {
9628        gaxi::unimplemented::unimplemented_stub()
9629    }
9630
9631    /// Implements [super::client::RegionSecurityPolicies::remove_rule].
9632    fn remove_rule(
9633        &self,
9634        _req: crate::model::region_security_policies::RemoveRuleRequest,
9635        _options: crate::RequestOptions,
9636    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9637    {
9638        gaxi::unimplemented::unimplemented_stub()
9639    }
9640
9641    /// Implements [super::client::RegionSecurityPolicies::set_labels].
9642    fn set_labels(
9643        &self,
9644        _req: crate::model::region_security_policies::SetLabelsRequest,
9645        _options: crate::RequestOptions,
9646    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9647    {
9648        gaxi::unimplemented::unimplemented_stub()
9649    }
9650
9651    /// Implements [super::client::RegionSecurityPolicies::get_operation].
9652    fn get_operation(
9653        &self,
9654        _req: crate::model::region_operations::GetRequest,
9655        _options: crate::RequestOptions,
9656    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9657    {
9658        gaxi::unimplemented::unimplemented_stub()
9659    }
9660
9661    /// Returns the polling error policy.
9662    ///
9663    /// When mocking, this method is typically irrelevant. Do not try to verify
9664    /// it is called by your mocks.
9665    fn get_polling_error_policy(
9666        &self,
9667        _options: &crate::RequestOptions,
9668    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9669        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9670    }
9671
9672    /// Returns the polling backoff policy.
9673    ///
9674    /// When mocking, this method is typically irrelevant. Do not try to verify
9675    /// it is called by your mocks.
9676    fn get_polling_backoff_policy(
9677        &self,
9678        _options: &crate::RequestOptions,
9679    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9680        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9681    }
9682}
9683
9684/// Defines the trait used to implement [super::client::RegionSslCertificates].
9685///
9686/// Application developers may need to implement this trait to mock
9687/// `client::RegionSslCertificates`.  In other use-cases, application developers only
9688/// use `client::RegionSslCertificates` and need not be concerned with this trait or
9689/// its implementations.
9690///
9691/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9692/// too. To avoid breaking applications the trait provides a default
9693/// implementation of each method. Most of these implementations just return an
9694/// error.
9695#[cfg(feature = "region-ssl-certificates")]
9696#[cfg_attr(docsrs, doc(cfg(feature = "region-ssl-certificates")))]
9697pub trait RegionSslCertificates: std::fmt::Debug + Send + Sync {
9698    /// Implements [super::client::RegionSslCertificates::delete].
9699    fn delete(
9700        &self,
9701        _req: crate::model::region_ssl_certificates::DeleteRequest,
9702        _options: crate::RequestOptions,
9703    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9704    {
9705        gaxi::unimplemented::unimplemented_stub()
9706    }
9707
9708    /// Implements [super::client::RegionSslCertificates::get].
9709    fn get(
9710        &self,
9711        _req: crate::model::region_ssl_certificates::GetRequest,
9712        _options: crate::RequestOptions,
9713    ) -> impl std::future::Future<
9714        Output = crate::Result<crate::Response<crate::model::SslCertificate>>,
9715    > + Send {
9716        gaxi::unimplemented::unimplemented_stub()
9717    }
9718
9719    /// Implements [super::client::RegionSslCertificates::insert].
9720    fn insert(
9721        &self,
9722        _req: crate::model::region_ssl_certificates::InsertRequest,
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::RegionSslCertificates::list].
9730    fn list(
9731        &self,
9732        _req: crate::model::region_ssl_certificates::ListRequest,
9733        _options: crate::RequestOptions,
9734    ) -> impl std::future::Future<
9735        Output = crate::Result<crate::Response<crate::model::SslCertificateList>>,
9736    > + Send {
9737        gaxi::unimplemented::unimplemented_stub()
9738    }
9739
9740    /// Implements [super::client::RegionSslCertificates::get_operation].
9741    fn get_operation(
9742        &self,
9743        _req: crate::model::region_operations::GetRequest,
9744        _options: crate::RequestOptions,
9745    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9746    {
9747        gaxi::unimplemented::unimplemented_stub()
9748    }
9749
9750    /// Returns the polling error policy.
9751    ///
9752    /// When mocking, this method is typically irrelevant. Do not try to verify
9753    /// it is called by your mocks.
9754    fn get_polling_error_policy(
9755        &self,
9756        _options: &crate::RequestOptions,
9757    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9758        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9759    }
9760
9761    /// Returns the polling backoff policy.
9762    ///
9763    /// When mocking, this method is typically irrelevant. Do not try to verify
9764    /// it is called by your mocks.
9765    fn get_polling_backoff_policy(
9766        &self,
9767        _options: &crate::RequestOptions,
9768    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9769        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9770    }
9771}
9772
9773/// Defines the trait used to implement [super::client::RegionSslPolicies].
9774///
9775/// Application developers may need to implement this trait to mock
9776/// `client::RegionSslPolicies`.  In other use-cases, application developers only
9777/// use `client::RegionSslPolicies` and need not be concerned with this trait or
9778/// its implementations.
9779///
9780/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9781/// too. To avoid breaking applications the trait provides a default
9782/// implementation of each method. Most of these implementations just return an
9783/// error.
9784#[cfg(feature = "region-ssl-policies")]
9785#[cfg_attr(docsrs, doc(cfg(feature = "region-ssl-policies")))]
9786pub trait RegionSslPolicies: std::fmt::Debug + Send + Sync {
9787    /// Implements [super::client::RegionSslPolicies::delete].
9788    fn delete(
9789        &self,
9790        _req: crate::model::region_ssl_policies::DeleteRequest,
9791        _options: crate::RequestOptions,
9792    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9793    {
9794        gaxi::unimplemented::unimplemented_stub()
9795    }
9796
9797    /// Implements [super::client::RegionSslPolicies::get].
9798    fn get(
9799        &self,
9800        _req: crate::model::region_ssl_policies::GetRequest,
9801        _options: crate::RequestOptions,
9802    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::SslPolicy>>> + Send
9803    {
9804        gaxi::unimplemented::unimplemented_stub()
9805    }
9806
9807    /// Implements [super::client::RegionSslPolicies::insert].
9808    fn insert(
9809        &self,
9810        _req: crate::model::region_ssl_policies::InsertRequest,
9811        _options: crate::RequestOptions,
9812    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9813    {
9814        gaxi::unimplemented::unimplemented_stub()
9815    }
9816
9817    /// Implements [super::client::RegionSslPolicies::list].
9818    fn list(
9819        &self,
9820        _req: crate::model::region_ssl_policies::ListRequest,
9821        _options: crate::RequestOptions,
9822    ) -> impl std::future::Future<
9823        Output = crate::Result<crate::Response<crate::model::SslPoliciesList>>,
9824    > + Send {
9825        gaxi::unimplemented::unimplemented_stub()
9826    }
9827
9828    /// Implements [super::client::RegionSslPolicies::list_available_features].
9829    fn list_available_features(
9830        &self,
9831        _req: crate::model::region_ssl_policies::ListAvailableFeaturesRequest,
9832        _options: crate::RequestOptions,
9833    ) -> impl std::future::Future<
9834        Output = crate::Result<
9835            crate::Response<crate::model::SslPoliciesListAvailableFeaturesResponse>,
9836        >,
9837    > + Send {
9838        gaxi::unimplemented::unimplemented_stub()
9839    }
9840
9841    /// Implements [super::client::RegionSslPolicies::patch].
9842    fn patch(
9843        &self,
9844        _req: crate::model::region_ssl_policies::PatchRequest,
9845        _options: crate::RequestOptions,
9846    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9847    {
9848        gaxi::unimplemented::unimplemented_stub()
9849    }
9850
9851    /// Implements [super::client::RegionSslPolicies::get_operation].
9852    fn get_operation(
9853        &self,
9854        _req: crate::model::region_operations::GetRequest,
9855        _options: crate::RequestOptions,
9856    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9857    {
9858        gaxi::unimplemented::unimplemented_stub()
9859    }
9860
9861    /// Returns the polling error policy.
9862    ///
9863    /// When mocking, this method is typically irrelevant. Do not try to verify
9864    /// it is called by your mocks.
9865    fn get_polling_error_policy(
9866        &self,
9867        _options: &crate::RequestOptions,
9868    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9869        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9870    }
9871
9872    /// Returns the polling backoff policy.
9873    ///
9874    /// When mocking, this method is typically irrelevant. Do not try to verify
9875    /// it is called by your mocks.
9876    fn get_polling_backoff_policy(
9877        &self,
9878        _options: &crate::RequestOptions,
9879    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9880        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9881    }
9882}
9883
9884/// Defines the trait used to implement [super::client::RegionTargetHttpProxies].
9885///
9886/// Application developers may need to implement this trait to mock
9887/// `client::RegionTargetHttpProxies`.  In other use-cases, application developers only
9888/// use `client::RegionTargetHttpProxies` and need not be concerned with this trait or
9889/// its implementations.
9890///
9891/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9892/// too. To avoid breaking applications the trait provides a default
9893/// implementation of each method. Most of these implementations just return an
9894/// error.
9895#[cfg(feature = "region-target-http-proxies")]
9896#[cfg_attr(docsrs, doc(cfg(feature = "region-target-http-proxies")))]
9897pub trait RegionTargetHttpProxies: std::fmt::Debug + Send + Sync {
9898    /// Implements [super::client::RegionTargetHttpProxies::delete].
9899    fn delete(
9900        &self,
9901        _req: crate::model::region_target_http_proxies::DeleteRequest,
9902        _options: crate::RequestOptions,
9903    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9904    {
9905        gaxi::unimplemented::unimplemented_stub()
9906    }
9907
9908    /// Implements [super::client::RegionTargetHttpProxies::get].
9909    fn get(
9910        &self,
9911        _req: crate::model::region_target_http_proxies::GetRequest,
9912        _options: crate::RequestOptions,
9913    ) -> impl std::future::Future<
9914        Output = crate::Result<crate::Response<crate::model::TargetHttpProxy>>,
9915    > + Send {
9916        gaxi::unimplemented::unimplemented_stub()
9917    }
9918
9919    /// Implements [super::client::RegionTargetHttpProxies::insert].
9920    fn insert(
9921        &self,
9922        _req: crate::model::region_target_http_proxies::InsertRequest,
9923        _options: crate::RequestOptions,
9924    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9925    {
9926        gaxi::unimplemented::unimplemented_stub()
9927    }
9928
9929    /// Implements [super::client::RegionTargetHttpProxies::list].
9930    fn list(
9931        &self,
9932        _req: crate::model::region_target_http_proxies::ListRequest,
9933        _options: crate::RequestOptions,
9934    ) -> impl std::future::Future<
9935        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyList>>,
9936    > + Send {
9937        gaxi::unimplemented::unimplemented_stub()
9938    }
9939
9940    /// Implements [super::client::RegionTargetHttpProxies::set_url_map].
9941    fn set_url_map(
9942        &self,
9943        _req: crate::model::region_target_http_proxies::SetUrlMapRequest,
9944        _options: crate::RequestOptions,
9945    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9946    {
9947        gaxi::unimplemented::unimplemented_stub()
9948    }
9949
9950    /// Implements [super::client::RegionTargetHttpProxies::get_operation].
9951    fn get_operation(
9952        &self,
9953        _req: crate::model::region_operations::GetRequest,
9954        _options: crate::RequestOptions,
9955    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9956    {
9957        gaxi::unimplemented::unimplemented_stub()
9958    }
9959
9960    /// Returns the polling error policy.
9961    ///
9962    /// When mocking, this method is typically irrelevant. Do not try to verify
9963    /// it is called by your mocks.
9964    fn get_polling_error_policy(
9965        &self,
9966        _options: &crate::RequestOptions,
9967    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9968        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9969    }
9970
9971    /// Returns the polling backoff policy.
9972    ///
9973    /// When mocking, this method is typically irrelevant. Do not try to verify
9974    /// it is called by your mocks.
9975    fn get_polling_backoff_policy(
9976        &self,
9977        _options: &crate::RequestOptions,
9978    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9979        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9980    }
9981}
9982
9983/// Defines the trait used to implement [super::client::RegionTargetHttpsProxies].
9984///
9985/// Application developers may need to implement this trait to mock
9986/// `client::RegionTargetHttpsProxies`.  In other use-cases, application developers only
9987/// use `client::RegionTargetHttpsProxies` and need not be concerned with this trait or
9988/// its implementations.
9989///
9990/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9991/// too. To avoid breaking applications the trait provides a default
9992/// implementation of each method. Most of these implementations just return an
9993/// error.
9994#[cfg(feature = "region-target-https-proxies")]
9995#[cfg_attr(docsrs, doc(cfg(feature = "region-target-https-proxies")))]
9996pub trait RegionTargetHttpsProxies: std::fmt::Debug + Send + Sync {
9997    /// Implements [super::client::RegionTargetHttpsProxies::delete].
9998    fn delete(
9999        &self,
10000        _req: crate::model::region_target_https_proxies::DeleteRequest,
10001        _options: crate::RequestOptions,
10002    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10003    {
10004        gaxi::unimplemented::unimplemented_stub()
10005    }
10006
10007    /// Implements [super::client::RegionTargetHttpsProxies::get].
10008    fn get(
10009        &self,
10010        _req: crate::model::region_target_https_proxies::GetRequest,
10011        _options: crate::RequestOptions,
10012    ) -> impl std::future::Future<
10013        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxy>>,
10014    > + Send {
10015        gaxi::unimplemented::unimplemented_stub()
10016    }
10017
10018    /// Implements [super::client::RegionTargetHttpsProxies::insert].
10019    fn insert(
10020        &self,
10021        _req: crate::model::region_target_https_proxies::InsertRequest,
10022        _options: crate::RequestOptions,
10023    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10024    {
10025        gaxi::unimplemented::unimplemented_stub()
10026    }
10027
10028    /// Implements [super::client::RegionTargetHttpsProxies::list].
10029    fn list(
10030        &self,
10031        _req: crate::model::region_target_https_proxies::ListRequest,
10032        _options: crate::RequestOptions,
10033    ) -> impl std::future::Future<
10034        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyList>>,
10035    > + Send {
10036        gaxi::unimplemented::unimplemented_stub()
10037    }
10038
10039    /// Implements [super::client::RegionTargetHttpsProxies::patch].
10040    fn patch(
10041        &self,
10042        _req: crate::model::region_target_https_proxies::PatchRequest,
10043        _options: crate::RequestOptions,
10044    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10045    {
10046        gaxi::unimplemented::unimplemented_stub()
10047    }
10048
10049    /// Implements [super::client::RegionTargetHttpsProxies::set_ssl_certificates].
10050    fn set_ssl_certificates(
10051        &self,
10052        _req: crate::model::region_target_https_proxies::SetSslCertificatesRequest,
10053        _options: crate::RequestOptions,
10054    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10055    {
10056        gaxi::unimplemented::unimplemented_stub()
10057    }
10058
10059    /// Implements [super::client::RegionTargetHttpsProxies::set_url_map].
10060    fn set_url_map(
10061        &self,
10062        _req: crate::model::region_target_https_proxies::SetUrlMapRequest,
10063        _options: crate::RequestOptions,
10064    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10065    {
10066        gaxi::unimplemented::unimplemented_stub()
10067    }
10068
10069    /// Implements [super::client::RegionTargetHttpsProxies::get_operation].
10070    fn get_operation(
10071        &self,
10072        _req: crate::model::region_operations::GetRequest,
10073        _options: crate::RequestOptions,
10074    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10075    {
10076        gaxi::unimplemented::unimplemented_stub()
10077    }
10078
10079    /// Returns the polling error policy.
10080    ///
10081    /// When mocking, this method is typically irrelevant. Do not try to verify
10082    /// it is called by your mocks.
10083    fn get_polling_error_policy(
10084        &self,
10085        _options: &crate::RequestOptions,
10086    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10087        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10088    }
10089
10090    /// Returns the polling backoff policy.
10091    ///
10092    /// When mocking, this method is typically irrelevant. Do not try to verify
10093    /// it is called by your mocks.
10094    fn get_polling_backoff_policy(
10095        &self,
10096        _options: &crate::RequestOptions,
10097    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10098        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10099    }
10100}
10101
10102/// Defines the trait used to implement [super::client::RegionTargetTcpProxies].
10103///
10104/// Application developers may need to implement this trait to mock
10105/// `client::RegionTargetTcpProxies`.  In other use-cases, application developers only
10106/// use `client::RegionTargetTcpProxies` and need not be concerned with this trait or
10107/// its implementations.
10108///
10109/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10110/// too. To avoid breaking applications the trait provides a default
10111/// implementation of each method. Most of these implementations just return an
10112/// error.
10113#[cfg(feature = "region-target-tcp-proxies")]
10114#[cfg_attr(docsrs, doc(cfg(feature = "region-target-tcp-proxies")))]
10115pub trait RegionTargetTcpProxies: std::fmt::Debug + Send + Sync {
10116    /// Implements [super::client::RegionTargetTcpProxies::delete].
10117    fn delete(
10118        &self,
10119        _req: crate::model::region_target_tcp_proxies::DeleteRequest,
10120        _options: crate::RequestOptions,
10121    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10122    {
10123        gaxi::unimplemented::unimplemented_stub()
10124    }
10125
10126    /// Implements [super::client::RegionTargetTcpProxies::get].
10127    fn get(
10128        &self,
10129        _req: crate::model::region_target_tcp_proxies::GetRequest,
10130        _options: crate::RequestOptions,
10131    ) -> impl std::future::Future<
10132        Output = crate::Result<crate::Response<crate::model::TargetTcpProxy>>,
10133    > + Send {
10134        gaxi::unimplemented::unimplemented_stub()
10135    }
10136
10137    /// Implements [super::client::RegionTargetTcpProxies::insert].
10138    fn insert(
10139        &self,
10140        _req: crate::model::region_target_tcp_proxies::InsertRequest,
10141        _options: crate::RequestOptions,
10142    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10143    {
10144        gaxi::unimplemented::unimplemented_stub()
10145    }
10146
10147    /// Implements [super::client::RegionTargetTcpProxies::list].
10148    fn list(
10149        &self,
10150        _req: crate::model::region_target_tcp_proxies::ListRequest,
10151        _options: crate::RequestOptions,
10152    ) -> impl std::future::Future<
10153        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyList>>,
10154    > + Send {
10155        gaxi::unimplemented::unimplemented_stub()
10156    }
10157
10158    /// Implements [super::client::RegionTargetTcpProxies::get_operation].
10159    fn get_operation(
10160        &self,
10161        _req: crate::model::region_operations::GetRequest,
10162        _options: crate::RequestOptions,
10163    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10164    {
10165        gaxi::unimplemented::unimplemented_stub()
10166    }
10167
10168    /// Returns the polling error policy.
10169    ///
10170    /// When mocking, this method is typically irrelevant. Do not try to verify
10171    /// it is called by your mocks.
10172    fn get_polling_error_policy(
10173        &self,
10174        _options: &crate::RequestOptions,
10175    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10176        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10177    }
10178
10179    /// Returns the polling backoff policy.
10180    ///
10181    /// When mocking, this method is typically irrelevant. Do not try to verify
10182    /// it is called by your mocks.
10183    fn get_polling_backoff_policy(
10184        &self,
10185        _options: &crate::RequestOptions,
10186    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10187        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10188    }
10189}
10190
10191/// Defines the trait used to implement [super::client::RegionUrlMaps].
10192///
10193/// Application developers may need to implement this trait to mock
10194/// `client::RegionUrlMaps`.  In other use-cases, application developers only
10195/// use `client::RegionUrlMaps` and need not be concerned with this trait or
10196/// its implementations.
10197///
10198/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10199/// too. To avoid breaking applications the trait provides a default
10200/// implementation of each method. Most of these implementations just return an
10201/// error.
10202#[cfg(feature = "region-url-maps")]
10203#[cfg_attr(docsrs, doc(cfg(feature = "region-url-maps")))]
10204pub trait RegionUrlMaps: std::fmt::Debug + Send + Sync {
10205    /// Implements [super::client::RegionUrlMaps::delete].
10206    fn delete(
10207        &self,
10208        _req: crate::model::region_url_maps::DeleteRequest,
10209        _options: crate::RequestOptions,
10210    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10211    {
10212        gaxi::unimplemented::unimplemented_stub()
10213    }
10214
10215    /// Implements [super::client::RegionUrlMaps::get].
10216    fn get(
10217        &self,
10218        _req: crate::model::region_url_maps::GetRequest,
10219        _options: crate::RequestOptions,
10220    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMap>>> + Send
10221    {
10222        gaxi::unimplemented::unimplemented_stub()
10223    }
10224
10225    /// Implements [super::client::RegionUrlMaps::insert].
10226    fn insert(
10227        &self,
10228        _req: crate::model::region_url_maps::InsertRequest,
10229        _options: crate::RequestOptions,
10230    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10231    {
10232        gaxi::unimplemented::unimplemented_stub()
10233    }
10234
10235    /// Implements [super::client::RegionUrlMaps::list].
10236    fn list(
10237        &self,
10238        _req: crate::model::region_url_maps::ListRequest,
10239        _options: crate::RequestOptions,
10240    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMapList>>> + Send
10241    {
10242        gaxi::unimplemented::unimplemented_stub()
10243    }
10244
10245    /// Implements [super::client::RegionUrlMaps::patch].
10246    fn patch(
10247        &self,
10248        _req: crate::model::region_url_maps::PatchRequest,
10249        _options: crate::RequestOptions,
10250    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10251    {
10252        gaxi::unimplemented::unimplemented_stub()
10253    }
10254
10255    /// Implements [super::client::RegionUrlMaps::update].
10256    fn update(
10257        &self,
10258        _req: crate::model::region_url_maps::UpdateRequest,
10259        _options: crate::RequestOptions,
10260    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10261    {
10262        gaxi::unimplemented::unimplemented_stub()
10263    }
10264
10265    /// Implements [super::client::RegionUrlMaps::validate].
10266    fn validate(
10267        &self,
10268        _req: crate::model::region_url_maps::ValidateRequest,
10269        _options: crate::RequestOptions,
10270    ) -> impl std::future::Future<
10271        Output = crate::Result<crate::Response<crate::model::UrlMapsValidateResponse>>,
10272    > + Send {
10273        gaxi::unimplemented::unimplemented_stub()
10274    }
10275
10276    /// Implements [super::client::RegionUrlMaps::get_operation].
10277    fn get_operation(
10278        &self,
10279        _req: crate::model::region_operations::GetRequest,
10280        _options: crate::RequestOptions,
10281    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10282    {
10283        gaxi::unimplemented::unimplemented_stub()
10284    }
10285
10286    /// Returns the polling error policy.
10287    ///
10288    /// When mocking, this method is typically irrelevant. Do not try to verify
10289    /// it is called by your mocks.
10290    fn get_polling_error_policy(
10291        &self,
10292        _options: &crate::RequestOptions,
10293    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10294        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10295    }
10296
10297    /// Returns the polling backoff policy.
10298    ///
10299    /// When mocking, this method is typically irrelevant. Do not try to verify
10300    /// it is called by your mocks.
10301    fn get_polling_backoff_policy(
10302        &self,
10303        _options: &crate::RequestOptions,
10304    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10305        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10306    }
10307}
10308
10309/// Defines the trait used to implement [super::client::RegionZones].
10310///
10311/// Application developers may need to implement this trait to mock
10312/// `client::RegionZones`.  In other use-cases, application developers only
10313/// use `client::RegionZones` and need not be concerned with this trait or
10314/// its implementations.
10315///
10316/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10317/// too. To avoid breaking applications the trait provides a default
10318/// implementation of each method. Most of these implementations just return an
10319/// error.
10320#[cfg(feature = "region-zones")]
10321#[cfg_attr(docsrs, doc(cfg(feature = "region-zones")))]
10322pub trait RegionZones: std::fmt::Debug + Send + Sync {
10323    /// Implements [super::client::RegionZones::list].
10324    fn list(
10325        &self,
10326        _req: crate::model::region_zones::ListRequest,
10327        _options: crate::RequestOptions,
10328    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ZoneList>>> + Send
10329    {
10330        gaxi::unimplemented::unimplemented_stub()
10331    }
10332}
10333
10334/// Defines the trait used to implement [super::client::Regions].
10335///
10336/// Application developers may need to implement this trait to mock
10337/// `client::Regions`.  In other use-cases, application developers only
10338/// use `client::Regions` and need not be concerned with this trait or
10339/// its implementations.
10340///
10341/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10342/// too. To avoid breaking applications the trait provides a default
10343/// implementation of each method. Most of these implementations just return an
10344/// error.
10345#[cfg(feature = "regions")]
10346#[cfg_attr(docsrs, doc(cfg(feature = "regions")))]
10347pub trait Regions: std::fmt::Debug + Send + Sync {
10348    /// Implements [super::client::Regions::get].
10349    fn get(
10350        &self,
10351        _req: crate::model::regions::GetRequest,
10352        _options: crate::RequestOptions,
10353    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Region>>> + Send
10354    {
10355        gaxi::unimplemented::unimplemented_stub()
10356    }
10357
10358    /// Implements [super::client::Regions::list].
10359    fn list(
10360        &self,
10361        _req: crate::model::regions::ListRequest,
10362        _options: crate::RequestOptions,
10363    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RegionList>>> + Send
10364    {
10365        gaxi::unimplemented::unimplemented_stub()
10366    }
10367}
10368
10369/// Defines the trait used to implement [super::client::ReservationBlocks].
10370///
10371/// Application developers may need to implement this trait to mock
10372/// `client::ReservationBlocks`.  In other use-cases, application developers only
10373/// use `client::ReservationBlocks` and need not be concerned with this trait or
10374/// its implementations.
10375///
10376/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10377/// too. To avoid breaking applications the trait provides a default
10378/// implementation of each method. Most of these implementations just return an
10379/// error.
10380#[cfg(feature = "reservation-blocks")]
10381#[cfg_attr(docsrs, doc(cfg(feature = "reservation-blocks")))]
10382pub trait ReservationBlocks: std::fmt::Debug + Send + Sync {
10383    /// Implements [super::client::ReservationBlocks::get].
10384    fn get(
10385        &self,
10386        _req: crate::model::reservation_blocks::GetRequest,
10387        _options: crate::RequestOptions,
10388    ) -> impl std::future::Future<
10389        Output = crate::Result<crate::Response<crate::model::ReservationBlocksGetResponse>>,
10390    > + Send {
10391        gaxi::unimplemented::unimplemented_stub()
10392    }
10393
10394    /// Implements [super::client::ReservationBlocks::get_iam_policy].
10395    fn get_iam_policy(
10396        &self,
10397        _req: crate::model::reservation_blocks::GetIamPolicyRequest,
10398        _options: crate::RequestOptions,
10399    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10400    {
10401        gaxi::unimplemented::unimplemented_stub()
10402    }
10403
10404    /// Implements [super::client::ReservationBlocks::list].
10405    fn list(
10406        &self,
10407        _req: crate::model::reservation_blocks::ListRequest,
10408        _options: crate::RequestOptions,
10409    ) -> impl std::future::Future<
10410        Output = crate::Result<crate::Response<crate::model::ReservationBlocksListResponse>>,
10411    > + Send {
10412        gaxi::unimplemented::unimplemented_stub()
10413    }
10414
10415    /// Implements [super::client::ReservationBlocks::perform_maintenance].
10416    fn perform_maintenance(
10417        &self,
10418        _req: crate::model::reservation_blocks::PerformMaintenanceRequest,
10419        _options: crate::RequestOptions,
10420    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10421    {
10422        gaxi::unimplemented::unimplemented_stub()
10423    }
10424
10425    /// Implements [super::client::ReservationBlocks::set_iam_policy].
10426    fn set_iam_policy(
10427        &self,
10428        _req: crate::model::reservation_blocks::SetIamPolicyRequest,
10429        _options: crate::RequestOptions,
10430    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10431    {
10432        gaxi::unimplemented::unimplemented_stub()
10433    }
10434
10435    /// Implements [super::client::ReservationBlocks::test_iam_permissions].
10436    fn test_iam_permissions(
10437        &self,
10438        _req: crate::model::reservation_blocks::TestIamPermissionsRequest,
10439        _options: crate::RequestOptions,
10440    ) -> impl std::future::Future<
10441        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10442    > + Send {
10443        gaxi::unimplemented::unimplemented_stub()
10444    }
10445
10446    /// Implements [super::client::ReservationBlocks::get_operation].
10447    fn get_operation(
10448        &self,
10449        _req: crate::model::zone_operations::GetRequest,
10450        _options: crate::RequestOptions,
10451    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10452    {
10453        gaxi::unimplemented::unimplemented_stub()
10454    }
10455
10456    /// Returns the polling error policy.
10457    ///
10458    /// When mocking, this method is typically irrelevant. Do not try to verify
10459    /// it is called by your mocks.
10460    fn get_polling_error_policy(
10461        &self,
10462        _options: &crate::RequestOptions,
10463    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10464        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10465    }
10466
10467    /// Returns the polling backoff policy.
10468    ///
10469    /// When mocking, this method is typically irrelevant. Do not try to verify
10470    /// it is called by your mocks.
10471    fn get_polling_backoff_policy(
10472        &self,
10473        _options: &crate::RequestOptions,
10474    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10475        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10476    }
10477}
10478
10479/// Defines the trait used to implement [super::client::ReservationSlots].
10480///
10481/// Application developers may need to implement this trait to mock
10482/// `client::ReservationSlots`.  In other use-cases, application developers only
10483/// use `client::ReservationSlots` and need not be concerned with this trait or
10484/// its implementations.
10485///
10486/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10487/// too. To avoid breaking applications the trait provides a default
10488/// implementation of each method. Most of these implementations just return an
10489/// error.
10490#[cfg(feature = "reservation-slots")]
10491#[cfg_attr(docsrs, doc(cfg(feature = "reservation-slots")))]
10492pub trait ReservationSlots: std::fmt::Debug + Send + Sync {
10493    /// Implements [super::client::ReservationSlots::get].
10494    fn get(
10495        &self,
10496        _req: crate::model::reservation_slots::GetRequest,
10497        _options: crate::RequestOptions,
10498    ) -> impl std::future::Future<
10499        Output = crate::Result<crate::Response<crate::model::ReservationSlotsGetResponse>>,
10500    > + Send {
10501        gaxi::unimplemented::unimplemented_stub()
10502    }
10503
10504    /// Implements [super::client::ReservationSlots::list].
10505    fn list(
10506        &self,
10507        _req: crate::model::reservation_slots::ListRequest,
10508        _options: crate::RequestOptions,
10509    ) -> impl std::future::Future<
10510        Output = crate::Result<crate::Response<crate::model::ReservationSlotsListResponse>>,
10511    > + Send {
10512        gaxi::unimplemented::unimplemented_stub()
10513    }
10514
10515    /// Implements [super::client::ReservationSlots::update].
10516    fn update(
10517        &self,
10518        _req: crate::model::reservation_slots::UpdateRequest,
10519        _options: crate::RequestOptions,
10520    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10521    {
10522        gaxi::unimplemented::unimplemented_stub()
10523    }
10524
10525    /// Implements [super::client::ReservationSlots::get_operation].
10526    fn get_operation(
10527        &self,
10528        _req: crate::model::zone_operations::GetRequest,
10529        _options: crate::RequestOptions,
10530    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10531    {
10532        gaxi::unimplemented::unimplemented_stub()
10533    }
10534
10535    /// Returns the polling error policy.
10536    ///
10537    /// When mocking, this method is typically irrelevant. Do not try to verify
10538    /// it is called by your mocks.
10539    fn get_polling_error_policy(
10540        &self,
10541        _options: &crate::RequestOptions,
10542    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10543        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10544    }
10545
10546    /// Returns the polling backoff policy.
10547    ///
10548    /// When mocking, this method is typically irrelevant. Do not try to verify
10549    /// it is called by your mocks.
10550    fn get_polling_backoff_policy(
10551        &self,
10552        _options: &crate::RequestOptions,
10553    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10554        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10555    }
10556}
10557
10558/// Defines the trait used to implement [super::client::ReservationSubBlocks].
10559///
10560/// Application developers may need to implement this trait to mock
10561/// `client::ReservationSubBlocks`.  In other use-cases, application developers only
10562/// use `client::ReservationSubBlocks` and need not be concerned with this trait or
10563/// its implementations.
10564///
10565/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10566/// too. To avoid breaking applications the trait provides a default
10567/// implementation of each method. Most of these implementations just return an
10568/// error.
10569#[cfg(feature = "reservation-sub-blocks")]
10570#[cfg_attr(docsrs, doc(cfg(feature = "reservation-sub-blocks")))]
10571pub trait ReservationSubBlocks: std::fmt::Debug + Send + Sync {
10572    /// Implements [super::client::ReservationSubBlocks::get].
10573    fn get(
10574        &self,
10575        _req: crate::model::reservation_sub_blocks::GetRequest,
10576        _options: crate::RequestOptions,
10577    ) -> impl std::future::Future<
10578        Output = crate::Result<crate::Response<crate::model::ReservationSubBlocksGetResponse>>,
10579    > + Send {
10580        gaxi::unimplemented::unimplemented_stub()
10581    }
10582
10583    /// Implements [super::client::ReservationSubBlocks::get_iam_policy].
10584    fn get_iam_policy(
10585        &self,
10586        _req: crate::model::reservation_sub_blocks::GetIamPolicyRequest,
10587        _options: crate::RequestOptions,
10588    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10589    {
10590        gaxi::unimplemented::unimplemented_stub()
10591    }
10592
10593    /// Implements [super::client::ReservationSubBlocks::list].
10594    fn list(
10595        &self,
10596        _req: crate::model::reservation_sub_blocks::ListRequest,
10597        _options: crate::RequestOptions,
10598    ) -> impl std::future::Future<
10599        Output = crate::Result<crate::Response<crate::model::ReservationSubBlocksListResponse>>,
10600    > + Send {
10601        gaxi::unimplemented::unimplemented_stub()
10602    }
10603
10604    /// Implements [super::client::ReservationSubBlocks::perform_maintenance].
10605    fn perform_maintenance(
10606        &self,
10607        _req: crate::model::reservation_sub_blocks::PerformMaintenanceRequest,
10608        _options: crate::RequestOptions,
10609    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10610    {
10611        gaxi::unimplemented::unimplemented_stub()
10612    }
10613
10614    /// Implements [super::client::ReservationSubBlocks::report_faulty].
10615    fn report_faulty(
10616        &self,
10617        _req: crate::model::reservation_sub_blocks::ReportFaultyRequest,
10618        _options: crate::RequestOptions,
10619    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10620    {
10621        gaxi::unimplemented::unimplemented_stub()
10622    }
10623
10624    /// Implements [super::client::ReservationSubBlocks::set_iam_policy].
10625    fn set_iam_policy(
10626        &self,
10627        _req: crate::model::reservation_sub_blocks::SetIamPolicyRequest,
10628        _options: crate::RequestOptions,
10629    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10630    {
10631        gaxi::unimplemented::unimplemented_stub()
10632    }
10633
10634    /// Implements [super::client::ReservationSubBlocks::test_iam_permissions].
10635    fn test_iam_permissions(
10636        &self,
10637        _req: crate::model::reservation_sub_blocks::TestIamPermissionsRequest,
10638        _options: crate::RequestOptions,
10639    ) -> impl std::future::Future<
10640        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10641    > + Send {
10642        gaxi::unimplemented::unimplemented_stub()
10643    }
10644
10645    /// Implements [super::client::ReservationSubBlocks::get_operation].
10646    fn get_operation(
10647        &self,
10648        _req: crate::model::zone_operations::GetRequest,
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    /// Returns the polling error policy.
10656    ///
10657    /// When mocking, this method is typically irrelevant. Do not try to verify
10658    /// it is called by your mocks.
10659    fn get_polling_error_policy(
10660        &self,
10661        _options: &crate::RequestOptions,
10662    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10663        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10664    }
10665
10666    /// Returns the polling backoff policy.
10667    ///
10668    /// When mocking, this method is typically irrelevant. Do not try to verify
10669    /// it is called by your mocks.
10670    fn get_polling_backoff_policy(
10671        &self,
10672        _options: &crate::RequestOptions,
10673    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10674        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10675    }
10676}
10677
10678/// Defines the trait used to implement [super::client::Reservations].
10679///
10680/// Application developers may need to implement this trait to mock
10681/// `client::Reservations`.  In other use-cases, application developers only
10682/// use `client::Reservations` and need not be concerned with this trait or
10683/// its implementations.
10684///
10685/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10686/// too. To avoid breaking applications the trait provides a default
10687/// implementation of each method. Most of these implementations just return an
10688/// error.
10689#[cfg(feature = "reservations")]
10690#[cfg_attr(docsrs, doc(cfg(feature = "reservations")))]
10691pub trait Reservations: std::fmt::Debug + Send + Sync {
10692    /// Implements [super::client::Reservations::aggregated_list].
10693    fn aggregated_list(
10694        &self,
10695        _req: crate::model::reservations::AggregatedListRequest,
10696        _options: crate::RequestOptions,
10697    ) -> impl std::future::Future<
10698        Output = crate::Result<crate::Response<crate::model::ReservationAggregatedList>>,
10699    > + Send {
10700        gaxi::unimplemented::unimplemented_stub()
10701    }
10702
10703    /// Implements [super::client::Reservations::delete].
10704    fn delete(
10705        &self,
10706        _req: crate::model::reservations::DeleteRequest,
10707        _options: crate::RequestOptions,
10708    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10709    {
10710        gaxi::unimplemented::unimplemented_stub()
10711    }
10712
10713    /// Implements [super::client::Reservations::get].
10714    fn get(
10715        &self,
10716        _req: crate::model::reservations::GetRequest,
10717        _options: crate::RequestOptions,
10718    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Reservation>>>
10719    + Send {
10720        gaxi::unimplemented::unimplemented_stub()
10721    }
10722
10723    /// Implements [super::client::Reservations::get_iam_policy].
10724    fn get_iam_policy(
10725        &self,
10726        _req: crate::model::reservations::GetIamPolicyRequest,
10727        _options: crate::RequestOptions,
10728    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10729    {
10730        gaxi::unimplemented::unimplemented_stub()
10731    }
10732
10733    /// Implements [super::client::Reservations::insert].
10734    fn insert(
10735        &self,
10736        _req: crate::model::reservations::InsertRequest,
10737        _options: crate::RequestOptions,
10738    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10739    {
10740        gaxi::unimplemented::unimplemented_stub()
10741    }
10742
10743    /// Implements [super::client::Reservations::list].
10744    fn list(
10745        &self,
10746        _req: crate::model::reservations::ListRequest,
10747        _options: crate::RequestOptions,
10748    ) -> impl std::future::Future<
10749        Output = crate::Result<crate::Response<crate::model::ReservationList>>,
10750    > + Send {
10751        gaxi::unimplemented::unimplemented_stub()
10752    }
10753
10754    /// Implements [super::client::Reservations::perform_maintenance].
10755    fn perform_maintenance(
10756        &self,
10757        _req: crate::model::reservations::PerformMaintenanceRequest,
10758        _options: crate::RequestOptions,
10759    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10760    {
10761        gaxi::unimplemented::unimplemented_stub()
10762    }
10763
10764    /// Implements [super::client::Reservations::resize].
10765    fn resize(
10766        &self,
10767        _req: crate::model::reservations::ResizeRequest,
10768        _options: crate::RequestOptions,
10769    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10770    {
10771        gaxi::unimplemented::unimplemented_stub()
10772    }
10773
10774    /// Implements [super::client::Reservations::set_iam_policy].
10775    fn set_iam_policy(
10776        &self,
10777        _req: crate::model::reservations::SetIamPolicyRequest,
10778        _options: crate::RequestOptions,
10779    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10780    {
10781        gaxi::unimplemented::unimplemented_stub()
10782    }
10783
10784    /// Implements [super::client::Reservations::test_iam_permissions].
10785    fn test_iam_permissions(
10786        &self,
10787        _req: crate::model::reservations::TestIamPermissionsRequest,
10788        _options: crate::RequestOptions,
10789    ) -> impl std::future::Future<
10790        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10791    > + Send {
10792        gaxi::unimplemented::unimplemented_stub()
10793    }
10794
10795    /// Implements [super::client::Reservations::update].
10796    fn update(
10797        &self,
10798        _req: crate::model::reservations::UpdateRequest,
10799        _options: crate::RequestOptions,
10800    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10801    {
10802        gaxi::unimplemented::unimplemented_stub()
10803    }
10804
10805    /// Implements [super::client::Reservations::get_operation].
10806    fn get_operation(
10807        &self,
10808        _req: crate::model::zone_operations::GetRequest,
10809        _options: crate::RequestOptions,
10810    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10811    {
10812        gaxi::unimplemented::unimplemented_stub()
10813    }
10814
10815    /// Returns the polling error 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_error_policy(
10820        &self,
10821        _options: &crate::RequestOptions,
10822    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10823        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10824    }
10825
10826    /// Returns the polling backoff policy.
10827    ///
10828    /// When mocking, this method is typically irrelevant. Do not try to verify
10829    /// it is called by your mocks.
10830    fn get_polling_backoff_policy(
10831        &self,
10832        _options: &crate::RequestOptions,
10833    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10834        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10835    }
10836}
10837
10838/// Defines the trait used to implement [super::client::ResourcePolicies].
10839///
10840/// Application developers may need to implement this trait to mock
10841/// `client::ResourcePolicies`.  In other use-cases, application developers only
10842/// use `client::ResourcePolicies` and need not be concerned with this trait or
10843/// its implementations.
10844///
10845/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10846/// too. To avoid breaking applications the trait provides a default
10847/// implementation of each method. Most of these implementations just return an
10848/// error.
10849#[cfg(feature = "resource-policies")]
10850#[cfg_attr(docsrs, doc(cfg(feature = "resource-policies")))]
10851pub trait ResourcePolicies: std::fmt::Debug + Send + Sync {
10852    /// Implements [super::client::ResourcePolicies::aggregated_list].
10853    fn aggregated_list(
10854        &self,
10855        _req: crate::model::resource_policies::AggregatedListRequest,
10856        _options: crate::RequestOptions,
10857    ) -> impl std::future::Future<
10858        Output = crate::Result<crate::Response<crate::model::ResourcePolicyAggregatedList>>,
10859    > + Send {
10860        gaxi::unimplemented::unimplemented_stub()
10861    }
10862
10863    /// Implements [super::client::ResourcePolicies::delete].
10864    fn delete(
10865        &self,
10866        _req: crate::model::resource_policies::DeleteRequest,
10867        _options: crate::RequestOptions,
10868    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10869    {
10870        gaxi::unimplemented::unimplemented_stub()
10871    }
10872
10873    /// Implements [super::client::ResourcePolicies::get].
10874    fn get(
10875        &self,
10876        _req: crate::model::resource_policies::GetRequest,
10877        _options: crate::RequestOptions,
10878    ) -> impl std::future::Future<
10879        Output = crate::Result<crate::Response<crate::model::ResourcePolicy>>,
10880    > + Send {
10881        gaxi::unimplemented::unimplemented_stub()
10882    }
10883
10884    /// Implements [super::client::ResourcePolicies::get_iam_policy].
10885    fn get_iam_policy(
10886        &self,
10887        _req: crate::model::resource_policies::GetIamPolicyRequest,
10888        _options: crate::RequestOptions,
10889    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10890    {
10891        gaxi::unimplemented::unimplemented_stub()
10892    }
10893
10894    /// Implements [super::client::ResourcePolicies::insert].
10895    fn insert(
10896        &self,
10897        _req: crate::model::resource_policies::InsertRequest,
10898        _options: crate::RequestOptions,
10899    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10900    {
10901        gaxi::unimplemented::unimplemented_stub()
10902    }
10903
10904    /// Implements [super::client::ResourcePolicies::list].
10905    fn list(
10906        &self,
10907        _req: crate::model::resource_policies::ListRequest,
10908        _options: crate::RequestOptions,
10909    ) -> impl std::future::Future<
10910        Output = crate::Result<crate::Response<crate::model::ResourcePolicyList>>,
10911    > + Send {
10912        gaxi::unimplemented::unimplemented_stub()
10913    }
10914
10915    /// Implements [super::client::ResourcePolicies::patch].
10916    fn patch(
10917        &self,
10918        _req: crate::model::resource_policies::PatchRequest,
10919        _options: crate::RequestOptions,
10920    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10921    {
10922        gaxi::unimplemented::unimplemented_stub()
10923    }
10924
10925    /// Implements [super::client::ResourcePolicies::set_iam_policy].
10926    fn set_iam_policy(
10927        &self,
10928        _req: crate::model::resource_policies::SetIamPolicyRequest,
10929        _options: crate::RequestOptions,
10930    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10931    {
10932        gaxi::unimplemented::unimplemented_stub()
10933    }
10934
10935    /// Implements [super::client::ResourcePolicies::test_iam_permissions].
10936    fn test_iam_permissions(
10937        &self,
10938        _req: crate::model::resource_policies::TestIamPermissionsRequest,
10939        _options: crate::RequestOptions,
10940    ) -> impl std::future::Future<
10941        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10942    > + Send {
10943        gaxi::unimplemented::unimplemented_stub()
10944    }
10945
10946    /// Implements [super::client::ResourcePolicies::get_operation].
10947    fn get_operation(
10948        &self,
10949        _req: crate::model::region_operations::GetRequest,
10950        _options: crate::RequestOptions,
10951    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10952    {
10953        gaxi::unimplemented::unimplemented_stub()
10954    }
10955
10956    /// Returns the polling error policy.
10957    ///
10958    /// When mocking, this method is typically irrelevant. Do not try to verify
10959    /// it is called by your mocks.
10960    fn get_polling_error_policy(
10961        &self,
10962        _options: &crate::RequestOptions,
10963    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10964        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10965    }
10966
10967    /// Returns the polling backoff policy.
10968    ///
10969    /// When mocking, this method is typically irrelevant. Do not try to verify
10970    /// it is called by your mocks.
10971    fn get_polling_backoff_policy(
10972        &self,
10973        _options: &crate::RequestOptions,
10974    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10975        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10976    }
10977}
10978
10979/// Defines the trait used to implement [super::client::Routers].
10980///
10981/// Application developers may need to implement this trait to mock
10982/// `client::Routers`.  In other use-cases, application developers only
10983/// use `client::Routers` and need not be concerned with this trait or
10984/// its implementations.
10985///
10986/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10987/// too. To avoid breaking applications the trait provides a default
10988/// implementation of each method. Most of these implementations just return an
10989/// error.
10990#[cfg(feature = "routers")]
10991#[cfg_attr(docsrs, doc(cfg(feature = "routers")))]
10992pub trait Routers: std::fmt::Debug + Send + Sync {
10993    /// Implements [super::client::Routers::aggregated_list].
10994    fn aggregated_list(
10995        &self,
10996        _req: crate::model::routers::AggregatedListRequest,
10997        _options: crate::RequestOptions,
10998    ) -> impl std::future::Future<
10999        Output = crate::Result<crate::Response<crate::model::RouterAggregatedList>>,
11000    > + Send {
11001        gaxi::unimplemented::unimplemented_stub()
11002    }
11003
11004    /// Implements [super::client::Routers::delete].
11005    fn delete(
11006        &self,
11007        _req: crate::model::routers::DeleteRequest,
11008        _options: crate::RequestOptions,
11009    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11010    {
11011        gaxi::unimplemented::unimplemented_stub()
11012    }
11013
11014    /// Implements [super::client::Routers::delete_route_policy].
11015    fn delete_route_policy(
11016        &self,
11017        _req: crate::model::routers::DeleteRoutePolicyRequest,
11018        _options: crate::RequestOptions,
11019    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11020    {
11021        gaxi::unimplemented::unimplemented_stub()
11022    }
11023
11024    /// Implements [super::client::Routers::get].
11025    fn get(
11026        &self,
11027        _req: crate::model::routers::GetRequest,
11028        _options: crate::RequestOptions,
11029    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Router>>> + Send
11030    {
11031        gaxi::unimplemented::unimplemented_stub()
11032    }
11033
11034    /// Implements [super::client::Routers::get_nat_ip_info].
11035    fn get_nat_ip_info(
11036        &self,
11037        _req: crate::model::routers::GetNatIpInfoRequest,
11038        _options: crate::RequestOptions,
11039    ) -> impl std::future::Future<
11040        Output = crate::Result<crate::Response<crate::model::NatIpInfoResponse>>,
11041    > + Send {
11042        gaxi::unimplemented::unimplemented_stub()
11043    }
11044
11045    /// Implements [super::client::Routers::get_nat_mapping_info].
11046    fn get_nat_mapping_info(
11047        &self,
11048        _req: crate::model::routers::GetNatMappingInfoRequest,
11049        _options: crate::RequestOptions,
11050    ) -> impl std::future::Future<
11051        Output = crate::Result<crate::Response<crate::model::VmEndpointNatMappingsList>>,
11052    > + Send {
11053        gaxi::unimplemented::unimplemented_stub()
11054    }
11055
11056    /// Implements [super::client::Routers::get_route_policy].
11057    fn get_route_policy(
11058        &self,
11059        _req: crate::model::routers::GetRoutePolicyRequest,
11060        _options: crate::RequestOptions,
11061    ) -> impl std::future::Future<
11062        Output = crate::Result<crate::Response<crate::model::RoutersGetRoutePolicyResponse>>,
11063    > + Send {
11064        gaxi::unimplemented::unimplemented_stub()
11065    }
11066
11067    /// Implements [super::client::Routers::get_router_status].
11068    fn get_router_status(
11069        &self,
11070        _req: crate::model::routers::GetRouterStatusRequest,
11071        _options: crate::RequestOptions,
11072    ) -> impl std::future::Future<
11073        Output = crate::Result<crate::Response<crate::model::RouterStatusResponse>>,
11074    > + Send {
11075        gaxi::unimplemented::unimplemented_stub()
11076    }
11077
11078    /// Implements [super::client::Routers::insert].
11079    fn insert(
11080        &self,
11081        _req: crate::model::routers::InsertRequest,
11082        _options: crate::RequestOptions,
11083    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11084    {
11085        gaxi::unimplemented::unimplemented_stub()
11086    }
11087
11088    /// Implements [super::client::Routers::list].
11089    fn list(
11090        &self,
11091        _req: crate::model::routers::ListRequest,
11092        _options: crate::RequestOptions,
11093    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RouterList>>> + Send
11094    {
11095        gaxi::unimplemented::unimplemented_stub()
11096    }
11097
11098    /// Implements [super::client::Routers::list_bgp_routes].
11099    fn list_bgp_routes(
11100        &self,
11101        _req: crate::model::routers::ListBgpRoutesRequest,
11102        _options: crate::RequestOptions,
11103    ) -> impl std::future::Future<
11104        Output = crate::Result<crate::Response<crate::model::RoutersListBgpRoutes>>,
11105    > + Send {
11106        gaxi::unimplemented::unimplemented_stub()
11107    }
11108
11109    /// Implements [super::client::Routers::list_route_policies].
11110    fn list_route_policies(
11111        &self,
11112        _req: crate::model::routers::ListRoutePoliciesRequest,
11113        _options: crate::RequestOptions,
11114    ) -> impl std::future::Future<
11115        Output = crate::Result<crate::Response<crate::model::RoutersListRoutePolicies>>,
11116    > + Send {
11117        gaxi::unimplemented::unimplemented_stub()
11118    }
11119
11120    /// Implements [super::client::Routers::patch].
11121    fn patch(
11122        &self,
11123        _req: crate::model::routers::PatchRequest,
11124        _options: crate::RequestOptions,
11125    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11126    {
11127        gaxi::unimplemented::unimplemented_stub()
11128    }
11129
11130    /// Implements [super::client::Routers::patch_route_policy].
11131    fn patch_route_policy(
11132        &self,
11133        _req: crate::model::routers::PatchRoutePolicyRequest,
11134        _options: crate::RequestOptions,
11135    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11136    {
11137        gaxi::unimplemented::unimplemented_stub()
11138    }
11139
11140    /// Implements [super::client::Routers::preview].
11141    fn preview(
11142        &self,
11143        _req: crate::model::routers::PreviewRequest,
11144        _options: crate::RequestOptions,
11145    ) -> impl std::future::Future<
11146        Output = crate::Result<crate::Response<crate::model::RoutersPreviewResponse>>,
11147    > + Send {
11148        gaxi::unimplemented::unimplemented_stub()
11149    }
11150
11151    /// Implements [super::client::Routers::update].
11152    fn update(
11153        &self,
11154        _req: crate::model::routers::UpdateRequest,
11155        _options: crate::RequestOptions,
11156    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11157    {
11158        gaxi::unimplemented::unimplemented_stub()
11159    }
11160
11161    /// Implements [super::client::Routers::update_route_policy].
11162    fn update_route_policy(
11163        &self,
11164        _req: crate::model::routers::UpdateRoutePolicyRequest,
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::Routers::get_operation].
11172    fn get_operation(
11173        &self,
11174        _req: crate::model::region_operations::GetRequest,
11175        _options: crate::RequestOptions,
11176    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11177    {
11178        gaxi::unimplemented::unimplemented_stub()
11179    }
11180
11181    /// Returns the polling error policy.
11182    ///
11183    /// When mocking, this method is typically irrelevant. Do not try to verify
11184    /// it is called by your mocks.
11185    fn get_polling_error_policy(
11186        &self,
11187        _options: &crate::RequestOptions,
11188    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11189        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11190    }
11191
11192    /// Returns the polling backoff policy.
11193    ///
11194    /// When mocking, this method is typically irrelevant. Do not try to verify
11195    /// it is called by your mocks.
11196    fn get_polling_backoff_policy(
11197        &self,
11198        _options: &crate::RequestOptions,
11199    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11200        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11201    }
11202}
11203
11204/// Defines the trait used to implement [super::client::Routes].
11205///
11206/// Application developers may need to implement this trait to mock
11207/// `client::Routes`.  In other use-cases, application developers only
11208/// use `client::Routes` and need not be concerned with this trait or
11209/// its implementations.
11210///
11211/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11212/// too. To avoid breaking applications the trait provides a default
11213/// implementation of each method. Most of these implementations just return an
11214/// error.
11215#[cfg(feature = "routes")]
11216#[cfg_attr(docsrs, doc(cfg(feature = "routes")))]
11217pub trait Routes: std::fmt::Debug + Send + Sync {
11218    /// Implements [super::client::Routes::delete].
11219    fn delete(
11220        &self,
11221        _req: crate::model::routes::DeleteRequest,
11222        _options: crate::RequestOptions,
11223    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11224    {
11225        gaxi::unimplemented::unimplemented_stub()
11226    }
11227
11228    /// Implements [super::client::Routes::get].
11229    fn get(
11230        &self,
11231        _req: crate::model::routes::GetRequest,
11232        _options: crate::RequestOptions,
11233    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Route>>> + Send
11234    {
11235        gaxi::unimplemented::unimplemented_stub()
11236    }
11237
11238    /// Implements [super::client::Routes::insert].
11239    fn insert(
11240        &self,
11241        _req: crate::model::routes::InsertRequest,
11242        _options: crate::RequestOptions,
11243    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11244    {
11245        gaxi::unimplemented::unimplemented_stub()
11246    }
11247
11248    /// Implements [super::client::Routes::list].
11249    fn list(
11250        &self,
11251        _req: crate::model::routes::ListRequest,
11252        _options: crate::RequestOptions,
11253    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RouteList>>> + Send
11254    {
11255        gaxi::unimplemented::unimplemented_stub()
11256    }
11257
11258    /// Implements [super::client::Routes::test_iam_permissions].
11259    fn test_iam_permissions(
11260        &self,
11261        _req: crate::model::routes::TestIamPermissionsRequest,
11262        _options: crate::RequestOptions,
11263    ) -> impl std::future::Future<
11264        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11265    > + Send {
11266        gaxi::unimplemented::unimplemented_stub()
11267    }
11268
11269    /// Implements [super::client::Routes::get_operation].
11270    fn get_operation(
11271        &self,
11272        _req: crate::model::global_operations::GetRequest,
11273        _options: crate::RequestOptions,
11274    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11275    {
11276        gaxi::unimplemented::unimplemented_stub()
11277    }
11278
11279    /// Returns the polling error policy.
11280    ///
11281    /// When mocking, this method is typically irrelevant. Do not try to verify
11282    /// it is called by your mocks.
11283    fn get_polling_error_policy(
11284        &self,
11285        _options: &crate::RequestOptions,
11286    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11287        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11288    }
11289
11290    /// Returns the polling backoff policy.
11291    ///
11292    /// When mocking, this method is typically irrelevant. Do not try to verify
11293    /// it is called by your mocks.
11294    fn get_polling_backoff_policy(
11295        &self,
11296        _options: &crate::RequestOptions,
11297    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11298        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11299    }
11300}
11301
11302/// Defines the trait used to implement [super::client::SecurityPolicies].
11303///
11304/// Application developers may need to implement this trait to mock
11305/// `client::SecurityPolicies`.  In other use-cases, application developers only
11306/// use `client::SecurityPolicies` and need not be concerned with this trait or
11307/// its implementations.
11308///
11309/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11310/// too. To avoid breaking applications the trait provides a default
11311/// implementation of each method. Most of these implementations just return an
11312/// error.
11313#[cfg(feature = "security-policies")]
11314#[cfg_attr(docsrs, doc(cfg(feature = "security-policies")))]
11315pub trait SecurityPolicies: std::fmt::Debug + Send + Sync {
11316    /// Implements [super::client::SecurityPolicies::add_rule].
11317    fn add_rule(
11318        &self,
11319        _req: crate::model::security_policies::AddRuleRequest,
11320        _options: crate::RequestOptions,
11321    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11322    {
11323        gaxi::unimplemented::unimplemented_stub()
11324    }
11325
11326    /// Implements [super::client::SecurityPolicies::aggregated_list].
11327    fn aggregated_list(
11328        &self,
11329        _req: crate::model::security_policies::AggregatedListRequest,
11330        _options: crate::RequestOptions,
11331    ) -> impl std::future::Future<
11332        Output = crate::Result<crate::Response<crate::model::SecurityPoliciesAggregatedList>>,
11333    > + Send {
11334        gaxi::unimplemented::unimplemented_stub()
11335    }
11336
11337    /// Implements [super::client::SecurityPolicies::delete].
11338    fn delete(
11339        &self,
11340        _req: crate::model::security_policies::DeleteRequest,
11341        _options: crate::RequestOptions,
11342    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11343    {
11344        gaxi::unimplemented::unimplemented_stub()
11345    }
11346
11347    /// Implements [super::client::SecurityPolicies::get].
11348    fn get(
11349        &self,
11350        _req: crate::model::security_policies::GetRequest,
11351        _options: crate::RequestOptions,
11352    ) -> impl std::future::Future<
11353        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
11354    > + Send {
11355        gaxi::unimplemented::unimplemented_stub()
11356    }
11357
11358    /// Implements [super::client::SecurityPolicies::get_rule].
11359    fn get_rule(
11360        &self,
11361        _req: crate::model::security_policies::GetRuleRequest,
11362        _options: crate::RequestOptions,
11363    ) -> impl std::future::Future<
11364        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
11365    > + Send {
11366        gaxi::unimplemented::unimplemented_stub()
11367    }
11368
11369    /// Implements [super::client::SecurityPolicies::insert].
11370    fn insert(
11371        &self,
11372        _req: crate::model::security_policies::InsertRequest,
11373        _options: crate::RequestOptions,
11374    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11375    {
11376        gaxi::unimplemented::unimplemented_stub()
11377    }
11378
11379    /// Implements [super::client::SecurityPolicies::list].
11380    fn list(
11381        &self,
11382        _req: crate::model::security_policies::ListRequest,
11383        _options: crate::RequestOptions,
11384    ) -> impl std::future::Future<
11385        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
11386    > + Send {
11387        gaxi::unimplemented::unimplemented_stub()
11388    }
11389
11390    /// Implements [super::client::SecurityPolicies::list_preconfigured_expression_sets].
11391    fn list_preconfigured_expression_sets(
11392        &self,
11393        _req: crate::model::security_policies::ListPreconfiguredExpressionSetsRequest,
11394        _options: crate::RequestOptions,
11395    ) -> impl std::future::Future<
11396        Output = crate::Result<
11397            crate::Response<crate::model::SecurityPoliciesListPreconfiguredExpressionSetsResponse>,
11398        >,
11399    > + Send {
11400        gaxi::unimplemented::unimplemented_stub()
11401    }
11402
11403    /// Implements [super::client::SecurityPolicies::patch].
11404    fn patch(
11405        &self,
11406        _req: crate::model::security_policies::PatchRequest,
11407        _options: crate::RequestOptions,
11408    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11409    {
11410        gaxi::unimplemented::unimplemented_stub()
11411    }
11412
11413    /// Implements [super::client::SecurityPolicies::patch_rule].
11414    fn patch_rule(
11415        &self,
11416        _req: crate::model::security_policies::PatchRuleRequest,
11417        _options: crate::RequestOptions,
11418    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11419    {
11420        gaxi::unimplemented::unimplemented_stub()
11421    }
11422
11423    /// Implements [super::client::SecurityPolicies::remove_rule].
11424    fn remove_rule(
11425        &self,
11426        _req: crate::model::security_policies::RemoveRuleRequest,
11427        _options: crate::RequestOptions,
11428    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11429    {
11430        gaxi::unimplemented::unimplemented_stub()
11431    }
11432
11433    /// Implements [super::client::SecurityPolicies::set_labels].
11434    fn set_labels(
11435        &self,
11436        _req: crate::model::security_policies::SetLabelsRequest,
11437        _options: crate::RequestOptions,
11438    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11439    {
11440        gaxi::unimplemented::unimplemented_stub()
11441    }
11442
11443    /// Implements [super::client::SecurityPolicies::get_operation].
11444    fn get_operation(
11445        &self,
11446        _req: crate::model::global_operations::GetRequest,
11447        _options: crate::RequestOptions,
11448    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11449    {
11450        gaxi::unimplemented::unimplemented_stub()
11451    }
11452
11453    /// Returns the polling error policy.
11454    ///
11455    /// When mocking, this method is typically irrelevant. Do not try to verify
11456    /// it is called by your mocks.
11457    fn get_polling_error_policy(
11458        &self,
11459        _options: &crate::RequestOptions,
11460    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11461        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11462    }
11463
11464    /// Returns the polling backoff policy.
11465    ///
11466    /// When mocking, this method is typically irrelevant. Do not try to verify
11467    /// it is called by your mocks.
11468    fn get_polling_backoff_policy(
11469        &self,
11470        _options: &crate::RequestOptions,
11471    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11472        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11473    }
11474}
11475
11476/// Defines the trait used to implement [super::client::ServiceAttachments].
11477///
11478/// Application developers may need to implement this trait to mock
11479/// `client::ServiceAttachments`.  In other use-cases, application developers only
11480/// use `client::ServiceAttachments` and need not be concerned with this trait or
11481/// its implementations.
11482///
11483/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11484/// too. To avoid breaking applications the trait provides a default
11485/// implementation of each method. Most of these implementations just return an
11486/// error.
11487#[cfg(feature = "service-attachments")]
11488#[cfg_attr(docsrs, doc(cfg(feature = "service-attachments")))]
11489pub trait ServiceAttachments: std::fmt::Debug + Send + Sync {
11490    /// Implements [super::client::ServiceAttachments::aggregated_list].
11491    fn aggregated_list(
11492        &self,
11493        _req: crate::model::service_attachments::AggregatedListRequest,
11494        _options: crate::RequestOptions,
11495    ) -> impl std::future::Future<
11496        Output = crate::Result<crate::Response<crate::model::ServiceAttachmentAggregatedList>>,
11497    > + Send {
11498        gaxi::unimplemented::unimplemented_stub()
11499    }
11500
11501    /// Implements [super::client::ServiceAttachments::delete].
11502    fn delete(
11503        &self,
11504        _req: crate::model::service_attachments::DeleteRequest,
11505        _options: crate::RequestOptions,
11506    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11507    {
11508        gaxi::unimplemented::unimplemented_stub()
11509    }
11510
11511    /// Implements [super::client::ServiceAttachments::get].
11512    fn get(
11513        &self,
11514        _req: crate::model::service_attachments::GetRequest,
11515        _options: crate::RequestOptions,
11516    ) -> impl std::future::Future<
11517        Output = crate::Result<crate::Response<crate::model::ServiceAttachment>>,
11518    > + Send {
11519        gaxi::unimplemented::unimplemented_stub()
11520    }
11521
11522    /// Implements [super::client::ServiceAttachments::get_iam_policy].
11523    fn get_iam_policy(
11524        &self,
11525        _req: crate::model::service_attachments::GetIamPolicyRequest,
11526        _options: crate::RequestOptions,
11527    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11528    {
11529        gaxi::unimplemented::unimplemented_stub()
11530    }
11531
11532    /// Implements [super::client::ServiceAttachments::insert].
11533    fn insert(
11534        &self,
11535        _req: crate::model::service_attachments::InsertRequest,
11536        _options: crate::RequestOptions,
11537    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11538    {
11539        gaxi::unimplemented::unimplemented_stub()
11540    }
11541
11542    /// Implements [super::client::ServiceAttachments::list].
11543    fn list(
11544        &self,
11545        _req: crate::model::service_attachments::ListRequest,
11546        _options: crate::RequestOptions,
11547    ) -> impl std::future::Future<
11548        Output = crate::Result<crate::Response<crate::model::ServiceAttachmentList>>,
11549    > + Send {
11550        gaxi::unimplemented::unimplemented_stub()
11551    }
11552
11553    /// Implements [super::client::ServiceAttachments::patch].
11554    fn patch(
11555        &self,
11556        _req: crate::model::service_attachments::PatchRequest,
11557        _options: crate::RequestOptions,
11558    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11559    {
11560        gaxi::unimplemented::unimplemented_stub()
11561    }
11562
11563    /// Implements [super::client::ServiceAttachments::set_iam_policy].
11564    fn set_iam_policy(
11565        &self,
11566        _req: crate::model::service_attachments::SetIamPolicyRequest,
11567        _options: crate::RequestOptions,
11568    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11569    {
11570        gaxi::unimplemented::unimplemented_stub()
11571    }
11572
11573    /// Implements [super::client::ServiceAttachments::test_iam_permissions].
11574    fn test_iam_permissions(
11575        &self,
11576        _req: crate::model::service_attachments::TestIamPermissionsRequest,
11577        _options: crate::RequestOptions,
11578    ) -> impl std::future::Future<
11579        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11580    > + Send {
11581        gaxi::unimplemented::unimplemented_stub()
11582    }
11583
11584    /// Implements [super::client::ServiceAttachments::get_operation].
11585    fn get_operation(
11586        &self,
11587        _req: crate::model::region_operations::GetRequest,
11588        _options: crate::RequestOptions,
11589    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11590    {
11591        gaxi::unimplemented::unimplemented_stub()
11592    }
11593
11594    /// Returns the polling error policy.
11595    ///
11596    /// When mocking, this method is typically irrelevant. Do not try to verify
11597    /// it is called by your mocks.
11598    fn get_polling_error_policy(
11599        &self,
11600        _options: &crate::RequestOptions,
11601    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11602        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11603    }
11604
11605    /// Returns the polling backoff policy.
11606    ///
11607    /// When mocking, this method is typically irrelevant. Do not try to verify
11608    /// it is called by your mocks.
11609    fn get_polling_backoff_policy(
11610        &self,
11611        _options: &crate::RequestOptions,
11612    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11613        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11614    }
11615}
11616
11617/// Defines the trait used to implement [super::client::SnapshotSettings].
11618///
11619/// Application developers may need to implement this trait to mock
11620/// `client::SnapshotSettings`.  In other use-cases, application developers only
11621/// use `client::SnapshotSettings` and need not be concerned with this trait or
11622/// its implementations.
11623///
11624/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11625/// too. To avoid breaking applications the trait provides a default
11626/// implementation of each method. Most of these implementations just return an
11627/// error.
11628#[cfg(feature = "snapshot-settings")]
11629#[cfg_attr(docsrs, doc(cfg(feature = "snapshot-settings")))]
11630pub trait SnapshotSettings: std::fmt::Debug + Send + Sync {
11631    /// Implements [super::client::SnapshotSettings::get].
11632    fn get(
11633        &self,
11634        _req: crate::model::snapshot_settings::GetRequest,
11635        _options: crate::RequestOptions,
11636    ) -> impl std::future::Future<
11637        Output = crate::Result<crate::Response<crate::model::SnapshotSettings>>,
11638    > + Send {
11639        gaxi::unimplemented::unimplemented_stub()
11640    }
11641
11642    /// Implements [super::client::SnapshotSettings::patch].
11643    fn patch(
11644        &self,
11645        _req: crate::model::snapshot_settings::PatchRequest,
11646        _options: crate::RequestOptions,
11647    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11648    {
11649        gaxi::unimplemented::unimplemented_stub()
11650    }
11651
11652    /// Implements [super::client::SnapshotSettings::get_operation].
11653    fn get_operation(
11654        &self,
11655        _req: crate::model::global_operations::GetRequest,
11656        _options: crate::RequestOptions,
11657    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11658    {
11659        gaxi::unimplemented::unimplemented_stub()
11660    }
11661
11662    /// Returns the polling error policy.
11663    ///
11664    /// When mocking, this method is typically irrelevant. Do not try to verify
11665    /// it is called by your mocks.
11666    fn get_polling_error_policy(
11667        &self,
11668        _options: &crate::RequestOptions,
11669    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11670        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11671    }
11672
11673    /// Returns the polling backoff policy.
11674    ///
11675    /// When mocking, this method is typically irrelevant. Do not try to verify
11676    /// it is called by your mocks.
11677    fn get_polling_backoff_policy(
11678        &self,
11679        _options: &crate::RequestOptions,
11680    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11681        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11682    }
11683}
11684
11685/// Defines the trait used to implement [super::client::Snapshots].
11686///
11687/// Application developers may need to implement this trait to mock
11688/// `client::Snapshots`.  In other use-cases, application developers only
11689/// use `client::Snapshots` and need not be concerned with this trait or
11690/// its implementations.
11691///
11692/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11693/// too. To avoid breaking applications the trait provides a default
11694/// implementation of each method. Most of these implementations just return an
11695/// error.
11696#[cfg(feature = "snapshots")]
11697#[cfg_attr(docsrs, doc(cfg(feature = "snapshots")))]
11698pub trait Snapshots: std::fmt::Debug + Send + Sync {
11699    /// Implements [super::client::Snapshots::delete].
11700    fn delete(
11701        &self,
11702        _req: crate::model::snapshots::DeleteRequest,
11703        _options: crate::RequestOptions,
11704    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11705    {
11706        gaxi::unimplemented::unimplemented_stub()
11707    }
11708
11709    /// Implements [super::client::Snapshots::get].
11710    fn get(
11711        &self,
11712        _req: crate::model::snapshots::GetRequest,
11713        _options: crate::RequestOptions,
11714    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Snapshot>>> + Send
11715    {
11716        gaxi::unimplemented::unimplemented_stub()
11717    }
11718
11719    /// Implements [super::client::Snapshots::get_iam_policy].
11720    fn get_iam_policy(
11721        &self,
11722        _req: crate::model::snapshots::GetIamPolicyRequest,
11723        _options: crate::RequestOptions,
11724    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11725    {
11726        gaxi::unimplemented::unimplemented_stub()
11727    }
11728
11729    /// Implements [super::client::Snapshots::insert].
11730    fn insert(
11731        &self,
11732        _req: crate::model::snapshots::InsertRequest,
11733        _options: crate::RequestOptions,
11734    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11735    {
11736        gaxi::unimplemented::unimplemented_stub()
11737    }
11738
11739    /// Implements [super::client::Snapshots::list].
11740    fn list(
11741        &self,
11742        _req: crate::model::snapshots::ListRequest,
11743        _options: crate::RequestOptions,
11744    ) -> impl std::future::Future<
11745        Output = crate::Result<crate::Response<crate::model::SnapshotList>>,
11746    > + Send {
11747        gaxi::unimplemented::unimplemented_stub()
11748    }
11749
11750    /// Implements [super::client::Snapshots::set_iam_policy].
11751    fn set_iam_policy(
11752        &self,
11753        _req: crate::model::snapshots::SetIamPolicyRequest,
11754        _options: crate::RequestOptions,
11755    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11756    {
11757        gaxi::unimplemented::unimplemented_stub()
11758    }
11759
11760    /// Implements [super::client::Snapshots::set_labels].
11761    fn set_labels(
11762        &self,
11763        _req: crate::model::snapshots::SetLabelsRequest,
11764        _options: crate::RequestOptions,
11765    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11766    {
11767        gaxi::unimplemented::unimplemented_stub()
11768    }
11769
11770    /// Implements [super::client::Snapshots::test_iam_permissions].
11771    fn test_iam_permissions(
11772        &self,
11773        _req: crate::model::snapshots::TestIamPermissionsRequest,
11774        _options: crate::RequestOptions,
11775    ) -> impl std::future::Future<
11776        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11777    > + Send {
11778        gaxi::unimplemented::unimplemented_stub()
11779    }
11780
11781    /// Implements [super::client::Snapshots::get_operation].
11782    fn get_operation(
11783        &self,
11784        _req: crate::model::global_operations::GetRequest,
11785        _options: crate::RequestOptions,
11786    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11787    {
11788        gaxi::unimplemented::unimplemented_stub()
11789    }
11790
11791    /// Returns the polling error policy.
11792    ///
11793    /// When mocking, this method is typically irrelevant. Do not try to verify
11794    /// it is called by your mocks.
11795    fn get_polling_error_policy(
11796        &self,
11797        _options: &crate::RequestOptions,
11798    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11799        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11800    }
11801
11802    /// Returns the polling backoff policy.
11803    ///
11804    /// When mocking, this method is typically irrelevant. Do not try to verify
11805    /// it is called by your mocks.
11806    fn get_polling_backoff_policy(
11807        &self,
11808        _options: &crate::RequestOptions,
11809    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11810        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11811    }
11812}
11813
11814/// Defines the trait used to implement [super::client::SslCertificates].
11815///
11816/// Application developers may need to implement this trait to mock
11817/// `client::SslCertificates`.  In other use-cases, application developers only
11818/// use `client::SslCertificates` and need not be concerned with this trait or
11819/// its implementations.
11820///
11821/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11822/// too. To avoid breaking applications the trait provides a default
11823/// implementation of each method. Most of these implementations just return an
11824/// error.
11825#[cfg(feature = "ssl-certificates")]
11826#[cfg_attr(docsrs, doc(cfg(feature = "ssl-certificates")))]
11827pub trait SslCertificates: std::fmt::Debug + Send + Sync {
11828    /// Implements [super::client::SslCertificates::aggregated_list].
11829    fn aggregated_list(
11830        &self,
11831        _req: crate::model::ssl_certificates::AggregatedListRequest,
11832        _options: crate::RequestOptions,
11833    ) -> impl std::future::Future<
11834        Output = crate::Result<crate::Response<crate::model::SslCertificateAggregatedList>>,
11835    > + Send {
11836        gaxi::unimplemented::unimplemented_stub()
11837    }
11838
11839    /// Implements [super::client::SslCertificates::delete].
11840    fn delete(
11841        &self,
11842        _req: crate::model::ssl_certificates::DeleteRequest,
11843        _options: crate::RequestOptions,
11844    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11845    {
11846        gaxi::unimplemented::unimplemented_stub()
11847    }
11848
11849    /// Implements [super::client::SslCertificates::get].
11850    fn get(
11851        &self,
11852        _req: crate::model::ssl_certificates::GetRequest,
11853        _options: crate::RequestOptions,
11854    ) -> impl std::future::Future<
11855        Output = crate::Result<crate::Response<crate::model::SslCertificate>>,
11856    > + Send {
11857        gaxi::unimplemented::unimplemented_stub()
11858    }
11859
11860    /// Implements [super::client::SslCertificates::insert].
11861    fn insert(
11862        &self,
11863        _req: crate::model::ssl_certificates::InsertRequest,
11864        _options: crate::RequestOptions,
11865    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11866    {
11867        gaxi::unimplemented::unimplemented_stub()
11868    }
11869
11870    /// Implements [super::client::SslCertificates::list].
11871    fn list(
11872        &self,
11873        _req: crate::model::ssl_certificates::ListRequest,
11874        _options: crate::RequestOptions,
11875    ) -> impl std::future::Future<
11876        Output = crate::Result<crate::Response<crate::model::SslCertificateList>>,
11877    > + Send {
11878        gaxi::unimplemented::unimplemented_stub()
11879    }
11880
11881    /// Implements [super::client::SslCertificates::get_operation].
11882    fn get_operation(
11883        &self,
11884        _req: crate::model::global_operations::GetRequest,
11885        _options: crate::RequestOptions,
11886    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11887    {
11888        gaxi::unimplemented::unimplemented_stub()
11889    }
11890
11891    /// Returns the polling error policy.
11892    ///
11893    /// When mocking, this method is typically irrelevant. Do not try to verify
11894    /// it is called by your mocks.
11895    fn get_polling_error_policy(
11896        &self,
11897        _options: &crate::RequestOptions,
11898    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11899        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11900    }
11901
11902    /// Returns the polling backoff policy.
11903    ///
11904    /// When mocking, this method is typically irrelevant. Do not try to verify
11905    /// it is called by your mocks.
11906    fn get_polling_backoff_policy(
11907        &self,
11908        _options: &crate::RequestOptions,
11909    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11910        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11911    }
11912}
11913
11914/// Defines the trait used to implement [super::client::SslPolicies].
11915///
11916/// Application developers may need to implement this trait to mock
11917/// `client::SslPolicies`.  In other use-cases, application developers only
11918/// use `client::SslPolicies` and need not be concerned with this trait or
11919/// its implementations.
11920///
11921/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11922/// too. To avoid breaking applications the trait provides a default
11923/// implementation of each method. Most of these implementations just return an
11924/// error.
11925#[cfg(feature = "ssl-policies")]
11926#[cfg_attr(docsrs, doc(cfg(feature = "ssl-policies")))]
11927pub trait SslPolicies: std::fmt::Debug + Send + Sync {
11928    /// Implements [super::client::SslPolicies::aggregated_list].
11929    fn aggregated_list(
11930        &self,
11931        _req: crate::model::ssl_policies::AggregatedListRequest,
11932        _options: crate::RequestOptions,
11933    ) -> impl std::future::Future<
11934        Output = crate::Result<crate::Response<crate::model::SslPoliciesAggregatedList>>,
11935    > + Send {
11936        gaxi::unimplemented::unimplemented_stub()
11937    }
11938
11939    /// Implements [super::client::SslPolicies::delete].
11940    fn delete(
11941        &self,
11942        _req: crate::model::ssl_policies::DeleteRequest,
11943        _options: crate::RequestOptions,
11944    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11945    {
11946        gaxi::unimplemented::unimplemented_stub()
11947    }
11948
11949    /// Implements [super::client::SslPolicies::get].
11950    fn get(
11951        &self,
11952        _req: crate::model::ssl_policies::GetRequest,
11953        _options: crate::RequestOptions,
11954    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::SslPolicy>>> + Send
11955    {
11956        gaxi::unimplemented::unimplemented_stub()
11957    }
11958
11959    /// Implements [super::client::SslPolicies::insert].
11960    fn insert(
11961        &self,
11962        _req: crate::model::ssl_policies::InsertRequest,
11963        _options: crate::RequestOptions,
11964    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11965    {
11966        gaxi::unimplemented::unimplemented_stub()
11967    }
11968
11969    /// Implements [super::client::SslPolicies::list].
11970    fn list(
11971        &self,
11972        _req: crate::model::ssl_policies::ListRequest,
11973        _options: crate::RequestOptions,
11974    ) -> impl std::future::Future<
11975        Output = crate::Result<crate::Response<crate::model::SslPoliciesList>>,
11976    > + Send {
11977        gaxi::unimplemented::unimplemented_stub()
11978    }
11979
11980    /// Implements [super::client::SslPolicies::list_available_features].
11981    fn list_available_features(
11982        &self,
11983        _req: crate::model::ssl_policies::ListAvailableFeaturesRequest,
11984        _options: crate::RequestOptions,
11985    ) -> impl std::future::Future<
11986        Output = crate::Result<
11987            crate::Response<crate::model::SslPoliciesListAvailableFeaturesResponse>,
11988        >,
11989    > + Send {
11990        gaxi::unimplemented::unimplemented_stub()
11991    }
11992
11993    /// Implements [super::client::SslPolicies::patch].
11994    fn patch(
11995        &self,
11996        _req: crate::model::ssl_policies::PatchRequest,
11997        _options: crate::RequestOptions,
11998    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11999    {
12000        gaxi::unimplemented::unimplemented_stub()
12001    }
12002
12003    /// Implements [super::client::SslPolicies::get_operation].
12004    fn get_operation(
12005        &self,
12006        _req: crate::model::global_operations::GetRequest,
12007        _options: crate::RequestOptions,
12008    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12009    {
12010        gaxi::unimplemented::unimplemented_stub()
12011    }
12012
12013    /// Returns the polling error policy.
12014    ///
12015    /// When mocking, this method is typically irrelevant. Do not try to verify
12016    /// it is called by your mocks.
12017    fn get_polling_error_policy(
12018        &self,
12019        _options: &crate::RequestOptions,
12020    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12021        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12022    }
12023
12024    /// Returns the polling backoff policy.
12025    ///
12026    /// When mocking, this method is typically irrelevant. Do not try to verify
12027    /// it is called by your mocks.
12028    fn get_polling_backoff_policy(
12029        &self,
12030        _options: &crate::RequestOptions,
12031    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12032        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12033    }
12034}
12035
12036/// Defines the trait used to implement [super::client::StoragePoolTypes].
12037///
12038/// Application developers may need to implement this trait to mock
12039/// `client::StoragePoolTypes`.  In other use-cases, application developers only
12040/// use `client::StoragePoolTypes` and need not be concerned with this trait or
12041/// its implementations.
12042///
12043/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12044/// too. To avoid breaking applications the trait provides a default
12045/// implementation of each method. Most of these implementations just return an
12046/// error.
12047#[cfg(feature = "storage-pool-types")]
12048#[cfg_attr(docsrs, doc(cfg(feature = "storage-pool-types")))]
12049pub trait StoragePoolTypes: std::fmt::Debug + Send + Sync {
12050    /// Implements [super::client::StoragePoolTypes::aggregated_list].
12051    fn aggregated_list(
12052        &self,
12053        _req: crate::model::storage_pool_types::AggregatedListRequest,
12054        _options: crate::RequestOptions,
12055    ) -> impl std::future::Future<
12056        Output = crate::Result<crate::Response<crate::model::StoragePoolTypeAggregatedList>>,
12057    > + Send {
12058        gaxi::unimplemented::unimplemented_stub()
12059    }
12060
12061    /// Implements [super::client::StoragePoolTypes::get].
12062    fn get(
12063        &self,
12064        _req: crate::model::storage_pool_types::GetRequest,
12065        _options: crate::RequestOptions,
12066    ) -> impl std::future::Future<
12067        Output = crate::Result<crate::Response<crate::model::StoragePoolType>>,
12068    > + Send {
12069        gaxi::unimplemented::unimplemented_stub()
12070    }
12071
12072    /// Implements [super::client::StoragePoolTypes::list].
12073    fn list(
12074        &self,
12075        _req: crate::model::storage_pool_types::ListRequest,
12076        _options: crate::RequestOptions,
12077    ) -> impl std::future::Future<
12078        Output = crate::Result<crate::Response<crate::model::StoragePoolTypeList>>,
12079    > + Send {
12080        gaxi::unimplemented::unimplemented_stub()
12081    }
12082}
12083
12084/// Defines the trait used to implement [super::client::StoragePools].
12085///
12086/// Application developers may need to implement this trait to mock
12087/// `client::StoragePools`.  In other use-cases, application developers only
12088/// use `client::StoragePools` and need not be concerned with this trait or
12089/// its implementations.
12090///
12091/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12092/// too. To avoid breaking applications the trait provides a default
12093/// implementation of each method. Most of these implementations just return an
12094/// error.
12095#[cfg(feature = "storage-pools")]
12096#[cfg_attr(docsrs, doc(cfg(feature = "storage-pools")))]
12097pub trait StoragePools: std::fmt::Debug + Send + Sync {
12098    /// Implements [super::client::StoragePools::aggregated_list].
12099    fn aggregated_list(
12100        &self,
12101        _req: crate::model::storage_pools::AggregatedListRequest,
12102        _options: crate::RequestOptions,
12103    ) -> impl std::future::Future<
12104        Output = crate::Result<crate::Response<crate::model::StoragePoolAggregatedList>>,
12105    > + Send {
12106        gaxi::unimplemented::unimplemented_stub()
12107    }
12108
12109    /// Implements [super::client::StoragePools::delete].
12110    fn delete(
12111        &self,
12112        _req: crate::model::storage_pools::DeleteRequest,
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    /// Implements [super::client::StoragePools::get].
12120    fn get(
12121        &self,
12122        _req: crate::model::storage_pools::GetRequest,
12123        _options: crate::RequestOptions,
12124    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::StoragePool>>>
12125    + Send {
12126        gaxi::unimplemented::unimplemented_stub()
12127    }
12128
12129    /// Implements [super::client::StoragePools::get_iam_policy].
12130    fn get_iam_policy(
12131        &self,
12132        _req: crate::model::storage_pools::GetIamPolicyRequest,
12133        _options: crate::RequestOptions,
12134    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12135    {
12136        gaxi::unimplemented::unimplemented_stub()
12137    }
12138
12139    /// Implements [super::client::StoragePools::insert].
12140    fn insert(
12141        &self,
12142        _req: crate::model::storage_pools::InsertRequest,
12143        _options: crate::RequestOptions,
12144    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12145    {
12146        gaxi::unimplemented::unimplemented_stub()
12147    }
12148
12149    /// Implements [super::client::StoragePools::list].
12150    fn list(
12151        &self,
12152        _req: crate::model::storage_pools::ListRequest,
12153        _options: crate::RequestOptions,
12154    ) -> impl std::future::Future<
12155        Output = crate::Result<crate::Response<crate::model::StoragePoolList>>,
12156    > + Send {
12157        gaxi::unimplemented::unimplemented_stub()
12158    }
12159
12160    /// Implements [super::client::StoragePools::list_disks].
12161    fn list_disks(
12162        &self,
12163        _req: crate::model::storage_pools::ListDisksRequest,
12164        _options: crate::RequestOptions,
12165    ) -> impl std::future::Future<
12166        Output = crate::Result<crate::Response<crate::model::StoragePoolListDisks>>,
12167    > + Send {
12168        gaxi::unimplemented::unimplemented_stub()
12169    }
12170
12171    /// Implements [super::client::StoragePools::set_iam_policy].
12172    fn set_iam_policy(
12173        &self,
12174        _req: crate::model::storage_pools::SetIamPolicyRequest,
12175        _options: crate::RequestOptions,
12176    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12177    {
12178        gaxi::unimplemented::unimplemented_stub()
12179    }
12180
12181    /// Implements [super::client::StoragePools::test_iam_permissions].
12182    fn test_iam_permissions(
12183        &self,
12184        _req: crate::model::storage_pools::TestIamPermissionsRequest,
12185        _options: crate::RequestOptions,
12186    ) -> impl std::future::Future<
12187        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12188    > + Send {
12189        gaxi::unimplemented::unimplemented_stub()
12190    }
12191
12192    /// Implements [super::client::StoragePools::update].
12193    fn update(
12194        &self,
12195        _req: crate::model::storage_pools::UpdateRequest,
12196        _options: crate::RequestOptions,
12197    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12198    {
12199        gaxi::unimplemented::unimplemented_stub()
12200    }
12201
12202    /// Implements [super::client::StoragePools::get_operation].
12203    fn get_operation(
12204        &self,
12205        _req: crate::model::zone_operations::GetRequest,
12206        _options: crate::RequestOptions,
12207    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12208    {
12209        gaxi::unimplemented::unimplemented_stub()
12210    }
12211
12212    /// Returns the polling error policy.
12213    ///
12214    /// When mocking, this method is typically irrelevant. Do not try to verify
12215    /// it is called by your mocks.
12216    fn get_polling_error_policy(
12217        &self,
12218        _options: &crate::RequestOptions,
12219    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12220        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12221    }
12222
12223    /// Returns the polling backoff policy.
12224    ///
12225    /// When mocking, this method is typically irrelevant. Do not try to verify
12226    /// it is called by your mocks.
12227    fn get_polling_backoff_policy(
12228        &self,
12229        _options: &crate::RequestOptions,
12230    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12231        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12232    }
12233}
12234
12235/// Defines the trait used to implement [super::client::Subnetworks].
12236///
12237/// Application developers may need to implement this trait to mock
12238/// `client::Subnetworks`.  In other use-cases, application developers only
12239/// use `client::Subnetworks` and need not be concerned with this trait or
12240/// its implementations.
12241///
12242/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12243/// too. To avoid breaking applications the trait provides a default
12244/// implementation of each method. Most of these implementations just return an
12245/// error.
12246#[cfg(feature = "subnetworks")]
12247#[cfg_attr(docsrs, doc(cfg(feature = "subnetworks")))]
12248pub trait Subnetworks: std::fmt::Debug + Send + Sync {
12249    /// Implements [super::client::Subnetworks::aggregated_list].
12250    fn aggregated_list(
12251        &self,
12252        _req: crate::model::subnetworks::AggregatedListRequest,
12253        _options: crate::RequestOptions,
12254    ) -> impl std::future::Future<
12255        Output = crate::Result<crate::Response<crate::model::SubnetworkAggregatedList>>,
12256    > + Send {
12257        gaxi::unimplemented::unimplemented_stub()
12258    }
12259
12260    /// Implements [super::client::Subnetworks::delete].
12261    fn delete(
12262        &self,
12263        _req: crate::model::subnetworks::DeleteRequest,
12264        _options: crate::RequestOptions,
12265    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12266    {
12267        gaxi::unimplemented::unimplemented_stub()
12268    }
12269
12270    /// Implements [super::client::Subnetworks::expand_ip_cidr_range].
12271    fn expand_ip_cidr_range(
12272        &self,
12273        _req: crate::model::subnetworks::ExpandIpCidrRangeRequest,
12274        _options: crate::RequestOptions,
12275    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12276    {
12277        gaxi::unimplemented::unimplemented_stub()
12278    }
12279
12280    /// Implements [super::client::Subnetworks::get].
12281    fn get(
12282        &self,
12283        _req: crate::model::subnetworks::GetRequest,
12284        _options: crate::RequestOptions,
12285    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Subnetwork>>> + Send
12286    {
12287        gaxi::unimplemented::unimplemented_stub()
12288    }
12289
12290    /// Implements [super::client::Subnetworks::get_iam_policy].
12291    fn get_iam_policy(
12292        &self,
12293        _req: crate::model::subnetworks::GetIamPolicyRequest,
12294        _options: crate::RequestOptions,
12295    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12296    {
12297        gaxi::unimplemented::unimplemented_stub()
12298    }
12299
12300    /// Implements [super::client::Subnetworks::insert].
12301    fn insert(
12302        &self,
12303        _req: crate::model::subnetworks::InsertRequest,
12304        _options: crate::RequestOptions,
12305    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12306    {
12307        gaxi::unimplemented::unimplemented_stub()
12308    }
12309
12310    /// Implements [super::client::Subnetworks::list].
12311    fn list(
12312        &self,
12313        _req: crate::model::subnetworks::ListRequest,
12314        _options: crate::RequestOptions,
12315    ) -> impl std::future::Future<
12316        Output = crate::Result<crate::Response<crate::model::SubnetworkList>>,
12317    > + Send {
12318        gaxi::unimplemented::unimplemented_stub()
12319    }
12320
12321    /// Implements [super::client::Subnetworks::list_usable].
12322    fn list_usable(
12323        &self,
12324        _req: crate::model::subnetworks::ListUsableRequest,
12325        _options: crate::RequestOptions,
12326    ) -> impl std::future::Future<
12327        Output = crate::Result<crate::Response<crate::model::UsableSubnetworksAggregatedList>>,
12328    > + Send {
12329        gaxi::unimplemented::unimplemented_stub()
12330    }
12331
12332    /// Implements [super::client::Subnetworks::patch].
12333    fn patch(
12334        &self,
12335        _req: crate::model::subnetworks::PatchRequest,
12336        _options: crate::RequestOptions,
12337    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12338    {
12339        gaxi::unimplemented::unimplemented_stub()
12340    }
12341
12342    /// Implements [super::client::Subnetworks::set_iam_policy].
12343    fn set_iam_policy(
12344        &self,
12345        _req: crate::model::subnetworks::SetIamPolicyRequest,
12346        _options: crate::RequestOptions,
12347    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12348    {
12349        gaxi::unimplemented::unimplemented_stub()
12350    }
12351
12352    /// Implements [super::client::Subnetworks::set_private_ip_google_access].
12353    fn set_private_ip_google_access(
12354        &self,
12355        _req: crate::model::subnetworks::SetPrivateIpGoogleAccessRequest,
12356        _options: crate::RequestOptions,
12357    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12358    {
12359        gaxi::unimplemented::unimplemented_stub()
12360    }
12361
12362    /// Implements [super::client::Subnetworks::test_iam_permissions].
12363    fn test_iam_permissions(
12364        &self,
12365        _req: crate::model::subnetworks::TestIamPermissionsRequest,
12366        _options: crate::RequestOptions,
12367    ) -> impl std::future::Future<
12368        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12369    > + Send {
12370        gaxi::unimplemented::unimplemented_stub()
12371    }
12372
12373    /// Implements [super::client::Subnetworks::get_operation].
12374    fn get_operation(
12375        &self,
12376        _req: crate::model::region_operations::GetRequest,
12377        _options: crate::RequestOptions,
12378    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12379    {
12380        gaxi::unimplemented::unimplemented_stub()
12381    }
12382
12383    /// Returns the polling error policy.
12384    ///
12385    /// When mocking, this method is typically irrelevant. Do not try to verify
12386    /// it is called by your mocks.
12387    fn get_polling_error_policy(
12388        &self,
12389        _options: &crate::RequestOptions,
12390    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12391        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12392    }
12393
12394    /// Returns the polling backoff policy.
12395    ///
12396    /// When mocking, this method is typically irrelevant. Do not try to verify
12397    /// it is called by your mocks.
12398    fn get_polling_backoff_policy(
12399        &self,
12400        _options: &crate::RequestOptions,
12401    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12402        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12403    }
12404}
12405
12406/// Defines the trait used to implement [super::client::TargetGrpcProxies].
12407///
12408/// Application developers may need to implement this trait to mock
12409/// `client::TargetGrpcProxies`.  In other use-cases, application developers only
12410/// use `client::TargetGrpcProxies` and need not be concerned with this trait or
12411/// its implementations.
12412///
12413/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12414/// too. To avoid breaking applications the trait provides a default
12415/// implementation of each method. Most of these implementations just return an
12416/// error.
12417#[cfg(feature = "target-grpc-proxies")]
12418#[cfg_attr(docsrs, doc(cfg(feature = "target-grpc-proxies")))]
12419pub trait TargetGrpcProxies: std::fmt::Debug + Send + Sync {
12420    /// Implements [super::client::TargetGrpcProxies::delete].
12421    fn delete(
12422        &self,
12423        _req: crate::model::target_grpc_proxies::DeleteRequest,
12424        _options: crate::RequestOptions,
12425    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12426    {
12427        gaxi::unimplemented::unimplemented_stub()
12428    }
12429
12430    /// Implements [super::client::TargetGrpcProxies::get].
12431    fn get(
12432        &self,
12433        _req: crate::model::target_grpc_proxies::GetRequest,
12434        _options: crate::RequestOptions,
12435    ) -> impl std::future::Future<
12436        Output = crate::Result<crate::Response<crate::model::TargetGrpcProxy>>,
12437    > + Send {
12438        gaxi::unimplemented::unimplemented_stub()
12439    }
12440
12441    /// Implements [super::client::TargetGrpcProxies::insert].
12442    fn insert(
12443        &self,
12444        _req: crate::model::target_grpc_proxies::InsertRequest,
12445        _options: crate::RequestOptions,
12446    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12447    {
12448        gaxi::unimplemented::unimplemented_stub()
12449    }
12450
12451    /// Implements [super::client::TargetGrpcProxies::list].
12452    fn list(
12453        &self,
12454        _req: crate::model::target_grpc_proxies::ListRequest,
12455        _options: crate::RequestOptions,
12456    ) -> impl std::future::Future<
12457        Output = crate::Result<crate::Response<crate::model::TargetGrpcProxyList>>,
12458    > + Send {
12459        gaxi::unimplemented::unimplemented_stub()
12460    }
12461
12462    /// Implements [super::client::TargetGrpcProxies::patch].
12463    fn patch(
12464        &self,
12465        _req: crate::model::target_grpc_proxies::PatchRequest,
12466        _options: crate::RequestOptions,
12467    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12468    {
12469        gaxi::unimplemented::unimplemented_stub()
12470    }
12471
12472    /// Implements [super::client::TargetGrpcProxies::get_operation].
12473    fn get_operation(
12474        &self,
12475        _req: crate::model::global_operations::GetRequest,
12476        _options: crate::RequestOptions,
12477    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12478    {
12479        gaxi::unimplemented::unimplemented_stub()
12480    }
12481
12482    /// Returns the polling error policy.
12483    ///
12484    /// When mocking, this method is typically irrelevant. Do not try to verify
12485    /// it is called by your mocks.
12486    fn get_polling_error_policy(
12487        &self,
12488        _options: &crate::RequestOptions,
12489    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12490        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12491    }
12492
12493    /// Returns the polling backoff policy.
12494    ///
12495    /// When mocking, this method is typically irrelevant. Do not try to verify
12496    /// it is called by your mocks.
12497    fn get_polling_backoff_policy(
12498        &self,
12499        _options: &crate::RequestOptions,
12500    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12501        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12502    }
12503}
12504
12505/// Defines the trait used to implement [super::client::TargetHttpProxies].
12506///
12507/// Application developers may need to implement this trait to mock
12508/// `client::TargetHttpProxies`.  In other use-cases, application developers only
12509/// use `client::TargetHttpProxies` and need not be concerned with this trait or
12510/// its implementations.
12511///
12512/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12513/// too. To avoid breaking applications the trait provides a default
12514/// implementation of each method. Most of these implementations just return an
12515/// error.
12516#[cfg(feature = "target-http-proxies")]
12517#[cfg_attr(docsrs, doc(cfg(feature = "target-http-proxies")))]
12518pub trait TargetHttpProxies: std::fmt::Debug + Send + Sync {
12519    /// Implements [super::client::TargetHttpProxies::aggregated_list].
12520    fn aggregated_list(
12521        &self,
12522        _req: crate::model::target_http_proxies::AggregatedListRequest,
12523        _options: crate::RequestOptions,
12524    ) -> impl std::future::Future<
12525        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyAggregatedList>>,
12526    > + Send {
12527        gaxi::unimplemented::unimplemented_stub()
12528    }
12529
12530    /// Implements [super::client::TargetHttpProxies::delete].
12531    fn delete(
12532        &self,
12533        _req: crate::model::target_http_proxies::DeleteRequest,
12534        _options: crate::RequestOptions,
12535    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12536    {
12537        gaxi::unimplemented::unimplemented_stub()
12538    }
12539
12540    /// Implements [super::client::TargetHttpProxies::get].
12541    fn get(
12542        &self,
12543        _req: crate::model::target_http_proxies::GetRequest,
12544        _options: crate::RequestOptions,
12545    ) -> impl std::future::Future<
12546        Output = crate::Result<crate::Response<crate::model::TargetHttpProxy>>,
12547    > + Send {
12548        gaxi::unimplemented::unimplemented_stub()
12549    }
12550
12551    /// Implements [super::client::TargetHttpProxies::insert].
12552    fn insert(
12553        &self,
12554        _req: crate::model::target_http_proxies::InsertRequest,
12555        _options: crate::RequestOptions,
12556    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12557    {
12558        gaxi::unimplemented::unimplemented_stub()
12559    }
12560
12561    /// Implements [super::client::TargetHttpProxies::list].
12562    fn list(
12563        &self,
12564        _req: crate::model::target_http_proxies::ListRequest,
12565        _options: crate::RequestOptions,
12566    ) -> impl std::future::Future<
12567        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyList>>,
12568    > + Send {
12569        gaxi::unimplemented::unimplemented_stub()
12570    }
12571
12572    /// Implements [super::client::TargetHttpProxies::patch].
12573    fn patch(
12574        &self,
12575        _req: crate::model::target_http_proxies::PatchRequest,
12576        _options: crate::RequestOptions,
12577    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12578    {
12579        gaxi::unimplemented::unimplemented_stub()
12580    }
12581
12582    /// Implements [super::client::TargetHttpProxies::set_url_map].
12583    fn set_url_map(
12584        &self,
12585        _req: crate::model::target_http_proxies::SetUrlMapRequest,
12586        _options: crate::RequestOptions,
12587    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12588    {
12589        gaxi::unimplemented::unimplemented_stub()
12590    }
12591
12592    /// Implements [super::client::TargetHttpProxies::get_operation].
12593    fn get_operation(
12594        &self,
12595        _req: crate::model::global_operations::GetRequest,
12596        _options: crate::RequestOptions,
12597    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12598    {
12599        gaxi::unimplemented::unimplemented_stub()
12600    }
12601
12602    /// Returns the polling error policy.
12603    ///
12604    /// When mocking, this method is typically irrelevant. Do not try to verify
12605    /// it is called by your mocks.
12606    fn get_polling_error_policy(
12607        &self,
12608        _options: &crate::RequestOptions,
12609    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12610        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12611    }
12612
12613    /// Returns the polling backoff policy.
12614    ///
12615    /// When mocking, this method is typically irrelevant. Do not try to verify
12616    /// it is called by your mocks.
12617    fn get_polling_backoff_policy(
12618        &self,
12619        _options: &crate::RequestOptions,
12620    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12621        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12622    }
12623}
12624
12625/// Defines the trait used to implement [super::client::TargetHttpsProxies].
12626///
12627/// Application developers may need to implement this trait to mock
12628/// `client::TargetHttpsProxies`.  In other use-cases, application developers only
12629/// use `client::TargetHttpsProxies` and need not be concerned with this trait or
12630/// its implementations.
12631///
12632/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12633/// too. To avoid breaking applications the trait provides a default
12634/// implementation of each method. Most of these implementations just return an
12635/// error.
12636#[cfg(feature = "target-https-proxies")]
12637#[cfg_attr(docsrs, doc(cfg(feature = "target-https-proxies")))]
12638pub trait TargetHttpsProxies: std::fmt::Debug + Send + Sync {
12639    /// Implements [super::client::TargetHttpsProxies::aggregated_list].
12640    fn aggregated_list(
12641        &self,
12642        _req: crate::model::target_https_proxies::AggregatedListRequest,
12643        _options: crate::RequestOptions,
12644    ) -> impl std::future::Future<
12645        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyAggregatedList>>,
12646    > + Send {
12647        gaxi::unimplemented::unimplemented_stub()
12648    }
12649
12650    /// Implements [super::client::TargetHttpsProxies::delete].
12651    fn delete(
12652        &self,
12653        _req: crate::model::target_https_proxies::DeleteRequest,
12654        _options: crate::RequestOptions,
12655    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12656    {
12657        gaxi::unimplemented::unimplemented_stub()
12658    }
12659
12660    /// Implements [super::client::TargetHttpsProxies::get].
12661    fn get(
12662        &self,
12663        _req: crate::model::target_https_proxies::GetRequest,
12664        _options: crate::RequestOptions,
12665    ) -> impl std::future::Future<
12666        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxy>>,
12667    > + Send {
12668        gaxi::unimplemented::unimplemented_stub()
12669    }
12670
12671    /// Implements [super::client::TargetHttpsProxies::insert].
12672    fn insert(
12673        &self,
12674        _req: crate::model::target_https_proxies::InsertRequest,
12675        _options: crate::RequestOptions,
12676    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12677    {
12678        gaxi::unimplemented::unimplemented_stub()
12679    }
12680
12681    /// Implements [super::client::TargetHttpsProxies::list].
12682    fn list(
12683        &self,
12684        _req: crate::model::target_https_proxies::ListRequest,
12685        _options: crate::RequestOptions,
12686    ) -> impl std::future::Future<
12687        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyList>>,
12688    > + Send {
12689        gaxi::unimplemented::unimplemented_stub()
12690    }
12691
12692    /// Implements [super::client::TargetHttpsProxies::patch].
12693    fn patch(
12694        &self,
12695        _req: crate::model::target_https_proxies::PatchRequest,
12696        _options: crate::RequestOptions,
12697    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12698    {
12699        gaxi::unimplemented::unimplemented_stub()
12700    }
12701
12702    /// Implements [super::client::TargetHttpsProxies::set_certificate_map].
12703    fn set_certificate_map(
12704        &self,
12705        _req: crate::model::target_https_proxies::SetCertificateMapRequest,
12706        _options: crate::RequestOptions,
12707    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12708    {
12709        gaxi::unimplemented::unimplemented_stub()
12710    }
12711
12712    /// Implements [super::client::TargetHttpsProxies::set_quic_override].
12713    fn set_quic_override(
12714        &self,
12715        _req: crate::model::target_https_proxies::SetQuicOverrideRequest,
12716        _options: crate::RequestOptions,
12717    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12718    {
12719        gaxi::unimplemented::unimplemented_stub()
12720    }
12721
12722    /// Implements [super::client::TargetHttpsProxies::set_ssl_certificates].
12723    fn set_ssl_certificates(
12724        &self,
12725        _req: crate::model::target_https_proxies::SetSslCertificatesRequest,
12726        _options: crate::RequestOptions,
12727    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12728    {
12729        gaxi::unimplemented::unimplemented_stub()
12730    }
12731
12732    /// Implements [super::client::TargetHttpsProxies::set_ssl_policy].
12733    fn set_ssl_policy(
12734        &self,
12735        _req: crate::model::target_https_proxies::SetSslPolicyRequest,
12736        _options: crate::RequestOptions,
12737    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12738    {
12739        gaxi::unimplemented::unimplemented_stub()
12740    }
12741
12742    /// Implements [super::client::TargetHttpsProxies::set_url_map].
12743    fn set_url_map(
12744        &self,
12745        _req: crate::model::target_https_proxies::SetUrlMapRequest,
12746        _options: crate::RequestOptions,
12747    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12748    {
12749        gaxi::unimplemented::unimplemented_stub()
12750    }
12751
12752    /// Implements [super::client::TargetHttpsProxies::get_operation].
12753    fn get_operation(
12754        &self,
12755        _req: crate::model::global_operations::GetRequest,
12756        _options: crate::RequestOptions,
12757    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12758    {
12759        gaxi::unimplemented::unimplemented_stub()
12760    }
12761
12762    /// Returns the polling error policy.
12763    ///
12764    /// When mocking, this method is typically irrelevant. Do not try to verify
12765    /// it is called by your mocks.
12766    fn get_polling_error_policy(
12767        &self,
12768        _options: &crate::RequestOptions,
12769    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12770        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12771    }
12772
12773    /// Returns the polling backoff policy.
12774    ///
12775    /// When mocking, this method is typically irrelevant. Do not try to verify
12776    /// it is called by your mocks.
12777    fn get_polling_backoff_policy(
12778        &self,
12779        _options: &crate::RequestOptions,
12780    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12781        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12782    }
12783}
12784
12785/// Defines the trait used to implement [super::client::TargetInstances].
12786///
12787/// Application developers may need to implement this trait to mock
12788/// `client::TargetInstances`.  In other use-cases, application developers only
12789/// use `client::TargetInstances` and need not be concerned with this trait or
12790/// its implementations.
12791///
12792/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12793/// too. To avoid breaking applications the trait provides a default
12794/// implementation of each method. Most of these implementations just return an
12795/// error.
12796#[cfg(feature = "target-instances")]
12797#[cfg_attr(docsrs, doc(cfg(feature = "target-instances")))]
12798pub trait TargetInstances: std::fmt::Debug + Send + Sync {
12799    /// Implements [super::client::TargetInstances::aggregated_list].
12800    fn aggregated_list(
12801        &self,
12802        _req: crate::model::target_instances::AggregatedListRequest,
12803        _options: crate::RequestOptions,
12804    ) -> impl std::future::Future<
12805        Output = crate::Result<crate::Response<crate::model::TargetInstanceAggregatedList>>,
12806    > + Send {
12807        gaxi::unimplemented::unimplemented_stub()
12808    }
12809
12810    /// Implements [super::client::TargetInstances::delete].
12811    fn delete(
12812        &self,
12813        _req: crate::model::target_instances::DeleteRequest,
12814        _options: crate::RequestOptions,
12815    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12816    {
12817        gaxi::unimplemented::unimplemented_stub()
12818    }
12819
12820    /// Implements [super::client::TargetInstances::get].
12821    fn get(
12822        &self,
12823        _req: crate::model::target_instances::GetRequest,
12824        _options: crate::RequestOptions,
12825    ) -> impl std::future::Future<
12826        Output = crate::Result<crate::Response<crate::model::TargetInstance>>,
12827    > + Send {
12828        gaxi::unimplemented::unimplemented_stub()
12829    }
12830
12831    /// Implements [super::client::TargetInstances::insert].
12832    fn insert(
12833        &self,
12834        _req: crate::model::target_instances::InsertRequest,
12835        _options: crate::RequestOptions,
12836    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12837    {
12838        gaxi::unimplemented::unimplemented_stub()
12839    }
12840
12841    /// Implements [super::client::TargetInstances::list].
12842    fn list(
12843        &self,
12844        _req: crate::model::target_instances::ListRequest,
12845        _options: crate::RequestOptions,
12846    ) -> impl std::future::Future<
12847        Output = crate::Result<crate::Response<crate::model::TargetInstanceList>>,
12848    > + Send {
12849        gaxi::unimplemented::unimplemented_stub()
12850    }
12851
12852    /// Implements [super::client::TargetInstances::set_security_policy].
12853    fn set_security_policy(
12854        &self,
12855        _req: crate::model::target_instances::SetSecurityPolicyRequest,
12856        _options: crate::RequestOptions,
12857    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12858    {
12859        gaxi::unimplemented::unimplemented_stub()
12860    }
12861
12862    /// Implements [super::client::TargetInstances::test_iam_permissions].
12863    fn test_iam_permissions(
12864        &self,
12865        _req: crate::model::target_instances::TestIamPermissionsRequest,
12866        _options: crate::RequestOptions,
12867    ) -> impl std::future::Future<
12868        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12869    > + Send {
12870        gaxi::unimplemented::unimplemented_stub()
12871    }
12872
12873    /// Implements [super::client::TargetInstances::get_operation].
12874    fn get_operation(
12875        &self,
12876        _req: crate::model::zone_operations::GetRequest,
12877        _options: crate::RequestOptions,
12878    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12879    {
12880        gaxi::unimplemented::unimplemented_stub()
12881    }
12882
12883    /// Returns the polling error policy.
12884    ///
12885    /// When mocking, this method is typically irrelevant. Do not try to verify
12886    /// it is called by your mocks.
12887    fn get_polling_error_policy(
12888        &self,
12889        _options: &crate::RequestOptions,
12890    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12891        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12892    }
12893
12894    /// Returns the polling backoff policy.
12895    ///
12896    /// When mocking, this method is typically irrelevant. Do not try to verify
12897    /// it is called by your mocks.
12898    fn get_polling_backoff_policy(
12899        &self,
12900        _options: &crate::RequestOptions,
12901    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12902        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12903    }
12904}
12905
12906/// Defines the trait used to implement [super::client::TargetPools].
12907///
12908/// Application developers may need to implement this trait to mock
12909/// `client::TargetPools`.  In other use-cases, application developers only
12910/// use `client::TargetPools` and need not be concerned with this trait or
12911/// its implementations.
12912///
12913/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12914/// too. To avoid breaking applications the trait provides a default
12915/// implementation of each method. Most of these implementations just return an
12916/// error.
12917#[cfg(feature = "target-pools")]
12918#[cfg_attr(docsrs, doc(cfg(feature = "target-pools")))]
12919pub trait TargetPools: std::fmt::Debug + Send + Sync {
12920    /// Implements [super::client::TargetPools::add_health_check].
12921    fn add_health_check(
12922        &self,
12923        _req: crate::model::target_pools::AddHealthCheckRequest,
12924        _options: crate::RequestOptions,
12925    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12926    {
12927        gaxi::unimplemented::unimplemented_stub()
12928    }
12929
12930    /// Implements [super::client::TargetPools::add_instance].
12931    fn add_instance(
12932        &self,
12933        _req: crate::model::target_pools::AddInstanceRequest,
12934        _options: crate::RequestOptions,
12935    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12936    {
12937        gaxi::unimplemented::unimplemented_stub()
12938    }
12939
12940    /// Implements [super::client::TargetPools::aggregated_list].
12941    fn aggregated_list(
12942        &self,
12943        _req: crate::model::target_pools::AggregatedListRequest,
12944        _options: crate::RequestOptions,
12945    ) -> impl std::future::Future<
12946        Output = crate::Result<crate::Response<crate::model::TargetPoolAggregatedList>>,
12947    > + Send {
12948        gaxi::unimplemented::unimplemented_stub()
12949    }
12950
12951    /// Implements [super::client::TargetPools::delete].
12952    fn delete(
12953        &self,
12954        _req: crate::model::target_pools::DeleteRequest,
12955        _options: crate::RequestOptions,
12956    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12957    {
12958        gaxi::unimplemented::unimplemented_stub()
12959    }
12960
12961    /// Implements [super::client::TargetPools::get].
12962    fn get(
12963        &self,
12964        _req: crate::model::target_pools::GetRequest,
12965        _options: crate::RequestOptions,
12966    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::TargetPool>>> + Send
12967    {
12968        gaxi::unimplemented::unimplemented_stub()
12969    }
12970
12971    /// Implements [super::client::TargetPools::get_health].
12972    fn get_health(
12973        &self,
12974        _req: crate::model::target_pools::GetHealthRequest,
12975        _options: crate::RequestOptions,
12976    ) -> impl std::future::Future<
12977        Output = crate::Result<crate::Response<crate::model::TargetPoolInstanceHealth>>,
12978    > + Send {
12979        gaxi::unimplemented::unimplemented_stub()
12980    }
12981
12982    /// Implements [super::client::TargetPools::insert].
12983    fn insert(
12984        &self,
12985        _req: crate::model::target_pools::InsertRequest,
12986        _options: crate::RequestOptions,
12987    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12988    {
12989        gaxi::unimplemented::unimplemented_stub()
12990    }
12991
12992    /// Implements [super::client::TargetPools::list].
12993    fn list(
12994        &self,
12995        _req: crate::model::target_pools::ListRequest,
12996        _options: crate::RequestOptions,
12997    ) -> impl std::future::Future<
12998        Output = crate::Result<crate::Response<crate::model::TargetPoolList>>,
12999    > + Send {
13000        gaxi::unimplemented::unimplemented_stub()
13001    }
13002
13003    /// Implements [super::client::TargetPools::remove_health_check].
13004    fn remove_health_check(
13005        &self,
13006        _req: crate::model::target_pools::RemoveHealthCheckRequest,
13007        _options: crate::RequestOptions,
13008    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13009    {
13010        gaxi::unimplemented::unimplemented_stub()
13011    }
13012
13013    /// Implements [super::client::TargetPools::remove_instance].
13014    fn remove_instance(
13015        &self,
13016        _req: crate::model::target_pools::RemoveInstanceRequest,
13017        _options: crate::RequestOptions,
13018    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13019    {
13020        gaxi::unimplemented::unimplemented_stub()
13021    }
13022
13023    /// Implements [super::client::TargetPools::set_backup].
13024    fn set_backup(
13025        &self,
13026        _req: crate::model::target_pools::SetBackupRequest,
13027        _options: crate::RequestOptions,
13028    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13029    {
13030        gaxi::unimplemented::unimplemented_stub()
13031    }
13032
13033    /// Implements [super::client::TargetPools::set_security_policy].
13034    fn set_security_policy(
13035        &self,
13036        _req: crate::model::target_pools::SetSecurityPolicyRequest,
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::TargetPools::test_iam_permissions].
13044    fn test_iam_permissions(
13045        &self,
13046        _req: crate::model::target_pools::TestIamPermissionsRequest,
13047        _options: crate::RequestOptions,
13048    ) -> impl std::future::Future<
13049        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13050    > + Send {
13051        gaxi::unimplemented::unimplemented_stub()
13052    }
13053
13054    /// Implements [super::client::TargetPools::get_operation].
13055    fn get_operation(
13056        &self,
13057        _req: crate::model::region_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::TargetSslProxies].
13088///
13089/// Application developers may need to implement this trait to mock
13090/// `client::TargetSslProxies`.  In other use-cases, application developers only
13091/// use `client::TargetSslProxies` 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 = "target-ssl-proxies")]
13099#[cfg_attr(docsrs, doc(cfg(feature = "target-ssl-proxies")))]
13100pub trait TargetSslProxies: std::fmt::Debug + Send + Sync {
13101    /// Implements [super::client::TargetSslProxies::delete].
13102    fn delete(
13103        &self,
13104        _req: crate::model::target_ssl_proxies::DeleteRequest,
13105        _options: crate::RequestOptions,
13106    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13107    {
13108        gaxi::unimplemented::unimplemented_stub()
13109    }
13110
13111    /// Implements [super::client::TargetSslProxies::get].
13112    fn get(
13113        &self,
13114        _req: crate::model::target_ssl_proxies::GetRequest,
13115        _options: crate::RequestOptions,
13116    ) -> impl std::future::Future<
13117        Output = crate::Result<crate::Response<crate::model::TargetSslProxy>>,
13118    > + Send {
13119        gaxi::unimplemented::unimplemented_stub()
13120    }
13121
13122    /// Implements [super::client::TargetSslProxies::insert].
13123    fn insert(
13124        &self,
13125        _req: crate::model::target_ssl_proxies::InsertRequest,
13126        _options: crate::RequestOptions,
13127    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13128    {
13129        gaxi::unimplemented::unimplemented_stub()
13130    }
13131
13132    /// Implements [super::client::TargetSslProxies::list].
13133    fn list(
13134        &self,
13135        _req: crate::model::target_ssl_proxies::ListRequest,
13136        _options: crate::RequestOptions,
13137    ) -> impl std::future::Future<
13138        Output = crate::Result<crate::Response<crate::model::TargetSslProxyList>>,
13139    > + Send {
13140        gaxi::unimplemented::unimplemented_stub()
13141    }
13142
13143    /// Implements [super::client::TargetSslProxies::set_backend_service].
13144    fn set_backend_service(
13145        &self,
13146        _req: crate::model::target_ssl_proxies::SetBackendServiceRequest,
13147        _options: crate::RequestOptions,
13148    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13149    {
13150        gaxi::unimplemented::unimplemented_stub()
13151    }
13152
13153    /// Implements [super::client::TargetSslProxies::set_certificate_map].
13154    fn set_certificate_map(
13155        &self,
13156        _req: crate::model::target_ssl_proxies::SetCertificateMapRequest,
13157        _options: crate::RequestOptions,
13158    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13159    {
13160        gaxi::unimplemented::unimplemented_stub()
13161    }
13162
13163    /// Implements [super::client::TargetSslProxies::set_proxy_header].
13164    fn set_proxy_header(
13165        &self,
13166        _req: crate::model::target_ssl_proxies::SetProxyHeaderRequest,
13167        _options: crate::RequestOptions,
13168    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13169    {
13170        gaxi::unimplemented::unimplemented_stub()
13171    }
13172
13173    /// Implements [super::client::TargetSslProxies::set_ssl_certificates].
13174    fn set_ssl_certificates(
13175        &self,
13176        _req: crate::model::target_ssl_proxies::SetSslCertificatesRequest,
13177        _options: crate::RequestOptions,
13178    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13179    {
13180        gaxi::unimplemented::unimplemented_stub()
13181    }
13182
13183    /// Implements [super::client::TargetSslProxies::set_ssl_policy].
13184    fn set_ssl_policy(
13185        &self,
13186        _req: crate::model::target_ssl_proxies::SetSslPolicyRequest,
13187        _options: crate::RequestOptions,
13188    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13189    {
13190        gaxi::unimplemented::unimplemented_stub()
13191    }
13192
13193    /// Implements [super::client::TargetSslProxies::test_iam_permissions].
13194    fn test_iam_permissions(
13195        &self,
13196        _req: crate::model::target_ssl_proxies::TestIamPermissionsRequest,
13197        _options: crate::RequestOptions,
13198    ) -> impl std::future::Future<
13199        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13200    > + Send {
13201        gaxi::unimplemented::unimplemented_stub()
13202    }
13203
13204    /// Implements [super::client::TargetSslProxies::get_operation].
13205    fn get_operation(
13206        &self,
13207        _req: crate::model::global_operations::GetRequest,
13208        _options: crate::RequestOptions,
13209    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13210    {
13211        gaxi::unimplemented::unimplemented_stub()
13212    }
13213
13214    /// Returns the polling error policy.
13215    ///
13216    /// When mocking, this method is typically irrelevant. Do not try to verify
13217    /// it is called by your mocks.
13218    fn get_polling_error_policy(
13219        &self,
13220        _options: &crate::RequestOptions,
13221    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13222        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13223    }
13224
13225    /// Returns the polling backoff policy.
13226    ///
13227    /// When mocking, this method is typically irrelevant. Do not try to verify
13228    /// it is called by your mocks.
13229    fn get_polling_backoff_policy(
13230        &self,
13231        _options: &crate::RequestOptions,
13232    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13233        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13234    }
13235}
13236
13237/// Defines the trait used to implement [super::client::TargetTcpProxies].
13238///
13239/// Application developers may need to implement this trait to mock
13240/// `client::TargetTcpProxies`.  In other use-cases, application developers only
13241/// use `client::TargetTcpProxies` and need not be concerned with this trait or
13242/// its implementations.
13243///
13244/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13245/// too. To avoid breaking applications the trait provides a default
13246/// implementation of each method. Most of these implementations just return an
13247/// error.
13248#[cfg(feature = "target-tcp-proxies")]
13249#[cfg_attr(docsrs, doc(cfg(feature = "target-tcp-proxies")))]
13250pub trait TargetTcpProxies: std::fmt::Debug + Send + Sync {
13251    /// Implements [super::client::TargetTcpProxies::aggregated_list].
13252    fn aggregated_list(
13253        &self,
13254        _req: crate::model::target_tcp_proxies::AggregatedListRequest,
13255        _options: crate::RequestOptions,
13256    ) -> impl std::future::Future<
13257        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyAggregatedList>>,
13258    > + Send {
13259        gaxi::unimplemented::unimplemented_stub()
13260    }
13261
13262    /// Implements [super::client::TargetTcpProxies::delete].
13263    fn delete(
13264        &self,
13265        _req: crate::model::target_tcp_proxies::DeleteRequest,
13266        _options: crate::RequestOptions,
13267    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13268    {
13269        gaxi::unimplemented::unimplemented_stub()
13270    }
13271
13272    /// Implements [super::client::TargetTcpProxies::get].
13273    fn get(
13274        &self,
13275        _req: crate::model::target_tcp_proxies::GetRequest,
13276        _options: crate::RequestOptions,
13277    ) -> impl std::future::Future<
13278        Output = crate::Result<crate::Response<crate::model::TargetTcpProxy>>,
13279    > + Send {
13280        gaxi::unimplemented::unimplemented_stub()
13281    }
13282
13283    /// Implements [super::client::TargetTcpProxies::insert].
13284    fn insert(
13285        &self,
13286        _req: crate::model::target_tcp_proxies::InsertRequest,
13287        _options: crate::RequestOptions,
13288    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13289    {
13290        gaxi::unimplemented::unimplemented_stub()
13291    }
13292
13293    /// Implements [super::client::TargetTcpProxies::list].
13294    fn list(
13295        &self,
13296        _req: crate::model::target_tcp_proxies::ListRequest,
13297        _options: crate::RequestOptions,
13298    ) -> impl std::future::Future<
13299        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyList>>,
13300    > + Send {
13301        gaxi::unimplemented::unimplemented_stub()
13302    }
13303
13304    /// Implements [super::client::TargetTcpProxies::set_backend_service].
13305    fn set_backend_service(
13306        &self,
13307        _req: crate::model::target_tcp_proxies::SetBackendServiceRequest,
13308        _options: crate::RequestOptions,
13309    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13310    {
13311        gaxi::unimplemented::unimplemented_stub()
13312    }
13313
13314    /// Implements [super::client::TargetTcpProxies::set_proxy_header].
13315    fn set_proxy_header(
13316        &self,
13317        _req: crate::model::target_tcp_proxies::SetProxyHeaderRequest,
13318        _options: crate::RequestOptions,
13319    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13320    {
13321        gaxi::unimplemented::unimplemented_stub()
13322    }
13323
13324    /// Implements [super::client::TargetTcpProxies::test_iam_permissions].
13325    fn test_iam_permissions(
13326        &self,
13327        _req: crate::model::target_tcp_proxies::TestIamPermissionsRequest,
13328        _options: crate::RequestOptions,
13329    ) -> impl std::future::Future<
13330        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13331    > + Send {
13332        gaxi::unimplemented::unimplemented_stub()
13333    }
13334
13335    /// Implements [super::client::TargetTcpProxies::get_operation].
13336    fn get_operation(
13337        &self,
13338        _req: crate::model::global_operations::GetRequest,
13339        _options: crate::RequestOptions,
13340    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13341    {
13342        gaxi::unimplemented::unimplemented_stub()
13343    }
13344
13345    /// Returns the polling error policy.
13346    ///
13347    /// When mocking, this method is typically irrelevant. Do not try to verify
13348    /// it is called by your mocks.
13349    fn get_polling_error_policy(
13350        &self,
13351        _options: &crate::RequestOptions,
13352    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13353        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13354    }
13355
13356    /// Returns the polling backoff policy.
13357    ///
13358    /// When mocking, this method is typically irrelevant. Do not try to verify
13359    /// it is called by your mocks.
13360    fn get_polling_backoff_policy(
13361        &self,
13362        _options: &crate::RequestOptions,
13363    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13364        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13365    }
13366}
13367
13368/// Defines the trait used to implement [super::client::TargetVpnGateways].
13369///
13370/// Application developers may need to implement this trait to mock
13371/// `client::TargetVpnGateways`.  In other use-cases, application developers only
13372/// use `client::TargetVpnGateways` and need not be concerned with this trait or
13373/// its implementations.
13374///
13375/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13376/// too. To avoid breaking applications the trait provides a default
13377/// implementation of each method. Most of these implementations just return an
13378/// error.
13379#[cfg(feature = "target-vpn-gateways")]
13380#[cfg_attr(docsrs, doc(cfg(feature = "target-vpn-gateways")))]
13381pub trait TargetVpnGateways: std::fmt::Debug + Send + Sync {
13382    /// Implements [super::client::TargetVpnGateways::aggregated_list].
13383    fn aggregated_list(
13384        &self,
13385        _req: crate::model::target_vpn_gateways::AggregatedListRequest,
13386        _options: crate::RequestOptions,
13387    ) -> impl std::future::Future<
13388        Output = crate::Result<crate::Response<crate::model::TargetVpnGatewayAggregatedList>>,
13389    > + Send {
13390        gaxi::unimplemented::unimplemented_stub()
13391    }
13392
13393    /// Implements [super::client::TargetVpnGateways::delete].
13394    fn delete(
13395        &self,
13396        _req: crate::model::target_vpn_gateways::DeleteRequest,
13397        _options: crate::RequestOptions,
13398    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13399    {
13400        gaxi::unimplemented::unimplemented_stub()
13401    }
13402
13403    /// Implements [super::client::TargetVpnGateways::get].
13404    fn get(
13405        &self,
13406        _req: crate::model::target_vpn_gateways::GetRequest,
13407        _options: crate::RequestOptions,
13408    ) -> impl std::future::Future<
13409        Output = crate::Result<crate::Response<crate::model::TargetVpnGateway>>,
13410    > + Send {
13411        gaxi::unimplemented::unimplemented_stub()
13412    }
13413
13414    /// Implements [super::client::TargetVpnGateways::insert].
13415    fn insert(
13416        &self,
13417        _req: crate::model::target_vpn_gateways::InsertRequest,
13418        _options: crate::RequestOptions,
13419    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13420    {
13421        gaxi::unimplemented::unimplemented_stub()
13422    }
13423
13424    /// Implements [super::client::TargetVpnGateways::list].
13425    fn list(
13426        &self,
13427        _req: crate::model::target_vpn_gateways::ListRequest,
13428        _options: crate::RequestOptions,
13429    ) -> impl std::future::Future<
13430        Output = crate::Result<crate::Response<crate::model::TargetVpnGatewayList>>,
13431    > + Send {
13432        gaxi::unimplemented::unimplemented_stub()
13433    }
13434
13435    /// Implements [super::client::TargetVpnGateways::set_labels].
13436    fn set_labels(
13437        &self,
13438        _req: crate::model::target_vpn_gateways::SetLabelsRequest,
13439        _options: crate::RequestOptions,
13440    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13441    {
13442        gaxi::unimplemented::unimplemented_stub()
13443    }
13444
13445    /// Implements [super::client::TargetVpnGateways::get_operation].
13446    fn get_operation(
13447        &self,
13448        _req: crate::model::region_operations::GetRequest,
13449        _options: crate::RequestOptions,
13450    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13451    {
13452        gaxi::unimplemented::unimplemented_stub()
13453    }
13454
13455    /// Returns the polling error policy.
13456    ///
13457    /// When mocking, this method is typically irrelevant. Do not try to verify
13458    /// it is called by your mocks.
13459    fn get_polling_error_policy(
13460        &self,
13461        _options: &crate::RequestOptions,
13462    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13463        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13464    }
13465
13466    /// Returns the polling backoff policy.
13467    ///
13468    /// When mocking, this method is typically irrelevant. Do not try to verify
13469    /// it is called by your mocks.
13470    fn get_polling_backoff_policy(
13471        &self,
13472        _options: &crate::RequestOptions,
13473    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13474        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13475    }
13476}
13477
13478/// Defines the trait used to implement [super::client::UrlMaps].
13479///
13480/// Application developers may need to implement this trait to mock
13481/// `client::UrlMaps`.  In other use-cases, application developers only
13482/// use `client::UrlMaps` and need not be concerned with this trait or
13483/// its implementations.
13484///
13485/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13486/// too. To avoid breaking applications the trait provides a default
13487/// implementation of each method. Most of these implementations just return an
13488/// error.
13489#[cfg(feature = "url-maps")]
13490#[cfg_attr(docsrs, doc(cfg(feature = "url-maps")))]
13491pub trait UrlMaps: std::fmt::Debug + Send + Sync {
13492    /// Implements [super::client::UrlMaps::aggregated_list].
13493    fn aggregated_list(
13494        &self,
13495        _req: crate::model::url_maps::AggregatedListRequest,
13496        _options: crate::RequestOptions,
13497    ) -> impl std::future::Future<
13498        Output = crate::Result<crate::Response<crate::model::UrlMapsAggregatedList>>,
13499    > + Send {
13500        gaxi::unimplemented::unimplemented_stub()
13501    }
13502
13503    /// Implements [super::client::UrlMaps::delete].
13504    fn delete(
13505        &self,
13506        _req: crate::model::url_maps::DeleteRequest,
13507        _options: crate::RequestOptions,
13508    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13509    {
13510        gaxi::unimplemented::unimplemented_stub()
13511    }
13512
13513    /// Implements [super::client::UrlMaps::get].
13514    fn get(
13515        &self,
13516        _req: crate::model::url_maps::GetRequest,
13517        _options: crate::RequestOptions,
13518    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMap>>> + Send
13519    {
13520        gaxi::unimplemented::unimplemented_stub()
13521    }
13522
13523    /// Implements [super::client::UrlMaps::insert].
13524    fn insert(
13525        &self,
13526        _req: crate::model::url_maps::InsertRequest,
13527        _options: crate::RequestOptions,
13528    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13529    {
13530        gaxi::unimplemented::unimplemented_stub()
13531    }
13532
13533    /// Implements [super::client::UrlMaps::invalidate_cache].
13534    fn invalidate_cache(
13535        &self,
13536        _req: crate::model::url_maps::InvalidateCacheRequest,
13537        _options: crate::RequestOptions,
13538    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13539    {
13540        gaxi::unimplemented::unimplemented_stub()
13541    }
13542
13543    /// Implements [super::client::UrlMaps::list].
13544    fn list(
13545        &self,
13546        _req: crate::model::url_maps::ListRequest,
13547        _options: crate::RequestOptions,
13548    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMapList>>> + Send
13549    {
13550        gaxi::unimplemented::unimplemented_stub()
13551    }
13552
13553    /// Implements [super::client::UrlMaps::patch].
13554    fn patch(
13555        &self,
13556        _req: crate::model::url_maps::PatchRequest,
13557        _options: crate::RequestOptions,
13558    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13559    {
13560        gaxi::unimplemented::unimplemented_stub()
13561    }
13562
13563    /// Implements [super::client::UrlMaps::test_iam_permissions].
13564    fn test_iam_permissions(
13565        &self,
13566        _req: crate::model::url_maps::TestIamPermissionsRequest,
13567        _options: crate::RequestOptions,
13568    ) -> impl std::future::Future<
13569        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13570    > + Send {
13571        gaxi::unimplemented::unimplemented_stub()
13572    }
13573
13574    /// Implements [super::client::UrlMaps::update].
13575    fn update(
13576        &self,
13577        _req: crate::model::url_maps::UpdateRequest,
13578        _options: crate::RequestOptions,
13579    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13580    {
13581        gaxi::unimplemented::unimplemented_stub()
13582    }
13583
13584    /// Implements [super::client::UrlMaps::validate].
13585    fn validate(
13586        &self,
13587        _req: crate::model::url_maps::ValidateRequest,
13588        _options: crate::RequestOptions,
13589    ) -> impl std::future::Future<
13590        Output = crate::Result<crate::Response<crate::model::UrlMapsValidateResponse>>,
13591    > + Send {
13592        gaxi::unimplemented::unimplemented_stub()
13593    }
13594
13595    /// Implements [super::client::UrlMaps::get_operation].
13596    fn get_operation(
13597        &self,
13598        _req: crate::model::global_operations::GetRequest,
13599        _options: crate::RequestOptions,
13600    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13601    {
13602        gaxi::unimplemented::unimplemented_stub()
13603    }
13604
13605    /// Returns the polling error policy.
13606    ///
13607    /// When mocking, this method is typically irrelevant. Do not try to verify
13608    /// it is called by your mocks.
13609    fn get_polling_error_policy(
13610        &self,
13611        _options: &crate::RequestOptions,
13612    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13613        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13614    }
13615
13616    /// Returns the polling backoff policy.
13617    ///
13618    /// When mocking, this method is typically irrelevant. Do not try to verify
13619    /// it is called by your mocks.
13620    fn get_polling_backoff_policy(
13621        &self,
13622        _options: &crate::RequestOptions,
13623    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13624        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13625    }
13626}
13627
13628/// Defines the trait used to implement [super::client::VpnGateways].
13629///
13630/// Application developers may need to implement this trait to mock
13631/// `client::VpnGateways`.  In other use-cases, application developers only
13632/// use `client::VpnGateways` and need not be concerned with this trait or
13633/// its implementations.
13634///
13635/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13636/// too. To avoid breaking applications the trait provides a default
13637/// implementation of each method. Most of these implementations just return an
13638/// error.
13639#[cfg(feature = "vpn-gateways")]
13640#[cfg_attr(docsrs, doc(cfg(feature = "vpn-gateways")))]
13641pub trait VpnGateways: std::fmt::Debug + Send + Sync {
13642    /// Implements [super::client::VpnGateways::aggregated_list].
13643    fn aggregated_list(
13644        &self,
13645        _req: crate::model::vpn_gateways::AggregatedListRequest,
13646        _options: crate::RequestOptions,
13647    ) -> impl std::future::Future<
13648        Output = crate::Result<crate::Response<crate::model::VpnGatewayAggregatedList>>,
13649    > + Send {
13650        gaxi::unimplemented::unimplemented_stub()
13651    }
13652
13653    /// Implements [super::client::VpnGateways::delete].
13654    fn delete(
13655        &self,
13656        _req: crate::model::vpn_gateways::DeleteRequest,
13657        _options: crate::RequestOptions,
13658    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13659    {
13660        gaxi::unimplemented::unimplemented_stub()
13661    }
13662
13663    /// Implements [super::client::VpnGateways::get].
13664    fn get(
13665        &self,
13666        _req: crate::model::vpn_gateways::GetRequest,
13667        _options: crate::RequestOptions,
13668    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::VpnGateway>>> + Send
13669    {
13670        gaxi::unimplemented::unimplemented_stub()
13671    }
13672
13673    /// Implements [super::client::VpnGateways::get_status].
13674    fn get_status(
13675        &self,
13676        _req: crate::model::vpn_gateways::GetStatusRequest,
13677        _options: crate::RequestOptions,
13678    ) -> impl std::future::Future<
13679        Output = crate::Result<crate::Response<crate::model::VpnGatewaysGetStatusResponse>>,
13680    > + Send {
13681        gaxi::unimplemented::unimplemented_stub()
13682    }
13683
13684    /// Implements [super::client::VpnGateways::insert].
13685    fn insert(
13686        &self,
13687        _req: crate::model::vpn_gateways::InsertRequest,
13688        _options: crate::RequestOptions,
13689    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13690    {
13691        gaxi::unimplemented::unimplemented_stub()
13692    }
13693
13694    /// Implements [super::client::VpnGateways::list].
13695    fn list(
13696        &self,
13697        _req: crate::model::vpn_gateways::ListRequest,
13698        _options: crate::RequestOptions,
13699    ) -> impl std::future::Future<
13700        Output = crate::Result<crate::Response<crate::model::VpnGatewayList>>,
13701    > + Send {
13702        gaxi::unimplemented::unimplemented_stub()
13703    }
13704
13705    /// Implements [super::client::VpnGateways::set_labels].
13706    fn set_labels(
13707        &self,
13708        _req: crate::model::vpn_gateways::SetLabelsRequest,
13709        _options: crate::RequestOptions,
13710    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13711    {
13712        gaxi::unimplemented::unimplemented_stub()
13713    }
13714
13715    /// Implements [super::client::VpnGateways::test_iam_permissions].
13716    fn test_iam_permissions(
13717        &self,
13718        _req: crate::model::vpn_gateways::TestIamPermissionsRequest,
13719        _options: crate::RequestOptions,
13720    ) -> impl std::future::Future<
13721        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13722    > + Send {
13723        gaxi::unimplemented::unimplemented_stub()
13724    }
13725
13726    /// Implements [super::client::VpnGateways::get_operation].
13727    fn get_operation(
13728        &self,
13729        _req: crate::model::region_operations::GetRequest,
13730        _options: crate::RequestOptions,
13731    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13732    {
13733        gaxi::unimplemented::unimplemented_stub()
13734    }
13735
13736    /// Returns the polling error policy.
13737    ///
13738    /// When mocking, this method is typically irrelevant. Do not try to verify
13739    /// it is called by your mocks.
13740    fn get_polling_error_policy(
13741        &self,
13742        _options: &crate::RequestOptions,
13743    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13744        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13745    }
13746
13747    /// Returns the polling backoff policy.
13748    ///
13749    /// When mocking, this method is typically irrelevant. Do not try to verify
13750    /// it is called by your mocks.
13751    fn get_polling_backoff_policy(
13752        &self,
13753        _options: &crate::RequestOptions,
13754    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13755        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13756    }
13757}
13758
13759/// Defines the trait used to implement [super::client::VpnTunnels].
13760///
13761/// Application developers may need to implement this trait to mock
13762/// `client::VpnTunnels`.  In other use-cases, application developers only
13763/// use `client::VpnTunnels` and need not be concerned with this trait or
13764/// its implementations.
13765///
13766/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13767/// too. To avoid breaking applications the trait provides a default
13768/// implementation of each method. Most of these implementations just return an
13769/// error.
13770#[cfg(feature = "vpn-tunnels")]
13771#[cfg_attr(docsrs, doc(cfg(feature = "vpn-tunnels")))]
13772pub trait VpnTunnels: std::fmt::Debug + Send + Sync {
13773    /// Implements [super::client::VpnTunnels::aggregated_list].
13774    fn aggregated_list(
13775        &self,
13776        _req: crate::model::vpn_tunnels::AggregatedListRequest,
13777        _options: crate::RequestOptions,
13778    ) -> impl std::future::Future<
13779        Output = crate::Result<crate::Response<crate::model::VpnTunnelAggregatedList>>,
13780    > + Send {
13781        gaxi::unimplemented::unimplemented_stub()
13782    }
13783
13784    /// Implements [super::client::VpnTunnels::delete].
13785    fn delete(
13786        &self,
13787        _req: crate::model::vpn_tunnels::DeleteRequest,
13788        _options: crate::RequestOptions,
13789    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13790    {
13791        gaxi::unimplemented::unimplemented_stub()
13792    }
13793
13794    /// Implements [super::client::VpnTunnels::get].
13795    fn get(
13796        &self,
13797        _req: crate::model::vpn_tunnels::GetRequest,
13798        _options: crate::RequestOptions,
13799    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::VpnTunnel>>> + Send
13800    {
13801        gaxi::unimplemented::unimplemented_stub()
13802    }
13803
13804    /// Implements [super::client::VpnTunnels::insert].
13805    fn insert(
13806        &self,
13807        _req: crate::model::vpn_tunnels::InsertRequest,
13808        _options: crate::RequestOptions,
13809    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13810    {
13811        gaxi::unimplemented::unimplemented_stub()
13812    }
13813
13814    /// Implements [super::client::VpnTunnels::list].
13815    fn list(
13816        &self,
13817        _req: crate::model::vpn_tunnels::ListRequest,
13818        _options: crate::RequestOptions,
13819    ) -> impl std::future::Future<
13820        Output = crate::Result<crate::Response<crate::model::VpnTunnelList>>,
13821    > + Send {
13822        gaxi::unimplemented::unimplemented_stub()
13823    }
13824
13825    /// Implements [super::client::VpnTunnels::set_labels].
13826    fn set_labels(
13827        &self,
13828        _req: crate::model::vpn_tunnels::SetLabelsRequest,
13829        _options: crate::RequestOptions,
13830    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13831    {
13832        gaxi::unimplemented::unimplemented_stub()
13833    }
13834
13835    /// Implements [super::client::VpnTunnels::get_operation].
13836    fn get_operation(
13837        &self,
13838        _req: crate::model::region_operations::GetRequest,
13839        _options: crate::RequestOptions,
13840    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13841    {
13842        gaxi::unimplemented::unimplemented_stub()
13843    }
13844
13845    /// Returns the polling error policy.
13846    ///
13847    /// When mocking, this method is typically irrelevant. Do not try to verify
13848    /// it is called by your mocks.
13849    fn get_polling_error_policy(
13850        &self,
13851        _options: &crate::RequestOptions,
13852    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13853        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13854    }
13855
13856    /// Returns the polling backoff policy.
13857    ///
13858    /// When mocking, this method is typically irrelevant. Do not try to verify
13859    /// it is called by your mocks.
13860    fn get_polling_backoff_policy(
13861        &self,
13862        _options: &crate::RequestOptions,
13863    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13864        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13865    }
13866}
13867
13868/// Defines the trait used to implement [super::client::WireGroups].
13869///
13870/// Application developers may need to implement this trait to mock
13871/// `client::WireGroups`.  In other use-cases, application developers only
13872/// use `client::WireGroups` and need not be concerned with this trait or
13873/// its implementations.
13874///
13875/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13876/// too. To avoid breaking applications the trait provides a default
13877/// implementation of each method. Most of these implementations just return an
13878/// error.
13879#[cfg(feature = "wire-groups")]
13880#[cfg_attr(docsrs, doc(cfg(feature = "wire-groups")))]
13881pub trait WireGroups: std::fmt::Debug + Send + Sync {
13882    /// Implements [super::client::WireGroups::delete].
13883    fn delete(
13884        &self,
13885        _req: crate::model::wire_groups::DeleteRequest,
13886        _options: crate::RequestOptions,
13887    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13888    {
13889        gaxi::unimplemented::unimplemented_stub()
13890    }
13891
13892    /// Implements [super::client::WireGroups::get].
13893    fn get(
13894        &self,
13895        _req: crate::model::wire_groups::GetRequest,
13896        _options: crate::RequestOptions,
13897    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::WireGroup>>> + Send
13898    {
13899        gaxi::unimplemented::unimplemented_stub()
13900    }
13901
13902    /// Implements [super::client::WireGroups::insert].
13903    fn insert(
13904        &self,
13905        _req: crate::model::wire_groups::InsertRequest,
13906        _options: crate::RequestOptions,
13907    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13908    {
13909        gaxi::unimplemented::unimplemented_stub()
13910    }
13911
13912    /// Implements [super::client::WireGroups::list].
13913    fn list(
13914        &self,
13915        _req: crate::model::wire_groups::ListRequest,
13916        _options: crate::RequestOptions,
13917    ) -> impl std::future::Future<
13918        Output = crate::Result<crate::Response<crate::model::WireGroupList>>,
13919    > + Send {
13920        gaxi::unimplemented::unimplemented_stub()
13921    }
13922
13923    /// Implements [super::client::WireGroups::patch].
13924    fn patch(
13925        &self,
13926        _req: crate::model::wire_groups::PatchRequest,
13927        _options: crate::RequestOptions,
13928    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13929    {
13930        gaxi::unimplemented::unimplemented_stub()
13931    }
13932
13933    /// Implements [super::client::WireGroups::get_operation].
13934    fn get_operation(
13935        &self,
13936        _req: crate::model::global_operations::GetRequest,
13937        _options: crate::RequestOptions,
13938    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13939    {
13940        gaxi::unimplemented::unimplemented_stub()
13941    }
13942
13943    /// Returns the polling error policy.
13944    ///
13945    /// When mocking, this method is typically irrelevant. Do not try to verify
13946    /// it is called by your mocks.
13947    fn get_polling_error_policy(
13948        &self,
13949        _options: &crate::RequestOptions,
13950    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13951        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13952    }
13953
13954    /// Returns the polling backoff policy.
13955    ///
13956    /// When mocking, this method is typically irrelevant. Do not try to verify
13957    /// it is called by your mocks.
13958    fn get_polling_backoff_policy(
13959        &self,
13960        _options: &crate::RequestOptions,
13961    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13962        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13963    }
13964}
13965
13966/// Defines the trait used to implement [super::client::ZoneOperations].
13967///
13968/// Application developers may need to implement this trait to mock
13969/// `client::ZoneOperations`.  In other use-cases, application developers only
13970/// use `client::ZoneOperations` and need not be concerned with this trait or
13971/// its implementations.
13972///
13973/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13974/// too. To avoid breaking applications the trait provides a default
13975/// implementation of each method. Most of these implementations just return an
13976/// error.
13977#[cfg(feature = "zone-operations")]
13978#[cfg_attr(docsrs, doc(cfg(feature = "zone-operations")))]
13979pub trait ZoneOperations: std::fmt::Debug + Send + Sync {
13980    /// Implements [super::client::ZoneOperations::delete].
13981    fn delete(
13982        &self,
13983        _req: crate::model::zone_operations::DeleteRequest,
13984        _options: crate::RequestOptions,
13985    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
13986        gaxi::unimplemented::unimplemented_stub()
13987    }
13988
13989    /// Implements [super::client::ZoneOperations::get].
13990    fn get(
13991        &self,
13992        _req: crate::model::zone_operations::GetRequest,
13993        _options: crate::RequestOptions,
13994    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13995    {
13996        gaxi::unimplemented::unimplemented_stub()
13997    }
13998
13999    /// Implements [super::client::ZoneOperations::list].
14000    fn list(
14001        &self,
14002        _req: crate::model::zone_operations::ListRequest,
14003        _options: crate::RequestOptions,
14004    ) -> impl std::future::Future<
14005        Output = crate::Result<crate::Response<crate::model::OperationList>>,
14006    > + Send {
14007        gaxi::unimplemented::unimplemented_stub()
14008    }
14009
14010    /// Implements [super::client::ZoneOperations::wait].
14011    fn wait(
14012        &self,
14013        _req: crate::model::zone_operations::WaitRequest,
14014        _options: crate::RequestOptions,
14015    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14016    {
14017        gaxi::unimplemented::unimplemented_stub()
14018    }
14019}
14020
14021/// Defines the trait used to implement [super::client::Zones].
14022///
14023/// Application developers may need to implement this trait to mock
14024/// `client::Zones`.  In other use-cases, application developers only
14025/// use `client::Zones` and need not be concerned with this trait or
14026/// its implementations.
14027///
14028/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14029/// too. To avoid breaking applications the trait provides a default
14030/// implementation of each method. Most of these implementations just return an
14031/// error.
14032#[cfg(feature = "zones")]
14033#[cfg_attr(docsrs, doc(cfg(feature = "zones")))]
14034pub trait Zones: std::fmt::Debug + Send + Sync {
14035    /// Implements [super::client::Zones::get].
14036    fn get(
14037        &self,
14038        _req: crate::model::zones::GetRequest,
14039        _options: crate::RequestOptions,
14040    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Zone>>> + Send
14041    {
14042        gaxi::unimplemented::unimplemented_stub()
14043    }
14044
14045    /// Implements [super::client::Zones::list].
14046    fn list(
14047        &self,
14048        _req: crate::model::zones::ListRequest,
14049        _options: crate::RequestOptions,
14050    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ZoneList>>> + Send
14051    {
14052        gaxi::unimplemented::unimplemented_stub()
14053    }
14054}