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    #[doc(hidden)]
206    /// Returns the poller options.
207    ///
208    /// When mocking, this method is typically irrelevant. Do not try to verify
209    /// it is called by your mocks.
210    fn get_poller_options(
211        &self,
212        _options: &crate::RequestOptions,
213    ) -> google_cloud_lro::PollerOptions {
214        google_cloud_lro::PollerOptions::default()
215    }
216}
217
218/// Defines the trait used to implement [super::client::Advice].
219///
220/// Application developers may need to implement this trait to mock
221/// `client::Advice`.  In other use-cases, application developers only
222/// use `client::Advice` and need not be concerned with this trait or
223/// its implementations.
224///
225/// Services gain new RPCs routinely. Consequently, this trait gains new methods
226/// too. To avoid breaking applications the trait provides a default
227/// implementation of each method. Most of these implementations just return an
228/// error.
229#[cfg(feature = "advice")]
230#[cfg_attr(docsrs, doc(cfg(feature = "advice")))]
231pub trait Advice: std::fmt::Debug + Send + Sync {
232    /// Implements [super::client::Advice::calendar_mode].
233    fn calendar_mode(
234        &self,
235        _req: crate::model::advice::CalendarModeRequest,
236        _options: crate::RequestOptions,
237    ) -> impl std::future::Future<
238        Output = crate::Result<crate::Response<crate::model::CalendarModeAdviceResponse>>,
239    > + Send {
240        gaxi::unimplemented::unimplemented_stub()
241    }
242
243    /// Implements [super::client::Advice::capacity].
244    fn capacity(
245        &self,
246        _req: crate::model::advice::CapacityRequest,
247        _options: crate::RequestOptions,
248    ) -> impl std::future::Future<
249        Output = crate::Result<crate::Response<crate::model::CapacityAdviceResponse>>,
250    > + Send {
251        gaxi::unimplemented::unimplemented_stub()
252    }
253
254    /// Implements [super::client::Advice::capacity_history].
255    fn capacity_history(
256        &self,
257        _req: crate::model::advice::CapacityHistoryRequest,
258        _options: crate::RequestOptions,
259    ) -> impl std::future::Future<
260        Output = crate::Result<crate::Response<crate::model::CapacityHistoryResponse>>,
261    > + Send {
262        gaxi::unimplemented::unimplemented_stub()
263    }
264}
265
266/// Defines the trait used to implement [super::client::Autoscalers].
267///
268/// Application developers may need to implement this trait to mock
269/// `client::Autoscalers`.  In other use-cases, application developers only
270/// use `client::Autoscalers` and need not be concerned with this trait or
271/// its implementations.
272///
273/// Services gain new RPCs routinely. Consequently, this trait gains new methods
274/// too. To avoid breaking applications the trait provides a default
275/// implementation of each method. Most of these implementations just return an
276/// error.
277#[cfg(feature = "autoscalers")]
278#[cfg_attr(docsrs, doc(cfg(feature = "autoscalers")))]
279pub trait Autoscalers: std::fmt::Debug + Send + Sync {
280    /// Implements [super::client::Autoscalers::aggregated_list].
281    fn aggregated_list(
282        &self,
283        _req: crate::model::autoscalers::AggregatedListRequest,
284        _options: crate::RequestOptions,
285    ) -> impl std::future::Future<
286        Output = crate::Result<crate::Response<crate::model::AutoscalerAggregatedList>>,
287    > + Send {
288        gaxi::unimplemented::unimplemented_stub()
289    }
290
291    /// Implements [super::client::Autoscalers::delete].
292    fn delete(
293        &self,
294        _req: crate::model::autoscalers::DeleteRequest,
295        _options: crate::RequestOptions,
296    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
297    {
298        gaxi::unimplemented::unimplemented_stub()
299    }
300
301    /// Implements [super::client::Autoscalers::get].
302    fn get(
303        &self,
304        _req: crate::model::autoscalers::GetRequest,
305        _options: crate::RequestOptions,
306    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Autoscaler>>> + Send
307    {
308        gaxi::unimplemented::unimplemented_stub()
309    }
310
311    /// Implements [super::client::Autoscalers::insert].
312    fn insert(
313        &self,
314        _req: crate::model::autoscalers::InsertRequest,
315        _options: crate::RequestOptions,
316    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
317    {
318        gaxi::unimplemented::unimplemented_stub()
319    }
320
321    /// Implements [super::client::Autoscalers::list].
322    fn list(
323        &self,
324        _req: crate::model::autoscalers::ListRequest,
325        _options: crate::RequestOptions,
326    ) -> impl std::future::Future<
327        Output = crate::Result<crate::Response<crate::model::AutoscalerList>>,
328    > + Send {
329        gaxi::unimplemented::unimplemented_stub()
330    }
331
332    /// Implements [super::client::Autoscalers::patch].
333    fn patch(
334        &self,
335        _req: crate::model::autoscalers::PatchRequest,
336        _options: crate::RequestOptions,
337    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
338    {
339        gaxi::unimplemented::unimplemented_stub()
340    }
341
342    /// Implements [super::client::Autoscalers::test_iam_permissions].
343    fn test_iam_permissions(
344        &self,
345        _req: crate::model::autoscalers::TestIamPermissionsRequest,
346        _options: crate::RequestOptions,
347    ) -> impl std::future::Future<
348        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
349    > + Send {
350        gaxi::unimplemented::unimplemented_stub()
351    }
352
353    /// Implements [super::client::Autoscalers::update].
354    fn update(
355        &self,
356        _req: crate::model::autoscalers::UpdateRequest,
357        _options: crate::RequestOptions,
358    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
359    {
360        gaxi::unimplemented::unimplemented_stub()
361    }
362
363    /// Implements [super::client::Autoscalers::get_operation].
364    fn get_operation(
365        &self,
366        _req: crate::model::zone_operations::GetRequest,
367        _options: crate::RequestOptions,
368    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
369    {
370        gaxi::unimplemented::unimplemented_stub()
371    }
372
373    /// Returns the polling error policy.
374    ///
375    /// When mocking, this method is typically irrelevant. Do not try to verify
376    /// it is called by your mocks.
377    fn get_polling_error_policy(
378        &self,
379        _options: &crate::RequestOptions,
380    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
381        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
382    }
383
384    /// Returns the polling backoff policy.
385    ///
386    /// When mocking, this method is typically irrelevant. Do not try to verify
387    /// it is called by your mocks.
388    fn get_polling_backoff_policy(
389        &self,
390        _options: &crate::RequestOptions,
391    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
392        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
393    }
394
395    #[doc(hidden)]
396    /// Returns the poller options.
397    ///
398    /// When mocking, this method is typically irrelevant. Do not try to verify
399    /// it is called by your mocks.
400    fn get_poller_options(
401        &self,
402        _options: &crate::RequestOptions,
403    ) -> google_cloud_lro::PollerOptions {
404        google_cloud_lro::PollerOptions::default()
405    }
406}
407
408/// Defines the trait used to implement [super::client::BackendBuckets].
409///
410/// Application developers may need to implement this trait to mock
411/// `client::BackendBuckets`.  In other use-cases, application developers only
412/// use `client::BackendBuckets` and need not be concerned with this trait or
413/// its implementations.
414///
415/// Services gain new RPCs routinely. Consequently, this trait gains new methods
416/// too. To avoid breaking applications the trait provides a default
417/// implementation of each method. Most of these implementations just return an
418/// error.
419#[cfg(feature = "backend-buckets")]
420#[cfg_attr(docsrs, doc(cfg(feature = "backend-buckets")))]
421pub trait BackendBuckets: std::fmt::Debug + Send + Sync {
422    /// Implements [super::client::BackendBuckets::add_signed_url_key].
423    fn add_signed_url_key(
424        &self,
425        _req: crate::model::backend_buckets::AddSignedUrlKeyRequest,
426        _options: crate::RequestOptions,
427    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
428    {
429        gaxi::unimplemented::unimplemented_stub()
430    }
431
432    /// Implements [super::client::BackendBuckets::aggregated_list].
433    fn aggregated_list(
434        &self,
435        _req: crate::model::backend_buckets::AggregatedListRequest,
436        _options: crate::RequestOptions,
437    ) -> impl std::future::Future<
438        Output = crate::Result<crate::Response<crate::model::BackendBucketAggregatedList>>,
439    > + Send {
440        gaxi::unimplemented::unimplemented_stub()
441    }
442
443    /// Implements [super::client::BackendBuckets::delete].
444    fn delete(
445        &self,
446        _req: crate::model::backend_buckets::DeleteRequest,
447        _options: crate::RequestOptions,
448    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
449    {
450        gaxi::unimplemented::unimplemented_stub()
451    }
452
453    /// Implements [super::client::BackendBuckets::delete_signed_url_key].
454    fn delete_signed_url_key(
455        &self,
456        _req: crate::model::backend_buckets::DeleteSignedUrlKeyRequest,
457        _options: crate::RequestOptions,
458    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
459    {
460        gaxi::unimplemented::unimplemented_stub()
461    }
462
463    /// Implements [super::client::BackendBuckets::get].
464    fn get(
465        &self,
466        _req: crate::model::backend_buckets::GetRequest,
467        _options: crate::RequestOptions,
468    ) -> impl std::future::Future<
469        Output = crate::Result<crate::Response<crate::model::BackendBucket>>,
470    > + Send {
471        gaxi::unimplemented::unimplemented_stub()
472    }
473
474    /// Implements [super::client::BackendBuckets::get_iam_policy].
475    fn get_iam_policy(
476        &self,
477        _req: crate::model::backend_buckets::GetIamPolicyRequest,
478        _options: crate::RequestOptions,
479    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
480    {
481        gaxi::unimplemented::unimplemented_stub()
482    }
483
484    /// Implements [super::client::BackendBuckets::insert].
485    fn insert(
486        &self,
487        _req: crate::model::backend_buckets::InsertRequest,
488        _options: crate::RequestOptions,
489    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
490    {
491        gaxi::unimplemented::unimplemented_stub()
492    }
493
494    /// Implements [super::client::BackendBuckets::list].
495    fn list(
496        &self,
497        _req: crate::model::backend_buckets::ListRequest,
498        _options: crate::RequestOptions,
499    ) -> impl std::future::Future<
500        Output = crate::Result<crate::Response<crate::model::BackendBucketList>>,
501    > + Send {
502        gaxi::unimplemented::unimplemented_stub()
503    }
504
505    /// Implements [super::client::BackendBuckets::list_usable].
506    fn list_usable(
507        &self,
508        _req: crate::model::backend_buckets::ListUsableRequest,
509        _options: crate::RequestOptions,
510    ) -> impl std::future::Future<
511        Output = crate::Result<crate::Response<crate::model::BackendBucketListUsable>>,
512    > + Send {
513        gaxi::unimplemented::unimplemented_stub()
514    }
515
516    /// Implements [super::client::BackendBuckets::patch].
517    fn patch(
518        &self,
519        _req: crate::model::backend_buckets::PatchRequest,
520        _options: crate::RequestOptions,
521    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
522    {
523        gaxi::unimplemented::unimplemented_stub()
524    }
525
526    /// Implements [super::client::BackendBuckets::set_edge_security_policy].
527    fn set_edge_security_policy(
528        &self,
529        _req: crate::model::backend_buckets::SetEdgeSecurityPolicyRequest,
530        _options: crate::RequestOptions,
531    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
532    {
533        gaxi::unimplemented::unimplemented_stub()
534    }
535
536    /// Implements [super::client::BackendBuckets::set_iam_policy].
537    fn set_iam_policy(
538        &self,
539        _req: crate::model::backend_buckets::SetIamPolicyRequest,
540        _options: crate::RequestOptions,
541    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
542    {
543        gaxi::unimplemented::unimplemented_stub()
544    }
545
546    /// Implements [super::client::BackendBuckets::test_iam_permissions].
547    fn test_iam_permissions(
548        &self,
549        _req: crate::model::backend_buckets::TestIamPermissionsRequest,
550        _options: crate::RequestOptions,
551    ) -> impl std::future::Future<
552        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
553    > + Send {
554        gaxi::unimplemented::unimplemented_stub()
555    }
556
557    /// Implements [super::client::BackendBuckets::update].
558    fn update(
559        &self,
560        _req: crate::model::backend_buckets::UpdateRequest,
561        _options: crate::RequestOptions,
562    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
563    {
564        gaxi::unimplemented::unimplemented_stub()
565    }
566
567    /// Implements [super::client::BackendBuckets::get_operation].
568    fn get_operation(
569        &self,
570        _req: crate::model::global_operations::GetRequest,
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    /// Returns the polling error policy.
578    ///
579    /// When mocking, this method is typically irrelevant. Do not try to verify
580    /// it is called by your mocks.
581    fn get_polling_error_policy(
582        &self,
583        _options: &crate::RequestOptions,
584    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
585        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
586    }
587
588    /// Returns the polling backoff policy.
589    ///
590    /// When mocking, this method is typically irrelevant. Do not try to verify
591    /// it is called by your mocks.
592    fn get_polling_backoff_policy(
593        &self,
594        _options: &crate::RequestOptions,
595    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
596        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
597    }
598
599    #[doc(hidden)]
600    /// Returns the poller options.
601    ///
602    /// When mocking, this method is typically irrelevant. Do not try to verify
603    /// it is called by your mocks.
604    fn get_poller_options(
605        &self,
606        _options: &crate::RequestOptions,
607    ) -> google_cloud_lro::PollerOptions {
608        google_cloud_lro::PollerOptions::default()
609    }
610}
611
612/// Defines the trait used to implement [super::client::BackendServices].
613///
614/// Application developers may need to implement this trait to mock
615/// `client::BackendServices`.  In other use-cases, application developers only
616/// use `client::BackendServices` and need not be concerned with this trait or
617/// its implementations.
618///
619/// Services gain new RPCs routinely. Consequently, this trait gains new methods
620/// too. To avoid breaking applications the trait provides a default
621/// implementation of each method. Most of these implementations just return an
622/// error.
623#[cfg(feature = "backend-services")]
624#[cfg_attr(docsrs, doc(cfg(feature = "backend-services")))]
625pub trait BackendServices: std::fmt::Debug + Send + Sync {
626    /// Implements [super::client::BackendServices::add_signed_url_key].
627    fn add_signed_url_key(
628        &self,
629        _req: crate::model::backend_services::AddSignedUrlKeyRequest,
630        _options: crate::RequestOptions,
631    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
632    {
633        gaxi::unimplemented::unimplemented_stub()
634    }
635
636    /// Implements [super::client::BackendServices::aggregated_list].
637    fn aggregated_list(
638        &self,
639        _req: crate::model::backend_services::AggregatedListRequest,
640        _options: crate::RequestOptions,
641    ) -> impl std::future::Future<
642        Output = crate::Result<crate::Response<crate::model::BackendServiceAggregatedList>>,
643    > + Send {
644        gaxi::unimplemented::unimplemented_stub()
645    }
646
647    /// Implements [super::client::BackendServices::delete].
648    fn delete(
649        &self,
650        _req: crate::model::backend_services::DeleteRequest,
651        _options: crate::RequestOptions,
652    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
653    {
654        gaxi::unimplemented::unimplemented_stub()
655    }
656
657    /// Implements [super::client::BackendServices::delete_signed_url_key].
658    fn delete_signed_url_key(
659        &self,
660        _req: crate::model::backend_services::DeleteSignedUrlKeyRequest,
661        _options: crate::RequestOptions,
662    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
663    {
664        gaxi::unimplemented::unimplemented_stub()
665    }
666
667    /// Implements [super::client::BackendServices::get].
668    fn get(
669        &self,
670        _req: crate::model::backend_services::GetRequest,
671        _options: crate::RequestOptions,
672    ) -> impl std::future::Future<
673        Output = crate::Result<crate::Response<crate::model::BackendService>>,
674    > + Send {
675        gaxi::unimplemented::unimplemented_stub()
676    }
677
678    /// Implements [super::client::BackendServices::get_effective_security_policies].
679    fn get_effective_security_policies(
680        &self,
681        _req: crate::model::backend_services::GetEffectiveSecurityPoliciesRequest,
682        _options: crate::RequestOptions,
683    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
684        gaxi::unimplemented::unimplemented_stub()
685    }
686
687    /// Implements [super::client::BackendServices::get_health].
688    fn get_health(
689        &self,
690        _req: crate::model::backend_services::GetHealthRequest,
691        _options: crate::RequestOptions,
692    ) -> impl std::future::Future<
693        Output = crate::Result<crate::Response<crate::model::BackendServiceGroupHealth>>,
694    > + Send {
695        gaxi::unimplemented::unimplemented_stub()
696    }
697
698    /// Implements [super::client::BackendServices::get_iam_policy].
699    fn get_iam_policy(
700        &self,
701        _req: crate::model::backend_services::GetIamPolicyRequest,
702        _options: crate::RequestOptions,
703    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
704    {
705        gaxi::unimplemented::unimplemented_stub()
706    }
707
708    /// Implements [super::client::BackendServices::insert].
709    fn insert(
710        &self,
711        _req: crate::model::backend_services::InsertRequest,
712        _options: crate::RequestOptions,
713    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
714    {
715        gaxi::unimplemented::unimplemented_stub()
716    }
717
718    /// Implements [super::client::BackendServices::list].
719    fn list(
720        &self,
721        _req: crate::model::backend_services::ListRequest,
722        _options: crate::RequestOptions,
723    ) -> impl std::future::Future<
724        Output = crate::Result<crate::Response<crate::model::BackendServiceList>>,
725    > + Send {
726        gaxi::unimplemented::unimplemented_stub()
727    }
728
729    /// Implements [super::client::BackendServices::list_usable].
730    fn list_usable(
731        &self,
732        _req: crate::model::backend_services::ListUsableRequest,
733        _options: crate::RequestOptions,
734    ) -> impl std::future::Future<
735        Output = crate::Result<crate::Response<crate::model::BackendServiceListUsable>>,
736    > + Send {
737        gaxi::unimplemented::unimplemented_stub()
738    }
739
740    /// Implements [super::client::BackendServices::patch].
741    fn patch(
742        &self,
743        _req: crate::model::backend_services::PatchRequest,
744        _options: crate::RequestOptions,
745    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
746    {
747        gaxi::unimplemented::unimplemented_stub()
748    }
749
750    /// Implements [super::client::BackendServices::set_edge_security_policy].
751    fn set_edge_security_policy(
752        &self,
753        _req: crate::model::backend_services::SetEdgeSecurityPolicyRequest,
754        _options: crate::RequestOptions,
755    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
756    {
757        gaxi::unimplemented::unimplemented_stub()
758    }
759
760    /// Implements [super::client::BackendServices::set_iam_policy].
761    fn set_iam_policy(
762        &self,
763        _req: crate::model::backend_services::SetIamPolicyRequest,
764        _options: crate::RequestOptions,
765    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
766    {
767        gaxi::unimplemented::unimplemented_stub()
768    }
769
770    /// Implements [super::client::BackendServices::set_security_policy].
771    fn set_security_policy(
772        &self,
773        _req: crate::model::backend_services::SetSecurityPolicyRequest,
774        _options: crate::RequestOptions,
775    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
776    {
777        gaxi::unimplemented::unimplemented_stub()
778    }
779
780    /// Implements [super::client::BackendServices::test_iam_permissions].
781    fn test_iam_permissions(
782        &self,
783        _req: crate::model::backend_services::TestIamPermissionsRequest,
784        _options: crate::RequestOptions,
785    ) -> impl std::future::Future<
786        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
787    > + Send {
788        gaxi::unimplemented::unimplemented_stub()
789    }
790
791    /// Implements [super::client::BackendServices::update].
792    fn update(
793        &self,
794        _req: crate::model::backend_services::UpdateRequest,
795        _options: crate::RequestOptions,
796    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
797    {
798        gaxi::unimplemented::unimplemented_stub()
799    }
800
801    /// Implements [super::client::BackendServices::get_operation].
802    fn get_operation(
803        &self,
804        _req: crate::model::global_operations::GetRequest,
805        _options: crate::RequestOptions,
806    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
807    {
808        gaxi::unimplemented::unimplemented_stub()
809    }
810
811    /// Returns the polling error policy.
812    ///
813    /// When mocking, this method is typically irrelevant. Do not try to verify
814    /// it is called by your mocks.
815    fn get_polling_error_policy(
816        &self,
817        _options: &crate::RequestOptions,
818    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
819        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
820    }
821
822    /// Returns the polling backoff policy.
823    ///
824    /// When mocking, this method is typically irrelevant. Do not try to verify
825    /// it is called by your mocks.
826    fn get_polling_backoff_policy(
827        &self,
828        _options: &crate::RequestOptions,
829    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
830        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
831    }
832
833    #[doc(hidden)]
834    /// Returns the poller options.
835    ///
836    /// When mocking, this method is typically irrelevant. Do not try to verify
837    /// it is called by your mocks.
838    fn get_poller_options(
839        &self,
840        _options: &crate::RequestOptions,
841    ) -> google_cloud_lro::PollerOptions {
842        google_cloud_lro::PollerOptions::default()
843    }
844}
845
846/// Defines the trait used to implement [super::client::CrossSiteNetworks].
847///
848/// Application developers may need to implement this trait to mock
849/// `client::CrossSiteNetworks`.  In other use-cases, application developers only
850/// use `client::CrossSiteNetworks` and need not be concerned with this trait or
851/// its implementations.
852///
853/// Services gain new RPCs routinely. Consequently, this trait gains new methods
854/// too. To avoid breaking applications the trait provides a default
855/// implementation of each method. Most of these implementations just return an
856/// error.
857#[cfg(feature = "cross-site-networks")]
858#[cfg_attr(docsrs, doc(cfg(feature = "cross-site-networks")))]
859pub trait CrossSiteNetworks: std::fmt::Debug + Send + Sync {
860    /// Implements [super::client::CrossSiteNetworks::delete].
861    fn delete(
862        &self,
863        _req: crate::model::cross_site_networks::DeleteRequest,
864        _options: crate::RequestOptions,
865    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
866    {
867        gaxi::unimplemented::unimplemented_stub()
868    }
869
870    /// Implements [super::client::CrossSiteNetworks::get].
871    fn get(
872        &self,
873        _req: crate::model::cross_site_networks::GetRequest,
874        _options: crate::RequestOptions,
875    ) -> impl std::future::Future<
876        Output = crate::Result<crate::Response<crate::model::CrossSiteNetwork>>,
877    > + Send {
878        gaxi::unimplemented::unimplemented_stub()
879    }
880
881    /// Implements [super::client::CrossSiteNetworks::insert].
882    fn insert(
883        &self,
884        _req: crate::model::cross_site_networks::InsertRequest,
885        _options: crate::RequestOptions,
886    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
887    {
888        gaxi::unimplemented::unimplemented_stub()
889    }
890
891    /// Implements [super::client::CrossSiteNetworks::list].
892    fn list(
893        &self,
894        _req: crate::model::cross_site_networks::ListRequest,
895        _options: crate::RequestOptions,
896    ) -> impl std::future::Future<
897        Output = crate::Result<crate::Response<crate::model::CrossSiteNetworkList>>,
898    > + Send {
899        gaxi::unimplemented::unimplemented_stub()
900    }
901
902    /// Implements [super::client::CrossSiteNetworks::patch].
903    fn patch(
904        &self,
905        _req: crate::model::cross_site_networks::PatchRequest,
906        _options: crate::RequestOptions,
907    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
908    {
909        gaxi::unimplemented::unimplemented_stub()
910    }
911
912    /// Implements [super::client::CrossSiteNetworks::get_operation].
913    fn get_operation(
914        &self,
915        _req: crate::model::global_operations::GetRequest,
916        _options: crate::RequestOptions,
917    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
918    {
919        gaxi::unimplemented::unimplemented_stub()
920    }
921
922    /// Returns the polling error policy.
923    ///
924    /// When mocking, this method is typically irrelevant. Do not try to verify
925    /// it is called by your mocks.
926    fn get_polling_error_policy(
927        &self,
928        _options: &crate::RequestOptions,
929    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
930        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
931    }
932
933    /// Returns the polling backoff policy.
934    ///
935    /// When mocking, this method is typically irrelevant. Do not try to verify
936    /// it is called by your mocks.
937    fn get_polling_backoff_policy(
938        &self,
939        _options: &crate::RequestOptions,
940    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
941        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
942    }
943
944    #[doc(hidden)]
945    /// Returns the poller options.
946    ///
947    /// When mocking, this method is typically irrelevant. Do not try to verify
948    /// it is called by your mocks.
949    fn get_poller_options(
950        &self,
951        _options: &crate::RequestOptions,
952    ) -> google_cloud_lro::PollerOptions {
953        google_cloud_lro::PollerOptions::default()
954    }
955}
956
957/// Defines the trait used to implement [super::client::DiskTypes].
958///
959/// Application developers may need to implement this trait to mock
960/// `client::DiskTypes`.  In other use-cases, application developers only
961/// use `client::DiskTypes` and need not be concerned with this trait or
962/// its implementations.
963///
964/// Services gain new RPCs routinely. Consequently, this trait gains new methods
965/// too. To avoid breaking applications the trait provides a default
966/// implementation of each method. Most of these implementations just return an
967/// error.
968#[cfg(feature = "disk-types")]
969#[cfg_attr(docsrs, doc(cfg(feature = "disk-types")))]
970pub trait DiskTypes: std::fmt::Debug + Send + Sync {
971    /// Implements [super::client::DiskTypes::aggregated_list].
972    fn aggregated_list(
973        &self,
974        _req: crate::model::disk_types::AggregatedListRequest,
975        _options: crate::RequestOptions,
976    ) -> impl std::future::Future<
977        Output = crate::Result<crate::Response<crate::model::DiskTypeAggregatedList>>,
978    > + Send {
979        gaxi::unimplemented::unimplemented_stub()
980    }
981
982    /// Implements [super::client::DiskTypes::get].
983    fn get(
984        &self,
985        _req: crate::model::disk_types::GetRequest,
986        _options: crate::RequestOptions,
987    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskType>>> + Send
988    {
989        gaxi::unimplemented::unimplemented_stub()
990    }
991
992    /// Implements [super::client::DiskTypes::list].
993    fn list(
994        &self,
995        _req: crate::model::disk_types::ListRequest,
996        _options: crate::RequestOptions,
997    ) -> impl std::future::Future<
998        Output = crate::Result<crate::Response<crate::model::DiskTypeList>>,
999    > + Send {
1000        gaxi::unimplemented::unimplemented_stub()
1001    }
1002}
1003
1004/// Defines the trait used to implement [super::client::Disks].
1005///
1006/// Application developers may need to implement this trait to mock
1007/// `client::Disks`.  In other use-cases, application developers only
1008/// use `client::Disks` and need not be concerned with this trait or
1009/// its implementations.
1010///
1011/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1012/// too. To avoid breaking applications the trait provides a default
1013/// implementation of each method. Most of these implementations just return an
1014/// error.
1015#[cfg(feature = "disks")]
1016#[cfg_attr(docsrs, doc(cfg(feature = "disks")))]
1017pub trait Disks: std::fmt::Debug + Send + Sync {
1018    /// Implements [super::client::Disks::add_resource_policies].
1019    fn add_resource_policies(
1020        &self,
1021        _req: crate::model::disks::AddResourcePoliciesRequest,
1022        _options: crate::RequestOptions,
1023    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1024    {
1025        gaxi::unimplemented::unimplemented_stub()
1026    }
1027
1028    /// Implements [super::client::Disks::aggregated_list].
1029    fn aggregated_list(
1030        &self,
1031        _req: crate::model::disks::AggregatedListRequest,
1032        _options: crate::RequestOptions,
1033    ) -> impl std::future::Future<
1034        Output = crate::Result<crate::Response<crate::model::DiskAggregatedList>>,
1035    > + Send {
1036        gaxi::unimplemented::unimplemented_stub()
1037    }
1038
1039    /// Implements [super::client::Disks::bulk_insert].
1040    fn bulk_insert(
1041        &self,
1042        _req: crate::model::disks::BulkInsertRequest,
1043        _options: crate::RequestOptions,
1044    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1045    {
1046        gaxi::unimplemented::unimplemented_stub()
1047    }
1048
1049    /// Implements [super::client::Disks::bulk_set_labels].
1050    fn bulk_set_labels(
1051        &self,
1052        _req: crate::model::disks::BulkSetLabelsRequest,
1053        _options: crate::RequestOptions,
1054    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1055    {
1056        gaxi::unimplemented::unimplemented_stub()
1057    }
1058
1059    /// Implements [super::client::Disks::create_snapshot].
1060    fn create_snapshot(
1061        &self,
1062        _req: crate::model::disks::CreateSnapshotRequest,
1063        _options: crate::RequestOptions,
1064    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1065    {
1066        gaxi::unimplemented::unimplemented_stub()
1067    }
1068
1069    /// Implements [super::client::Disks::delete].
1070    fn delete(
1071        &self,
1072        _req: crate::model::disks::DeleteRequest,
1073        _options: crate::RequestOptions,
1074    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1075    {
1076        gaxi::unimplemented::unimplemented_stub()
1077    }
1078
1079    /// Implements [super::client::Disks::get].
1080    fn get(
1081        &self,
1082        _req: crate::model::disks::GetRequest,
1083        _options: crate::RequestOptions,
1084    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Disk>>> + Send
1085    {
1086        gaxi::unimplemented::unimplemented_stub()
1087    }
1088
1089    /// Implements [super::client::Disks::get_iam_policy].
1090    fn get_iam_policy(
1091        &self,
1092        _req: crate::model::disks::GetIamPolicyRequest,
1093        _options: crate::RequestOptions,
1094    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1095    {
1096        gaxi::unimplemented::unimplemented_stub()
1097    }
1098
1099    /// Implements [super::client::Disks::insert].
1100    fn insert(
1101        &self,
1102        _req: crate::model::disks::InsertRequest,
1103        _options: crate::RequestOptions,
1104    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1105    {
1106        gaxi::unimplemented::unimplemented_stub()
1107    }
1108
1109    /// Implements [super::client::Disks::list].
1110    fn list(
1111        &self,
1112        _req: crate::model::disks::ListRequest,
1113        _options: crate::RequestOptions,
1114    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskList>>> + Send
1115    {
1116        gaxi::unimplemented::unimplemented_stub()
1117    }
1118
1119    /// Implements [super::client::Disks::remove_resource_policies].
1120    fn remove_resource_policies(
1121        &self,
1122        _req: crate::model::disks::RemoveResourcePoliciesRequest,
1123        _options: crate::RequestOptions,
1124    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1125    {
1126        gaxi::unimplemented::unimplemented_stub()
1127    }
1128
1129    /// Implements [super::client::Disks::resize].
1130    fn resize(
1131        &self,
1132        _req: crate::model::disks::ResizeRequest,
1133        _options: crate::RequestOptions,
1134    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1135    {
1136        gaxi::unimplemented::unimplemented_stub()
1137    }
1138
1139    /// Implements [super::client::Disks::set_iam_policy].
1140    fn set_iam_policy(
1141        &self,
1142        _req: crate::model::disks::SetIamPolicyRequest,
1143        _options: crate::RequestOptions,
1144    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1145    {
1146        gaxi::unimplemented::unimplemented_stub()
1147    }
1148
1149    /// Implements [super::client::Disks::set_labels].
1150    fn set_labels(
1151        &self,
1152        _req: crate::model::disks::SetLabelsRequest,
1153        _options: crate::RequestOptions,
1154    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1155    {
1156        gaxi::unimplemented::unimplemented_stub()
1157    }
1158
1159    /// Implements [super::client::Disks::start_async_replication].
1160    fn start_async_replication(
1161        &self,
1162        _req: crate::model::disks::StartAsyncReplicationRequest,
1163        _options: crate::RequestOptions,
1164    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1165    {
1166        gaxi::unimplemented::unimplemented_stub()
1167    }
1168
1169    /// Implements [super::client::Disks::stop_async_replication].
1170    fn stop_async_replication(
1171        &self,
1172        _req: crate::model::disks::StopAsyncReplicationRequest,
1173        _options: crate::RequestOptions,
1174    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1175    {
1176        gaxi::unimplemented::unimplemented_stub()
1177    }
1178
1179    /// Implements [super::client::Disks::stop_group_async_replication].
1180    fn stop_group_async_replication(
1181        &self,
1182        _req: crate::model::disks::StopGroupAsyncReplicationRequest,
1183        _options: crate::RequestOptions,
1184    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1185    {
1186        gaxi::unimplemented::unimplemented_stub()
1187    }
1188
1189    /// Implements [super::client::Disks::test_iam_permissions].
1190    fn test_iam_permissions(
1191        &self,
1192        _req: crate::model::disks::TestIamPermissionsRequest,
1193        _options: crate::RequestOptions,
1194    ) -> impl std::future::Future<
1195        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1196    > + Send {
1197        gaxi::unimplemented::unimplemented_stub()
1198    }
1199
1200    /// Implements [super::client::Disks::update].
1201    fn update(
1202        &self,
1203        _req: crate::model::disks::UpdateRequest,
1204        _options: crate::RequestOptions,
1205    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1206    {
1207        gaxi::unimplemented::unimplemented_stub()
1208    }
1209
1210    /// Implements [super::client::Disks::update_kms_key].
1211    fn update_kms_key(
1212        &self,
1213        _req: crate::model::disks::UpdateKmsKeyRequest,
1214        _options: crate::RequestOptions,
1215    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1216    {
1217        gaxi::unimplemented::unimplemented_stub()
1218    }
1219
1220    /// Implements [super::client::Disks::get_operation].
1221    fn get_operation(
1222        &self,
1223        _req: crate::model::zone_operations::GetRequest,
1224        _options: crate::RequestOptions,
1225    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1226    {
1227        gaxi::unimplemented::unimplemented_stub()
1228    }
1229
1230    /// Returns the polling error policy.
1231    ///
1232    /// When mocking, this method is typically irrelevant. Do not try to verify
1233    /// it is called by your mocks.
1234    fn get_polling_error_policy(
1235        &self,
1236        _options: &crate::RequestOptions,
1237    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1238        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1239    }
1240
1241    /// Returns the polling backoff policy.
1242    ///
1243    /// When mocking, this method is typically irrelevant. Do not try to verify
1244    /// it is called by your mocks.
1245    fn get_polling_backoff_policy(
1246        &self,
1247        _options: &crate::RequestOptions,
1248    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1249        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1250    }
1251
1252    #[doc(hidden)]
1253    /// Returns the poller options.
1254    ///
1255    /// When mocking, this method is typically irrelevant. Do not try to verify
1256    /// it is called by your mocks.
1257    fn get_poller_options(
1258        &self,
1259        _options: &crate::RequestOptions,
1260    ) -> google_cloud_lro::PollerOptions {
1261        google_cloud_lro::PollerOptions::default()
1262    }
1263}
1264
1265/// Defines the trait used to implement [super::client::ExternalVpnGateways].
1266///
1267/// Application developers may need to implement this trait to mock
1268/// `client::ExternalVpnGateways`.  In other use-cases, application developers only
1269/// use `client::ExternalVpnGateways` and need not be concerned with this trait or
1270/// its implementations.
1271///
1272/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1273/// too. To avoid breaking applications the trait provides a default
1274/// implementation of each method. Most of these implementations just return an
1275/// error.
1276#[cfg(feature = "external-vpn-gateways")]
1277#[cfg_attr(docsrs, doc(cfg(feature = "external-vpn-gateways")))]
1278pub trait ExternalVpnGateways: std::fmt::Debug + Send + Sync {
1279    /// Implements [super::client::ExternalVpnGateways::delete].
1280    fn delete(
1281        &self,
1282        _req: crate::model::external_vpn_gateways::DeleteRequest,
1283        _options: crate::RequestOptions,
1284    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1285    {
1286        gaxi::unimplemented::unimplemented_stub()
1287    }
1288
1289    /// Implements [super::client::ExternalVpnGateways::get].
1290    fn get(
1291        &self,
1292        _req: crate::model::external_vpn_gateways::GetRequest,
1293        _options: crate::RequestOptions,
1294    ) -> impl std::future::Future<
1295        Output = crate::Result<crate::Response<crate::model::ExternalVpnGateway>>,
1296    > + Send {
1297        gaxi::unimplemented::unimplemented_stub()
1298    }
1299
1300    /// Implements [super::client::ExternalVpnGateways::insert].
1301    fn insert(
1302        &self,
1303        _req: crate::model::external_vpn_gateways::InsertRequest,
1304        _options: crate::RequestOptions,
1305    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1306    {
1307        gaxi::unimplemented::unimplemented_stub()
1308    }
1309
1310    /// Implements [super::client::ExternalVpnGateways::list].
1311    fn list(
1312        &self,
1313        _req: crate::model::external_vpn_gateways::ListRequest,
1314        _options: crate::RequestOptions,
1315    ) -> impl std::future::Future<
1316        Output = crate::Result<crate::Response<crate::model::ExternalVpnGatewayList>>,
1317    > + Send {
1318        gaxi::unimplemented::unimplemented_stub()
1319    }
1320
1321    /// Implements [super::client::ExternalVpnGateways::set_labels].
1322    fn set_labels(
1323        &self,
1324        _req: crate::model::external_vpn_gateways::SetLabelsRequest,
1325        _options: crate::RequestOptions,
1326    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1327    {
1328        gaxi::unimplemented::unimplemented_stub()
1329    }
1330
1331    /// Implements [super::client::ExternalVpnGateways::test_iam_permissions].
1332    fn test_iam_permissions(
1333        &self,
1334        _req: crate::model::external_vpn_gateways::TestIamPermissionsRequest,
1335        _options: crate::RequestOptions,
1336    ) -> impl std::future::Future<
1337        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1338    > + Send {
1339        gaxi::unimplemented::unimplemented_stub()
1340    }
1341
1342    /// Implements [super::client::ExternalVpnGateways::get_operation].
1343    fn get_operation(
1344        &self,
1345        _req: crate::model::global_operations::GetRequest,
1346        _options: crate::RequestOptions,
1347    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1348    {
1349        gaxi::unimplemented::unimplemented_stub()
1350    }
1351
1352    /// Returns the polling error policy.
1353    ///
1354    /// When mocking, this method is typically irrelevant. Do not try to verify
1355    /// it is called by your mocks.
1356    fn get_polling_error_policy(
1357        &self,
1358        _options: &crate::RequestOptions,
1359    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1360        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1361    }
1362
1363    /// Returns the polling backoff policy.
1364    ///
1365    /// When mocking, this method is typically irrelevant. Do not try to verify
1366    /// it is called by your mocks.
1367    fn get_polling_backoff_policy(
1368        &self,
1369        _options: &crate::RequestOptions,
1370    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1371        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1372    }
1373
1374    #[doc(hidden)]
1375    /// Returns the poller options.
1376    ///
1377    /// When mocking, this method is typically irrelevant. Do not try to verify
1378    /// it is called by your mocks.
1379    fn get_poller_options(
1380        &self,
1381        _options: &crate::RequestOptions,
1382    ) -> google_cloud_lro::PollerOptions {
1383        google_cloud_lro::PollerOptions::default()
1384    }
1385}
1386
1387/// Defines the trait used to implement [super::client::FirewallPolicies].
1388///
1389/// Application developers may need to implement this trait to mock
1390/// `client::FirewallPolicies`.  In other use-cases, application developers only
1391/// use `client::FirewallPolicies` and need not be concerned with this trait or
1392/// its implementations.
1393///
1394/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1395/// too. To avoid breaking applications the trait provides a default
1396/// implementation of each method. Most of these implementations just return an
1397/// error.
1398#[cfg(feature = "firewall-policies")]
1399#[cfg_attr(docsrs, doc(cfg(feature = "firewall-policies")))]
1400pub trait FirewallPolicies: std::fmt::Debug + Send + Sync {
1401    /// Implements [super::client::FirewallPolicies::add_association].
1402    fn add_association(
1403        &self,
1404        _req: crate::model::firewall_policies::AddAssociationRequest,
1405        _options: crate::RequestOptions,
1406    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1407    {
1408        gaxi::unimplemented::unimplemented_stub()
1409    }
1410
1411    /// Implements [super::client::FirewallPolicies::add_rule].
1412    fn add_rule(
1413        &self,
1414        _req: crate::model::firewall_policies::AddRuleRequest,
1415        _options: crate::RequestOptions,
1416    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1417    {
1418        gaxi::unimplemented::unimplemented_stub()
1419    }
1420
1421    /// Implements [super::client::FirewallPolicies::clone_rules].
1422    fn clone_rules(
1423        &self,
1424        _req: crate::model::firewall_policies::CloneRulesRequest,
1425        _options: crate::RequestOptions,
1426    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1427    {
1428        gaxi::unimplemented::unimplemented_stub()
1429    }
1430
1431    /// Implements [super::client::FirewallPolicies::delete].
1432    fn delete(
1433        &self,
1434        _req: crate::model::firewall_policies::DeleteRequest,
1435        _options: crate::RequestOptions,
1436    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1437    {
1438        gaxi::unimplemented::unimplemented_stub()
1439    }
1440
1441    /// Implements [super::client::FirewallPolicies::get].
1442    fn get(
1443        &self,
1444        _req: crate::model::firewall_policies::GetRequest,
1445        _options: crate::RequestOptions,
1446    ) -> impl std::future::Future<
1447        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
1448    > + Send {
1449        gaxi::unimplemented::unimplemented_stub()
1450    }
1451
1452    /// Implements [super::client::FirewallPolicies::get_association].
1453    fn get_association(
1454        &self,
1455        _req: crate::model::firewall_policies::GetAssociationRequest,
1456        _options: crate::RequestOptions,
1457    ) -> impl std::future::Future<
1458        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
1459    > + Send {
1460        gaxi::unimplemented::unimplemented_stub()
1461    }
1462
1463    /// Implements [super::client::FirewallPolicies::get_iam_policy].
1464    fn get_iam_policy(
1465        &self,
1466        _req: crate::model::firewall_policies::GetIamPolicyRequest,
1467        _options: crate::RequestOptions,
1468    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1469    {
1470        gaxi::unimplemented::unimplemented_stub()
1471    }
1472
1473    /// Implements [super::client::FirewallPolicies::get_rule].
1474    fn get_rule(
1475        &self,
1476        _req: crate::model::firewall_policies::GetRuleRequest,
1477        _options: crate::RequestOptions,
1478    ) -> impl std::future::Future<
1479        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
1480    > + Send {
1481        gaxi::unimplemented::unimplemented_stub()
1482    }
1483
1484    /// Implements [super::client::FirewallPolicies::insert].
1485    fn insert(
1486        &self,
1487        _req: crate::model::firewall_policies::InsertRequest,
1488        _options: crate::RequestOptions,
1489    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1490    {
1491        gaxi::unimplemented::unimplemented_stub()
1492    }
1493
1494    /// Implements [super::client::FirewallPolicies::list].
1495    fn list(
1496        &self,
1497        _req: crate::model::firewall_policies::ListRequest,
1498        _options: crate::RequestOptions,
1499    ) -> impl std::future::Future<
1500        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
1501    > + Send {
1502        gaxi::unimplemented::unimplemented_stub()
1503    }
1504
1505    /// Implements [super::client::FirewallPolicies::list_associations].
1506    fn list_associations(
1507        &self,
1508        _req: crate::model::firewall_policies::ListAssociationsRequest,
1509        _options: crate::RequestOptions,
1510    ) -> impl std::future::Future<
1511        Output = crate::Result<
1512            crate::Response<crate::model::FirewallPoliciesListAssociationsResponse>,
1513        >,
1514    > + Send {
1515        gaxi::unimplemented::unimplemented_stub()
1516    }
1517
1518    /// Implements [super::client::FirewallPolicies::r#move].
1519    fn r#move(
1520        &self,
1521        _req: crate::model::firewall_policies::MoveRequest,
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::FirewallPolicies::patch].
1529    fn patch(
1530        &self,
1531        _req: crate::model::firewall_policies::PatchRequest,
1532        _options: crate::RequestOptions,
1533    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1534    {
1535        gaxi::unimplemented::unimplemented_stub()
1536    }
1537
1538    /// Implements [super::client::FirewallPolicies::patch_rule].
1539    fn patch_rule(
1540        &self,
1541        _req: crate::model::firewall_policies::PatchRuleRequest,
1542        _options: crate::RequestOptions,
1543    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1544    {
1545        gaxi::unimplemented::unimplemented_stub()
1546    }
1547
1548    /// Implements [super::client::FirewallPolicies::remove_association].
1549    fn remove_association(
1550        &self,
1551        _req: crate::model::firewall_policies::RemoveAssociationRequest,
1552        _options: crate::RequestOptions,
1553    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1554    {
1555        gaxi::unimplemented::unimplemented_stub()
1556    }
1557
1558    /// Implements [super::client::FirewallPolicies::remove_rule].
1559    fn remove_rule(
1560        &self,
1561        _req: crate::model::firewall_policies::RemoveRuleRequest,
1562        _options: crate::RequestOptions,
1563    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1564    {
1565        gaxi::unimplemented::unimplemented_stub()
1566    }
1567
1568    /// Implements [super::client::FirewallPolicies::set_iam_policy].
1569    fn set_iam_policy(
1570        &self,
1571        _req: crate::model::firewall_policies::SetIamPolicyRequest,
1572        _options: crate::RequestOptions,
1573    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1574    {
1575        gaxi::unimplemented::unimplemented_stub()
1576    }
1577
1578    /// Implements [super::client::FirewallPolicies::test_iam_permissions].
1579    fn test_iam_permissions(
1580        &self,
1581        _req: crate::model::firewall_policies::TestIamPermissionsRequest,
1582        _options: crate::RequestOptions,
1583    ) -> impl std::future::Future<
1584        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1585    > + Send {
1586        gaxi::unimplemented::unimplemented_stub()
1587    }
1588
1589    /// Implements [super::client::FirewallPolicies::get_operation].
1590    fn get_operation(
1591        &self,
1592        _req: crate::model::global_organization_operations::GetRequest,
1593        _options: crate::RequestOptions,
1594    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1595    {
1596        gaxi::unimplemented::unimplemented_stub()
1597    }
1598
1599    /// Returns the polling error policy.
1600    ///
1601    /// When mocking, this method is typically irrelevant. Do not try to verify
1602    /// it is called by your mocks.
1603    fn get_polling_error_policy(
1604        &self,
1605        _options: &crate::RequestOptions,
1606    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1607        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1608    }
1609
1610    /// Returns the polling backoff policy.
1611    ///
1612    /// When mocking, this method is typically irrelevant. Do not try to verify
1613    /// it is called by your mocks.
1614    fn get_polling_backoff_policy(
1615        &self,
1616        _options: &crate::RequestOptions,
1617    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1618        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1619    }
1620
1621    #[doc(hidden)]
1622    /// Returns the poller options.
1623    ///
1624    /// When mocking, this method is typically irrelevant. Do not try to verify
1625    /// it is called by your mocks.
1626    fn get_poller_options(
1627        &self,
1628        _options: &crate::RequestOptions,
1629    ) -> google_cloud_lro::PollerOptions {
1630        google_cloud_lro::PollerOptions::default()
1631    }
1632}
1633
1634/// Defines the trait used to implement [super::client::Firewalls].
1635///
1636/// Application developers may need to implement this trait to mock
1637/// `client::Firewalls`.  In other use-cases, application developers only
1638/// use `client::Firewalls` and need not be concerned with this trait or
1639/// its implementations.
1640///
1641/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1642/// too. To avoid breaking applications the trait provides a default
1643/// implementation of each method. Most of these implementations just return an
1644/// error.
1645#[cfg(feature = "firewalls")]
1646#[cfg_attr(docsrs, doc(cfg(feature = "firewalls")))]
1647pub trait Firewalls: std::fmt::Debug + Send + Sync {
1648    /// Implements [super::client::Firewalls::delete].
1649    fn delete(
1650        &self,
1651        _req: crate::model::firewalls::DeleteRequest,
1652        _options: crate::RequestOptions,
1653    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1654    {
1655        gaxi::unimplemented::unimplemented_stub()
1656    }
1657
1658    /// Implements [super::client::Firewalls::get].
1659    fn get(
1660        &self,
1661        _req: crate::model::firewalls::GetRequest,
1662        _options: crate::RequestOptions,
1663    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Firewall>>> + Send
1664    {
1665        gaxi::unimplemented::unimplemented_stub()
1666    }
1667
1668    /// Implements [super::client::Firewalls::insert].
1669    fn insert(
1670        &self,
1671        _req: crate::model::firewalls::InsertRequest,
1672        _options: crate::RequestOptions,
1673    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1674    {
1675        gaxi::unimplemented::unimplemented_stub()
1676    }
1677
1678    /// Implements [super::client::Firewalls::list].
1679    fn list(
1680        &self,
1681        _req: crate::model::firewalls::ListRequest,
1682        _options: crate::RequestOptions,
1683    ) -> impl std::future::Future<
1684        Output = crate::Result<crate::Response<crate::model::FirewallList>>,
1685    > + Send {
1686        gaxi::unimplemented::unimplemented_stub()
1687    }
1688
1689    /// Implements [super::client::Firewalls::patch].
1690    fn patch(
1691        &self,
1692        _req: crate::model::firewalls::PatchRequest,
1693        _options: crate::RequestOptions,
1694    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1695    {
1696        gaxi::unimplemented::unimplemented_stub()
1697    }
1698
1699    /// Implements [super::client::Firewalls::test_iam_permissions].
1700    fn test_iam_permissions(
1701        &self,
1702        _req: crate::model::firewalls::TestIamPermissionsRequest,
1703        _options: crate::RequestOptions,
1704    ) -> impl std::future::Future<
1705        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1706    > + Send {
1707        gaxi::unimplemented::unimplemented_stub()
1708    }
1709
1710    /// Implements [super::client::Firewalls::update].
1711    fn update(
1712        &self,
1713        _req: crate::model::firewalls::UpdateRequest,
1714        _options: crate::RequestOptions,
1715    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1716    {
1717        gaxi::unimplemented::unimplemented_stub()
1718    }
1719
1720    /// Implements [super::client::Firewalls::get_operation].
1721    fn get_operation(
1722        &self,
1723        _req: crate::model::global_operations::GetRequest,
1724        _options: crate::RequestOptions,
1725    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1726    {
1727        gaxi::unimplemented::unimplemented_stub()
1728    }
1729
1730    /// Returns the polling error policy.
1731    ///
1732    /// When mocking, this method is typically irrelevant. Do not try to verify
1733    /// it is called by your mocks.
1734    fn get_polling_error_policy(
1735        &self,
1736        _options: &crate::RequestOptions,
1737    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1738        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1739    }
1740
1741    /// Returns the polling backoff policy.
1742    ///
1743    /// When mocking, this method is typically irrelevant. Do not try to verify
1744    /// it is called by your mocks.
1745    fn get_polling_backoff_policy(
1746        &self,
1747        _options: &crate::RequestOptions,
1748    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1749        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1750    }
1751
1752    #[doc(hidden)]
1753    /// Returns the poller options.
1754    ///
1755    /// When mocking, this method is typically irrelevant. Do not try to verify
1756    /// it is called by your mocks.
1757    fn get_poller_options(
1758        &self,
1759        _options: &crate::RequestOptions,
1760    ) -> google_cloud_lro::PollerOptions {
1761        google_cloud_lro::PollerOptions::default()
1762    }
1763}
1764
1765/// Defines the trait used to implement [super::client::ForwardingRules].
1766///
1767/// Application developers may need to implement this trait to mock
1768/// `client::ForwardingRules`.  In other use-cases, application developers only
1769/// use `client::ForwardingRules` and need not be concerned with this trait or
1770/// its implementations.
1771///
1772/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1773/// too. To avoid breaking applications the trait provides a default
1774/// implementation of each method. Most of these implementations just return an
1775/// error.
1776#[cfg(feature = "forwarding-rules")]
1777#[cfg_attr(docsrs, doc(cfg(feature = "forwarding-rules")))]
1778pub trait ForwardingRules: std::fmt::Debug + Send + Sync {
1779    /// Implements [super::client::ForwardingRules::aggregated_list].
1780    fn aggregated_list(
1781        &self,
1782        _req: crate::model::forwarding_rules::AggregatedListRequest,
1783        _options: crate::RequestOptions,
1784    ) -> impl std::future::Future<
1785        Output = crate::Result<crate::Response<crate::model::ForwardingRuleAggregatedList>>,
1786    > + Send {
1787        gaxi::unimplemented::unimplemented_stub()
1788    }
1789
1790    /// Implements [super::client::ForwardingRules::delete].
1791    fn delete(
1792        &self,
1793        _req: crate::model::forwarding_rules::DeleteRequest,
1794        _options: crate::RequestOptions,
1795    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1796    {
1797        gaxi::unimplemented::unimplemented_stub()
1798    }
1799
1800    /// Implements [super::client::ForwardingRules::get].
1801    fn get(
1802        &self,
1803        _req: crate::model::forwarding_rules::GetRequest,
1804        _options: crate::RequestOptions,
1805    ) -> impl std::future::Future<
1806        Output = crate::Result<crate::Response<crate::model::ForwardingRule>>,
1807    > + Send {
1808        gaxi::unimplemented::unimplemented_stub()
1809    }
1810
1811    /// Implements [super::client::ForwardingRules::insert].
1812    fn insert(
1813        &self,
1814        _req: crate::model::forwarding_rules::InsertRequest,
1815        _options: crate::RequestOptions,
1816    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1817    {
1818        gaxi::unimplemented::unimplemented_stub()
1819    }
1820
1821    /// Implements [super::client::ForwardingRules::list].
1822    fn list(
1823        &self,
1824        _req: crate::model::forwarding_rules::ListRequest,
1825        _options: crate::RequestOptions,
1826    ) -> impl std::future::Future<
1827        Output = crate::Result<crate::Response<crate::model::ForwardingRuleList>>,
1828    > + Send {
1829        gaxi::unimplemented::unimplemented_stub()
1830    }
1831
1832    /// Implements [super::client::ForwardingRules::patch].
1833    fn patch(
1834        &self,
1835        _req: crate::model::forwarding_rules::PatchRequest,
1836        _options: crate::RequestOptions,
1837    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1838    {
1839        gaxi::unimplemented::unimplemented_stub()
1840    }
1841
1842    /// Implements [super::client::ForwardingRules::set_labels].
1843    fn set_labels(
1844        &self,
1845        _req: crate::model::forwarding_rules::SetLabelsRequest,
1846        _options: crate::RequestOptions,
1847    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1848    {
1849        gaxi::unimplemented::unimplemented_stub()
1850    }
1851
1852    /// Implements [super::client::ForwardingRules::set_target].
1853    fn set_target(
1854        &self,
1855        _req: crate::model::forwarding_rules::SetTargetRequest,
1856        _options: crate::RequestOptions,
1857    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1858    {
1859        gaxi::unimplemented::unimplemented_stub()
1860    }
1861
1862    /// Implements [super::client::ForwardingRules::get_operation].
1863    fn get_operation(
1864        &self,
1865        _req: crate::model::region_operations::GetRequest,
1866        _options: crate::RequestOptions,
1867    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1868    {
1869        gaxi::unimplemented::unimplemented_stub()
1870    }
1871
1872    /// Returns the polling error policy.
1873    ///
1874    /// When mocking, this method is typically irrelevant. Do not try to verify
1875    /// it is called by your mocks.
1876    fn get_polling_error_policy(
1877        &self,
1878        _options: &crate::RequestOptions,
1879    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1880        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1881    }
1882
1883    /// Returns the polling backoff policy.
1884    ///
1885    /// When mocking, this method is typically irrelevant. Do not try to verify
1886    /// it is called by your mocks.
1887    fn get_polling_backoff_policy(
1888        &self,
1889        _options: &crate::RequestOptions,
1890    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1891        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1892    }
1893
1894    #[doc(hidden)]
1895    /// Returns the poller options.
1896    ///
1897    /// When mocking, this method is typically irrelevant. Do not try to verify
1898    /// it is called by your mocks.
1899    fn get_poller_options(
1900        &self,
1901        _options: &crate::RequestOptions,
1902    ) -> google_cloud_lro::PollerOptions {
1903        google_cloud_lro::PollerOptions::default()
1904    }
1905}
1906
1907/// Defines the trait used to implement [super::client::FutureReservations].
1908///
1909/// Application developers may need to implement this trait to mock
1910/// `client::FutureReservations`.  In other use-cases, application developers only
1911/// use `client::FutureReservations` and need not be concerned with this trait or
1912/// its implementations.
1913///
1914/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1915/// too. To avoid breaking applications the trait provides a default
1916/// implementation of each method. Most of these implementations just return an
1917/// error.
1918#[cfg(feature = "future-reservations")]
1919#[cfg_attr(docsrs, doc(cfg(feature = "future-reservations")))]
1920pub trait FutureReservations: std::fmt::Debug + Send + Sync {
1921    /// Implements [super::client::FutureReservations::aggregated_list].
1922    fn aggregated_list(
1923        &self,
1924        _req: crate::model::future_reservations::AggregatedListRequest,
1925        _options: crate::RequestOptions,
1926    ) -> impl std::future::Future<
1927        Output = crate::Result<
1928            crate::Response<crate::model::FutureReservationsAggregatedListResponse>,
1929        >,
1930    > + Send {
1931        gaxi::unimplemented::unimplemented_stub()
1932    }
1933
1934    /// Implements [super::client::FutureReservations::cancel].
1935    fn cancel(
1936        &self,
1937        _req: crate::model::future_reservations::CancelRequest,
1938        _options: crate::RequestOptions,
1939    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1940    {
1941        gaxi::unimplemented::unimplemented_stub()
1942    }
1943
1944    /// Implements [super::client::FutureReservations::delete].
1945    fn delete(
1946        &self,
1947        _req: crate::model::future_reservations::DeleteRequest,
1948        _options: crate::RequestOptions,
1949    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1950    {
1951        gaxi::unimplemented::unimplemented_stub()
1952    }
1953
1954    /// Implements [super::client::FutureReservations::get].
1955    fn get(
1956        &self,
1957        _req: crate::model::future_reservations::GetRequest,
1958        _options: crate::RequestOptions,
1959    ) -> impl std::future::Future<
1960        Output = crate::Result<crate::Response<crate::model::FutureReservation>>,
1961    > + Send {
1962        gaxi::unimplemented::unimplemented_stub()
1963    }
1964
1965    /// Implements [super::client::FutureReservations::insert].
1966    fn insert(
1967        &self,
1968        _req: crate::model::future_reservations::InsertRequest,
1969        _options: crate::RequestOptions,
1970    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1971    {
1972        gaxi::unimplemented::unimplemented_stub()
1973    }
1974
1975    /// Implements [super::client::FutureReservations::list].
1976    fn list(
1977        &self,
1978        _req: crate::model::future_reservations::ListRequest,
1979        _options: crate::RequestOptions,
1980    ) -> impl std::future::Future<
1981        Output = crate::Result<crate::Response<crate::model::FutureReservationsListResponse>>,
1982    > + Send {
1983        gaxi::unimplemented::unimplemented_stub()
1984    }
1985
1986    /// Implements [super::client::FutureReservations::update].
1987    fn update(
1988        &self,
1989        _req: crate::model::future_reservations::UpdateRequest,
1990        _options: crate::RequestOptions,
1991    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1992    {
1993        gaxi::unimplemented::unimplemented_stub()
1994    }
1995
1996    /// Implements [super::client::FutureReservations::get_operation].
1997    fn get_operation(
1998        &self,
1999        _req: crate::model::zone_operations::GetRequest,
2000        _options: crate::RequestOptions,
2001    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2002    {
2003        gaxi::unimplemented::unimplemented_stub()
2004    }
2005
2006    /// Returns the polling error policy.
2007    ///
2008    /// When mocking, this method is typically irrelevant. Do not try to verify
2009    /// it is called by your mocks.
2010    fn get_polling_error_policy(
2011        &self,
2012        _options: &crate::RequestOptions,
2013    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2014        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2015    }
2016
2017    /// Returns the polling backoff policy.
2018    ///
2019    /// When mocking, this method is typically irrelevant. Do not try to verify
2020    /// it is called by your mocks.
2021    fn get_polling_backoff_policy(
2022        &self,
2023        _options: &crate::RequestOptions,
2024    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2025        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2026    }
2027
2028    #[doc(hidden)]
2029    /// Returns the poller options.
2030    ///
2031    /// When mocking, this method is typically irrelevant. Do not try to verify
2032    /// it is called by your mocks.
2033    fn get_poller_options(
2034        &self,
2035        _options: &crate::RequestOptions,
2036    ) -> google_cloud_lro::PollerOptions {
2037        google_cloud_lro::PollerOptions::default()
2038    }
2039}
2040
2041/// Defines the trait used to implement [super::client::GlobalAddresses].
2042///
2043/// Application developers may need to implement this trait to mock
2044/// `client::GlobalAddresses`.  In other use-cases, application developers only
2045/// use `client::GlobalAddresses` and need not be concerned with this trait or
2046/// its implementations.
2047///
2048/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2049/// too. To avoid breaking applications the trait provides a default
2050/// implementation of each method. Most of these implementations just return an
2051/// error.
2052#[cfg(feature = "global-addresses")]
2053#[cfg_attr(docsrs, doc(cfg(feature = "global-addresses")))]
2054pub trait GlobalAddresses: std::fmt::Debug + Send + Sync {
2055    /// Implements [super::client::GlobalAddresses::delete].
2056    fn delete(
2057        &self,
2058        _req: crate::model::global_addresses::DeleteRequest,
2059        _options: crate::RequestOptions,
2060    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2061    {
2062        gaxi::unimplemented::unimplemented_stub()
2063    }
2064
2065    /// Implements [super::client::GlobalAddresses::get].
2066    fn get(
2067        &self,
2068        _req: crate::model::global_addresses::GetRequest,
2069        _options: crate::RequestOptions,
2070    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Address>>> + Send
2071    {
2072        gaxi::unimplemented::unimplemented_stub()
2073    }
2074
2075    /// Implements [super::client::GlobalAddresses::insert].
2076    fn insert(
2077        &self,
2078        _req: crate::model::global_addresses::InsertRequest,
2079        _options: crate::RequestOptions,
2080    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2081    {
2082        gaxi::unimplemented::unimplemented_stub()
2083    }
2084
2085    /// Implements [super::client::GlobalAddresses::list].
2086    fn list(
2087        &self,
2088        _req: crate::model::global_addresses::ListRequest,
2089        _options: crate::RequestOptions,
2090    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::AddressList>>>
2091    + Send {
2092        gaxi::unimplemented::unimplemented_stub()
2093    }
2094
2095    /// Implements [super::client::GlobalAddresses::r#move].
2096    fn r#move(
2097        &self,
2098        _req: crate::model::global_addresses::MoveRequest,
2099        _options: crate::RequestOptions,
2100    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2101    {
2102        gaxi::unimplemented::unimplemented_stub()
2103    }
2104
2105    /// Implements [super::client::GlobalAddresses::set_labels].
2106    fn set_labels(
2107        &self,
2108        _req: crate::model::global_addresses::SetLabelsRequest,
2109        _options: crate::RequestOptions,
2110    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2111    {
2112        gaxi::unimplemented::unimplemented_stub()
2113    }
2114
2115    /// Implements [super::client::GlobalAddresses::test_iam_permissions].
2116    fn test_iam_permissions(
2117        &self,
2118        _req: crate::model::global_addresses::TestIamPermissionsRequest,
2119        _options: crate::RequestOptions,
2120    ) -> impl std::future::Future<
2121        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2122    > + Send {
2123        gaxi::unimplemented::unimplemented_stub()
2124    }
2125
2126    /// Implements [super::client::GlobalAddresses::get_operation].
2127    fn get_operation(
2128        &self,
2129        _req: crate::model::global_operations::GetRequest,
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    /// Returns the polling error policy.
2137    ///
2138    /// When mocking, this method is typically irrelevant. Do not try to verify
2139    /// it is called by your mocks.
2140    fn get_polling_error_policy(
2141        &self,
2142        _options: &crate::RequestOptions,
2143    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2144        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2145    }
2146
2147    /// Returns the polling backoff policy.
2148    ///
2149    /// When mocking, this method is typically irrelevant. Do not try to verify
2150    /// it is called by your mocks.
2151    fn get_polling_backoff_policy(
2152        &self,
2153        _options: &crate::RequestOptions,
2154    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2155        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2156    }
2157
2158    #[doc(hidden)]
2159    /// Returns the poller options.
2160    ///
2161    /// When mocking, this method is typically irrelevant. Do not try to verify
2162    /// it is called by your mocks.
2163    fn get_poller_options(
2164        &self,
2165        _options: &crate::RequestOptions,
2166    ) -> google_cloud_lro::PollerOptions {
2167        google_cloud_lro::PollerOptions::default()
2168    }
2169}
2170
2171/// Defines the trait used to implement [super::client::GlobalForwardingRules].
2172///
2173/// Application developers may need to implement this trait to mock
2174/// `client::GlobalForwardingRules`.  In other use-cases, application developers only
2175/// use `client::GlobalForwardingRules` and need not be concerned with this trait or
2176/// its implementations.
2177///
2178/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2179/// too. To avoid breaking applications the trait provides a default
2180/// implementation of each method. Most of these implementations just return an
2181/// error.
2182#[cfg(feature = "global-forwarding-rules")]
2183#[cfg_attr(docsrs, doc(cfg(feature = "global-forwarding-rules")))]
2184pub trait GlobalForwardingRules: std::fmt::Debug + Send + Sync {
2185    /// Implements [super::client::GlobalForwardingRules::delete].
2186    fn delete(
2187        &self,
2188        _req: crate::model::global_forwarding_rules::DeleteRequest,
2189        _options: crate::RequestOptions,
2190    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2191    {
2192        gaxi::unimplemented::unimplemented_stub()
2193    }
2194
2195    /// Implements [super::client::GlobalForwardingRules::get].
2196    fn get(
2197        &self,
2198        _req: crate::model::global_forwarding_rules::GetRequest,
2199        _options: crate::RequestOptions,
2200    ) -> impl std::future::Future<
2201        Output = crate::Result<crate::Response<crate::model::ForwardingRule>>,
2202    > + Send {
2203        gaxi::unimplemented::unimplemented_stub()
2204    }
2205
2206    /// Implements [super::client::GlobalForwardingRules::insert].
2207    fn insert(
2208        &self,
2209        _req: crate::model::global_forwarding_rules::InsertRequest,
2210        _options: crate::RequestOptions,
2211    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2212    {
2213        gaxi::unimplemented::unimplemented_stub()
2214    }
2215
2216    /// Implements [super::client::GlobalForwardingRules::list].
2217    fn list(
2218        &self,
2219        _req: crate::model::global_forwarding_rules::ListRequest,
2220        _options: crate::RequestOptions,
2221    ) -> impl std::future::Future<
2222        Output = crate::Result<crate::Response<crate::model::ForwardingRuleList>>,
2223    > + Send {
2224        gaxi::unimplemented::unimplemented_stub()
2225    }
2226
2227    /// Implements [super::client::GlobalForwardingRules::patch].
2228    fn patch(
2229        &self,
2230        _req: crate::model::global_forwarding_rules::PatchRequest,
2231        _options: crate::RequestOptions,
2232    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2233    {
2234        gaxi::unimplemented::unimplemented_stub()
2235    }
2236
2237    /// Implements [super::client::GlobalForwardingRules::set_labels].
2238    fn set_labels(
2239        &self,
2240        _req: crate::model::global_forwarding_rules::SetLabelsRequest,
2241        _options: crate::RequestOptions,
2242    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2243    {
2244        gaxi::unimplemented::unimplemented_stub()
2245    }
2246
2247    /// Implements [super::client::GlobalForwardingRules::set_target].
2248    fn set_target(
2249        &self,
2250        _req: crate::model::global_forwarding_rules::SetTargetRequest,
2251        _options: crate::RequestOptions,
2252    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2253    {
2254        gaxi::unimplemented::unimplemented_stub()
2255    }
2256
2257    /// Implements [super::client::GlobalForwardingRules::get_operation].
2258    fn get_operation(
2259        &self,
2260        _req: crate::model::global_operations::GetRequest,
2261        _options: crate::RequestOptions,
2262    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2263    {
2264        gaxi::unimplemented::unimplemented_stub()
2265    }
2266
2267    /// Returns the polling error policy.
2268    ///
2269    /// When mocking, this method is typically irrelevant. Do not try to verify
2270    /// it is called by your mocks.
2271    fn get_polling_error_policy(
2272        &self,
2273        _options: &crate::RequestOptions,
2274    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2275        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2276    }
2277
2278    /// Returns the polling backoff policy.
2279    ///
2280    /// When mocking, this method is typically irrelevant. Do not try to verify
2281    /// it is called by your mocks.
2282    fn get_polling_backoff_policy(
2283        &self,
2284        _options: &crate::RequestOptions,
2285    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2286        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2287    }
2288
2289    #[doc(hidden)]
2290    /// Returns the poller options.
2291    ///
2292    /// When mocking, this method is typically irrelevant. Do not try to verify
2293    /// it is called by your mocks.
2294    fn get_poller_options(
2295        &self,
2296        _options: &crate::RequestOptions,
2297    ) -> google_cloud_lro::PollerOptions {
2298        google_cloud_lro::PollerOptions::default()
2299    }
2300}
2301
2302/// Defines the trait used to implement [super::client::GlobalNetworkEndpointGroups].
2303///
2304/// Application developers may need to implement this trait to mock
2305/// `client::GlobalNetworkEndpointGroups`.  In other use-cases, application developers only
2306/// use `client::GlobalNetworkEndpointGroups` and need not be concerned with this trait or
2307/// its implementations.
2308///
2309/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2310/// too. To avoid breaking applications the trait provides a default
2311/// implementation of each method. Most of these implementations just return an
2312/// error.
2313#[cfg(feature = "global-network-endpoint-groups")]
2314#[cfg_attr(docsrs, doc(cfg(feature = "global-network-endpoint-groups")))]
2315pub trait GlobalNetworkEndpointGroups: std::fmt::Debug + Send + Sync {
2316    /// Implements [super::client::GlobalNetworkEndpointGroups::attach_network_endpoints].
2317    fn attach_network_endpoints(
2318        &self,
2319        _req: crate::model::global_network_endpoint_groups::AttachNetworkEndpointsRequest,
2320        _options: crate::RequestOptions,
2321    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2322    {
2323        gaxi::unimplemented::unimplemented_stub()
2324    }
2325
2326    /// Implements [super::client::GlobalNetworkEndpointGroups::delete].
2327    fn delete(
2328        &self,
2329        _req: crate::model::global_network_endpoint_groups::DeleteRequest,
2330        _options: crate::RequestOptions,
2331    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2332    {
2333        gaxi::unimplemented::unimplemented_stub()
2334    }
2335
2336    /// Implements [super::client::GlobalNetworkEndpointGroups::detach_network_endpoints].
2337    fn detach_network_endpoints(
2338        &self,
2339        _req: crate::model::global_network_endpoint_groups::DetachNetworkEndpointsRequest,
2340        _options: crate::RequestOptions,
2341    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2342    {
2343        gaxi::unimplemented::unimplemented_stub()
2344    }
2345
2346    /// Implements [super::client::GlobalNetworkEndpointGroups::get].
2347    fn get(
2348        &self,
2349        _req: crate::model::global_network_endpoint_groups::GetRequest,
2350        _options: crate::RequestOptions,
2351    ) -> impl std::future::Future<
2352        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
2353    > + Send {
2354        gaxi::unimplemented::unimplemented_stub()
2355    }
2356
2357    /// Implements [super::client::GlobalNetworkEndpointGroups::insert].
2358    fn insert(
2359        &self,
2360        _req: crate::model::global_network_endpoint_groups::InsertRequest,
2361        _options: crate::RequestOptions,
2362    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2363    {
2364        gaxi::unimplemented::unimplemented_stub()
2365    }
2366
2367    /// Implements [super::client::GlobalNetworkEndpointGroups::list].
2368    fn list(
2369        &self,
2370        _req: crate::model::global_network_endpoint_groups::ListRequest,
2371        _options: crate::RequestOptions,
2372    ) -> impl std::future::Future<
2373        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
2374    > + Send {
2375        gaxi::unimplemented::unimplemented_stub()
2376    }
2377
2378    /// Implements [super::client::GlobalNetworkEndpointGroups::list_network_endpoints].
2379    fn list_network_endpoints(
2380        &self,
2381        _req: crate::model::global_network_endpoint_groups::ListNetworkEndpointsRequest,
2382        _options: crate::RequestOptions,
2383    ) -> impl std::future::Future<
2384        Output = crate::Result<
2385            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
2386        >,
2387    > + Send {
2388        gaxi::unimplemented::unimplemented_stub()
2389    }
2390
2391    /// Implements [super::client::GlobalNetworkEndpointGroups::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    #[doc(hidden)]
2424    /// Returns the poller options.
2425    ///
2426    /// When mocking, this method is typically irrelevant. Do not try to verify
2427    /// it is called by your mocks.
2428    fn get_poller_options(
2429        &self,
2430        _options: &crate::RequestOptions,
2431    ) -> google_cloud_lro::PollerOptions {
2432        google_cloud_lro::PollerOptions::default()
2433    }
2434}
2435
2436/// Defines the trait used to implement [super::client::GlobalOperations].
2437///
2438/// Application developers may need to implement this trait to mock
2439/// `client::GlobalOperations`.  In other use-cases, application developers only
2440/// use `client::GlobalOperations` and need not be concerned with this trait or
2441/// its implementations.
2442///
2443/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2444/// too. To avoid breaking applications the trait provides a default
2445/// implementation of each method. Most of these implementations just return an
2446/// error.
2447#[cfg(feature = "global-operations")]
2448#[cfg_attr(docsrs, doc(cfg(feature = "global-operations")))]
2449pub trait GlobalOperations: std::fmt::Debug + Send + Sync {
2450    /// Implements [super::client::GlobalOperations::aggregated_list].
2451    fn aggregated_list(
2452        &self,
2453        _req: crate::model::global_operations::AggregatedListRequest,
2454        _options: crate::RequestOptions,
2455    ) -> impl std::future::Future<
2456        Output = crate::Result<crate::Response<crate::model::OperationAggregatedList>>,
2457    > + Send {
2458        gaxi::unimplemented::unimplemented_stub()
2459    }
2460
2461    /// Implements [super::client::GlobalOperations::delete].
2462    fn delete(
2463        &self,
2464        _req: crate::model::global_operations::DeleteRequest,
2465        _options: crate::RequestOptions,
2466    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
2467        gaxi::unimplemented::unimplemented_stub()
2468    }
2469
2470    /// Implements [super::client::GlobalOperations::get].
2471    fn get(
2472        &self,
2473        _req: crate::model::global_operations::GetRequest,
2474        _options: crate::RequestOptions,
2475    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2476    {
2477        gaxi::unimplemented::unimplemented_stub()
2478    }
2479
2480    /// Implements [super::client::GlobalOperations::list].
2481    fn list(
2482        &self,
2483        _req: crate::model::global_operations::ListRequest,
2484        _options: crate::RequestOptions,
2485    ) -> impl std::future::Future<
2486        Output = crate::Result<crate::Response<crate::model::OperationList>>,
2487    > + Send {
2488        gaxi::unimplemented::unimplemented_stub()
2489    }
2490
2491    /// Implements [super::client::GlobalOperations::wait].
2492    fn wait(
2493        &self,
2494        _req: crate::model::global_operations::WaitRequest,
2495        _options: crate::RequestOptions,
2496    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2497    {
2498        gaxi::unimplemented::unimplemented_stub()
2499    }
2500}
2501
2502/// Defines the trait used to implement [super::client::GlobalOrganizationOperations].
2503///
2504/// Application developers may need to implement this trait to mock
2505/// `client::GlobalOrganizationOperations`.  In other use-cases, application developers only
2506/// use `client::GlobalOrganizationOperations` and need not be concerned with this trait or
2507/// its implementations.
2508///
2509/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2510/// too. To avoid breaking applications the trait provides a default
2511/// implementation of each method. Most of these implementations just return an
2512/// error.
2513#[cfg(feature = "global-organization-operations")]
2514#[cfg_attr(docsrs, doc(cfg(feature = "global-organization-operations")))]
2515pub trait GlobalOrganizationOperations: std::fmt::Debug + Send + Sync {
2516    /// Implements [super::client::GlobalOrganizationOperations::delete].
2517    fn delete(
2518        &self,
2519        _req: crate::model::global_organization_operations::DeleteRequest,
2520        _options: crate::RequestOptions,
2521    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
2522        gaxi::unimplemented::unimplemented_stub()
2523    }
2524
2525    /// Implements [super::client::GlobalOrganizationOperations::get].
2526    fn get(
2527        &self,
2528        _req: crate::model::global_organization_operations::GetRequest,
2529        _options: crate::RequestOptions,
2530    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2531    {
2532        gaxi::unimplemented::unimplemented_stub()
2533    }
2534
2535    /// Implements [super::client::GlobalOrganizationOperations::list].
2536    fn list(
2537        &self,
2538        _req: crate::model::global_organization_operations::ListRequest,
2539        _options: crate::RequestOptions,
2540    ) -> impl std::future::Future<
2541        Output = crate::Result<crate::Response<crate::model::OperationList>>,
2542    > + Send {
2543        gaxi::unimplemented::unimplemented_stub()
2544    }
2545}
2546
2547/// Defines the trait used to implement [super::client::GlobalPublicDelegatedPrefixes].
2548///
2549/// Application developers may need to implement this trait to mock
2550/// `client::GlobalPublicDelegatedPrefixes`.  In other use-cases, application developers only
2551/// use `client::GlobalPublicDelegatedPrefixes` and need not be concerned with this trait or
2552/// its implementations.
2553///
2554/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2555/// too. To avoid breaking applications the trait provides a default
2556/// implementation of each method. Most of these implementations just return an
2557/// error.
2558#[cfg(feature = "global-public-delegated-prefixes")]
2559#[cfg_attr(docsrs, doc(cfg(feature = "global-public-delegated-prefixes")))]
2560pub trait GlobalPublicDelegatedPrefixes: std::fmt::Debug + Send + Sync {
2561    /// Implements [super::client::GlobalPublicDelegatedPrefixes::delete].
2562    fn delete(
2563        &self,
2564        _req: crate::model::global_public_delegated_prefixes::DeleteRequest,
2565        _options: crate::RequestOptions,
2566    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2567    {
2568        gaxi::unimplemented::unimplemented_stub()
2569    }
2570
2571    /// Implements [super::client::GlobalPublicDelegatedPrefixes::get].
2572    fn get(
2573        &self,
2574        _req: crate::model::global_public_delegated_prefixes::GetRequest,
2575        _options: crate::RequestOptions,
2576    ) -> impl std::future::Future<
2577        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefix>>,
2578    > + Send {
2579        gaxi::unimplemented::unimplemented_stub()
2580    }
2581
2582    /// Implements [super::client::GlobalPublicDelegatedPrefixes::insert].
2583    fn insert(
2584        &self,
2585        _req: crate::model::global_public_delegated_prefixes::InsertRequest,
2586        _options: crate::RequestOptions,
2587    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2588    {
2589        gaxi::unimplemented::unimplemented_stub()
2590    }
2591
2592    /// Implements [super::client::GlobalPublicDelegatedPrefixes::list].
2593    fn list(
2594        &self,
2595        _req: crate::model::global_public_delegated_prefixes::ListRequest,
2596        _options: crate::RequestOptions,
2597    ) -> impl std::future::Future<
2598        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixList>>,
2599    > + Send {
2600        gaxi::unimplemented::unimplemented_stub()
2601    }
2602
2603    /// Implements [super::client::GlobalPublicDelegatedPrefixes::patch].
2604    fn patch(
2605        &self,
2606        _req: crate::model::global_public_delegated_prefixes::PatchRequest,
2607        _options: crate::RequestOptions,
2608    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2609    {
2610        gaxi::unimplemented::unimplemented_stub()
2611    }
2612
2613    /// Implements [super::client::GlobalPublicDelegatedPrefixes::get_operation].
2614    fn get_operation(
2615        &self,
2616        _req: crate::model::global_operations::GetRequest,
2617        _options: crate::RequestOptions,
2618    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2619    {
2620        gaxi::unimplemented::unimplemented_stub()
2621    }
2622
2623    /// Returns the polling error policy.
2624    ///
2625    /// When mocking, this method is typically irrelevant. Do not try to verify
2626    /// it is called by your mocks.
2627    fn get_polling_error_policy(
2628        &self,
2629        _options: &crate::RequestOptions,
2630    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2631        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2632    }
2633
2634    /// Returns the polling backoff policy.
2635    ///
2636    /// When mocking, this method is typically irrelevant. Do not try to verify
2637    /// it is called by your mocks.
2638    fn get_polling_backoff_policy(
2639        &self,
2640        _options: &crate::RequestOptions,
2641    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2642        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2643    }
2644
2645    #[doc(hidden)]
2646    /// Returns the poller options.
2647    ///
2648    /// When mocking, this method is typically irrelevant. Do not try to verify
2649    /// it is called by your mocks.
2650    fn get_poller_options(
2651        &self,
2652        _options: &crate::RequestOptions,
2653    ) -> google_cloud_lro::PollerOptions {
2654        google_cloud_lro::PollerOptions::default()
2655    }
2656}
2657
2658/// Defines the trait used to implement [super::client::GlobalVmExtensionPolicies].
2659///
2660/// Application developers may need to implement this trait to mock
2661/// `client::GlobalVmExtensionPolicies`.  In other use-cases, application developers only
2662/// use `client::GlobalVmExtensionPolicies` and need not be concerned with this trait or
2663/// its implementations.
2664///
2665/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2666/// too. To avoid breaking applications the trait provides a default
2667/// implementation of each method. Most of these implementations just return an
2668/// error.
2669#[cfg(feature = "global-vm-extension-policies")]
2670#[cfg_attr(docsrs, doc(cfg(feature = "global-vm-extension-policies")))]
2671pub trait GlobalVmExtensionPolicies: std::fmt::Debug + Send + Sync {
2672    /// Implements [super::client::GlobalVmExtensionPolicies::aggregated_list].
2673    fn aggregated_list(
2674        &self,
2675        _req: crate::model::global_vm_extension_policies::AggregatedListRequest,
2676        _options: crate::RequestOptions,
2677    ) -> impl std::future::Future<
2678        Output = crate::Result<
2679            crate::Response<crate::model::VmExtensionPolicyAggregatedListResponse>,
2680        >,
2681    > + Send {
2682        gaxi::unimplemented::unimplemented_stub()
2683    }
2684
2685    /// Implements [super::client::GlobalVmExtensionPolicies::delete].
2686    fn delete(
2687        &self,
2688        _req: crate::model::global_vm_extension_policies::DeleteRequest,
2689        _options: crate::RequestOptions,
2690    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2691    {
2692        gaxi::unimplemented::unimplemented_stub()
2693    }
2694
2695    /// Implements [super::client::GlobalVmExtensionPolicies::get].
2696    fn get(
2697        &self,
2698        _req: crate::model::global_vm_extension_policies::GetRequest,
2699        _options: crate::RequestOptions,
2700    ) -> impl std::future::Future<
2701        Output = crate::Result<crate::Response<crate::model::GlobalVmExtensionPolicy>>,
2702    > + Send {
2703        gaxi::unimplemented::unimplemented_stub()
2704    }
2705
2706    /// Implements [super::client::GlobalVmExtensionPolicies::insert].
2707    fn insert(
2708        &self,
2709        _req: crate::model::global_vm_extension_policies::InsertRequest,
2710        _options: crate::RequestOptions,
2711    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2712    {
2713        gaxi::unimplemented::unimplemented_stub()
2714    }
2715
2716    /// Implements [super::client::GlobalVmExtensionPolicies::list].
2717    fn list(
2718        &self,
2719        _req: crate::model::global_vm_extension_policies::ListRequest,
2720        _options: crate::RequestOptions,
2721    ) -> impl std::future::Future<
2722        Output = crate::Result<crate::Response<crate::model::GlobalVmExtensionPolicyList>>,
2723    > + Send {
2724        gaxi::unimplemented::unimplemented_stub()
2725    }
2726
2727    /// Implements [super::client::GlobalVmExtensionPolicies::update].
2728    fn update(
2729        &self,
2730        _req: crate::model::global_vm_extension_policies::UpdateRequest,
2731        _options: crate::RequestOptions,
2732    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2733    {
2734        gaxi::unimplemented::unimplemented_stub()
2735    }
2736
2737    /// Implements [super::client::GlobalVmExtensionPolicies::get_operation].
2738    fn get_operation(
2739        &self,
2740        _req: crate::model::global_operations::GetRequest,
2741        _options: crate::RequestOptions,
2742    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2743    {
2744        gaxi::unimplemented::unimplemented_stub()
2745    }
2746
2747    /// Returns the polling error policy.
2748    ///
2749    /// When mocking, this method is typically irrelevant. Do not try to verify
2750    /// it is called by your mocks.
2751    fn get_polling_error_policy(
2752        &self,
2753        _options: &crate::RequestOptions,
2754    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2755        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2756    }
2757
2758    /// Returns the polling backoff policy.
2759    ///
2760    /// When mocking, this method is typically irrelevant. Do not try to verify
2761    /// it is called by your mocks.
2762    fn get_polling_backoff_policy(
2763        &self,
2764        _options: &crate::RequestOptions,
2765    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2766        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2767    }
2768
2769    #[doc(hidden)]
2770    /// Returns the poller options.
2771    ///
2772    /// When mocking, this method is typically irrelevant. Do not try to verify
2773    /// it is called by your mocks.
2774    fn get_poller_options(
2775        &self,
2776        _options: &crate::RequestOptions,
2777    ) -> google_cloud_lro::PollerOptions {
2778        google_cloud_lro::PollerOptions::default()
2779    }
2780}
2781
2782/// Defines the trait used to implement [super::client::HealthChecks].
2783///
2784/// Application developers may need to implement this trait to mock
2785/// `client::HealthChecks`.  In other use-cases, application developers only
2786/// use `client::HealthChecks` and need not be concerned with this trait or
2787/// its implementations.
2788///
2789/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2790/// too. To avoid breaking applications the trait provides a default
2791/// implementation of each method. Most of these implementations just return an
2792/// error.
2793#[cfg(feature = "health-checks")]
2794#[cfg_attr(docsrs, doc(cfg(feature = "health-checks")))]
2795pub trait HealthChecks: std::fmt::Debug + Send + Sync {
2796    /// Implements [super::client::HealthChecks::aggregated_list].
2797    fn aggregated_list(
2798        &self,
2799        _req: crate::model::health_checks::AggregatedListRequest,
2800        _options: crate::RequestOptions,
2801    ) -> impl std::future::Future<
2802        Output = crate::Result<crate::Response<crate::model::HealthChecksAggregatedList>>,
2803    > + Send {
2804        gaxi::unimplemented::unimplemented_stub()
2805    }
2806
2807    /// Implements [super::client::HealthChecks::delete].
2808    fn delete(
2809        &self,
2810        _req: crate::model::health_checks::DeleteRequest,
2811        _options: crate::RequestOptions,
2812    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2813    {
2814        gaxi::unimplemented::unimplemented_stub()
2815    }
2816
2817    /// Implements [super::client::HealthChecks::get].
2818    fn get(
2819        &self,
2820        _req: crate::model::health_checks::GetRequest,
2821        _options: crate::RequestOptions,
2822    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::HealthCheck>>>
2823    + Send {
2824        gaxi::unimplemented::unimplemented_stub()
2825    }
2826
2827    /// Implements [super::client::HealthChecks::insert].
2828    fn insert(
2829        &self,
2830        _req: crate::model::health_checks::InsertRequest,
2831        _options: crate::RequestOptions,
2832    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2833    {
2834        gaxi::unimplemented::unimplemented_stub()
2835    }
2836
2837    /// Implements [super::client::HealthChecks::list].
2838    fn list(
2839        &self,
2840        _req: crate::model::health_checks::ListRequest,
2841        _options: crate::RequestOptions,
2842    ) -> impl std::future::Future<
2843        Output = crate::Result<crate::Response<crate::model::HealthCheckList>>,
2844    > + Send {
2845        gaxi::unimplemented::unimplemented_stub()
2846    }
2847
2848    /// Implements [super::client::HealthChecks::patch].
2849    fn patch(
2850        &self,
2851        _req: crate::model::health_checks::PatchRequest,
2852        _options: crate::RequestOptions,
2853    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2854    {
2855        gaxi::unimplemented::unimplemented_stub()
2856    }
2857
2858    /// Implements [super::client::HealthChecks::test_iam_permissions].
2859    fn test_iam_permissions(
2860        &self,
2861        _req: crate::model::health_checks::TestIamPermissionsRequest,
2862        _options: crate::RequestOptions,
2863    ) -> impl std::future::Future<
2864        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2865    > + Send {
2866        gaxi::unimplemented::unimplemented_stub()
2867    }
2868
2869    /// Implements [super::client::HealthChecks::update].
2870    fn update(
2871        &self,
2872        _req: crate::model::health_checks::UpdateRequest,
2873        _options: crate::RequestOptions,
2874    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2875    {
2876        gaxi::unimplemented::unimplemented_stub()
2877    }
2878
2879    /// Implements [super::client::HealthChecks::get_operation].
2880    fn get_operation(
2881        &self,
2882        _req: crate::model::global_operations::GetRequest,
2883        _options: crate::RequestOptions,
2884    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2885    {
2886        gaxi::unimplemented::unimplemented_stub()
2887    }
2888
2889    /// Returns the polling error policy.
2890    ///
2891    /// When mocking, this method is typically irrelevant. Do not try to verify
2892    /// it is called by your mocks.
2893    fn get_polling_error_policy(
2894        &self,
2895        _options: &crate::RequestOptions,
2896    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2897        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2898    }
2899
2900    /// Returns the polling backoff policy.
2901    ///
2902    /// When mocking, this method is typically irrelevant. Do not try to verify
2903    /// it is called by your mocks.
2904    fn get_polling_backoff_policy(
2905        &self,
2906        _options: &crate::RequestOptions,
2907    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2908        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2909    }
2910
2911    #[doc(hidden)]
2912    /// Returns the poller options.
2913    ///
2914    /// When mocking, this method is typically irrelevant. Do not try to verify
2915    /// it is called by your mocks.
2916    fn get_poller_options(
2917        &self,
2918        _options: &crate::RequestOptions,
2919    ) -> google_cloud_lro::PollerOptions {
2920        google_cloud_lro::PollerOptions::default()
2921    }
2922}
2923
2924/// Defines the trait used to implement [super::client::Hosts].
2925///
2926/// Application developers may need to implement this trait to mock
2927/// `client::Hosts`.  In other use-cases, application developers only
2928/// use `client::Hosts` and need not be concerned with this trait or
2929/// its implementations.
2930///
2931/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2932/// too. To avoid breaking applications the trait provides a default
2933/// implementation of each method. Most of these implementations just return an
2934/// error.
2935#[cfg(feature = "hosts")]
2936#[cfg_attr(docsrs, doc(cfg(feature = "hosts")))]
2937pub trait Hosts: std::fmt::Debug + Send + Sync {
2938    /// Implements [super::client::Hosts::get].
2939    fn get(
2940        &self,
2941        _req: crate::model::hosts::GetRequest,
2942        _options: crate::RequestOptions,
2943    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Host>>> + Send
2944    {
2945        gaxi::unimplemented::unimplemented_stub()
2946    }
2947
2948    /// Implements [super::client::Hosts::get_version].
2949    fn get_version(
2950        &self,
2951        _req: crate::model::hosts::GetVersionRequest,
2952        _options: crate::RequestOptions,
2953    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2954    {
2955        gaxi::unimplemented::unimplemented_stub()
2956    }
2957
2958    /// Implements [super::client::Hosts::list].
2959    fn list(
2960        &self,
2961        _req: crate::model::hosts::ListRequest,
2962        _options: crate::RequestOptions,
2963    ) -> impl std::future::Future<
2964        Output = crate::Result<crate::Response<crate::model::HostsListResponse>>,
2965    > + Send {
2966        gaxi::unimplemented::unimplemented_stub()
2967    }
2968
2969    /// Implements [super::client::Hosts::get_operation].
2970    fn get_operation(
2971        &self,
2972        _req: crate::model::zone_operations::GetRequest,
2973        _options: crate::RequestOptions,
2974    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2975    {
2976        gaxi::unimplemented::unimplemented_stub()
2977    }
2978
2979    /// Returns the polling error policy.
2980    ///
2981    /// When mocking, this method is typically irrelevant. Do not try to verify
2982    /// it is called by your mocks.
2983    fn get_polling_error_policy(
2984        &self,
2985        _options: &crate::RequestOptions,
2986    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2987        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2988    }
2989
2990    /// Returns the polling backoff policy.
2991    ///
2992    /// When mocking, this method is typically irrelevant. Do not try to verify
2993    /// it is called by your mocks.
2994    fn get_polling_backoff_policy(
2995        &self,
2996        _options: &crate::RequestOptions,
2997    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2998        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2999    }
3000
3001    #[doc(hidden)]
3002    /// Returns the poller options.
3003    ///
3004    /// When mocking, this method is typically irrelevant. Do not try to verify
3005    /// it is called by your mocks.
3006    fn get_poller_options(
3007        &self,
3008        _options: &crate::RequestOptions,
3009    ) -> google_cloud_lro::PollerOptions {
3010        google_cloud_lro::PollerOptions::default()
3011    }
3012}
3013
3014/// Defines the trait used to implement [super::client::HttpHealthChecks].
3015///
3016/// Application developers may need to implement this trait to mock
3017/// `client::HttpHealthChecks`.  In other use-cases, application developers only
3018/// use `client::HttpHealthChecks` and need not be concerned with this trait or
3019/// its implementations.
3020///
3021/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3022/// too. To avoid breaking applications the trait provides a default
3023/// implementation of each method. Most of these implementations just return an
3024/// error.
3025#[cfg(feature = "http-health-checks")]
3026#[cfg_attr(docsrs, doc(cfg(feature = "http-health-checks")))]
3027pub trait HttpHealthChecks: std::fmt::Debug + Send + Sync {
3028    /// Implements [super::client::HttpHealthChecks::delete].
3029    fn delete(
3030        &self,
3031        _req: crate::model::http_health_checks::DeleteRequest,
3032        _options: crate::RequestOptions,
3033    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3034    {
3035        gaxi::unimplemented::unimplemented_stub()
3036    }
3037
3038    /// Implements [super::client::HttpHealthChecks::get].
3039    fn get(
3040        &self,
3041        _req: crate::model::http_health_checks::GetRequest,
3042        _options: crate::RequestOptions,
3043    ) -> impl std::future::Future<
3044        Output = crate::Result<crate::Response<crate::model::HttpHealthCheck>>,
3045    > + Send {
3046        gaxi::unimplemented::unimplemented_stub()
3047    }
3048
3049    /// Implements [super::client::HttpHealthChecks::insert].
3050    fn insert(
3051        &self,
3052        _req: crate::model::http_health_checks::InsertRequest,
3053        _options: crate::RequestOptions,
3054    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3055    {
3056        gaxi::unimplemented::unimplemented_stub()
3057    }
3058
3059    /// Implements [super::client::HttpHealthChecks::list].
3060    fn list(
3061        &self,
3062        _req: crate::model::http_health_checks::ListRequest,
3063        _options: crate::RequestOptions,
3064    ) -> impl std::future::Future<
3065        Output = crate::Result<crate::Response<crate::model::HttpHealthCheckList>>,
3066    > + Send {
3067        gaxi::unimplemented::unimplemented_stub()
3068    }
3069
3070    /// Implements [super::client::HttpHealthChecks::patch].
3071    fn patch(
3072        &self,
3073        _req: crate::model::http_health_checks::PatchRequest,
3074        _options: crate::RequestOptions,
3075    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3076    {
3077        gaxi::unimplemented::unimplemented_stub()
3078    }
3079
3080    /// Implements [super::client::HttpHealthChecks::test_iam_permissions].
3081    fn test_iam_permissions(
3082        &self,
3083        _req: crate::model::http_health_checks::TestIamPermissionsRequest,
3084        _options: crate::RequestOptions,
3085    ) -> impl std::future::Future<
3086        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3087    > + Send {
3088        gaxi::unimplemented::unimplemented_stub()
3089    }
3090
3091    /// Implements [super::client::HttpHealthChecks::update].
3092    fn update(
3093        &self,
3094        _req: crate::model::http_health_checks::UpdateRequest,
3095        _options: crate::RequestOptions,
3096    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3097    {
3098        gaxi::unimplemented::unimplemented_stub()
3099    }
3100
3101    /// Implements [super::client::HttpHealthChecks::get_operation].
3102    fn get_operation(
3103        &self,
3104        _req: crate::model::global_operations::GetRequest,
3105        _options: crate::RequestOptions,
3106    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3107    {
3108        gaxi::unimplemented::unimplemented_stub()
3109    }
3110
3111    /// Returns the polling error policy.
3112    ///
3113    /// When mocking, this method is typically irrelevant. Do not try to verify
3114    /// it is called by your mocks.
3115    fn get_polling_error_policy(
3116        &self,
3117        _options: &crate::RequestOptions,
3118    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3119        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3120    }
3121
3122    /// Returns the polling backoff policy.
3123    ///
3124    /// When mocking, this method is typically irrelevant. Do not try to verify
3125    /// it is called by your mocks.
3126    fn get_polling_backoff_policy(
3127        &self,
3128        _options: &crate::RequestOptions,
3129    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3130        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3131    }
3132
3133    #[doc(hidden)]
3134    /// Returns the poller options.
3135    ///
3136    /// When mocking, this method is typically irrelevant. Do not try to verify
3137    /// it is called by your mocks.
3138    fn get_poller_options(
3139        &self,
3140        _options: &crate::RequestOptions,
3141    ) -> google_cloud_lro::PollerOptions {
3142        google_cloud_lro::PollerOptions::default()
3143    }
3144}
3145
3146/// Defines the trait used to implement [super::client::HttpsHealthChecks].
3147///
3148/// Application developers may need to implement this trait to mock
3149/// `client::HttpsHealthChecks`.  In other use-cases, application developers only
3150/// use `client::HttpsHealthChecks` and need not be concerned with this trait or
3151/// its implementations.
3152///
3153/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3154/// too. To avoid breaking applications the trait provides a default
3155/// implementation of each method. Most of these implementations just return an
3156/// error.
3157#[cfg(feature = "https-health-checks")]
3158#[cfg_attr(docsrs, doc(cfg(feature = "https-health-checks")))]
3159pub trait HttpsHealthChecks: std::fmt::Debug + Send + Sync {
3160    /// Implements [super::client::HttpsHealthChecks::delete].
3161    fn delete(
3162        &self,
3163        _req: crate::model::https_health_checks::DeleteRequest,
3164        _options: crate::RequestOptions,
3165    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3166    {
3167        gaxi::unimplemented::unimplemented_stub()
3168    }
3169
3170    /// Implements [super::client::HttpsHealthChecks::get].
3171    fn get(
3172        &self,
3173        _req: crate::model::https_health_checks::GetRequest,
3174        _options: crate::RequestOptions,
3175    ) -> impl std::future::Future<
3176        Output = crate::Result<crate::Response<crate::model::HttpsHealthCheck>>,
3177    > + Send {
3178        gaxi::unimplemented::unimplemented_stub()
3179    }
3180
3181    /// Implements [super::client::HttpsHealthChecks::insert].
3182    fn insert(
3183        &self,
3184        _req: crate::model::https_health_checks::InsertRequest,
3185        _options: crate::RequestOptions,
3186    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3187    {
3188        gaxi::unimplemented::unimplemented_stub()
3189    }
3190
3191    /// Implements [super::client::HttpsHealthChecks::list].
3192    fn list(
3193        &self,
3194        _req: crate::model::https_health_checks::ListRequest,
3195        _options: crate::RequestOptions,
3196    ) -> impl std::future::Future<
3197        Output = crate::Result<crate::Response<crate::model::HttpsHealthCheckList>>,
3198    > + Send {
3199        gaxi::unimplemented::unimplemented_stub()
3200    }
3201
3202    /// Implements [super::client::HttpsHealthChecks::patch].
3203    fn patch(
3204        &self,
3205        _req: crate::model::https_health_checks::PatchRequest,
3206        _options: crate::RequestOptions,
3207    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3208    {
3209        gaxi::unimplemented::unimplemented_stub()
3210    }
3211
3212    /// Implements [super::client::HttpsHealthChecks::test_iam_permissions].
3213    fn test_iam_permissions(
3214        &self,
3215        _req: crate::model::https_health_checks::TestIamPermissionsRequest,
3216        _options: crate::RequestOptions,
3217    ) -> impl std::future::Future<
3218        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3219    > + Send {
3220        gaxi::unimplemented::unimplemented_stub()
3221    }
3222
3223    /// Implements [super::client::HttpsHealthChecks::update].
3224    fn update(
3225        &self,
3226        _req: crate::model::https_health_checks::UpdateRequest,
3227        _options: crate::RequestOptions,
3228    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3229    {
3230        gaxi::unimplemented::unimplemented_stub()
3231    }
3232
3233    /// Implements [super::client::HttpsHealthChecks::get_operation].
3234    fn get_operation(
3235        &self,
3236        _req: crate::model::global_operations::GetRequest,
3237        _options: crate::RequestOptions,
3238    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3239    {
3240        gaxi::unimplemented::unimplemented_stub()
3241    }
3242
3243    /// Returns the polling error policy.
3244    ///
3245    /// When mocking, this method is typically irrelevant. Do not try to verify
3246    /// it is called by your mocks.
3247    fn get_polling_error_policy(
3248        &self,
3249        _options: &crate::RequestOptions,
3250    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3251        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3252    }
3253
3254    /// Returns the polling backoff policy.
3255    ///
3256    /// When mocking, this method is typically irrelevant. Do not try to verify
3257    /// it is called by your mocks.
3258    fn get_polling_backoff_policy(
3259        &self,
3260        _options: &crate::RequestOptions,
3261    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3262        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3263    }
3264
3265    #[doc(hidden)]
3266    /// Returns the poller options.
3267    ///
3268    /// When mocking, this method is typically irrelevant. Do not try to verify
3269    /// it is called by your mocks.
3270    fn get_poller_options(
3271        &self,
3272        _options: &crate::RequestOptions,
3273    ) -> google_cloud_lro::PollerOptions {
3274        google_cloud_lro::PollerOptions::default()
3275    }
3276}
3277
3278/// Defines the trait used to implement [super::client::ImageFamilyViews].
3279///
3280/// Application developers may need to implement this trait to mock
3281/// `client::ImageFamilyViews`.  In other use-cases, application developers only
3282/// use `client::ImageFamilyViews` and need not be concerned with this trait or
3283/// its implementations.
3284///
3285/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3286/// too. To avoid breaking applications the trait provides a default
3287/// implementation of each method. Most of these implementations just return an
3288/// error.
3289#[cfg(feature = "image-family-views")]
3290#[cfg_attr(docsrs, doc(cfg(feature = "image-family-views")))]
3291pub trait ImageFamilyViews: std::fmt::Debug + Send + Sync {
3292    /// Implements [super::client::ImageFamilyViews::get].
3293    fn get(
3294        &self,
3295        _req: crate::model::image_family_views::GetRequest,
3296        _options: crate::RequestOptions,
3297    ) -> impl std::future::Future<
3298        Output = crate::Result<crate::Response<crate::model::ImageFamilyView>>,
3299    > + Send {
3300        gaxi::unimplemented::unimplemented_stub()
3301    }
3302}
3303
3304/// Defines the trait used to implement [super::client::Images].
3305///
3306/// Application developers may need to implement this trait to mock
3307/// `client::Images`.  In other use-cases, application developers only
3308/// use `client::Images` and need not be concerned with this trait or
3309/// its implementations.
3310///
3311/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3312/// too. To avoid breaking applications the trait provides a default
3313/// implementation of each method. Most of these implementations just return an
3314/// error.
3315#[cfg(feature = "images")]
3316#[cfg_attr(docsrs, doc(cfg(feature = "images")))]
3317pub trait Images: std::fmt::Debug + Send + Sync {
3318    /// Implements [super::client::Images::delete].
3319    fn delete(
3320        &self,
3321        _req: crate::model::images::DeleteRequest,
3322        _options: crate::RequestOptions,
3323    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3324    {
3325        gaxi::unimplemented::unimplemented_stub()
3326    }
3327
3328    /// Implements [super::client::Images::deprecate].
3329    fn deprecate(
3330        &self,
3331        _req: crate::model::images::DeprecateRequest,
3332        _options: crate::RequestOptions,
3333    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3334    {
3335        gaxi::unimplemented::unimplemented_stub()
3336    }
3337
3338    /// Implements [super::client::Images::get].
3339    fn get(
3340        &self,
3341        _req: crate::model::images::GetRequest,
3342        _options: crate::RequestOptions,
3343    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Image>>> + Send
3344    {
3345        gaxi::unimplemented::unimplemented_stub()
3346    }
3347
3348    /// Implements [super::client::Images::get_from_family].
3349    fn get_from_family(
3350        &self,
3351        _req: crate::model::images::GetFromFamilyRequest,
3352        _options: crate::RequestOptions,
3353    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Image>>> + Send
3354    {
3355        gaxi::unimplemented::unimplemented_stub()
3356    }
3357
3358    /// Implements [super::client::Images::get_iam_policy].
3359    fn get_iam_policy(
3360        &self,
3361        _req: crate::model::images::GetIamPolicyRequest,
3362        _options: crate::RequestOptions,
3363    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
3364    {
3365        gaxi::unimplemented::unimplemented_stub()
3366    }
3367
3368    /// Implements [super::client::Images::insert].
3369    fn insert(
3370        &self,
3371        _req: crate::model::images::InsertRequest,
3372        _options: crate::RequestOptions,
3373    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3374    {
3375        gaxi::unimplemented::unimplemented_stub()
3376    }
3377
3378    /// Implements [super::client::Images::list].
3379    fn list(
3380        &self,
3381        _req: crate::model::images::ListRequest,
3382        _options: crate::RequestOptions,
3383    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ImageList>>> + Send
3384    {
3385        gaxi::unimplemented::unimplemented_stub()
3386    }
3387
3388    /// Implements [super::client::Images::patch].
3389    fn patch(
3390        &self,
3391        _req: crate::model::images::PatchRequest,
3392        _options: crate::RequestOptions,
3393    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3394    {
3395        gaxi::unimplemented::unimplemented_stub()
3396    }
3397
3398    /// Implements [super::client::Images::set_iam_policy].
3399    fn set_iam_policy(
3400        &self,
3401        _req: crate::model::images::SetIamPolicyRequest,
3402        _options: crate::RequestOptions,
3403    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
3404    {
3405        gaxi::unimplemented::unimplemented_stub()
3406    }
3407
3408    /// Implements [super::client::Images::set_labels].
3409    fn set_labels(
3410        &self,
3411        _req: crate::model::images::SetLabelsRequest,
3412        _options: crate::RequestOptions,
3413    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3414    {
3415        gaxi::unimplemented::unimplemented_stub()
3416    }
3417
3418    /// Implements [super::client::Images::test_iam_permissions].
3419    fn test_iam_permissions(
3420        &self,
3421        _req: crate::model::images::TestIamPermissionsRequest,
3422        _options: crate::RequestOptions,
3423    ) -> impl std::future::Future<
3424        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3425    > + Send {
3426        gaxi::unimplemented::unimplemented_stub()
3427    }
3428
3429    /// Implements [super::client::Images::get_operation].
3430    fn get_operation(
3431        &self,
3432        _req: crate::model::global_operations::GetRequest,
3433        _options: crate::RequestOptions,
3434    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3435    {
3436        gaxi::unimplemented::unimplemented_stub()
3437    }
3438
3439    /// Returns the polling error policy.
3440    ///
3441    /// When mocking, this method is typically irrelevant. Do not try to verify
3442    /// it is called by your mocks.
3443    fn get_polling_error_policy(
3444        &self,
3445        _options: &crate::RequestOptions,
3446    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3447        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3448    }
3449
3450    /// Returns the polling backoff policy.
3451    ///
3452    /// When mocking, this method is typically irrelevant. Do not try to verify
3453    /// it is called by your mocks.
3454    fn get_polling_backoff_policy(
3455        &self,
3456        _options: &crate::RequestOptions,
3457    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3458        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3459    }
3460
3461    #[doc(hidden)]
3462    /// Returns the poller options.
3463    ///
3464    /// When mocking, this method is typically irrelevant. Do not try to verify
3465    /// it is called by your mocks.
3466    fn get_poller_options(
3467        &self,
3468        _options: &crate::RequestOptions,
3469    ) -> google_cloud_lro::PollerOptions {
3470        google_cloud_lro::PollerOptions::default()
3471    }
3472}
3473
3474/// Defines the trait used to implement [super::client::InstanceGroupManagerResizeRequests].
3475///
3476/// Application developers may need to implement this trait to mock
3477/// `client::InstanceGroupManagerResizeRequests`.  In other use-cases, application developers only
3478/// use `client::InstanceGroupManagerResizeRequests` and need not be concerned with this trait or
3479/// its implementations.
3480///
3481/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3482/// too. To avoid breaking applications the trait provides a default
3483/// implementation of each method. Most of these implementations just return an
3484/// error.
3485#[cfg(feature = "instance-group-manager-resize-requests")]
3486#[cfg_attr(docsrs, doc(cfg(feature = "instance-group-manager-resize-requests")))]
3487pub trait InstanceGroupManagerResizeRequests: std::fmt::Debug + Send + Sync {
3488    /// Implements [super::client::InstanceGroupManagerResizeRequests::cancel].
3489    fn cancel(
3490        &self,
3491        _req: crate::model::instance_group_manager_resize_requests::CancelRequest,
3492        _options: crate::RequestOptions,
3493    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3494    {
3495        gaxi::unimplemented::unimplemented_stub()
3496    }
3497
3498    /// Implements [super::client::InstanceGroupManagerResizeRequests::delete].
3499    fn delete(
3500        &self,
3501        _req: crate::model::instance_group_manager_resize_requests::DeleteRequest,
3502        _options: crate::RequestOptions,
3503    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3504    {
3505        gaxi::unimplemented::unimplemented_stub()
3506    }
3507
3508    /// Implements [super::client::InstanceGroupManagerResizeRequests::get].
3509    fn get(
3510        &self,
3511        _req: crate::model::instance_group_manager_resize_requests::GetRequest,
3512        _options: crate::RequestOptions,
3513    ) -> impl std::future::Future<
3514        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerResizeRequest>>,
3515    > + Send {
3516        gaxi::unimplemented::unimplemented_stub()
3517    }
3518
3519    /// Implements [super::client::InstanceGroupManagerResizeRequests::insert].
3520    fn insert(
3521        &self,
3522        _req: crate::model::instance_group_manager_resize_requests::InsertRequest,
3523        _options: crate::RequestOptions,
3524    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3525    {
3526        gaxi::unimplemented::unimplemented_stub()
3527    }
3528
3529    /// Implements [super::client::InstanceGroupManagerResizeRequests::list].
3530    fn list(
3531        &self,
3532        _req: crate::model::instance_group_manager_resize_requests::ListRequest,
3533        _options: crate::RequestOptions,
3534    ) -> impl std::future::Future<
3535        Output = crate::Result<
3536            crate::Response<crate::model::InstanceGroupManagerResizeRequestsListResponse>,
3537        >,
3538    > + Send {
3539        gaxi::unimplemented::unimplemented_stub()
3540    }
3541
3542    /// Implements [super::client::InstanceGroupManagerResizeRequests::get_operation].
3543    fn get_operation(
3544        &self,
3545        _req: crate::model::zone_operations::GetRequest,
3546        _options: crate::RequestOptions,
3547    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3548    {
3549        gaxi::unimplemented::unimplemented_stub()
3550    }
3551
3552    /// Returns the polling error policy.
3553    ///
3554    /// When mocking, this method is typically irrelevant. Do not try to verify
3555    /// it is called by your mocks.
3556    fn get_polling_error_policy(
3557        &self,
3558        _options: &crate::RequestOptions,
3559    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3560        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3561    }
3562
3563    /// Returns the polling backoff policy.
3564    ///
3565    /// When mocking, this method is typically irrelevant. Do not try to verify
3566    /// it is called by your mocks.
3567    fn get_polling_backoff_policy(
3568        &self,
3569        _options: &crate::RequestOptions,
3570    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3571        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3572    }
3573
3574    #[doc(hidden)]
3575    /// Returns the poller options.
3576    ///
3577    /// When mocking, this method is typically irrelevant. Do not try to verify
3578    /// it is called by your mocks.
3579    fn get_poller_options(
3580        &self,
3581        _options: &crate::RequestOptions,
3582    ) -> google_cloud_lro::PollerOptions {
3583        google_cloud_lro::PollerOptions::default()
3584    }
3585}
3586
3587/// Defines the trait used to implement [super::client::InstanceGroupManagers].
3588///
3589/// Application developers may need to implement this trait to mock
3590/// `client::InstanceGroupManagers`.  In other use-cases, application developers only
3591/// use `client::InstanceGroupManagers` and need not be concerned with this trait or
3592/// its implementations.
3593///
3594/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3595/// too. To avoid breaking applications the trait provides a default
3596/// implementation of each method. Most of these implementations just return an
3597/// error.
3598#[cfg(feature = "instance-group-managers")]
3599#[cfg_attr(docsrs, doc(cfg(feature = "instance-group-managers")))]
3600pub trait InstanceGroupManagers: std::fmt::Debug + Send + Sync {
3601    /// Implements [super::client::InstanceGroupManagers::abandon_instances].
3602    fn abandon_instances(
3603        &self,
3604        _req: crate::model::instance_group_managers::AbandonInstancesRequest,
3605        _options: crate::RequestOptions,
3606    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3607    {
3608        gaxi::unimplemented::unimplemented_stub()
3609    }
3610
3611    /// Implements [super::client::InstanceGroupManagers::aggregated_list].
3612    fn aggregated_list(
3613        &self,
3614        _req: crate::model::instance_group_managers::AggregatedListRequest,
3615        _options: crate::RequestOptions,
3616    ) -> impl std::future::Future<
3617        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerAggregatedList>>,
3618    > + Send {
3619        gaxi::unimplemented::unimplemented_stub()
3620    }
3621
3622    /// Implements [super::client::InstanceGroupManagers::apply_updates_to_instances].
3623    fn apply_updates_to_instances(
3624        &self,
3625        _req: crate::model::instance_group_managers::ApplyUpdatesToInstancesRequest,
3626        _options: crate::RequestOptions,
3627    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3628    {
3629        gaxi::unimplemented::unimplemented_stub()
3630    }
3631
3632    /// Implements [super::client::InstanceGroupManagers::create_instances].
3633    fn create_instances(
3634        &self,
3635        _req: crate::model::instance_group_managers::CreateInstancesRequest,
3636        _options: crate::RequestOptions,
3637    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3638    {
3639        gaxi::unimplemented::unimplemented_stub()
3640    }
3641
3642    /// Implements [super::client::InstanceGroupManagers::delete].
3643    fn delete(
3644        &self,
3645        _req: crate::model::instance_group_managers::DeleteRequest,
3646        _options: crate::RequestOptions,
3647    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3648    {
3649        gaxi::unimplemented::unimplemented_stub()
3650    }
3651
3652    /// Implements [super::client::InstanceGroupManagers::delete_instances].
3653    fn delete_instances(
3654        &self,
3655        _req: crate::model::instance_group_managers::DeleteInstancesRequest,
3656        _options: crate::RequestOptions,
3657    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3658    {
3659        gaxi::unimplemented::unimplemented_stub()
3660    }
3661
3662    /// Implements [super::client::InstanceGroupManagers::delete_per_instance_configs].
3663    fn delete_per_instance_configs(
3664        &self,
3665        _req: crate::model::instance_group_managers::DeletePerInstanceConfigsRequest,
3666        _options: crate::RequestOptions,
3667    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3668    {
3669        gaxi::unimplemented::unimplemented_stub()
3670    }
3671
3672    /// Implements [super::client::InstanceGroupManagers::get].
3673    fn get(
3674        &self,
3675        _req: crate::model::instance_group_managers::GetRequest,
3676        _options: crate::RequestOptions,
3677    ) -> impl std::future::Future<
3678        Output = crate::Result<crate::Response<crate::model::InstanceGroupManager>>,
3679    > + Send {
3680        gaxi::unimplemented::unimplemented_stub()
3681    }
3682
3683    /// Implements [super::client::InstanceGroupManagers::insert].
3684    fn insert(
3685        &self,
3686        _req: crate::model::instance_group_managers::InsertRequest,
3687        _options: crate::RequestOptions,
3688    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3689    {
3690        gaxi::unimplemented::unimplemented_stub()
3691    }
3692
3693    /// Implements [super::client::InstanceGroupManagers::list].
3694    fn list(
3695        &self,
3696        _req: crate::model::instance_group_managers::ListRequest,
3697        _options: crate::RequestOptions,
3698    ) -> impl std::future::Future<
3699        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerList>>,
3700    > + Send {
3701        gaxi::unimplemented::unimplemented_stub()
3702    }
3703
3704    /// Implements [super::client::InstanceGroupManagers::list_errors].
3705    fn list_errors(
3706        &self,
3707        _req: crate::model::instance_group_managers::ListErrorsRequest,
3708        _options: crate::RequestOptions,
3709    ) -> impl std::future::Future<
3710        Output = crate::Result<
3711            crate::Response<crate::model::InstanceGroupManagersListErrorsResponse>,
3712        >,
3713    > + Send {
3714        gaxi::unimplemented::unimplemented_stub()
3715    }
3716
3717    /// Implements [super::client::InstanceGroupManagers::list_managed_instances].
3718    fn list_managed_instances(
3719        &self,
3720        _req: crate::model::instance_group_managers::ListManagedInstancesRequest,
3721        _options: crate::RequestOptions,
3722    ) -> impl std::future::Future<
3723        Output = crate::Result<
3724            crate::Response<crate::model::InstanceGroupManagersListManagedInstancesResponse>,
3725        >,
3726    > + Send {
3727        gaxi::unimplemented::unimplemented_stub()
3728    }
3729
3730    /// Implements [super::client::InstanceGroupManagers::list_per_instance_configs].
3731    fn list_per_instance_configs(
3732        &self,
3733        _req: crate::model::instance_group_managers::ListPerInstanceConfigsRequest,
3734        _options: crate::RequestOptions,
3735    ) -> impl std::future::Future<
3736        Output = crate::Result<
3737            crate::Response<crate::model::InstanceGroupManagersListPerInstanceConfigsResp>,
3738        >,
3739    > + Send {
3740        gaxi::unimplemented::unimplemented_stub()
3741    }
3742
3743    /// Implements [super::client::InstanceGroupManagers::patch].
3744    fn patch(
3745        &self,
3746        _req: crate::model::instance_group_managers::PatchRequest,
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::InstanceGroupManagers::patch_per_instance_configs].
3754    fn patch_per_instance_configs(
3755        &self,
3756        _req: crate::model::instance_group_managers::PatchPerInstanceConfigsRequest,
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::InstanceGroupManagers::recreate_instances].
3764    fn recreate_instances(
3765        &self,
3766        _req: crate::model::instance_group_managers::RecreateInstancesRequest,
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::InstanceGroupManagers::resize].
3774    fn resize(
3775        &self,
3776        _req: crate::model::instance_group_managers::ResizeRequest,
3777        _options: crate::RequestOptions,
3778    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3779    {
3780        gaxi::unimplemented::unimplemented_stub()
3781    }
3782
3783    /// Implements [super::client::InstanceGroupManagers::resume_instances].
3784    fn resume_instances(
3785        &self,
3786        _req: crate::model::instance_group_managers::ResumeInstancesRequest,
3787        _options: crate::RequestOptions,
3788    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3789    {
3790        gaxi::unimplemented::unimplemented_stub()
3791    }
3792
3793    /// Implements [super::client::InstanceGroupManagers::set_instance_template].
3794    fn set_instance_template(
3795        &self,
3796        _req: crate::model::instance_group_managers::SetInstanceTemplateRequest,
3797        _options: crate::RequestOptions,
3798    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3799    {
3800        gaxi::unimplemented::unimplemented_stub()
3801    }
3802
3803    /// Implements [super::client::InstanceGroupManagers::set_target_pools].
3804    fn set_target_pools(
3805        &self,
3806        _req: crate::model::instance_group_managers::SetTargetPoolsRequest,
3807        _options: crate::RequestOptions,
3808    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3809    {
3810        gaxi::unimplemented::unimplemented_stub()
3811    }
3812
3813    /// Implements [super::client::InstanceGroupManagers::start_instances].
3814    fn start_instances(
3815        &self,
3816        _req: crate::model::instance_group_managers::StartInstancesRequest,
3817        _options: crate::RequestOptions,
3818    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3819    {
3820        gaxi::unimplemented::unimplemented_stub()
3821    }
3822
3823    /// Implements [super::client::InstanceGroupManagers::stop_instances].
3824    fn stop_instances(
3825        &self,
3826        _req: crate::model::instance_group_managers::StopInstancesRequest,
3827        _options: crate::RequestOptions,
3828    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3829    {
3830        gaxi::unimplemented::unimplemented_stub()
3831    }
3832
3833    /// Implements [super::client::InstanceGroupManagers::suspend_instances].
3834    fn suspend_instances(
3835        &self,
3836        _req: crate::model::instance_group_managers::SuspendInstancesRequest,
3837        _options: crate::RequestOptions,
3838    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3839    {
3840        gaxi::unimplemented::unimplemented_stub()
3841    }
3842
3843    /// Implements [super::client::InstanceGroupManagers::update_per_instance_configs].
3844    fn update_per_instance_configs(
3845        &self,
3846        _req: crate::model::instance_group_managers::UpdatePerInstanceConfigsRequest,
3847        _options: crate::RequestOptions,
3848    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3849    {
3850        gaxi::unimplemented::unimplemented_stub()
3851    }
3852
3853    /// Implements [super::client::InstanceGroupManagers::get_operation].
3854    fn get_operation(
3855        &self,
3856        _req: crate::model::zone_operations::GetRequest,
3857        _options: crate::RequestOptions,
3858    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3859    {
3860        gaxi::unimplemented::unimplemented_stub()
3861    }
3862
3863    /// Returns the polling error policy.
3864    ///
3865    /// When mocking, this method is typically irrelevant. Do not try to verify
3866    /// it is called by your mocks.
3867    fn get_polling_error_policy(
3868        &self,
3869        _options: &crate::RequestOptions,
3870    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3871        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3872    }
3873
3874    /// Returns the polling backoff policy.
3875    ///
3876    /// When mocking, this method is typically irrelevant. Do not try to verify
3877    /// it is called by your mocks.
3878    fn get_polling_backoff_policy(
3879        &self,
3880        _options: &crate::RequestOptions,
3881    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3882        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3883    }
3884
3885    #[doc(hidden)]
3886    /// Returns the poller options.
3887    ///
3888    /// When mocking, this method is typically irrelevant. Do not try to verify
3889    /// it is called by your mocks.
3890    fn get_poller_options(
3891        &self,
3892        _options: &crate::RequestOptions,
3893    ) -> google_cloud_lro::PollerOptions {
3894        google_cloud_lro::PollerOptions::default()
3895    }
3896}
3897
3898/// Defines the trait used to implement [super::client::InstanceGroups].
3899///
3900/// Application developers may need to implement this trait to mock
3901/// `client::InstanceGroups`.  In other use-cases, application developers only
3902/// use `client::InstanceGroups` and need not be concerned with this trait or
3903/// its implementations.
3904///
3905/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3906/// too. To avoid breaking applications the trait provides a default
3907/// implementation of each method. Most of these implementations just return an
3908/// error.
3909#[cfg(feature = "instance-groups")]
3910#[cfg_attr(docsrs, doc(cfg(feature = "instance-groups")))]
3911pub trait InstanceGroups: std::fmt::Debug + Send + Sync {
3912    /// Implements [super::client::InstanceGroups::add_instances].
3913    fn add_instances(
3914        &self,
3915        _req: crate::model::instance_groups::AddInstancesRequest,
3916        _options: crate::RequestOptions,
3917    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3918    {
3919        gaxi::unimplemented::unimplemented_stub()
3920    }
3921
3922    /// Implements [super::client::InstanceGroups::aggregated_list].
3923    fn aggregated_list(
3924        &self,
3925        _req: crate::model::instance_groups::AggregatedListRequest,
3926        _options: crate::RequestOptions,
3927    ) -> impl std::future::Future<
3928        Output = crate::Result<crate::Response<crate::model::InstanceGroupAggregatedList>>,
3929    > + Send {
3930        gaxi::unimplemented::unimplemented_stub()
3931    }
3932
3933    /// Implements [super::client::InstanceGroups::delete].
3934    fn delete(
3935        &self,
3936        _req: crate::model::instance_groups::DeleteRequest,
3937        _options: crate::RequestOptions,
3938    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3939    {
3940        gaxi::unimplemented::unimplemented_stub()
3941    }
3942
3943    /// Implements [super::client::InstanceGroups::get].
3944    fn get(
3945        &self,
3946        _req: crate::model::instance_groups::GetRequest,
3947        _options: crate::RequestOptions,
3948    ) -> impl std::future::Future<
3949        Output = crate::Result<crate::Response<crate::model::InstanceGroup>>,
3950    > + Send {
3951        gaxi::unimplemented::unimplemented_stub()
3952    }
3953
3954    /// Implements [super::client::InstanceGroups::insert].
3955    fn insert(
3956        &self,
3957        _req: crate::model::instance_groups::InsertRequest,
3958        _options: crate::RequestOptions,
3959    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3960    {
3961        gaxi::unimplemented::unimplemented_stub()
3962    }
3963
3964    /// Implements [super::client::InstanceGroups::list].
3965    fn list(
3966        &self,
3967        _req: crate::model::instance_groups::ListRequest,
3968        _options: crate::RequestOptions,
3969    ) -> impl std::future::Future<
3970        Output = crate::Result<crate::Response<crate::model::InstanceGroupList>>,
3971    > + Send {
3972        gaxi::unimplemented::unimplemented_stub()
3973    }
3974
3975    /// Implements [super::client::InstanceGroups::list_instances].
3976    fn list_instances(
3977        &self,
3978        _req: crate::model::instance_groups::ListInstancesRequest,
3979        _options: crate::RequestOptions,
3980    ) -> impl std::future::Future<
3981        Output = crate::Result<crate::Response<crate::model::InstanceGroupsListInstances>>,
3982    > + Send {
3983        gaxi::unimplemented::unimplemented_stub()
3984    }
3985
3986    /// Implements [super::client::InstanceGroups::remove_instances].
3987    fn remove_instances(
3988        &self,
3989        _req: crate::model::instance_groups::RemoveInstancesRequest,
3990        _options: crate::RequestOptions,
3991    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3992    {
3993        gaxi::unimplemented::unimplemented_stub()
3994    }
3995
3996    /// Implements [super::client::InstanceGroups::set_named_ports].
3997    fn set_named_ports(
3998        &self,
3999        _req: crate::model::instance_groups::SetNamedPortsRequest,
4000        _options: crate::RequestOptions,
4001    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4002    {
4003        gaxi::unimplemented::unimplemented_stub()
4004    }
4005
4006    /// Implements [super::client::InstanceGroups::test_iam_permissions].
4007    fn test_iam_permissions(
4008        &self,
4009        _req: crate::model::instance_groups::TestIamPermissionsRequest,
4010        _options: crate::RequestOptions,
4011    ) -> impl std::future::Future<
4012        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4013    > + Send {
4014        gaxi::unimplemented::unimplemented_stub()
4015    }
4016
4017    /// Implements [super::client::InstanceGroups::get_operation].
4018    fn get_operation(
4019        &self,
4020        _req: crate::model::zone_operations::GetRequest,
4021        _options: crate::RequestOptions,
4022    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4023    {
4024        gaxi::unimplemented::unimplemented_stub()
4025    }
4026
4027    /// Returns the polling error policy.
4028    ///
4029    /// When mocking, this method is typically irrelevant. Do not try to verify
4030    /// it is called by your mocks.
4031    fn get_polling_error_policy(
4032        &self,
4033        _options: &crate::RequestOptions,
4034    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4035        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4036    }
4037
4038    /// Returns the polling backoff policy.
4039    ///
4040    /// When mocking, this method is typically irrelevant. Do not try to verify
4041    /// it is called by your mocks.
4042    fn get_polling_backoff_policy(
4043        &self,
4044        _options: &crate::RequestOptions,
4045    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4046        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4047    }
4048
4049    #[doc(hidden)]
4050    /// Returns the poller options.
4051    ///
4052    /// When mocking, this method is typically irrelevant. Do not try to verify
4053    /// it is called by your mocks.
4054    fn get_poller_options(
4055        &self,
4056        _options: &crate::RequestOptions,
4057    ) -> google_cloud_lro::PollerOptions {
4058        google_cloud_lro::PollerOptions::default()
4059    }
4060}
4061
4062/// Defines the trait used to implement [super::client::InstanceSettings].
4063///
4064/// Application developers may need to implement this trait to mock
4065/// `client::InstanceSettings`.  In other use-cases, application developers only
4066/// use `client::InstanceSettings` and need not be concerned with this trait or
4067/// its implementations.
4068///
4069/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4070/// too. To avoid breaking applications the trait provides a default
4071/// implementation of each method. Most of these implementations just return an
4072/// error.
4073#[cfg(feature = "instance-settings")]
4074#[cfg_attr(docsrs, doc(cfg(feature = "instance-settings")))]
4075pub trait InstanceSettings: std::fmt::Debug + Send + Sync {
4076    /// Implements [super::client::InstanceSettings::get].
4077    fn get(
4078        &self,
4079        _req: crate::model::instance_settings::GetRequest,
4080        _options: crate::RequestOptions,
4081    ) -> impl std::future::Future<
4082        Output = crate::Result<crate::Response<crate::model::InstanceSettings>>,
4083    > + Send {
4084        gaxi::unimplemented::unimplemented_stub()
4085    }
4086
4087    /// Implements [super::client::InstanceSettings::patch].
4088    fn patch(
4089        &self,
4090        _req: crate::model::instance_settings::PatchRequest,
4091        _options: crate::RequestOptions,
4092    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4093    {
4094        gaxi::unimplemented::unimplemented_stub()
4095    }
4096
4097    /// Implements [super::client::InstanceSettings::get_operation].
4098    fn get_operation(
4099        &self,
4100        _req: crate::model::zone_operations::GetRequest,
4101        _options: crate::RequestOptions,
4102    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4103    {
4104        gaxi::unimplemented::unimplemented_stub()
4105    }
4106
4107    /// Returns the polling error policy.
4108    ///
4109    /// When mocking, this method is typically irrelevant. Do not try to verify
4110    /// it is called by your mocks.
4111    fn get_polling_error_policy(
4112        &self,
4113        _options: &crate::RequestOptions,
4114    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4115        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4116    }
4117
4118    /// Returns the polling backoff policy.
4119    ///
4120    /// When mocking, this method is typically irrelevant. Do not try to verify
4121    /// it is called by your mocks.
4122    fn get_polling_backoff_policy(
4123        &self,
4124        _options: &crate::RequestOptions,
4125    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4126        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4127    }
4128
4129    #[doc(hidden)]
4130    /// Returns the poller options.
4131    ///
4132    /// When mocking, this method is typically irrelevant. Do not try to verify
4133    /// it is called by your mocks.
4134    fn get_poller_options(
4135        &self,
4136        _options: &crate::RequestOptions,
4137    ) -> google_cloud_lro::PollerOptions {
4138        google_cloud_lro::PollerOptions::default()
4139    }
4140}
4141
4142/// Defines the trait used to implement [super::client::InstanceTemplates].
4143///
4144/// Application developers may need to implement this trait to mock
4145/// `client::InstanceTemplates`.  In other use-cases, application developers only
4146/// use `client::InstanceTemplates` and need not be concerned with this trait or
4147/// its implementations.
4148///
4149/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4150/// too. To avoid breaking applications the trait provides a default
4151/// implementation of each method. Most of these implementations just return an
4152/// error.
4153#[cfg(feature = "instance-templates")]
4154#[cfg_attr(docsrs, doc(cfg(feature = "instance-templates")))]
4155pub trait InstanceTemplates: std::fmt::Debug + Send + Sync {
4156    /// Implements [super::client::InstanceTemplates::aggregated_list].
4157    fn aggregated_list(
4158        &self,
4159        _req: crate::model::instance_templates::AggregatedListRequest,
4160        _options: crate::RequestOptions,
4161    ) -> impl std::future::Future<
4162        Output = crate::Result<crate::Response<crate::model::InstanceTemplateAggregatedList>>,
4163    > + Send {
4164        gaxi::unimplemented::unimplemented_stub()
4165    }
4166
4167    /// Implements [super::client::InstanceTemplates::delete].
4168    fn delete(
4169        &self,
4170        _req: crate::model::instance_templates::DeleteRequest,
4171        _options: crate::RequestOptions,
4172    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4173    {
4174        gaxi::unimplemented::unimplemented_stub()
4175    }
4176
4177    /// Implements [super::client::InstanceTemplates::get].
4178    fn get(
4179        &self,
4180        _req: crate::model::instance_templates::GetRequest,
4181        _options: crate::RequestOptions,
4182    ) -> impl std::future::Future<
4183        Output = crate::Result<crate::Response<crate::model::InstanceTemplate>>,
4184    > + Send {
4185        gaxi::unimplemented::unimplemented_stub()
4186    }
4187
4188    /// Implements [super::client::InstanceTemplates::get_iam_policy].
4189    fn get_iam_policy(
4190        &self,
4191        _req: crate::model::instance_templates::GetIamPolicyRequest,
4192        _options: crate::RequestOptions,
4193    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4194    {
4195        gaxi::unimplemented::unimplemented_stub()
4196    }
4197
4198    /// Implements [super::client::InstanceTemplates::insert].
4199    fn insert(
4200        &self,
4201        _req: crate::model::instance_templates::InsertRequest,
4202        _options: crate::RequestOptions,
4203    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4204    {
4205        gaxi::unimplemented::unimplemented_stub()
4206    }
4207
4208    /// Implements [super::client::InstanceTemplates::list].
4209    fn list(
4210        &self,
4211        _req: crate::model::instance_templates::ListRequest,
4212        _options: crate::RequestOptions,
4213    ) -> impl std::future::Future<
4214        Output = crate::Result<crate::Response<crate::model::InstanceTemplateList>>,
4215    > + Send {
4216        gaxi::unimplemented::unimplemented_stub()
4217    }
4218
4219    /// Implements [super::client::InstanceTemplates::set_iam_policy].
4220    fn set_iam_policy(
4221        &self,
4222        _req: crate::model::instance_templates::SetIamPolicyRequest,
4223        _options: crate::RequestOptions,
4224    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4225    {
4226        gaxi::unimplemented::unimplemented_stub()
4227    }
4228
4229    /// Implements [super::client::InstanceTemplates::test_iam_permissions].
4230    fn test_iam_permissions(
4231        &self,
4232        _req: crate::model::instance_templates::TestIamPermissionsRequest,
4233        _options: crate::RequestOptions,
4234    ) -> impl std::future::Future<
4235        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4236    > + Send {
4237        gaxi::unimplemented::unimplemented_stub()
4238    }
4239
4240    /// Implements [super::client::InstanceTemplates::get_operation].
4241    fn get_operation(
4242        &self,
4243        _req: crate::model::global_operations::GetRequest,
4244        _options: crate::RequestOptions,
4245    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4246    {
4247        gaxi::unimplemented::unimplemented_stub()
4248    }
4249
4250    /// Returns the polling error policy.
4251    ///
4252    /// When mocking, this method is typically irrelevant. Do not try to verify
4253    /// it is called by your mocks.
4254    fn get_polling_error_policy(
4255        &self,
4256        _options: &crate::RequestOptions,
4257    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4258        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4259    }
4260
4261    /// Returns the polling backoff policy.
4262    ///
4263    /// When mocking, this method is typically irrelevant. Do not try to verify
4264    /// it is called by your mocks.
4265    fn get_polling_backoff_policy(
4266        &self,
4267        _options: &crate::RequestOptions,
4268    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4269        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4270    }
4271
4272    #[doc(hidden)]
4273    /// Returns the poller options.
4274    ///
4275    /// When mocking, this method is typically irrelevant. Do not try to verify
4276    /// it is called by your mocks.
4277    fn get_poller_options(
4278        &self,
4279        _options: &crate::RequestOptions,
4280    ) -> google_cloud_lro::PollerOptions {
4281        google_cloud_lro::PollerOptions::default()
4282    }
4283}
4284
4285/// Defines the trait used to implement [super::client::Instances].
4286///
4287/// Application developers may need to implement this trait to mock
4288/// `client::Instances`.  In other use-cases, application developers only
4289/// use `client::Instances` and need not be concerned with this trait or
4290/// its implementations.
4291///
4292/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4293/// too. To avoid breaking applications the trait provides a default
4294/// implementation of each method. Most of these implementations just return an
4295/// error.
4296#[cfg(feature = "instances")]
4297#[cfg_attr(docsrs, doc(cfg(feature = "instances")))]
4298pub trait Instances: std::fmt::Debug + Send + Sync {
4299    /// Implements [super::client::Instances::add_access_config].
4300    fn add_access_config(
4301        &self,
4302        _req: crate::model::instances::AddAccessConfigRequest,
4303        _options: crate::RequestOptions,
4304    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4305    {
4306        gaxi::unimplemented::unimplemented_stub()
4307    }
4308
4309    /// Implements [super::client::Instances::add_network_interface].
4310    fn add_network_interface(
4311        &self,
4312        _req: crate::model::instances::AddNetworkInterfaceRequest,
4313        _options: crate::RequestOptions,
4314    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4315    {
4316        gaxi::unimplemented::unimplemented_stub()
4317    }
4318
4319    /// Implements [super::client::Instances::add_resource_policies].
4320    fn add_resource_policies(
4321        &self,
4322        _req: crate::model::instances::AddResourcePoliciesRequest,
4323        _options: crate::RequestOptions,
4324    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4325    {
4326        gaxi::unimplemented::unimplemented_stub()
4327    }
4328
4329    /// Implements [super::client::Instances::aggregated_list].
4330    fn aggregated_list(
4331        &self,
4332        _req: crate::model::instances::AggregatedListRequest,
4333        _options: crate::RequestOptions,
4334    ) -> impl std::future::Future<
4335        Output = crate::Result<crate::Response<crate::model::InstanceAggregatedList>>,
4336    > + Send {
4337        gaxi::unimplemented::unimplemented_stub()
4338    }
4339
4340    /// Implements [super::client::Instances::attach_disk].
4341    fn attach_disk(
4342        &self,
4343        _req: crate::model::instances::AttachDiskRequest,
4344        _options: crate::RequestOptions,
4345    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4346    {
4347        gaxi::unimplemented::unimplemented_stub()
4348    }
4349
4350    /// Implements [super::client::Instances::bulk_insert].
4351    fn bulk_insert(
4352        &self,
4353        _req: crate::model::instances::BulkInsertRequest,
4354        _options: crate::RequestOptions,
4355    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4356    {
4357        gaxi::unimplemented::unimplemented_stub()
4358    }
4359
4360    /// Implements [super::client::Instances::delete].
4361    fn delete(
4362        &self,
4363        _req: crate::model::instances::DeleteRequest,
4364        _options: crate::RequestOptions,
4365    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4366    {
4367        gaxi::unimplemented::unimplemented_stub()
4368    }
4369
4370    /// Implements [super::client::Instances::delete_access_config].
4371    fn delete_access_config(
4372        &self,
4373        _req: crate::model::instances::DeleteAccessConfigRequest,
4374        _options: crate::RequestOptions,
4375    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4376    {
4377        gaxi::unimplemented::unimplemented_stub()
4378    }
4379
4380    /// Implements [super::client::Instances::delete_network_interface].
4381    fn delete_network_interface(
4382        &self,
4383        _req: crate::model::instances::DeleteNetworkInterfaceRequest,
4384        _options: crate::RequestOptions,
4385    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4386    {
4387        gaxi::unimplemented::unimplemented_stub()
4388    }
4389
4390    /// Implements [super::client::Instances::detach_disk].
4391    fn detach_disk(
4392        &self,
4393        _req: crate::model::instances::DetachDiskRequest,
4394        _options: crate::RequestOptions,
4395    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4396    {
4397        gaxi::unimplemented::unimplemented_stub()
4398    }
4399
4400    /// Implements [super::client::Instances::get].
4401    fn get(
4402        &self,
4403        _req: crate::model::instances::GetRequest,
4404        _options: crate::RequestOptions,
4405    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Instance>>> + Send
4406    {
4407        gaxi::unimplemented::unimplemented_stub()
4408    }
4409
4410    /// Implements [super::client::Instances::get_effective_firewalls].
4411    fn get_effective_firewalls(
4412        &self,
4413        _req: crate::model::instances::GetEffectiveFirewallsRequest,
4414        _options: crate::RequestOptions,
4415    ) -> impl std::future::Future<
4416        Output = crate::Result<
4417            crate::Response<crate::model::InstancesGetEffectiveFirewallsResponse>,
4418        >,
4419    > + Send {
4420        gaxi::unimplemented::unimplemented_stub()
4421    }
4422
4423    /// Implements [super::client::Instances::get_guest_attributes].
4424    fn get_guest_attributes(
4425        &self,
4426        _req: crate::model::instances::GetGuestAttributesRequest,
4427        _options: crate::RequestOptions,
4428    ) -> impl std::future::Future<
4429        Output = crate::Result<crate::Response<crate::model::GuestAttributes>>,
4430    > + Send {
4431        gaxi::unimplemented::unimplemented_stub()
4432    }
4433
4434    /// Implements [super::client::Instances::get_iam_policy].
4435    fn get_iam_policy(
4436        &self,
4437        _req: crate::model::instances::GetIamPolicyRequest,
4438        _options: crate::RequestOptions,
4439    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4440    {
4441        gaxi::unimplemented::unimplemented_stub()
4442    }
4443
4444    /// Implements [super::client::Instances::get_screenshot].
4445    fn get_screenshot(
4446        &self,
4447        _req: crate::model::instances::GetScreenshotRequest,
4448        _options: crate::RequestOptions,
4449    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Screenshot>>> + Send
4450    {
4451        gaxi::unimplemented::unimplemented_stub()
4452    }
4453
4454    /// Implements [super::client::Instances::get_serial_port_output].
4455    fn get_serial_port_output(
4456        &self,
4457        _req: crate::model::instances::GetSerialPortOutputRequest,
4458        _options: crate::RequestOptions,
4459    ) -> impl std::future::Future<
4460        Output = crate::Result<crate::Response<crate::model::SerialPortOutput>>,
4461    > + Send {
4462        gaxi::unimplemented::unimplemented_stub()
4463    }
4464
4465    /// Implements [super::client::Instances::get_shielded_instance_identity].
4466    fn get_shielded_instance_identity(
4467        &self,
4468        _req: crate::model::instances::GetShieldedInstanceIdentityRequest,
4469        _options: crate::RequestOptions,
4470    ) -> impl std::future::Future<
4471        Output = crate::Result<crate::Response<crate::model::ShieldedInstanceIdentity>>,
4472    > + Send {
4473        gaxi::unimplemented::unimplemented_stub()
4474    }
4475
4476    /// Implements [super::client::Instances::insert].
4477    fn insert(
4478        &self,
4479        _req: crate::model::instances::InsertRequest,
4480        _options: crate::RequestOptions,
4481    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4482    {
4483        gaxi::unimplemented::unimplemented_stub()
4484    }
4485
4486    /// Implements [super::client::Instances::list].
4487    fn list(
4488        &self,
4489        _req: crate::model::instances::ListRequest,
4490        _options: crate::RequestOptions,
4491    ) -> impl std::future::Future<
4492        Output = crate::Result<crate::Response<crate::model::InstanceList>>,
4493    > + Send {
4494        gaxi::unimplemented::unimplemented_stub()
4495    }
4496
4497    /// Implements [super::client::Instances::list_referrers].
4498    fn list_referrers(
4499        &self,
4500        _req: crate::model::instances::ListReferrersRequest,
4501        _options: crate::RequestOptions,
4502    ) -> impl std::future::Future<
4503        Output = crate::Result<crate::Response<crate::model::InstanceListReferrers>>,
4504    > + Send {
4505        gaxi::unimplemented::unimplemented_stub()
4506    }
4507
4508    /// Implements [super::client::Instances::perform_maintenance].
4509    fn perform_maintenance(
4510        &self,
4511        _req: crate::model::instances::PerformMaintenanceRequest,
4512        _options: crate::RequestOptions,
4513    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4514    {
4515        gaxi::unimplemented::unimplemented_stub()
4516    }
4517
4518    /// Implements [super::client::Instances::remove_resource_policies].
4519    fn remove_resource_policies(
4520        &self,
4521        _req: crate::model::instances::RemoveResourcePoliciesRequest,
4522        _options: crate::RequestOptions,
4523    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4524    {
4525        gaxi::unimplemented::unimplemented_stub()
4526    }
4527
4528    /// Implements [super::client::Instances::report_host_as_faulty].
4529    fn report_host_as_faulty(
4530        &self,
4531        _req: crate::model::instances::ReportHostAsFaultyRequest,
4532        _options: crate::RequestOptions,
4533    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4534    {
4535        gaxi::unimplemented::unimplemented_stub()
4536    }
4537
4538    /// Implements [super::client::Instances::reset].
4539    fn reset(
4540        &self,
4541        _req: crate::model::instances::ResetRequest,
4542        _options: crate::RequestOptions,
4543    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4544    {
4545        gaxi::unimplemented::unimplemented_stub()
4546    }
4547
4548    /// Implements [super::client::Instances::resume].
4549    fn resume(
4550        &self,
4551        _req: crate::model::instances::ResumeRequest,
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    /// Implements [super::client::Instances::send_diagnostic_interrupt].
4559    fn send_diagnostic_interrupt(
4560        &self,
4561        _req: crate::model::instances::SendDiagnosticInterruptRequest,
4562        _options: crate::RequestOptions,
4563    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
4564        gaxi::unimplemented::unimplemented_stub()
4565    }
4566
4567    /// Implements [super::client::Instances::set_deletion_protection].
4568    fn set_deletion_protection(
4569        &self,
4570        _req: crate::model::instances::SetDeletionProtectionRequest,
4571        _options: crate::RequestOptions,
4572    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4573    {
4574        gaxi::unimplemented::unimplemented_stub()
4575    }
4576
4577    /// Implements [super::client::Instances::set_disk_auto_delete].
4578    fn set_disk_auto_delete(
4579        &self,
4580        _req: crate::model::instances::SetDiskAutoDeleteRequest,
4581        _options: crate::RequestOptions,
4582    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4583    {
4584        gaxi::unimplemented::unimplemented_stub()
4585    }
4586
4587    /// Implements [super::client::Instances::set_iam_policy].
4588    fn set_iam_policy(
4589        &self,
4590        _req: crate::model::instances::SetIamPolicyRequest,
4591        _options: crate::RequestOptions,
4592    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4593    {
4594        gaxi::unimplemented::unimplemented_stub()
4595    }
4596
4597    /// Implements [super::client::Instances::set_labels].
4598    fn set_labels(
4599        &self,
4600        _req: crate::model::instances::SetLabelsRequest,
4601        _options: crate::RequestOptions,
4602    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4603    {
4604        gaxi::unimplemented::unimplemented_stub()
4605    }
4606
4607    /// Implements [super::client::Instances::set_machine_resources].
4608    fn set_machine_resources(
4609        &self,
4610        _req: crate::model::instances::SetMachineResourcesRequest,
4611        _options: crate::RequestOptions,
4612    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4613    {
4614        gaxi::unimplemented::unimplemented_stub()
4615    }
4616
4617    /// Implements [super::client::Instances::set_machine_type].
4618    fn set_machine_type(
4619        &self,
4620        _req: crate::model::instances::SetMachineTypeRequest,
4621        _options: crate::RequestOptions,
4622    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4623    {
4624        gaxi::unimplemented::unimplemented_stub()
4625    }
4626
4627    /// Implements [super::client::Instances::set_metadata].
4628    fn set_metadata(
4629        &self,
4630        _req: crate::model::instances::SetMetadataRequest,
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::Instances::set_min_cpu_platform].
4638    fn set_min_cpu_platform(
4639        &self,
4640        _req: crate::model::instances::SetMinCpuPlatformRequest,
4641        _options: crate::RequestOptions,
4642    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4643    {
4644        gaxi::unimplemented::unimplemented_stub()
4645    }
4646
4647    /// Implements [super::client::Instances::set_name].
4648    fn set_name(
4649        &self,
4650        _req: crate::model::instances::SetNameRequest,
4651        _options: crate::RequestOptions,
4652    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4653    {
4654        gaxi::unimplemented::unimplemented_stub()
4655    }
4656
4657    /// Implements [super::client::Instances::set_scheduling].
4658    fn set_scheduling(
4659        &self,
4660        _req: crate::model::instances::SetSchedulingRequest,
4661        _options: crate::RequestOptions,
4662    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4663    {
4664        gaxi::unimplemented::unimplemented_stub()
4665    }
4666
4667    /// Implements [super::client::Instances::set_security_policy].
4668    fn set_security_policy(
4669        &self,
4670        _req: crate::model::instances::SetSecurityPolicyRequest,
4671        _options: crate::RequestOptions,
4672    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4673    {
4674        gaxi::unimplemented::unimplemented_stub()
4675    }
4676
4677    /// Implements [super::client::Instances::set_service_account].
4678    fn set_service_account(
4679        &self,
4680        _req: crate::model::instances::SetServiceAccountRequest,
4681        _options: crate::RequestOptions,
4682    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4683    {
4684        gaxi::unimplemented::unimplemented_stub()
4685    }
4686
4687    /// Implements [super::client::Instances::set_shielded_instance_integrity_policy].
4688    fn set_shielded_instance_integrity_policy(
4689        &self,
4690        _req: crate::model::instances::SetShieldedInstanceIntegrityPolicyRequest,
4691        _options: crate::RequestOptions,
4692    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4693    {
4694        gaxi::unimplemented::unimplemented_stub()
4695    }
4696
4697    /// Implements [super::client::Instances::set_tags].
4698    fn set_tags(
4699        &self,
4700        _req: crate::model::instances::SetTagsRequest,
4701        _options: crate::RequestOptions,
4702    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4703    {
4704        gaxi::unimplemented::unimplemented_stub()
4705    }
4706
4707    /// Implements [super::client::Instances::simulate_maintenance_event].
4708    fn simulate_maintenance_event(
4709        &self,
4710        _req: crate::model::instances::SimulateMaintenanceEventRequest,
4711        _options: crate::RequestOptions,
4712    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4713    {
4714        gaxi::unimplemented::unimplemented_stub()
4715    }
4716
4717    /// Implements [super::client::Instances::start].
4718    fn start(
4719        &self,
4720        _req: crate::model::instances::StartRequest,
4721        _options: crate::RequestOptions,
4722    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4723    {
4724        gaxi::unimplemented::unimplemented_stub()
4725    }
4726
4727    /// Implements [super::client::Instances::start_with_encryption_key].
4728    fn start_with_encryption_key(
4729        &self,
4730        _req: crate::model::instances::StartWithEncryptionKeyRequest,
4731        _options: crate::RequestOptions,
4732    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4733    {
4734        gaxi::unimplemented::unimplemented_stub()
4735    }
4736
4737    /// Implements [super::client::Instances::stop].
4738    fn stop(
4739        &self,
4740        _req: crate::model::instances::StopRequest,
4741        _options: crate::RequestOptions,
4742    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4743    {
4744        gaxi::unimplemented::unimplemented_stub()
4745    }
4746
4747    /// Implements [super::client::Instances::suspend].
4748    fn suspend(
4749        &self,
4750        _req: crate::model::instances::SuspendRequest,
4751        _options: crate::RequestOptions,
4752    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4753    {
4754        gaxi::unimplemented::unimplemented_stub()
4755    }
4756
4757    /// Implements [super::client::Instances::test_iam_permissions].
4758    fn test_iam_permissions(
4759        &self,
4760        _req: crate::model::instances::TestIamPermissionsRequest,
4761        _options: crate::RequestOptions,
4762    ) -> impl std::future::Future<
4763        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4764    > + Send {
4765        gaxi::unimplemented::unimplemented_stub()
4766    }
4767
4768    /// Implements [super::client::Instances::update].
4769    fn update(
4770        &self,
4771        _req: crate::model::instances::UpdateRequest,
4772        _options: crate::RequestOptions,
4773    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4774    {
4775        gaxi::unimplemented::unimplemented_stub()
4776    }
4777
4778    /// Implements [super::client::Instances::update_access_config].
4779    fn update_access_config(
4780        &self,
4781        _req: crate::model::instances::UpdateAccessConfigRequest,
4782        _options: crate::RequestOptions,
4783    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4784    {
4785        gaxi::unimplemented::unimplemented_stub()
4786    }
4787
4788    /// Implements [super::client::Instances::update_display_device].
4789    fn update_display_device(
4790        &self,
4791        _req: crate::model::instances::UpdateDisplayDeviceRequest,
4792        _options: crate::RequestOptions,
4793    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4794    {
4795        gaxi::unimplemented::unimplemented_stub()
4796    }
4797
4798    /// Implements [super::client::Instances::update_network_interface].
4799    fn update_network_interface(
4800        &self,
4801        _req: crate::model::instances::UpdateNetworkInterfaceRequest,
4802        _options: crate::RequestOptions,
4803    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4804    {
4805        gaxi::unimplemented::unimplemented_stub()
4806    }
4807
4808    /// Implements [super::client::Instances::update_shielded_instance_config].
4809    fn update_shielded_instance_config(
4810        &self,
4811        _req: crate::model::instances::UpdateShieldedInstanceConfigRequest,
4812        _options: crate::RequestOptions,
4813    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4814    {
4815        gaxi::unimplemented::unimplemented_stub()
4816    }
4817
4818    /// Implements [super::client::Instances::get_operation].
4819    fn get_operation(
4820        &self,
4821        _req: crate::model::zone_operations::GetRequest,
4822        _options: crate::RequestOptions,
4823    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4824    {
4825        gaxi::unimplemented::unimplemented_stub()
4826    }
4827
4828    /// Returns the polling error policy.
4829    ///
4830    /// When mocking, this method is typically irrelevant. Do not try to verify
4831    /// it is called by your mocks.
4832    fn get_polling_error_policy(
4833        &self,
4834        _options: &crate::RequestOptions,
4835    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4836        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4837    }
4838
4839    /// Returns the polling backoff policy.
4840    ///
4841    /// When mocking, this method is typically irrelevant. Do not try to verify
4842    /// it is called by your mocks.
4843    fn get_polling_backoff_policy(
4844        &self,
4845        _options: &crate::RequestOptions,
4846    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4847        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4848    }
4849
4850    #[doc(hidden)]
4851    /// Returns the poller options.
4852    ///
4853    /// When mocking, this method is typically irrelevant. Do not try to verify
4854    /// it is called by your mocks.
4855    fn get_poller_options(
4856        &self,
4857        _options: &crate::RequestOptions,
4858    ) -> google_cloud_lro::PollerOptions {
4859        google_cloud_lro::PollerOptions::default()
4860    }
4861}
4862
4863/// Defines the trait used to implement [super::client::InstantSnapshotGroups].
4864///
4865/// Application developers may need to implement this trait to mock
4866/// `client::InstantSnapshotGroups`.  In other use-cases, application developers only
4867/// use `client::InstantSnapshotGroups` and need not be concerned with this trait or
4868/// its implementations.
4869///
4870/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4871/// too. To avoid breaking applications the trait provides a default
4872/// implementation of each method. Most of these implementations just return an
4873/// error.
4874#[cfg(feature = "instant-snapshot-groups")]
4875#[cfg_attr(docsrs, doc(cfg(feature = "instant-snapshot-groups")))]
4876pub trait InstantSnapshotGroups: std::fmt::Debug + Send + Sync {
4877    /// Implements [super::client::InstantSnapshotGroups::delete].
4878    fn delete(
4879        &self,
4880        _req: crate::model::instant_snapshot_groups::DeleteRequest,
4881        _options: crate::RequestOptions,
4882    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4883    {
4884        gaxi::unimplemented::unimplemented_stub()
4885    }
4886
4887    /// Implements [super::client::InstantSnapshotGroups::get].
4888    fn get(
4889        &self,
4890        _req: crate::model::instant_snapshot_groups::GetRequest,
4891        _options: crate::RequestOptions,
4892    ) -> impl std::future::Future<
4893        Output = crate::Result<crate::Response<crate::model::InstantSnapshotGroup>>,
4894    > + Send {
4895        gaxi::unimplemented::unimplemented_stub()
4896    }
4897
4898    /// Implements [super::client::InstantSnapshotGroups::get_iam_policy].
4899    fn get_iam_policy(
4900        &self,
4901        _req: crate::model::instant_snapshot_groups::GetIamPolicyRequest,
4902        _options: crate::RequestOptions,
4903    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4904    {
4905        gaxi::unimplemented::unimplemented_stub()
4906    }
4907
4908    /// Implements [super::client::InstantSnapshotGroups::insert].
4909    fn insert(
4910        &self,
4911        _req: crate::model::instant_snapshot_groups::InsertRequest,
4912        _options: crate::RequestOptions,
4913    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4914    {
4915        gaxi::unimplemented::unimplemented_stub()
4916    }
4917
4918    /// Implements [super::client::InstantSnapshotGroups::list].
4919    fn list(
4920        &self,
4921        _req: crate::model::instant_snapshot_groups::ListRequest,
4922        _options: crate::RequestOptions,
4923    ) -> impl std::future::Future<
4924        Output = crate::Result<crate::Response<crate::model::ListInstantSnapshotGroups>>,
4925    > + Send {
4926        gaxi::unimplemented::unimplemented_stub()
4927    }
4928
4929    /// Implements [super::client::InstantSnapshotGroups::set_iam_policy].
4930    fn set_iam_policy(
4931        &self,
4932        _req: crate::model::instant_snapshot_groups::SetIamPolicyRequest,
4933        _options: crate::RequestOptions,
4934    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4935    {
4936        gaxi::unimplemented::unimplemented_stub()
4937    }
4938
4939    /// Implements [super::client::InstantSnapshotGroups::test_iam_permissions].
4940    fn test_iam_permissions(
4941        &self,
4942        _req: crate::model::instant_snapshot_groups::TestIamPermissionsRequest,
4943        _options: crate::RequestOptions,
4944    ) -> impl std::future::Future<
4945        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4946    > + Send {
4947        gaxi::unimplemented::unimplemented_stub()
4948    }
4949
4950    /// Implements [super::client::InstantSnapshotGroups::get_operation].
4951    fn get_operation(
4952        &self,
4953        _req: crate::model::zone_operations::GetRequest,
4954        _options: crate::RequestOptions,
4955    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4956    {
4957        gaxi::unimplemented::unimplemented_stub()
4958    }
4959
4960    /// Returns the polling error policy.
4961    ///
4962    /// When mocking, this method is typically irrelevant. Do not try to verify
4963    /// it is called by your mocks.
4964    fn get_polling_error_policy(
4965        &self,
4966        _options: &crate::RequestOptions,
4967    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4968        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4969    }
4970
4971    /// Returns the polling backoff policy.
4972    ///
4973    /// When mocking, this method is typically irrelevant. Do not try to verify
4974    /// it is called by your mocks.
4975    fn get_polling_backoff_policy(
4976        &self,
4977        _options: &crate::RequestOptions,
4978    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4979        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4980    }
4981
4982    #[doc(hidden)]
4983    /// Returns the poller options.
4984    ///
4985    /// When mocking, this method is typically irrelevant. Do not try to verify
4986    /// it is called by your mocks.
4987    fn get_poller_options(
4988        &self,
4989        _options: &crate::RequestOptions,
4990    ) -> google_cloud_lro::PollerOptions {
4991        google_cloud_lro::PollerOptions::default()
4992    }
4993}
4994
4995/// Defines the trait used to implement [super::client::InstantSnapshots].
4996///
4997/// Application developers may need to implement this trait to mock
4998/// `client::InstantSnapshots`.  In other use-cases, application developers only
4999/// use `client::InstantSnapshots` and need not be concerned with this trait or
5000/// its implementations.
5001///
5002/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5003/// too. To avoid breaking applications the trait provides a default
5004/// implementation of each method. Most of these implementations just return an
5005/// error.
5006#[cfg(feature = "instant-snapshots")]
5007#[cfg_attr(docsrs, doc(cfg(feature = "instant-snapshots")))]
5008pub trait InstantSnapshots: std::fmt::Debug + Send + Sync {
5009    /// Implements [super::client::InstantSnapshots::aggregated_list].
5010    fn aggregated_list(
5011        &self,
5012        _req: crate::model::instant_snapshots::AggregatedListRequest,
5013        _options: crate::RequestOptions,
5014    ) -> impl std::future::Future<
5015        Output = crate::Result<crate::Response<crate::model::InstantSnapshotAggregatedList>>,
5016    > + Send {
5017        gaxi::unimplemented::unimplemented_stub()
5018    }
5019
5020    /// Implements [super::client::InstantSnapshots::delete].
5021    fn delete(
5022        &self,
5023        _req: crate::model::instant_snapshots::DeleteRequest,
5024        _options: crate::RequestOptions,
5025    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5026    {
5027        gaxi::unimplemented::unimplemented_stub()
5028    }
5029
5030    /// Implements [super::client::InstantSnapshots::get].
5031    fn get(
5032        &self,
5033        _req: crate::model::instant_snapshots::GetRequest,
5034        _options: crate::RequestOptions,
5035    ) -> impl std::future::Future<
5036        Output = crate::Result<crate::Response<crate::model::InstantSnapshot>>,
5037    > + Send {
5038        gaxi::unimplemented::unimplemented_stub()
5039    }
5040
5041    /// Implements [super::client::InstantSnapshots::get_iam_policy].
5042    fn get_iam_policy(
5043        &self,
5044        _req: crate::model::instant_snapshots::GetIamPolicyRequest,
5045        _options: crate::RequestOptions,
5046    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5047    {
5048        gaxi::unimplemented::unimplemented_stub()
5049    }
5050
5051    /// Implements [super::client::InstantSnapshots::insert].
5052    fn insert(
5053        &self,
5054        _req: crate::model::instant_snapshots::InsertRequest,
5055        _options: crate::RequestOptions,
5056    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5057    {
5058        gaxi::unimplemented::unimplemented_stub()
5059    }
5060
5061    /// Implements [super::client::InstantSnapshots::list].
5062    fn list(
5063        &self,
5064        _req: crate::model::instant_snapshots::ListRequest,
5065        _options: crate::RequestOptions,
5066    ) -> impl std::future::Future<
5067        Output = crate::Result<crate::Response<crate::model::InstantSnapshotList>>,
5068    > + Send {
5069        gaxi::unimplemented::unimplemented_stub()
5070    }
5071
5072    /// Implements [super::client::InstantSnapshots::set_iam_policy].
5073    fn set_iam_policy(
5074        &self,
5075        _req: crate::model::instant_snapshots::SetIamPolicyRequest,
5076        _options: crate::RequestOptions,
5077    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5078    {
5079        gaxi::unimplemented::unimplemented_stub()
5080    }
5081
5082    /// Implements [super::client::InstantSnapshots::set_labels].
5083    fn set_labels(
5084        &self,
5085        _req: crate::model::instant_snapshots::SetLabelsRequest,
5086        _options: crate::RequestOptions,
5087    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5088    {
5089        gaxi::unimplemented::unimplemented_stub()
5090    }
5091
5092    /// Implements [super::client::InstantSnapshots::test_iam_permissions].
5093    fn test_iam_permissions(
5094        &self,
5095        _req: crate::model::instant_snapshots::TestIamPermissionsRequest,
5096        _options: crate::RequestOptions,
5097    ) -> impl std::future::Future<
5098        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5099    > + Send {
5100        gaxi::unimplemented::unimplemented_stub()
5101    }
5102
5103    /// Implements [super::client::InstantSnapshots::get_operation].
5104    fn get_operation(
5105        &self,
5106        _req: crate::model::zone_operations::GetRequest,
5107        _options: crate::RequestOptions,
5108    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5109    {
5110        gaxi::unimplemented::unimplemented_stub()
5111    }
5112
5113    /// Returns the polling error policy.
5114    ///
5115    /// When mocking, this method is typically irrelevant. Do not try to verify
5116    /// it is called by your mocks.
5117    fn get_polling_error_policy(
5118        &self,
5119        _options: &crate::RequestOptions,
5120    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5121        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5122    }
5123
5124    /// Returns the polling backoff policy.
5125    ///
5126    /// When mocking, this method is typically irrelevant. Do not try to verify
5127    /// it is called by your mocks.
5128    fn get_polling_backoff_policy(
5129        &self,
5130        _options: &crate::RequestOptions,
5131    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5132        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5133    }
5134
5135    #[doc(hidden)]
5136    /// Returns the poller options.
5137    ///
5138    /// When mocking, this method is typically irrelevant. Do not try to verify
5139    /// it is called by your mocks.
5140    fn get_poller_options(
5141        &self,
5142        _options: &crate::RequestOptions,
5143    ) -> google_cloud_lro::PollerOptions {
5144        google_cloud_lro::PollerOptions::default()
5145    }
5146}
5147
5148/// Defines the trait used to implement [super::client::InterconnectAttachmentGroups].
5149///
5150/// Application developers may need to implement this trait to mock
5151/// `client::InterconnectAttachmentGroups`.  In other use-cases, application developers only
5152/// use `client::InterconnectAttachmentGroups` and need not be concerned with this trait or
5153/// its implementations.
5154///
5155/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5156/// too. To avoid breaking applications the trait provides a default
5157/// implementation of each method. Most of these implementations just return an
5158/// error.
5159#[cfg(feature = "interconnect-attachment-groups")]
5160#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-attachment-groups")))]
5161pub trait InterconnectAttachmentGroups: std::fmt::Debug + Send + Sync {
5162    /// Implements [super::client::InterconnectAttachmentGroups::delete].
5163    fn delete(
5164        &self,
5165        _req: crate::model::interconnect_attachment_groups::DeleteRequest,
5166        _options: crate::RequestOptions,
5167    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5168    {
5169        gaxi::unimplemented::unimplemented_stub()
5170    }
5171
5172    /// Implements [super::client::InterconnectAttachmentGroups::get].
5173    fn get(
5174        &self,
5175        _req: crate::model::interconnect_attachment_groups::GetRequest,
5176        _options: crate::RequestOptions,
5177    ) -> impl std::future::Future<
5178        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentGroup>>,
5179    > + Send {
5180        gaxi::unimplemented::unimplemented_stub()
5181    }
5182
5183    /// Implements [super::client::InterconnectAttachmentGroups::get_iam_policy].
5184    fn get_iam_policy(
5185        &self,
5186        _req: crate::model::interconnect_attachment_groups::GetIamPolicyRequest,
5187        _options: crate::RequestOptions,
5188    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5189    {
5190        gaxi::unimplemented::unimplemented_stub()
5191    }
5192
5193    /// Implements [super::client::InterconnectAttachmentGroups::get_operational_status].
5194    fn get_operational_status(
5195        &self,
5196        _req: crate::model::interconnect_attachment_groups::GetOperationalStatusRequest,
5197        _options: crate::RequestOptions,
5198    ) -> impl std::future::Future<
5199        Output = crate::Result<
5200            crate::Response<crate::model::InterconnectAttachmentGroupsGetOperationalStatusResponse>,
5201        >,
5202    > + Send {
5203        gaxi::unimplemented::unimplemented_stub()
5204    }
5205
5206    /// Implements [super::client::InterconnectAttachmentGroups::insert].
5207    fn insert(
5208        &self,
5209        _req: crate::model::interconnect_attachment_groups::InsertRequest,
5210        _options: crate::RequestOptions,
5211    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5212    {
5213        gaxi::unimplemented::unimplemented_stub()
5214    }
5215
5216    /// Implements [super::client::InterconnectAttachmentGroups::list].
5217    fn list(
5218        &self,
5219        _req: crate::model::interconnect_attachment_groups::ListRequest,
5220        _options: crate::RequestOptions,
5221    ) -> impl std::future::Future<
5222        Output = crate::Result<
5223            crate::Response<crate::model::InterconnectAttachmentGroupsListResponse>,
5224        >,
5225    > + Send {
5226        gaxi::unimplemented::unimplemented_stub()
5227    }
5228
5229    /// Implements [super::client::InterconnectAttachmentGroups::patch].
5230    fn patch(
5231        &self,
5232        _req: crate::model::interconnect_attachment_groups::PatchRequest,
5233        _options: crate::RequestOptions,
5234    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5235    {
5236        gaxi::unimplemented::unimplemented_stub()
5237    }
5238
5239    /// Implements [super::client::InterconnectAttachmentGroups::set_iam_policy].
5240    fn set_iam_policy(
5241        &self,
5242        _req: crate::model::interconnect_attachment_groups::SetIamPolicyRequest,
5243        _options: crate::RequestOptions,
5244    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5245    {
5246        gaxi::unimplemented::unimplemented_stub()
5247    }
5248
5249    /// Implements [super::client::InterconnectAttachmentGroups::test_iam_permissions].
5250    fn test_iam_permissions(
5251        &self,
5252        _req: crate::model::interconnect_attachment_groups::TestIamPermissionsRequest,
5253        _options: crate::RequestOptions,
5254    ) -> impl std::future::Future<
5255        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5256    > + Send {
5257        gaxi::unimplemented::unimplemented_stub()
5258    }
5259
5260    /// Implements [super::client::InterconnectAttachmentGroups::get_operation].
5261    fn get_operation(
5262        &self,
5263        _req: crate::model::global_operations::GetRequest,
5264        _options: crate::RequestOptions,
5265    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5266    {
5267        gaxi::unimplemented::unimplemented_stub()
5268    }
5269
5270    /// Returns the polling error policy.
5271    ///
5272    /// When mocking, this method is typically irrelevant. Do not try to verify
5273    /// it is called by your mocks.
5274    fn get_polling_error_policy(
5275        &self,
5276        _options: &crate::RequestOptions,
5277    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5278        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5279    }
5280
5281    /// Returns the polling backoff policy.
5282    ///
5283    /// When mocking, this method is typically irrelevant. Do not try to verify
5284    /// it is called by your mocks.
5285    fn get_polling_backoff_policy(
5286        &self,
5287        _options: &crate::RequestOptions,
5288    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5289        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5290    }
5291
5292    #[doc(hidden)]
5293    /// Returns the poller options.
5294    ///
5295    /// When mocking, this method is typically irrelevant. Do not try to verify
5296    /// it is called by your mocks.
5297    fn get_poller_options(
5298        &self,
5299        _options: &crate::RequestOptions,
5300    ) -> google_cloud_lro::PollerOptions {
5301        google_cloud_lro::PollerOptions::default()
5302    }
5303}
5304
5305/// Defines the trait used to implement [super::client::InterconnectAttachments].
5306///
5307/// Application developers may need to implement this trait to mock
5308/// `client::InterconnectAttachments`.  In other use-cases, application developers only
5309/// use `client::InterconnectAttachments` and need not be concerned with this trait or
5310/// its implementations.
5311///
5312/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5313/// too. To avoid breaking applications the trait provides a default
5314/// implementation of each method. Most of these implementations just return an
5315/// error.
5316#[cfg(feature = "interconnect-attachments")]
5317#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-attachments")))]
5318pub trait InterconnectAttachments: std::fmt::Debug + Send + Sync {
5319    /// Implements [super::client::InterconnectAttachments::aggregated_list].
5320    fn aggregated_list(
5321        &self,
5322        _req: crate::model::interconnect_attachments::AggregatedListRequest,
5323        _options: crate::RequestOptions,
5324    ) -> impl std::future::Future<
5325        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentAggregatedList>>,
5326    > + Send {
5327        gaxi::unimplemented::unimplemented_stub()
5328    }
5329
5330    /// Implements [super::client::InterconnectAttachments::delete].
5331    fn delete(
5332        &self,
5333        _req: crate::model::interconnect_attachments::DeleteRequest,
5334        _options: crate::RequestOptions,
5335    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5336    {
5337        gaxi::unimplemented::unimplemented_stub()
5338    }
5339
5340    /// Implements [super::client::InterconnectAttachments::get].
5341    fn get(
5342        &self,
5343        _req: crate::model::interconnect_attachments::GetRequest,
5344        _options: crate::RequestOptions,
5345    ) -> impl std::future::Future<
5346        Output = crate::Result<crate::Response<crate::model::InterconnectAttachment>>,
5347    > + Send {
5348        gaxi::unimplemented::unimplemented_stub()
5349    }
5350
5351    /// Implements [super::client::InterconnectAttachments::insert].
5352    fn insert(
5353        &self,
5354        _req: crate::model::interconnect_attachments::InsertRequest,
5355        _options: crate::RequestOptions,
5356    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5357    {
5358        gaxi::unimplemented::unimplemented_stub()
5359    }
5360
5361    /// Implements [super::client::InterconnectAttachments::list].
5362    fn list(
5363        &self,
5364        _req: crate::model::interconnect_attachments::ListRequest,
5365        _options: crate::RequestOptions,
5366    ) -> impl std::future::Future<
5367        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentList>>,
5368    > + Send {
5369        gaxi::unimplemented::unimplemented_stub()
5370    }
5371
5372    /// Implements [super::client::InterconnectAttachments::patch].
5373    fn patch(
5374        &self,
5375        _req: crate::model::interconnect_attachments::PatchRequest,
5376        _options: crate::RequestOptions,
5377    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5378    {
5379        gaxi::unimplemented::unimplemented_stub()
5380    }
5381
5382    /// Implements [super::client::InterconnectAttachments::set_labels].
5383    fn set_labels(
5384        &self,
5385        _req: crate::model::interconnect_attachments::SetLabelsRequest,
5386        _options: crate::RequestOptions,
5387    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5388    {
5389        gaxi::unimplemented::unimplemented_stub()
5390    }
5391
5392    /// Implements [super::client::InterconnectAttachments::get_operation].
5393    fn get_operation(
5394        &self,
5395        _req: crate::model::region_operations::GetRequest,
5396        _options: crate::RequestOptions,
5397    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5398    {
5399        gaxi::unimplemented::unimplemented_stub()
5400    }
5401
5402    /// Returns the polling error policy.
5403    ///
5404    /// When mocking, this method is typically irrelevant. Do not try to verify
5405    /// it is called by your mocks.
5406    fn get_polling_error_policy(
5407        &self,
5408        _options: &crate::RequestOptions,
5409    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5410        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5411    }
5412
5413    /// Returns the polling backoff policy.
5414    ///
5415    /// When mocking, this method is typically irrelevant. Do not try to verify
5416    /// it is called by your mocks.
5417    fn get_polling_backoff_policy(
5418        &self,
5419        _options: &crate::RequestOptions,
5420    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5421        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5422    }
5423
5424    #[doc(hidden)]
5425    /// Returns the poller options.
5426    ///
5427    /// When mocking, this method is typically irrelevant. Do not try to verify
5428    /// it is called by your mocks.
5429    fn get_poller_options(
5430        &self,
5431        _options: &crate::RequestOptions,
5432    ) -> google_cloud_lro::PollerOptions {
5433        google_cloud_lro::PollerOptions::default()
5434    }
5435}
5436
5437/// Defines the trait used to implement [super::client::InterconnectGroups].
5438///
5439/// Application developers may need to implement this trait to mock
5440/// `client::InterconnectGroups`.  In other use-cases, application developers only
5441/// use `client::InterconnectGroups` and need not be concerned with this trait or
5442/// its implementations.
5443///
5444/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5445/// too. To avoid breaking applications the trait provides a default
5446/// implementation of each method. Most of these implementations just return an
5447/// error.
5448#[cfg(feature = "interconnect-groups")]
5449#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-groups")))]
5450pub trait InterconnectGroups: std::fmt::Debug + Send + Sync {
5451    /// Implements [super::client::InterconnectGroups::create_members].
5452    fn create_members(
5453        &self,
5454        _req: crate::model::interconnect_groups::CreateMembersRequest,
5455        _options: crate::RequestOptions,
5456    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5457    {
5458        gaxi::unimplemented::unimplemented_stub()
5459    }
5460
5461    /// Implements [super::client::InterconnectGroups::delete].
5462    fn delete(
5463        &self,
5464        _req: crate::model::interconnect_groups::DeleteRequest,
5465        _options: crate::RequestOptions,
5466    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5467    {
5468        gaxi::unimplemented::unimplemented_stub()
5469    }
5470
5471    /// Implements [super::client::InterconnectGroups::get].
5472    fn get(
5473        &self,
5474        _req: crate::model::interconnect_groups::GetRequest,
5475        _options: crate::RequestOptions,
5476    ) -> impl std::future::Future<
5477        Output = crate::Result<crate::Response<crate::model::InterconnectGroup>>,
5478    > + Send {
5479        gaxi::unimplemented::unimplemented_stub()
5480    }
5481
5482    /// Implements [super::client::InterconnectGroups::get_iam_policy].
5483    fn get_iam_policy(
5484        &self,
5485        _req: crate::model::interconnect_groups::GetIamPolicyRequest,
5486        _options: crate::RequestOptions,
5487    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5488    {
5489        gaxi::unimplemented::unimplemented_stub()
5490    }
5491
5492    /// Implements [super::client::InterconnectGroups::get_operational_status].
5493    fn get_operational_status(
5494        &self,
5495        _req: crate::model::interconnect_groups::GetOperationalStatusRequest,
5496        _options: crate::RequestOptions,
5497    ) -> impl std::future::Future<
5498        Output = crate::Result<
5499            crate::Response<crate::model::InterconnectGroupsGetOperationalStatusResponse>,
5500        >,
5501    > + Send {
5502        gaxi::unimplemented::unimplemented_stub()
5503    }
5504
5505    /// Implements [super::client::InterconnectGroups::insert].
5506    fn insert(
5507        &self,
5508        _req: crate::model::interconnect_groups::InsertRequest,
5509        _options: crate::RequestOptions,
5510    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5511    {
5512        gaxi::unimplemented::unimplemented_stub()
5513    }
5514
5515    /// Implements [super::client::InterconnectGroups::list].
5516    fn list(
5517        &self,
5518        _req: crate::model::interconnect_groups::ListRequest,
5519        _options: crate::RequestOptions,
5520    ) -> impl std::future::Future<
5521        Output = crate::Result<crate::Response<crate::model::InterconnectGroupsListResponse>>,
5522    > + Send {
5523        gaxi::unimplemented::unimplemented_stub()
5524    }
5525
5526    /// Implements [super::client::InterconnectGroups::patch].
5527    fn patch(
5528        &self,
5529        _req: crate::model::interconnect_groups::PatchRequest,
5530        _options: crate::RequestOptions,
5531    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5532    {
5533        gaxi::unimplemented::unimplemented_stub()
5534    }
5535
5536    /// Implements [super::client::InterconnectGroups::set_iam_policy].
5537    fn set_iam_policy(
5538        &self,
5539        _req: crate::model::interconnect_groups::SetIamPolicyRequest,
5540        _options: crate::RequestOptions,
5541    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5542    {
5543        gaxi::unimplemented::unimplemented_stub()
5544    }
5545
5546    /// Implements [super::client::InterconnectGroups::test_iam_permissions].
5547    fn test_iam_permissions(
5548        &self,
5549        _req: crate::model::interconnect_groups::TestIamPermissionsRequest,
5550        _options: crate::RequestOptions,
5551    ) -> impl std::future::Future<
5552        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5553    > + Send {
5554        gaxi::unimplemented::unimplemented_stub()
5555    }
5556
5557    /// Implements [super::client::InterconnectGroups::get_operation].
5558    fn get_operation(
5559        &self,
5560        _req: crate::model::global_operations::GetRequest,
5561        _options: crate::RequestOptions,
5562    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5563    {
5564        gaxi::unimplemented::unimplemented_stub()
5565    }
5566
5567    /// Returns the polling error policy.
5568    ///
5569    /// When mocking, this method is typically irrelevant. Do not try to verify
5570    /// it is called by your mocks.
5571    fn get_polling_error_policy(
5572        &self,
5573        _options: &crate::RequestOptions,
5574    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5575        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5576    }
5577
5578    /// Returns the polling backoff policy.
5579    ///
5580    /// When mocking, this method is typically irrelevant. Do not try to verify
5581    /// it is called by your mocks.
5582    fn get_polling_backoff_policy(
5583        &self,
5584        _options: &crate::RequestOptions,
5585    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5586        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5587    }
5588
5589    #[doc(hidden)]
5590    /// Returns the poller options.
5591    ///
5592    /// When mocking, this method is typically irrelevant. Do not try to verify
5593    /// it is called by your mocks.
5594    fn get_poller_options(
5595        &self,
5596        _options: &crate::RequestOptions,
5597    ) -> google_cloud_lro::PollerOptions {
5598        google_cloud_lro::PollerOptions::default()
5599    }
5600}
5601
5602/// Defines the trait used to implement [super::client::InterconnectLocations].
5603///
5604/// Application developers may need to implement this trait to mock
5605/// `client::InterconnectLocations`.  In other use-cases, application developers only
5606/// use `client::InterconnectLocations` and need not be concerned with this trait or
5607/// its implementations.
5608///
5609/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5610/// too. To avoid breaking applications the trait provides a default
5611/// implementation of each method. Most of these implementations just return an
5612/// error.
5613#[cfg(feature = "interconnect-locations")]
5614#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-locations")))]
5615pub trait InterconnectLocations: std::fmt::Debug + Send + Sync {
5616    /// Implements [super::client::InterconnectLocations::get].
5617    fn get(
5618        &self,
5619        _req: crate::model::interconnect_locations::GetRequest,
5620        _options: crate::RequestOptions,
5621    ) -> impl std::future::Future<
5622        Output = crate::Result<crate::Response<crate::model::InterconnectLocation>>,
5623    > + Send {
5624        gaxi::unimplemented::unimplemented_stub()
5625    }
5626
5627    /// Implements [super::client::InterconnectLocations::list].
5628    fn list(
5629        &self,
5630        _req: crate::model::interconnect_locations::ListRequest,
5631        _options: crate::RequestOptions,
5632    ) -> impl std::future::Future<
5633        Output = crate::Result<crate::Response<crate::model::InterconnectLocationList>>,
5634    > + Send {
5635        gaxi::unimplemented::unimplemented_stub()
5636    }
5637}
5638
5639/// Defines the trait used to implement [super::client::InterconnectRemoteLocations].
5640///
5641/// Application developers may need to implement this trait to mock
5642/// `client::InterconnectRemoteLocations`.  In other use-cases, application developers only
5643/// use `client::InterconnectRemoteLocations` and need not be concerned with this trait or
5644/// its implementations.
5645///
5646/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5647/// too. To avoid breaking applications the trait provides a default
5648/// implementation of each method. Most of these implementations just return an
5649/// error.
5650#[cfg(feature = "interconnect-remote-locations")]
5651#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-remote-locations")))]
5652pub trait InterconnectRemoteLocations: std::fmt::Debug + Send + Sync {
5653    /// Implements [super::client::InterconnectRemoteLocations::get].
5654    fn get(
5655        &self,
5656        _req: crate::model::interconnect_remote_locations::GetRequest,
5657        _options: crate::RequestOptions,
5658    ) -> impl std::future::Future<
5659        Output = crate::Result<crate::Response<crate::model::InterconnectRemoteLocation>>,
5660    > + Send {
5661        gaxi::unimplemented::unimplemented_stub()
5662    }
5663
5664    /// Implements [super::client::InterconnectRemoteLocations::list].
5665    fn list(
5666        &self,
5667        _req: crate::model::interconnect_remote_locations::ListRequest,
5668        _options: crate::RequestOptions,
5669    ) -> impl std::future::Future<
5670        Output = crate::Result<crate::Response<crate::model::InterconnectRemoteLocationList>>,
5671    > + Send {
5672        gaxi::unimplemented::unimplemented_stub()
5673    }
5674}
5675
5676/// Defines the trait used to implement [super::client::Interconnects].
5677///
5678/// Application developers may need to implement this trait to mock
5679/// `client::Interconnects`.  In other use-cases, application developers only
5680/// use `client::Interconnects` and need not be concerned with this trait or
5681/// its implementations.
5682///
5683/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5684/// too. To avoid breaking applications the trait provides a default
5685/// implementation of each method. Most of these implementations just return an
5686/// error.
5687#[cfg(feature = "interconnects")]
5688#[cfg_attr(docsrs, doc(cfg(feature = "interconnects")))]
5689pub trait Interconnects: std::fmt::Debug + Send + Sync {
5690    /// Implements [super::client::Interconnects::delete].
5691    fn delete(
5692        &self,
5693        _req: crate::model::interconnects::DeleteRequest,
5694        _options: crate::RequestOptions,
5695    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5696    {
5697        gaxi::unimplemented::unimplemented_stub()
5698    }
5699
5700    /// Implements [super::client::Interconnects::get].
5701    fn get(
5702        &self,
5703        _req: crate::model::interconnects::GetRequest,
5704        _options: crate::RequestOptions,
5705    ) -> impl std::future::Future<
5706        Output = crate::Result<crate::Response<crate::model::Interconnect>>,
5707    > + Send {
5708        gaxi::unimplemented::unimplemented_stub()
5709    }
5710
5711    /// Implements [super::client::Interconnects::get_diagnostics].
5712    fn get_diagnostics(
5713        &self,
5714        _req: crate::model::interconnects::GetDiagnosticsRequest,
5715        _options: crate::RequestOptions,
5716    ) -> impl std::future::Future<
5717        Output = crate::Result<crate::Response<crate::model::InterconnectsGetDiagnosticsResponse>>,
5718    > + Send {
5719        gaxi::unimplemented::unimplemented_stub()
5720    }
5721
5722    /// Implements [super::client::Interconnects::get_macsec_config].
5723    fn get_macsec_config(
5724        &self,
5725        _req: crate::model::interconnects::GetMacsecConfigRequest,
5726        _options: crate::RequestOptions,
5727    ) -> impl std::future::Future<
5728        Output = crate::Result<crate::Response<crate::model::InterconnectsGetMacsecConfigResponse>>,
5729    > + Send {
5730        gaxi::unimplemented::unimplemented_stub()
5731    }
5732
5733    /// Implements [super::client::Interconnects::insert].
5734    fn insert(
5735        &self,
5736        _req: crate::model::interconnects::InsertRequest,
5737        _options: crate::RequestOptions,
5738    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5739    {
5740        gaxi::unimplemented::unimplemented_stub()
5741    }
5742
5743    /// Implements [super::client::Interconnects::list].
5744    fn list(
5745        &self,
5746        _req: crate::model::interconnects::ListRequest,
5747        _options: crate::RequestOptions,
5748    ) -> impl std::future::Future<
5749        Output = crate::Result<crate::Response<crate::model::InterconnectList>>,
5750    > + Send {
5751        gaxi::unimplemented::unimplemented_stub()
5752    }
5753
5754    /// Implements [super::client::Interconnects::patch].
5755    fn patch(
5756        &self,
5757        _req: crate::model::interconnects::PatchRequest,
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    /// Implements [super::client::Interconnects::set_labels].
5765    fn set_labels(
5766        &self,
5767        _req: crate::model::interconnects::SetLabelsRequest,
5768        _options: crate::RequestOptions,
5769    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5770    {
5771        gaxi::unimplemented::unimplemented_stub()
5772    }
5773
5774    /// Implements [super::client::Interconnects::get_operation].
5775    fn get_operation(
5776        &self,
5777        _req: crate::model::global_operations::GetRequest,
5778        _options: crate::RequestOptions,
5779    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5780    {
5781        gaxi::unimplemented::unimplemented_stub()
5782    }
5783
5784    /// Returns the polling error policy.
5785    ///
5786    /// When mocking, this method is typically irrelevant. Do not try to verify
5787    /// it is called by your mocks.
5788    fn get_polling_error_policy(
5789        &self,
5790        _options: &crate::RequestOptions,
5791    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5792        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5793    }
5794
5795    /// Returns the polling backoff policy.
5796    ///
5797    /// When mocking, this method is typically irrelevant. Do not try to verify
5798    /// it is called by your mocks.
5799    fn get_polling_backoff_policy(
5800        &self,
5801        _options: &crate::RequestOptions,
5802    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5803        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5804    }
5805
5806    #[doc(hidden)]
5807    /// Returns the poller options.
5808    ///
5809    /// When mocking, this method is typically irrelevant. Do not try to verify
5810    /// it is called by your mocks.
5811    fn get_poller_options(
5812        &self,
5813        _options: &crate::RequestOptions,
5814    ) -> google_cloud_lro::PollerOptions {
5815        google_cloud_lro::PollerOptions::default()
5816    }
5817}
5818
5819/// Defines the trait used to implement [super::client::LicenseCodes].
5820///
5821/// Application developers may need to implement this trait to mock
5822/// `client::LicenseCodes`.  In other use-cases, application developers only
5823/// use `client::LicenseCodes` and need not be concerned with this trait or
5824/// its implementations.
5825///
5826/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5827/// too. To avoid breaking applications the trait provides a default
5828/// implementation of each method. Most of these implementations just return an
5829/// error.
5830#[cfg(feature = "license-codes")]
5831#[cfg_attr(docsrs, doc(cfg(feature = "license-codes")))]
5832pub trait LicenseCodes: std::fmt::Debug + Send + Sync {
5833    /// Implements [super::client::LicenseCodes::get].
5834    fn get(
5835        &self,
5836        _req: crate::model::license_codes::GetRequest,
5837        _options: crate::RequestOptions,
5838    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::LicenseCode>>>
5839    + Send {
5840        gaxi::unimplemented::unimplemented_stub()
5841    }
5842
5843    /// Implements [super::client::LicenseCodes::get_iam_policy].
5844    fn get_iam_policy(
5845        &self,
5846        _req: crate::model::license_codes::GetIamPolicyRequest,
5847        _options: crate::RequestOptions,
5848    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5849    {
5850        gaxi::unimplemented::unimplemented_stub()
5851    }
5852
5853    /// Implements [super::client::LicenseCodes::set_iam_policy].
5854    fn set_iam_policy(
5855        &self,
5856        _req: crate::model::license_codes::SetIamPolicyRequest,
5857        _options: crate::RequestOptions,
5858    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5859    {
5860        gaxi::unimplemented::unimplemented_stub()
5861    }
5862
5863    /// Implements [super::client::LicenseCodes::test_iam_permissions].
5864    fn test_iam_permissions(
5865        &self,
5866        _req: crate::model::license_codes::TestIamPermissionsRequest,
5867        _options: crate::RequestOptions,
5868    ) -> impl std::future::Future<
5869        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5870    > + Send {
5871        gaxi::unimplemented::unimplemented_stub()
5872    }
5873}
5874
5875/// Defines the trait used to implement [super::client::Licenses].
5876///
5877/// Application developers may need to implement this trait to mock
5878/// `client::Licenses`.  In other use-cases, application developers only
5879/// use `client::Licenses` and need not be concerned with this trait or
5880/// its implementations.
5881///
5882/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5883/// too. To avoid breaking applications the trait provides a default
5884/// implementation of each method. Most of these implementations just return an
5885/// error.
5886#[cfg(feature = "licenses")]
5887#[cfg_attr(docsrs, doc(cfg(feature = "licenses")))]
5888pub trait Licenses: std::fmt::Debug + Send + Sync {
5889    /// Implements [super::client::Licenses::delete].
5890    fn delete(
5891        &self,
5892        _req: crate::model::licenses::DeleteRequest,
5893        _options: crate::RequestOptions,
5894    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5895    {
5896        gaxi::unimplemented::unimplemented_stub()
5897    }
5898
5899    /// Implements [super::client::Licenses::get].
5900    fn get(
5901        &self,
5902        _req: crate::model::licenses::GetRequest,
5903        _options: crate::RequestOptions,
5904    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::License>>> + Send
5905    {
5906        gaxi::unimplemented::unimplemented_stub()
5907    }
5908
5909    /// Implements [super::client::Licenses::get_iam_policy].
5910    fn get_iam_policy(
5911        &self,
5912        _req: crate::model::licenses::GetIamPolicyRequest,
5913        _options: crate::RequestOptions,
5914    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5915    {
5916        gaxi::unimplemented::unimplemented_stub()
5917    }
5918
5919    /// Implements [super::client::Licenses::insert].
5920    fn insert(
5921        &self,
5922        _req: crate::model::licenses::InsertRequest,
5923        _options: crate::RequestOptions,
5924    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5925    {
5926        gaxi::unimplemented::unimplemented_stub()
5927    }
5928
5929    /// Implements [super::client::Licenses::list].
5930    fn list(
5931        &self,
5932        _req: crate::model::licenses::ListRequest,
5933        _options: crate::RequestOptions,
5934    ) -> impl std::future::Future<
5935        Output = crate::Result<crate::Response<crate::model::LicensesListResponse>>,
5936    > + Send {
5937        gaxi::unimplemented::unimplemented_stub()
5938    }
5939
5940    /// Implements [super::client::Licenses::set_iam_policy].
5941    fn set_iam_policy(
5942        &self,
5943        _req: crate::model::licenses::SetIamPolicyRequest,
5944        _options: crate::RequestOptions,
5945    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5946    {
5947        gaxi::unimplemented::unimplemented_stub()
5948    }
5949
5950    /// Implements [super::client::Licenses::test_iam_permissions].
5951    fn test_iam_permissions(
5952        &self,
5953        _req: crate::model::licenses::TestIamPermissionsRequest,
5954        _options: crate::RequestOptions,
5955    ) -> impl std::future::Future<
5956        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5957    > + Send {
5958        gaxi::unimplemented::unimplemented_stub()
5959    }
5960
5961    /// Implements [super::client::Licenses::update].
5962    fn update(
5963        &self,
5964        _req: crate::model::licenses::UpdateRequest,
5965        _options: crate::RequestOptions,
5966    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5967    {
5968        gaxi::unimplemented::unimplemented_stub()
5969    }
5970
5971    /// Implements [super::client::Licenses::get_operation].
5972    fn get_operation(
5973        &self,
5974        _req: crate::model::global_operations::GetRequest,
5975        _options: crate::RequestOptions,
5976    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5977    {
5978        gaxi::unimplemented::unimplemented_stub()
5979    }
5980
5981    /// Returns the polling error policy.
5982    ///
5983    /// When mocking, this method is typically irrelevant. Do not try to verify
5984    /// it is called by your mocks.
5985    fn get_polling_error_policy(
5986        &self,
5987        _options: &crate::RequestOptions,
5988    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5989        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5990    }
5991
5992    /// Returns the polling backoff policy.
5993    ///
5994    /// When mocking, this method is typically irrelevant. Do not try to verify
5995    /// it is called by your mocks.
5996    fn get_polling_backoff_policy(
5997        &self,
5998        _options: &crate::RequestOptions,
5999    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6000        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6001    }
6002
6003    #[doc(hidden)]
6004    /// Returns the poller options.
6005    ///
6006    /// When mocking, this method is typically irrelevant. Do not try to verify
6007    /// it is called by your mocks.
6008    fn get_poller_options(
6009        &self,
6010        _options: &crate::RequestOptions,
6011    ) -> google_cloud_lro::PollerOptions {
6012        google_cloud_lro::PollerOptions::default()
6013    }
6014}
6015
6016/// Defines the trait used to implement [super::client::MachineImages].
6017///
6018/// Application developers may need to implement this trait to mock
6019/// `client::MachineImages`.  In other use-cases, application developers only
6020/// use `client::MachineImages` and need not be concerned with this trait or
6021/// its implementations.
6022///
6023/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6024/// too. To avoid breaking applications the trait provides a default
6025/// implementation of each method. Most of these implementations just return an
6026/// error.
6027#[cfg(feature = "machine-images")]
6028#[cfg_attr(docsrs, doc(cfg(feature = "machine-images")))]
6029pub trait MachineImages: std::fmt::Debug + Send + Sync {
6030    /// Implements [super::client::MachineImages::delete].
6031    fn delete(
6032        &self,
6033        _req: crate::model::machine_images::DeleteRequest,
6034        _options: crate::RequestOptions,
6035    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6036    {
6037        gaxi::unimplemented::unimplemented_stub()
6038    }
6039
6040    /// Implements [super::client::MachineImages::get].
6041    fn get(
6042        &self,
6043        _req: crate::model::machine_images::GetRequest,
6044        _options: crate::RequestOptions,
6045    ) -> impl std::future::Future<
6046        Output = crate::Result<crate::Response<crate::model::MachineImage>>,
6047    > + Send {
6048        gaxi::unimplemented::unimplemented_stub()
6049    }
6050
6051    /// Implements [super::client::MachineImages::get_iam_policy].
6052    fn get_iam_policy(
6053        &self,
6054        _req: crate::model::machine_images::GetIamPolicyRequest,
6055        _options: crate::RequestOptions,
6056    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6057    {
6058        gaxi::unimplemented::unimplemented_stub()
6059    }
6060
6061    /// Implements [super::client::MachineImages::insert].
6062    fn insert(
6063        &self,
6064        _req: crate::model::machine_images::InsertRequest,
6065        _options: crate::RequestOptions,
6066    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6067    {
6068        gaxi::unimplemented::unimplemented_stub()
6069    }
6070
6071    /// Implements [super::client::MachineImages::list].
6072    fn list(
6073        &self,
6074        _req: crate::model::machine_images::ListRequest,
6075        _options: crate::RequestOptions,
6076    ) -> impl std::future::Future<
6077        Output = crate::Result<crate::Response<crate::model::MachineImageList>>,
6078    > + Send {
6079        gaxi::unimplemented::unimplemented_stub()
6080    }
6081
6082    /// Implements [super::client::MachineImages::set_iam_policy].
6083    fn set_iam_policy(
6084        &self,
6085        _req: crate::model::machine_images::SetIamPolicyRequest,
6086        _options: crate::RequestOptions,
6087    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6088    {
6089        gaxi::unimplemented::unimplemented_stub()
6090    }
6091
6092    /// Implements [super::client::MachineImages::set_labels].
6093    fn set_labels(
6094        &self,
6095        _req: crate::model::machine_images::SetLabelsRequest,
6096        _options: crate::RequestOptions,
6097    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6098    {
6099        gaxi::unimplemented::unimplemented_stub()
6100    }
6101
6102    /// Implements [super::client::MachineImages::test_iam_permissions].
6103    fn test_iam_permissions(
6104        &self,
6105        _req: crate::model::machine_images::TestIamPermissionsRequest,
6106        _options: crate::RequestOptions,
6107    ) -> impl std::future::Future<
6108        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6109    > + Send {
6110        gaxi::unimplemented::unimplemented_stub()
6111    }
6112
6113    /// Implements [super::client::MachineImages::get_operation].
6114    fn get_operation(
6115        &self,
6116        _req: crate::model::global_operations::GetRequest,
6117        _options: crate::RequestOptions,
6118    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6119    {
6120        gaxi::unimplemented::unimplemented_stub()
6121    }
6122
6123    /// Returns the polling error policy.
6124    ///
6125    /// When mocking, this method is typically irrelevant. Do not try to verify
6126    /// it is called by your mocks.
6127    fn get_polling_error_policy(
6128        &self,
6129        _options: &crate::RequestOptions,
6130    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6131        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6132    }
6133
6134    /// Returns the polling backoff policy.
6135    ///
6136    /// When mocking, this method is typically irrelevant. Do not try to verify
6137    /// it is called by your mocks.
6138    fn get_polling_backoff_policy(
6139        &self,
6140        _options: &crate::RequestOptions,
6141    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6142        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6143    }
6144
6145    #[doc(hidden)]
6146    /// Returns the poller options.
6147    ///
6148    /// When mocking, this method is typically irrelevant. Do not try to verify
6149    /// it is called by your mocks.
6150    fn get_poller_options(
6151        &self,
6152        _options: &crate::RequestOptions,
6153    ) -> google_cloud_lro::PollerOptions {
6154        google_cloud_lro::PollerOptions::default()
6155    }
6156}
6157
6158/// Defines the trait used to implement [super::client::MachineTypes].
6159///
6160/// Application developers may need to implement this trait to mock
6161/// `client::MachineTypes`.  In other use-cases, application developers only
6162/// use `client::MachineTypes` and need not be concerned with this trait or
6163/// its implementations.
6164///
6165/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6166/// too. To avoid breaking applications the trait provides a default
6167/// implementation of each method. Most of these implementations just return an
6168/// error.
6169#[cfg(feature = "machine-types")]
6170#[cfg_attr(docsrs, doc(cfg(feature = "machine-types")))]
6171pub trait MachineTypes: std::fmt::Debug + Send + Sync {
6172    /// Implements [super::client::MachineTypes::aggregated_list].
6173    fn aggregated_list(
6174        &self,
6175        _req: crate::model::machine_types::AggregatedListRequest,
6176        _options: crate::RequestOptions,
6177    ) -> impl std::future::Future<
6178        Output = crate::Result<crate::Response<crate::model::MachineTypeAggregatedList>>,
6179    > + Send {
6180        gaxi::unimplemented::unimplemented_stub()
6181    }
6182
6183    /// Implements [super::client::MachineTypes::get].
6184    fn get(
6185        &self,
6186        _req: crate::model::machine_types::GetRequest,
6187        _options: crate::RequestOptions,
6188    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::MachineType>>>
6189    + Send {
6190        gaxi::unimplemented::unimplemented_stub()
6191    }
6192
6193    /// Implements [super::client::MachineTypes::list].
6194    fn list(
6195        &self,
6196        _req: crate::model::machine_types::ListRequest,
6197        _options: crate::RequestOptions,
6198    ) -> impl std::future::Future<
6199        Output = crate::Result<crate::Response<crate::model::MachineTypeList>>,
6200    > + Send {
6201        gaxi::unimplemented::unimplemented_stub()
6202    }
6203}
6204
6205/// Defines the trait used to implement [super::client::NetworkAttachments].
6206///
6207/// Application developers may need to implement this trait to mock
6208/// `client::NetworkAttachments`.  In other use-cases, application developers only
6209/// use `client::NetworkAttachments` and need not be concerned with this trait or
6210/// its implementations.
6211///
6212/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6213/// too. To avoid breaking applications the trait provides a default
6214/// implementation of each method. Most of these implementations just return an
6215/// error.
6216#[cfg(feature = "network-attachments")]
6217#[cfg_attr(docsrs, doc(cfg(feature = "network-attachments")))]
6218pub trait NetworkAttachments: std::fmt::Debug + Send + Sync {
6219    /// Implements [super::client::NetworkAttachments::aggregated_list].
6220    fn aggregated_list(
6221        &self,
6222        _req: crate::model::network_attachments::AggregatedListRequest,
6223        _options: crate::RequestOptions,
6224    ) -> impl std::future::Future<
6225        Output = crate::Result<crate::Response<crate::model::NetworkAttachmentAggregatedList>>,
6226    > + Send {
6227        gaxi::unimplemented::unimplemented_stub()
6228    }
6229
6230    /// Implements [super::client::NetworkAttachments::delete].
6231    fn delete(
6232        &self,
6233        _req: crate::model::network_attachments::DeleteRequest,
6234        _options: crate::RequestOptions,
6235    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6236    {
6237        gaxi::unimplemented::unimplemented_stub()
6238    }
6239
6240    /// Implements [super::client::NetworkAttachments::get].
6241    fn get(
6242        &self,
6243        _req: crate::model::network_attachments::GetRequest,
6244        _options: crate::RequestOptions,
6245    ) -> impl std::future::Future<
6246        Output = crate::Result<crate::Response<crate::model::NetworkAttachment>>,
6247    > + Send {
6248        gaxi::unimplemented::unimplemented_stub()
6249    }
6250
6251    /// Implements [super::client::NetworkAttachments::get_iam_policy].
6252    fn get_iam_policy(
6253        &self,
6254        _req: crate::model::network_attachments::GetIamPolicyRequest,
6255        _options: crate::RequestOptions,
6256    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6257    {
6258        gaxi::unimplemented::unimplemented_stub()
6259    }
6260
6261    /// Implements [super::client::NetworkAttachments::insert].
6262    fn insert(
6263        &self,
6264        _req: crate::model::network_attachments::InsertRequest,
6265        _options: crate::RequestOptions,
6266    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6267    {
6268        gaxi::unimplemented::unimplemented_stub()
6269    }
6270
6271    /// Implements [super::client::NetworkAttachments::list].
6272    fn list(
6273        &self,
6274        _req: crate::model::network_attachments::ListRequest,
6275        _options: crate::RequestOptions,
6276    ) -> impl std::future::Future<
6277        Output = crate::Result<crate::Response<crate::model::NetworkAttachmentList>>,
6278    > + Send {
6279        gaxi::unimplemented::unimplemented_stub()
6280    }
6281
6282    /// Implements [super::client::NetworkAttachments::patch].
6283    fn patch(
6284        &self,
6285        _req: crate::model::network_attachments::PatchRequest,
6286        _options: crate::RequestOptions,
6287    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6288    {
6289        gaxi::unimplemented::unimplemented_stub()
6290    }
6291
6292    /// Implements [super::client::NetworkAttachments::set_iam_policy].
6293    fn set_iam_policy(
6294        &self,
6295        _req: crate::model::network_attachments::SetIamPolicyRequest,
6296        _options: crate::RequestOptions,
6297    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6298    {
6299        gaxi::unimplemented::unimplemented_stub()
6300    }
6301
6302    /// Implements [super::client::NetworkAttachments::test_iam_permissions].
6303    fn test_iam_permissions(
6304        &self,
6305        _req: crate::model::network_attachments::TestIamPermissionsRequest,
6306        _options: crate::RequestOptions,
6307    ) -> impl std::future::Future<
6308        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6309    > + Send {
6310        gaxi::unimplemented::unimplemented_stub()
6311    }
6312
6313    /// Implements [super::client::NetworkAttachments::get_operation].
6314    fn get_operation(
6315        &self,
6316        _req: crate::model::region_operations::GetRequest,
6317        _options: crate::RequestOptions,
6318    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6319    {
6320        gaxi::unimplemented::unimplemented_stub()
6321    }
6322
6323    /// Returns the polling error policy.
6324    ///
6325    /// When mocking, this method is typically irrelevant. Do not try to verify
6326    /// it is called by your mocks.
6327    fn get_polling_error_policy(
6328        &self,
6329        _options: &crate::RequestOptions,
6330    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6331        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6332    }
6333
6334    /// Returns the polling backoff policy.
6335    ///
6336    /// When mocking, this method is typically irrelevant. Do not try to verify
6337    /// it is called by your mocks.
6338    fn get_polling_backoff_policy(
6339        &self,
6340        _options: &crate::RequestOptions,
6341    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6342        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6343    }
6344
6345    #[doc(hidden)]
6346    /// Returns the poller options.
6347    ///
6348    /// When mocking, this method is typically irrelevant. Do not try to verify
6349    /// it is called by your mocks.
6350    fn get_poller_options(
6351        &self,
6352        _options: &crate::RequestOptions,
6353    ) -> google_cloud_lro::PollerOptions {
6354        google_cloud_lro::PollerOptions::default()
6355    }
6356}
6357
6358/// Defines the trait used to implement [super::client::NetworkEdgeSecurityServices].
6359///
6360/// Application developers may need to implement this trait to mock
6361/// `client::NetworkEdgeSecurityServices`.  In other use-cases, application developers only
6362/// use `client::NetworkEdgeSecurityServices` and need not be concerned with this trait or
6363/// its implementations.
6364///
6365/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6366/// too. To avoid breaking applications the trait provides a default
6367/// implementation of each method. Most of these implementations just return an
6368/// error.
6369#[cfg(feature = "network-edge-security-services")]
6370#[cfg_attr(docsrs, doc(cfg(feature = "network-edge-security-services")))]
6371pub trait NetworkEdgeSecurityServices: std::fmt::Debug + Send + Sync {
6372    /// Implements [super::client::NetworkEdgeSecurityServices::aggregated_list].
6373    fn aggregated_list(
6374        &self,
6375        _req: crate::model::network_edge_security_services::AggregatedListRequest,
6376        _options: crate::RequestOptions,
6377    ) -> impl std::future::Future<
6378        Output = crate::Result<
6379            crate::Response<crate::model::NetworkEdgeSecurityServiceAggregatedList>,
6380        >,
6381    > + Send {
6382        gaxi::unimplemented::unimplemented_stub()
6383    }
6384
6385    /// Implements [super::client::NetworkEdgeSecurityServices::delete].
6386    fn delete(
6387        &self,
6388        _req: crate::model::network_edge_security_services::DeleteRequest,
6389        _options: crate::RequestOptions,
6390    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6391    {
6392        gaxi::unimplemented::unimplemented_stub()
6393    }
6394
6395    /// Implements [super::client::NetworkEdgeSecurityServices::get].
6396    fn get(
6397        &self,
6398        _req: crate::model::network_edge_security_services::GetRequest,
6399        _options: crate::RequestOptions,
6400    ) -> impl std::future::Future<
6401        Output = crate::Result<crate::Response<crate::model::NetworkEdgeSecurityService>>,
6402    > + Send {
6403        gaxi::unimplemented::unimplemented_stub()
6404    }
6405
6406    /// Implements [super::client::NetworkEdgeSecurityServices::insert].
6407    fn insert(
6408        &self,
6409        _req: crate::model::network_edge_security_services::InsertRequest,
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::NetworkEdgeSecurityServices::patch].
6417    fn patch(
6418        &self,
6419        _req: crate::model::network_edge_security_services::PatchRequest,
6420        _options: crate::RequestOptions,
6421    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6422    {
6423        gaxi::unimplemented::unimplemented_stub()
6424    }
6425
6426    /// Implements [super::client::NetworkEdgeSecurityServices::get_operation].
6427    fn get_operation(
6428        &self,
6429        _req: crate::model::region_operations::GetRequest,
6430        _options: crate::RequestOptions,
6431    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6432    {
6433        gaxi::unimplemented::unimplemented_stub()
6434    }
6435
6436    /// Returns the polling error policy.
6437    ///
6438    /// When mocking, this method is typically irrelevant. Do not try to verify
6439    /// it is called by your mocks.
6440    fn get_polling_error_policy(
6441        &self,
6442        _options: &crate::RequestOptions,
6443    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6444        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6445    }
6446
6447    /// Returns the polling backoff policy.
6448    ///
6449    /// When mocking, this method is typically irrelevant. Do not try to verify
6450    /// it is called by your mocks.
6451    fn get_polling_backoff_policy(
6452        &self,
6453        _options: &crate::RequestOptions,
6454    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6455        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6456    }
6457
6458    #[doc(hidden)]
6459    /// Returns the poller options.
6460    ///
6461    /// When mocking, this method is typically irrelevant. Do not try to verify
6462    /// it is called by your mocks.
6463    fn get_poller_options(
6464        &self,
6465        _options: &crate::RequestOptions,
6466    ) -> google_cloud_lro::PollerOptions {
6467        google_cloud_lro::PollerOptions::default()
6468    }
6469}
6470
6471/// Defines the trait used to implement [super::client::NetworkEndpointGroups].
6472///
6473/// Application developers may need to implement this trait to mock
6474/// `client::NetworkEndpointGroups`.  In other use-cases, application developers only
6475/// use `client::NetworkEndpointGroups` and need not be concerned with this trait or
6476/// its implementations.
6477///
6478/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6479/// too. To avoid breaking applications the trait provides a default
6480/// implementation of each method. Most of these implementations just return an
6481/// error.
6482#[cfg(feature = "network-endpoint-groups")]
6483#[cfg_attr(docsrs, doc(cfg(feature = "network-endpoint-groups")))]
6484pub trait NetworkEndpointGroups: std::fmt::Debug + Send + Sync {
6485    /// Implements [super::client::NetworkEndpointGroups::aggregated_list].
6486    fn aggregated_list(
6487        &self,
6488        _req: crate::model::network_endpoint_groups::AggregatedListRequest,
6489        _options: crate::RequestOptions,
6490    ) -> impl std::future::Future<
6491        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupAggregatedList>>,
6492    > + Send {
6493        gaxi::unimplemented::unimplemented_stub()
6494    }
6495
6496    /// Implements [super::client::NetworkEndpointGroups::attach_network_endpoints].
6497    fn attach_network_endpoints(
6498        &self,
6499        _req: crate::model::network_endpoint_groups::AttachNetworkEndpointsRequest,
6500        _options: crate::RequestOptions,
6501    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6502    {
6503        gaxi::unimplemented::unimplemented_stub()
6504    }
6505
6506    /// Implements [super::client::NetworkEndpointGroups::delete].
6507    fn delete(
6508        &self,
6509        _req: crate::model::network_endpoint_groups::DeleteRequest,
6510        _options: crate::RequestOptions,
6511    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6512    {
6513        gaxi::unimplemented::unimplemented_stub()
6514    }
6515
6516    /// Implements [super::client::NetworkEndpointGroups::detach_network_endpoints].
6517    fn detach_network_endpoints(
6518        &self,
6519        _req: crate::model::network_endpoint_groups::DetachNetworkEndpointsRequest,
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::NetworkEndpointGroups::get].
6527    fn get(
6528        &self,
6529        _req: crate::model::network_endpoint_groups::GetRequest,
6530        _options: crate::RequestOptions,
6531    ) -> impl std::future::Future<
6532        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
6533    > + Send {
6534        gaxi::unimplemented::unimplemented_stub()
6535    }
6536
6537    /// Implements [super::client::NetworkEndpointGroups::insert].
6538    fn insert(
6539        &self,
6540        _req: crate::model::network_endpoint_groups::InsertRequest,
6541        _options: crate::RequestOptions,
6542    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6543    {
6544        gaxi::unimplemented::unimplemented_stub()
6545    }
6546
6547    /// Implements [super::client::NetworkEndpointGroups::list].
6548    fn list(
6549        &self,
6550        _req: crate::model::network_endpoint_groups::ListRequest,
6551        _options: crate::RequestOptions,
6552    ) -> impl std::future::Future<
6553        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
6554    > + Send {
6555        gaxi::unimplemented::unimplemented_stub()
6556    }
6557
6558    /// Implements [super::client::NetworkEndpointGroups::list_network_endpoints].
6559    fn list_network_endpoints(
6560        &self,
6561        _req: crate::model::network_endpoint_groups::ListNetworkEndpointsRequest,
6562        _options: crate::RequestOptions,
6563    ) -> impl std::future::Future<
6564        Output = crate::Result<
6565            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
6566        >,
6567    > + Send {
6568        gaxi::unimplemented::unimplemented_stub()
6569    }
6570
6571    /// Implements [super::client::NetworkEndpointGroups::test_iam_permissions].
6572    fn test_iam_permissions(
6573        &self,
6574        _req: crate::model::network_endpoint_groups::TestIamPermissionsRequest,
6575        _options: crate::RequestOptions,
6576    ) -> impl std::future::Future<
6577        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6578    > + Send {
6579        gaxi::unimplemented::unimplemented_stub()
6580    }
6581
6582    /// Implements [super::client::NetworkEndpointGroups::get_operation].
6583    fn get_operation(
6584        &self,
6585        _req: crate::model::zone_operations::GetRequest,
6586        _options: crate::RequestOptions,
6587    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6588    {
6589        gaxi::unimplemented::unimplemented_stub()
6590    }
6591
6592    /// Returns the polling error policy.
6593    ///
6594    /// When mocking, this method is typically irrelevant. Do not try to verify
6595    /// it is called by your mocks.
6596    fn get_polling_error_policy(
6597        &self,
6598        _options: &crate::RequestOptions,
6599    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6600        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6601    }
6602
6603    /// Returns the polling backoff policy.
6604    ///
6605    /// When mocking, this method is typically irrelevant. Do not try to verify
6606    /// it is called by your mocks.
6607    fn get_polling_backoff_policy(
6608        &self,
6609        _options: &crate::RequestOptions,
6610    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6611        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6612    }
6613
6614    #[doc(hidden)]
6615    /// Returns the poller options.
6616    ///
6617    /// When mocking, this method is typically irrelevant. Do not try to verify
6618    /// it is called by your mocks.
6619    fn get_poller_options(
6620        &self,
6621        _options: &crate::RequestOptions,
6622    ) -> google_cloud_lro::PollerOptions {
6623        google_cloud_lro::PollerOptions::default()
6624    }
6625}
6626
6627/// Defines the trait used to implement [super::client::NetworkFirewallPolicies].
6628///
6629/// Application developers may need to implement this trait to mock
6630/// `client::NetworkFirewallPolicies`.  In other use-cases, application developers only
6631/// use `client::NetworkFirewallPolicies` and need not be concerned with this trait or
6632/// its implementations.
6633///
6634/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6635/// too. To avoid breaking applications the trait provides a default
6636/// implementation of each method. Most of these implementations just return an
6637/// error.
6638#[cfg(feature = "network-firewall-policies")]
6639#[cfg_attr(docsrs, doc(cfg(feature = "network-firewall-policies")))]
6640pub trait NetworkFirewallPolicies: std::fmt::Debug + Send + Sync {
6641    /// Implements [super::client::NetworkFirewallPolicies::add_association].
6642    fn add_association(
6643        &self,
6644        _req: crate::model::network_firewall_policies::AddAssociationRequest,
6645        _options: crate::RequestOptions,
6646    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6647    {
6648        gaxi::unimplemented::unimplemented_stub()
6649    }
6650
6651    /// Implements [super::client::NetworkFirewallPolicies::add_packet_mirroring_rule].
6652    fn add_packet_mirroring_rule(
6653        &self,
6654        _req: crate::model::network_firewall_policies::AddPacketMirroringRuleRequest,
6655        _options: crate::RequestOptions,
6656    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6657    {
6658        gaxi::unimplemented::unimplemented_stub()
6659    }
6660
6661    /// Implements [super::client::NetworkFirewallPolicies::add_rule].
6662    fn add_rule(
6663        &self,
6664        _req: crate::model::network_firewall_policies::AddRuleRequest,
6665        _options: crate::RequestOptions,
6666    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6667    {
6668        gaxi::unimplemented::unimplemented_stub()
6669    }
6670
6671    /// Implements [super::client::NetworkFirewallPolicies::aggregated_list].
6672    fn aggregated_list(
6673        &self,
6674        _req: crate::model::network_firewall_policies::AggregatedListRequest,
6675        _options: crate::RequestOptions,
6676    ) -> impl std::future::Future<
6677        Output = crate::Result<crate::Response<crate::model::NetworkFirewallPolicyAggregatedList>>,
6678    > + Send {
6679        gaxi::unimplemented::unimplemented_stub()
6680    }
6681
6682    /// Implements [super::client::NetworkFirewallPolicies::clone_rules].
6683    fn clone_rules(
6684        &self,
6685        _req: crate::model::network_firewall_policies::CloneRulesRequest,
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::NetworkFirewallPolicies::delete].
6693    fn delete(
6694        &self,
6695        _req: crate::model::network_firewall_policies::DeleteRequest,
6696        _options: crate::RequestOptions,
6697    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6698    {
6699        gaxi::unimplemented::unimplemented_stub()
6700    }
6701
6702    /// Implements [super::client::NetworkFirewallPolicies::get].
6703    fn get(
6704        &self,
6705        _req: crate::model::network_firewall_policies::GetRequest,
6706        _options: crate::RequestOptions,
6707    ) -> impl std::future::Future<
6708        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
6709    > + Send {
6710        gaxi::unimplemented::unimplemented_stub()
6711    }
6712
6713    /// Implements [super::client::NetworkFirewallPolicies::get_association].
6714    fn get_association(
6715        &self,
6716        _req: crate::model::network_firewall_policies::GetAssociationRequest,
6717        _options: crate::RequestOptions,
6718    ) -> impl std::future::Future<
6719        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
6720    > + Send {
6721        gaxi::unimplemented::unimplemented_stub()
6722    }
6723
6724    /// Implements [super::client::NetworkFirewallPolicies::get_iam_policy].
6725    fn get_iam_policy(
6726        &self,
6727        _req: crate::model::network_firewall_policies::GetIamPolicyRequest,
6728        _options: crate::RequestOptions,
6729    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6730    {
6731        gaxi::unimplemented::unimplemented_stub()
6732    }
6733
6734    /// Implements [super::client::NetworkFirewallPolicies::get_packet_mirroring_rule].
6735    fn get_packet_mirroring_rule(
6736        &self,
6737        _req: crate::model::network_firewall_policies::GetPacketMirroringRuleRequest,
6738        _options: crate::RequestOptions,
6739    ) -> impl std::future::Future<
6740        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
6741    > + Send {
6742        gaxi::unimplemented::unimplemented_stub()
6743    }
6744
6745    /// Implements [super::client::NetworkFirewallPolicies::get_rule].
6746    fn get_rule(
6747        &self,
6748        _req: crate::model::network_firewall_policies::GetRuleRequest,
6749        _options: crate::RequestOptions,
6750    ) -> impl std::future::Future<
6751        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
6752    > + Send {
6753        gaxi::unimplemented::unimplemented_stub()
6754    }
6755
6756    /// Implements [super::client::NetworkFirewallPolicies::insert].
6757    fn insert(
6758        &self,
6759        _req: crate::model::network_firewall_policies::InsertRequest,
6760        _options: crate::RequestOptions,
6761    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6762    {
6763        gaxi::unimplemented::unimplemented_stub()
6764    }
6765
6766    /// Implements [super::client::NetworkFirewallPolicies::list].
6767    fn list(
6768        &self,
6769        _req: crate::model::network_firewall_policies::ListRequest,
6770        _options: crate::RequestOptions,
6771    ) -> impl std::future::Future<
6772        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
6773    > + Send {
6774        gaxi::unimplemented::unimplemented_stub()
6775    }
6776
6777    /// Implements [super::client::NetworkFirewallPolicies::patch].
6778    fn patch(
6779        &self,
6780        _req: crate::model::network_firewall_policies::PatchRequest,
6781        _options: crate::RequestOptions,
6782    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6783    {
6784        gaxi::unimplemented::unimplemented_stub()
6785    }
6786
6787    /// Implements [super::client::NetworkFirewallPolicies::patch_packet_mirroring_rule].
6788    fn patch_packet_mirroring_rule(
6789        &self,
6790        _req: crate::model::network_firewall_policies::PatchPacketMirroringRuleRequest,
6791        _options: crate::RequestOptions,
6792    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6793    {
6794        gaxi::unimplemented::unimplemented_stub()
6795    }
6796
6797    /// Implements [super::client::NetworkFirewallPolicies::patch_rule].
6798    fn patch_rule(
6799        &self,
6800        _req: crate::model::network_firewall_policies::PatchRuleRequest,
6801        _options: crate::RequestOptions,
6802    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6803    {
6804        gaxi::unimplemented::unimplemented_stub()
6805    }
6806
6807    /// Implements [super::client::NetworkFirewallPolicies::remove_association].
6808    fn remove_association(
6809        &self,
6810        _req: crate::model::network_firewall_policies::RemoveAssociationRequest,
6811        _options: crate::RequestOptions,
6812    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6813    {
6814        gaxi::unimplemented::unimplemented_stub()
6815    }
6816
6817    /// Implements [super::client::NetworkFirewallPolicies::remove_packet_mirroring_rule].
6818    fn remove_packet_mirroring_rule(
6819        &self,
6820        _req: crate::model::network_firewall_policies::RemovePacketMirroringRuleRequest,
6821        _options: crate::RequestOptions,
6822    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6823    {
6824        gaxi::unimplemented::unimplemented_stub()
6825    }
6826
6827    /// Implements [super::client::NetworkFirewallPolicies::remove_rule].
6828    fn remove_rule(
6829        &self,
6830        _req: crate::model::network_firewall_policies::RemoveRuleRequest,
6831        _options: crate::RequestOptions,
6832    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6833    {
6834        gaxi::unimplemented::unimplemented_stub()
6835    }
6836
6837    /// Implements [super::client::NetworkFirewallPolicies::set_iam_policy].
6838    fn set_iam_policy(
6839        &self,
6840        _req: crate::model::network_firewall_policies::SetIamPolicyRequest,
6841        _options: crate::RequestOptions,
6842    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6843    {
6844        gaxi::unimplemented::unimplemented_stub()
6845    }
6846
6847    /// Implements [super::client::NetworkFirewallPolicies::test_iam_permissions].
6848    fn test_iam_permissions(
6849        &self,
6850        _req: crate::model::network_firewall_policies::TestIamPermissionsRequest,
6851        _options: crate::RequestOptions,
6852    ) -> impl std::future::Future<
6853        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6854    > + Send {
6855        gaxi::unimplemented::unimplemented_stub()
6856    }
6857
6858    /// Implements [super::client::NetworkFirewallPolicies::get_operation].
6859    fn get_operation(
6860        &self,
6861        _req: crate::model::global_operations::GetRequest,
6862        _options: crate::RequestOptions,
6863    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6864    {
6865        gaxi::unimplemented::unimplemented_stub()
6866    }
6867
6868    /// Returns the polling error policy.
6869    ///
6870    /// When mocking, this method is typically irrelevant. Do not try to verify
6871    /// it is called by your mocks.
6872    fn get_polling_error_policy(
6873        &self,
6874        _options: &crate::RequestOptions,
6875    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6876        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6877    }
6878
6879    /// Returns the polling backoff policy.
6880    ///
6881    /// When mocking, this method is typically irrelevant. Do not try to verify
6882    /// it is called by your mocks.
6883    fn get_polling_backoff_policy(
6884        &self,
6885        _options: &crate::RequestOptions,
6886    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6887        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6888    }
6889
6890    #[doc(hidden)]
6891    /// Returns the poller options.
6892    ///
6893    /// When mocking, this method is typically irrelevant. Do not try to verify
6894    /// it is called by your mocks.
6895    fn get_poller_options(
6896        &self,
6897        _options: &crate::RequestOptions,
6898    ) -> google_cloud_lro::PollerOptions {
6899        google_cloud_lro::PollerOptions::default()
6900    }
6901}
6902
6903/// Defines the trait used to implement [super::client::NetworkProfiles].
6904///
6905/// Application developers may need to implement this trait to mock
6906/// `client::NetworkProfiles`.  In other use-cases, application developers only
6907/// use `client::NetworkProfiles` and need not be concerned with this trait or
6908/// its implementations.
6909///
6910/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6911/// too. To avoid breaking applications the trait provides a default
6912/// implementation of each method. Most of these implementations just return an
6913/// error.
6914#[cfg(feature = "network-profiles")]
6915#[cfg_attr(docsrs, doc(cfg(feature = "network-profiles")))]
6916pub trait NetworkProfiles: std::fmt::Debug + Send + Sync {
6917    /// Implements [super::client::NetworkProfiles::get].
6918    fn get(
6919        &self,
6920        _req: crate::model::network_profiles::GetRequest,
6921        _options: crate::RequestOptions,
6922    ) -> impl std::future::Future<
6923        Output = crate::Result<crate::Response<crate::model::NetworkProfile>>,
6924    > + Send {
6925        gaxi::unimplemented::unimplemented_stub()
6926    }
6927
6928    /// Implements [super::client::NetworkProfiles::list].
6929    fn list(
6930        &self,
6931        _req: crate::model::network_profiles::ListRequest,
6932        _options: crate::RequestOptions,
6933    ) -> impl std::future::Future<
6934        Output = crate::Result<crate::Response<crate::model::NetworkProfilesListResponse>>,
6935    > + Send {
6936        gaxi::unimplemented::unimplemented_stub()
6937    }
6938}
6939
6940/// Defines the trait used to implement [super::client::Networks].
6941///
6942/// Application developers may need to implement this trait to mock
6943/// `client::Networks`.  In other use-cases, application developers only
6944/// use `client::Networks` and need not be concerned with this trait or
6945/// its implementations.
6946///
6947/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6948/// too. To avoid breaking applications the trait provides a default
6949/// implementation of each method. Most of these implementations just return an
6950/// error.
6951#[cfg(feature = "networks")]
6952#[cfg_attr(docsrs, doc(cfg(feature = "networks")))]
6953pub trait Networks: std::fmt::Debug + Send + Sync {
6954    /// Implements [super::client::Networks::add_peering].
6955    fn add_peering(
6956        &self,
6957        _req: crate::model::networks::AddPeeringRequest,
6958        _options: crate::RequestOptions,
6959    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6960    {
6961        gaxi::unimplemented::unimplemented_stub()
6962    }
6963
6964    /// Implements [super::client::Networks::cancel_request_remove_peering].
6965    fn cancel_request_remove_peering(
6966        &self,
6967        _req: crate::model::networks::CancelRequestRemovePeeringRequest,
6968        _options: crate::RequestOptions,
6969    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6970    {
6971        gaxi::unimplemented::unimplemented_stub()
6972    }
6973
6974    /// Implements [super::client::Networks::delete].
6975    fn delete(
6976        &self,
6977        _req: crate::model::networks::DeleteRequest,
6978        _options: crate::RequestOptions,
6979    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6980    {
6981        gaxi::unimplemented::unimplemented_stub()
6982    }
6983
6984    /// Implements [super::client::Networks::get].
6985    fn get(
6986        &self,
6987        _req: crate::model::networks::GetRequest,
6988        _options: crate::RequestOptions,
6989    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Network>>> + Send
6990    {
6991        gaxi::unimplemented::unimplemented_stub()
6992    }
6993
6994    /// Implements [super::client::Networks::get_effective_firewalls].
6995    fn get_effective_firewalls(
6996        &self,
6997        _req: crate::model::networks::GetEffectiveFirewallsRequest,
6998        _options: crate::RequestOptions,
6999    ) -> impl std::future::Future<
7000        Output = crate::Result<
7001            crate::Response<crate::model::NetworksGetEffectiveFirewallsResponse>,
7002        >,
7003    > + Send {
7004        gaxi::unimplemented::unimplemented_stub()
7005    }
7006
7007    /// Implements [super::client::Networks::insert].
7008    fn insert(
7009        &self,
7010        _req: crate::model::networks::InsertRequest,
7011        _options: crate::RequestOptions,
7012    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7013    {
7014        gaxi::unimplemented::unimplemented_stub()
7015    }
7016
7017    /// Implements [super::client::Networks::list].
7018    fn list(
7019        &self,
7020        _req: crate::model::networks::ListRequest,
7021        _options: crate::RequestOptions,
7022    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NetworkList>>>
7023    + Send {
7024        gaxi::unimplemented::unimplemented_stub()
7025    }
7026
7027    /// Implements [super::client::Networks::list_peering_routes].
7028    fn list_peering_routes(
7029        &self,
7030        _req: crate::model::networks::ListPeeringRoutesRequest,
7031        _options: crate::RequestOptions,
7032    ) -> impl std::future::Future<
7033        Output = crate::Result<crate::Response<crate::model::ExchangedPeeringRoutesList>>,
7034    > + Send {
7035        gaxi::unimplemented::unimplemented_stub()
7036    }
7037
7038    /// Implements [super::client::Networks::patch].
7039    fn patch(
7040        &self,
7041        _req: crate::model::networks::PatchRequest,
7042        _options: crate::RequestOptions,
7043    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7044    {
7045        gaxi::unimplemented::unimplemented_stub()
7046    }
7047
7048    /// Implements [super::client::Networks::remove_peering].
7049    fn remove_peering(
7050        &self,
7051        _req: crate::model::networks::RemovePeeringRequest,
7052        _options: crate::RequestOptions,
7053    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7054    {
7055        gaxi::unimplemented::unimplemented_stub()
7056    }
7057
7058    /// Implements [super::client::Networks::request_remove_peering].
7059    fn request_remove_peering(
7060        &self,
7061        _req: crate::model::networks::RequestRemovePeeringRequest,
7062        _options: crate::RequestOptions,
7063    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7064    {
7065        gaxi::unimplemented::unimplemented_stub()
7066    }
7067
7068    /// Implements [super::client::Networks::switch_to_custom_mode].
7069    fn switch_to_custom_mode(
7070        &self,
7071        _req: crate::model::networks::SwitchToCustomModeRequest,
7072        _options: crate::RequestOptions,
7073    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7074    {
7075        gaxi::unimplemented::unimplemented_stub()
7076    }
7077
7078    /// Implements [super::client::Networks::update_peering].
7079    fn update_peering(
7080        &self,
7081        _req: crate::model::networks::UpdatePeeringRequest,
7082        _options: crate::RequestOptions,
7083    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7084    {
7085        gaxi::unimplemented::unimplemented_stub()
7086    }
7087
7088    /// Implements [super::client::Networks::get_operation].
7089    fn get_operation(
7090        &self,
7091        _req: crate::model::global_operations::GetRequest,
7092        _options: crate::RequestOptions,
7093    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7094    {
7095        gaxi::unimplemented::unimplemented_stub()
7096    }
7097
7098    /// Returns the polling error policy.
7099    ///
7100    /// When mocking, this method is typically irrelevant. Do not try to verify
7101    /// it is called by your mocks.
7102    fn get_polling_error_policy(
7103        &self,
7104        _options: &crate::RequestOptions,
7105    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7106        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7107    }
7108
7109    /// Returns the polling backoff policy.
7110    ///
7111    /// When mocking, this method is typically irrelevant. Do not try to verify
7112    /// it is called by your mocks.
7113    fn get_polling_backoff_policy(
7114        &self,
7115        _options: &crate::RequestOptions,
7116    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7117        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7118    }
7119
7120    #[doc(hidden)]
7121    /// Returns the poller options.
7122    ///
7123    /// When mocking, this method is typically irrelevant. Do not try to verify
7124    /// it is called by your mocks.
7125    fn get_poller_options(
7126        &self,
7127        _options: &crate::RequestOptions,
7128    ) -> google_cloud_lro::PollerOptions {
7129        google_cloud_lro::PollerOptions::default()
7130    }
7131}
7132
7133/// Defines the trait used to implement [super::client::NodeGroups].
7134///
7135/// Application developers may need to implement this trait to mock
7136/// `client::NodeGroups`.  In other use-cases, application developers only
7137/// use `client::NodeGroups` and need not be concerned with this trait or
7138/// its implementations.
7139///
7140/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7141/// too. To avoid breaking applications the trait provides a default
7142/// implementation of each method. Most of these implementations just return an
7143/// error.
7144#[cfg(feature = "node-groups")]
7145#[cfg_attr(docsrs, doc(cfg(feature = "node-groups")))]
7146pub trait NodeGroups: std::fmt::Debug + Send + Sync {
7147    /// Implements [super::client::NodeGroups::add_nodes].
7148    fn add_nodes(
7149        &self,
7150        _req: crate::model::node_groups::AddNodesRequest,
7151        _options: crate::RequestOptions,
7152    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7153    {
7154        gaxi::unimplemented::unimplemented_stub()
7155    }
7156
7157    /// Implements [super::client::NodeGroups::aggregated_list].
7158    fn aggregated_list(
7159        &self,
7160        _req: crate::model::node_groups::AggregatedListRequest,
7161        _options: crate::RequestOptions,
7162    ) -> impl std::future::Future<
7163        Output = crate::Result<crate::Response<crate::model::NodeGroupAggregatedList>>,
7164    > + Send {
7165        gaxi::unimplemented::unimplemented_stub()
7166    }
7167
7168    /// Implements [super::client::NodeGroups::delete].
7169    fn delete(
7170        &self,
7171        _req: crate::model::node_groups::DeleteRequest,
7172        _options: crate::RequestOptions,
7173    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7174    {
7175        gaxi::unimplemented::unimplemented_stub()
7176    }
7177
7178    /// Implements [super::client::NodeGroups::delete_nodes].
7179    fn delete_nodes(
7180        &self,
7181        _req: crate::model::node_groups::DeleteNodesRequest,
7182        _options: crate::RequestOptions,
7183    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7184    {
7185        gaxi::unimplemented::unimplemented_stub()
7186    }
7187
7188    /// Implements [super::client::NodeGroups::get].
7189    fn get(
7190        &self,
7191        _req: crate::model::node_groups::GetRequest,
7192        _options: crate::RequestOptions,
7193    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NodeGroup>>> + Send
7194    {
7195        gaxi::unimplemented::unimplemented_stub()
7196    }
7197
7198    /// Implements [super::client::NodeGroups::get_iam_policy].
7199    fn get_iam_policy(
7200        &self,
7201        _req: crate::model::node_groups::GetIamPolicyRequest,
7202        _options: crate::RequestOptions,
7203    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7204    {
7205        gaxi::unimplemented::unimplemented_stub()
7206    }
7207
7208    /// Implements [super::client::NodeGroups::insert].
7209    fn insert(
7210        &self,
7211        _req: crate::model::node_groups::InsertRequest,
7212        _options: crate::RequestOptions,
7213    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7214    {
7215        gaxi::unimplemented::unimplemented_stub()
7216    }
7217
7218    /// Implements [super::client::NodeGroups::list].
7219    fn list(
7220        &self,
7221        _req: crate::model::node_groups::ListRequest,
7222        _options: crate::RequestOptions,
7223    ) -> impl std::future::Future<
7224        Output = crate::Result<crate::Response<crate::model::NodeGroupList>>,
7225    > + Send {
7226        gaxi::unimplemented::unimplemented_stub()
7227    }
7228
7229    /// Implements [super::client::NodeGroups::list_nodes].
7230    fn list_nodes(
7231        &self,
7232        _req: crate::model::node_groups::ListNodesRequest,
7233        _options: crate::RequestOptions,
7234    ) -> impl std::future::Future<
7235        Output = crate::Result<crate::Response<crate::model::NodeGroupsListNodes>>,
7236    > + Send {
7237        gaxi::unimplemented::unimplemented_stub()
7238    }
7239
7240    /// Implements [super::client::NodeGroups::patch].
7241    fn patch(
7242        &self,
7243        _req: crate::model::node_groups::PatchRequest,
7244        _options: crate::RequestOptions,
7245    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7246    {
7247        gaxi::unimplemented::unimplemented_stub()
7248    }
7249
7250    /// Implements [super::client::NodeGroups::perform_maintenance].
7251    fn perform_maintenance(
7252        &self,
7253        _req: crate::model::node_groups::PerformMaintenanceRequest,
7254        _options: crate::RequestOptions,
7255    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7256    {
7257        gaxi::unimplemented::unimplemented_stub()
7258    }
7259
7260    /// Implements [super::client::NodeGroups::set_iam_policy].
7261    fn set_iam_policy(
7262        &self,
7263        _req: crate::model::node_groups::SetIamPolicyRequest,
7264        _options: crate::RequestOptions,
7265    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7266    {
7267        gaxi::unimplemented::unimplemented_stub()
7268    }
7269
7270    /// Implements [super::client::NodeGroups::set_node_template].
7271    fn set_node_template(
7272        &self,
7273        _req: crate::model::node_groups::SetNodeTemplateRequest,
7274        _options: crate::RequestOptions,
7275    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7276    {
7277        gaxi::unimplemented::unimplemented_stub()
7278    }
7279
7280    /// Implements [super::client::NodeGroups::simulate_maintenance_event].
7281    fn simulate_maintenance_event(
7282        &self,
7283        _req: crate::model::node_groups::SimulateMaintenanceEventRequest,
7284        _options: crate::RequestOptions,
7285    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7286    {
7287        gaxi::unimplemented::unimplemented_stub()
7288    }
7289
7290    /// Implements [super::client::NodeGroups::test_iam_permissions].
7291    fn test_iam_permissions(
7292        &self,
7293        _req: crate::model::node_groups::TestIamPermissionsRequest,
7294        _options: crate::RequestOptions,
7295    ) -> impl std::future::Future<
7296        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7297    > + Send {
7298        gaxi::unimplemented::unimplemented_stub()
7299    }
7300
7301    /// Implements [super::client::NodeGroups::get_operation].
7302    fn get_operation(
7303        &self,
7304        _req: crate::model::zone_operations::GetRequest,
7305        _options: crate::RequestOptions,
7306    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7307    {
7308        gaxi::unimplemented::unimplemented_stub()
7309    }
7310
7311    /// Returns the polling error policy.
7312    ///
7313    /// When mocking, this method is typically irrelevant. Do not try to verify
7314    /// it is called by your mocks.
7315    fn get_polling_error_policy(
7316        &self,
7317        _options: &crate::RequestOptions,
7318    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7319        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7320    }
7321
7322    /// Returns the polling backoff policy.
7323    ///
7324    /// When mocking, this method is typically irrelevant. Do not try to verify
7325    /// it is called by your mocks.
7326    fn get_polling_backoff_policy(
7327        &self,
7328        _options: &crate::RequestOptions,
7329    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7330        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7331    }
7332
7333    #[doc(hidden)]
7334    /// Returns the poller options.
7335    ///
7336    /// When mocking, this method is typically irrelevant. Do not try to verify
7337    /// it is called by your mocks.
7338    fn get_poller_options(
7339        &self,
7340        _options: &crate::RequestOptions,
7341    ) -> google_cloud_lro::PollerOptions {
7342        google_cloud_lro::PollerOptions::default()
7343    }
7344}
7345
7346/// Defines the trait used to implement [super::client::NodeTemplates].
7347///
7348/// Application developers may need to implement this trait to mock
7349/// `client::NodeTemplates`.  In other use-cases, application developers only
7350/// use `client::NodeTemplates` and need not be concerned with this trait or
7351/// its implementations.
7352///
7353/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7354/// too. To avoid breaking applications the trait provides a default
7355/// implementation of each method. Most of these implementations just return an
7356/// error.
7357#[cfg(feature = "node-templates")]
7358#[cfg_attr(docsrs, doc(cfg(feature = "node-templates")))]
7359pub trait NodeTemplates: std::fmt::Debug + Send + Sync {
7360    /// Implements [super::client::NodeTemplates::aggregated_list].
7361    fn aggregated_list(
7362        &self,
7363        _req: crate::model::node_templates::AggregatedListRequest,
7364        _options: crate::RequestOptions,
7365    ) -> impl std::future::Future<
7366        Output = crate::Result<crate::Response<crate::model::NodeTemplateAggregatedList>>,
7367    > + Send {
7368        gaxi::unimplemented::unimplemented_stub()
7369    }
7370
7371    /// Implements [super::client::NodeTemplates::delete].
7372    fn delete(
7373        &self,
7374        _req: crate::model::node_templates::DeleteRequest,
7375        _options: crate::RequestOptions,
7376    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7377    {
7378        gaxi::unimplemented::unimplemented_stub()
7379    }
7380
7381    /// Implements [super::client::NodeTemplates::get].
7382    fn get(
7383        &self,
7384        _req: crate::model::node_templates::GetRequest,
7385        _options: crate::RequestOptions,
7386    ) -> impl std::future::Future<
7387        Output = crate::Result<crate::Response<crate::model::NodeTemplate>>,
7388    > + Send {
7389        gaxi::unimplemented::unimplemented_stub()
7390    }
7391
7392    /// Implements [super::client::NodeTemplates::get_iam_policy].
7393    fn get_iam_policy(
7394        &self,
7395        _req: crate::model::node_templates::GetIamPolicyRequest,
7396        _options: crate::RequestOptions,
7397    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7398    {
7399        gaxi::unimplemented::unimplemented_stub()
7400    }
7401
7402    /// Implements [super::client::NodeTemplates::insert].
7403    fn insert(
7404        &self,
7405        _req: crate::model::node_templates::InsertRequest,
7406        _options: crate::RequestOptions,
7407    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7408    {
7409        gaxi::unimplemented::unimplemented_stub()
7410    }
7411
7412    /// Implements [super::client::NodeTemplates::list].
7413    fn list(
7414        &self,
7415        _req: crate::model::node_templates::ListRequest,
7416        _options: crate::RequestOptions,
7417    ) -> impl std::future::Future<
7418        Output = crate::Result<crate::Response<crate::model::NodeTemplateList>>,
7419    > + Send {
7420        gaxi::unimplemented::unimplemented_stub()
7421    }
7422
7423    /// Implements [super::client::NodeTemplates::set_iam_policy].
7424    fn set_iam_policy(
7425        &self,
7426        _req: crate::model::node_templates::SetIamPolicyRequest,
7427        _options: crate::RequestOptions,
7428    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7429    {
7430        gaxi::unimplemented::unimplemented_stub()
7431    }
7432
7433    /// Implements [super::client::NodeTemplates::test_iam_permissions].
7434    fn test_iam_permissions(
7435        &self,
7436        _req: crate::model::node_templates::TestIamPermissionsRequest,
7437        _options: crate::RequestOptions,
7438    ) -> impl std::future::Future<
7439        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7440    > + Send {
7441        gaxi::unimplemented::unimplemented_stub()
7442    }
7443
7444    /// Implements [super::client::NodeTemplates::get_operation].
7445    fn get_operation(
7446        &self,
7447        _req: crate::model::region_operations::GetRequest,
7448        _options: crate::RequestOptions,
7449    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7450    {
7451        gaxi::unimplemented::unimplemented_stub()
7452    }
7453
7454    /// Returns the polling error policy.
7455    ///
7456    /// When mocking, this method is typically irrelevant. Do not try to verify
7457    /// it is called by your mocks.
7458    fn get_polling_error_policy(
7459        &self,
7460        _options: &crate::RequestOptions,
7461    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7462        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7463    }
7464
7465    /// Returns the polling backoff policy.
7466    ///
7467    /// When mocking, this method is typically irrelevant. Do not try to verify
7468    /// it is called by your mocks.
7469    fn get_polling_backoff_policy(
7470        &self,
7471        _options: &crate::RequestOptions,
7472    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7473        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7474    }
7475
7476    #[doc(hidden)]
7477    /// Returns the poller options.
7478    ///
7479    /// When mocking, this method is typically irrelevant. Do not try to verify
7480    /// it is called by your mocks.
7481    fn get_poller_options(
7482        &self,
7483        _options: &crate::RequestOptions,
7484    ) -> google_cloud_lro::PollerOptions {
7485        google_cloud_lro::PollerOptions::default()
7486    }
7487}
7488
7489/// Defines the trait used to implement [super::client::NodeTypes].
7490///
7491/// Application developers may need to implement this trait to mock
7492/// `client::NodeTypes`.  In other use-cases, application developers only
7493/// use `client::NodeTypes` and need not be concerned with this trait or
7494/// its implementations.
7495///
7496/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7497/// too. To avoid breaking applications the trait provides a default
7498/// implementation of each method. Most of these implementations just return an
7499/// error.
7500#[cfg(feature = "node-types")]
7501#[cfg_attr(docsrs, doc(cfg(feature = "node-types")))]
7502pub trait NodeTypes: std::fmt::Debug + Send + Sync {
7503    /// Implements [super::client::NodeTypes::aggregated_list].
7504    fn aggregated_list(
7505        &self,
7506        _req: crate::model::node_types::AggregatedListRequest,
7507        _options: crate::RequestOptions,
7508    ) -> impl std::future::Future<
7509        Output = crate::Result<crate::Response<crate::model::NodeTypeAggregatedList>>,
7510    > + Send {
7511        gaxi::unimplemented::unimplemented_stub()
7512    }
7513
7514    /// Implements [super::client::NodeTypes::get].
7515    fn get(
7516        &self,
7517        _req: crate::model::node_types::GetRequest,
7518        _options: crate::RequestOptions,
7519    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NodeType>>> + Send
7520    {
7521        gaxi::unimplemented::unimplemented_stub()
7522    }
7523
7524    /// Implements [super::client::NodeTypes::list].
7525    fn list(
7526        &self,
7527        _req: crate::model::node_types::ListRequest,
7528        _options: crate::RequestOptions,
7529    ) -> impl std::future::Future<
7530        Output = crate::Result<crate::Response<crate::model::NodeTypeList>>,
7531    > + Send {
7532        gaxi::unimplemented::unimplemented_stub()
7533    }
7534}
7535
7536/// Defines the trait used to implement [super::client::OrganizationSecurityPolicies].
7537///
7538/// Application developers may need to implement this trait to mock
7539/// `client::OrganizationSecurityPolicies`.  In other use-cases, application developers only
7540/// use `client::OrganizationSecurityPolicies` and need not be concerned with this trait or
7541/// its implementations.
7542///
7543/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7544/// too. To avoid breaking applications the trait provides a default
7545/// implementation of each method. Most of these implementations just return an
7546/// error.
7547#[cfg(feature = "organization-security-policies")]
7548#[cfg_attr(docsrs, doc(cfg(feature = "organization-security-policies")))]
7549pub trait OrganizationSecurityPolicies: std::fmt::Debug + Send + Sync {
7550    /// Implements [super::client::OrganizationSecurityPolicies::add_association].
7551    fn add_association(
7552        &self,
7553        _req: crate::model::organization_security_policies::AddAssociationRequest,
7554        _options: crate::RequestOptions,
7555    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7556    {
7557        gaxi::unimplemented::unimplemented_stub()
7558    }
7559
7560    /// Implements [super::client::OrganizationSecurityPolicies::add_rule].
7561    fn add_rule(
7562        &self,
7563        _req: crate::model::organization_security_policies::AddRuleRequest,
7564        _options: crate::RequestOptions,
7565    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7566    {
7567        gaxi::unimplemented::unimplemented_stub()
7568    }
7569
7570    /// Implements [super::client::OrganizationSecurityPolicies::copy_rules].
7571    fn copy_rules(
7572        &self,
7573        _req: crate::model::organization_security_policies::CopyRulesRequest,
7574        _options: crate::RequestOptions,
7575    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7576    {
7577        gaxi::unimplemented::unimplemented_stub()
7578    }
7579
7580    /// Implements [super::client::OrganizationSecurityPolicies::delete].
7581    fn delete(
7582        &self,
7583        _req: crate::model::organization_security_policies::DeleteRequest,
7584        _options: crate::RequestOptions,
7585    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7586    {
7587        gaxi::unimplemented::unimplemented_stub()
7588    }
7589
7590    /// Implements [super::client::OrganizationSecurityPolicies::get].
7591    fn get(
7592        &self,
7593        _req: crate::model::organization_security_policies::GetRequest,
7594        _options: crate::RequestOptions,
7595    ) -> impl std::future::Future<
7596        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
7597    > + Send {
7598        gaxi::unimplemented::unimplemented_stub()
7599    }
7600
7601    /// Implements [super::client::OrganizationSecurityPolicies::get_association].
7602    fn get_association(
7603        &self,
7604        _req: crate::model::organization_security_policies::GetAssociationRequest,
7605        _options: crate::RequestOptions,
7606    ) -> impl std::future::Future<
7607        Output = crate::Result<crate::Response<crate::model::SecurityPolicyAssociation>>,
7608    > + Send {
7609        gaxi::unimplemented::unimplemented_stub()
7610    }
7611
7612    /// Implements [super::client::OrganizationSecurityPolicies::get_rule].
7613    fn get_rule(
7614        &self,
7615        _req: crate::model::organization_security_policies::GetRuleRequest,
7616        _options: crate::RequestOptions,
7617    ) -> impl std::future::Future<
7618        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
7619    > + Send {
7620        gaxi::unimplemented::unimplemented_stub()
7621    }
7622
7623    /// Implements [super::client::OrganizationSecurityPolicies::insert].
7624    fn insert(
7625        &self,
7626        _req: crate::model::organization_security_policies::InsertRequest,
7627        _options: crate::RequestOptions,
7628    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7629    {
7630        gaxi::unimplemented::unimplemented_stub()
7631    }
7632
7633    /// Implements [super::client::OrganizationSecurityPolicies::list].
7634    fn list(
7635        &self,
7636        _req: crate::model::organization_security_policies::ListRequest,
7637        _options: crate::RequestOptions,
7638    ) -> impl std::future::Future<
7639        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
7640    > + Send {
7641        gaxi::unimplemented::unimplemented_stub()
7642    }
7643
7644    /// Implements [super::client::OrganizationSecurityPolicies::list_associations].
7645    fn list_associations(
7646        &self,
7647        _req: crate::model::organization_security_policies::ListAssociationsRequest,
7648        _options: crate::RequestOptions,
7649    ) -> impl std::future::Future<
7650        Output = crate::Result<
7651            crate::Response<crate::model::OrganizationSecurityPoliciesListAssociationsResponse>,
7652        >,
7653    > + Send {
7654        gaxi::unimplemented::unimplemented_stub()
7655    }
7656
7657    /// Implements [super::client::OrganizationSecurityPolicies::list_preconfigured_expression_sets].
7658    fn list_preconfigured_expression_sets(
7659        &self,
7660        _req: crate::model::organization_security_policies::ListPreconfiguredExpressionSetsRequest,
7661        _options: crate::RequestOptions,
7662    ) -> impl std::future::Future<
7663        Output = crate::Result<
7664            crate::Response<crate::model::SecurityPoliciesListPreconfiguredExpressionSetsResponse>,
7665        >,
7666    > + Send {
7667        gaxi::unimplemented::unimplemented_stub()
7668    }
7669
7670    /// Implements [super::client::OrganizationSecurityPolicies::r#move].
7671    fn r#move(
7672        &self,
7673        _req: crate::model::organization_security_policies::MoveRequest,
7674        _options: crate::RequestOptions,
7675    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7676    {
7677        gaxi::unimplemented::unimplemented_stub()
7678    }
7679
7680    /// Implements [super::client::OrganizationSecurityPolicies::patch].
7681    fn patch(
7682        &self,
7683        _req: crate::model::organization_security_policies::PatchRequest,
7684        _options: crate::RequestOptions,
7685    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7686    {
7687        gaxi::unimplemented::unimplemented_stub()
7688    }
7689
7690    /// Implements [super::client::OrganizationSecurityPolicies::patch_rule].
7691    fn patch_rule(
7692        &self,
7693        _req: crate::model::organization_security_policies::PatchRuleRequest,
7694        _options: crate::RequestOptions,
7695    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7696    {
7697        gaxi::unimplemented::unimplemented_stub()
7698    }
7699
7700    /// Implements [super::client::OrganizationSecurityPolicies::remove_association].
7701    fn remove_association(
7702        &self,
7703        _req: crate::model::organization_security_policies::RemoveAssociationRequest,
7704        _options: crate::RequestOptions,
7705    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7706    {
7707        gaxi::unimplemented::unimplemented_stub()
7708    }
7709
7710    /// Implements [super::client::OrganizationSecurityPolicies::remove_rule].
7711    fn remove_rule(
7712        &self,
7713        _req: crate::model::organization_security_policies::RemoveRuleRequest,
7714        _options: crate::RequestOptions,
7715    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7716    {
7717        gaxi::unimplemented::unimplemented_stub()
7718    }
7719
7720    /// Implements [super::client::OrganizationSecurityPolicies::get_operation].
7721    fn get_operation(
7722        &self,
7723        _req: crate::model::global_organization_operations::GetRequest,
7724        _options: crate::RequestOptions,
7725    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7726    {
7727        gaxi::unimplemented::unimplemented_stub()
7728    }
7729
7730    /// Returns the polling error policy.
7731    ///
7732    /// When mocking, this method is typically irrelevant. Do not try to verify
7733    /// it is called by your mocks.
7734    fn get_polling_error_policy(
7735        &self,
7736        _options: &crate::RequestOptions,
7737    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7738        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7739    }
7740
7741    /// Returns the polling backoff policy.
7742    ///
7743    /// When mocking, this method is typically irrelevant. Do not try to verify
7744    /// it is called by your mocks.
7745    fn get_polling_backoff_policy(
7746        &self,
7747        _options: &crate::RequestOptions,
7748    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7749        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7750    }
7751
7752    #[doc(hidden)]
7753    /// Returns the poller options.
7754    ///
7755    /// When mocking, this method is typically irrelevant. Do not try to verify
7756    /// it is called by your mocks.
7757    fn get_poller_options(
7758        &self,
7759        _options: &crate::RequestOptions,
7760    ) -> google_cloud_lro::PollerOptions {
7761        google_cloud_lro::PollerOptions::default()
7762    }
7763}
7764
7765/// Defines the trait used to implement [super::client::PacketMirrorings].
7766///
7767/// Application developers may need to implement this trait to mock
7768/// `client::PacketMirrorings`.  In other use-cases, application developers only
7769/// use `client::PacketMirrorings` and need not be concerned with this trait or
7770/// its implementations.
7771///
7772/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7773/// too. To avoid breaking applications the trait provides a default
7774/// implementation of each method. Most of these implementations just return an
7775/// error.
7776#[cfg(feature = "packet-mirrorings")]
7777#[cfg_attr(docsrs, doc(cfg(feature = "packet-mirrorings")))]
7778pub trait PacketMirrorings: std::fmt::Debug + Send + Sync {
7779    /// Implements [super::client::PacketMirrorings::aggregated_list].
7780    fn aggregated_list(
7781        &self,
7782        _req: crate::model::packet_mirrorings::AggregatedListRequest,
7783        _options: crate::RequestOptions,
7784    ) -> impl std::future::Future<
7785        Output = crate::Result<crate::Response<crate::model::PacketMirroringAggregatedList>>,
7786    > + Send {
7787        gaxi::unimplemented::unimplemented_stub()
7788    }
7789
7790    /// Implements [super::client::PacketMirrorings::delete].
7791    fn delete(
7792        &self,
7793        _req: crate::model::packet_mirrorings::DeleteRequest,
7794        _options: crate::RequestOptions,
7795    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7796    {
7797        gaxi::unimplemented::unimplemented_stub()
7798    }
7799
7800    /// Implements [super::client::PacketMirrorings::get].
7801    fn get(
7802        &self,
7803        _req: crate::model::packet_mirrorings::GetRequest,
7804        _options: crate::RequestOptions,
7805    ) -> impl std::future::Future<
7806        Output = crate::Result<crate::Response<crate::model::PacketMirroring>>,
7807    > + Send {
7808        gaxi::unimplemented::unimplemented_stub()
7809    }
7810
7811    /// Implements [super::client::PacketMirrorings::insert].
7812    fn insert(
7813        &self,
7814        _req: crate::model::packet_mirrorings::InsertRequest,
7815        _options: crate::RequestOptions,
7816    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7817    {
7818        gaxi::unimplemented::unimplemented_stub()
7819    }
7820
7821    /// Implements [super::client::PacketMirrorings::list].
7822    fn list(
7823        &self,
7824        _req: crate::model::packet_mirrorings::ListRequest,
7825        _options: crate::RequestOptions,
7826    ) -> impl std::future::Future<
7827        Output = crate::Result<crate::Response<crate::model::PacketMirroringList>>,
7828    > + Send {
7829        gaxi::unimplemented::unimplemented_stub()
7830    }
7831
7832    /// Implements [super::client::PacketMirrorings::patch].
7833    fn patch(
7834        &self,
7835        _req: crate::model::packet_mirrorings::PatchRequest,
7836        _options: crate::RequestOptions,
7837    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7838    {
7839        gaxi::unimplemented::unimplemented_stub()
7840    }
7841
7842    /// Implements [super::client::PacketMirrorings::test_iam_permissions].
7843    fn test_iam_permissions(
7844        &self,
7845        _req: crate::model::packet_mirrorings::TestIamPermissionsRequest,
7846        _options: crate::RequestOptions,
7847    ) -> impl std::future::Future<
7848        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7849    > + Send {
7850        gaxi::unimplemented::unimplemented_stub()
7851    }
7852
7853    /// Implements [super::client::PacketMirrorings::get_operation].
7854    fn get_operation(
7855        &self,
7856        _req: crate::model::region_operations::GetRequest,
7857        _options: crate::RequestOptions,
7858    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7859    {
7860        gaxi::unimplemented::unimplemented_stub()
7861    }
7862
7863    /// Returns the polling error policy.
7864    ///
7865    /// When mocking, this method is typically irrelevant. Do not try to verify
7866    /// it is called by your mocks.
7867    fn get_polling_error_policy(
7868        &self,
7869        _options: &crate::RequestOptions,
7870    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7871        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7872    }
7873
7874    /// Returns the polling backoff policy.
7875    ///
7876    /// When mocking, this method is typically irrelevant. Do not try to verify
7877    /// it is called by your mocks.
7878    fn get_polling_backoff_policy(
7879        &self,
7880        _options: &crate::RequestOptions,
7881    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7882        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7883    }
7884
7885    #[doc(hidden)]
7886    /// Returns the poller options.
7887    ///
7888    /// When mocking, this method is typically irrelevant. Do not try to verify
7889    /// it is called by your mocks.
7890    fn get_poller_options(
7891        &self,
7892        _options: &crate::RequestOptions,
7893    ) -> google_cloud_lro::PollerOptions {
7894        google_cloud_lro::PollerOptions::default()
7895    }
7896}
7897
7898/// Defines the trait used to implement [super::client::PreviewFeatures].
7899///
7900/// Application developers may need to implement this trait to mock
7901/// `client::PreviewFeatures`.  In other use-cases, application developers only
7902/// use `client::PreviewFeatures` and need not be concerned with this trait or
7903/// its implementations.
7904///
7905/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7906/// too. To avoid breaking applications the trait provides a default
7907/// implementation of each method. Most of these implementations just return an
7908/// error.
7909#[cfg(feature = "preview-features")]
7910#[cfg_attr(docsrs, doc(cfg(feature = "preview-features")))]
7911pub trait PreviewFeatures: std::fmt::Debug + Send + Sync {
7912    /// Implements [super::client::PreviewFeatures::get].
7913    fn get(
7914        &self,
7915        _req: crate::model::preview_features::GetRequest,
7916        _options: crate::RequestOptions,
7917    ) -> impl std::future::Future<
7918        Output = crate::Result<crate::Response<crate::model::PreviewFeature>>,
7919    > + Send {
7920        gaxi::unimplemented::unimplemented_stub()
7921    }
7922
7923    /// Implements [super::client::PreviewFeatures::list].
7924    fn list(
7925        &self,
7926        _req: crate::model::preview_features::ListRequest,
7927        _options: crate::RequestOptions,
7928    ) -> impl std::future::Future<
7929        Output = crate::Result<crate::Response<crate::model::PreviewFeatureList>>,
7930    > + Send {
7931        gaxi::unimplemented::unimplemented_stub()
7932    }
7933
7934    /// Implements [super::client::PreviewFeatures::update].
7935    fn update(
7936        &self,
7937        _req: crate::model::preview_features::UpdateRequest,
7938        _options: crate::RequestOptions,
7939    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7940    {
7941        gaxi::unimplemented::unimplemented_stub()
7942    }
7943
7944    /// Implements [super::client::PreviewFeatures::get_operation].
7945    fn get_operation(
7946        &self,
7947        _req: crate::model::global_operations::GetRequest,
7948        _options: crate::RequestOptions,
7949    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7950    {
7951        gaxi::unimplemented::unimplemented_stub()
7952    }
7953
7954    /// Returns the polling error policy.
7955    ///
7956    /// When mocking, this method is typically irrelevant. Do not try to verify
7957    /// it is called by your mocks.
7958    fn get_polling_error_policy(
7959        &self,
7960        _options: &crate::RequestOptions,
7961    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7962        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7963    }
7964
7965    /// Returns the polling backoff policy.
7966    ///
7967    /// When mocking, this method is typically irrelevant. Do not try to verify
7968    /// it is called by your mocks.
7969    fn get_polling_backoff_policy(
7970        &self,
7971        _options: &crate::RequestOptions,
7972    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7973        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7974    }
7975
7976    #[doc(hidden)]
7977    /// Returns the poller options.
7978    ///
7979    /// When mocking, this method is typically irrelevant. Do not try to verify
7980    /// it is called by your mocks.
7981    fn get_poller_options(
7982        &self,
7983        _options: &crate::RequestOptions,
7984    ) -> google_cloud_lro::PollerOptions {
7985        google_cloud_lro::PollerOptions::default()
7986    }
7987}
7988
7989/// Defines the trait used to implement [super::client::ProjectViews].
7990///
7991/// Application developers may need to implement this trait to mock
7992/// `client::ProjectViews`.  In other use-cases, application developers only
7993/// use `client::ProjectViews` and need not be concerned with this trait or
7994/// its implementations.
7995///
7996/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7997/// too. To avoid breaking applications the trait provides a default
7998/// implementation of each method. Most of these implementations just return an
7999/// error.
8000#[cfg(feature = "project-views")]
8001#[cfg_attr(docsrs, doc(cfg(feature = "project-views")))]
8002pub trait ProjectViews: std::fmt::Debug + Send + Sync {
8003    /// Implements [super::client::ProjectViews::get].
8004    fn get(
8005        &self,
8006        _req: crate::model::project_views::GetRequest,
8007        _options: crate::RequestOptions,
8008    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ProjectView>>>
8009    + Send {
8010        gaxi::unimplemented::unimplemented_stub()
8011    }
8012}
8013
8014/// Defines the trait used to implement [super::client::Projects].
8015///
8016/// Application developers may need to implement this trait to mock
8017/// `client::Projects`.  In other use-cases, application developers only
8018/// use `client::Projects` and need not be concerned with this trait or
8019/// its implementations.
8020///
8021/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8022/// too. To avoid breaking applications the trait provides a default
8023/// implementation of each method. Most of these implementations just return an
8024/// error.
8025#[cfg(feature = "projects")]
8026#[cfg_attr(docsrs, doc(cfg(feature = "projects")))]
8027pub trait Projects: std::fmt::Debug + Send + Sync {
8028    /// Implements [super::client::Projects::disable_xpn_host].
8029    fn disable_xpn_host(
8030        &self,
8031        _req: crate::model::projects::DisableXpnHostRequest,
8032        _options: crate::RequestOptions,
8033    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8034    {
8035        gaxi::unimplemented::unimplemented_stub()
8036    }
8037
8038    /// Implements [super::client::Projects::disable_xpn_resource].
8039    fn disable_xpn_resource(
8040        &self,
8041        _req: crate::model::projects::DisableXpnResourceRequest,
8042        _options: crate::RequestOptions,
8043    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8044    {
8045        gaxi::unimplemented::unimplemented_stub()
8046    }
8047
8048    /// Implements [super::client::Projects::enable_xpn_host].
8049    fn enable_xpn_host(
8050        &self,
8051        _req: crate::model::projects::EnableXpnHostRequest,
8052        _options: crate::RequestOptions,
8053    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8054    {
8055        gaxi::unimplemented::unimplemented_stub()
8056    }
8057
8058    /// Implements [super::client::Projects::enable_xpn_resource].
8059    fn enable_xpn_resource(
8060        &self,
8061        _req: crate::model::projects::EnableXpnResourceRequest,
8062        _options: crate::RequestOptions,
8063    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8064    {
8065        gaxi::unimplemented::unimplemented_stub()
8066    }
8067
8068    /// Implements [super::client::Projects::get].
8069    fn get(
8070        &self,
8071        _req: crate::model::projects::GetRequest,
8072        _options: crate::RequestOptions,
8073    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Project>>> + Send
8074    {
8075        gaxi::unimplemented::unimplemented_stub()
8076    }
8077
8078    /// Implements [super::client::Projects::get_xpn_host].
8079    fn get_xpn_host(
8080        &self,
8081        _req: crate::model::projects::GetXpnHostRequest,
8082        _options: crate::RequestOptions,
8083    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Project>>> + Send
8084    {
8085        gaxi::unimplemented::unimplemented_stub()
8086    }
8087
8088    /// Implements [super::client::Projects::get_xpn_resources].
8089    fn get_xpn_resources(
8090        &self,
8091        _req: crate::model::projects::GetXpnResourcesRequest,
8092        _options: crate::RequestOptions,
8093    ) -> impl std::future::Future<
8094        Output = crate::Result<crate::Response<crate::model::ProjectsGetXpnResources>>,
8095    > + Send {
8096        gaxi::unimplemented::unimplemented_stub()
8097    }
8098
8099    /// Implements [super::client::Projects::list_xpn_hosts].
8100    fn list_xpn_hosts(
8101        &self,
8102        _req: crate::model::projects::ListXpnHostsRequest,
8103        _options: crate::RequestOptions,
8104    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::XpnHostList>>>
8105    + Send {
8106        gaxi::unimplemented::unimplemented_stub()
8107    }
8108
8109    /// Implements [super::client::Projects::move_disk].
8110    fn move_disk(
8111        &self,
8112        _req: crate::model::projects::MoveDiskRequest,
8113        _options: crate::RequestOptions,
8114    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8115    {
8116        gaxi::unimplemented::unimplemented_stub()
8117    }
8118
8119    /// Implements [super::client::Projects::move_instance].
8120    fn move_instance(
8121        &self,
8122        _req: crate::model::projects::MoveInstanceRequest,
8123        _options: crate::RequestOptions,
8124    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8125    {
8126        gaxi::unimplemented::unimplemented_stub()
8127    }
8128
8129    /// Implements [super::client::Projects::set_cloud_armor_tier].
8130    fn set_cloud_armor_tier(
8131        &self,
8132        _req: crate::model::projects::SetCloudArmorTierRequest,
8133        _options: crate::RequestOptions,
8134    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8135    {
8136        gaxi::unimplemented::unimplemented_stub()
8137    }
8138
8139    /// Implements [super::client::Projects::set_common_instance_metadata].
8140    fn set_common_instance_metadata(
8141        &self,
8142        _req: crate::model::projects::SetCommonInstanceMetadataRequest,
8143        _options: crate::RequestOptions,
8144    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8145    {
8146        gaxi::unimplemented::unimplemented_stub()
8147    }
8148
8149    /// Implements [super::client::Projects::set_default_network_tier].
8150    fn set_default_network_tier(
8151        &self,
8152        _req: crate::model::projects::SetDefaultNetworkTierRequest,
8153        _options: crate::RequestOptions,
8154    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8155    {
8156        gaxi::unimplemented::unimplemented_stub()
8157    }
8158
8159    /// Implements [super::client::Projects::set_usage_export_bucket].
8160    fn set_usage_export_bucket(
8161        &self,
8162        _req: crate::model::projects::SetUsageExportBucketRequest,
8163        _options: crate::RequestOptions,
8164    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8165    {
8166        gaxi::unimplemented::unimplemented_stub()
8167    }
8168
8169    /// Implements [super::client::Projects::get_operation].
8170    fn get_operation(
8171        &self,
8172        _req: crate::model::global_operations::GetRequest,
8173        _options: crate::RequestOptions,
8174    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8175    {
8176        gaxi::unimplemented::unimplemented_stub()
8177    }
8178
8179    /// Returns the polling error policy.
8180    ///
8181    /// When mocking, this method is typically irrelevant. Do not try to verify
8182    /// it is called by your mocks.
8183    fn get_polling_error_policy(
8184        &self,
8185        _options: &crate::RequestOptions,
8186    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8187        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8188    }
8189
8190    /// Returns the polling backoff policy.
8191    ///
8192    /// When mocking, this method is typically irrelevant. Do not try to verify
8193    /// it is called by your mocks.
8194    fn get_polling_backoff_policy(
8195        &self,
8196        _options: &crate::RequestOptions,
8197    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8198        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8199    }
8200
8201    #[doc(hidden)]
8202    /// Returns the poller options.
8203    ///
8204    /// When mocking, this method is typically irrelevant. Do not try to verify
8205    /// it is called by your mocks.
8206    fn get_poller_options(
8207        &self,
8208        _options: &crate::RequestOptions,
8209    ) -> google_cloud_lro::PollerOptions {
8210        google_cloud_lro::PollerOptions::default()
8211    }
8212}
8213
8214/// Defines the trait used to implement [super::client::PublicAdvertisedPrefixes].
8215///
8216/// Application developers may need to implement this trait to mock
8217/// `client::PublicAdvertisedPrefixes`.  In other use-cases, application developers only
8218/// use `client::PublicAdvertisedPrefixes` and need not be concerned with this trait or
8219/// its implementations.
8220///
8221/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8222/// too. To avoid breaking applications the trait provides a default
8223/// implementation of each method. Most of these implementations just return an
8224/// error.
8225#[cfg(feature = "public-advertised-prefixes")]
8226#[cfg_attr(docsrs, doc(cfg(feature = "public-advertised-prefixes")))]
8227pub trait PublicAdvertisedPrefixes: std::fmt::Debug + Send + Sync {
8228    /// Implements [super::client::PublicAdvertisedPrefixes::announce].
8229    fn announce(
8230        &self,
8231        _req: crate::model::public_advertised_prefixes::AnnounceRequest,
8232        _options: crate::RequestOptions,
8233    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8234    {
8235        gaxi::unimplemented::unimplemented_stub()
8236    }
8237
8238    /// Implements [super::client::PublicAdvertisedPrefixes::delete].
8239    fn delete(
8240        &self,
8241        _req: crate::model::public_advertised_prefixes::DeleteRequest,
8242        _options: crate::RequestOptions,
8243    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8244    {
8245        gaxi::unimplemented::unimplemented_stub()
8246    }
8247
8248    /// Implements [super::client::PublicAdvertisedPrefixes::get].
8249    fn get(
8250        &self,
8251        _req: crate::model::public_advertised_prefixes::GetRequest,
8252        _options: crate::RequestOptions,
8253    ) -> impl std::future::Future<
8254        Output = crate::Result<crate::Response<crate::model::PublicAdvertisedPrefix>>,
8255    > + Send {
8256        gaxi::unimplemented::unimplemented_stub()
8257    }
8258
8259    /// Implements [super::client::PublicAdvertisedPrefixes::insert].
8260    fn insert(
8261        &self,
8262        _req: crate::model::public_advertised_prefixes::InsertRequest,
8263        _options: crate::RequestOptions,
8264    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8265    {
8266        gaxi::unimplemented::unimplemented_stub()
8267    }
8268
8269    /// Implements [super::client::PublicAdvertisedPrefixes::list].
8270    fn list(
8271        &self,
8272        _req: crate::model::public_advertised_prefixes::ListRequest,
8273        _options: crate::RequestOptions,
8274    ) -> impl std::future::Future<
8275        Output = crate::Result<crate::Response<crate::model::PublicAdvertisedPrefixList>>,
8276    > + Send {
8277        gaxi::unimplemented::unimplemented_stub()
8278    }
8279
8280    /// Implements [super::client::PublicAdvertisedPrefixes::patch].
8281    fn patch(
8282        &self,
8283        _req: crate::model::public_advertised_prefixes::PatchRequest,
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::PublicAdvertisedPrefixes::withdraw].
8291    fn withdraw(
8292        &self,
8293        _req: crate::model::public_advertised_prefixes::WithdrawRequest,
8294        _options: crate::RequestOptions,
8295    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8296    {
8297        gaxi::unimplemented::unimplemented_stub()
8298    }
8299
8300    /// Implements [super::client::PublicAdvertisedPrefixes::get_operation].
8301    fn get_operation(
8302        &self,
8303        _req: crate::model::global_operations::GetRequest,
8304        _options: crate::RequestOptions,
8305    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8306    {
8307        gaxi::unimplemented::unimplemented_stub()
8308    }
8309
8310    /// Returns the polling error policy.
8311    ///
8312    /// When mocking, this method is typically irrelevant. Do not try to verify
8313    /// it is called by your mocks.
8314    fn get_polling_error_policy(
8315        &self,
8316        _options: &crate::RequestOptions,
8317    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8318        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8319    }
8320
8321    /// Returns the polling backoff policy.
8322    ///
8323    /// When mocking, this method is typically irrelevant. Do not try to verify
8324    /// it is called by your mocks.
8325    fn get_polling_backoff_policy(
8326        &self,
8327        _options: &crate::RequestOptions,
8328    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8329        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8330    }
8331
8332    #[doc(hidden)]
8333    /// Returns the poller options.
8334    ///
8335    /// When mocking, this method is typically irrelevant. Do not try to verify
8336    /// it is called by your mocks.
8337    fn get_poller_options(
8338        &self,
8339        _options: &crate::RequestOptions,
8340    ) -> google_cloud_lro::PollerOptions {
8341        google_cloud_lro::PollerOptions::default()
8342    }
8343}
8344
8345/// Defines the trait used to implement [super::client::PublicDelegatedPrefixes].
8346///
8347/// Application developers may need to implement this trait to mock
8348/// `client::PublicDelegatedPrefixes`.  In other use-cases, application developers only
8349/// use `client::PublicDelegatedPrefixes` and need not be concerned with this trait or
8350/// its implementations.
8351///
8352/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8353/// too. To avoid breaking applications the trait provides a default
8354/// implementation of each method. Most of these implementations just return an
8355/// error.
8356#[cfg(feature = "public-delegated-prefixes")]
8357#[cfg_attr(docsrs, doc(cfg(feature = "public-delegated-prefixes")))]
8358pub trait PublicDelegatedPrefixes: std::fmt::Debug + Send + Sync {
8359    /// Implements [super::client::PublicDelegatedPrefixes::aggregated_list].
8360    fn aggregated_list(
8361        &self,
8362        _req: crate::model::public_delegated_prefixes::AggregatedListRequest,
8363        _options: crate::RequestOptions,
8364    ) -> impl std::future::Future<
8365        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixAggregatedList>>,
8366    > + Send {
8367        gaxi::unimplemented::unimplemented_stub()
8368    }
8369
8370    /// Implements [super::client::PublicDelegatedPrefixes::announce].
8371    fn announce(
8372        &self,
8373        _req: crate::model::public_delegated_prefixes::AnnounceRequest,
8374        _options: crate::RequestOptions,
8375    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8376    {
8377        gaxi::unimplemented::unimplemented_stub()
8378    }
8379
8380    /// Implements [super::client::PublicDelegatedPrefixes::delete].
8381    fn delete(
8382        &self,
8383        _req: crate::model::public_delegated_prefixes::DeleteRequest,
8384        _options: crate::RequestOptions,
8385    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8386    {
8387        gaxi::unimplemented::unimplemented_stub()
8388    }
8389
8390    /// Implements [super::client::PublicDelegatedPrefixes::get].
8391    fn get(
8392        &self,
8393        _req: crate::model::public_delegated_prefixes::GetRequest,
8394        _options: crate::RequestOptions,
8395    ) -> impl std::future::Future<
8396        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefix>>,
8397    > + Send {
8398        gaxi::unimplemented::unimplemented_stub()
8399    }
8400
8401    /// Implements [super::client::PublicDelegatedPrefixes::insert].
8402    fn insert(
8403        &self,
8404        _req: crate::model::public_delegated_prefixes::InsertRequest,
8405        _options: crate::RequestOptions,
8406    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8407    {
8408        gaxi::unimplemented::unimplemented_stub()
8409    }
8410
8411    /// Implements [super::client::PublicDelegatedPrefixes::list].
8412    fn list(
8413        &self,
8414        _req: crate::model::public_delegated_prefixes::ListRequest,
8415        _options: crate::RequestOptions,
8416    ) -> impl std::future::Future<
8417        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixList>>,
8418    > + Send {
8419        gaxi::unimplemented::unimplemented_stub()
8420    }
8421
8422    /// Implements [super::client::PublicDelegatedPrefixes::patch].
8423    fn patch(
8424        &self,
8425        _req: crate::model::public_delegated_prefixes::PatchRequest,
8426        _options: crate::RequestOptions,
8427    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8428    {
8429        gaxi::unimplemented::unimplemented_stub()
8430    }
8431
8432    /// Implements [super::client::PublicDelegatedPrefixes::withdraw].
8433    fn withdraw(
8434        &self,
8435        _req: crate::model::public_delegated_prefixes::WithdrawRequest,
8436        _options: crate::RequestOptions,
8437    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8438    {
8439        gaxi::unimplemented::unimplemented_stub()
8440    }
8441
8442    /// Implements [super::client::PublicDelegatedPrefixes::get_operation].
8443    fn get_operation(
8444        &self,
8445        _req: crate::model::region_operations::GetRequest,
8446        _options: crate::RequestOptions,
8447    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8448    {
8449        gaxi::unimplemented::unimplemented_stub()
8450    }
8451
8452    /// Returns the polling error policy.
8453    ///
8454    /// When mocking, this method is typically irrelevant. Do not try to verify
8455    /// it is called by your mocks.
8456    fn get_polling_error_policy(
8457        &self,
8458        _options: &crate::RequestOptions,
8459    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8460        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8461    }
8462
8463    /// Returns the polling backoff policy.
8464    ///
8465    /// When mocking, this method is typically irrelevant. Do not try to verify
8466    /// it is called by your mocks.
8467    fn get_polling_backoff_policy(
8468        &self,
8469        _options: &crate::RequestOptions,
8470    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8471        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8472    }
8473
8474    #[doc(hidden)]
8475    /// Returns the poller options.
8476    ///
8477    /// When mocking, this method is typically irrelevant. Do not try to verify
8478    /// it is called by your mocks.
8479    fn get_poller_options(
8480        &self,
8481        _options: &crate::RequestOptions,
8482    ) -> google_cloud_lro::PollerOptions {
8483        google_cloud_lro::PollerOptions::default()
8484    }
8485}
8486
8487/// Defines the trait used to implement [super::client::RegionAutoscalers].
8488///
8489/// Application developers may need to implement this trait to mock
8490/// `client::RegionAutoscalers`.  In other use-cases, application developers only
8491/// use `client::RegionAutoscalers` and need not be concerned with this trait or
8492/// its implementations.
8493///
8494/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8495/// too. To avoid breaking applications the trait provides a default
8496/// implementation of each method. Most of these implementations just return an
8497/// error.
8498#[cfg(feature = "region-autoscalers")]
8499#[cfg_attr(docsrs, doc(cfg(feature = "region-autoscalers")))]
8500pub trait RegionAutoscalers: std::fmt::Debug + Send + Sync {
8501    /// Implements [super::client::RegionAutoscalers::delete].
8502    fn delete(
8503        &self,
8504        _req: crate::model::region_autoscalers::DeleteRequest,
8505        _options: crate::RequestOptions,
8506    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8507    {
8508        gaxi::unimplemented::unimplemented_stub()
8509    }
8510
8511    /// Implements [super::client::RegionAutoscalers::get].
8512    fn get(
8513        &self,
8514        _req: crate::model::region_autoscalers::GetRequest,
8515        _options: crate::RequestOptions,
8516    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Autoscaler>>> + Send
8517    {
8518        gaxi::unimplemented::unimplemented_stub()
8519    }
8520
8521    /// Implements [super::client::RegionAutoscalers::insert].
8522    fn insert(
8523        &self,
8524        _req: crate::model::region_autoscalers::InsertRequest,
8525        _options: crate::RequestOptions,
8526    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8527    {
8528        gaxi::unimplemented::unimplemented_stub()
8529    }
8530
8531    /// Implements [super::client::RegionAutoscalers::list].
8532    fn list(
8533        &self,
8534        _req: crate::model::region_autoscalers::ListRequest,
8535        _options: crate::RequestOptions,
8536    ) -> impl std::future::Future<
8537        Output = crate::Result<crate::Response<crate::model::RegionAutoscalerList>>,
8538    > + Send {
8539        gaxi::unimplemented::unimplemented_stub()
8540    }
8541
8542    /// Implements [super::client::RegionAutoscalers::patch].
8543    fn patch(
8544        &self,
8545        _req: crate::model::region_autoscalers::PatchRequest,
8546        _options: crate::RequestOptions,
8547    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8548    {
8549        gaxi::unimplemented::unimplemented_stub()
8550    }
8551
8552    /// Implements [super::client::RegionAutoscalers::test_iam_permissions].
8553    fn test_iam_permissions(
8554        &self,
8555        _req: crate::model::region_autoscalers::TestIamPermissionsRequest,
8556        _options: crate::RequestOptions,
8557    ) -> impl std::future::Future<
8558        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8559    > + Send {
8560        gaxi::unimplemented::unimplemented_stub()
8561    }
8562
8563    /// Implements [super::client::RegionAutoscalers::update].
8564    fn update(
8565        &self,
8566        _req: crate::model::region_autoscalers::UpdateRequest,
8567        _options: crate::RequestOptions,
8568    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8569    {
8570        gaxi::unimplemented::unimplemented_stub()
8571    }
8572
8573    /// Implements [super::client::RegionAutoscalers::get_operation].
8574    fn get_operation(
8575        &self,
8576        _req: crate::model::region_operations::GetRequest,
8577        _options: crate::RequestOptions,
8578    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8579    {
8580        gaxi::unimplemented::unimplemented_stub()
8581    }
8582
8583    /// Returns the polling error policy.
8584    ///
8585    /// When mocking, this method is typically irrelevant. Do not try to verify
8586    /// it is called by your mocks.
8587    fn get_polling_error_policy(
8588        &self,
8589        _options: &crate::RequestOptions,
8590    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8591        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8592    }
8593
8594    /// Returns the polling backoff policy.
8595    ///
8596    /// When mocking, this method is typically irrelevant. Do not try to verify
8597    /// it is called by your mocks.
8598    fn get_polling_backoff_policy(
8599        &self,
8600        _options: &crate::RequestOptions,
8601    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8602        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8603    }
8604
8605    #[doc(hidden)]
8606    /// Returns the poller options.
8607    ///
8608    /// When mocking, this method is typically irrelevant. Do not try to verify
8609    /// it is called by your mocks.
8610    fn get_poller_options(
8611        &self,
8612        _options: &crate::RequestOptions,
8613    ) -> google_cloud_lro::PollerOptions {
8614        google_cloud_lro::PollerOptions::default()
8615    }
8616}
8617
8618/// Defines the trait used to implement [super::client::RegionBackendBuckets].
8619///
8620/// Application developers may need to implement this trait to mock
8621/// `client::RegionBackendBuckets`.  In other use-cases, application developers only
8622/// use `client::RegionBackendBuckets` and need not be concerned with this trait or
8623/// its implementations.
8624///
8625/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8626/// too. To avoid breaking applications the trait provides a default
8627/// implementation of each method. Most of these implementations just return an
8628/// error.
8629#[cfg(feature = "region-backend-buckets")]
8630#[cfg_attr(docsrs, doc(cfg(feature = "region-backend-buckets")))]
8631pub trait RegionBackendBuckets: std::fmt::Debug + Send + Sync {
8632    /// Implements [super::client::RegionBackendBuckets::delete].
8633    fn delete(
8634        &self,
8635        _req: crate::model::region_backend_buckets::DeleteRequest,
8636        _options: crate::RequestOptions,
8637    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8638    {
8639        gaxi::unimplemented::unimplemented_stub()
8640    }
8641
8642    /// Implements [super::client::RegionBackendBuckets::get].
8643    fn get(
8644        &self,
8645        _req: crate::model::region_backend_buckets::GetRequest,
8646        _options: crate::RequestOptions,
8647    ) -> impl std::future::Future<
8648        Output = crate::Result<crate::Response<crate::model::BackendBucket>>,
8649    > + Send {
8650        gaxi::unimplemented::unimplemented_stub()
8651    }
8652
8653    /// Implements [super::client::RegionBackendBuckets::get_iam_policy].
8654    fn get_iam_policy(
8655        &self,
8656        _req: crate::model::region_backend_buckets::GetIamPolicyRequest,
8657        _options: crate::RequestOptions,
8658    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8659    {
8660        gaxi::unimplemented::unimplemented_stub()
8661    }
8662
8663    /// Implements [super::client::RegionBackendBuckets::insert].
8664    fn insert(
8665        &self,
8666        _req: crate::model::region_backend_buckets::InsertRequest,
8667        _options: crate::RequestOptions,
8668    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8669    {
8670        gaxi::unimplemented::unimplemented_stub()
8671    }
8672
8673    /// Implements [super::client::RegionBackendBuckets::list].
8674    fn list(
8675        &self,
8676        _req: crate::model::region_backend_buckets::ListRequest,
8677        _options: crate::RequestOptions,
8678    ) -> impl std::future::Future<
8679        Output = crate::Result<crate::Response<crate::model::BackendBucketList>>,
8680    > + Send {
8681        gaxi::unimplemented::unimplemented_stub()
8682    }
8683
8684    /// Implements [super::client::RegionBackendBuckets::list_usable].
8685    fn list_usable(
8686        &self,
8687        _req: crate::model::region_backend_buckets::ListUsableRequest,
8688        _options: crate::RequestOptions,
8689    ) -> impl std::future::Future<
8690        Output = crate::Result<crate::Response<crate::model::BackendBucketListUsable>>,
8691    > + Send {
8692        gaxi::unimplemented::unimplemented_stub()
8693    }
8694
8695    /// Implements [super::client::RegionBackendBuckets::patch].
8696    fn patch(
8697        &self,
8698        _req: crate::model::region_backend_buckets::PatchRequest,
8699        _options: crate::RequestOptions,
8700    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8701    {
8702        gaxi::unimplemented::unimplemented_stub()
8703    }
8704
8705    /// Implements [super::client::RegionBackendBuckets::set_iam_policy].
8706    fn set_iam_policy(
8707        &self,
8708        _req: crate::model::region_backend_buckets::SetIamPolicyRequest,
8709        _options: crate::RequestOptions,
8710    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8711    {
8712        gaxi::unimplemented::unimplemented_stub()
8713    }
8714
8715    /// Implements [super::client::RegionBackendBuckets::test_iam_permissions].
8716    fn test_iam_permissions(
8717        &self,
8718        _req: crate::model::region_backend_buckets::TestIamPermissionsRequest,
8719        _options: crate::RequestOptions,
8720    ) -> impl std::future::Future<
8721        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8722    > + Send {
8723        gaxi::unimplemented::unimplemented_stub()
8724    }
8725
8726    /// Implements [super::client::RegionBackendBuckets::get_operation].
8727    fn get_operation(
8728        &self,
8729        _req: crate::model::region_operations::GetRequest,
8730        _options: crate::RequestOptions,
8731    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8732    {
8733        gaxi::unimplemented::unimplemented_stub()
8734    }
8735
8736    /// Returns the polling error policy.
8737    ///
8738    /// When mocking, this method is typically irrelevant. Do not try to verify
8739    /// it is called by your mocks.
8740    fn get_polling_error_policy(
8741        &self,
8742        _options: &crate::RequestOptions,
8743    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8744        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8745    }
8746
8747    /// Returns the polling backoff policy.
8748    ///
8749    /// When mocking, this method is typically irrelevant. Do not try to verify
8750    /// it is called by your mocks.
8751    fn get_polling_backoff_policy(
8752        &self,
8753        _options: &crate::RequestOptions,
8754    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8755        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8756    }
8757
8758    #[doc(hidden)]
8759    /// Returns the poller options.
8760    ///
8761    /// When mocking, this method is typically irrelevant. Do not try to verify
8762    /// it is called by your mocks.
8763    fn get_poller_options(
8764        &self,
8765        _options: &crate::RequestOptions,
8766    ) -> google_cloud_lro::PollerOptions {
8767        google_cloud_lro::PollerOptions::default()
8768    }
8769}
8770
8771/// Defines the trait used to implement [super::client::RegionBackendServices].
8772///
8773/// Application developers may need to implement this trait to mock
8774/// `client::RegionBackendServices`.  In other use-cases, application developers only
8775/// use `client::RegionBackendServices` and need not be concerned with this trait or
8776/// its implementations.
8777///
8778/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8779/// too. To avoid breaking applications the trait provides a default
8780/// implementation of each method. Most of these implementations just return an
8781/// error.
8782#[cfg(feature = "region-backend-services")]
8783#[cfg_attr(docsrs, doc(cfg(feature = "region-backend-services")))]
8784pub trait RegionBackendServices: std::fmt::Debug + Send + Sync {
8785    /// Implements [super::client::RegionBackendServices::delete].
8786    fn delete(
8787        &self,
8788        _req: crate::model::region_backend_services::DeleteRequest,
8789        _options: crate::RequestOptions,
8790    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8791    {
8792        gaxi::unimplemented::unimplemented_stub()
8793    }
8794
8795    /// Implements [super::client::RegionBackendServices::get].
8796    fn get(
8797        &self,
8798        _req: crate::model::region_backend_services::GetRequest,
8799        _options: crate::RequestOptions,
8800    ) -> impl std::future::Future<
8801        Output = crate::Result<crate::Response<crate::model::BackendService>>,
8802    > + Send {
8803        gaxi::unimplemented::unimplemented_stub()
8804    }
8805
8806    /// Implements [super::client::RegionBackendServices::get_health].
8807    fn get_health(
8808        &self,
8809        _req: crate::model::region_backend_services::GetHealthRequest,
8810        _options: crate::RequestOptions,
8811    ) -> impl std::future::Future<
8812        Output = crate::Result<crate::Response<crate::model::BackendServiceGroupHealth>>,
8813    > + Send {
8814        gaxi::unimplemented::unimplemented_stub()
8815    }
8816
8817    /// Implements [super::client::RegionBackendServices::get_iam_policy].
8818    fn get_iam_policy(
8819        &self,
8820        _req: crate::model::region_backend_services::GetIamPolicyRequest,
8821        _options: crate::RequestOptions,
8822    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8823    {
8824        gaxi::unimplemented::unimplemented_stub()
8825    }
8826
8827    /// Implements [super::client::RegionBackendServices::insert].
8828    fn insert(
8829        &self,
8830        _req: crate::model::region_backend_services::InsertRequest,
8831        _options: crate::RequestOptions,
8832    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8833    {
8834        gaxi::unimplemented::unimplemented_stub()
8835    }
8836
8837    /// Implements [super::client::RegionBackendServices::list].
8838    fn list(
8839        &self,
8840        _req: crate::model::region_backend_services::ListRequest,
8841        _options: crate::RequestOptions,
8842    ) -> impl std::future::Future<
8843        Output = crate::Result<crate::Response<crate::model::BackendServiceList>>,
8844    > + Send {
8845        gaxi::unimplemented::unimplemented_stub()
8846    }
8847
8848    /// Implements [super::client::RegionBackendServices::list_usable].
8849    fn list_usable(
8850        &self,
8851        _req: crate::model::region_backend_services::ListUsableRequest,
8852        _options: crate::RequestOptions,
8853    ) -> impl std::future::Future<
8854        Output = crate::Result<crate::Response<crate::model::BackendServiceListUsable>>,
8855    > + Send {
8856        gaxi::unimplemented::unimplemented_stub()
8857    }
8858
8859    /// Implements [super::client::RegionBackendServices::patch].
8860    fn patch(
8861        &self,
8862        _req: crate::model::region_backend_services::PatchRequest,
8863        _options: crate::RequestOptions,
8864    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8865    {
8866        gaxi::unimplemented::unimplemented_stub()
8867    }
8868
8869    /// Implements [super::client::RegionBackendServices::set_iam_policy].
8870    fn set_iam_policy(
8871        &self,
8872        _req: crate::model::region_backend_services::SetIamPolicyRequest,
8873        _options: crate::RequestOptions,
8874    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8875    {
8876        gaxi::unimplemented::unimplemented_stub()
8877    }
8878
8879    /// Implements [super::client::RegionBackendServices::set_security_policy].
8880    fn set_security_policy(
8881        &self,
8882        _req: crate::model::region_backend_services::SetSecurityPolicyRequest,
8883        _options: crate::RequestOptions,
8884    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8885    {
8886        gaxi::unimplemented::unimplemented_stub()
8887    }
8888
8889    /// Implements [super::client::RegionBackendServices::test_iam_permissions].
8890    fn test_iam_permissions(
8891        &self,
8892        _req: crate::model::region_backend_services::TestIamPermissionsRequest,
8893        _options: crate::RequestOptions,
8894    ) -> impl std::future::Future<
8895        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8896    > + Send {
8897        gaxi::unimplemented::unimplemented_stub()
8898    }
8899
8900    /// Implements [super::client::RegionBackendServices::update].
8901    fn update(
8902        &self,
8903        _req: crate::model::region_backend_services::UpdateRequest,
8904        _options: crate::RequestOptions,
8905    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8906    {
8907        gaxi::unimplemented::unimplemented_stub()
8908    }
8909
8910    /// Implements [super::client::RegionBackendServices::get_operation].
8911    fn get_operation(
8912        &self,
8913        _req: crate::model::region_operations::GetRequest,
8914        _options: crate::RequestOptions,
8915    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8916    {
8917        gaxi::unimplemented::unimplemented_stub()
8918    }
8919
8920    /// Returns the polling error policy.
8921    ///
8922    /// When mocking, this method is typically irrelevant. Do not try to verify
8923    /// it is called by your mocks.
8924    fn get_polling_error_policy(
8925        &self,
8926        _options: &crate::RequestOptions,
8927    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8928        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8929    }
8930
8931    /// Returns the polling backoff policy.
8932    ///
8933    /// When mocking, this method is typically irrelevant. Do not try to verify
8934    /// it is called by your mocks.
8935    fn get_polling_backoff_policy(
8936        &self,
8937        _options: &crate::RequestOptions,
8938    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8939        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8940    }
8941
8942    #[doc(hidden)]
8943    /// Returns the poller options.
8944    ///
8945    /// When mocking, this method is typically irrelevant. Do not try to verify
8946    /// it is called by your mocks.
8947    fn get_poller_options(
8948        &self,
8949        _options: &crate::RequestOptions,
8950    ) -> google_cloud_lro::PollerOptions {
8951        google_cloud_lro::PollerOptions::default()
8952    }
8953}
8954
8955/// Defines the trait used to implement [super::client::RegionCommitments].
8956///
8957/// Application developers may need to implement this trait to mock
8958/// `client::RegionCommitments`.  In other use-cases, application developers only
8959/// use `client::RegionCommitments` and need not be concerned with this trait or
8960/// its implementations.
8961///
8962/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8963/// too. To avoid breaking applications the trait provides a default
8964/// implementation of each method. Most of these implementations just return an
8965/// error.
8966#[cfg(feature = "region-commitments")]
8967#[cfg_attr(docsrs, doc(cfg(feature = "region-commitments")))]
8968pub trait RegionCommitments: std::fmt::Debug + Send + Sync {
8969    /// Implements [super::client::RegionCommitments::aggregated_list].
8970    fn aggregated_list(
8971        &self,
8972        _req: crate::model::region_commitments::AggregatedListRequest,
8973        _options: crate::RequestOptions,
8974    ) -> impl std::future::Future<
8975        Output = crate::Result<crate::Response<crate::model::CommitmentAggregatedList>>,
8976    > + Send {
8977        gaxi::unimplemented::unimplemented_stub()
8978    }
8979
8980    /// Implements [super::client::RegionCommitments::get].
8981    fn get(
8982        &self,
8983        _req: crate::model::region_commitments::GetRequest,
8984        _options: crate::RequestOptions,
8985    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Commitment>>> + Send
8986    {
8987        gaxi::unimplemented::unimplemented_stub()
8988    }
8989
8990    /// Implements [super::client::RegionCommitments::insert].
8991    fn insert(
8992        &self,
8993        _req: crate::model::region_commitments::InsertRequest,
8994        _options: crate::RequestOptions,
8995    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8996    {
8997        gaxi::unimplemented::unimplemented_stub()
8998    }
8999
9000    /// Implements [super::client::RegionCommitments::list].
9001    fn list(
9002        &self,
9003        _req: crate::model::region_commitments::ListRequest,
9004        _options: crate::RequestOptions,
9005    ) -> impl std::future::Future<
9006        Output = crate::Result<crate::Response<crate::model::CommitmentList>>,
9007    > + Send {
9008        gaxi::unimplemented::unimplemented_stub()
9009    }
9010
9011    /// Implements [super::client::RegionCommitments::update].
9012    fn update(
9013        &self,
9014        _req: crate::model::region_commitments::UpdateRequest,
9015        _options: crate::RequestOptions,
9016    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9017    {
9018        gaxi::unimplemented::unimplemented_stub()
9019    }
9020
9021    /// Implements [super::client::RegionCommitments::get_operation].
9022    fn get_operation(
9023        &self,
9024        _req: crate::model::region_operations::GetRequest,
9025        _options: crate::RequestOptions,
9026    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9027    {
9028        gaxi::unimplemented::unimplemented_stub()
9029    }
9030
9031    /// Returns the polling error policy.
9032    ///
9033    /// When mocking, this method is typically irrelevant. Do not try to verify
9034    /// it is called by your mocks.
9035    fn get_polling_error_policy(
9036        &self,
9037        _options: &crate::RequestOptions,
9038    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9039        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9040    }
9041
9042    /// Returns the polling backoff policy.
9043    ///
9044    /// When mocking, this method is typically irrelevant. Do not try to verify
9045    /// it is called by your mocks.
9046    fn get_polling_backoff_policy(
9047        &self,
9048        _options: &crate::RequestOptions,
9049    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9050        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9051    }
9052
9053    #[doc(hidden)]
9054    /// Returns the poller options.
9055    ///
9056    /// When mocking, this method is typically irrelevant. Do not try to verify
9057    /// it is called by your mocks.
9058    fn get_poller_options(
9059        &self,
9060        _options: &crate::RequestOptions,
9061    ) -> google_cloud_lro::PollerOptions {
9062        google_cloud_lro::PollerOptions::default()
9063    }
9064}
9065
9066/// Defines the trait used to implement [super::client::RegionCompositeHealthChecks].
9067///
9068/// Application developers may need to implement this trait to mock
9069/// `client::RegionCompositeHealthChecks`.  In other use-cases, application developers only
9070/// use `client::RegionCompositeHealthChecks` and need not be concerned with this trait or
9071/// its implementations.
9072///
9073/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9074/// too. To avoid breaking applications the trait provides a default
9075/// implementation of each method. Most of these implementations just return an
9076/// error.
9077#[cfg(feature = "region-composite-health-checks")]
9078#[cfg_attr(docsrs, doc(cfg(feature = "region-composite-health-checks")))]
9079pub trait RegionCompositeHealthChecks: std::fmt::Debug + Send + Sync {
9080    /// Implements [super::client::RegionCompositeHealthChecks::aggregated_list].
9081    fn aggregated_list(
9082        &self,
9083        _req: crate::model::region_composite_health_checks::AggregatedListRequest,
9084        _options: crate::RequestOptions,
9085    ) -> impl std::future::Future<
9086        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckAggregatedList>>,
9087    > + Send {
9088        gaxi::unimplemented::unimplemented_stub()
9089    }
9090
9091    /// Implements [super::client::RegionCompositeHealthChecks::delete].
9092    fn delete(
9093        &self,
9094        _req: crate::model::region_composite_health_checks::DeleteRequest,
9095        _options: crate::RequestOptions,
9096    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9097    {
9098        gaxi::unimplemented::unimplemented_stub()
9099    }
9100
9101    /// Implements [super::client::RegionCompositeHealthChecks::get].
9102    fn get(
9103        &self,
9104        _req: crate::model::region_composite_health_checks::GetRequest,
9105        _options: crate::RequestOptions,
9106    ) -> impl std::future::Future<
9107        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheck>>,
9108    > + Send {
9109        gaxi::unimplemented::unimplemented_stub()
9110    }
9111
9112    /// Implements [super::client::RegionCompositeHealthChecks::get_health].
9113    fn get_health(
9114        &self,
9115        _req: crate::model::region_composite_health_checks::GetHealthRequest,
9116        _options: crate::RequestOptions,
9117    ) -> impl std::future::Future<
9118        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckHealth>>,
9119    > + Send {
9120        gaxi::unimplemented::unimplemented_stub()
9121    }
9122
9123    /// Implements [super::client::RegionCompositeHealthChecks::insert].
9124    fn insert(
9125        &self,
9126        _req: crate::model::region_composite_health_checks::InsertRequest,
9127        _options: crate::RequestOptions,
9128    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9129    {
9130        gaxi::unimplemented::unimplemented_stub()
9131    }
9132
9133    /// Implements [super::client::RegionCompositeHealthChecks::list].
9134    fn list(
9135        &self,
9136        _req: crate::model::region_composite_health_checks::ListRequest,
9137        _options: crate::RequestOptions,
9138    ) -> impl std::future::Future<
9139        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckList>>,
9140    > + Send {
9141        gaxi::unimplemented::unimplemented_stub()
9142    }
9143
9144    /// Implements [super::client::RegionCompositeHealthChecks::patch].
9145    fn patch(
9146        &self,
9147        _req: crate::model::region_composite_health_checks::PatchRequest,
9148        _options: crate::RequestOptions,
9149    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9150    {
9151        gaxi::unimplemented::unimplemented_stub()
9152    }
9153
9154    /// Implements [super::client::RegionCompositeHealthChecks::test_iam_permissions].
9155    fn test_iam_permissions(
9156        &self,
9157        _req: crate::model::region_composite_health_checks::TestIamPermissionsRequest,
9158        _options: crate::RequestOptions,
9159    ) -> impl std::future::Future<
9160        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9161    > + Send {
9162        gaxi::unimplemented::unimplemented_stub()
9163    }
9164
9165    /// Implements [super::client::RegionCompositeHealthChecks::get_operation].
9166    fn get_operation(
9167        &self,
9168        _req: crate::model::region_operations::GetRequest,
9169        _options: crate::RequestOptions,
9170    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9171    {
9172        gaxi::unimplemented::unimplemented_stub()
9173    }
9174
9175    /// Returns the polling error policy.
9176    ///
9177    /// When mocking, this method is typically irrelevant. Do not try to verify
9178    /// it is called by your mocks.
9179    fn get_polling_error_policy(
9180        &self,
9181        _options: &crate::RequestOptions,
9182    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9183        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9184    }
9185
9186    /// Returns the polling backoff policy.
9187    ///
9188    /// When mocking, this method is typically irrelevant. Do not try to verify
9189    /// it is called by your mocks.
9190    fn get_polling_backoff_policy(
9191        &self,
9192        _options: &crate::RequestOptions,
9193    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9194        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9195    }
9196
9197    #[doc(hidden)]
9198    /// Returns the poller options.
9199    ///
9200    /// When mocking, this method is typically irrelevant. Do not try to verify
9201    /// it is called by your mocks.
9202    fn get_poller_options(
9203        &self,
9204        _options: &crate::RequestOptions,
9205    ) -> google_cloud_lro::PollerOptions {
9206        google_cloud_lro::PollerOptions::default()
9207    }
9208}
9209
9210/// Defines the trait used to implement [super::client::RegionDiskTypes].
9211///
9212/// Application developers may need to implement this trait to mock
9213/// `client::RegionDiskTypes`.  In other use-cases, application developers only
9214/// use `client::RegionDiskTypes` and need not be concerned with this trait or
9215/// its implementations.
9216///
9217/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9218/// too. To avoid breaking applications the trait provides a default
9219/// implementation of each method. Most of these implementations just return an
9220/// error.
9221#[cfg(feature = "region-disk-types")]
9222#[cfg_attr(docsrs, doc(cfg(feature = "region-disk-types")))]
9223pub trait RegionDiskTypes: std::fmt::Debug + Send + Sync {
9224    /// Implements [super::client::RegionDiskTypes::get].
9225    fn get(
9226        &self,
9227        _req: crate::model::region_disk_types::GetRequest,
9228        _options: crate::RequestOptions,
9229    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskType>>> + Send
9230    {
9231        gaxi::unimplemented::unimplemented_stub()
9232    }
9233
9234    /// Implements [super::client::RegionDiskTypes::list].
9235    fn list(
9236        &self,
9237        _req: crate::model::region_disk_types::ListRequest,
9238        _options: crate::RequestOptions,
9239    ) -> impl std::future::Future<
9240        Output = crate::Result<crate::Response<crate::model::RegionDiskTypeList>>,
9241    > + Send {
9242        gaxi::unimplemented::unimplemented_stub()
9243    }
9244}
9245
9246/// Defines the trait used to implement [super::client::RegionDisks].
9247///
9248/// Application developers may need to implement this trait to mock
9249/// `client::RegionDisks`.  In other use-cases, application developers only
9250/// use `client::RegionDisks` and need not be concerned with this trait or
9251/// its implementations.
9252///
9253/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9254/// too. To avoid breaking applications the trait provides a default
9255/// implementation of each method. Most of these implementations just return an
9256/// error.
9257#[cfg(feature = "region-disks")]
9258#[cfg_attr(docsrs, doc(cfg(feature = "region-disks")))]
9259pub trait RegionDisks: std::fmt::Debug + Send + Sync {
9260    /// Implements [super::client::RegionDisks::add_resource_policies].
9261    fn add_resource_policies(
9262        &self,
9263        _req: crate::model::region_disks::AddResourcePoliciesRequest,
9264        _options: crate::RequestOptions,
9265    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9266    {
9267        gaxi::unimplemented::unimplemented_stub()
9268    }
9269
9270    /// Implements [super::client::RegionDisks::bulk_insert].
9271    fn bulk_insert(
9272        &self,
9273        _req: crate::model::region_disks::BulkInsertRequest,
9274        _options: crate::RequestOptions,
9275    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9276    {
9277        gaxi::unimplemented::unimplemented_stub()
9278    }
9279
9280    /// Implements [super::client::RegionDisks::create_snapshot].
9281    fn create_snapshot(
9282        &self,
9283        _req: crate::model::region_disks::CreateSnapshotRequest,
9284        _options: crate::RequestOptions,
9285    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9286    {
9287        gaxi::unimplemented::unimplemented_stub()
9288    }
9289
9290    /// Implements [super::client::RegionDisks::delete].
9291    fn delete(
9292        &self,
9293        _req: crate::model::region_disks::DeleteRequest,
9294        _options: crate::RequestOptions,
9295    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9296    {
9297        gaxi::unimplemented::unimplemented_stub()
9298    }
9299
9300    /// Implements [super::client::RegionDisks::get].
9301    fn get(
9302        &self,
9303        _req: crate::model::region_disks::GetRequest,
9304        _options: crate::RequestOptions,
9305    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Disk>>> + Send
9306    {
9307        gaxi::unimplemented::unimplemented_stub()
9308    }
9309
9310    /// Implements [super::client::RegionDisks::get_iam_policy].
9311    fn get_iam_policy(
9312        &self,
9313        _req: crate::model::region_disks::GetIamPolicyRequest,
9314        _options: crate::RequestOptions,
9315    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9316    {
9317        gaxi::unimplemented::unimplemented_stub()
9318    }
9319
9320    /// Implements [super::client::RegionDisks::insert].
9321    fn insert(
9322        &self,
9323        _req: crate::model::region_disks::InsertRequest,
9324        _options: crate::RequestOptions,
9325    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9326    {
9327        gaxi::unimplemented::unimplemented_stub()
9328    }
9329
9330    /// Implements [super::client::RegionDisks::list].
9331    fn list(
9332        &self,
9333        _req: crate::model::region_disks::ListRequest,
9334        _options: crate::RequestOptions,
9335    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskList>>> + Send
9336    {
9337        gaxi::unimplemented::unimplemented_stub()
9338    }
9339
9340    /// Implements [super::client::RegionDisks::remove_resource_policies].
9341    fn remove_resource_policies(
9342        &self,
9343        _req: crate::model::region_disks::RemoveResourcePoliciesRequest,
9344        _options: crate::RequestOptions,
9345    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9346    {
9347        gaxi::unimplemented::unimplemented_stub()
9348    }
9349
9350    /// Implements [super::client::RegionDisks::resize].
9351    fn resize(
9352        &self,
9353        _req: crate::model::region_disks::ResizeRequest,
9354        _options: crate::RequestOptions,
9355    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9356    {
9357        gaxi::unimplemented::unimplemented_stub()
9358    }
9359
9360    /// Implements [super::client::RegionDisks::set_iam_policy].
9361    fn set_iam_policy(
9362        &self,
9363        _req: crate::model::region_disks::SetIamPolicyRequest,
9364        _options: crate::RequestOptions,
9365    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9366    {
9367        gaxi::unimplemented::unimplemented_stub()
9368    }
9369
9370    /// Implements [super::client::RegionDisks::set_labels].
9371    fn set_labels(
9372        &self,
9373        _req: crate::model::region_disks::SetLabelsRequest,
9374        _options: crate::RequestOptions,
9375    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9376    {
9377        gaxi::unimplemented::unimplemented_stub()
9378    }
9379
9380    /// Implements [super::client::RegionDisks::start_async_replication].
9381    fn start_async_replication(
9382        &self,
9383        _req: crate::model::region_disks::StartAsyncReplicationRequest,
9384        _options: crate::RequestOptions,
9385    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9386    {
9387        gaxi::unimplemented::unimplemented_stub()
9388    }
9389
9390    /// Implements [super::client::RegionDisks::stop_async_replication].
9391    fn stop_async_replication(
9392        &self,
9393        _req: crate::model::region_disks::StopAsyncReplicationRequest,
9394        _options: crate::RequestOptions,
9395    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9396    {
9397        gaxi::unimplemented::unimplemented_stub()
9398    }
9399
9400    /// Implements [super::client::RegionDisks::stop_group_async_replication].
9401    fn stop_group_async_replication(
9402        &self,
9403        _req: crate::model::region_disks::StopGroupAsyncReplicationRequest,
9404        _options: crate::RequestOptions,
9405    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9406    {
9407        gaxi::unimplemented::unimplemented_stub()
9408    }
9409
9410    /// Implements [super::client::RegionDisks::test_iam_permissions].
9411    fn test_iam_permissions(
9412        &self,
9413        _req: crate::model::region_disks::TestIamPermissionsRequest,
9414        _options: crate::RequestOptions,
9415    ) -> impl std::future::Future<
9416        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9417    > + Send {
9418        gaxi::unimplemented::unimplemented_stub()
9419    }
9420
9421    /// Implements [super::client::RegionDisks::update].
9422    fn update(
9423        &self,
9424        _req: crate::model::region_disks::UpdateRequest,
9425        _options: crate::RequestOptions,
9426    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9427    {
9428        gaxi::unimplemented::unimplemented_stub()
9429    }
9430
9431    /// Implements [super::client::RegionDisks::update_kms_key].
9432    fn update_kms_key(
9433        &self,
9434        _req: crate::model::region_disks::UpdateKmsKeyRequest,
9435        _options: crate::RequestOptions,
9436    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9437    {
9438        gaxi::unimplemented::unimplemented_stub()
9439    }
9440
9441    /// Implements [super::client::RegionDisks::get_operation].
9442    fn get_operation(
9443        &self,
9444        _req: crate::model::region_operations::GetRequest,
9445        _options: crate::RequestOptions,
9446    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9447    {
9448        gaxi::unimplemented::unimplemented_stub()
9449    }
9450
9451    /// Returns the polling error policy.
9452    ///
9453    /// When mocking, this method is typically irrelevant. Do not try to verify
9454    /// it is called by your mocks.
9455    fn get_polling_error_policy(
9456        &self,
9457        _options: &crate::RequestOptions,
9458    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9459        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9460    }
9461
9462    /// Returns the polling backoff policy.
9463    ///
9464    /// When mocking, this method is typically irrelevant. Do not try to verify
9465    /// it is called by your mocks.
9466    fn get_polling_backoff_policy(
9467        &self,
9468        _options: &crate::RequestOptions,
9469    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9470        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9471    }
9472
9473    #[doc(hidden)]
9474    /// Returns the poller options.
9475    ///
9476    /// When mocking, this method is typically irrelevant. Do not try to verify
9477    /// it is called by your mocks.
9478    fn get_poller_options(
9479        &self,
9480        _options: &crate::RequestOptions,
9481    ) -> google_cloud_lro::PollerOptions {
9482        google_cloud_lro::PollerOptions::default()
9483    }
9484}
9485
9486/// Defines the trait used to implement [super::client::RegionHealthAggregationPolicies].
9487///
9488/// Application developers may need to implement this trait to mock
9489/// `client::RegionHealthAggregationPolicies`.  In other use-cases, application developers only
9490/// use `client::RegionHealthAggregationPolicies` and need not be concerned with this trait or
9491/// its implementations.
9492///
9493/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9494/// too. To avoid breaking applications the trait provides a default
9495/// implementation of each method. Most of these implementations just return an
9496/// error.
9497#[cfg(feature = "region-health-aggregation-policies")]
9498#[cfg_attr(docsrs, doc(cfg(feature = "region-health-aggregation-policies")))]
9499pub trait RegionHealthAggregationPolicies: std::fmt::Debug + Send + Sync {
9500    /// Implements [super::client::RegionHealthAggregationPolicies::aggregated_list].
9501    fn aggregated_list(
9502        &self,
9503        _req: crate::model::region_health_aggregation_policies::AggregatedListRequest,
9504        _options: crate::RequestOptions,
9505    ) -> impl std::future::Future<
9506        Output = crate::Result<
9507            crate::Response<crate::model::HealthAggregationPolicyAggregatedList>,
9508        >,
9509    > + Send {
9510        gaxi::unimplemented::unimplemented_stub()
9511    }
9512
9513    /// Implements [super::client::RegionHealthAggregationPolicies::delete].
9514    fn delete(
9515        &self,
9516        _req: crate::model::region_health_aggregation_policies::DeleteRequest,
9517        _options: crate::RequestOptions,
9518    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9519    {
9520        gaxi::unimplemented::unimplemented_stub()
9521    }
9522
9523    /// Implements [super::client::RegionHealthAggregationPolicies::get].
9524    fn get(
9525        &self,
9526        _req: crate::model::region_health_aggregation_policies::GetRequest,
9527        _options: crate::RequestOptions,
9528    ) -> impl std::future::Future<
9529        Output = crate::Result<crate::Response<crate::model::HealthAggregationPolicy>>,
9530    > + Send {
9531        gaxi::unimplemented::unimplemented_stub()
9532    }
9533
9534    /// Implements [super::client::RegionHealthAggregationPolicies::insert].
9535    fn insert(
9536        &self,
9537        _req: crate::model::region_health_aggregation_policies::InsertRequest,
9538        _options: crate::RequestOptions,
9539    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9540    {
9541        gaxi::unimplemented::unimplemented_stub()
9542    }
9543
9544    /// Implements [super::client::RegionHealthAggregationPolicies::list].
9545    fn list(
9546        &self,
9547        _req: crate::model::region_health_aggregation_policies::ListRequest,
9548        _options: crate::RequestOptions,
9549    ) -> impl std::future::Future<
9550        Output = crate::Result<crate::Response<crate::model::HealthAggregationPolicyList>>,
9551    > + Send {
9552        gaxi::unimplemented::unimplemented_stub()
9553    }
9554
9555    /// Implements [super::client::RegionHealthAggregationPolicies::patch].
9556    fn patch(
9557        &self,
9558        _req: crate::model::region_health_aggregation_policies::PatchRequest,
9559        _options: crate::RequestOptions,
9560    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9561    {
9562        gaxi::unimplemented::unimplemented_stub()
9563    }
9564
9565    /// Implements [super::client::RegionHealthAggregationPolicies::test_iam_permissions].
9566    fn test_iam_permissions(
9567        &self,
9568        _req: crate::model::region_health_aggregation_policies::TestIamPermissionsRequest,
9569        _options: crate::RequestOptions,
9570    ) -> impl std::future::Future<
9571        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9572    > + Send {
9573        gaxi::unimplemented::unimplemented_stub()
9574    }
9575
9576    /// Implements [super::client::RegionHealthAggregationPolicies::get_operation].
9577    fn get_operation(
9578        &self,
9579        _req: crate::model::region_operations::GetRequest,
9580        _options: crate::RequestOptions,
9581    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9582    {
9583        gaxi::unimplemented::unimplemented_stub()
9584    }
9585
9586    /// Returns the polling error policy.
9587    ///
9588    /// When mocking, this method is typically irrelevant. Do not try to verify
9589    /// it is called by your mocks.
9590    fn get_polling_error_policy(
9591        &self,
9592        _options: &crate::RequestOptions,
9593    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9594        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9595    }
9596
9597    /// Returns the polling backoff policy.
9598    ///
9599    /// When mocking, this method is typically irrelevant. Do not try to verify
9600    /// it is called by your mocks.
9601    fn get_polling_backoff_policy(
9602        &self,
9603        _options: &crate::RequestOptions,
9604    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9605        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9606    }
9607
9608    #[doc(hidden)]
9609    /// Returns the poller options.
9610    ///
9611    /// When mocking, this method is typically irrelevant. Do not try to verify
9612    /// it is called by your mocks.
9613    fn get_poller_options(
9614        &self,
9615        _options: &crate::RequestOptions,
9616    ) -> google_cloud_lro::PollerOptions {
9617        google_cloud_lro::PollerOptions::default()
9618    }
9619}
9620
9621/// Defines the trait used to implement [super::client::RegionHealthCheckServices].
9622///
9623/// Application developers may need to implement this trait to mock
9624/// `client::RegionHealthCheckServices`.  In other use-cases, application developers only
9625/// use `client::RegionHealthCheckServices` and need not be concerned with this trait or
9626/// its implementations.
9627///
9628/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9629/// too. To avoid breaking applications the trait provides a default
9630/// implementation of each method. Most of these implementations just return an
9631/// error.
9632#[cfg(feature = "region-health-check-services")]
9633#[cfg_attr(docsrs, doc(cfg(feature = "region-health-check-services")))]
9634pub trait RegionHealthCheckServices: std::fmt::Debug + Send + Sync {
9635    /// Implements [super::client::RegionHealthCheckServices::aggregated_list].
9636    fn aggregated_list(
9637        &self,
9638        _req: crate::model::region_health_check_services::AggregatedListRequest,
9639        _options: crate::RequestOptions,
9640    ) -> impl std::future::Future<
9641        Output = crate::Result<crate::Response<crate::model::HealthCheckServiceAggregatedList>>,
9642    > + Send {
9643        gaxi::unimplemented::unimplemented_stub()
9644    }
9645
9646    /// Implements [super::client::RegionHealthCheckServices::delete].
9647    fn delete(
9648        &self,
9649        _req: crate::model::region_health_check_services::DeleteRequest,
9650        _options: crate::RequestOptions,
9651    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9652    {
9653        gaxi::unimplemented::unimplemented_stub()
9654    }
9655
9656    /// Implements [super::client::RegionHealthCheckServices::get].
9657    fn get(
9658        &self,
9659        _req: crate::model::region_health_check_services::GetRequest,
9660        _options: crate::RequestOptions,
9661    ) -> impl std::future::Future<
9662        Output = crate::Result<crate::Response<crate::model::HealthCheckService>>,
9663    > + Send {
9664        gaxi::unimplemented::unimplemented_stub()
9665    }
9666
9667    /// Implements [super::client::RegionHealthCheckServices::insert].
9668    fn insert(
9669        &self,
9670        _req: crate::model::region_health_check_services::InsertRequest,
9671        _options: crate::RequestOptions,
9672    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9673    {
9674        gaxi::unimplemented::unimplemented_stub()
9675    }
9676
9677    /// Implements [super::client::RegionHealthCheckServices::list].
9678    fn list(
9679        &self,
9680        _req: crate::model::region_health_check_services::ListRequest,
9681        _options: crate::RequestOptions,
9682    ) -> impl std::future::Future<
9683        Output = crate::Result<crate::Response<crate::model::HealthCheckServicesList>>,
9684    > + Send {
9685        gaxi::unimplemented::unimplemented_stub()
9686    }
9687
9688    /// Implements [super::client::RegionHealthCheckServices::patch].
9689    fn patch(
9690        &self,
9691        _req: crate::model::region_health_check_services::PatchRequest,
9692        _options: crate::RequestOptions,
9693    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9694    {
9695        gaxi::unimplemented::unimplemented_stub()
9696    }
9697
9698    /// Implements [super::client::RegionHealthCheckServices::test_iam_permissions].
9699    fn test_iam_permissions(
9700        &self,
9701        _req: crate::model::region_health_check_services::TestIamPermissionsRequest,
9702        _options: crate::RequestOptions,
9703    ) -> impl std::future::Future<
9704        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9705    > + Send {
9706        gaxi::unimplemented::unimplemented_stub()
9707    }
9708
9709    /// Implements [super::client::RegionHealthCheckServices::get_operation].
9710    fn get_operation(
9711        &self,
9712        _req: crate::model::region_operations::GetRequest,
9713        _options: crate::RequestOptions,
9714    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9715    {
9716        gaxi::unimplemented::unimplemented_stub()
9717    }
9718
9719    /// Returns the polling error policy.
9720    ///
9721    /// When mocking, this method is typically irrelevant. Do not try to verify
9722    /// it is called by your mocks.
9723    fn get_polling_error_policy(
9724        &self,
9725        _options: &crate::RequestOptions,
9726    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9727        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9728    }
9729
9730    /// Returns the polling backoff policy.
9731    ///
9732    /// When mocking, this method is typically irrelevant. Do not try to verify
9733    /// it is called by your mocks.
9734    fn get_polling_backoff_policy(
9735        &self,
9736        _options: &crate::RequestOptions,
9737    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9738        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9739    }
9740
9741    #[doc(hidden)]
9742    /// Returns the poller options.
9743    ///
9744    /// When mocking, this method is typically irrelevant. Do not try to verify
9745    /// it is called by your mocks.
9746    fn get_poller_options(
9747        &self,
9748        _options: &crate::RequestOptions,
9749    ) -> google_cloud_lro::PollerOptions {
9750        google_cloud_lro::PollerOptions::default()
9751    }
9752}
9753
9754/// Defines the trait used to implement [super::client::RegionHealthChecks].
9755///
9756/// Application developers may need to implement this trait to mock
9757/// `client::RegionHealthChecks`.  In other use-cases, application developers only
9758/// use `client::RegionHealthChecks` and need not be concerned with this trait or
9759/// its implementations.
9760///
9761/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9762/// too. To avoid breaking applications the trait provides a default
9763/// implementation of each method. Most of these implementations just return an
9764/// error.
9765#[cfg(feature = "region-health-checks")]
9766#[cfg_attr(docsrs, doc(cfg(feature = "region-health-checks")))]
9767pub trait RegionHealthChecks: std::fmt::Debug + Send + Sync {
9768    /// Implements [super::client::RegionHealthChecks::delete].
9769    fn delete(
9770        &self,
9771        _req: crate::model::region_health_checks::DeleteRequest,
9772        _options: crate::RequestOptions,
9773    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9774    {
9775        gaxi::unimplemented::unimplemented_stub()
9776    }
9777
9778    /// Implements [super::client::RegionHealthChecks::get].
9779    fn get(
9780        &self,
9781        _req: crate::model::region_health_checks::GetRequest,
9782        _options: crate::RequestOptions,
9783    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::HealthCheck>>>
9784    + Send {
9785        gaxi::unimplemented::unimplemented_stub()
9786    }
9787
9788    /// Implements [super::client::RegionHealthChecks::insert].
9789    fn insert(
9790        &self,
9791        _req: crate::model::region_health_checks::InsertRequest,
9792        _options: crate::RequestOptions,
9793    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9794    {
9795        gaxi::unimplemented::unimplemented_stub()
9796    }
9797
9798    /// Implements [super::client::RegionHealthChecks::list].
9799    fn list(
9800        &self,
9801        _req: crate::model::region_health_checks::ListRequest,
9802        _options: crate::RequestOptions,
9803    ) -> impl std::future::Future<
9804        Output = crate::Result<crate::Response<crate::model::HealthCheckList>>,
9805    > + Send {
9806        gaxi::unimplemented::unimplemented_stub()
9807    }
9808
9809    /// Implements [super::client::RegionHealthChecks::patch].
9810    fn patch(
9811        &self,
9812        _req: crate::model::region_health_checks::PatchRequest,
9813        _options: crate::RequestOptions,
9814    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9815    {
9816        gaxi::unimplemented::unimplemented_stub()
9817    }
9818
9819    /// Implements [super::client::RegionHealthChecks::test_iam_permissions].
9820    fn test_iam_permissions(
9821        &self,
9822        _req: crate::model::region_health_checks::TestIamPermissionsRequest,
9823        _options: crate::RequestOptions,
9824    ) -> impl std::future::Future<
9825        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9826    > + Send {
9827        gaxi::unimplemented::unimplemented_stub()
9828    }
9829
9830    /// Implements [super::client::RegionHealthChecks::update].
9831    fn update(
9832        &self,
9833        _req: crate::model::region_health_checks::UpdateRequest,
9834        _options: crate::RequestOptions,
9835    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9836    {
9837        gaxi::unimplemented::unimplemented_stub()
9838    }
9839
9840    /// Implements [super::client::RegionHealthChecks::get_operation].
9841    fn get_operation(
9842        &self,
9843        _req: crate::model::region_operations::GetRequest,
9844        _options: crate::RequestOptions,
9845    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9846    {
9847        gaxi::unimplemented::unimplemented_stub()
9848    }
9849
9850    /// Returns the polling error policy.
9851    ///
9852    /// When mocking, this method is typically irrelevant. Do not try to verify
9853    /// it is called by your mocks.
9854    fn get_polling_error_policy(
9855        &self,
9856        _options: &crate::RequestOptions,
9857    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9858        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9859    }
9860
9861    /// Returns the polling backoff 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_backoff_policy(
9866        &self,
9867        _options: &crate::RequestOptions,
9868    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9869        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9870    }
9871
9872    #[doc(hidden)]
9873    /// Returns the poller options.
9874    ///
9875    /// When mocking, this method is typically irrelevant. Do not try to verify
9876    /// it is called by your mocks.
9877    fn get_poller_options(
9878        &self,
9879        _options: &crate::RequestOptions,
9880    ) -> google_cloud_lro::PollerOptions {
9881        google_cloud_lro::PollerOptions::default()
9882    }
9883}
9884
9885/// Defines the trait used to implement [super::client::RegionHealthSources].
9886///
9887/// Application developers may need to implement this trait to mock
9888/// `client::RegionHealthSources`.  In other use-cases, application developers only
9889/// use `client::RegionHealthSources` and need not be concerned with this trait or
9890/// its implementations.
9891///
9892/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9893/// too. To avoid breaking applications the trait provides a default
9894/// implementation of each method. Most of these implementations just return an
9895/// error.
9896#[cfg(feature = "region-health-sources")]
9897#[cfg_attr(docsrs, doc(cfg(feature = "region-health-sources")))]
9898pub trait RegionHealthSources: std::fmt::Debug + Send + Sync {
9899    /// Implements [super::client::RegionHealthSources::aggregated_list].
9900    fn aggregated_list(
9901        &self,
9902        _req: crate::model::region_health_sources::AggregatedListRequest,
9903        _options: crate::RequestOptions,
9904    ) -> impl std::future::Future<
9905        Output = crate::Result<crate::Response<crate::model::HealthSourceAggregatedList>>,
9906    > + Send {
9907        gaxi::unimplemented::unimplemented_stub()
9908    }
9909
9910    /// Implements [super::client::RegionHealthSources::delete].
9911    fn delete(
9912        &self,
9913        _req: crate::model::region_health_sources::DeleteRequest,
9914        _options: crate::RequestOptions,
9915    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9916    {
9917        gaxi::unimplemented::unimplemented_stub()
9918    }
9919
9920    /// Implements [super::client::RegionHealthSources::get].
9921    fn get(
9922        &self,
9923        _req: crate::model::region_health_sources::GetRequest,
9924        _options: crate::RequestOptions,
9925    ) -> impl std::future::Future<
9926        Output = crate::Result<crate::Response<crate::model::HealthSource>>,
9927    > + Send {
9928        gaxi::unimplemented::unimplemented_stub()
9929    }
9930
9931    /// Implements [super::client::RegionHealthSources::get_health].
9932    fn get_health(
9933        &self,
9934        _req: crate::model::region_health_sources::GetHealthRequest,
9935        _options: crate::RequestOptions,
9936    ) -> impl std::future::Future<
9937        Output = crate::Result<crate::Response<crate::model::HealthSourceHealth>>,
9938    > + Send {
9939        gaxi::unimplemented::unimplemented_stub()
9940    }
9941
9942    /// Implements [super::client::RegionHealthSources::insert].
9943    fn insert(
9944        &self,
9945        _req: crate::model::region_health_sources::InsertRequest,
9946        _options: crate::RequestOptions,
9947    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9948    {
9949        gaxi::unimplemented::unimplemented_stub()
9950    }
9951
9952    /// Implements [super::client::RegionHealthSources::list].
9953    fn list(
9954        &self,
9955        _req: crate::model::region_health_sources::ListRequest,
9956        _options: crate::RequestOptions,
9957    ) -> impl std::future::Future<
9958        Output = crate::Result<crate::Response<crate::model::HealthSourceList>>,
9959    > + Send {
9960        gaxi::unimplemented::unimplemented_stub()
9961    }
9962
9963    /// Implements [super::client::RegionHealthSources::patch].
9964    fn patch(
9965        &self,
9966        _req: crate::model::region_health_sources::PatchRequest,
9967        _options: crate::RequestOptions,
9968    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9969    {
9970        gaxi::unimplemented::unimplemented_stub()
9971    }
9972
9973    /// Implements [super::client::RegionHealthSources::test_iam_permissions].
9974    fn test_iam_permissions(
9975        &self,
9976        _req: crate::model::region_health_sources::TestIamPermissionsRequest,
9977        _options: crate::RequestOptions,
9978    ) -> impl std::future::Future<
9979        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9980    > + Send {
9981        gaxi::unimplemented::unimplemented_stub()
9982    }
9983
9984    /// Implements [super::client::RegionHealthSources::get_operation].
9985    fn get_operation(
9986        &self,
9987        _req: crate::model::region_operations::GetRequest,
9988        _options: crate::RequestOptions,
9989    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9990    {
9991        gaxi::unimplemented::unimplemented_stub()
9992    }
9993
9994    /// Returns the polling error policy.
9995    ///
9996    /// When mocking, this method is typically irrelevant. Do not try to verify
9997    /// it is called by your mocks.
9998    fn get_polling_error_policy(
9999        &self,
10000        _options: &crate::RequestOptions,
10001    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10002        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10003    }
10004
10005    /// Returns the polling backoff policy.
10006    ///
10007    /// When mocking, this method is typically irrelevant. Do not try to verify
10008    /// it is called by your mocks.
10009    fn get_polling_backoff_policy(
10010        &self,
10011        _options: &crate::RequestOptions,
10012    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10013        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10014    }
10015
10016    #[doc(hidden)]
10017    /// Returns the poller options.
10018    ///
10019    /// When mocking, this method is typically irrelevant. Do not try to verify
10020    /// it is called by your mocks.
10021    fn get_poller_options(
10022        &self,
10023        _options: &crate::RequestOptions,
10024    ) -> google_cloud_lro::PollerOptions {
10025        google_cloud_lro::PollerOptions::default()
10026    }
10027}
10028
10029/// Defines the trait used to implement [super::client::RegionInstanceGroupManagerResizeRequests].
10030///
10031/// Application developers may need to implement this trait to mock
10032/// `client::RegionInstanceGroupManagerResizeRequests`.  In other use-cases, application developers only
10033/// use `client::RegionInstanceGroupManagerResizeRequests` and need not be concerned with this trait or
10034/// its implementations.
10035///
10036/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10037/// too. To avoid breaking applications the trait provides a default
10038/// implementation of each method. Most of these implementations just return an
10039/// error.
10040#[cfg(feature = "region-instance-group-manager-resize-requests")]
10041#[cfg_attr(
10042    docsrs,
10043    doc(cfg(feature = "region-instance-group-manager-resize-requests"))
10044)]
10045pub trait RegionInstanceGroupManagerResizeRequests: std::fmt::Debug + Send + Sync {
10046    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::cancel].
10047    fn cancel(
10048        &self,
10049        _req: crate::model::region_instance_group_manager_resize_requests::CancelRequest,
10050        _options: crate::RequestOptions,
10051    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10052    {
10053        gaxi::unimplemented::unimplemented_stub()
10054    }
10055
10056    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::delete].
10057    fn delete(
10058        &self,
10059        _req: crate::model::region_instance_group_manager_resize_requests::DeleteRequest,
10060        _options: crate::RequestOptions,
10061    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10062    {
10063        gaxi::unimplemented::unimplemented_stub()
10064    }
10065
10066    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::get].
10067    fn get(
10068        &self,
10069        _req: crate::model::region_instance_group_manager_resize_requests::GetRequest,
10070        _options: crate::RequestOptions,
10071    ) -> impl std::future::Future<
10072        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerResizeRequest>>,
10073    > + Send {
10074        gaxi::unimplemented::unimplemented_stub()
10075    }
10076
10077    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::insert].
10078    fn insert(
10079        &self,
10080        _req: crate::model::region_instance_group_manager_resize_requests::InsertRequest,
10081        _options: crate::RequestOptions,
10082    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10083    {
10084        gaxi::unimplemented::unimplemented_stub()
10085    }
10086
10087    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::list].
10088    fn list(
10089        &self,
10090        _req: crate::model::region_instance_group_manager_resize_requests::ListRequest,
10091        _options: crate::RequestOptions,
10092    ) -> impl std::future::Future<
10093        Output = crate::Result<
10094            crate::Response<crate::model::RegionInstanceGroupManagerResizeRequestsListResponse>,
10095        >,
10096    > + Send {
10097        gaxi::unimplemented::unimplemented_stub()
10098    }
10099
10100    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::get_operation].
10101    fn get_operation(
10102        &self,
10103        _req: crate::model::region_operations::GetRequest,
10104        _options: crate::RequestOptions,
10105    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10106    {
10107        gaxi::unimplemented::unimplemented_stub()
10108    }
10109
10110    /// Returns the polling error policy.
10111    ///
10112    /// When mocking, this method is typically irrelevant. Do not try to verify
10113    /// it is called by your mocks.
10114    fn get_polling_error_policy(
10115        &self,
10116        _options: &crate::RequestOptions,
10117    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10118        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10119    }
10120
10121    /// Returns the polling backoff policy.
10122    ///
10123    /// When mocking, this method is typically irrelevant. Do not try to verify
10124    /// it is called by your mocks.
10125    fn get_polling_backoff_policy(
10126        &self,
10127        _options: &crate::RequestOptions,
10128    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10129        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10130    }
10131
10132    #[doc(hidden)]
10133    /// Returns the poller options.
10134    ///
10135    /// When mocking, this method is typically irrelevant. Do not try to verify
10136    /// it is called by your mocks.
10137    fn get_poller_options(
10138        &self,
10139        _options: &crate::RequestOptions,
10140    ) -> google_cloud_lro::PollerOptions {
10141        google_cloud_lro::PollerOptions::default()
10142    }
10143}
10144
10145/// Defines the trait used to implement [super::client::RegionInstanceGroupManagers].
10146///
10147/// Application developers may need to implement this trait to mock
10148/// `client::RegionInstanceGroupManagers`.  In other use-cases, application developers only
10149/// use `client::RegionInstanceGroupManagers` and need not be concerned with this trait or
10150/// its implementations.
10151///
10152/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10153/// too. To avoid breaking applications the trait provides a default
10154/// implementation of each method. Most of these implementations just return an
10155/// error.
10156#[cfg(feature = "region-instance-group-managers")]
10157#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-group-managers")))]
10158pub trait RegionInstanceGroupManagers: std::fmt::Debug + Send + Sync {
10159    /// Implements [super::client::RegionInstanceGroupManagers::abandon_instances].
10160    fn abandon_instances(
10161        &self,
10162        _req: crate::model::region_instance_group_managers::AbandonInstancesRequest,
10163        _options: crate::RequestOptions,
10164    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10165    {
10166        gaxi::unimplemented::unimplemented_stub()
10167    }
10168
10169    /// Implements [super::client::RegionInstanceGroupManagers::apply_updates_to_instances].
10170    fn apply_updates_to_instances(
10171        &self,
10172        _req: crate::model::region_instance_group_managers::ApplyUpdatesToInstancesRequest,
10173        _options: crate::RequestOptions,
10174    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10175    {
10176        gaxi::unimplemented::unimplemented_stub()
10177    }
10178
10179    /// Implements [super::client::RegionInstanceGroupManagers::create_instances].
10180    fn create_instances(
10181        &self,
10182        _req: crate::model::region_instance_group_managers::CreateInstancesRequest,
10183        _options: crate::RequestOptions,
10184    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10185    {
10186        gaxi::unimplemented::unimplemented_stub()
10187    }
10188
10189    /// Implements [super::client::RegionInstanceGroupManagers::delete].
10190    fn delete(
10191        &self,
10192        _req: crate::model::region_instance_group_managers::DeleteRequest,
10193        _options: crate::RequestOptions,
10194    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10195    {
10196        gaxi::unimplemented::unimplemented_stub()
10197    }
10198
10199    /// Implements [super::client::RegionInstanceGroupManagers::delete_instances].
10200    fn delete_instances(
10201        &self,
10202        _req: crate::model::region_instance_group_managers::DeleteInstancesRequest,
10203        _options: crate::RequestOptions,
10204    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10205    {
10206        gaxi::unimplemented::unimplemented_stub()
10207    }
10208
10209    /// Implements [super::client::RegionInstanceGroupManagers::delete_per_instance_configs].
10210    fn delete_per_instance_configs(
10211        &self,
10212        _req: crate::model::region_instance_group_managers::DeletePerInstanceConfigsRequest,
10213        _options: crate::RequestOptions,
10214    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10215    {
10216        gaxi::unimplemented::unimplemented_stub()
10217    }
10218
10219    /// Implements [super::client::RegionInstanceGroupManagers::get].
10220    fn get(
10221        &self,
10222        _req: crate::model::region_instance_group_managers::GetRequest,
10223        _options: crate::RequestOptions,
10224    ) -> impl std::future::Future<
10225        Output = crate::Result<crate::Response<crate::model::InstanceGroupManager>>,
10226    > + Send {
10227        gaxi::unimplemented::unimplemented_stub()
10228    }
10229
10230    /// Implements [super::client::RegionInstanceGroupManagers::insert].
10231    fn insert(
10232        &self,
10233        _req: crate::model::region_instance_group_managers::InsertRequest,
10234        _options: crate::RequestOptions,
10235    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10236    {
10237        gaxi::unimplemented::unimplemented_stub()
10238    }
10239
10240    /// Implements [super::client::RegionInstanceGroupManagers::list].
10241    fn list(
10242        &self,
10243        _req: crate::model::region_instance_group_managers::ListRequest,
10244        _options: crate::RequestOptions,
10245    ) -> impl std::future::Future<
10246        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupManagerList>>,
10247    > + Send {
10248        gaxi::unimplemented::unimplemented_stub()
10249    }
10250
10251    /// Implements [super::client::RegionInstanceGroupManagers::list_errors].
10252    fn list_errors(
10253        &self,
10254        _req: crate::model::region_instance_group_managers::ListErrorsRequest,
10255        _options: crate::RequestOptions,
10256    ) -> impl std::future::Future<
10257        Output = crate::Result<
10258            crate::Response<crate::model::RegionInstanceGroupManagersListErrorsResponse>,
10259        >,
10260    > + Send {
10261        gaxi::unimplemented::unimplemented_stub()
10262    }
10263
10264    /// Implements [super::client::RegionInstanceGroupManagers::list_managed_instances].
10265    fn list_managed_instances(
10266        &self,
10267        _req: crate::model::region_instance_group_managers::ListManagedInstancesRequest,
10268        _options: crate::RequestOptions,
10269    ) -> impl std::future::Future<
10270        Output = crate::Result<
10271            crate::Response<crate::model::RegionInstanceGroupManagersListInstancesResponse>,
10272        >,
10273    > + Send {
10274        gaxi::unimplemented::unimplemented_stub()
10275    }
10276
10277    /// Implements [super::client::RegionInstanceGroupManagers::list_per_instance_configs].
10278    fn list_per_instance_configs(
10279        &self,
10280        _req: crate::model::region_instance_group_managers::ListPerInstanceConfigsRequest,
10281        _options: crate::RequestOptions,
10282    ) -> impl std::future::Future<
10283        Output = crate::Result<
10284            crate::Response<crate::model::RegionInstanceGroupManagersListInstanceConfigsResp>,
10285        >,
10286    > + Send {
10287        gaxi::unimplemented::unimplemented_stub()
10288    }
10289
10290    /// Implements [super::client::RegionInstanceGroupManagers::patch].
10291    fn patch(
10292        &self,
10293        _req: crate::model::region_instance_group_managers::PatchRequest,
10294        _options: crate::RequestOptions,
10295    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10296    {
10297        gaxi::unimplemented::unimplemented_stub()
10298    }
10299
10300    /// Implements [super::client::RegionInstanceGroupManagers::patch_per_instance_configs].
10301    fn patch_per_instance_configs(
10302        &self,
10303        _req: crate::model::region_instance_group_managers::PatchPerInstanceConfigsRequest,
10304        _options: crate::RequestOptions,
10305    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10306    {
10307        gaxi::unimplemented::unimplemented_stub()
10308    }
10309
10310    /// Implements [super::client::RegionInstanceGroupManagers::recreate_instances].
10311    fn recreate_instances(
10312        &self,
10313        _req: crate::model::region_instance_group_managers::RecreateInstancesRequest,
10314        _options: crate::RequestOptions,
10315    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10316    {
10317        gaxi::unimplemented::unimplemented_stub()
10318    }
10319
10320    /// Implements [super::client::RegionInstanceGroupManagers::resize].
10321    fn resize(
10322        &self,
10323        _req: crate::model::region_instance_group_managers::ResizeRequest,
10324        _options: crate::RequestOptions,
10325    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10326    {
10327        gaxi::unimplemented::unimplemented_stub()
10328    }
10329
10330    /// Implements [super::client::RegionInstanceGroupManagers::resume_instances].
10331    fn resume_instances(
10332        &self,
10333        _req: crate::model::region_instance_group_managers::ResumeInstancesRequest,
10334        _options: crate::RequestOptions,
10335    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10336    {
10337        gaxi::unimplemented::unimplemented_stub()
10338    }
10339
10340    /// Implements [super::client::RegionInstanceGroupManagers::set_instance_template].
10341    fn set_instance_template(
10342        &self,
10343        _req: crate::model::region_instance_group_managers::SetInstanceTemplateRequest,
10344        _options: crate::RequestOptions,
10345    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10346    {
10347        gaxi::unimplemented::unimplemented_stub()
10348    }
10349
10350    /// Implements [super::client::RegionInstanceGroupManagers::set_target_pools].
10351    fn set_target_pools(
10352        &self,
10353        _req: crate::model::region_instance_group_managers::SetTargetPoolsRequest,
10354        _options: crate::RequestOptions,
10355    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10356    {
10357        gaxi::unimplemented::unimplemented_stub()
10358    }
10359
10360    /// Implements [super::client::RegionInstanceGroupManagers::start_instances].
10361    fn start_instances(
10362        &self,
10363        _req: crate::model::region_instance_group_managers::StartInstancesRequest,
10364        _options: crate::RequestOptions,
10365    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10366    {
10367        gaxi::unimplemented::unimplemented_stub()
10368    }
10369
10370    /// Implements [super::client::RegionInstanceGroupManagers::stop_instances].
10371    fn stop_instances(
10372        &self,
10373        _req: crate::model::region_instance_group_managers::StopInstancesRequest,
10374        _options: crate::RequestOptions,
10375    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10376    {
10377        gaxi::unimplemented::unimplemented_stub()
10378    }
10379
10380    /// Implements [super::client::RegionInstanceGroupManagers::suspend_instances].
10381    fn suspend_instances(
10382        &self,
10383        _req: crate::model::region_instance_group_managers::SuspendInstancesRequest,
10384        _options: crate::RequestOptions,
10385    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10386    {
10387        gaxi::unimplemented::unimplemented_stub()
10388    }
10389
10390    /// Implements [super::client::RegionInstanceGroupManagers::update_per_instance_configs].
10391    fn update_per_instance_configs(
10392        &self,
10393        _req: crate::model::region_instance_group_managers::UpdatePerInstanceConfigsRequest,
10394        _options: crate::RequestOptions,
10395    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10396    {
10397        gaxi::unimplemented::unimplemented_stub()
10398    }
10399
10400    /// Implements [super::client::RegionInstanceGroupManagers::get_operation].
10401    fn get_operation(
10402        &self,
10403        _req: crate::model::region_operations::GetRequest,
10404        _options: crate::RequestOptions,
10405    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10406    {
10407        gaxi::unimplemented::unimplemented_stub()
10408    }
10409
10410    /// Returns the polling error policy.
10411    ///
10412    /// When mocking, this method is typically irrelevant. Do not try to verify
10413    /// it is called by your mocks.
10414    fn get_polling_error_policy(
10415        &self,
10416        _options: &crate::RequestOptions,
10417    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10418        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10419    }
10420
10421    /// Returns the polling backoff policy.
10422    ///
10423    /// When mocking, this method is typically irrelevant. Do not try to verify
10424    /// it is called by your mocks.
10425    fn get_polling_backoff_policy(
10426        &self,
10427        _options: &crate::RequestOptions,
10428    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10429        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10430    }
10431
10432    #[doc(hidden)]
10433    /// Returns the poller options.
10434    ///
10435    /// When mocking, this method is typically irrelevant. Do not try to verify
10436    /// it is called by your mocks.
10437    fn get_poller_options(
10438        &self,
10439        _options: &crate::RequestOptions,
10440    ) -> google_cloud_lro::PollerOptions {
10441        google_cloud_lro::PollerOptions::default()
10442    }
10443}
10444
10445/// Defines the trait used to implement [super::client::RegionInstanceGroups].
10446///
10447/// Application developers may need to implement this trait to mock
10448/// `client::RegionInstanceGroups`.  In other use-cases, application developers only
10449/// use `client::RegionInstanceGroups` and need not be concerned with this trait or
10450/// its implementations.
10451///
10452/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10453/// too. To avoid breaking applications the trait provides a default
10454/// implementation of each method. Most of these implementations just return an
10455/// error.
10456#[cfg(feature = "region-instance-groups")]
10457#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-groups")))]
10458pub trait RegionInstanceGroups: std::fmt::Debug + Send + Sync {
10459    /// Implements [super::client::RegionInstanceGroups::get].
10460    fn get(
10461        &self,
10462        _req: crate::model::region_instance_groups::GetRequest,
10463        _options: crate::RequestOptions,
10464    ) -> impl std::future::Future<
10465        Output = crate::Result<crate::Response<crate::model::InstanceGroup>>,
10466    > + Send {
10467        gaxi::unimplemented::unimplemented_stub()
10468    }
10469
10470    /// Implements [super::client::RegionInstanceGroups::list].
10471    fn list(
10472        &self,
10473        _req: crate::model::region_instance_groups::ListRequest,
10474        _options: crate::RequestOptions,
10475    ) -> impl std::future::Future<
10476        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupList>>,
10477    > + Send {
10478        gaxi::unimplemented::unimplemented_stub()
10479    }
10480
10481    /// Implements [super::client::RegionInstanceGroups::list_instances].
10482    fn list_instances(
10483        &self,
10484        _req: crate::model::region_instance_groups::ListInstancesRequest,
10485        _options: crate::RequestOptions,
10486    ) -> impl std::future::Future<
10487        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupsListInstances>>,
10488    > + Send {
10489        gaxi::unimplemented::unimplemented_stub()
10490    }
10491
10492    /// Implements [super::client::RegionInstanceGroups::set_named_ports].
10493    fn set_named_ports(
10494        &self,
10495        _req: crate::model::region_instance_groups::SetNamedPortsRequest,
10496        _options: crate::RequestOptions,
10497    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10498    {
10499        gaxi::unimplemented::unimplemented_stub()
10500    }
10501
10502    /// Implements [super::client::RegionInstanceGroups::test_iam_permissions].
10503    fn test_iam_permissions(
10504        &self,
10505        _req: crate::model::region_instance_groups::TestIamPermissionsRequest,
10506        _options: crate::RequestOptions,
10507    ) -> impl std::future::Future<
10508        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10509    > + Send {
10510        gaxi::unimplemented::unimplemented_stub()
10511    }
10512
10513    /// Implements [super::client::RegionInstanceGroups::get_operation].
10514    fn get_operation(
10515        &self,
10516        _req: crate::model::region_operations::GetRequest,
10517        _options: crate::RequestOptions,
10518    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10519    {
10520        gaxi::unimplemented::unimplemented_stub()
10521    }
10522
10523    /// Returns the polling error policy.
10524    ///
10525    /// When mocking, this method is typically irrelevant. Do not try to verify
10526    /// it is called by your mocks.
10527    fn get_polling_error_policy(
10528        &self,
10529        _options: &crate::RequestOptions,
10530    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10531        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10532    }
10533
10534    /// Returns the polling backoff policy.
10535    ///
10536    /// When mocking, this method is typically irrelevant. Do not try to verify
10537    /// it is called by your mocks.
10538    fn get_polling_backoff_policy(
10539        &self,
10540        _options: &crate::RequestOptions,
10541    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10542        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10543    }
10544
10545    #[doc(hidden)]
10546    /// Returns the poller options.
10547    ///
10548    /// When mocking, this method is typically irrelevant. Do not try to verify
10549    /// it is called by your mocks.
10550    fn get_poller_options(
10551        &self,
10552        _options: &crate::RequestOptions,
10553    ) -> google_cloud_lro::PollerOptions {
10554        google_cloud_lro::PollerOptions::default()
10555    }
10556}
10557
10558/// Defines the trait used to implement [super::client::RegionInstanceTemplates].
10559///
10560/// Application developers may need to implement this trait to mock
10561/// `client::RegionInstanceTemplates`.  In other use-cases, application developers only
10562/// use `client::RegionInstanceTemplates` 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 = "region-instance-templates")]
10570#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-templates")))]
10571pub trait RegionInstanceTemplates: std::fmt::Debug + Send + Sync {
10572    /// Implements [super::client::RegionInstanceTemplates::delete].
10573    fn delete(
10574        &self,
10575        _req: crate::model::region_instance_templates::DeleteRequest,
10576        _options: crate::RequestOptions,
10577    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10578    {
10579        gaxi::unimplemented::unimplemented_stub()
10580    }
10581
10582    /// Implements [super::client::RegionInstanceTemplates::get].
10583    fn get(
10584        &self,
10585        _req: crate::model::region_instance_templates::GetRequest,
10586        _options: crate::RequestOptions,
10587    ) -> impl std::future::Future<
10588        Output = crate::Result<crate::Response<crate::model::InstanceTemplate>>,
10589    > + Send {
10590        gaxi::unimplemented::unimplemented_stub()
10591    }
10592
10593    /// Implements [super::client::RegionInstanceTemplates::insert].
10594    fn insert(
10595        &self,
10596        _req: crate::model::region_instance_templates::InsertRequest,
10597        _options: crate::RequestOptions,
10598    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10599    {
10600        gaxi::unimplemented::unimplemented_stub()
10601    }
10602
10603    /// Implements [super::client::RegionInstanceTemplates::list].
10604    fn list(
10605        &self,
10606        _req: crate::model::region_instance_templates::ListRequest,
10607        _options: crate::RequestOptions,
10608    ) -> impl std::future::Future<
10609        Output = crate::Result<crate::Response<crate::model::InstanceTemplateList>>,
10610    > + Send {
10611        gaxi::unimplemented::unimplemented_stub()
10612    }
10613
10614    /// Implements [super::client::RegionInstanceTemplates::get_operation].
10615    fn get_operation(
10616        &self,
10617        _req: crate::model::region_operations::GetRequest,
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    /// Returns the polling error policy.
10625    ///
10626    /// When mocking, this method is typically irrelevant. Do not try to verify
10627    /// it is called by your mocks.
10628    fn get_polling_error_policy(
10629        &self,
10630        _options: &crate::RequestOptions,
10631    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10632        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10633    }
10634
10635    /// Returns the polling backoff policy.
10636    ///
10637    /// When mocking, this method is typically irrelevant. Do not try to verify
10638    /// it is called by your mocks.
10639    fn get_polling_backoff_policy(
10640        &self,
10641        _options: &crate::RequestOptions,
10642    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10643        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10644    }
10645
10646    #[doc(hidden)]
10647    /// Returns the poller options.
10648    ///
10649    /// When mocking, this method is typically irrelevant. Do not try to verify
10650    /// it is called by your mocks.
10651    fn get_poller_options(
10652        &self,
10653        _options: &crate::RequestOptions,
10654    ) -> google_cloud_lro::PollerOptions {
10655        google_cloud_lro::PollerOptions::default()
10656    }
10657}
10658
10659/// Defines the trait used to implement [super::client::RegionInstances].
10660///
10661/// Application developers may need to implement this trait to mock
10662/// `client::RegionInstances`.  In other use-cases, application developers only
10663/// use `client::RegionInstances` and need not be concerned with this trait or
10664/// its implementations.
10665///
10666/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10667/// too. To avoid breaking applications the trait provides a default
10668/// implementation of each method. Most of these implementations just return an
10669/// error.
10670#[cfg(feature = "region-instances")]
10671#[cfg_attr(docsrs, doc(cfg(feature = "region-instances")))]
10672pub trait RegionInstances: std::fmt::Debug + Send + Sync {
10673    /// Implements [super::client::RegionInstances::bulk_insert].
10674    fn bulk_insert(
10675        &self,
10676        _req: crate::model::region_instances::BulkInsertRequest,
10677        _options: crate::RequestOptions,
10678    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10679    {
10680        gaxi::unimplemented::unimplemented_stub()
10681    }
10682
10683    /// Implements [super::client::RegionInstances::get_operation].
10684    fn get_operation(
10685        &self,
10686        _req: crate::model::region_operations::GetRequest,
10687        _options: crate::RequestOptions,
10688    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10689    {
10690        gaxi::unimplemented::unimplemented_stub()
10691    }
10692
10693    /// Returns the polling error policy.
10694    ///
10695    /// When mocking, this method is typically irrelevant. Do not try to verify
10696    /// it is called by your mocks.
10697    fn get_polling_error_policy(
10698        &self,
10699        _options: &crate::RequestOptions,
10700    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10701        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10702    }
10703
10704    /// Returns the polling backoff policy.
10705    ///
10706    /// When mocking, this method is typically irrelevant. Do not try to verify
10707    /// it is called by your mocks.
10708    fn get_polling_backoff_policy(
10709        &self,
10710        _options: &crate::RequestOptions,
10711    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10712        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10713    }
10714
10715    #[doc(hidden)]
10716    /// Returns the poller options.
10717    ///
10718    /// When mocking, this method is typically irrelevant. Do not try to verify
10719    /// it is called by your mocks.
10720    fn get_poller_options(
10721        &self,
10722        _options: &crate::RequestOptions,
10723    ) -> google_cloud_lro::PollerOptions {
10724        google_cloud_lro::PollerOptions::default()
10725    }
10726}
10727
10728/// Defines the trait used to implement [super::client::RegionInstantSnapshotGroups].
10729///
10730/// Application developers may need to implement this trait to mock
10731/// `client::RegionInstantSnapshotGroups`.  In other use-cases, application developers only
10732/// use `client::RegionInstantSnapshotGroups` and need not be concerned with this trait or
10733/// its implementations.
10734///
10735/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10736/// too. To avoid breaking applications the trait provides a default
10737/// implementation of each method. Most of these implementations just return an
10738/// error.
10739#[cfg(feature = "region-instant-snapshot-groups")]
10740#[cfg_attr(docsrs, doc(cfg(feature = "region-instant-snapshot-groups")))]
10741pub trait RegionInstantSnapshotGroups: std::fmt::Debug + Send + Sync {
10742    /// Implements [super::client::RegionInstantSnapshotGroups::delete].
10743    fn delete(
10744        &self,
10745        _req: crate::model::region_instant_snapshot_groups::DeleteRequest,
10746        _options: crate::RequestOptions,
10747    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10748    {
10749        gaxi::unimplemented::unimplemented_stub()
10750    }
10751
10752    /// Implements [super::client::RegionInstantSnapshotGroups::get].
10753    fn get(
10754        &self,
10755        _req: crate::model::region_instant_snapshot_groups::GetRequest,
10756        _options: crate::RequestOptions,
10757    ) -> impl std::future::Future<
10758        Output = crate::Result<crate::Response<crate::model::InstantSnapshotGroup>>,
10759    > + Send {
10760        gaxi::unimplemented::unimplemented_stub()
10761    }
10762
10763    /// Implements [super::client::RegionInstantSnapshotGroups::get_iam_policy].
10764    fn get_iam_policy(
10765        &self,
10766        _req: crate::model::region_instant_snapshot_groups::GetIamPolicyRequest,
10767        _options: crate::RequestOptions,
10768    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10769    {
10770        gaxi::unimplemented::unimplemented_stub()
10771    }
10772
10773    /// Implements [super::client::RegionInstantSnapshotGroups::insert].
10774    fn insert(
10775        &self,
10776        _req: crate::model::region_instant_snapshot_groups::InsertRequest,
10777        _options: crate::RequestOptions,
10778    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10779    {
10780        gaxi::unimplemented::unimplemented_stub()
10781    }
10782
10783    /// Implements [super::client::RegionInstantSnapshotGroups::list].
10784    fn list(
10785        &self,
10786        _req: crate::model::region_instant_snapshot_groups::ListRequest,
10787        _options: crate::RequestOptions,
10788    ) -> impl std::future::Future<
10789        Output = crate::Result<crate::Response<crate::model::ListInstantSnapshotGroups>>,
10790    > + Send {
10791        gaxi::unimplemented::unimplemented_stub()
10792    }
10793
10794    /// Implements [super::client::RegionInstantSnapshotGroups::set_iam_policy].
10795    fn set_iam_policy(
10796        &self,
10797        _req: crate::model::region_instant_snapshot_groups::SetIamPolicyRequest,
10798        _options: crate::RequestOptions,
10799    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10800    {
10801        gaxi::unimplemented::unimplemented_stub()
10802    }
10803
10804    /// Implements [super::client::RegionInstantSnapshotGroups::test_iam_permissions].
10805    fn test_iam_permissions(
10806        &self,
10807        _req: crate::model::region_instant_snapshot_groups::TestIamPermissionsRequest,
10808        _options: crate::RequestOptions,
10809    ) -> impl std::future::Future<
10810        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10811    > + Send {
10812        gaxi::unimplemented::unimplemented_stub()
10813    }
10814
10815    /// Implements [super::client::RegionInstantSnapshotGroups::get_operation].
10816    fn get_operation(
10817        &self,
10818        _req: crate::model::region_operations::GetRequest,
10819        _options: crate::RequestOptions,
10820    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10821    {
10822        gaxi::unimplemented::unimplemented_stub()
10823    }
10824
10825    /// Returns the polling error policy.
10826    ///
10827    /// When mocking, this method is typically irrelevant. Do not try to verify
10828    /// it is called by your mocks.
10829    fn get_polling_error_policy(
10830        &self,
10831        _options: &crate::RequestOptions,
10832    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10833        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10834    }
10835
10836    /// Returns the polling backoff policy.
10837    ///
10838    /// When mocking, this method is typically irrelevant. Do not try to verify
10839    /// it is called by your mocks.
10840    fn get_polling_backoff_policy(
10841        &self,
10842        _options: &crate::RequestOptions,
10843    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10844        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10845    }
10846
10847    #[doc(hidden)]
10848    /// Returns the poller options.
10849    ///
10850    /// When mocking, this method is typically irrelevant. Do not try to verify
10851    /// it is called by your mocks.
10852    fn get_poller_options(
10853        &self,
10854        _options: &crate::RequestOptions,
10855    ) -> google_cloud_lro::PollerOptions {
10856        google_cloud_lro::PollerOptions::default()
10857    }
10858}
10859
10860/// Defines the trait used to implement [super::client::RegionInstantSnapshots].
10861///
10862/// Application developers may need to implement this trait to mock
10863/// `client::RegionInstantSnapshots`.  In other use-cases, application developers only
10864/// use `client::RegionInstantSnapshots` and need not be concerned with this trait or
10865/// its implementations.
10866///
10867/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10868/// too. To avoid breaking applications the trait provides a default
10869/// implementation of each method. Most of these implementations just return an
10870/// error.
10871#[cfg(feature = "region-instant-snapshots")]
10872#[cfg_attr(docsrs, doc(cfg(feature = "region-instant-snapshots")))]
10873pub trait RegionInstantSnapshots: std::fmt::Debug + Send + Sync {
10874    /// Implements [super::client::RegionInstantSnapshots::delete].
10875    fn delete(
10876        &self,
10877        _req: crate::model::region_instant_snapshots::DeleteRequest,
10878        _options: crate::RequestOptions,
10879    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10880    {
10881        gaxi::unimplemented::unimplemented_stub()
10882    }
10883
10884    /// Implements [super::client::RegionInstantSnapshots::get].
10885    fn get(
10886        &self,
10887        _req: crate::model::region_instant_snapshots::GetRequest,
10888        _options: crate::RequestOptions,
10889    ) -> impl std::future::Future<
10890        Output = crate::Result<crate::Response<crate::model::InstantSnapshot>>,
10891    > + Send {
10892        gaxi::unimplemented::unimplemented_stub()
10893    }
10894
10895    /// Implements [super::client::RegionInstantSnapshots::get_iam_policy].
10896    fn get_iam_policy(
10897        &self,
10898        _req: crate::model::region_instant_snapshots::GetIamPolicyRequest,
10899        _options: crate::RequestOptions,
10900    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10901    {
10902        gaxi::unimplemented::unimplemented_stub()
10903    }
10904
10905    /// Implements [super::client::RegionInstantSnapshots::insert].
10906    fn insert(
10907        &self,
10908        _req: crate::model::region_instant_snapshots::InsertRequest,
10909        _options: crate::RequestOptions,
10910    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10911    {
10912        gaxi::unimplemented::unimplemented_stub()
10913    }
10914
10915    /// Implements [super::client::RegionInstantSnapshots::list].
10916    fn list(
10917        &self,
10918        _req: crate::model::region_instant_snapshots::ListRequest,
10919        _options: crate::RequestOptions,
10920    ) -> impl std::future::Future<
10921        Output = crate::Result<crate::Response<crate::model::InstantSnapshotList>>,
10922    > + Send {
10923        gaxi::unimplemented::unimplemented_stub()
10924    }
10925
10926    /// Implements [super::client::RegionInstantSnapshots::set_iam_policy].
10927    fn set_iam_policy(
10928        &self,
10929        _req: crate::model::region_instant_snapshots::SetIamPolicyRequest,
10930        _options: crate::RequestOptions,
10931    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10932    {
10933        gaxi::unimplemented::unimplemented_stub()
10934    }
10935
10936    /// Implements [super::client::RegionInstantSnapshots::set_labels].
10937    fn set_labels(
10938        &self,
10939        _req: crate::model::region_instant_snapshots::SetLabelsRequest,
10940        _options: crate::RequestOptions,
10941    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10942    {
10943        gaxi::unimplemented::unimplemented_stub()
10944    }
10945
10946    /// Implements [super::client::RegionInstantSnapshots::test_iam_permissions].
10947    fn test_iam_permissions(
10948        &self,
10949        _req: crate::model::region_instant_snapshots::TestIamPermissionsRequest,
10950        _options: crate::RequestOptions,
10951    ) -> impl std::future::Future<
10952        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10953    > + Send {
10954        gaxi::unimplemented::unimplemented_stub()
10955    }
10956
10957    /// Implements [super::client::RegionInstantSnapshots::get_operation].
10958    fn get_operation(
10959        &self,
10960        _req: crate::model::region_operations::GetRequest,
10961        _options: crate::RequestOptions,
10962    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10963    {
10964        gaxi::unimplemented::unimplemented_stub()
10965    }
10966
10967    /// Returns the polling error 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_error_policy(
10972        &self,
10973        _options: &crate::RequestOptions,
10974    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10975        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10976    }
10977
10978    /// Returns the polling backoff policy.
10979    ///
10980    /// When mocking, this method is typically irrelevant. Do not try to verify
10981    /// it is called by your mocks.
10982    fn get_polling_backoff_policy(
10983        &self,
10984        _options: &crate::RequestOptions,
10985    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10986        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10987    }
10988
10989    #[doc(hidden)]
10990    /// Returns the poller options.
10991    ///
10992    /// When mocking, this method is typically irrelevant. Do not try to verify
10993    /// it is called by your mocks.
10994    fn get_poller_options(
10995        &self,
10996        _options: &crate::RequestOptions,
10997    ) -> google_cloud_lro::PollerOptions {
10998        google_cloud_lro::PollerOptions::default()
10999    }
11000}
11001
11002/// Defines the trait used to implement [super::client::RegionNetworkEndpointGroups].
11003///
11004/// Application developers may need to implement this trait to mock
11005/// `client::RegionNetworkEndpointGroups`.  In other use-cases, application developers only
11006/// use `client::RegionNetworkEndpointGroups` and need not be concerned with this trait or
11007/// its implementations.
11008///
11009/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11010/// too. To avoid breaking applications the trait provides a default
11011/// implementation of each method. Most of these implementations just return an
11012/// error.
11013#[cfg(feature = "region-network-endpoint-groups")]
11014#[cfg_attr(docsrs, doc(cfg(feature = "region-network-endpoint-groups")))]
11015pub trait RegionNetworkEndpointGroups: std::fmt::Debug + Send + Sync {
11016    /// Implements [super::client::RegionNetworkEndpointGroups::attach_network_endpoints].
11017    fn attach_network_endpoints(
11018        &self,
11019        _req: crate::model::region_network_endpoint_groups::AttachNetworkEndpointsRequest,
11020        _options: crate::RequestOptions,
11021    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11022    {
11023        gaxi::unimplemented::unimplemented_stub()
11024    }
11025
11026    /// Implements [super::client::RegionNetworkEndpointGroups::delete].
11027    fn delete(
11028        &self,
11029        _req: crate::model::region_network_endpoint_groups::DeleteRequest,
11030        _options: crate::RequestOptions,
11031    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11032    {
11033        gaxi::unimplemented::unimplemented_stub()
11034    }
11035
11036    /// Implements [super::client::RegionNetworkEndpointGroups::detach_network_endpoints].
11037    fn detach_network_endpoints(
11038        &self,
11039        _req: crate::model::region_network_endpoint_groups::DetachNetworkEndpointsRequest,
11040        _options: crate::RequestOptions,
11041    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11042    {
11043        gaxi::unimplemented::unimplemented_stub()
11044    }
11045
11046    /// Implements [super::client::RegionNetworkEndpointGroups::get].
11047    fn get(
11048        &self,
11049        _req: crate::model::region_network_endpoint_groups::GetRequest,
11050        _options: crate::RequestOptions,
11051    ) -> impl std::future::Future<
11052        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
11053    > + Send {
11054        gaxi::unimplemented::unimplemented_stub()
11055    }
11056
11057    /// Implements [super::client::RegionNetworkEndpointGroups::insert].
11058    fn insert(
11059        &self,
11060        _req: crate::model::region_network_endpoint_groups::InsertRequest,
11061        _options: crate::RequestOptions,
11062    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11063    {
11064        gaxi::unimplemented::unimplemented_stub()
11065    }
11066
11067    /// Implements [super::client::RegionNetworkEndpointGroups::list].
11068    fn list(
11069        &self,
11070        _req: crate::model::region_network_endpoint_groups::ListRequest,
11071        _options: crate::RequestOptions,
11072    ) -> impl std::future::Future<
11073        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
11074    > + Send {
11075        gaxi::unimplemented::unimplemented_stub()
11076    }
11077
11078    /// Implements [super::client::RegionNetworkEndpointGroups::list_network_endpoints].
11079    fn list_network_endpoints(
11080        &self,
11081        _req: crate::model::region_network_endpoint_groups::ListNetworkEndpointsRequest,
11082        _options: crate::RequestOptions,
11083    ) -> impl std::future::Future<
11084        Output = crate::Result<
11085            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
11086        >,
11087    > + Send {
11088        gaxi::unimplemented::unimplemented_stub()
11089    }
11090
11091    /// Implements [super::client::RegionNetworkEndpointGroups::get_operation].
11092    fn get_operation(
11093        &self,
11094        _req: crate::model::region_operations::GetRequest,
11095        _options: crate::RequestOptions,
11096    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11097    {
11098        gaxi::unimplemented::unimplemented_stub()
11099    }
11100
11101    /// Returns the polling error policy.
11102    ///
11103    /// When mocking, this method is typically irrelevant. Do not try to verify
11104    /// it is called by your mocks.
11105    fn get_polling_error_policy(
11106        &self,
11107        _options: &crate::RequestOptions,
11108    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11109        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11110    }
11111
11112    /// Returns the polling backoff policy.
11113    ///
11114    /// When mocking, this method is typically irrelevant. Do not try to verify
11115    /// it is called by your mocks.
11116    fn get_polling_backoff_policy(
11117        &self,
11118        _options: &crate::RequestOptions,
11119    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11120        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11121    }
11122
11123    #[doc(hidden)]
11124    /// Returns the poller options.
11125    ///
11126    /// When mocking, this method is typically irrelevant. Do not try to verify
11127    /// it is called by your mocks.
11128    fn get_poller_options(
11129        &self,
11130        _options: &crate::RequestOptions,
11131    ) -> google_cloud_lro::PollerOptions {
11132        google_cloud_lro::PollerOptions::default()
11133    }
11134}
11135
11136/// Defines the trait used to implement [super::client::RegionNetworkFirewallPolicies].
11137///
11138/// Application developers may need to implement this trait to mock
11139/// `client::RegionNetworkFirewallPolicies`.  In other use-cases, application developers only
11140/// use `client::RegionNetworkFirewallPolicies` and need not be concerned with this trait or
11141/// its implementations.
11142///
11143/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11144/// too. To avoid breaking applications the trait provides a default
11145/// implementation of each method. Most of these implementations just return an
11146/// error.
11147#[cfg(feature = "region-network-firewall-policies")]
11148#[cfg_attr(docsrs, doc(cfg(feature = "region-network-firewall-policies")))]
11149pub trait RegionNetworkFirewallPolicies: std::fmt::Debug + Send + Sync {
11150    /// Implements [super::client::RegionNetworkFirewallPolicies::add_association].
11151    fn add_association(
11152        &self,
11153        _req: crate::model::region_network_firewall_policies::AddAssociationRequest,
11154        _options: crate::RequestOptions,
11155    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11156    {
11157        gaxi::unimplemented::unimplemented_stub()
11158    }
11159
11160    /// Implements [super::client::RegionNetworkFirewallPolicies::add_rule].
11161    fn add_rule(
11162        &self,
11163        _req: crate::model::region_network_firewall_policies::AddRuleRequest,
11164        _options: crate::RequestOptions,
11165    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11166    {
11167        gaxi::unimplemented::unimplemented_stub()
11168    }
11169
11170    /// Implements [super::client::RegionNetworkFirewallPolicies::clone_rules].
11171    fn clone_rules(
11172        &self,
11173        _req: crate::model::region_network_firewall_policies::CloneRulesRequest,
11174        _options: crate::RequestOptions,
11175    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11176    {
11177        gaxi::unimplemented::unimplemented_stub()
11178    }
11179
11180    /// Implements [super::client::RegionNetworkFirewallPolicies::delete].
11181    fn delete(
11182        &self,
11183        _req: crate::model::region_network_firewall_policies::DeleteRequest,
11184        _options: crate::RequestOptions,
11185    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11186    {
11187        gaxi::unimplemented::unimplemented_stub()
11188    }
11189
11190    /// Implements [super::client::RegionNetworkFirewallPolicies::get].
11191    fn get(
11192        &self,
11193        _req: crate::model::region_network_firewall_policies::GetRequest,
11194        _options: crate::RequestOptions,
11195    ) -> impl std::future::Future<
11196        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
11197    > + Send {
11198        gaxi::unimplemented::unimplemented_stub()
11199    }
11200
11201    /// Implements [super::client::RegionNetworkFirewallPolicies::get_association].
11202    fn get_association(
11203        &self,
11204        _req: crate::model::region_network_firewall_policies::GetAssociationRequest,
11205        _options: crate::RequestOptions,
11206    ) -> impl std::future::Future<
11207        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
11208    > + Send {
11209        gaxi::unimplemented::unimplemented_stub()
11210    }
11211
11212    /// Implements [super::client::RegionNetworkFirewallPolicies::get_effective_firewalls].
11213    fn get_effective_firewalls(
11214        &self,
11215        _req: crate::model::region_network_firewall_policies::GetEffectiveFirewallsRequest,
11216        _options: crate::RequestOptions,
11217    ) -> impl std::future::Future<
11218        Output = crate::Result<
11219            crate::Response<
11220                crate::model::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse,
11221            >,
11222        >,
11223    > + Send {
11224        gaxi::unimplemented::unimplemented_stub()
11225    }
11226
11227    /// Implements [super::client::RegionNetworkFirewallPolicies::get_iam_policy].
11228    fn get_iam_policy(
11229        &self,
11230        _req: crate::model::region_network_firewall_policies::GetIamPolicyRequest,
11231        _options: crate::RequestOptions,
11232    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11233    {
11234        gaxi::unimplemented::unimplemented_stub()
11235    }
11236
11237    /// Implements [super::client::RegionNetworkFirewallPolicies::get_rule].
11238    fn get_rule(
11239        &self,
11240        _req: crate::model::region_network_firewall_policies::GetRuleRequest,
11241        _options: crate::RequestOptions,
11242    ) -> impl std::future::Future<
11243        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
11244    > + Send {
11245        gaxi::unimplemented::unimplemented_stub()
11246    }
11247
11248    /// Implements [super::client::RegionNetworkFirewallPolicies::insert].
11249    fn insert(
11250        &self,
11251        _req: crate::model::region_network_firewall_policies::InsertRequest,
11252        _options: crate::RequestOptions,
11253    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11254    {
11255        gaxi::unimplemented::unimplemented_stub()
11256    }
11257
11258    /// Implements [super::client::RegionNetworkFirewallPolicies::list].
11259    fn list(
11260        &self,
11261        _req: crate::model::region_network_firewall_policies::ListRequest,
11262        _options: crate::RequestOptions,
11263    ) -> impl std::future::Future<
11264        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
11265    > + Send {
11266        gaxi::unimplemented::unimplemented_stub()
11267    }
11268
11269    /// Implements [super::client::RegionNetworkFirewallPolicies::patch].
11270    fn patch(
11271        &self,
11272        _req: crate::model::region_network_firewall_policies::PatchRequest,
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    /// Implements [super::client::RegionNetworkFirewallPolicies::patch_rule].
11280    fn patch_rule(
11281        &self,
11282        _req: crate::model::region_network_firewall_policies::PatchRuleRequest,
11283        _options: crate::RequestOptions,
11284    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11285    {
11286        gaxi::unimplemented::unimplemented_stub()
11287    }
11288
11289    /// Implements [super::client::RegionNetworkFirewallPolicies::remove_association].
11290    fn remove_association(
11291        &self,
11292        _req: crate::model::region_network_firewall_policies::RemoveAssociationRequest,
11293        _options: crate::RequestOptions,
11294    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11295    {
11296        gaxi::unimplemented::unimplemented_stub()
11297    }
11298
11299    /// Implements [super::client::RegionNetworkFirewallPolicies::remove_rule].
11300    fn remove_rule(
11301        &self,
11302        _req: crate::model::region_network_firewall_policies::RemoveRuleRequest,
11303        _options: crate::RequestOptions,
11304    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11305    {
11306        gaxi::unimplemented::unimplemented_stub()
11307    }
11308
11309    /// Implements [super::client::RegionNetworkFirewallPolicies::set_iam_policy].
11310    fn set_iam_policy(
11311        &self,
11312        _req: crate::model::region_network_firewall_policies::SetIamPolicyRequest,
11313        _options: crate::RequestOptions,
11314    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11315    {
11316        gaxi::unimplemented::unimplemented_stub()
11317    }
11318
11319    /// Implements [super::client::RegionNetworkFirewallPolicies::test_iam_permissions].
11320    fn test_iam_permissions(
11321        &self,
11322        _req: crate::model::region_network_firewall_policies::TestIamPermissionsRequest,
11323        _options: crate::RequestOptions,
11324    ) -> impl std::future::Future<
11325        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11326    > + Send {
11327        gaxi::unimplemented::unimplemented_stub()
11328    }
11329
11330    /// Implements [super::client::RegionNetworkFirewallPolicies::get_operation].
11331    fn get_operation(
11332        &self,
11333        _req: crate::model::region_operations::GetRequest,
11334        _options: crate::RequestOptions,
11335    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11336    {
11337        gaxi::unimplemented::unimplemented_stub()
11338    }
11339
11340    /// Returns the polling error policy.
11341    ///
11342    /// When mocking, this method is typically irrelevant. Do not try to verify
11343    /// it is called by your mocks.
11344    fn get_polling_error_policy(
11345        &self,
11346        _options: &crate::RequestOptions,
11347    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11348        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11349    }
11350
11351    /// Returns the polling backoff policy.
11352    ///
11353    /// When mocking, this method is typically irrelevant. Do not try to verify
11354    /// it is called by your mocks.
11355    fn get_polling_backoff_policy(
11356        &self,
11357        _options: &crate::RequestOptions,
11358    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11359        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11360    }
11361
11362    #[doc(hidden)]
11363    /// Returns the poller options.
11364    ///
11365    /// When mocking, this method is typically irrelevant. Do not try to verify
11366    /// it is called by your mocks.
11367    fn get_poller_options(
11368        &self,
11369        _options: &crate::RequestOptions,
11370    ) -> google_cloud_lro::PollerOptions {
11371        google_cloud_lro::PollerOptions::default()
11372    }
11373}
11374
11375/// Defines the trait used to implement [super::client::RegionNotificationEndpoints].
11376///
11377/// Application developers may need to implement this trait to mock
11378/// `client::RegionNotificationEndpoints`.  In other use-cases, application developers only
11379/// use `client::RegionNotificationEndpoints` and need not be concerned with this trait or
11380/// its implementations.
11381///
11382/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11383/// too. To avoid breaking applications the trait provides a default
11384/// implementation of each method. Most of these implementations just return an
11385/// error.
11386#[cfg(feature = "region-notification-endpoints")]
11387#[cfg_attr(docsrs, doc(cfg(feature = "region-notification-endpoints")))]
11388pub trait RegionNotificationEndpoints: std::fmt::Debug + Send + Sync {
11389    /// Implements [super::client::RegionNotificationEndpoints::aggregated_list].
11390    fn aggregated_list(
11391        &self,
11392        _req: crate::model::region_notification_endpoints::AggregatedListRequest,
11393        _options: crate::RequestOptions,
11394    ) -> impl std::future::Future<
11395        Output = crate::Result<crate::Response<crate::model::NotificationEndpointAggregatedList>>,
11396    > + Send {
11397        gaxi::unimplemented::unimplemented_stub()
11398    }
11399
11400    /// Implements [super::client::RegionNotificationEndpoints::delete].
11401    fn delete(
11402        &self,
11403        _req: crate::model::region_notification_endpoints::DeleteRequest,
11404        _options: crate::RequestOptions,
11405    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11406    {
11407        gaxi::unimplemented::unimplemented_stub()
11408    }
11409
11410    /// Implements [super::client::RegionNotificationEndpoints::get].
11411    fn get(
11412        &self,
11413        _req: crate::model::region_notification_endpoints::GetRequest,
11414        _options: crate::RequestOptions,
11415    ) -> impl std::future::Future<
11416        Output = crate::Result<crate::Response<crate::model::NotificationEndpoint>>,
11417    > + Send {
11418        gaxi::unimplemented::unimplemented_stub()
11419    }
11420
11421    /// Implements [super::client::RegionNotificationEndpoints::insert].
11422    fn insert(
11423        &self,
11424        _req: crate::model::region_notification_endpoints::InsertRequest,
11425        _options: crate::RequestOptions,
11426    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11427    {
11428        gaxi::unimplemented::unimplemented_stub()
11429    }
11430
11431    /// Implements [super::client::RegionNotificationEndpoints::list].
11432    fn list(
11433        &self,
11434        _req: crate::model::region_notification_endpoints::ListRequest,
11435        _options: crate::RequestOptions,
11436    ) -> impl std::future::Future<
11437        Output = crate::Result<crate::Response<crate::model::NotificationEndpointList>>,
11438    > + Send {
11439        gaxi::unimplemented::unimplemented_stub()
11440    }
11441
11442    /// Implements [super::client::RegionNotificationEndpoints::test_iam_permissions].
11443    fn test_iam_permissions(
11444        &self,
11445        _req: crate::model::region_notification_endpoints::TestIamPermissionsRequest,
11446        _options: crate::RequestOptions,
11447    ) -> impl std::future::Future<
11448        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11449    > + Send {
11450        gaxi::unimplemented::unimplemented_stub()
11451    }
11452
11453    /// Implements [super::client::RegionNotificationEndpoints::get_operation].
11454    fn get_operation(
11455        &self,
11456        _req: crate::model::region_operations::GetRequest,
11457        _options: crate::RequestOptions,
11458    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11459    {
11460        gaxi::unimplemented::unimplemented_stub()
11461    }
11462
11463    /// Returns the polling error policy.
11464    ///
11465    /// When mocking, this method is typically irrelevant. Do not try to verify
11466    /// it is called by your mocks.
11467    fn get_polling_error_policy(
11468        &self,
11469        _options: &crate::RequestOptions,
11470    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11471        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11472    }
11473
11474    /// Returns the polling backoff policy.
11475    ///
11476    /// When mocking, this method is typically irrelevant. Do not try to verify
11477    /// it is called by your mocks.
11478    fn get_polling_backoff_policy(
11479        &self,
11480        _options: &crate::RequestOptions,
11481    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11482        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11483    }
11484
11485    #[doc(hidden)]
11486    /// Returns the poller options.
11487    ///
11488    /// When mocking, this method is typically irrelevant. Do not try to verify
11489    /// it is called by your mocks.
11490    fn get_poller_options(
11491        &self,
11492        _options: &crate::RequestOptions,
11493    ) -> google_cloud_lro::PollerOptions {
11494        google_cloud_lro::PollerOptions::default()
11495    }
11496}
11497
11498/// Defines the trait used to implement [super::client::RegionOperations].
11499///
11500/// Application developers may need to implement this trait to mock
11501/// `client::RegionOperations`.  In other use-cases, application developers only
11502/// use `client::RegionOperations` and need not be concerned with this trait or
11503/// its implementations.
11504///
11505/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11506/// too. To avoid breaking applications the trait provides a default
11507/// implementation of each method. Most of these implementations just return an
11508/// error.
11509#[cfg(feature = "region-operations")]
11510#[cfg_attr(docsrs, doc(cfg(feature = "region-operations")))]
11511pub trait RegionOperations: std::fmt::Debug + Send + Sync {
11512    /// Implements [super::client::RegionOperations::delete].
11513    fn delete(
11514        &self,
11515        _req: crate::model::region_operations::DeleteRequest,
11516        _options: crate::RequestOptions,
11517    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
11518        gaxi::unimplemented::unimplemented_stub()
11519    }
11520
11521    /// Implements [super::client::RegionOperations::get].
11522    fn get(
11523        &self,
11524        _req: crate::model::region_operations::GetRequest,
11525        _options: crate::RequestOptions,
11526    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11527    {
11528        gaxi::unimplemented::unimplemented_stub()
11529    }
11530
11531    /// Implements [super::client::RegionOperations::list].
11532    fn list(
11533        &self,
11534        _req: crate::model::region_operations::ListRequest,
11535        _options: crate::RequestOptions,
11536    ) -> impl std::future::Future<
11537        Output = crate::Result<crate::Response<crate::model::OperationList>>,
11538    > + Send {
11539        gaxi::unimplemented::unimplemented_stub()
11540    }
11541
11542    /// Implements [super::client::RegionOperations::wait].
11543    fn wait(
11544        &self,
11545        _req: crate::model::region_operations::WaitRequest,
11546        _options: crate::RequestOptions,
11547    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11548    {
11549        gaxi::unimplemented::unimplemented_stub()
11550    }
11551}
11552
11553/// Defines the trait used to implement [super::client::RegionSecurityPolicies].
11554///
11555/// Application developers may need to implement this trait to mock
11556/// `client::RegionSecurityPolicies`.  In other use-cases, application developers only
11557/// use `client::RegionSecurityPolicies` and need not be concerned with this trait or
11558/// its implementations.
11559///
11560/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11561/// too. To avoid breaking applications the trait provides a default
11562/// implementation of each method. Most of these implementations just return an
11563/// error.
11564#[cfg(feature = "region-security-policies")]
11565#[cfg_attr(docsrs, doc(cfg(feature = "region-security-policies")))]
11566pub trait RegionSecurityPolicies: std::fmt::Debug + Send + Sync {
11567    /// Implements [super::client::RegionSecurityPolicies::add_rule].
11568    fn add_rule(
11569        &self,
11570        _req: crate::model::region_security_policies::AddRuleRequest,
11571        _options: crate::RequestOptions,
11572    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11573    {
11574        gaxi::unimplemented::unimplemented_stub()
11575    }
11576
11577    /// Implements [super::client::RegionSecurityPolicies::delete].
11578    fn delete(
11579        &self,
11580        _req: crate::model::region_security_policies::DeleteRequest,
11581        _options: crate::RequestOptions,
11582    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11583    {
11584        gaxi::unimplemented::unimplemented_stub()
11585    }
11586
11587    /// Implements [super::client::RegionSecurityPolicies::get].
11588    fn get(
11589        &self,
11590        _req: crate::model::region_security_policies::GetRequest,
11591        _options: crate::RequestOptions,
11592    ) -> impl std::future::Future<
11593        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
11594    > + Send {
11595        gaxi::unimplemented::unimplemented_stub()
11596    }
11597
11598    /// Implements [super::client::RegionSecurityPolicies::get_rule].
11599    fn get_rule(
11600        &self,
11601        _req: crate::model::region_security_policies::GetRuleRequest,
11602        _options: crate::RequestOptions,
11603    ) -> impl std::future::Future<
11604        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
11605    > + Send {
11606        gaxi::unimplemented::unimplemented_stub()
11607    }
11608
11609    /// Implements [super::client::RegionSecurityPolicies::insert].
11610    fn insert(
11611        &self,
11612        _req: crate::model::region_security_policies::InsertRequest,
11613        _options: crate::RequestOptions,
11614    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11615    {
11616        gaxi::unimplemented::unimplemented_stub()
11617    }
11618
11619    /// Implements [super::client::RegionSecurityPolicies::list].
11620    fn list(
11621        &self,
11622        _req: crate::model::region_security_policies::ListRequest,
11623        _options: crate::RequestOptions,
11624    ) -> impl std::future::Future<
11625        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
11626    > + Send {
11627        gaxi::unimplemented::unimplemented_stub()
11628    }
11629
11630    /// Implements [super::client::RegionSecurityPolicies::patch].
11631    fn patch(
11632        &self,
11633        _req: crate::model::region_security_policies::PatchRequest,
11634        _options: crate::RequestOptions,
11635    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11636    {
11637        gaxi::unimplemented::unimplemented_stub()
11638    }
11639
11640    /// Implements [super::client::RegionSecurityPolicies::patch_rule].
11641    fn patch_rule(
11642        &self,
11643        _req: crate::model::region_security_policies::PatchRuleRequest,
11644        _options: crate::RequestOptions,
11645    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11646    {
11647        gaxi::unimplemented::unimplemented_stub()
11648    }
11649
11650    /// Implements [super::client::RegionSecurityPolicies::remove_rule].
11651    fn remove_rule(
11652        &self,
11653        _req: crate::model::region_security_policies::RemoveRuleRequest,
11654        _options: crate::RequestOptions,
11655    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11656    {
11657        gaxi::unimplemented::unimplemented_stub()
11658    }
11659
11660    /// Implements [super::client::RegionSecurityPolicies::set_labels].
11661    fn set_labels(
11662        &self,
11663        _req: crate::model::region_security_policies::SetLabelsRequest,
11664        _options: crate::RequestOptions,
11665    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11666    {
11667        gaxi::unimplemented::unimplemented_stub()
11668    }
11669
11670    /// Implements [super::client::RegionSecurityPolicies::get_operation].
11671    fn get_operation(
11672        &self,
11673        _req: crate::model::region_operations::GetRequest,
11674        _options: crate::RequestOptions,
11675    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11676    {
11677        gaxi::unimplemented::unimplemented_stub()
11678    }
11679
11680    /// Returns the polling error policy.
11681    ///
11682    /// When mocking, this method is typically irrelevant. Do not try to verify
11683    /// it is called by your mocks.
11684    fn get_polling_error_policy(
11685        &self,
11686        _options: &crate::RequestOptions,
11687    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11688        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11689    }
11690
11691    /// Returns the polling backoff policy.
11692    ///
11693    /// When mocking, this method is typically irrelevant. Do not try to verify
11694    /// it is called by your mocks.
11695    fn get_polling_backoff_policy(
11696        &self,
11697        _options: &crate::RequestOptions,
11698    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11699        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11700    }
11701
11702    #[doc(hidden)]
11703    /// Returns the poller options.
11704    ///
11705    /// When mocking, this method is typically irrelevant. Do not try to verify
11706    /// it is called by your mocks.
11707    fn get_poller_options(
11708        &self,
11709        _options: &crate::RequestOptions,
11710    ) -> google_cloud_lro::PollerOptions {
11711        google_cloud_lro::PollerOptions::default()
11712    }
11713}
11714
11715/// Defines the trait used to implement [super::client::RegionSnapshotSettings].
11716///
11717/// Application developers may need to implement this trait to mock
11718/// `client::RegionSnapshotSettings`.  In other use-cases, application developers only
11719/// use `client::RegionSnapshotSettings` and need not be concerned with this trait or
11720/// its implementations.
11721///
11722/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11723/// too. To avoid breaking applications the trait provides a default
11724/// implementation of each method. Most of these implementations just return an
11725/// error.
11726#[cfg(feature = "region-snapshot-settings")]
11727#[cfg_attr(docsrs, doc(cfg(feature = "region-snapshot-settings")))]
11728pub trait RegionSnapshotSettings: std::fmt::Debug + Send + Sync {
11729    /// Implements [super::client::RegionSnapshotSettings::get].
11730    fn get(
11731        &self,
11732        _req: crate::model::region_snapshot_settings::GetRequest,
11733        _options: crate::RequestOptions,
11734    ) -> impl std::future::Future<
11735        Output = crate::Result<crate::Response<crate::model::SnapshotSettings>>,
11736    > + Send {
11737        gaxi::unimplemented::unimplemented_stub()
11738    }
11739
11740    /// Implements [super::client::RegionSnapshotSettings::patch].
11741    fn patch(
11742        &self,
11743        _req: crate::model::region_snapshot_settings::PatchRequest,
11744        _options: crate::RequestOptions,
11745    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11746    {
11747        gaxi::unimplemented::unimplemented_stub()
11748    }
11749
11750    /// Implements [super::client::RegionSnapshotSettings::get_operation].
11751    fn get_operation(
11752        &self,
11753        _req: crate::model::region_operations::GetRequest,
11754        _options: crate::RequestOptions,
11755    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11756    {
11757        gaxi::unimplemented::unimplemented_stub()
11758    }
11759
11760    /// Returns the polling error policy.
11761    ///
11762    /// When mocking, this method is typically irrelevant. Do not try to verify
11763    /// it is called by your mocks.
11764    fn get_polling_error_policy(
11765        &self,
11766        _options: &crate::RequestOptions,
11767    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11768        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11769    }
11770
11771    /// Returns the polling backoff policy.
11772    ///
11773    /// When mocking, this method is typically irrelevant. Do not try to verify
11774    /// it is called by your mocks.
11775    fn get_polling_backoff_policy(
11776        &self,
11777        _options: &crate::RequestOptions,
11778    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11779        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11780    }
11781
11782    #[doc(hidden)]
11783    /// Returns the poller options.
11784    ///
11785    /// When mocking, this method is typically irrelevant. Do not try to verify
11786    /// it is called by your mocks.
11787    fn get_poller_options(
11788        &self,
11789        _options: &crate::RequestOptions,
11790    ) -> google_cloud_lro::PollerOptions {
11791        google_cloud_lro::PollerOptions::default()
11792    }
11793}
11794
11795/// Defines the trait used to implement [super::client::RegionSnapshots].
11796///
11797/// Application developers may need to implement this trait to mock
11798/// `client::RegionSnapshots`.  In other use-cases, application developers only
11799/// use `client::RegionSnapshots` and need not be concerned with this trait or
11800/// its implementations.
11801///
11802/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11803/// too. To avoid breaking applications the trait provides a default
11804/// implementation of each method. Most of these implementations just return an
11805/// error.
11806#[cfg(feature = "region-snapshots")]
11807#[cfg_attr(docsrs, doc(cfg(feature = "region-snapshots")))]
11808pub trait RegionSnapshots: std::fmt::Debug + Send + Sync {
11809    /// Implements [super::client::RegionSnapshots::delete].
11810    fn delete(
11811        &self,
11812        _req: crate::model::region_snapshots::DeleteRequest,
11813        _options: crate::RequestOptions,
11814    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11815    {
11816        gaxi::unimplemented::unimplemented_stub()
11817    }
11818
11819    /// Implements [super::client::RegionSnapshots::get].
11820    fn get(
11821        &self,
11822        _req: crate::model::region_snapshots::GetRequest,
11823        _options: crate::RequestOptions,
11824    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Snapshot>>> + Send
11825    {
11826        gaxi::unimplemented::unimplemented_stub()
11827    }
11828
11829    /// Implements [super::client::RegionSnapshots::get_iam_policy].
11830    fn get_iam_policy(
11831        &self,
11832        _req: crate::model::region_snapshots::GetIamPolicyRequest,
11833        _options: crate::RequestOptions,
11834    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11835    {
11836        gaxi::unimplemented::unimplemented_stub()
11837    }
11838
11839    /// Implements [super::client::RegionSnapshots::insert].
11840    fn insert(
11841        &self,
11842        _req: crate::model::region_snapshots::InsertRequest,
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::RegionSnapshots::list].
11850    fn list(
11851        &self,
11852        _req: crate::model::region_snapshots::ListRequest,
11853        _options: crate::RequestOptions,
11854    ) -> impl std::future::Future<
11855        Output = crate::Result<crate::Response<crate::model::SnapshotList>>,
11856    > + Send {
11857        gaxi::unimplemented::unimplemented_stub()
11858    }
11859
11860    /// Implements [super::client::RegionSnapshots::set_iam_policy].
11861    fn set_iam_policy(
11862        &self,
11863        _req: crate::model::region_snapshots::SetIamPolicyRequest,
11864        _options: crate::RequestOptions,
11865    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11866    {
11867        gaxi::unimplemented::unimplemented_stub()
11868    }
11869
11870    /// Implements [super::client::RegionSnapshots::set_labels].
11871    fn set_labels(
11872        &self,
11873        _req: crate::model::region_snapshots::SetLabelsRequest,
11874        _options: crate::RequestOptions,
11875    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11876    {
11877        gaxi::unimplemented::unimplemented_stub()
11878    }
11879
11880    /// Implements [super::client::RegionSnapshots::test_iam_permissions].
11881    fn test_iam_permissions(
11882        &self,
11883        _req: crate::model::region_snapshots::TestIamPermissionsRequest,
11884        _options: crate::RequestOptions,
11885    ) -> impl std::future::Future<
11886        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11887    > + Send {
11888        gaxi::unimplemented::unimplemented_stub()
11889    }
11890
11891    /// Implements [super::client::RegionSnapshots::update_kms_key].
11892    fn update_kms_key(
11893        &self,
11894        _req: crate::model::region_snapshots::UpdateKmsKeyRequest,
11895        _options: crate::RequestOptions,
11896    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11897    {
11898        gaxi::unimplemented::unimplemented_stub()
11899    }
11900
11901    /// Implements [super::client::RegionSnapshots::get_operation].
11902    fn get_operation(
11903        &self,
11904        _req: crate::model::region_operations::GetRequest,
11905        _options: crate::RequestOptions,
11906    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11907    {
11908        gaxi::unimplemented::unimplemented_stub()
11909    }
11910
11911    /// Returns the polling error policy.
11912    ///
11913    /// When mocking, this method is typically irrelevant. Do not try to verify
11914    /// it is called by your mocks.
11915    fn get_polling_error_policy(
11916        &self,
11917        _options: &crate::RequestOptions,
11918    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11919        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11920    }
11921
11922    /// Returns the polling backoff policy.
11923    ///
11924    /// When mocking, this method is typically irrelevant. Do not try to verify
11925    /// it is called by your mocks.
11926    fn get_polling_backoff_policy(
11927        &self,
11928        _options: &crate::RequestOptions,
11929    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11930        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11931    }
11932
11933    #[doc(hidden)]
11934    /// Returns the poller options.
11935    ///
11936    /// When mocking, this method is typically irrelevant. Do not try to verify
11937    /// it is called by your mocks.
11938    fn get_poller_options(
11939        &self,
11940        _options: &crate::RequestOptions,
11941    ) -> google_cloud_lro::PollerOptions {
11942        google_cloud_lro::PollerOptions::default()
11943    }
11944}
11945
11946/// Defines the trait used to implement [super::client::RegionSslCertificates].
11947///
11948/// Application developers may need to implement this trait to mock
11949/// `client::RegionSslCertificates`.  In other use-cases, application developers only
11950/// use `client::RegionSslCertificates` and need not be concerned with this trait or
11951/// its implementations.
11952///
11953/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11954/// too. To avoid breaking applications the trait provides a default
11955/// implementation of each method. Most of these implementations just return an
11956/// error.
11957#[cfg(feature = "region-ssl-certificates")]
11958#[cfg_attr(docsrs, doc(cfg(feature = "region-ssl-certificates")))]
11959pub trait RegionSslCertificates: std::fmt::Debug + Send + Sync {
11960    /// Implements [super::client::RegionSslCertificates::delete].
11961    fn delete(
11962        &self,
11963        _req: crate::model::region_ssl_certificates::DeleteRequest,
11964        _options: crate::RequestOptions,
11965    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11966    {
11967        gaxi::unimplemented::unimplemented_stub()
11968    }
11969
11970    /// Implements [super::client::RegionSslCertificates::get].
11971    fn get(
11972        &self,
11973        _req: crate::model::region_ssl_certificates::GetRequest,
11974        _options: crate::RequestOptions,
11975    ) -> impl std::future::Future<
11976        Output = crate::Result<crate::Response<crate::model::SslCertificate>>,
11977    > + Send {
11978        gaxi::unimplemented::unimplemented_stub()
11979    }
11980
11981    /// Implements [super::client::RegionSslCertificates::insert].
11982    fn insert(
11983        &self,
11984        _req: crate::model::region_ssl_certificates::InsertRequest,
11985        _options: crate::RequestOptions,
11986    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11987    {
11988        gaxi::unimplemented::unimplemented_stub()
11989    }
11990
11991    /// Implements [super::client::RegionSslCertificates::list].
11992    fn list(
11993        &self,
11994        _req: crate::model::region_ssl_certificates::ListRequest,
11995        _options: crate::RequestOptions,
11996    ) -> impl std::future::Future<
11997        Output = crate::Result<crate::Response<crate::model::SslCertificateList>>,
11998    > + Send {
11999        gaxi::unimplemented::unimplemented_stub()
12000    }
12001
12002    /// Implements [super::client::RegionSslCertificates::get_operation].
12003    fn get_operation(
12004        &self,
12005        _req: crate::model::region_operations::GetRequest,
12006        _options: crate::RequestOptions,
12007    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12008    {
12009        gaxi::unimplemented::unimplemented_stub()
12010    }
12011
12012    /// Returns the polling error policy.
12013    ///
12014    /// When mocking, this method is typically irrelevant. Do not try to verify
12015    /// it is called by your mocks.
12016    fn get_polling_error_policy(
12017        &self,
12018        _options: &crate::RequestOptions,
12019    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12020        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12021    }
12022
12023    /// Returns the polling backoff policy.
12024    ///
12025    /// When mocking, this method is typically irrelevant. Do not try to verify
12026    /// it is called by your mocks.
12027    fn get_polling_backoff_policy(
12028        &self,
12029        _options: &crate::RequestOptions,
12030    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12031        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12032    }
12033
12034    #[doc(hidden)]
12035    /// Returns the poller options.
12036    ///
12037    /// When mocking, this method is typically irrelevant. Do not try to verify
12038    /// it is called by your mocks.
12039    fn get_poller_options(
12040        &self,
12041        _options: &crate::RequestOptions,
12042    ) -> google_cloud_lro::PollerOptions {
12043        google_cloud_lro::PollerOptions::default()
12044    }
12045}
12046
12047/// Defines the trait used to implement [super::client::RegionSslPolicies].
12048///
12049/// Application developers may need to implement this trait to mock
12050/// `client::RegionSslPolicies`.  In other use-cases, application developers only
12051/// use `client::RegionSslPolicies` and need not be concerned with this trait or
12052/// its implementations.
12053///
12054/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12055/// too. To avoid breaking applications the trait provides a default
12056/// implementation of each method. Most of these implementations just return an
12057/// error.
12058#[cfg(feature = "region-ssl-policies")]
12059#[cfg_attr(docsrs, doc(cfg(feature = "region-ssl-policies")))]
12060pub trait RegionSslPolicies: std::fmt::Debug + Send + Sync {
12061    /// Implements [super::client::RegionSslPolicies::delete].
12062    fn delete(
12063        &self,
12064        _req: crate::model::region_ssl_policies::DeleteRequest,
12065        _options: crate::RequestOptions,
12066    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12067    {
12068        gaxi::unimplemented::unimplemented_stub()
12069    }
12070
12071    /// Implements [super::client::RegionSslPolicies::get].
12072    fn get(
12073        &self,
12074        _req: crate::model::region_ssl_policies::GetRequest,
12075        _options: crate::RequestOptions,
12076    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::SslPolicy>>> + Send
12077    {
12078        gaxi::unimplemented::unimplemented_stub()
12079    }
12080
12081    /// Implements [super::client::RegionSslPolicies::insert].
12082    fn insert(
12083        &self,
12084        _req: crate::model::region_ssl_policies::InsertRequest,
12085        _options: crate::RequestOptions,
12086    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12087    {
12088        gaxi::unimplemented::unimplemented_stub()
12089    }
12090
12091    /// Implements [super::client::RegionSslPolicies::list].
12092    fn list(
12093        &self,
12094        _req: crate::model::region_ssl_policies::ListRequest,
12095        _options: crate::RequestOptions,
12096    ) -> impl std::future::Future<
12097        Output = crate::Result<crate::Response<crate::model::SslPoliciesList>>,
12098    > + Send {
12099        gaxi::unimplemented::unimplemented_stub()
12100    }
12101
12102    /// Implements [super::client::RegionSslPolicies::list_available_features].
12103    fn list_available_features(
12104        &self,
12105        _req: crate::model::region_ssl_policies::ListAvailableFeaturesRequest,
12106        _options: crate::RequestOptions,
12107    ) -> impl std::future::Future<
12108        Output = crate::Result<
12109            crate::Response<crate::model::SslPoliciesListAvailableFeaturesResponse>,
12110        >,
12111    > + Send {
12112        gaxi::unimplemented::unimplemented_stub()
12113    }
12114
12115    /// Implements [super::client::RegionSslPolicies::patch].
12116    fn patch(
12117        &self,
12118        _req: crate::model::region_ssl_policies::PatchRequest,
12119        _options: crate::RequestOptions,
12120    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12121    {
12122        gaxi::unimplemented::unimplemented_stub()
12123    }
12124
12125    /// Implements [super::client::RegionSslPolicies::get_operation].
12126    fn get_operation(
12127        &self,
12128        _req: crate::model::region_operations::GetRequest,
12129        _options: crate::RequestOptions,
12130    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12131    {
12132        gaxi::unimplemented::unimplemented_stub()
12133    }
12134
12135    /// Returns the polling error policy.
12136    ///
12137    /// When mocking, this method is typically irrelevant. Do not try to verify
12138    /// it is called by your mocks.
12139    fn get_polling_error_policy(
12140        &self,
12141        _options: &crate::RequestOptions,
12142    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12143        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12144    }
12145
12146    /// Returns the polling backoff policy.
12147    ///
12148    /// When mocking, this method is typically irrelevant. Do not try to verify
12149    /// it is called by your mocks.
12150    fn get_polling_backoff_policy(
12151        &self,
12152        _options: &crate::RequestOptions,
12153    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12154        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12155    }
12156
12157    #[doc(hidden)]
12158    /// Returns the poller options.
12159    ///
12160    /// When mocking, this method is typically irrelevant. Do not try to verify
12161    /// it is called by your mocks.
12162    fn get_poller_options(
12163        &self,
12164        _options: &crate::RequestOptions,
12165    ) -> google_cloud_lro::PollerOptions {
12166        google_cloud_lro::PollerOptions::default()
12167    }
12168}
12169
12170/// Defines the trait used to implement [super::client::RegionTargetHttpProxies].
12171///
12172/// Application developers may need to implement this trait to mock
12173/// `client::RegionTargetHttpProxies`.  In other use-cases, application developers only
12174/// use `client::RegionTargetHttpProxies` and need not be concerned with this trait or
12175/// its implementations.
12176///
12177/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12178/// too. To avoid breaking applications the trait provides a default
12179/// implementation of each method. Most of these implementations just return an
12180/// error.
12181#[cfg(feature = "region-target-http-proxies")]
12182#[cfg_attr(docsrs, doc(cfg(feature = "region-target-http-proxies")))]
12183pub trait RegionTargetHttpProxies: std::fmt::Debug + Send + Sync {
12184    /// Implements [super::client::RegionTargetHttpProxies::delete].
12185    fn delete(
12186        &self,
12187        _req: crate::model::region_target_http_proxies::DeleteRequest,
12188        _options: crate::RequestOptions,
12189    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12190    {
12191        gaxi::unimplemented::unimplemented_stub()
12192    }
12193
12194    /// Implements [super::client::RegionTargetHttpProxies::get].
12195    fn get(
12196        &self,
12197        _req: crate::model::region_target_http_proxies::GetRequest,
12198        _options: crate::RequestOptions,
12199    ) -> impl std::future::Future<
12200        Output = crate::Result<crate::Response<crate::model::TargetHttpProxy>>,
12201    > + Send {
12202        gaxi::unimplemented::unimplemented_stub()
12203    }
12204
12205    /// Implements [super::client::RegionTargetHttpProxies::insert].
12206    fn insert(
12207        &self,
12208        _req: crate::model::region_target_http_proxies::InsertRequest,
12209        _options: crate::RequestOptions,
12210    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12211    {
12212        gaxi::unimplemented::unimplemented_stub()
12213    }
12214
12215    /// Implements [super::client::RegionTargetHttpProxies::list].
12216    fn list(
12217        &self,
12218        _req: crate::model::region_target_http_proxies::ListRequest,
12219        _options: crate::RequestOptions,
12220    ) -> impl std::future::Future<
12221        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyList>>,
12222    > + Send {
12223        gaxi::unimplemented::unimplemented_stub()
12224    }
12225
12226    /// Implements [super::client::RegionTargetHttpProxies::set_url_map].
12227    fn set_url_map(
12228        &self,
12229        _req: crate::model::region_target_http_proxies::SetUrlMapRequest,
12230        _options: crate::RequestOptions,
12231    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12232    {
12233        gaxi::unimplemented::unimplemented_stub()
12234    }
12235
12236    /// Implements [super::client::RegionTargetHttpProxies::get_operation].
12237    fn get_operation(
12238        &self,
12239        _req: crate::model::region_operations::GetRequest,
12240        _options: crate::RequestOptions,
12241    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12242    {
12243        gaxi::unimplemented::unimplemented_stub()
12244    }
12245
12246    /// Returns the polling error policy.
12247    ///
12248    /// When mocking, this method is typically irrelevant. Do not try to verify
12249    /// it is called by your mocks.
12250    fn get_polling_error_policy(
12251        &self,
12252        _options: &crate::RequestOptions,
12253    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12254        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12255    }
12256
12257    /// Returns the polling backoff policy.
12258    ///
12259    /// When mocking, this method is typically irrelevant. Do not try to verify
12260    /// it is called by your mocks.
12261    fn get_polling_backoff_policy(
12262        &self,
12263        _options: &crate::RequestOptions,
12264    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12265        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12266    }
12267
12268    #[doc(hidden)]
12269    /// Returns the poller options.
12270    ///
12271    /// When mocking, this method is typically irrelevant. Do not try to verify
12272    /// it is called by your mocks.
12273    fn get_poller_options(
12274        &self,
12275        _options: &crate::RequestOptions,
12276    ) -> google_cloud_lro::PollerOptions {
12277        google_cloud_lro::PollerOptions::default()
12278    }
12279}
12280
12281/// Defines the trait used to implement [super::client::RegionTargetHttpsProxies].
12282///
12283/// Application developers may need to implement this trait to mock
12284/// `client::RegionTargetHttpsProxies`.  In other use-cases, application developers only
12285/// use `client::RegionTargetHttpsProxies` and need not be concerned with this trait or
12286/// its implementations.
12287///
12288/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12289/// too. To avoid breaking applications the trait provides a default
12290/// implementation of each method. Most of these implementations just return an
12291/// error.
12292#[cfg(feature = "region-target-https-proxies")]
12293#[cfg_attr(docsrs, doc(cfg(feature = "region-target-https-proxies")))]
12294pub trait RegionTargetHttpsProxies: std::fmt::Debug + Send + Sync {
12295    /// Implements [super::client::RegionTargetHttpsProxies::delete].
12296    fn delete(
12297        &self,
12298        _req: crate::model::region_target_https_proxies::DeleteRequest,
12299        _options: crate::RequestOptions,
12300    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12301    {
12302        gaxi::unimplemented::unimplemented_stub()
12303    }
12304
12305    /// Implements [super::client::RegionTargetHttpsProxies::get].
12306    fn get(
12307        &self,
12308        _req: crate::model::region_target_https_proxies::GetRequest,
12309        _options: crate::RequestOptions,
12310    ) -> impl std::future::Future<
12311        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxy>>,
12312    > + Send {
12313        gaxi::unimplemented::unimplemented_stub()
12314    }
12315
12316    /// Implements [super::client::RegionTargetHttpsProxies::insert].
12317    fn insert(
12318        &self,
12319        _req: crate::model::region_target_https_proxies::InsertRequest,
12320        _options: crate::RequestOptions,
12321    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12322    {
12323        gaxi::unimplemented::unimplemented_stub()
12324    }
12325
12326    /// Implements [super::client::RegionTargetHttpsProxies::list].
12327    fn list(
12328        &self,
12329        _req: crate::model::region_target_https_proxies::ListRequest,
12330        _options: crate::RequestOptions,
12331    ) -> impl std::future::Future<
12332        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyList>>,
12333    > + Send {
12334        gaxi::unimplemented::unimplemented_stub()
12335    }
12336
12337    /// Implements [super::client::RegionTargetHttpsProxies::patch].
12338    fn patch(
12339        &self,
12340        _req: crate::model::region_target_https_proxies::PatchRequest,
12341        _options: crate::RequestOptions,
12342    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12343    {
12344        gaxi::unimplemented::unimplemented_stub()
12345    }
12346
12347    /// Implements [super::client::RegionTargetHttpsProxies::set_ssl_certificates].
12348    fn set_ssl_certificates(
12349        &self,
12350        _req: crate::model::region_target_https_proxies::SetSslCertificatesRequest,
12351        _options: crate::RequestOptions,
12352    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12353    {
12354        gaxi::unimplemented::unimplemented_stub()
12355    }
12356
12357    /// Implements [super::client::RegionTargetHttpsProxies::set_url_map].
12358    fn set_url_map(
12359        &self,
12360        _req: crate::model::region_target_https_proxies::SetUrlMapRequest,
12361        _options: crate::RequestOptions,
12362    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12363    {
12364        gaxi::unimplemented::unimplemented_stub()
12365    }
12366
12367    /// Implements [super::client::RegionTargetHttpsProxies::get_operation].
12368    fn get_operation(
12369        &self,
12370        _req: crate::model::region_operations::GetRequest,
12371        _options: crate::RequestOptions,
12372    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12373    {
12374        gaxi::unimplemented::unimplemented_stub()
12375    }
12376
12377    /// Returns the polling error policy.
12378    ///
12379    /// When mocking, this method is typically irrelevant. Do not try to verify
12380    /// it is called by your mocks.
12381    fn get_polling_error_policy(
12382        &self,
12383        _options: &crate::RequestOptions,
12384    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12385        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12386    }
12387
12388    /// Returns the polling backoff policy.
12389    ///
12390    /// When mocking, this method is typically irrelevant. Do not try to verify
12391    /// it is called by your mocks.
12392    fn get_polling_backoff_policy(
12393        &self,
12394        _options: &crate::RequestOptions,
12395    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12396        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12397    }
12398
12399    #[doc(hidden)]
12400    /// Returns the poller options.
12401    ///
12402    /// When mocking, this method is typically irrelevant. Do not try to verify
12403    /// it is called by your mocks.
12404    fn get_poller_options(
12405        &self,
12406        _options: &crate::RequestOptions,
12407    ) -> google_cloud_lro::PollerOptions {
12408        google_cloud_lro::PollerOptions::default()
12409    }
12410}
12411
12412/// Defines the trait used to implement [super::client::RegionTargetTcpProxies].
12413///
12414/// Application developers may need to implement this trait to mock
12415/// `client::RegionTargetTcpProxies`.  In other use-cases, application developers only
12416/// use `client::RegionTargetTcpProxies` and need not be concerned with this trait or
12417/// its implementations.
12418///
12419/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12420/// too. To avoid breaking applications the trait provides a default
12421/// implementation of each method. Most of these implementations just return an
12422/// error.
12423#[cfg(feature = "region-target-tcp-proxies")]
12424#[cfg_attr(docsrs, doc(cfg(feature = "region-target-tcp-proxies")))]
12425pub trait RegionTargetTcpProxies: std::fmt::Debug + Send + Sync {
12426    /// Implements [super::client::RegionTargetTcpProxies::delete].
12427    fn delete(
12428        &self,
12429        _req: crate::model::region_target_tcp_proxies::DeleteRequest,
12430        _options: crate::RequestOptions,
12431    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12432    {
12433        gaxi::unimplemented::unimplemented_stub()
12434    }
12435
12436    /// Implements [super::client::RegionTargetTcpProxies::get].
12437    fn get(
12438        &self,
12439        _req: crate::model::region_target_tcp_proxies::GetRequest,
12440        _options: crate::RequestOptions,
12441    ) -> impl std::future::Future<
12442        Output = crate::Result<crate::Response<crate::model::TargetTcpProxy>>,
12443    > + Send {
12444        gaxi::unimplemented::unimplemented_stub()
12445    }
12446
12447    /// Implements [super::client::RegionTargetTcpProxies::insert].
12448    fn insert(
12449        &self,
12450        _req: crate::model::region_target_tcp_proxies::InsertRequest,
12451        _options: crate::RequestOptions,
12452    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12453    {
12454        gaxi::unimplemented::unimplemented_stub()
12455    }
12456
12457    /// Implements [super::client::RegionTargetTcpProxies::list].
12458    fn list(
12459        &self,
12460        _req: crate::model::region_target_tcp_proxies::ListRequest,
12461        _options: crate::RequestOptions,
12462    ) -> impl std::future::Future<
12463        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyList>>,
12464    > + Send {
12465        gaxi::unimplemented::unimplemented_stub()
12466    }
12467
12468    /// Implements [super::client::RegionTargetTcpProxies::get_operation].
12469    fn get_operation(
12470        &self,
12471        _req: crate::model::region_operations::GetRequest,
12472        _options: crate::RequestOptions,
12473    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12474    {
12475        gaxi::unimplemented::unimplemented_stub()
12476    }
12477
12478    /// Returns the polling error policy.
12479    ///
12480    /// When mocking, this method is typically irrelevant. Do not try to verify
12481    /// it is called by your mocks.
12482    fn get_polling_error_policy(
12483        &self,
12484        _options: &crate::RequestOptions,
12485    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12486        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12487    }
12488
12489    /// Returns the polling backoff policy.
12490    ///
12491    /// When mocking, this method is typically irrelevant. Do not try to verify
12492    /// it is called by your mocks.
12493    fn get_polling_backoff_policy(
12494        &self,
12495        _options: &crate::RequestOptions,
12496    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12497        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12498    }
12499
12500    #[doc(hidden)]
12501    /// Returns the poller options.
12502    ///
12503    /// When mocking, this method is typically irrelevant. Do not try to verify
12504    /// it is called by your mocks.
12505    fn get_poller_options(
12506        &self,
12507        _options: &crate::RequestOptions,
12508    ) -> google_cloud_lro::PollerOptions {
12509        google_cloud_lro::PollerOptions::default()
12510    }
12511}
12512
12513/// Defines the trait used to implement [super::client::RegionUrlMaps].
12514///
12515/// Application developers may need to implement this trait to mock
12516/// `client::RegionUrlMaps`.  In other use-cases, application developers only
12517/// use `client::RegionUrlMaps` and need not be concerned with this trait or
12518/// its implementations.
12519///
12520/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12521/// too. To avoid breaking applications the trait provides a default
12522/// implementation of each method. Most of these implementations just return an
12523/// error.
12524#[cfg(feature = "region-url-maps")]
12525#[cfg_attr(docsrs, doc(cfg(feature = "region-url-maps")))]
12526pub trait RegionUrlMaps: std::fmt::Debug + Send + Sync {
12527    /// Implements [super::client::RegionUrlMaps::delete].
12528    fn delete(
12529        &self,
12530        _req: crate::model::region_url_maps::DeleteRequest,
12531        _options: crate::RequestOptions,
12532    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12533    {
12534        gaxi::unimplemented::unimplemented_stub()
12535    }
12536
12537    /// Implements [super::client::RegionUrlMaps::get].
12538    fn get(
12539        &self,
12540        _req: crate::model::region_url_maps::GetRequest,
12541        _options: crate::RequestOptions,
12542    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMap>>> + Send
12543    {
12544        gaxi::unimplemented::unimplemented_stub()
12545    }
12546
12547    /// Implements [super::client::RegionUrlMaps::insert].
12548    fn insert(
12549        &self,
12550        _req: crate::model::region_url_maps::InsertRequest,
12551        _options: crate::RequestOptions,
12552    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12553    {
12554        gaxi::unimplemented::unimplemented_stub()
12555    }
12556
12557    /// Implements [super::client::RegionUrlMaps::list].
12558    fn list(
12559        &self,
12560        _req: crate::model::region_url_maps::ListRequest,
12561        _options: crate::RequestOptions,
12562    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMapList>>> + Send
12563    {
12564        gaxi::unimplemented::unimplemented_stub()
12565    }
12566
12567    /// Implements [super::client::RegionUrlMaps::patch].
12568    fn patch(
12569        &self,
12570        _req: crate::model::region_url_maps::PatchRequest,
12571        _options: crate::RequestOptions,
12572    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12573    {
12574        gaxi::unimplemented::unimplemented_stub()
12575    }
12576
12577    /// Implements [super::client::RegionUrlMaps::update].
12578    fn update(
12579        &self,
12580        _req: crate::model::region_url_maps::UpdateRequest,
12581        _options: crate::RequestOptions,
12582    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12583    {
12584        gaxi::unimplemented::unimplemented_stub()
12585    }
12586
12587    /// Implements [super::client::RegionUrlMaps::validate].
12588    fn validate(
12589        &self,
12590        _req: crate::model::region_url_maps::ValidateRequest,
12591        _options: crate::RequestOptions,
12592    ) -> impl std::future::Future<
12593        Output = crate::Result<crate::Response<crate::model::UrlMapsValidateResponse>>,
12594    > + Send {
12595        gaxi::unimplemented::unimplemented_stub()
12596    }
12597
12598    /// Implements [super::client::RegionUrlMaps::get_operation].
12599    fn get_operation(
12600        &self,
12601        _req: crate::model::region_operations::GetRequest,
12602        _options: crate::RequestOptions,
12603    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12604    {
12605        gaxi::unimplemented::unimplemented_stub()
12606    }
12607
12608    /// Returns the polling error policy.
12609    ///
12610    /// When mocking, this method is typically irrelevant. Do not try to verify
12611    /// it is called by your mocks.
12612    fn get_polling_error_policy(
12613        &self,
12614        _options: &crate::RequestOptions,
12615    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12616        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12617    }
12618
12619    /// Returns the polling backoff policy.
12620    ///
12621    /// When mocking, this method is typically irrelevant. Do not try to verify
12622    /// it is called by your mocks.
12623    fn get_polling_backoff_policy(
12624        &self,
12625        _options: &crate::RequestOptions,
12626    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12627        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12628    }
12629
12630    #[doc(hidden)]
12631    /// Returns the poller options.
12632    ///
12633    /// When mocking, this method is typically irrelevant. Do not try to verify
12634    /// it is called by your mocks.
12635    fn get_poller_options(
12636        &self,
12637        _options: &crate::RequestOptions,
12638    ) -> google_cloud_lro::PollerOptions {
12639        google_cloud_lro::PollerOptions::default()
12640    }
12641}
12642
12643/// Defines the trait used to implement [super::client::RegionZones].
12644///
12645/// Application developers may need to implement this trait to mock
12646/// `client::RegionZones`.  In other use-cases, application developers only
12647/// use `client::RegionZones` and need not be concerned with this trait or
12648/// its implementations.
12649///
12650/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12651/// too. To avoid breaking applications the trait provides a default
12652/// implementation of each method. Most of these implementations just return an
12653/// error.
12654#[cfg(feature = "region-zones")]
12655#[cfg_attr(docsrs, doc(cfg(feature = "region-zones")))]
12656pub trait RegionZones: std::fmt::Debug + Send + Sync {
12657    /// Implements [super::client::RegionZones::list].
12658    fn list(
12659        &self,
12660        _req: crate::model::region_zones::ListRequest,
12661        _options: crate::RequestOptions,
12662    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ZoneList>>> + Send
12663    {
12664        gaxi::unimplemented::unimplemented_stub()
12665    }
12666}
12667
12668/// Defines the trait used to implement [super::client::Regions].
12669///
12670/// Application developers may need to implement this trait to mock
12671/// `client::Regions`.  In other use-cases, application developers only
12672/// use `client::Regions` and need not be concerned with this trait or
12673/// its implementations.
12674///
12675/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12676/// too. To avoid breaking applications the trait provides a default
12677/// implementation of each method. Most of these implementations just return an
12678/// error.
12679#[cfg(feature = "regions")]
12680#[cfg_attr(docsrs, doc(cfg(feature = "regions")))]
12681pub trait Regions: std::fmt::Debug + Send + Sync {
12682    /// Implements [super::client::Regions::get].
12683    fn get(
12684        &self,
12685        _req: crate::model::regions::GetRequest,
12686        _options: crate::RequestOptions,
12687    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Region>>> + Send
12688    {
12689        gaxi::unimplemented::unimplemented_stub()
12690    }
12691
12692    /// Implements [super::client::Regions::list].
12693    fn list(
12694        &self,
12695        _req: crate::model::regions::ListRequest,
12696        _options: crate::RequestOptions,
12697    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RegionList>>> + Send
12698    {
12699        gaxi::unimplemented::unimplemented_stub()
12700    }
12701}
12702
12703/// Defines the trait used to implement [super::client::ReliabilityRisks].
12704///
12705/// Application developers may need to implement this trait to mock
12706/// `client::ReliabilityRisks`.  In other use-cases, application developers only
12707/// use `client::ReliabilityRisks` and need not be concerned with this trait or
12708/// its implementations.
12709///
12710/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12711/// too. To avoid breaking applications the trait provides a default
12712/// implementation of each method. Most of these implementations just return an
12713/// error.
12714#[cfg(feature = "reliability-risks")]
12715#[cfg_attr(docsrs, doc(cfg(feature = "reliability-risks")))]
12716pub trait ReliabilityRisks: std::fmt::Debug + Send + Sync {
12717    /// Implements [super::client::ReliabilityRisks::get].
12718    fn get(
12719        &self,
12720        _req: crate::model::reliability_risks::GetRequest,
12721        _options: crate::RequestOptions,
12722    ) -> impl std::future::Future<
12723        Output = crate::Result<crate::Response<crate::model::ReliabilityRisk>>,
12724    > + Send {
12725        gaxi::unimplemented::unimplemented_stub()
12726    }
12727
12728    /// Implements [super::client::ReliabilityRisks::list].
12729    fn list(
12730        &self,
12731        _req: crate::model::reliability_risks::ListRequest,
12732        _options: crate::RequestOptions,
12733    ) -> impl std::future::Future<
12734        Output = crate::Result<crate::Response<crate::model::ReliabilityRisksListResponse>>,
12735    > + Send {
12736        gaxi::unimplemented::unimplemented_stub()
12737    }
12738}
12739
12740/// Defines the trait used to implement [super::client::ReservationBlocks].
12741///
12742/// Application developers may need to implement this trait to mock
12743/// `client::ReservationBlocks`.  In other use-cases, application developers only
12744/// use `client::ReservationBlocks` and need not be concerned with this trait or
12745/// its implementations.
12746///
12747/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12748/// too. To avoid breaking applications the trait provides a default
12749/// implementation of each method. Most of these implementations just return an
12750/// error.
12751#[cfg(feature = "reservation-blocks")]
12752#[cfg_attr(docsrs, doc(cfg(feature = "reservation-blocks")))]
12753pub trait ReservationBlocks: std::fmt::Debug + Send + Sync {
12754    /// Implements [super::client::ReservationBlocks::get].
12755    fn get(
12756        &self,
12757        _req: crate::model::reservation_blocks::GetRequest,
12758        _options: crate::RequestOptions,
12759    ) -> impl std::future::Future<
12760        Output = crate::Result<crate::Response<crate::model::ReservationBlocksGetResponse>>,
12761    > + Send {
12762        gaxi::unimplemented::unimplemented_stub()
12763    }
12764
12765    /// Implements [super::client::ReservationBlocks::get_iam_policy].
12766    fn get_iam_policy(
12767        &self,
12768        _req: crate::model::reservation_blocks::GetIamPolicyRequest,
12769        _options: crate::RequestOptions,
12770    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12771    {
12772        gaxi::unimplemented::unimplemented_stub()
12773    }
12774
12775    /// Implements [super::client::ReservationBlocks::list].
12776    fn list(
12777        &self,
12778        _req: crate::model::reservation_blocks::ListRequest,
12779        _options: crate::RequestOptions,
12780    ) -> impl std::future::Future<
12781        Output = crate::Result<crate::Response<crate::model::ReservationBlocksListResponse>>,
12782    > + Send {
12783        gaxi::unimplemented::unimplemented_stub()
12784    }
12785
12786    /// Implements [super::client::ReservationBlocks::perform_maintenance].
12787    fn perform_maintenance(
12788        &self,
12789        _req: crate::model::reservation_blocks::PerformMaintenanceRequest,
12790        _options: crate::RequestOptions,
12791    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12792    {
12793        gaxi::unimplemented::unimplemented_stub()
12794    }
12795
12796    /// Implements [super::client::ReservationBlocks::set_iam_policy].
12797    fn set_iam_policy(
12798        &self,
12799        _req: crate::model::reservation_blocks::SetIamPolicyRequest,
12800        _options: crate::RequestOptions,
12801    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12802    {
12803        gaxi::unimplemented::unimplemented_stub()
12804    }
12805
12806    /// Implements [super::client::ReservationBlocks::test_iam_permissions].
12807    fn test_iam_permissions(
12808        &self,
12809        _req: crate::model::reservation_blocks::TestIamPermissionsRequest,
12810        _options: crate::RequestOptions,
12811    ) -> impl std::future::Future<
12812        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12813    > + Send {
12814        gaxi::unimplemented::unimplemented_stub()
12815    }
12816
12817    /// Implements [super::client::ReservationBlocks::get_operation].
12818    fn get_operation(
12819        &self,
12820        _req: crate::model::zone_operations::GetRequest,
12821        _options: crate::RequestOptions,
12822    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12823    {
12824        gaxi::unimplemented::unimplemented_stub()
12825    }
12826
12827    /// Returns the polling error policy.
12828    ///
12829    /// When mocking, this method is typically irrelevant. Do not try to verify
12830    /// it is called by your mocks.
12831    fn get_polling_error_policy(
12832        &self,
12833        _options: &crate::RequestOptions,
12834    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12835        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12836    }
12837
12838    /// Returns the polling backoff policy.
12839    ///
12840    /// When mocking, this method is typically irrelevant. Do not try to verify
12841    /// it is called by your mocks.
12842    fn get_polling_backoff_policy(
12843        &self,
12844        _options: &crate::RequestOptions,
12845    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12846        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12847    }
12848
12849    #[doc(hidden)]
12850    /// Returns the poller options.
12851    ///
12852    /// When mocking, this method is typically irrelevant. Do not try to verify
12853    /// it is called by your mocks.
12854    fn get_poller_options(
12855        &self,
12856        _options: &crate::RequestOptions,
12857    ) -> google_cloud_lro::PollerOptions {
12858        google_cloud_lro::PollerOptions::default()
12859    }
12860}
12861
12862/// Defines the trait used to implement [super::client::ReservationSlots].
12863///
12864/// Application developers may need to implement this trait to mock
12865/// `client::ReservationSlots`.  In other use-cases, application developers only
12866/// use `client::ReservationSlots` and need not be concerned with this trait or
12867/// its implementations.
12868///
12869/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12870/// too. To avoid breaking applications the trait provides a default
12871/// implementation of each method. Most of these implementations just return an
12872/// error.
12873#[cfg(feature = "reservation-slots")]
12874#[cfg_attr(docsrs, doc(cfg(feature = "reservation-slots")))]
12875pub trait ReservationSlots: std::fmt::Debug + Send + Sync {
12876    /// Implements [super::client::ReservationSlots::get].
12877    fn get(
12878        &self,
12879        _req: crate::model::reservation_slots::GetRequest,
12880        _options: crate::RequestOptions,
12881    ) -> impl std::future::Future<
12882        Output = crate::Result<crate::Response<crate::model::ReservationSlotsGetResponse>>,
12883    > + Send {
12884        gaxi::unimplemented::unimplemented_stub()
12885    }
12886
12887    /// Implements [super::client::ReservationSlots::get_health].
12888    fn get_health(
12889        &self,
12890        _req: crate::model::reservation_slots::GetHealthRequest,
12891        _options: crate::RequestOptions,
12892    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12893    {
12894        gaxi::unimplemented::unimplemented_stub()
12895    }
12896
12897    /// Implements [super::client::ReservationSlots::get_version].
12898    fn get_version(
12899        &self,
12900        _req: crate::model::reservation_slots::GetVersionRequest,
12901        _options: crate::RequestOptions,
12902    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12903    {
12904        gaxi::unimplemented::unimplemented_stub()
12905    }
12906
12907    /// Implements [super::client::ReservationSlots::list].
12908    fn list(
12909        &self,
12910        _req: crate::model::reservation_slots::ListRequest,
12911        _options: crate::RequestOptions,
12912    ) -> impl std::future::Future<
12913        Output = crate::Result<crate::Response<crate::model::ReservationSlotsListResponse>>,
12914    > + Send {
12915        gaxi::unimplemented::unimplemented_stub()
12916    }
12917
12918    /// Implements [super::client::ReservationSlots::update].
12919    fn update(
12920        &self,
12921        _req: crate::model::reservation_slots::UpdateRequest,
12922        _options: crate::RequestOptions,
12923    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12924    {
12925        gaxi::unimplemented::unimplemented_stub()
12926    }
12927
12928    /// Implements [super::client::ReservationSlots::get_operation].
12929    fn get_operation(
12930        &self,
12931        _req: crate::model::zone_operations::GetRequest,
12932        _options: crate::RequestOptions,
12933    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12934    {
12935        gaxi::unimplemented::unimplemented_stub()
12936    }
12937
12938    /// Returns the polling error policy.
12939    ///
12940    /// When mocking, this method is typically irrelevant. Do not try to verify
12941    /// it is called by your mocks.
12942    fn get_polling_error_policy(
12943        &self,
12944        _options: &crate::RequestOptions,
12945    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12946        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12947    }
12948
12949    /// Returns the polling backoff policy.
12950    ///
12951    /// When mocking, this method is typically irrelevant. Do not try to verify
12952    /// it is called by your mocks.
12953    fn get_polling_backoff_policy(
12954        &self,
12955        _options: &crate::RequestOptions,
12956    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12957        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12958    }
12959
12960    #[doc(hidden)]
12961    /// Returns the poller options.
12962    ///
12963    /// When mocking, this method is typically irrelevant. Do not try to verify
12964    /// it is called by your mocks.
12965    fn get_poller_options(
12966        &self,
12967        _options: &crate::RequestOptions,
12968    ) -> google_cloud_lro::PollerOptions {
12969        google_cloud_lro::PollerOptions::default()
12970    }
12971}
12972
12973/// Defines the trait used to implement [super::client::ReservationSubBlocks].
12974///
12975/// Application developers may need to implement this trait to mock
12976/// `client::ReservationSubBlocks`.  In other use-cases, application developers only
12977/// use `client::ReservationSubBlocks` and need not be concerned with this trait or
12978/// its implementations.
12979///
12980/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12981/// too. To avoid breaking applications the trait provides a default
12982/// implementation of each method. Most of these implementations just return an
12983/// error.
12984#[cfg(feature = "reservation-sub-blocks")]
12985#[cfg_attr(docsrs, doc(cfg(feature = "reservation-sub-blocks")))]
12986pub trait ReservationSubBlocks: std::fmt::Debug + Send + Sync {
12987    /// Implements [super::client::ReservationSubBlocks::get].
12988    fn get(
12989        &self,
12990        _req: crate::model::reservation_sub_blocks::GetRequest,
12991        _options: crate::RequestOptions,
12992    ) -> impl std::future::Future<
12993        Output = crate::Result<crate::Response<crate::model::ReservationSubBlocksGetResponse>>,
12994    > + Send {
12995        gaxi::unimplemented::unimplemented_stub()
12996    }
12997
12998    /// Implements [super::client::ReservationSubBlocks::get_iam_policy].
12999    fn get_iam_policy(
13000        &self,
13001        _req: crate::model::reservation_sub_blocks::GetIamPolicyRequest,
13002        _options: crate::RequestOptions,
13003    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13004    {
13005        gaxi::unimplemented::unimplemented_stub()
13006    }
13007
13008    /// Implements [super::client::ReservationSubBlocks::get_version].
13009    fn get_version(
13010        &self,
13011        _req: crate::model::reservation_sub_blocks::GetVersionRequest,
13012        _options: crate::RequestOptions,
13013    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13014    {
13015        gaxi::unimplemented::unimplemented_stub()
13016    }
13017
13018    /// Implements [super::client::ReservationSubBlocks::list].
13019    fn list(
13020        &self,
13021        _req: crate::model::reservation_sub_blocks::ListRequest,
13022        _options: crate::RequestOptions,
13023    ) -> impl std::future::Future<
13024        Output = crate::Result<crate::Response<crate::model::ReservationSubBlocksListResponse>>,
13025    > + Send {
13026        gaxi::unimplemented::unimplemented_stub()
13027    }
13028
13029    /// Implements [super::client::ReservationSubBlocks::perform_maintenance].
13030    fn perform_maintenance(
13031        &self,
13032        _req: crate::model::reservation_sub_blocks::PerformMaintenanceRequest,
13033        _options: crate::RequestOptions,
13034    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13035    {
13036        gaxi::unimplemented::unimplemented_stub()
13037    }
13038
13039    /// Implements [super::client::ReservationSubBlocks::report_faulty].
13040    fn report_faulty(
13041        &self,
13042        _req: crate::model::reservation_sub_blocks::ReportFaultyRequest,
13043        _options: crate::RequestOptions,
13044    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13045    {
13046        gaxi::unimplemented::unimplemented_stub()
13047    }
13048
13049    /// Implements [super::client::ReservationSubBlocks::set_iam_policy].
13050    fn set_iam_policy(
13051        &self,
13052        _req: crate::model::reservation_sub_blocks::SetIamPolicyRequest,
13053        _options: crate::RequestOptions,
13054    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13055    {
13056        gaxi::unimplemented::unimplemented_stub()
13057    }
13058
13059    /// Implements [super::client::ReservationSubBlocks::test_iam_permissions].
13060    fn test_iam_permissions(
13061        &self,
13062        _req: crate::model::reservation_sub_blocks::TestIamPermissionsRequest,
13063        _options: crate::RequestOptions,
13064    ) -> impl std::future::Future<
13065        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13066    > + Send {
13067        gaxi::unimplemented::unimplemented_stub()
13068    }
13069
13070    /// Implements [super::client::ReservationSubBlocks::get_operation].
13071    fn get_operation(
13072        &self,
13073        _req: crate::model::zone_operations::GetRequest,
13074        _options: crate::RequestOptions,
13075    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13076    {
13077        gaxi::unimplemented::unimplemented_stub()
13078    }
13079
13080    /// Returns the polling error policy.
13081    ///
13082    /// When mocking, this method is typically irrelevant. Do not try to verify
13083    /// it is called by your mocks.
13084    fn get_polling_error_policy(
13085        &self,
13086        _options: &crate::RequestOptions,
13087    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13088        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13089    }
13090
13091    /// Returns the polling backoff policy.
13092    ///
13093    /// When mocking, this method is typically irrelevant. Do not try to verify
13094    /// it is called by your mocks.
13095    fn get_polling_backoff_policy(
13096        &self,
13097        _options: &crate::RequestOptions,
13098    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13099        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13100    }
13101
13102    #[doc(hidden)]
13103    /// Returns the poller options.
13104    ///
13105    /// When mocking, this method is typically irrelevant. Do not try to verify
13106    /// it is called by your mocks.
13107    fn get_poller_options(
13108        &self,
13109        _options: &crate::RequestOptions,
13110    ) -> google_cloud_lro::PollerOptions {
13111        google_cloud_lro::PollerOptions::default()
13112    }
13113}
13114
13115/// Defines the trait used to implement [super::client::Reservations].
13116///
13117/// Application developers may need to implement this trait to mock
13118/// `client::Reservations`.  In other use-cases, application developers only
13119/// use `client::Reservations` and need not be concerned with this trait or
13120/// its implementations.
13121///
13122/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13123/// too. To avoid breaking applications the trait provides a default
13124/// implementation of each method. Most of these implementations just return an
13125/// error.
13126#[cfg(feature = "reservations")]
13127#[cfg_attr(docsrs, doc(cfg(feature = "reservations")))]
13128pub trait Reservations: std::fmt::Debug + Send + Sync {
13129    /// Implements [super::client::Reservations::aggregated_list].
13130    fn aggregated_list(
13131        &self,
13132        _req: crate::model::reservations::AggregatedListRequest,
13133        _options: crate::RequestOptions,
13134    ) -> impl std::future::Future<
13135        Output = crate::Result<crate::Response<crate::model::ReservationAggregatedList>>,
13136    > + Send {
13137        gaxi::unimplemented::unimplemented_stub()
13138    }
13139
13140    /// Implements [super::client::Reservations::delete].
13141    fn delete(
13142        &self,
13143        _req: crate::model::reservations::DeleteRequest,
13144        _options: crate::RequestOptions,
13145    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13146    {
13147        gaxi::unimplemented::unimplemented_stub()
13148    }
13149
13150    /// Implements [super::client::Reservations::get].
13151    fn get(
13152        &self,
13153        _req: crate::model::reservations::GetRequest,
13154        _options: crate::RequestOptions,
13155    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Reservation>>>
13156    + Send {
13157        gaxi::unimplemented::unimplemented_stub()
13158    }
13159
13160    /// Implements [super::client::Reservations::get_iam_policy].
13161    fn get_iam_policy(
13162        &self,
13163        _req: crate::model::reservations::GetIamPolicyRequest,
13164        _options: crate::RequestOptions,
13165    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13166    {
13167        gaxi::unimplemented::unimplemented_stub()
13168    }
13169
13170    /// Implements [super::client::Reservations::insert].
13171    fn insert(
13172        &self,
13173        _req: crate::model::reservations::InsertRequest,
13174        _options: crate::RequestOptions,
13175    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13176    {
13177        gaxi::unimplemented::unimplemented_stub()
13178    }
13179
13180    /// Implements [super::client::Reservations::list].
13181    fn list(
13182        &self,
13183        _req: crate::model::reservations::ListRequest,
13184        _options: crate::RequestOptions,
13185    ) -> impl std::future::Future<
13186        Output = crate::Result<crate::Response<crate::model::ReservationList>>,
13187    > + Send {
13188        gaxi::unimplemented::unimplemented_stub()
13189    }
13190
13191    /// Implements [super::client::Reservations::perform_maintenance].
13192    fn perform_maintenance(
13193        &self,
13194        _req: crate::model::reservations::PerformMaintenanceRequest,
13195        _options: crate::RequestOptions,
13196    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13197    {
13198        gaxi::unimplemented::unimplemented_stub()
13199    }
13200
13201    /// Implements [super::client::Reservations::resize].
13202    fn resize(
13203        &self,
13204        _req: crate::model::reservations::ResizeRequest,
13205        _options: crate::RequestOptions,
13206    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13207    {
13208        gaxi::unimplemented::unimplemented_stub()
13209    }
13210
13211    /// Implements [super::client::Reservations::set_iam_policy].
13212    fn set_iam_policy(
13213        &self,
13214        _req: crate::model::reservations::SetIamPolicyRequest,
13215        _options: crate::RequestOptions,
13216    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13217    {
13218        gaxi::unimplemented::unimplemented_stub()
13219    }
13220
13221    /// Implements [super::client::Reservations::test_iam_permissions].
13222    fn test_iam_permissions(
13223        &self,
13224        _req: crate::model::reservations::TestIamPermissionsRequest,
13225        _options: crate::RequestOptions,
13226    ) -> impl std::future::Future<
13227        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13228    > + Send {
13229        gaxi::unimplemented::unimplemented_stub()
13230    }
13231
13232    /// Implements [super::client::Reservations::update].
13233    fn update(
13234        &self,
13235        _req: crate::model::reservations::UpdateRequest,
13236        _options: crate::RequestOptions,
13237    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13238    {
13239        gaxi::unimplemented::unimplemented_stub()
13240    }
13241
13242    /// Implements [super::client::Reservations::get_operation].
13243    fn get_operation(
13244        &self,
13245        _req: crate::model::zone_operations::GetRequest,
13246        _options: crate::RequestOptions,
13247    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13248    {
13249        gaxi::unimplemented::unimplemented_stub()
13250    }
13251
13252    /// Returns the polling error policy.
13253    ///
13254    /// When mocking, this method is typically irrelevant. Do not try to verify
13255    /// it is called by your mocks.
13256    fn get_polling_error_policy(
13257        &self,
13258        _options: &crate::RequestOptions,
13259    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13260        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13261    }
13262
13263    /// Returns the polling backoff policy.
13264    ///
13265    /// When mocking, this method is typically irrelevant. Do not try to verify
13266    /// it is called by your mocks.
13267    fn get_polling_backoff_policy(
13268        &self,
13269        _options: &crate::RequestOptions,
13270    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13271        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13272    }
13273
13274    #[doc(hidden)]
13275    /// Returns the poller options.
13276    ///
13277    /// When mocking, this method is typically irrelevant. Do not try to verify
13278    /// it is called by your mocks.
13279    fn get_poller_options(
13280        &self,
13281        _options: &crate::RequestOptions,
13282    ) -> google_cloud_lro::PollerOptions {
13283        google_cloud_lro::PollerOptions::default()
13284    }
13285}
13286
13287/// Defines the trait used to implement [super::client::ResourcePolicies].
13288///
13289/// Application developers may need to implement this trait to mock
13290/// `client::ResourcePolicies`.  In other use-cases, application developers only
13291/// use `client::ResourcePolicies` and need not be concerned with this trait or
13292/// its implementations.
13293///
13294/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13295/// too. To avoid breaking applications the trait provides a default
13296/// implementation of each method. Most of these implementations just return an
13297/// error.
13298#[cfg(feature = "resource-policies")]
13299#[cfg_attr(docsrs, doc(cfg(feature = "resource-policies")))]
13300pub trait ResourcePolicies: std::fmt::Debug + Send + Sync {
13301    /// Implements [super::client::ResourcePolicies::aggregated_list].
13302    fn aggregated_list(
13303        &self,
13304        _req: crate::model::resource_policies::AggregatedListRequest,
13305        _options: crate::RequestOptions,
13306    ) -> impl std::future::Future<
13307        Output = crate::Result<crate::Response<crate::model::ResourcePolicyAggregatedList>>,
13308    > + Send {
13309        gaxi::unimplemented::unimplemented_stub()
13310    }
13311
13312    /// Implements [super::client::ResourcePolicies::delete].
13313    fn delete(
13314        &self,
13315        _req: crate::model::resource_policies::DeleteRequest,
13316        _options: crate::RequestOptions,
13317    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13318    {
13319        gaxi::unimplemented::unimplemented_stub()
13320    }
13321
13322    /// Implements [super::client::ResourcePolicies::get].
13323    fn get(
13324        &self,
13325        _req: crate::model::resource_policies::GetRequest,
13326        _options: crate::RequestOptions,
13327    ) -> impl std::future::Future<
13328        Output = crate::Result<crate::Response<crate::model::ResourcePolicy>>,
13329    > + Send {
13330        gaxi::unimplemented::unimplemented_stub()
13331    }
13332
13333    /// Implements [super::client::ResourcePolicies::get_iam_policy].
13334    fn get_iam_policy(
13335        &self,
13336        _req: crate::model::resource_policies::GetIamPolicyRequest,
13337        _options: crate::RequestOptions,
13338    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13339    {
13340        gaxi::unimplemented::unimplemented_stub()
13341    }
13342
13343    /// Implements [super::client::ResourcePolicies::insert].
13344    fn insert(
13345        &self,
13346        _req: crate::model::resource_policies::InsertRequest,
13347        _options: crate::RequestOptions,
13348    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13349    {
13350        gaxi::unimplemented::unimplemented_stub()
13351    }
13352
13353    /// Implements [super::client::ResourcePolicies::list].
13354    fn list(
13355        &self,
13356        _req: crate::model::resource_policies::ListRequest,
13357        _options: crate::RequestOptions,
13358    ) -> impl std::future::Future<
13359        Output = crate::Result<crate::Response<crate::model::ResourcePolicyList>>,
13360    > + Send {
13361        gaxi::unimplemented::unimplemented_stub()
13362    }
13363
13364    /// Implements [super::client::ResourcePolicies::patch].
13365    fn patch(
13366        &self,
13367        _req: crate::model::resource_policies::PatchRequest,
13368        _options: crate::RequestOptions,
13369    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13370    {
13371        gaxi::unimplemented::unimplemented_stub()
13372    }
13373
13374    /// Implements [super::client::ResourcePolicies::set_iam_policy].
13375    fn set_iam_policy(
13376        &self,
13377        _req: crate::model::resource_policies::SetIamPolicyRequest,
13378        _options: crate::RequestOptions,
13379    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13380    {
13381        gaxi::unimplemented::unimplemented_stub()
13382    }
13383
13384    /// Implements [super::client::ResourcePolicies::test_iam_permissions].
13385    fn test_iam_permissions(
13386        &self,
13387        _req: crate::model::resource_policies::TestIamPermissionsRequest,
13388        _options: crate::RequestOptions,
13389    ) -> impl std::future::Future<
13390        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13391    > + Send {
13392        gaxi::unimplemented::unimplemented_stub()
13393    }
13394
13395    /// Implements [super::client::ResourcePolicies::get_operation].
13396    fn get_operation(
13397        &self,
13398        _req: crate::model::region_operations::GetRequest,
13399        _options: crate::RequestOptions,
13400    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13401    {
13402        gaxi::unimplemented::unimplemented_stub()
13403    }
13404
13405    /// Returns the polling error policy.
13406    ///
13407    /// When mocking, this method is typically irrelevant. Do not try to verify
13408    /// it is called by your mocks.
13409    fn get_polling_error_policy(
13410        &self,
13411        _options: &crate::RequestOptions,
13412    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13413        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13414    }
13415
13416    /// Returns the polling backoff policy.
13417    ///
13418    /// When mocking, this method is typically irrelevant. Do not try to verify
13419    /// it is called by your mocks.
13420    fn get_polling_backoff_policy(
13421        &self,
13422        _options: &crate::RequestOptions,
13423    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13424        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13425    }
13426
13427    #[doc(hidden)]
13428    /// Returns the poller options.
13429    ///
13430    /// When mocking, this method is typically irrelevant. Do not try to verify
13431    /// it is called by your mocks.
13432    fn get_poller_options(
13433        &self,
13434        _options: &crate::RequestOptions,
13435    ) -> google_cloud_lro::PollerOptions {
13436        google_cloud_lro::PollerOptions::default()
13437    }
13438}
13439
13440/// Defines the trait used to implement [super::client::RolloutPlans].
13441///
13442/// Application developers may need to implement this trait to mock
13443/// `client::RolloutPlans`.  In other use-cases, application developers only
13444/// use `client::RolloutPlans` and need not be concerned with this trait or
13445/// its implementations.
13446///
13447/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13448/// too. To avoid breaking applications the trait provides a default
13449/// implementation of each method. Most of these implementations just return an
13450/// error.
13451#[cfg(feature = "rollout-plans")]
13452#[cfg_attr(docsrs, doc(cfg(feature = "rollout-plans")))]
13453pub trait RolloutPlans: std::fmt::Debug + Send + Sync {
13454    /// Implements [super::client::RolloutPlans::delete].
13455    fn delete(
13456        &self,
13457        _req: crate::model::rollout_plans::DeleteRequest,
13458        _options: crate::RequestOptions,
13459    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13460    {
13461        gaxi::unimplemented::unimplemented_stub()
13462    }
13463
13464    /// Implements [super::client::RolloutPlans::get].
13465    fn get(
13466        &self,
13467        _req: crate::model::rollout_plans::GetRequest,
13468        _options: crate::RequestOptions,
13469    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RolloutPlan>>>
13470    + Send {
13471        gaxi::unimplemented::unimplemented_stub()
13472    }
13473
13474    /// Implements [super::client::RolloutPlans::insert].
13475    fn insert(
13476        &self,
13477        _req: crate::model::rollout_plans::InsertRequest,
13478        _options: crate::RequestOptions,
13479    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13480    {
13481        gaxi::unimplemented::unimplemented_stub()
13482    }
13483
13484    /// Implements [super::client::RolloutPlans::list].
13485    fn list(
13486        &self,
13487        _req: crate::model::rollout_plans::ListRequest,
13488        _options: crate::RequestOptions,
13489    ) -> impl std::future::Future<
13490        Output = crate::Result<crate::Response<crate::model::RolloutPlansListResponse>>,
13491    > + Send {
13492        gaxi::unimplemented::unimplemented_stub()
13493    }
13494
13495    /// Implements [super::client::RolloutPlans::get_operation].
13496    fn get_operation(
13497        &self,
13498        _req: crate::model::global_operations::GetRequest,
13499        _options: crate::RequestOptions,
13500    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13501    {
13502        gaxi::unimplemented::unimplemented_stub()
13503    }
13504
13505    /// Returns the polling error policy.
13506    ///
13507    /// When mocking, this method is typically irrelevant. Do not try to verify
13508    /// it is called by your mocks.
13509    fn get_polling_error_policy(
13510        &self,
13511        _options: &crate::RequestOptions,
13512    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13513        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13514    }
13515
13516    /// Returns the polling backoff policy.
13517    ///
13518    /// When mocking, this method is typically irrelevant. Do not try to verify
13519    /// it is called by your mocks.
13520    fn get_polling_backoff_policy(
13521        &self,
13522        _options: &crate::RequestOptions,
13523    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13524        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13525    }
13526
13527    #[doc(hidden)]
13528    /// Returns the poller options.
13529    ///
13530    /// When mocking, this method is typically irrelevant. Do not try to verify
13531    /// it is called by your mocks.
13532    fn get_poller_options(
13533        &self,
13534        _options: &crate::RequestOptions,
13535    ) -> google_cloud_lro::PollerOptions {
13536        google_cloud_lro::PollerOptions::default()
13537    }
13538}
13539
13540/// Defines the trait used to implement [super::client::Rollouts].
13541///
13542/// Application developers may need to implement this trait to mock
13543/// `client::Rollouts`.  In other use-cases, application developers only
13544/// use `client::Rollouts` and need not be concerned with this trait or
13545/// its implementations.
13546///
13547/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13548/// too. To avoid breaking applications the trait provides a default
13549/// implementation of each method. Most of these implementations just return an
13550/// error.
13551#[cfg(feature = "rollouts")]
13552#[cfg_attr(docsrs, doc(cfg(feature = "rollouts")))]
13553pub trait Rollouts: std::fmt::Debug + Send + Sync {
13554    /// Implements [super::client::Rollouts::advance].
13555    fn advance(
13556        &self,
13557        _req: crate::model::rollouts::AdvanceRequest,
13558        _options: crate::RequestOptions,
13559    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13560    {
13561        gaxi::unimplemented::unimplemented_stub()
13562    }
13563
13564    /// Implements [super::client::Rollouts::cancel].
13565    fn cancel(
13566        &self,
13567        _req: crate::model::rollouts::CancelRequest,
13568        _options: crate::RequestOptions,
13569    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13570    {
13571        gaxi::unimplemented::unimplemented_stub()
13572    }
13573
13574    /// Implements [super::client::Rollouts::delete].
13575    fn delete(
13576        &self,
13577        _req: crate::model::rollouts::DeleteRequest,
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::Rollouts::get].
13585    fn get(
13586        &self,
13587        _req: crate::model::rollouts::GetRequest,
13588        _options: crate::RequestOptions,
13589    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Rollout>>> + Send
13590    {
13591        gaxi::unimplemented::unimplemented_stub()
13592    }
13593
13594    /// Implements [super::client::Rollouts::list].
13595    fn list(
13596        &self,
13597        _req: crate::model::rollouts::ListRequest,
13598        _options: crate::RequestOptions,
13599    ) -> impl std::future::Future<
13600        Output = crate::Result<crate::Response<crate::model::RolloutsListResponse>>,
13601    > + Send {
13602        gaxi::unimplemented::unimplemented_stub()
13603    }
13604
13605    /// Implements [super::client::Rollouts::pause].
13606    fn pause(
13607        &self,
13608        _req: crate::model::rollouts::PauseRequest,
13609        _options: crate::RequestOptions,
13610    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13611    {
13612        gaxi::unimplemented::unimplemented_stub()
13613    }
13614
13615    /// Implements [super::client::Rollouts::resume].
13616    fn resume(
13617        &self,
13618        _req: crate::model::rollouts::ResumeRequest,
13619        _options: crate::RequestOptions,
13620    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13621    {
13622        gaxi::unimplemented::unimplemented_stub()
13623    }
13624
13625    /// Implements [super::client::Rollouts::get_operation].
13626    fn get_operation(
13627        &self,
13628        _req: crate::model::global_operations::GetRequest,
13629        _options: crate::RequestOptions,
13630    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13631    {
13632        gaxi::unimplemented::unimplemented_stub()
13633    }
13634
13635    /// Returns the polling error policy.
13636    ///
13637    /// When mocking, this method is typically irrelevant. Do not try to verify
13638    /// it is called by your mocks.
13639    fn get_polling_error_policy(
13640        &self,
13641        _options: &crate::RequestOptions,
13642    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13643        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13644    }
13645
13646    /// Returns the polling backoff policy.
13647    ///
13648    /// When mocking, this method is typically irrelevant. Do not try to verify
13649    /// it is called by your mocks.
13650    fn get_polling_backoff_policy(
13651        &self,
13652        _options: &crate::RequestOptions,
13653    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13654        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13655    }
13656
13657    #[doc(hidden)]
13658    /// Returns the poller options.
13659    ///
13660    /// When mocking, this method is typically irrelevant. Do not try to verify
13661    /// it is called by your mocks.
13662    fn get_poller_options(
13663        &self,
13664        _options: &crate::RequestOptions,
13665    ) -> google_cloud_lro::PollerOptions {
13666        google_cloud_lro::PollerOptions::default()
13667    }
13668}
13669
13670/// Defines the trait used to implement [super::client::Routers].
13671///
13672/// Application developers may need to implement this trait to mock
13673/// `client::Routers`.  In other use-cases, application developers only
13674/// use `client::Routers` and need not be concerned with this trait or
13675/// its implementations.
13676///
13677/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13678/// too. To avoid breaking applications the trait provides a default
13679/// implementation of each method. Most of these implementations just return an
13680/// error.
13681#[cfg(feature = "routers")]
13682#[cfg_attr(docsrs, doc(cfg(feature = "routers")))]
13683pub trait Routers: std::fmt::Debug + Send + Sync {
13684    /// Implements [super::client::Routers::aggregated_list].
13685    fn aggregated_list(
13686        &self,
13687        _req: crate::model::routers::AggregatedListRequest,
13688        _options: crate::RequestOptions,
13689    ) -> impl std::future::Future<
13690        Output = crate::Result<crate::Response<crate::model::RouterAggregatedList>>,
13691    > + Send {
13692        gaxi::unimplemented::unimplemented_stub()
13693    }
13694
13695    /// Implements [super::client::Routers::delete].
13696    fn delete(
13697        &self,
13698        _req: crate::model::routers::DeleteRequest,
13699        _options: crate::RequestOptions,
13700    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13701    {
13702        gaxi::unimplemented::unimplemented_stub()
13703    }
13704
13705    /// Implements [super::client::Routers::delete_named_set].
13706    fn delete_named_set(
13707        &self,
13708        _req: crate::model::routers::DeleteNamedSetRequest,
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::Routers::delete_route_policy].
13716    fn delete_route_policy(
13717        &self,
13718        _req: crate::model::routers::DeleteRoutePolicyRequest,
13719        _options: crate::RequestOptions,
13720    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13721    {
13722        gaxi::unimplemented::unimplemented_stub()
13723    }
13724
13725    /// Implements [super::client::Routers::get].
13726    fn get(
13727        &self,
13728        _req: crate::model::routers::GetRequest,
13729        _options: crate::RequestOptions,
13730    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Router>>> + Send
13731    {
13732        gaxi::unimplemented::unimplemented_stub()
13733    }
13734
13735    /// Implements [super::client::Routers::get_named_set].
13736    fn get_named_set(
13737        &self,
13738        _req: crate::model::routers::GetNamedSetRequest,
13739        _options: crate::RequestOptions,
13740    ) -> impl std::future::Future<
13741        Output = crate::Result<crate::Response<crate::model::RoutersGetNamedSetResponse>>,
13742    > + Send {
13743        gaxi::unimplemented::unimplemented_stub()
13744    }
13745
13746    /// Implements [super::client::Routers::get_nat_ip_info].
13747    fn get_nat_ip_info(
13748        &self,
13749        _req: crate::model::routers::GetNatIpInfoRequest,
13750        _options: crate::RequestOptions,
13751    ) -> impl std::future::Future<
13752        Output = crate::Result<crate::Response<crate::model::NatIpInfoResponse>>,
13753    > + Send {
13754        gaxi::unimplemented::unimplemented_stub()
13755    }
13756
13757    /// Implements [super::client::Routers::get_nat_mapping_info].
13758    fn get_nat_mapping_info(
13759        &self,
13760        _req: crate::model::routers::GetNatMappingInfoRequest,
13761        _options: crate::RequestOptions,
13762    ) -> impl std::future::Future<
13763        Output = crate::Result<crate::Response<crate::model::VmEndpointNatMappingsList>>,
13764    > + Send {
13765        gaxi::unimplemented::unimplemented_stub()
13766    }
13767
13768    /// Implements [super::client::Routers::get_route_policy].
13769    fn get_route_policy(
13770        &self,
13771        _req: crate::model::routers::GetRoutePolicyRequest,
13772        _options: crate::RequestOptions,
13773    ) -> impl std::future::Future<
13774        Output = crate::Result<crate::Response<crate::model::RoutersGetRoutePolicyResponse>>,
13775    > + Send {
13776        gaxi::unimplemented::unimplemented_stub()
13777    }
13778
13779    /// Implements [super::client::Routers::get_router_status].
13780    fn get_router_status(
13781        &self,
13782        _req: crate::model::routers::GetRouterStatusRequest,
13783        _options: crate::RequestOptions,
13784    ) -> impl std::future::Future<
13785        Output = crate::Result<crate::Response<crate::model::RouterStatusResponse>>,
13786    > + Send {
13787        gaxi::unimplemented::unimplemented_stub()
13788    }
13789
13790    /// Implements [super::client::Routers::insert].
13791    fn insert(
13792        &self,
13793        _req: crate::model::routers::InsertRequest,
13794        _options: crate::RequestOptions,
13795    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13796    {
13797        gaxi::unimplemented::unimplemented_stub()
13798    }
13799
13800    /// Implements [super::client::Routers::list].
13801    fn list(
13802        &self,
13803        _req: crate::model::routers::ListRequest,
13804        _options: crate::RequestOptions,
13805    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RouterList>>> + Send
13806    {
13807        gaxi::unimplemented::unimplemented_stub()
13808    }
13809
13810    /// Implements [super::client::Routers::list_bgp_routes].
13811    fn list_bgp_routes(
13812        &self,
13813        _req: crate::model::routers::ListBgpRoutesRequest,
13814        _options: crate::RequestOptions,
13815    ) -> impl std::future::Future<
13816        Output = crate::Result<crate::Response<crate::model::RoutersListBgpRoutes>>,
13817    > + Send {
13818        gaxi::unimplemented::unimplemented_stub()
13819    }
13820
13821    /// Implements [super::client::Routers::list_named_sets].
13822    fn list_named_sets(
13823        &self,
13824        _req: crate::model::routers::ListNamedSetsRequest,
13825        _options: crate::RequestOptions,
13826    ) -> impl std::future::Future<
13827        Output = crate::Result<crate::Response<crate::model::RoutersListNamedSets>>,
13828    > + Send {
13829        gaxi::unimplemented::unimplemented_stub()
13830    }
13831
13832    /// Implements [super::client::Routers::list_route_policies].
13833    fn list_route_policies(
13834        &self,
13835        _req: crate::model::routers::ListRoutePoliciesRequest,
13836        _options: crate::RequestOptions,
13837    ) -> impl std::future::Future<
13838        Output = crate::Result<crate::Response<crate::model::RoutersListRoutePolicies>>,
13839    > + Send {
13840        gaxi::unimplemented::unimplemented_stub()
13841    }
13842
13843    /// Implements [super::client::Routers::patch].
13844    fn patch(
13845        &self,
13846        _req: crate::model::routers::PatchRequest,
13847        _options: crate::RequestOptions,
13848    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13849    {
13850        gaxi::unimplemented::unimplemented_stub()
13851    }
13852
13853    /// Implements [super::client::Routers::patch_named_set].
13854    fn patch_named_set(
13855        &self,
13856        _req: crate::model::routers::PatchNamedSetRequest,
13857        _options: crate::RequestOptions,
13858    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13859    {
13860        gaxi::unimplemented::unimplemented_stub()
13861    }
13862
13863    /// Implements [super::client::Routers::patch_route_policy].
13864    fn patch_route_policy(
13865        &self,
13866        _req: crate::model::routers::PatchRoutePolicyRequest,
13867        _options: crate::RequestOptions,
13868    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13869    {
13870        gaxi::unimplemented::unimplemented_stub()
13871    }
13872
13873    /// Implements [super::client::Routers::preview].
13874    fn preview(
13875        &self,
13876        _req: crate::model::routers::PreviewRequest,
13877        _options: crate::RequestOptions,
13878    ) -> impl std::future::Future<
13879        Output = crate::Result<crate::Response<crate::model::RoutersPreviewResponse>>,
13880    > + Send {
13881        gaxi::unimplemented::unimplemented_stub()
13882    }
13883
13884    /// Implements [super::client::Routers::update].
13885    fn update(
13886        &self,
13887        _req: crate::model::routers::UpdateRequest,
13888        _options: crate::RequestOptions,
13889    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13890    {
13891        gaxi::unimplemented::unimplemented_stub()
13892    }
13893
13894    /// Implements [super::client::Routers::update_named_set].
13895    fn update_named_set(
13896        &self,
13897        _req: crate::model::routers::UpdateNamedSetRequest,
13898        _options: crate::RequestOptions,
13899    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13900    {
13901        gaxi::unimplemented::unimplemented_stub()
13902    }
13903
13904    /// Implements [super::client::Routers::update_route_policy].
13905    fn update_route_policy(
13906        &self,
13907        _req: crate::model::routers::UpdateRoutePolicyRequest,
13908        _options: crate::RequestOptions,
13909    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13910    {
13911        gaxi::unimplemented::unimplemented_stub()
13912    }
13913
13914    /// Implements [super::client::Routers::get_operation].
13915    fn get_operation(
13916        &self,
13917        _req: crate::model::region_operations::GetRequest,
13918        _options: crate::RequestOptions,
13919    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13920    {
13921        gaxi::unimplemented::unimplemented_stub()
13922    }
13923
13924    /// Returns the polling error policy.
13925    ///
13926    /// When mocking, this method is typically irrelevant. Do not try to verify
13927    /// it is called by your mocks.
13928    fn get_polling_error_policy(
13929        &self,
13930        _options: &crate::RequestOptions,
13931    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13932        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13933    }
13934
13935    /// Returns the polling backoff policy.
13936    ///
13937    /// When mocking, this method is typically irrelevant. Do not try to verify
13938    /// it is called by your mocks.
13939    fn get_polling_backoff_policy(
13940        &self,
13941        _options: &crate::RequestOptions,
13942    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13943        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13944    }
13945
13946    #[doc(hidden)]
13947    /// Returns the poller options.
13948    ///
13949    /// When mocking, this method is typically irrelevant. Do not try to verify
13950    /// it is called by your mocks.
13951    fn get_poller_options(
13952        &self,
13953        _options: &crate::RequestOptions,
13954    ) -> google_cloud_lro::PollerOptions {
13955        google_cloud_lro::PollerOptions::default()
13956    }
13957}
13958
13959/// Defines the trait used to implement [super::client::Routes].
13960///
13961/// Application developers may need to implement this trait to mock
13962/// `client::Routes`.  In other use-cases, application developers only
13963/// use `client::Routes` and need not be concerned with this trait or
13964/// its implementations.
13965///
13966/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13967/// too. To avoid breaking applications the trait provides a default
13968/// implementation of each method. Most of these implementations just return an
13969/// error.
13970#[cfg(feature = "routes")]
13971#[cfg_attr(docsrs, doc(cfg(feature = "routes")))]
13972pub trait Routes: std::fmt::Debug + Send + Sync {
13973    /// Implements [super::client::Routes::delete].
13974    fn delete(
13975        &self,
13976        _req: crate::model::routes::DeleteRequest,
13977        _options: crate::RequestOptions,
13978    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13979    {
13980        gaxi::unimplemented::unimplemented_stub()
13981    }
13982
13983    /// Implements [super::client::Routes::get].
13984    fn get(
13985        &self,
13986        _req: crate::model::routes::GetRequest,
13987        _options: crate::RequestOptions,
13988    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Route>>> + Send
13989    {
13990        gaxi::unimplemented::unimplemented_stub()
13991    }
13992
13993    /// Implements [super::client::Routes::insert].
13994    fn insert(
13995        &self,
13996        _req: crate::model::routes::InsertRequest,
13997        _options: crate::RequestOptions,
13998    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13999    {
14000        gaxi::unimplemented::unimplemented_stub()
14001    }
14002
14003    /// Implements [super::client::Routes::list].
14004    fn list(
14005        &self,
14006        _req: crate::model::routes::ListRequest,
14007        _options: crate::RequestOptions,
14008    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RouteList>>> + Send
14009    {
14010        gaxi::unimplemented::unimplemented_stub()
14011    }
14012
14013    /// Implements [super::client::Routes::test_iam_permissions].
14014    fn test_iam_permissions(
14015        &self,
14016        _req: crate::model::routes::TestIamPermissionsRequest,
14017        _options: crate::RequestOptions,
14018    ) -> impl std::future::Future<
14019        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14020    > + Send {
14021        gaxi::unimplemented::unimplemented_stub()
14022    }
14023
14024    /// Implements [super::client::Routes::get_operation].
14025    fn get_operation(
14026        &self,
14027        _req: crate::model::global_operations::GetRequest,
14028        _options: crate::RequestOptions,
14029    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14030    {
14031        gaxi::unimplemented::unimplemented_stub()
14032    }
14033
14034    /// Returns the polling error policy.
14035    ///
14036    /// When mocking, this method is typically irrelevant. Do not try to verify
14037    /// it is called by your mocks.
14038    fn get_polling_error_policy(
14039        &self,
14040        _options: &crate::RequestOptions,
14041    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14042        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14043    }
14044
14045    /// Returns the polling backoff policy.
14046    ///
14047    /// When mocking, this method is typically irrelevant. Do not try to verify
14048    /// it is called by your mocks.
14049    fn get_polling_backoff_policy(
14050        &self,
14051        _options: &crate::RequestOptions,
14052    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14053        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14054    }
14055
14056    #[doc(hidden)]
14057    /// Returns the poller options.
14058    ///
14059    /// When mocking, this method is typically irrelevant. Do not try to verify
14060    /// it is called by your mocks.
14061    fn get_poller_options(
14062        &self,
14063        _options: &crate::RequestOptions,
14064    ) -> google_cloud_lro::PollerOptions {
14065        google_cloud_lro::PollerOptions::default()
14066    }
14067}
14068
14069/// Defines the trait used to implement [super::client::SecurityPolicies].
14070///
14071/// Application developers may need to implement this trait to mock
14072/// `client::SecurityPolicies`.  In other use-cases, application developers only
14073/// use `client::SecurityPolicies` and need not be concerned with this trait or
14074/// its implementations.
14075///
14076/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14077/// too. To avoid breaking applications the trait provides a default
14078/// implementation of each method. Most of these implementations just return an
14079/// error.
14080#[cfg(feature = "security-policies")]
14081#[cfg_attr(docsrs, doc(cfg(feature = "security-policies")))]
14082pub trait SecurityPolicies: std::fmt::Debug + Send + Sync {
14083    /// Implements [super::client::SecurityPolicies::add_rule].
14084    fn add_rule(
14085        &self,
14086        _req: crate::model::security_policies::AddRuleRequest,
14087        _options: crate::RequestOptions,
14088    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14089    {
14090        gaxi::unimplemented::unimplemented_stub()
14091    }
14092
14093    /// Implements [super::client::SecurityPolicies::aggregated_list].
14094    fn aggregated_list(
14095        &self,
14096        _req: crate::model::security_policies::AggregatedListRequest,
14097        _options: crate::RequestOptions,
14098    ) -> impl std::future::Future<
14099        Output = crate::Result<crate::Response<crate::model::SecurityPoliciesAggregatedList>>,
14100    > + Send {
14101        gaxi::unimplemented::unimplemented_stub()
14102    }
14103
14104    /// Implements [super::client::SecurityPolicies::delete].
14105    fn delete(
14106        &self,
14107        _req: crate::model::security_policies::DeleteRequest,
14108        _options: crate::RequestOptions,
14109    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14110    {
14111        gaxi::unimplemented::unimplemented_stub()
14112    }
14113
14114    /// Implements [super::client::SecurityPolicies::get].
14115    fn get(
14116        &self,
14117        _req: crate::model::security_policies::GetRequest,
14118        _options: crate::RequestOptions,
14119    ) -> impl std::future::Future<
14120        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
14121    > + Send {
14122        gaxi::unimplemented::unimplemented_stub()
14123    }
14124
14125    /// Implements [super::client::SecurityPolicies::get_rule].
14126    fn get_rule(
14127        &self,
14128        _req: crate::model::security_policies::GetRuleRequest,
14129        _options: crate::RequestOptions,
14130    ) -> impl std::future::Future<
14131        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
14132    > + Send {
14133        gaxi::unimplemented::unimplemented_stub()
14134    }
14135
14136    /// Implements [super::client::SecurityPolicies::insert].
14137    fn insert(
14138        &self,
14139        _req: crate::model::security_policies::InsertRequest,
14140        _options: crate::RequestOptions,
14141    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14142    {
14143        gaxi::unimplemented::unimplemented_stub()
14144    }
14145
14146    /// Implements [super::client::SecurityPolicies::list].
14147    fn list(
14148        &self,
14149        _req: crate::model::security_policies::ListRequest,
14150        _options: crate::RequestOptions,
14151    ) -> impl std::future::Future<
14152        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
14153    > + Send {
14154        gaxi::unimplemented::unimplemented_stub()
14155    }
14156
14157    /// Implements [super::client::SecurityPolicies::list_preconfigured_expression_sets].
14158    fn list_preconfigured_expression_sets(
14159        &self,
14160        _req: crate::model::security_policies::ListPreconfiguredExpressionSetsRequest,
14161        _options: crate::RequestOptions,
14162    ) -> impl std::future::Future<
14163        Output = crate::Result<
14164            crate::Response<crate::model::SecurityPoliciesListPreconfiguredExpressionSetsResponse>,
14165        >,
14166    > + Send {
14167        gaxi::unimplemented::unimplemented_stub()
14168    }
14169
14170    /// Implements [super::client::SecurityPolicies::patch].
14171    fn patch(
14172        &self,
14173        _req: crate::model::security_policies::PatchRequest,
14174        _options: crate::RequestOptions,
14175    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14176    {
14177        gaxi::unimplemented::unimplemented_stub()
14178    }
14179
14180    /// Implements [super::client::SecurityPolicies::patch_rule].
14181    fn patch_rule(
14182        &self,
14183        _req: crate::model::security_policies::PatchRuleRequest,
14184        _options: crate::RequestOptions,
14185    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14186    {
14187        gaxi::unimplemented::unimplemented_stub()
14188    }
14189
14190    /// Implements [super::client::SecurityPolicies::remove_rule].
14191    fn remove_rule(
14192        &self,
14193        _req: crate::model::security_policies::RemoveRuleRequest,
14194        _options: crate::RequestOptions,
14195    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14196    {
14197        gaxi::unimplemented::unimplemented_stub()
14198    }
14199
14200    /// Implements [super::client::SecurityPolicies::set_labels].
14201    fn set_labels(
14202        &self,
14203        _req: crate::model::security_policies::SetLabelsRequest,
14204        _options: crate::RequestOptions,
14205    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14206    {
14207        gaxi::unimplemented::unimplemented_stub()
14208    }
14209
14210    /// Implements [super::client::SecurityPolicies::get_operation].
14211    fn get_operation(
14212        &self,
14213        _req: crate::model::global_operations::GetRequest,
14214        _options: crate::RequestOptions,
14215    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14216    {
14217        gaxi::unimplemented::unimplemented_stub()
14218    }
14219
14220    /// Returns the polling error policy.
14221    ///
14222    /// When mocking, this method is typically irrelevant. Do not try to verify
14223    /// it is called by your mocks.
14224    fn get_polling_error_policy(
14225        &self,
14226        _options: &crate::RequestOptions,
14227    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14228        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14229    }
14230
14231    /// Returns the polling backoff policy.
14232    ///
14233    /// When mocking, this method is typically irrelevant. Do not try to verify
14234    /// it is called by your mocks.
14235    fn get_polling_backoff_policy(
14236        &self,
14237        _options: &crate::RequestOptions,
14238    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14239        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14240    }
14241
14242    #[doc(hidden)]
14243    /// Returns the poller options.
14244    ///
14245    /// When mocking, this method is typically irrelevant. Do not try to verify
14246    /// it is called by your mocks.
14247    fn get_poller_options(
14248        &self,
14249        _options: &crate::RequestOptions,
14250    ) -> google_cloud_lro::PollerOptions {
14251        google_cloud_lro::PollerOptions::default()
14252    }
14253}
14254
14255/// Defines the trait used to implement [super::client::ServiceAttachments].
14256///
14257/// Application developers may need to implement this trait to mock
14258/// `client::ServiceAttachments`.  In other use-cases, application developers only
14259/// use `client::ServiceAttachments` and need not be concerned with this trait or
14260/// its implementations.
14261///
14262/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14263/// too. To avoid breaking applications the trait provides a default
14264/// implementation of each method. Most of these implementations just return an
14265/// error.
14266#[cfg(feature = "service-attachments")]
14267#[cfg_attr(docsrs, doc(cfg(feature = "service-attachments")))]
14268pub trait ServiceAttachments: std::fmt::Debug + Send + Sync {
14269    /// Implements [super::client::ServiceAttachments::aggregated_list].
14270    fn aggregated_list(
14271        &self,
14272        _req: crate::model::service_attachments::AggregatedListRequest,
14273        _options: crate::RequestOptions,
14274    ) -> impl std::future::Future<
14275        Output = crate::Result<crate::Response<crate::model::ServiceAttachmentAggregatedList>>,
14276    > + Send {
14277        gaxi::unimplemented::unimplemented_stub()
14278    }
14279
14280    /// Implements [super::client::ServiceAttachments::delete].
14281    fn delete(
14282        &self,
14283        _req: crate::model::service_attachments::DeleteRequest,
14284        _options: crate::RequestOptions,
14285    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14286    {
14287        gaxi::unimplemented::unimplemented_stub()
14288    }
14289
14290    /// Implements [super::client::ServiceAttachments::get].
14291    fn get(
14292        &self,
14293        _req: crate::model::service_attachments::GetRequest,
14294        _options: crate::RequestOptions,
14295    ) -> impl std::future::Future<
14296        Output = crate::Result<crate::Response<crate::model::ServiceAttachment>>,
14297    > + Send {
14298        gaxi::unimplemented::unimplemented_stub()
14299    }
14300
14301    /// Implements [super::client::ServiceAttachments::get_iam_policy].
14302    fn get_iam_policy(
14303        &self,
14304        _req: crate::model::service_attachments::GetIamPolicyRequest,
14305        _options: crate::RequestOptions,
14306    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14307    {
14308        gaxi::unimplemented::unimplemented_stub()
14309    }
14310
14311    /// Implements [super::client::ServiceAttachments::insert].
14312    fn insert(
14313        &self,
14314        _req: crate::model::service_attachments::InsertRequest,
14315        _options: crate::RequestOptions,
14316    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14317    {
14318        gaxi::unimplemented::unimplemented_stub()
14319    }
14320
14321    /// Implements [super::client::ServiceAttachments::list].
14322    fn list(
14323        &self,
14324        _req: crate::model::service_attachments::ListRequest,
14325        _options: crate::RequestOptions,
14326    ) -> impl std::future::Future<
14327        Output = crate::Result<crate::Response<crate::model::ServiceAttachmentList>>,
14328    > + Send {
14329        gaxi::unimplemented::unimplemented_stub()
14330    }
14331
14332    /// Implements [super::client::ServiceAttachments::patch].
14333    fn patch(
14334        &self,
14335        _req: crate::model::service_attachments::PatchRequest,
14336        _options: crate::RequestOptions,
14337    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14338    {
14339        gaxi::unimplemented::unimplemented_stub()
14340    }
14341
14342    /// Implements [super::client::ServiceAttachments::set_iam_policy].
14343    fn set_iam_policy(
14344        &self,
14345        _req: crate::model::service_attachments::SetIamPolicyRequest,
14346        _options: crate::RequestOptions,
14347    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14348    {
14349        gaxi::unimplemented::unimplemented_stub()
14350    }
14351
14352    /// Implements [super::client::ServiceAttachments::test_iam_permissions].
14353    fn test_iam_permissions(
14354        &self,
14355        _req: crate::model::service_attachments::TestIamPermissionsRequest,
14356        _options: crate::RequestOptions,
14357    ) -> impl std::future::Future<
14358        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14359    > + Send {
14360        gaxi::unimplemented::unimplemented_stub()
14361    }
14362
14363    /// Implements [super::client::ServiceAttachments::get_operation].
14364    fn get_operation(
14365        &self,
14366        _req: crate::model::region_operations::GetRequest,
14367        _options: crate::RequestOptions,
14368    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14369    {
14370        gaxi::unimplemented::unimplemented_stub()
14371    }
14372
14373    /// Returns the polling error policy.
14374    ///
14375    /// When mocking, this method is typically irrelevant. Do not try to verify
14376    /// it is called by your mocks.
14377    fn get_polling_error_policy(
14378        &self,
14379        _options: &crate::RequestOptions,
14380    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14381        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14382    }
14383
14384    /// Returns the polling backoff policy.
14385    ///
14386    /// When mocking, this method is typically irrelevant. Do not try to verify
14387    /// it is called by your mocks.
14388    fn get_polling_backoff_policy(
14389        &self,
14390        _options: &crate::RequestOptions,
14391    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14392        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14393    }
14394
14395    #[doc(hidden)]
14396    /// Returns the poller options.
14397    ///
14398    /// When mocking, this method is typically irrelevant. Do not try to verify
14399    /// it is called by your mocks.
14400    fn get_poller_options(
14401        &self,
14402        _options: &crate::RequestOptions,
14403    ) -> google_cloud_lro::PollerOptions {
14404        google_cloud_lro::PollerOptions::default()
14405    }
14406}
14407
14408/// Defines the trait used to implement [super::client::SnapshotSettings].
14409///
14410/// Application developers may need to implement this trait to mock
14411/// `client::SnapshotSettings`.  In other use-cases, application developers only
14412/// use `client::SnapshotSettings` and need not be concerned with this trait or
14413/// its implementations.
14414///
14415/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14416/// too. To avoid breaking applications the trait provides a default
14417/// implementation of each method. Most of these implementations just return an
14418/// error.
14419#[cfg(feature = "snapshot-settings")]
14420#[cfg_attr(docsrs, doc(cfg(feature = "snapshot-settings")))]
14421pub trait SnapshotSettings: std::fmt::Debug + Send + Sync {
14422    /// Implements [super::client::SnapshotSettings::get].
14423    fn get(
14424        &self,
14425        _req: crate::model::snapshot_settings::GetRequest,
14426        _options: crate::RequestOptions,
14427    ) -> impl std::future::Future<
14428        Output = crate::Result<crate::Response<crate::model::SnapshotSettings>>,
14429    > + Send {
14430        gaxi::unimplemented::unimplemented_stub()
14431    }
14432
14433    /// Implements [super::client::SnapshotSettings::patch].
14434    fn patch(
14435        &self,
14436        _req: crate::model::snapshot_settings::PatchRequest,
14437        _options: crate::RequestOptions,
14438    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14439    {
14440        gaxi::unimplemented::unimplemented_stub()
14441    }
14442
14443    /// Implements [super::client::SnapshotSettings::get_operation].
14444    fn get_operation(
14445        &self,
14446        _req: crate::model::global_operations::GetRequest,
14447        _options: crate::RequestOptions,
14448    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14449    {
14450        gaxi::unimplemented::unimplemented_stub()
14451    }
14452
14453    /// Returns the polling error policy.
14454    ///
14455    /// When mocking, this method is typically irrelevant. Do not try to verify
14456    /// it is called by your mocks.
14457    fn get_polling_error_policy(
14458        &self,
14459        _options: &crate::RequestOptions,
14460    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14461        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14462    }
14463
14464    /// Returns the polling backoff policy.
14465    ///
14466    /// When mocking, this method is typically irrelevant. Do not try to verify
14467    /// it is called by your mocks.
14468    fn get_polling_backoff_policy(
14469        &self,
14470        _options: &crate::RequestOptions,
14471    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14472        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14473    }
14474
14475    #[doc(hidden)]
14476    /// Returns the poller options.
14477    ///
14478    /// When mocking, this method is typically irrelevant. Do not try to verify
14479    /// it is called by your mocks.
14480    fn get_poller_options(
14481        &self,
14482        _options: &crate::RequestOptions,
14483    ) -> google_cloud_lro::PollerOptions {
14484        google_cloud_lro::PollerOptions::default()
14485    }
14486}
14487
14488/// Defines the trait used to implement [super::client::Snapshots].
14489///
14490/// Application developers may need to implement this trait to mock
14491/// `client::Snapshots`.  In other use-cases, application developers only
14492/// use `client::Snapshots` and need not be concerned with this trait or
14493/// its implementations.
14494///
14495/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14496/// too. To avoid breaking applications the trait provides a default
14497/// implementation of each method. Most of these implementations just return an
14498/// error.
14499#[cfg(feature = "snapshots")]
14500#[cfg_attr(docsrs, doc(cfg(feature = "snapshots")))]
14501pub trait Snapshots: std::fmt::Debug + Send + Sync {
14502    /// Implements [super::client::Snapshots::delete].
14503    fn delete(
14504        &self,
14505        _req: crate::model::snapshots::DeleteRequest,
14506        _options: crate::RequestOptions,
14507    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14508    {
14509        gaxi::unimplemented::unimplemented_stub()
14510    }
14511
14512    /// Implements [super::client::Snapshots::get].
14513    fn get(
14514        &self,
14515        _req: crate::model::snapshots::GetRequest,
14516        _options: crate::RequestOptions,
14517    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Snapshot>>> + Send
14518    {
14519        gaxi::unimplemented::unimplemented_stub()
14520    }
14521
14522    /// Implements [super::client::Snapshots::get_iam_policy].
14523    fn get_iam_policy(
14524        &self,
14525        _req: crate::model::snapshots::GetIamPolicyRequest,
14526        _options: crate::RequestOptions,
14527    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14528    {
14529        gaxi::unimplemented::unimplemented_stub()
14530    }
14531
14532    /// Implements [super::client::Snapshots::insert].
14533    fn insert(
14534        &self,
14535        _req: crate::model::snapshots::InsertRequest,
14536        _options: crate::RequestOptions,
14537    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14538    {
14539        gaxi::unimplemented::unimplemented_stub()
14540    }
14541
14542    /// Implements [super::client::Snapshots::list].
14543    fn list(
14544        &self,
14545        _req: crate::model::snapshots::ListRequest,
14546        _options: crate::RequestOptions,
14547    ) -> impl std::future::Future<
14548        Output = crate::Result<crate::Response<crate::model::SnapshotList>>,
14549    > + Send {
14550        gaxi::unimplemented::unimplemented_stub()
14551    }
14552
14553    /// Implements [super::client::Snapshots::set_iam_policy].
14554    fn set_iam_policy(
14555        &self,
14556        _req: crate::model::snapshots::SetIamPolicyRequest,
14557        _options: crate::RequestOptions,
14558    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14559    {
14560        gaxi::unimplemented::unimplemented_stub()
14561    }
14562
14563    /// Implements [super::client::Snapshots::set_labels].
14564    fn set_labels(
14565        &self,
14566        _req: crate::model::snapshots::SetLabelsRequest,
14567        _options: crate::RequestOptions,
14568    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14569    {
14570        gaxi::unimplemented::unimplemented_stub()
14571    }
14572
14573    /// Implements [super::client::Snapshots::test_iam_permissions].
14574    fn test_iam_permissions(
14575        &self,
14576        _req: crate::model::snapshots::TestIamPermissionsRequest,
14577        _options: crate::RequestOptions,
14578    ) -> impl std::future::Future<
14579        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14580    > + Send {
14581        gaxi::unimplemented::unimplemented_stub()
14582    }
14583
14584    /// Implements [super::client::Snapshots::update_kms_key].
14585    fn update_kms_key(
14586        &self,
14587        _req: crate::model::snapshots::UpdateKmsKeyRequest,
14588        _options: crate::RequestOptions,
14589    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14590    {
14591        gaxi::unimplemented::unimplemented_stub()
14592    }
14593
14594    /// Implements [super::client::Snapshots::get_operation].
14595    fn get_operation(
14596        &self,
14597        _req: crate::model::global_operations::GetRequest,
14598        _options: crate::RequestOptions,
14599    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14600    {
14601        gaxi::unimplemented::unimplemented_stub()
14602    }
14603
14604    /// Returns the polling error policy.
14605    ///
14606    /// When mocking, this method is typically irrelevant. Do not try to verify
14607    /// it is called by your mocks.
14608    fn get_polling_error_policy(
14609        &self,
14610        _options: &crate::RequestOptions,
14611    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14612        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14613    }
14614
14615    /// Returns the polling backoff policy.
14616    ///
14617    /// When mocking, this method is typically irrelevant. Do not try to verify
14618    /// it is called by your mocks.
14619    fn get_polling_backoff_policy(
14620        &self,
14621        _options: &crate::RequestOptions,
14622    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14623        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14624    }
14625
14626    #[doc(hidden)]
14627    /// Returns the poller options.
14628    ///
14629    /// When mocking, this method is typically irrelevant. Do not try to verify
14630    /// it is called by your mocks.
14631    fn get_poller_options(
14632        &self,
14633        _options: &crate::RequestOptions,
14634    ) -> google_cloud_lro::PollerOptions {
14635        google_cloud_lro::PollerOptions::default()
14636    }
14637}
14638
14639/// Defines the trait used to implement [super::client::SslCertificates].
14640///
14641/// Application developers may need to implement this trait to mock
14642/// `client::SslCertificates`.  In other use-cases, application developers only
14643/// use `client::SslCertificates` and need not be concerned with this trait or
14644/// its implementations.
14645///
14646/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14647/// too. To avoid breaking applications the trait provides a default
14648/// implementation of each method. Most of these implementations just return an
14649/// error.
14650#[cfg(feature = "ssl-certificates")]
14651#[cfg_attr(docsrs, doc(cfg(feature = "ssl-certificates")))]
14652pub trait SslCertificates: std::fmt::Debug + Send + Sync {
14653    /// Implements [super::client::SslCertificates::aggregated_list].
14654    fn aggregated_list(
14655        &self,
14656        _req: crate::model::ssl_certificates::AggregatedListRequest,
14657        _options: crate::RequestOptions,
14658    ) -> impl std::future::Future<
14659        Output = crate::Result<crate::Response<crate::model::SslCertificateAggregatedList>>,
14660    > + Send {
14661        gaxi::unimplemented::unimplemented_stub()
14662    }
14663
14664    /// Implements [super::client::SslCertificates::delete].
14665    fn delete(
14666        &self,
14667        _req: crate::model::ssl_certificates::DeleteRequest,
14668        _options: crate::RequestOptions,
14669    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14670    {
14671        gaxi::unimplemented::unimplemented_stub()
14672    }
14673
14674    /// Implements [super::client::SslCertificates::get].
14675    fn get(
14676        &self,
14677        _req: crate::model::ssl_certificates::GetRequest,
14678        _options: crate::RequestOptions,
14679    ) -> impl std::future::Future<
14680        Output = crate::Result<crate::Response<crate::model::SslCertificate>>,
14681    > + Send {
14682        gaxi::unimplemented::unimplemented_stub()
14683    }
14684
14685    /// Implements [super::client::SslCertificates::insert].
14686    fn insert(
14687        &self,
14688        _req: crate::model::ssl_certificates::InsertRequest,
14689        _options: crate::RequestOptions,
14690    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14691    {
14692        gaxi::unimplemented::unimplemented_stub()
14693    }
14694
14695    /// Implements [super::client::SslCertificates::list].
14696    fn list(
14697        &self,
14698        _req: crate::model::ssl_certificates::ListRequest,
14699        _options: crate::RequestOptions,
14700    ) -> impl std::future::Future<
14701        Output = crate::Result<crate::Response<crate::model::SslCertificateList>>,
14702    > + Send {
14703        gaxi::unimplemented::unimplemented_stub()
14704    }
14705
14706    /// Implements [super::client::SslCertificates::get_operation].
14707    fn get_operation(
14708        &self,
14709        _req: crate::model::global_operations::GetRequest,
14710        _options: crate::RequestOptions,
14711    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14712    {
14713        gaxi::unimplemented::unimplemented_stub()
14714    }
14715
14716    /// Returns the polling error policy.
14717    ///
14718    /// When mocking, this method is typically irrelevant. Do not try to verify
14719    /// it is called by your mocks.
14720    fn get_polling_error_policy(
14721        &self,
14722        _options: &crate::RequestOptions,
14723    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14724        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14725    }
14726
14727    /// Returns the polling backoff policy.
14728    ///
14729    /// When mocking, this method is typically irrelevant. Do not try to verify
14730    /// it is called by your mocks.
14731    fn get_polling_backoff_policy(
14732        &self,
14733        _options: &crate::RequestOptions,
14734    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14735        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14736    }
14737
14738    #[doc(hidden)]
14739    /// Returns the poller options.
14740    ///
14741    /// When mocking, this method is typically irrelevant. Do not try to verify
14742    /// it is called by your mocks.
14743    fn get_poller_options(
14744        &self,
14745        _options: &crate::RequestOptions,
14746    ) -> google_cloud_lro::PollerOptions {
14747        google_cloud_lro::PollerOptions::default()
14748    }
14749}
14750
14751/// Defines the trait used to implement [super::client::SslPolicies].
14752///
14753/// Application developers may need to implement this trait to mock
14754/// `client::SslPolicies`.  In other use-cases, application developers only
14755/// use `client::SslPolicies` and need not be concerned with this trait or
14756/// its implementations.
14757///
14758/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14759/// too. To avoid breaking applications the trait provides a default
14760/// implementation of each method. Most of these implementations just return an
14761/// error.
14762#[cfg(feature = "ssl-policies")]
14763#[cfg_attr(docsrs, doc(cfg(feature = "ssl-policies")))]
14764pub trait SslPolicies: std::fmt::Debug + Send + Sync {
14765    /// Implements [super::client::SslPolicies::aggregated_list].
14766    fn aggregated_list(
14767        &self,
14768        _req: crate::model::ssl_policies::AggregatedListRequest,
14769        _options: crate::RequestOptions,
14770    ) -> impl std::future::Future<
14771        Output = crate::Result<crate::Response<crate::model::SslPoliciesAggregatedList>>,
14772    > + Send {
14773        gaxi::unimplemented::unimplemented_stub()
14774    }
14775
14776    /// Implements [super::client::SslPolicies::delete].
14777    fn delete(
14778        &self,
14779        _req: crate::model::ssl_policies::DeleteRequest,
14780        _options: crate::RequestOptions,
14781    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14782    {
14783        gaxi::unimplemented::unimplemented_stub()
14784    }
14785
14786    /// Implements [super::client::SslPolicies::get].
14787    fn get(
14788        &self,
14789        _req: crate::model::ssl_policies::GetRequest,
14790        _options: crate::RequestOptions,
14791    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::SslPolicy>>> + Send
14792    {
14793        gaxi::unimplemented::unimplemented_stub()
14794    }
14795
14796    /// Implements [super::client::SslPolicies::insert].
14797    fn insert(
14798        &self,
14799        _req: crate::model::ssl_policies::InsertRequest,
14800        _options: crate::RequestOptions,
14801    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14802    {
14803        gaxi::unimplemented::unimplemented_stub()
14804    }
14805
14806    /// Implements [super::client::SslPolicies::list].
14807    fn list(
14808        &self,
14809        _req: crate::model::ssl_policies::ListRequest,
14810        _options: crate::RequestOptions,
14811    ) -> impl std::future::Future<
14812        Output = crate::Result<crate::Response<crate::model::SslPoliciesList>>,
14813    > + Send {
14814        gaxi::unimplemented::unimplemented_stub()
14815    }
14816
14817    /// Implements [super::client::SslPolicies::list_available_features].
14818    fn list_available_features(
14819        &self,
14820        _req: crate::model::ssl_policies::ListAvailableFeaturesRequest,
14821        _options: crate::RequestOptions,
14822    ) -> impl std::future::Future<
14823        Output = crate::Result<
14824            crate::Response<crate::model::SslPoliciesListAvailableFeaturesResponse>,
14825        >,
14826    > + Send {
14827        gaxi::unimplemented::unimplemented_stub()
14828    }
14829
14830    /// Implements [super::client::SslPolicies::patch].
14831    fn patch(
14832        &self,
14833        _req: crate::model::ssl_policies::PatchRequest,
14834        _options: crate::RequestOptions,
14835    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14836    {
14837        gaxi::unimplemented::unimplemented_stub()
14838    }
14839
14840    /// Implements [super::client::SslPolicies::get_operation].
14841    fn get_operation(
14842        &self,
14843        _req: crate::model::global_operations::GetRequest,
14844        _options: crate::RequestOptions,
14845    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14846    {
14847        gaxi::unimplemented::unimplemented_stub()
14848    }
14849
14850    /// Returns the polling error policy.
14851    ///
14852    /// When mocking, this method is typically irrelevant. Do not try to verify
14853    /// it is called by your mocks.
14854    fn get_polling_error_policy(
14855        &self,
14856        _options: &crate::RequestOptions,
14857    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14858        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14859    }
14860
14861    /// Returns the polling backoff policy.
14862    ///
14863    /// When mocking, this method is typically irrelevant. Do not try to verify
14864    /// it is called by your mocks.
14865    fn get_polling_backoff_policy(
14866        &self,
14867        _options: &crate::RequestOptions,
14868    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14869        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14870    }
14871
14872    #[doc(hidden)]
14873    /// Returns the poller options.
14874    ///
14875    /// When mocking, this method is typically irrelevant. Do not try to verify
14876    /// it is called by your mocks.
14877    fn get_poller_options(
14878        &self,
14879        _options: &crate::RequestOptions,
14880    ) -> google_cloud_lro::PollerOptions {
14881        google_cloud_lro::PollerOptions::default()
14882    }
14883}
14884
14885/// Defines the trait used to implement [super::client::StoragePoolTypes].
14886///
14887/// Application developers may need to implement this trait to mock
14888/// `client::StoragePoolTypes`.  In other use-cases, application developers only
14889/// use `client::StoragePoolTypes` and need not be concerned with this trait or
14890/// its implementations.
14891///
14892/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14893/// too. To avoid breaking applications the trait provides a default
14894/// implementation of each method. Most of these implementations just return an
14895/// error.
14896#[cfg(feature = "storage-pool-types")]
14897#[cfg_attr(docsrs, doc(cfg(feature = "storage-pool-types")))]
14898pub trait StoragePoolTypes: std::fmt::Debug + Send + Sync {
14899    /// Implements [super::client::StoragePoolTypes::aggregated_list].
14900    fn aggregated_list(
14901        &self,
14902        _req: crate::model::storage_pool_types::AggregatedListRequest,
14903        _options: crate::RequestOptions,
14904    ) -> impl std::future::Future<
14905        Output = crate::Result<crate::Response<crate::model::StoragePoolTypeAggregatedList>>,
14906    > + Send {
14907        gaxi::unimplemented::unimplemented_stub()
14908    }
14909
14910    /// Implements [super::client::StoragePoolTypes::get].
14911    fn get(
14912        &self,
14913        _req: crate::model::storage_pool_types::GetRequest,
14914        _options: crate::RequestOptions,
14915    ) -> impl std::future::Future<
14916        Output = crate::Result<crate::Response<crate::model::StoragePoolType>>,
14917    > + Send {
14918        gaxi::unimplemented::unimplemented_stub()
14919    }
14920
14921    /// Implements [super::client::StoragePoolTypes::list].
14922    fn list(
14923        &self,
14924        _req: crate::model::storage_pool_types::ListRequest,
14925        _options: crate::RequestOptions,
14926    ) -> impl std::future::Future<
14927        Output = crate::Result<crate::Response<crate::model::StoragePoolTypeList>>,
14928    > + Send {
14929        gaxi::unimplemented::unimplemented_stub()
14930    }
14931}
14932
14933/// Defines the trait used to implement [super::client::StoragePools].
14934///
14935/// Application developers may need to implement this trait to mock
14936/// `client::StoragePools`.  In other use-cases, application developers only
14937/// use `client::StoragePools` and need not be concerned with this trait or
14938/// its implementations.
14939///
14940/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14941/// too. To avoid breaking applications the trait provides a default
14942/// implementation of each method. Most of these implementations just return an
14943/// error.
14944#[cfg(feature = "storage-pools")]
14945#[cfg_attr(docsrs, doc(cfg(feature = "storage-pools")))]
14946pub trait StoragePools: std::fmt::Debug + Send + Sync {
14947    /// Implements [super::client::StoragePools::aggregated_list].
14948    fn aggregated_list(
14949        &self,
14950        _req: crate::model::storage_pools::AggregatedListRequest,
14951        _options: crate::RequestOptions,
14952    ) -> impl std::future::Future<
14953        Output = crate::Result<crate::Response<crate::model::StoragePoolAggregatedList>>,
14954    > + Send {
14955        gaxi::unimplemented::unimplemented_stub()
14956    }
14957
14958    /// Implements [super::client::StoragePools::delete].
14959    fn delete(
14960        &self,
14961        _req: crate::model::storage_pools::DeleteRequest,
14962        _options: crate::RequestOptions,
14963    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14964    {
14965        gaxi::unimplemented::unimplemented_stub()
14966    }
14967
14968    /// Implements [super::client::StoragePools::get].
14969    fn get(
14970        &self,
14971        _req: crate::model::storage_pools::GetRequest,
14972        _options: crate::RequestOptions,
14973    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::StoragePool>>>
14974    + Send {
14975        gaxi::unimplemented::unimplemented_stub()
14976    }
14977
14978    /// Implements [super::client::StoragePools::get_iam_policy].
14979    fn get_iam_policy(
14980        &self,
14981        _req: crate::model::storage_pools::GetIamPolicyRequest,
14982        _options: crate::RequestOptions,
14983    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14984    {
14985        gaxi::unimplemented::unimplemented_stub()
14986    }
14987
14988    /// Implements [super::client::StoragePools::insert].
14989    fn insert(
14990        &self,
14991        _req: crate::model::storage_pools::InsertRequest,
14992        _options: crate::RequestOptions,
14993    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14994    {
14995        gaxi::unimplemented::unimplemented_stub()
14996    }
14997
14998    /// Implements [super::client::StoragePools::list].
14999    fn list(
15000        &self,
15001        _req: crate::model::storage_pools::ListRequest,
15002        _options: crate::RequestOptions,
15003    ) -> impl std::future::Future<
15004        Output = crate::Result<crate::Response<crate::model::StoragePoolList>>,
15005    > + Send {
15006        gaxi::unimplemented::unimplemented_stub()
15007    }
15008
15009    /// Implements [super::client::StoragePools::list_disks].
15010    fn list_disks(
15011        &self,
15012        _req: crate::model::storage_pools::ListDisksRequest,
15013        _options: crate::RequestOptions,
15014    ) -> impl std::future::Future<
15015        Output = crate::Result<crate::Response<crate::model::StoragePoolListDisks>>,
15016    > + Send {
15017        gaxi::unimplemented::unimplemented_stub()
15018    }
15019
15020    /// Implements [super::client::StoragePools::set_iam_policy].
15021    fn set_iam_policy(
15022        &self,
15023        _req: crate::model::storage_pools::SetIamPolicyRequest,
15024        _options: crate::RequestOptions,
15025    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
15026    {
15027        gaxi::unimplemented::unimplemented_stub()
15028    }
15029
15030    /// Implements [super::client::StoragePools::test_iam_permissions].
15031    fn test_iam_permissions(
15032        &self,
15033        _req: crate::model::storage_pools::TestIamPermissionsRequest,
15034        _options: crate::RequestOptions,
15035    ) -> impl std::future::Future<
15036        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
15037    > + Send {
15038        gaxi::unimplemented::unimplemented_stub()
15039    }
15040
15041    /// Implements [super::client::StoragePools::update].
15042    fn update(
15043        &self,
15044        _req: crate::model::storage_pools::UpdateRequest,
15045        _options: crate::RequestOptions,
15046    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15047    {
15048        gaxi::unimplemented::unimplemented_stub()
15049    }
15050
15051    /// Implements [super::client::StoragePools::get_operation].
15052    fn get_operation(
15053        &self,
15054        _req: crate::model::zone_operations::GetRequest,
15055        _options: crate::RequestOptions,
15056    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15057    {
15058        gaxi::unimplemented::unimplemented_stub()
15059    }
15060
15061    /// Returns the polling error policy.
15062    ///
15063    /// When mocking, this method is typically irrelevant. Do not try to verify
15064    /// it is called by your mocks.
15065    fn get_polling_error_policy(
15066        &self,
15067        _options: &crate::RequestOptions,
15068    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15069        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15070    }
15071
15072    /// Returns the polling backoff policy.
15073    ///
15074    /// When mocking, this method is typically irrelevant. Do not try to verify
15075    /// it is called by your mocks.
15076    fn get_polling_backoff_policy(
15077        &self,
15078        _options: &crate::RequestOptions,
15079    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15080        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15081    }
15082
15083    #[doc(hidden)]
15084    /// Returns the poller options.
15085    ///
15086    /// When mocking, this method is typically irrelevant. Do not try to verify
15087    /// it is called by your mocks.
15088    fn get_poller_options(
15089        &self,
15090        _options: &crate::RequestOptions,
15091    ) -> google_cloud_lro::PollerOptions {
15092        google_cloud_lro::PollerOptions::default()
15093    }
15094}
15095
15096/// Defines the trait used to implement [super::client::Subnetworks].
15097///
15098/// Application developers may need to implement this trait to mock
15099/// `client::Subnetworks`.  In other use-cases, application developers only
15100/// use `client::Subnetworks` and need not be concerned with this trait or
15101/// its implementations.
15102///
15103/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15104/// too. To avoid breaking applications the trait provides a default
15105/// implementation of each method. Most of these implementations just return an
15106/// error.
15107#[cfg(feature = "subnetworks")]
15108#[cfg_attr(docsrs, doc(cfg(feature = "subnetworks")))]
15109pub trait Subnetworks: std::fmt::Debug + Send + Sync {
15110    /// Implements [super::client::Subnetworks::aggregated_list].
15111    fn aggregated_list(
15112        &self,
15113        _req: crate::model::subnetworks::AggregatedListRequest,
15114        _options: crate::RequestOptions,
15115    ) -> impl std::future::Future<
15116        Output = crate::Result<crate::Response<crate::model::SubnetworkAggregatedList>>,
15117    > + Send {
15118        gaxi::unimplemented::unimplemented_stub()
15119    }
15120
15121    /// Implements [super::client::Subnetworks::delete].
15122    fn delete(
15123        &self,
15124        _req: crate::model::subnetworks::DeleteRequest,
15125        _options: crate::RequestOptions,
15126    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15127    {
15128        gaxi::unimplemented::unimplemented_stub()
15129    }
15130
15131    /// Implements [super::client::Subnetworks::expand_ip_cidr_range].
15132    fn expand_ip_cidr_range(
15133        &self,
15134        _req: crate::model::subnetworks::ExpandIpCidrRangeRequest,
15135        _options: crate::RequestOptions,
15136    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15137    {
15138        gaxi::unimplemented::unimplemented_stub()
15139    }
15140
15141    /// Implements [super::client::Subnetworks::get].
15142    fn get(
15143        &self,
15144        _req: crate::model::subnetworks::GetRequest,
15145        _options: crate::RequestOptions,
15146    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Subnetwork>>> + Send
15147    {
15148        gaxi::unimplemented::unimplemented_stub()
15149    }
15150
15151    /// Implements [super::client::Subnetworks::get_iam_policy].
15152    fn get_iam_policy(
15153        &self,
15154        _req: crate::model::subnetworks::GetIamPolicyRequest,
15155        _options: crate::RequestOptions,
15156    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
15157    {
15158        gaxi::unimplemented::unimplemented_stub()
15159    }
15160
15161    /// Implements [super::client::Subnetworks::insert].
15162    fn insert(
15163        &self,
15164        _req: crate::model::subnetworks::InsertRequest,
15165        _options: crate::RequestOptions,
15166    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15167    {
15168        gaxi::unimplemented::unimplemented_stub()
15169    }
15170
15171    /// Implements [super::client::Subnetworks::list].
15172    fn list(
15173        &self,
15174        _req: crate::model::subnetworks::ListRequest,
15175        _options: crate::RequestOptions,
15176    ) -> impl std::future::Future<
15177        Output = crate::Result<crate::Response<crate::model::SubnetworkList>>,
15178    > + Send {
15179        gaxi::unimplemented::unimplemented_stub()
15180    }
15181
15182    /// Implements [super::client::Subnetworks::list_usable].
15183    fn list_usable(
15184        &self,
15185        _req: crate::model::subnetworks::ListUsableRequest,
15186        _options: crate::RequestOptions,
15187    ) -> impl std::future::Future<
15188        Output = crate::Result<crate::Response<crate::model::UsableSubnetworksAggregatedList>>,
15189    > + Send {
15190        gaxi::unimplemented::unimplemented_stub()
15191    }
15192
15193    /// Implements [super::client::Subnetworks::patch].
15194    fn patch(
15195        &self,
15196        _req: crate::model::subnetworks::PatchRequest,
15197        _options: crate::RequestOptions,
15198    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15199    {
15200        gaxi::unimplemented::unimplemented_stub()
15201    }
15202
15203    /// Implements [super::client::Subnetworks::set_iam_policy].
15204    fn set_iam_policy(
15205        &self,
15206        _req: crate::model::subnetworks::SetIamPolicyRequest,
15207        _options: crate::RequestOptions,
15208    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
15209    {
15210        gaxi::unimplemented::unimplemented_stub()
15211    }
15212
15213    /// Implements [super::client::Subnetworks::set_private_ip_google_access].
15214    fn set_private_ip_google_access(
15215        &self,
15216        _req: crate::model::subnetworks::SetPrivateIpGoogleAccessRequest,
15217        _options: crate::RequestOptions,
15218    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15219    {
15220        gaxi::unimplemented::unimplemented_stub()
15221    }
15222
15223    /// Implements [super::client::Subnetworks::test_iam_permissions].
15224    fn test_iam_permissions(
15225        &self,
15226        _req: crate::model::subnetworks::TestIamPermissionsRequest,
15227        _options: crate::RequestOptions,
15228    ) -> impl std::future::Future<
15229        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
15230    > + Send {
15231        gaxi::unimplemented::unimplemented_stub()
15232    }
15233
15234    /// Implements [super::client::Subnetworks::get_operation].
15235    fn get_operation(
15236        &self,
15237        _req: crate::model::region_operations::GetRequest,
15238        _options: crate::RequestOptions,
15239    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15240    {
15241        gaxi::unimplemented::unimplemented_stub()
15242    }
15243
15244    /// Returns the polling error policy.
15245    ///
15246    /// When mocking, this method is typically irrelevant. Do not try to verify
15247    /// it is called by your mocks.
15248    fn get_polling_error_policy(
15249        &self,
15250        _options: &crate::RequestOptions,
15251    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15252        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15253    }
15254
15255    /// Returns the polling backoff policy.
15256    ///
15257    /// When mocking, this method is typically irrelevant. Do not try to verify
15258    /// it is called by your mocks.
15259    fn get_polling_backoff_policy(
15260        &self,
15261        _options: &crate::RequestOptions,
15262    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15263        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15264    }
15265
15266    #[doc(hidden)]
15267    /// Returns the poller options.
15268    ///
15269    /// When mocking, this method is typically irrelevant. Do not try to verify
15270    /// it is called by your mocks.
15271    fn get_poller_options(
15272        &self,
15273        _options: &crate::RequestOptions,
15274    ) -> google_cloud_lro::PollerOptions {
15275        google_cloud_lro::PollerOptions::default()
15276    }
15277}
15278
15279/// Defines the trait used to implement [super::client::TargetGrpcProxies].
15280///
15281/// Application developers may need to implement this trait to mock
15282/// `client::TargetGrpcProxies`.  In other use-cases, application developers only
15283/// use `client::TargetGrpcProxies` and need not be concerned with this trait or
15284/// its implementations.
15285///
15286/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15287/// too. To avoid breaking applications the trait provides a default
15288/// implementation of each method. Most of these implementations just return an
15289/// error.
15290#[cfg(feature = "target-grpc-proxies")]
15291#[cfg_attr(docsrs, doc(cfg(feature = "target-grpc-proxies")))]
15292pub trait TargetGrpcProxies: std::fmt::Debug + Send + Sync {
15293    /// Implements [super::client::TargetGrpcProxies::delete].
15294    fn delete(
15295        &self,
15296        _req: crate::model::target_grpc_proxies::DeleteRequest,
15297        _options: crate::RequestOptions,
15298    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15299    {
15300        gaxi::unimplemented::unimplemented_stub()
15301    }
15302
15303    /// Implements [super::client::TargetGrpcProxies::get].
15304    fn get(
15305        &self,
15306        _req: crate::model::target_grpc_proxies::GetRequest,
15307        _options: crate::RequestOptions,
15308    ) -> impl std::future::Future<
15309        Output = crate::Result<crate::Response<crate::model::TargetGrpcProxy>>,
15310    > + Send {
15311        gaxi::unimplemented::unimplemented_stub()
15312    }
15313
15314    /// Implements [super::client::TargetGrpcProxies::insert].
15315    fn insert(
15316        &self,
15317        _req: crate::model::target_grpc_proxies::InsertRequest,
15318        _options: crate::RequestOptions,
15319    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15320    {
15321        gaxi::unimplemented::unimplemented_stub()
15322    }
15323
15324    /// Implements [super::client::TargetGrpcProxies::list].
15325    fn list(
15326        &self,
15327        _req: crate::model::target_grpc_proxies::ListRequest,
15328        _options: crate::RequestOptions,
15329    ) -> impl std::future::Future<
15330        Output = crate::Result<crate::Response<crate::model::TargetGrpcProxyList>>,
15331    > + Send {
15332        gaxi::unimplemented::unimplemented_stub()
15333    }
15334
15335    /// Implements [super::client::TargetGrpcProxies::patch].
15336    fn patch(
15337        &self,
15338        _req: crate::model::target_grpc_proxies::PatchRequest,
15339        _options: crate::RequestOptions,
15340    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15341    {
15342        gaxi::unimplemented::unimplemented_stub()
15343    }
15344
15345    /// Implements [super::client::TargetGrpcProxies::get_operation].
15346    fn get_operation(
15347        &self,
15348        _req: crate::model::global_operations::GetRequest,
15349        _options: crate::RequestOptions,
15350    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15351    {
15352        gaxi::unimplemented::unimplemented_stub()
15353    }
15354
15355    /// Returns the polling error policy.
15356    ///
15357    /// When mocking, this method is typically irrelevant. Do not try to verify
15358    /// it is called by your mocks.
15359    fn get_polling_error_policy(
15360        &self,
15361        _options: &crate::RequestOptions,
15362    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15363        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15364    }
15365
15366    /// Returns the polling backoff policy.
15367    ///
15368    /// When mocking, this method is typically irrelevant. Do not try to verify
15369    /// it is called by your mocks.
15370    fn get_polling_backoff_policy(
15371        &self,
15372        _options: &crate::RequestOptions,
15373    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15374        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15375    }
15376
15377    #[doc(hidden)]
15378    /// Returns the poller options.
15379    ///
15380    /// When mocking, this method is typically irrelevant. Do not try to verify
15381    /// it is called by your mocks.
15382    fn get_poller_options(
15383        &self,
15384        _options: &crate::RequestOptions,
15385    ) -> google_cloud_lro::PollerOptions {
15386        google_cloud_lro::PollerOptions::default()
15387    }
15388}
15389
15390/// Defines the trait used to implement [super::client::TargetHttpProxies].
15391///
15392/// Application developers may need to implement this trait to mock
15393/// `client::TargetHttpProxies`.  In other use-cases, application developers only
15394/// use `client::TargetHttpProxies` and need not be concerned with this trait or
15395/// its implementations.
15396///
15397/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15398/// too. To avoid breaking applications the trait provides a default
15399/// implementation of each method. Most of these implementations just return an
15400/// error.
15401#[cfg(feature = "target-http-proxies")]
15402#[cfg_attr(docsrs, doc(cfg(feature = "target-http-proxies")))]
15403pub trait TargetHttpProxies: std::fmt::Debug + Send + Sync {
15404    /// Implements [super::client::TargetHttpProxies::aggregated_list].
15405    fn aggregated_list(
15406        &self,
15407        _req: crate::model::target_http_proxies::AggregatedListRequest,
15408        _options: crate::RequestOptions,
15409    ) -> impl std::future::Future<
15410        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyAggregatedList>>,
15411    > + Send {
15412        gaxi::unimplemented::unimplemented_stub()
15413    }
15414
15415    /// Implements [super::client::TargetHttpProxies::delete].
15416    fn delete(
15417        &self,
15418        _req: crate::model::target_http_proxies::DeleteRequest,
15419        _options: crate::RequestOptions,
15420    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15421    {
15422        gaxi::unimplemented::unimplemented_stub()
15423    }
15424
15425    /// Implements [super::client::TargetHttpProxies::get].
15426    fn get(
15427        &self,
15428        _req: crate::model::target_http_proxies::GetRequest,
15429        _options: crate::RequestOptions,
15430    ) -> impl std::future::Future<
15431        Output = crate::Result<crate::Response<crate::model::TargetHttpProxy>>,
15432    > + Send {
15433        gaxi::unimplemented::unimplemented_stub()
15434    }
15435
15436    /// Implements [super::client::TargetHttpProxies::insert].
15437    fn insert(
15438        &self,
15439        _req: crate::model::target_http_proxies::InsertRequest,
15440        _options: crate::RequestOptions,
15441    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15442    {
15443        gaxi::unimplemented::unimplemented_stub()
15444    }
15445
15446    /// Implements [super::client::TargetHttpProxies::list].
15447    fn list(
15448        &self,
15449        _req: crate::model::target_http_proxies::ListRequest,
15450        _options: crate::RequestOptions,
15451    ) -> impl std::future::Future<
15452        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyList>>,
15453    > + Send {
15454        gaxi::unimplemented::unimplemented_stub()
15455    }
15456
15457    /// Implements [super::client::TargetHttpProxies::patch].
15458    fn patch(
15459        &self,
15460        _req: crate::model::target_http_proxies::PatchRequest,
15461        _options: crate::RequestOptions,
15462    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15463    {
15464        gaxi::unimplemented::unimplemented_stub()
15465    }
15466
15467    /// Implements [super::client::TargetHttpProxies::set_url_map].
15468    fn set_url_map(
15469        &self,
15470        _req: crate::model::target_http_proxies::SetUrlMapRequest,
15471        _options: crate::RequestOptions,
15472    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15473    {
15474        gaxi::unimplemented::unimplemented_stub()
15475    }
15476
15477    /// Implements [super::client::TargetHttpProxies::get_operation].
15478    fn get_operation(
15479        &self,
15480        _req: crate::model::global_operations::GetRequest,
15481        _options: crate::RequestOptions,
15482    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15483    {
15484        gaxi::unimplemented::unimplemented_stub()
15485    }
15486
15487    /// Returns the polling error policy.
15488    ///
15489    /// When mocking, this method is typically irrelevant. Do not try to verify
15490    /// it is called by your mocks.
15491    fn get_polling_error_policy(
15492        &self,
15493        _options: &crate::RequestOptions,
15494    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15495        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15496    }
15497
15498    /// Returns the polling backoff policy.
15499    ///
15500    /// When mocking, this method is typically irrelevant. Do not try to verify
15501    /// it is called by your mocks.
15502    fn get_polling_backoff_policy(
15503        &self,
15504        _options: &crate::RequestOptions,
15505    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15506        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15507    }
15508
15509    #[doc(hidden)]
15510    /// Returns the poller options.
15511    ///
15512    /// When mocking, this method is typically irrelevant. Do not try to verify
15513    /// it is called by your mocks.
15514    fn get_poller_options(
15515        &self,
15516        _options: &crate::RequestOptions,
15517    ) -> google_cloud_lro::PollerOptions {
15518        google_cloud_lro::PollerOptions::default()
15519    }
15520}
15521
15522/// Defines the trait used to implement [super::client::TargetHttpsProxies].
15523///
15524/// Application developers may need to implement this trait to mock
15525/// `client::TargetHttpsProxies`.  In other use-cases, application developers only
15526/// use `client::TargetHttpsProxies` and need not be concerned with this trait or
15527/// its implementations.
15528///
15529/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15530/// too. To avoid breaking applications the trait provides a default
15531/// implementation of each method. Most of these implementations just return an
15532/// error.
15533#[cfg(feature = "target-https-proxies")]
15534#[cfg_attr(docsrs, doc(cfg(feature = "target-https-proxies")))]
15535pub trait TargetHttpsProxies: std::fmt::Debug + Send + Sync {
15536    /// Implements [super::client::TargetHttpsProxies::aggregated_list].
15537    fn aggregated_list(
15538        &self,
15539        _req: crate::model::target_https_proxies::AggregatedListRequest,
15540        _options: crate::RequestOptions,
15541    ) -> impl std::future::Future<
15542        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyAggregatedList>>,
15543    > + Send {
15544        gaxi::unimplemented::unimplemented_stub()
15545    }
15546
15547    /// Implements [super::client::TargetHttpsProxies::delete].
15548    fn delete(
15549        &self,
15550        _req: crate::model::target_https_proxies::DeleteRequest,
15551        _options: crate::RequestOptions,
15552    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15553    {
15554        gaxi::unimplemented::unimplemented_stub()
15555    }
15556
15557    /// Implements [super::client::TargetHttpsProxies::get].
15558    fn get(
15559        &self,
15560        _req: crate::model::target_https_proxies::GetRequest,
15561        _options: crate::RequestOptions,
15562    ) -> impl std::future::Future<
15563        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxy>>,
15564    > + Send {
15565        gaxi::unimplemented::unimplemented_stub()
15566    }
15567
15568    /// Implements [super::client::TargetHttpsProxies::insert].
15569    fn insert(
15570        &self,
15571        _req: crate::model::target_https_proxies::InsertRequest,
15572        _options: crate::RequestOptions,
15573    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15574    {
15575        gaxi::unimplemented::unimplemented_stub()
15576    }
15577
15578    /// Implements [super::client::TargetHttpsProxies::list].
15579    fn list(
15580        &self,
15581        _req: crate::model::target_https_proxies::ListRequest,
15582        _options: crate::RequestOptions,
15583    ) -> impl std::future::Future<
15584        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyList>>,
15585    > + Send {
15586        gaxi::unimplemented::unimplemented_stub()
15587    }
15588
15589    /// Implements [super::client::TargetHttpsProxies::patch].
15590    fn patch(
15591        &self,
15592        _req: crate::model::target_https_proxies::PatchRequest,
15593        _options: crate::RequestOptions,
15594    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15595    {
15596        gaxi::unimplemented::unimplemented_stub()
15597    }
15598
15599    /// Implements [super::client::TargetHttpsProxies::set_certificate_map].
15600    fn set_certificate_map(
15601        &self,
15602        _req: crate::model::target_https_proxies::SetCertificateMapRequest,
15603        _options: crate::RequestOptions,
15604    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15605    {
15606        gaxi::unimplemented::unimplemented_stub()
15607    }
15608
15609    /// Implements [super::client::TargetHttpsProxies::set_quic_override].
15610    fn set_quic_override(
15611        &self,
15612        _req: crate::model::target_https_proxies::SetQuicOverrideRequest,
15613        _options: crate::RequestOptions,
15614    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15615    {
15616        gaxi::unimplemented::unimplemented_stub()
15617    }
15618
15619    /// Implements [super::client::TargetHttpsProxies::set_ssl_certificates].
15620    fn set_ssl_certificates(
15621        &self,
15622        _req: crate::model::target_https_proxies::SetSslCertificatesRequest,
15623        _options: crate::RequestOptions,
15624    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15625    {
15626        gaxi::unimplemented::unimplemented_stub()
15627    }
15628
15629    /// Implements [super::client::TargetHttpsProxies::set_ssl_policy].
15630    fn set_ssl_policy(
15631        &self,
15632        _req: crate::model::target_https_proxies::SetSslPolicyRequest,
15633        _options: crate::RequestOptions,
15634    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15635    {
15636        gaxi::unimplemented::unimplemented_stub()
15637    }
15638
15639    /// Implements [super::client::TargetHttpsProxies::set_url_map].
15640    fn set_url_map(
15641        &self,
15642        _req: crate::model::target_https_proxies::SetUrlMapRequest,
15643        _options: crate::RequestOptions,
15644    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15645    {
15646        gaxi::unimplemented::unimplemented_stub()
15647    }
15648
15649    /// Implements [super::client::TargetHttpsProxies::get_operation].
15650    fn get_operation(
15651        &self,
15652        _req: crate::model::global_operations::GetRequest,
15653        _options: crate::RequestOptions,
15654    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15655    {
15656        gaxi::unimplemented::unimplemented_stub()
15657    }
15658
15659    /// Returns the polling error policy.
15660    ///
15661    /// When mocking, this method is typically irrelevant. Do not try to verify
15662    /// it is called by your mocks.
15663    fn get_polling_error_policy(
15664        &self,
15665        _options: &crate::RequestOptions,
15666    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15667        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15668    }
15669
15670    /// Returns the polling backoff policy.
15671    ///
15672    /// When mocking, this method is typically irrelevant. Do not try to verify
15673    /// it is called by your mocks.
15674    fn get_polling_backoff_policy(
15675        &self,
15676        _options: &crate::RequestOptions,
15677    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15678        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15679    }
15680
15681    #[doc(hidden)]
15682    /// Returns the poller options.
15683    ///
15684    /// When mocking, this method is typically irrelevant. Do not try to verify
15685    /// it is called by your mocks.
15686    fn get_poller_options(
15687        &self,
15688        _options: &crate::RequestOptions,
15689    ) -> google_cloud_lro::PollerOptions {
15690        google_cloud_lro::PollerOptions::default()
15691    }
15692}
15693
15694/// Defines the trait used to implement [super::client::TargetInstances].
15695///
15696/// Application developers may need to implement this trait to mock
15697/// `client::TargetInstances`.  In other use-cases, application developers only
15698/// use `client::TargetInstances` and need not be concerned with this trait or
15699/// its implementations.
15700///
15701/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15702/// too. To avoid breaking applications the trait provides a default
15703/// implementation of each method. Most of these implementations just return an
15704/// error.
15705#[cfg(feature = "target-instances")]
15706#[cfg_attr(docsrs, doc(cfg(feature = "target-instances")))]
15707pub trait TargetInstances: std::fmt::Debug + Send + Sync {
15708    /// Implements [super::client::TargetInstances::aggregated_list].
15709    fn aggregated_list(
15710        &self,
15711        _req: crate::model::target_instances::AggregatedListRequest,
15712        _options: crate::RequestOptions,
15713    ) -> impl std::future::Future<
15714        Output = crate::Result<crate::Response<crate::model::TargetInstanceAggregatedList>>,
15715    > + Send {
15716        gaxi::unimplemented::unimplemented_stub()
15717    }
15718
15719    /// Implements [super::client::TargetInstances::delete].
15720    fn delete(
15721        &self,
15722        _req: crate::model::target_instances::DeleteRequest,
15723        _options: crate::RequestOptions,
15724    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15725    {
15726        gaxi::unimplemented::unimplemented_stub()
15727    }
15728
15729    /// Implements [super::client::TargetInstances::get].
15730    fn get(
15731        &self,
15732        _req: crate::model::target_instances::GetRequest,
15733        _options: crate::RequestOptions,
15734    ) -> impl std::future::Future<
15735        Output = crate::Result<crate::Response<crate::model::TargetInstance>>,
15736    > + Send {
15737        gaxi::unimplemented::unimplemented_stub()
15738    }
15739
15740    /// Implements [super::client::TargetInstances::insert].
15741    fn insert(
15742        &self,
15743        _req: crate::model::target_instances::InsertRequest,
15744        _options: crate::RequestOptions,
15745    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15746    {
15747        gaxi::unimplemented::unimplemented_stub()
15748    }
15749
15750    /// Implements [super::client::TargetInstances::list].
15751    fn list(
15752        &self,
15753        _req: crate::model::target_instances::ListRequest,
15754        _options: crate::RequestOptions,
15755    ) -> impl std::future::Future<
15756        Output = crate::Result<crate::Response<crate::model::TargetInstanceList>>,
15757    > + Send {
15758        gaxi::unimplemented::unimplemented_stub()
15759    }
15760
15761    /// Implements [super::client::TargetInstances::set_security_policy].
15762    fn set_security_policy(
15763        &self,
15764        _req: crate::model::target_instances::SetSecurityPolicyRequest,
15765        _options: crate::RequestOptions,
15766    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15767    {
15768        gaxi::unimplemented::unimplemented_stub()
15769    }
15770
15771    /// Implements [super::client::TargetInstances::test_iam_permissions].
15772    fn test_iam_permissions(
15773        &self,
15774        _req: crate::model::target_instances::TestIamPermissionsRequest,
15775        _options: crate::RequestOptions,
15776    ) -> impl std::future::Future<
15777        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
15778    > + Send {
15779        gaxi::unimplemented::unimplemented_stub()
15780    }
15781
15782    /// Implements [super::client::TargetInstances::get_operation].
15783    fn get_operation(
15784        &self,
15785        _req: crate::model::zone_operations::GetRequest,
15786        _options: crate::RequestOptions,
15787    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15788    {
15789        gaxi::unimplemented::unimplemented_stub()
15790    }
15791
15792    /// Returns the polling error policy.
15793    ///
15794    /// When mocking, this method is typically irrelevant. Do not try to verify
15795    /// it is called by your mocks.
15796    fn get_polling_error_policy(
15797        &self,
15798        _options: &crate::RequestOptions,
15799    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15800        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15801    }
15802
15803    /// Returns the polling backoff policy.
15804    ///
15805    /// When mocking, this method is typically irrelevant. Do not try to verify
15806    /// it is called by your mocks.
15807    fn get_polling_backoff_policy(
15808        &self,
15809        _options: &crate::RequestOptions,
15810    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15811        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15812    }
15813
15814    #[doc(hidden)]
15815    /// Returns the poller options.
15816    ///
15817    /// When mocking, this method is typically irrelevant. Do not try to verify
15818    /// it is called by your mocks.
15819    fn get_poller_options(
15820        &self,
15821        _options: &crate::RequestOptions,
15822    ) -> google_cloud_lro::PollerOptions {
15823        google_cloud_lro::PollerOptions::default()
15824    }
15825}
15826
15827/// Defines the trait used to implement [super::client::TargetPools].
15828///
15829/// Application developers may need to implement this trait to mock
15830/// `client::TargetPools`.  In other use-cases, application developers only
15831/// use `client::TargetPools` and need not be concerned with this trait or
15832/// its implementations.
15833///
15834/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15835/// too. To avoid breaking applications the trait provides a default
15836/// implementation of each method. Most of these implementations just return an
15837/// error.
15838#[cfg(feature = "target-pools")]
15839#[cfg_attr(docsrs, doc(cfg(feature = "target-pools")))]
15840pub trait TargetPools: std::fmt::Debug + Send + Sync {
15841    /// Implements [super::client::TargetPools::add_health_check].
15842    fn add_health_check(
15843        &self,
15844        _req: crate::model::target_pools::AddHealthCheckRequest,
15845        _options: crate::RequestOptions,
15846    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15847    {
15848        gaxi::unimplemented::unimplemented_stub()
15849    }
15850
15851    /// Implements [super::client::TargetPools::add_instance].
15852    fn add_instance(
15853        &self,
15854        _req: crate::model::target_pools::AddInstanceRequest,
15855        _options: crate::RequestOptions,
15856    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15857    {
15858        gaxi::unimplemented::unimplemented_stub()
15859    }
15860
15861    /// Implements [super::client::TargetPools::aggregated_list].
15862    fn aggregated_list(
15863        &self,
15864        _req: crate::model::target_pools::AggregatedListRequest,
15865        _options: crate::RequestOptions,
15866    ) -> impl std::future::Future<
15867        Output = crate::Result<crate::Response<crate::model::TargetPoolAggregatedList>>,
15868    > + Send {
15869        gaxi::unimplemented::unimplemented_stub()
15870    }
15871
15872    /// Implements [super::client::TargetPools::delete].
15873    fn delete(
15874        &self,
15875        _req: crate::model::target_pools::DeleteRequest,
15876        _options: crate::RequestOptions,
15877    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15878    {
15879        gaxi::unimplemented::unimplemented_stub()
15880    }
15881
15882    /// Implements [super::client::TargetPools::get].
15883    fn get(
15884        &self,
15885        _req: crate::model::target_pools::GetRequest,
15886        _options: crate::RequestOptions,
15887    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::TargetPool>>> + Send
15888    {
15889        gaxi::unimplemented::unimplemented_stub()
15890    }
15891
15892    /// Implements [super::client::TargetPools::get_health].
15893    fn get_health(
15894        &self,
15895        _req: crate::model::target_pools::GetHealthRequest,
15896        _options: crate::RequestOptions,
15897    ) -> impl std::future::Future<
15898        Output = crate::Result<crate::Response<crate::model::TargetPoolInstanceHealth>>,
15899    > + Send {
15900        gaxi::unimplemented::unimplemented_stub()
15901    }
15902
15903    /// Implements [super::client::TargetPools::insert].
15904    fn insert(
15905        &self,
15906        _req: crate::model::target_pools::InsertRequest,
15907        _options: crate::RequestOptions,
15908    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15909    {
15910        gaxi::unimplemented::unimplemented_stub()
15911    }
15912
15913    /// Implements [super::client::TargetPools::list].
15914    fn list(
15915        &self,
15916        _req: crate::model::target_pools::ListRequest,
15917        _options: crate::RequestOptions,
15918    ) -> impl std::future::Future<
15919        Output = crate::Result<crate::Response<crate::model::TargetPoolList>>,
15920    > + Send {
15921        gaxi::unimplemented::unimplemented_stub()
15922    }
15923
15924    /// Implements [super::client::TargetPools::remove_health_check].
15925    fn remove_health_check(
15926        &self,
15927        _req: crate::model::target_pools::RemoveHealthCheckRequest,
15928        _options: crate::RequestOptions,
15929    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15930    {
15931        gaxi::unimplemented::unimplemented_stub()
15932    }
15933
15934    /// Implements [super::client::TargetPools::remove_instance].
15935    fn remove_instance(
15936        &self,
15937        _req: crate::model::target_pools::RemoveInstanceRequest,
15938        _options: crate::RequestOptions,
15939    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15940    {
15941        gaxi::unimplemented::unimplemented_stub()
15942    }
15943
15944    /// Implements [super::client::TargetPools::set_backup].
15945    fn set_backup(
15946        &self,
15947        _req: crate::model::target_pools::SetBackupRequest,
15948        _options: crate::RequestOptions,
15949    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15950    {
15951        gaxi::unimplemented::unimplemented_stub()
15952    }
15953
15954    /// Implements [super::client::TargetPools::set_security_policy].
15955    fn set_security_policy(
15956        &self,
15957        _req: crate::model::target_pools::SetSecurityPolicyRequest,
15958        _options: crate::RequestOptions,
15959    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15960    {
15961        gaxi::unimplemented::unimplemented_stub()
15962    }
15963
15964    /// Implements [super::client::TargetPools::test_iam_permissions].
15965    fn test_iam_permissions(
15966        &self,
15967        _req: crate::model::target_pools::TestIamPermissionsRequest,
15968        _options: crate::RequestOptions,
15969    ) -> impl std::future::Future<
15970        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
15971    > + Send {
15972        gaxi::unimplemented::unimplemented_stub()
15973    }
15974
15975    /// Implements [super::client::TargetPools::get_operation].
15976    fn get_operation(
15977        &self,
15978        _req: crate::model::region_operations::GetRequest,
15979        _options: crate::RequestOptions,
15980    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15981    {
15982        gaxi::unimplemented::unimplemented_stub()
15983    }
15984
15985    /// Returns the polling error policy.
15986    ///
15987    /// When mocking, this method is typically irrelevant. Do not try to verify
15988    /// it is called by your mocks.
15989    fn get_polling_error_policy(
15990        &self,
15991        _options: &crate::RequestOptions,
15992    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15993        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15994    }
15995
15996    /// Returns the polling backoff policy.
15997    ///
15998    /// When mocking, this method is typically irrelevant. Do not try to verify
15999    /// it is called by your mocks.
16000    fn get_polling_backoff_policy(
16001        &self,
16002        _options: &crate::RequestOptions,
16003    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16004        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16005    }
16006
16007    #[doc(hidden)]
16008    /// Returns the poller options.
16009    ///
16010    /// When mocking, this method is typically irrelevant. Do not try to verify
16011    /// it is called by your mocks.
16012    fn get_poller_options(
16013        &self,
16014        _options: &crate::RequestOptions,
16015    ) -> google_cloud_lro::PollerOptions {
16016        google_cloud_lro::PollerOptions::default()
16017    }
16018}
16019
16020/// Defines the trait used to implement [super::client::TargetSslProxies].
16021///
16022/// Application developers may need to implement this trait to mock
16023/// `client::TargetSslProxies`.  In other use-cases, application developers only
16024/// use `client::TargetSslProxies` and need not be concerned with this trait or
16025/// its implementations.
16026///
16027/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16028/// too. To avoid breaking applications the trait provides a default
16029/// implementation of each method. Most of these implementations just return an
16030/// error.
16031#[cfg(feature = "target-ssl-proxies")]
16032#[cfg_attr(docsrs, doc(cfg(feature = "target-ssl-proxies")))]
16033pub trait TargetSslProxies: std::fmt::Debug + Send + Sync {
16034    /// Implements [super::client::TargetSslProxies::delete].
16035    fn delete(
16036        &self,
16037        _req: crate::model::target_ssl_proxies::DeleteRequest,
16038        _options: crate::RequestOptions,
16039    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16040    {
16041        gaxi::unimplemented::unimplemented_stub()
16042    }
16043
16044    /// Implements [super::client::TargetSslProxies::get].
16045    fn get(
16046        &self,
16047        _req: crate::model::target_ssl_proxies::GetRequest,
16048        _options: crate::RequestOptions,
16049    ) -> impl std::future::Future<
16050        Output = crate::Result<crate::Response<crate::model::TargetSslProxy>>,
16051    > + Send {
16052        gaxi::unimplemented::unimplemented_stub()
16053    }
16054
16055    /// Implements [super::client::TargetSslProxies::insert].
16056    fn insert(
16057        &self,
16058        _req: crate::model::target_ssl_proxies::InsertRequest,
16059        _options: crate::RequestOptions,
16060    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16061    {
16062        gaxi::unimplemented::unimplemented_stub()
16063    }
16064
16065    /// Implements [super::client::TargetSslProxies::list].
16066    fn list(
16067        &self,
16068        _req: crate::model::target_ssl_proxies::ListRequest,
16069        _options: crate::RequestOptions,
16070    ) -> impl std::future::Future<
16071        Output = crate::Result<crate::Response<crate::model::TargetSslProxyList>>,
16072    > + Send {
16073        gaxi::unimplemented::unimplemented_stub()
16074    }
16075
16076    /// Implements [super::client::TargetSslProxies::set_backend_service].
16077    fn set_backend_service(
16078        &self,
16079        _req: crate::model::target_ssl_proxies::SetBackendServiceRequest,
16080        _options: crate::RequestOptions,
16081    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16082    {
16083        gaxi::unimplemented::unimplemented_stub()
16084    }
16085
16086    /// Implements [super::client::TargetSslProxies::set_certificate_map].
16087    fn set_certificate_map(
16088        &self,
16089        _req: crate::model::target_ssl_proxies::SetCertificateMapRequest,
16090        _options: crate::RequestOptions,
16091    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16092    {
16093        gaxi::unimplemented::unimplemented_stub()
16094    }
16095
16096    /// Implements [super::client::TargetSslProxies::set_proxy_header].
16097    fn set_proxy_header(
16098        &self,
16099        _req: crate::model::target_ssl_proxies::SetProxyHeaderRequest,
16100        _options: crate::RequestOptions,
16101    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16102    {
16103        gaxi::unimplemented::unimplemented_stub()
16104    }
16105
16106    /// Implements [super::client::TargetSslProxies::set_ssl_certificates].
16107    fn set_ssl_certificates(
16108        &self,
16109        _req: crate::model::target_ssl_proxies::SetSslCertificatesRequest,
16110        _options: crate::RequestOptions,
16111    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16112    {
16113        gaxi::unimplemented::unimplemented_stub()
16114    }
16115
16116    /// Implements [super::client::TargetSslProxies::set_ssl_policy].
16117    fn set_ssl_policy(
16118        &self,
16119        _req: crate::model::target_ssl_proxies::SetSslPolicyRequest,
16120        _options: crate::RequestOptions,
16121    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16122    {
16123        gaxi::unimplemented::unimplemented_stub()
16124    }
16125
16126    /// Implements [super::client::TargetSslProxies::test_iam_permissions].
16127    fn test_iam_permissions(
16128        &self,
16129        _req: crate::model::target_ssl_proxies::TestIamPermissionsRequest,
16130        _options: crate::RequestOptions,
16131    ) -> impl std::future::Future<
16132        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
16133    > + Send {
16134        gaxi::unimplemented::unimplemented_stub()
16135    }
16136
16137    /// Implements [super::client::TargetSslProxies::get_operation].
16138    fn get_operation(
16139        &self,
16140        _req: crate::model::global_operations::GetRequest,
16141        _options: crate::RequestOptions,
16142    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16143    {
16144        gaxi::unimplemented::unimplemented_stub()
16145    }
16146
16147    /// Returns the polling error policy.
16148    ///
16149    /// When mocking, this method is typically irrelevant. Do not try to verify
16150    /// it is called by your mocks.
16151    fn get_polling_error_policy(
16152        &self,
16153        _options: &crate::RequestOptions,
16154    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16155        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16156    }
16157
16158    /// Returns the polling backoff policy.
16159    ///
16160    /// When mocking, this method is typically irrelevant. Do not try to verify
16161    /// it is called by your mocks.
16162    fn get_polling_backoff_policy(
16163        &self,
16164        _options: &crate::RequestOptions,
16165    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16166        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16167    }
16168
16169    #[doc(hidden)]
16170    /// Returns the poller options.
16171    ///
16172    /// When mocking, this method is typically irrelevant. Do not try to verify
16173    /// it is called by your mocks.
16174    fn get_poller_options(
16175        &self,
16176        _options: &crate::RequestOptions,
16177    ) -> google_cloud_lro::PollerOptions {
16178        google_cloud_lro::PollerOptions::default()
16179    }
16180}
16181
16182/// Defines the trait used to implement [super::client::TargetTcpProxies].
16183///
16184/// Application developers may need to implement this trait to mock
16185/// `client::TargetTcpProxies`.  In other use-cases, application developers only
16186/// use `client::TargetTcpProxies` and need not be concerned with this trait or
16187/// its implementations.
16188///
16189/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16190/// too. To avoid breaking applications the trait provides a default
16191/// implementation of each method. Most of these implementations just return an
16192/// error.
16193#[cfg(feature = "target-tcp-proxies")]
16194#[cfg_attr(docsrs, doc(cfg(feature = "target-tcp-proxies")))]
16195pub trait TargetTcpProxies: std::fmt::Debug + Send + Sync {
16196    /// Implements [super::client::TargetTcpProxies::aggregated_list].
16197    fn aggregated_list(
16198        &self,
16199        _req: crate::model::target_tcp_proxies::AggregatedListRequest,
16200        _options: crate::RequestOptions,
16201    ) -> impl std::future::Future<
16202        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyAggregatedList>>,
16203    > + Send {
16204        gaxi::unimplemented::unimplemented_stub()
16205    }
16206
16207    /// Implements [super::client::TargetTcpProxies::delete].
16208    fn delete(
16209        &self,
16210        _req: crate::model::target_tcp_proxies::DeleteRequest,
16211        _options: crate::RequestOptions,
16212    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16213    {
16214        gaxi::unimplemented::unimplemented_stub()
16215    }
16216
16217    /// Implements [super::client::TargetTcpProxies::get].
16218    fn get(
16219        &self,
16220        _req: crate::model::target_tcp_proxies::GetRequest,
16221        _options: crate::RequestOptions,
16222    ) -> impl std::future::Future<
16223        Output = crate::Result<crate::Response<crate::model::TargetTcpProxy>>,
16224    > + Send {
16225        gaxi::unimplemented::unimplemented_stub()
16226    }
16227
16228    /// Implements [super::client::TargetTcpProxies::insert].
16229    fn insert(
16230        &self,
16231        _req: crate::model::target_tcp_proxies::InsertRequest,
16232        _options: crate::RequestOptions,
16233    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16234    {
16235        gaxi::unimplemented::unimplemented_stub()
16236    }
16237
16238    /// Implements [super::client::TargetTcpProxies::list].
16239    fn list(
16240        &self,
16241        _req: crate::model::target_tcp_proxies::ListRequest,
16242        _options: crate::RequestOptions,
16243    ) -> impl std::future::Future<
16244        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyList>>,
16245    > + Send {
16246        gaxi::unimplemented::unimplemented_stub()
16247    }
16248
16249    /// Implements [super::client::TargetTcpProxies::set_backend_service].
16250    fn set_backend_service(
16251        &self,
16252        _req: crate::model::target_tcp_proxies::SetBackendServiceRequest,
16253        _options: crate::RequestOptions,
16254    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16255    {
16256        gaxi::unimplemented::unimplemented_stub()
16257    }
16258
16259    /// Implements [super::client::TargetTcpProxies::set_proxy_header].
16260    fn set_proxy_header(
16261        &self,
16262        _req: crate::model::target_tcp_proxies::SetProxyHeaderRequest,
16263        _options: crate::RequestOptions,
16264    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16265    {
16266        gaxi::unimplemented::unimplemented_stub()
16267    }
16268
16269    /// Implements [super::client::TargetTcpProxies::test_iam_permissions].
16270    fn test_iam_permissions(
16271        &self,
16272        _req: crate::model::target_tcp_proxies::TestIamPermissionsRequest,
16273        _options: crate::RequestOptions,
16274    ) -> impl std::future::Future<
16275        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
16276    > + Send {
16277        gaxi::unimplemented::unimplemented_stub()
16278    }
16279
16280    /// Implements [super::client::TargetTcpProxies::get_operation].
16281    fn get_operation(
16282        &self,
16283        _req: crate::model::global_operations::GetRequest,
16284        _options: crate::RequestOptions,
16285    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16286    {
16287        gaxi::unimplemented::unimplemented_stub()
16288    }
16289
16290    /// Returns the polling error policy.
16291    ///
16292    /// When mocking, this method is typically irrelevant. Do not try to verify
16293    /// it is called by your mocks.
16294    fn get_polling_error_policy(
16295        &self,
16296        _options: &crate::RequestOptions,
16297    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16298        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16299    }
16300
16301    /// Returns the polling backoff policy.
16302    ///
16303    /// When mocking, this method is typically irrelevant. Do not try to verify
16304    /// it is called by your mocks.
16305    fn get_polling_backoff_policy(
16306        &self,
16307        _options: &crate::RequestOptions,
16308    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16309        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16310    }
16311
16312    #[doc(hidden)]
16313    /// Returns the poller options.
16314    ///
16315    /// When mocking, this method is typically irrelevant. Do not try to verify
16316    /// it is called by your mocks.
16317    fn get_poller_options(
16318        &self,
16319        _options: &crate::RequestOptions,
16320    ) -> google_cloud_lro::PollerOptions {
16321        google_cloud_lro::PollerOptions::default()
16322    }
16323}
16324
16325/// Defines the trait used to implement [super::client::TargetVpnGateways].
16326///
16327/// Application developers may need to implement this trait to mock
16328/// `client::TargetVpnGateways`.  In other use-cases, application developers only
16329/// use `client::TargetVpnGateways` and need not be concerned with this trait or
16330/// its implementations.
16331///
16332/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16333/// too. To avoid breaking applications the trait provides a default
16334/// implementation of each method. Most of these implementations just return an
16335/// error.
16336#[cfg(feature = "target-vpn-gateways")]
16337#[cfg_attr(docsrs, doc(cfg(feature = "target-vpn-gateways")))]
16338pub trait TargetVpnGateways: std::fmt::Debug + Send + Sync {
16339    /// Implements [super::client::TargetVpnGateways::aggregated_list].
16340    fn aggregated_list(
16341        &self,
16342        _req: crate::model::target_vpn_gateways::AggregatedListRequest,
16343        _options: crate::RequestOptions,
16344    ) -> impl std::future::Future<
16345        Output = crate::Result<crate::Response<crate::model::TargetVpnGatewayAggregatedList>>,
16346    > + Send {
16347        gaxi::unimplemented::unimplemented_stub()
16348    }
16349
16350    /// Implements [super::client::TargetVpnGateways::delete].
16351    fn delete(
16352        &self,
16353        _req: crate::model::target_vpn_gateways::DeleteRequest,
16354        _options: crate::RequestOptions,
16355    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16356    {
16357        gaxi::unimplemented::unimplemented_stub()
16358    }
16359
16360    /// Implements [super::client::TargetVpnGateways::get].
16361    fn get(
16362        &self,
16363        _req: crate::model::target_vpn_gateways::GetRequest,
16364        _options: crate::RequestOptions,
16365    ) -> impl std::future::Future<
16366        Output = crate::Result<crate::Response<crate::model::TargetVpnGateway>>,
16367    > + Send {
16368        gaxi::unimplemented::unimplemented_stub()
16369    }
16370
16371    /// Implements [super::client::TargetVpnGateways::insert].
16372    fn insert(
16373        &self,
16374        _req: crate::model::target_vpn_gateways::InsertRequest,
16375        _options: crate::RequestOptions,
16376    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16377    {
16378        gaxi::unimplemented::unimplemented_stub()
16379    }
16380
16381    /// Implements [super::client::TargetVpnGateways::list].
16382    fn list(
16383        &self,
16384        _req: crate::model::target_vpn_gateways::ListRequest,
16385        _options: crate::RequestOptions,
16386    ) -> impl std::future::Future<
16387        Output = crate::Result<crate::Response<crate::model::TargetVpnGatewayList>>,
16388    > + Send {
16389        gaxi::unimplemented::unimplemented_stub()
16390    }
16391
16392    /// Implements [super::client::TargetVpnGateways::set_labels].
16393    fn set_labels(
16394        &self,
16395        _req: crate::model::target_vpn_gateways::SetLabelsRequest,
16396        _options: crate::RequestOptions,
16397    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16398    {
16399        gaxi::unimplemented::unimplemented_stub()
16400    }
16401
16402    /// Implements [super::client::TargetVpnGateways::get_operation].
16403    fn get_operation(
16404        &self,
16405        _req: crate::model::region_operations::GetRequest,
16406        _options: crate::RequestOptions,
16407    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16408    {
16409        gaxi::unimplemented::unimplemented_stub()
16410    }
16411
16412    /// Returns the polling error policy.
16413    ///
16414    /// When mocking, this method is typically irrelevant. Do not try to verify
16415    /// it is called by your mocks.
16416    fn get_polling_error_policy(
16417        &self,
16418        _options: &crate::RequestOptions,
16419    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16420        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16421    }
16422
16423    /// Returns the polling backoff policy.
16424    ///
16425    /// When mocking, this method is typically irrelevant. Do not try to verify
16426    /// it is called by your mocks.
16427    fn get_polling_backoff_policy(
16428        &self,
16429        _options: &crate::RequestOptions,
16430    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16431        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16432    }
16433
16434    #[doc(hidden)]
16435    /// Returns the poller options.
16436    ///
16437    /// When mocking, this method is typically irrelevant. Do not try to verify
16438    /// it is called by your mocks.
16439    fn get_poller_options(
16440        &self,
16441        _options: &crate::RequestOptions,
16442    ) -> google_cloud_lro::PollerOptions {
16443        google_cloud_lro::PollerOptions::default()
16444    }
16445}
16446
16447/// Defines the trait used to implement [super::client::UrlMaps].
16448///
16449/// Application developers may need to implement this trait to mock
16450/// `client::UrlMaps`.  In other use-cases, application developers only
16451/// use `client::UrlMaps` and need not be concerned with this trait or
16452/// its implementations.
16453///
16454/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16455/// too. To avoid breaking applications the trait provides a default
16456/// implementation of each method. Most of these implementations just return an
16457/// error.
16458#[cfg(feature = "url-maps")]
16459#[cfg_attr(docsrs, doc(cfg(feature = "url-maps")))]
16460pub trait UrlMaps: std::fmt::Debug + Send + Sync {
16461    /// Implements [super::client::UrlMaps::aggregated_list].
16462    fn aggregated_list(
16463        &self,
16464        _req: crate::model::url_maps::AggregatedListRequest,
16465        _options: crate::RequestOptions,
16466    ) -> impl std::future::Future<
16467        Output = crate::Result<crate::Response<crate::model::UrlMapsAggregatedList>>,
16468    > + Send {
16469        gaxi::unimplemented::unimplemented_stub()
16470    }
16471
16472    /// Implements [super::client::UrlMaps::delete].
16473    fn delete(
16474        &self,
16475        _req: crate::model::url_maps::DeleteRequest,
16476        _options: crate::RequestOptions,
16477    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16478    {
16479        gaxi::unimplemented::unimplemented_stub()
16480    }
16481
16482    /// Implements [super::client::UrlMaps::get].
16483    fn get(
16484        &self,
16485        _req: crate::model::url_maps::GetRequest,
16486        _options: crate::RequestOptions,
16487    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMap>>> + Send
16488    {
16489        gaxi::unimplemented::unimplemented_stub()
16490    }
16491
16492    /// Implements [super::client::UrlMaps::insert].
16493    fn insert(
16494        &self,
16495        _req: crate::model::url_maps::InsertRequest,
16496        _options: crate::RequestOptions,
16497    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16498    {
16499        gaxi::unimplemented::unimplemented_stub()
16500    }
16501
16502    /// Implements [super::client::UrlMaps::invalidate_cache].
16503    fn invalidate_cache(
16504        &self,
16505        _req: crate::model::url_maps::InvalidateCacheRequest,
16506        _options: crate::RequestOptions,
16507    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16508    {
16509        gaxi::unimplemented::unimplemented_stub()
16510    }
16511
16512    /// Implements [super::client::UrlMaps::list].
16513    fn list(
16514        &self,
16515        _req: crate::model::url_maps::ListRequest,
16516        _options: crate::RequestOptions,
16517    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMapList>>> + Send
16518    {
16519        gaxi::unimplemented::unimplemented_stub()
16520    }
16521
16522    /// Implements [super::client::UrlMaps::patch].
16523    fn patch(
16524        &self,
16525        _req: crate::model::url_maps::PatchRequest,
16526        _options: crate::RequestOptions,
16527    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16528    {
16529        gaxi::unimplemented::unimplemented_stub()
16530    }
16531
16532    /// Implements [super::client::UrlMaps::test_iam_permissions].
16533    fn test_iam_permissions(
16534        &self,
16535        _req: crate::model::url_maps::TestIamPermissionsRequest,
16536        _options: crate::RequestOptions,
16537    ) -> impl std::future::Future<
16538        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
16539    > + Send {
16540        gaxi::unimplemented::unimplemented_stub()
16541    }
16542
16543    /// Implements [super::client::UrlMaps::update].
16544    fn update(
16545        &self,
16546        _req: crate::model::url_maps::UpdateRequest,
16547        _options: crate::RequestOptions,
16548    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16549    {
16550        gaxi::unimplemented::unimplemented_stub()
16551    }
16552
16553    /// Implements [super::client::UrlMaps::validate].
16554    fn validate(
16555        &self,
16556        _req: crate::model::url_maps::ValidateRequest,
16557        _options: crate::RequestOptions,
16558    ) -> impl std::future::Future<
16559        Output = crate::Result<crate::Response<crate::model::UrlMapsValidateResponse>>,
16560    > + Send {
16561        gaxi::unimplemented::unimplemented_stub()
16562    }
16563
16564    /// Implements [super::client::UrlMaps::get_operation].
16565    fn get_operation(
16566        &self,
16567        _req: crate::model::global_operations::GetRequest,
16568        _options: crate::RequestOptions,
16569    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16570    {
16571        gaxi::unimplemented::unimplemented_stub()
16572    }
16573
16574    /// Returns the polling error policy.
16575    ///
16576    /// When mocking, this method is typically irrelevant. Do not try to verify
16577    /// it is called by your mocks.
16578    fn get_polling_error_policy(
16579        &self,
16580        _options: &crate::RequestOptions,
16581    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16582        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16583    }
16584
16585    /// Returns the polling backoff policy.
16586    ///
16587    /// When mocking, this method is typically irrelevant. Do not try to verify
16588    /// it is called by your mocks.
16589    fn get_polling_backoff_policy(
16590        &self,
16591        _options: &crate::RequestOptions,
16592    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16593        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16594    }
16595
16596    #[doc(hidden)]
16597    /// Returns the poller options.
16598    ///
16599    /// When mocking, this method is typically irrelevant. Do not try to verify
16600    /// it is called by your mocks.
16601    fn get_poller_options(
16602        &self,
16603        _options: &crate::RequestOptions,
16604    ) -> google_cloud_lro::PollerOptions {
16605        google_cloud_lro::PollerOptions::default()
16606    }
16607}
16608
16609/// Defines the trait used to implement [super::client::VpnGateways].
16610///
16611/// Application developers may need to implement this trait to mock
16612/// `client::VpnGateways`.  In other use-cases, application developers only
16613/// use `client::VpnGateways` and need not be concerned with this trait or
16614/// its implementations.
16615///
16616/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16617/// too. To avoid breaking applications the trait provides a default
16618/// implementation of each method. Most of these implementations just return an
16619/// error.
16620#[cfg(feature = "vpn-gateways")]
16621#[cfg_attr(docsrs, doc(cfg(feature = "vpn-gateways")))]
16622pub trait VpnGateways: std::fmt::Debug + Send + Sync {
16623    /// Implements [super::client::VpnGateways::aggregated_list].
16624    fn aggregated_list(
16625        &self,
16626        _req: crate::model::vpn_gateways::AggregatedListRequest,
16627        _options: crate::RequestOptions,
16628    ) -> impl std::future::Future<
16629        Output = crate::Result<crate::Response<crate::model::VpnGatewayAggregatedList>>,
16630    > + Send {
16631        gaxi::unimplemented::unimplemented_stub()
16632    }
16633
16634    /// Implements [super::client::VpnGateways::delete].
16635    fn delete(
16636        &self,
16637        _req: crate::model::vpn_gateways::DeleteRequest,
16638        _options: crate::RequestOptions,
16639    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16640    {
16641        gaxi::unimplemented::unimplemented_stub()
16642    }
16643
16644    /// Implements [super::client::VpnGateways::get].
16645    fn get(
16646        &self,
16647        _req: crate::model::vpn_gateways::GetRequest,
16648        _options: crate::RequestOptions,
16649    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::VpnGateway>>> + Send
16650    {
16651        gaxi::unimplemented::unimplemented_stub()
16652    }
16653
16654    /// Implements [super::client::VpnGateways::get_status].
16655    fn get_status(
16656        &self,
16657        _req: crate::model::vpn_gateways::GetStatusRequest,
16658        _options: crate::RequestOptions,
16659    ) -> impl std::future::Future<
16660        Output = crate::Result<crate::Response<crate::model::VpnGatewaysGetStatusResponse>>,
16661    > + Send {
16662        gaxi::unimplemented::unimplemented_stub()
16663    }
16664
16665    /// Implements [super::client::VpnGateways::insert].
16666    fn insert(
16667        &self,
16668        _req: crate::model::vpn_gateways::InsertRequest,
16669        _options: crate::RequestOptions,
16670    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16671    {
16672        gaxi::unimplemented::unimplemented_stub()
16673    }
16674
16675    /// Implements [super::client::VpnGateways::list].
16676    fn list(
16677        &self,
16678        _req: crate::model::vpn_gateways::ListRequest,
16679        _options: crate::RequestOptions,
16680    ) -> impl std::future::Future<
16681        Output = crate::Result<crate::Response<crate::model::VpnGatewayList>>,
16682    > + Send {
16683        gaxi::unimplemented::unimplemented_stub()
16684    }
16685
16686    /// Implements [super::client::VpnGateways::set_labels].
16687    fn set_labels(
16688        &self,
16689        _req: crate::model::vpn_gateways::SetLabelsRequest,
16690        _options: crate::RequestOptions,
16691    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16692    {
16693        gaxi::unimplemented::unimplemented_stub()
16694    }
16695
16696    /// Implements [super::client::VpnGateways::test_iam_permissions].
16697    fn test_iam_permissions(
16698        &self,
16699        _req: crate::model::vpn_gateways::TestIamPermissionsRequest,
16700        _options: crate::RequestOptions,
16701    ) -> impl std::future::Future<
16702        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
16703    > + Send {
16704        gaxi::unimplemented::unimplemented_stub()
16705    }
16706
16707    /// Implements [super::client::VpnGateways::get_operation].
16708    fn get_operation(
16709        &self,
16710        _req: crate::model::region_operations::GetRequest,
16711        _options: crate::RequestOptions,
16712    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16713    {
16714        gaxi::unimplemented::unimplemented_stub()
16715    }
16716
16717    /// Returns the polling error policy.
16718    ///
16719    /// When mocking, this method is typically irrelevant. Do not try to verify
16720    /// it is called by your mocks.
16721    fn get_polling_error_policy(
16722        &self,
16723        _options: &crate::RequestOptions,
16724    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16725        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16726    }
16727
16728    /// Returns the polling backoff policy.
16729    ///
16730    /// When mocking, this method is typically irrelevant. Do not try to verify
16731    /// it is called by your mocks.
16732    fn get_polling_backoff_policy(
16733        &self,
16734        _options: &crate::RequestOptions,
16735    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16736        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16737    }
16738
16739    #[doc(hidden)]
16740    /// Returns the poller options.
16741    ///
16742    /// When mocking, this method is typically irrelevant. Do not try to verify
16743    /// it is called by your mocks.
16744    fn get_poller_options(
16745        &self,
16746        _options: &crate::RequestOptions,
16747    ) -> google_cloud_lro::PollerOptions {
16748        google_cloud_lro::PollerOptions::default()
16749    }
16750}
16751
16752/// Defines the trait used to implement [super::client::VpnTunnels].
16753///
16754/// Application developers may need to implement this trait to mock
16755/// `client::VpnTunnels`.  In other use-cases, application developers only
16756/// use `client::VpnTunnels` and need not be concerned with this trait or
16757/// its implementations.
16758///
16759/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16760/// too. To avoid breaking applications the trait provides a default
16761/// implementation of each method. Most of these implementations just return an
16762/// error.
16763#[cfg(feature = "vpn-tunnels")]
16764#[cfg_attr(docsrs, doc(cfg(feature = "vpn-tunnels")))]
16765pub trait VpnTunnels: std::fmt::Debug + Send + Sync {
16766    /// Implements [super::client::VpnTunnels::aggregated_list].
16767    fn aggregated_list(
16768        &self,
16769        _req: crate::model::vpn_tunnels::AggregatedListRequest,
16770        _options: crate::RequestOptions,
16771    ) -> impl std::future::Future<
16772        Output = crate::Result<crate::Response<crate::model::VpnTunnelAggregatedList>>,
16773    > + Send {
16774        gaxi::unimplemented::unimplemented_stub()
16775    }
16776
16777    /// Implements [super::client::VpnTunnels::delete].
16778    fn delete(
16779        &self,
16780        _req: crate::model::vpn_tunnels::DeleteRequest,
16781        _options: crate::RequestOptions,
16782    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16783    {
16784        gaxi::unimplemented::unimplemented_stub()
16785    }
16786
16787    /// Implements [super::client::VpnTunnels::get].
16788    fn get(
16789        &self,
16790        _req: crate::model::vpn_tunnels::GetRequest,
16791        _options: crate::RequestOptions,
16792    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::VpnTunnel>>> + Send
16793    {
16794        gaxi::unimplemented::unimplemented_stub()
16795    }
16796
16797    /// Implements [super::client::VpnTunnels::insert].
16798    fn insert(
16799        &self,
16800        _req: crate::model::vpn_tunnels::InsertRequest,
16801        _options: crate::RequestOptions,
16802    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16803    {
16804        gaxi::unimplemented::unimplemented_stub()
16805    }
16806
16807    /// Implements [super::client::VpnTunnels::list].
16808    fn list(
16809        &self,
16810        _req: crate::model::vpn_tunnels::ListRequest,
16811        _options: crate::RequestOptions,
16812    ) -> impl std::future::Future<
16813        Output = crate::Result<crate::Response<crate::model::VpnTunnelList>>,
16814    > + Send {
16815        gaxi::unimplemented::unimplemented_stub()
16816    }
16817
16818    /// Implements [super::client::VpnTunnels::set_labels].
16819    fn set_labels(
16820        &self,
16821        _req: crate::model::vpn_tunnels::SetLabelsRequest,
16822        _options: crate::RequestOptions,
16823    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16824    {
16825        gaxi::unimplemented::unimplemented_stub()
16826    }
16827
16828    /// Implements [super::client::VpnTunnels::get_operation].
16829    fn get_operation(
16830        &self,
16831        _req: crate::model::region_operations::GetRequest,
16832        _options: crate::RequestOptions,
16833    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16834    {
16835        gaxi::unimplemented::unimplemented_stub()
16836    }
16837
16838    /// Returns the polling error policy.
16839    ///
16840    /// When mocking, this method is typically irrelevant. Do not try to verify
16841    /// it is called by your mocks.
16842    fn get_polling_error_policy(
16843        &self,
16844        _options: &crate::RequestOptions,
16845    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16846        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16847    }
16848
16849    /// Returns the polling backoff policy.
16850    ///
16851    /// When mocking, this method is typically irrelevant. Do not try to verify
16852    /// it is called by your mocks.
16853    fn get_polling_backoff_policy(
16854        &self,
16855        _options: &crate::RequestOptions,
16856    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16857        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16858    }
16859
16860    #[doc(hidden)]
16861    /// Returns the poller options.
16862    ///
16863    /// When mocking, this method is typically irrelevant. Do not try to verify
16864    /// it is called by your mocks.
16865    fn get_poller_options(
16866        &self,
16867        _options: &crate::RequestOptions,
16868    ) -> google_cloud_lro::PollerOptions {
16869        google_cloud_lro::PollerOptions::default()
16870    }
16871}
16872
16873/// Defines the trait used to implement [super::client::WireGroups].
16874///
16875/// Application developers may need to implement this trait to mock
16876/// `client::WireGroups`.  In other use-cases, application developers only
16877/// use `client::WireGroups` and need not be concerned with this trait or
16878/// its implementations.
16879///
16880/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16881/// too. To avoid breaking applications the trait provides a default
16882/// implementation of each method. Most of these implementations just return an
16883/// error.
16884#[cfg(feature = "wire-groups")]
16885#[cfg_attr(docsrs, doc(cfg(feature = "wire-groups")))]
16886pub trait WireGroups: std::fmt::Debug + Send + Sync {
16887    /// Implements [super::client::WireGroups::delete].
16888    fn delete(
16889        &self,
16890        _req: crate::model::wire_groups::DeleteRequest,
16891        _options: crate::RequestOptions,
16892    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16893    {
16894        gaxi::unimplemented::unimplemented_stub()
16895    }
16896
16897    /// Implements [super::client::WireGroups::get].
16898    fn get(
16899        &self,
16900        _req: crate::model::wire_groups::GetRequest,
16901        _options: crate::RequestOptions,
16902    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::WireGroup>>> + Send
16903    {
16904        gaxi::unimplemented::unimplemented_stub()
16905    }
16906
16907    /// Implements [super::client::WireGroups::insert].
16908    fn insert(
16909        &self,
16910        _req: crate::model::wire_groups::InsertRequest,
16911        _options: crate::RequestOptions,
16912    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16913    {
16914        gaxi::unimplemented::unimplemented_stub()
16915    }
16916
16917    /// Implements [super::client::WireGroups::list].
16918    fn list(
16919        &self,
16920        _req: crate::model::wire_groups::ListRequest,
16921        _options: crate::RequestOptions,
16922    ) -> impl std::future::Future<
16923        Output = crate::Result<crate::Response<crate::model::WireGroupList>>,
16924    > + Send {
16925        gaxi::unimplemented::unimplemented_stub()
16926    }
16927
16928    /// Implements [super::client::WireGroups::patch].
16929    fn patch(
16930        &self,
16931        _req: crate::model::wire_groups::PatchRequest,
16932        _options: crate::RequestOptions,
16933    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16934    {
16935        gaxi::unimplemented::unimplemented_stub()
16936    }
16937
16938    /// Implements [super::client::WireGroups::get_operation].
16939    fn get_operation(
16940        &self,
16941        _req: crate::model::global_operations::GetRequest,
16942        _options: crate::RequestOptions,
16943    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16944    {
16945        gaxi::unimplemented::unimplemented_stub()
16946    }
16947
16948    /// Returns the polling error policy.
16949    ///
16950    /// When mocking, this method is typically irrelevant. Do not try to verify
16951    /// it is called by your mocks.
16952    fn get_polling_error_policy(
16953        &self,
16954        _options: &crate::RequestOptions,
16955    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16956        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16957    }
16958
16959    /// Returns the polling backoff policy.
16960    ///
16961    /// When mocking, this method is typically irrelevant. Do not try to verify
16962    /// it is called by your mocks.
16963    fn get_polling_backoff_policy(
16964        &self,
16965        _options: &crate::RequestOptions,
16966    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16967        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16968    }
16969
16970    #[doc(hidden)]
16971    /// Returns the poller options.
16972    ///
16973    /// When mocking, this method is typically irrelevant. Do not try to verify
16974    /// it is called by your mocks.
16975    fn get_poller_options(
16976        &self,
16977        _options: &crate::RequestOptions,
16978    ) -> google_cloud_lro::PollerOptions {
16979        google_cloud_lro::PollerOptions::default()
16980    }
16981}
16982
16983/// Defines the trait used to implement [super::client::ZoneOperations].
16984///
16985/// Application developers may need to implement this trait to mock
16986/// `client::ZoneOperations`.  In other use-cases, application developers only
16987/// use `client::ZoneOperations` and need not be concerned with this trait or
16988/// its implementations.
16989///
16990/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16991/// too. To avoid breaking applications the trait provides a default
16992/// implementation of each method. Most of these implementations just return an
16993/// error.
16994#[cfg(feature = "zone-operations")]
16995#[cfg_attr(docsrs, doc(cfg(feature = "zone-operations")))]
16996pub trait ZoneOperations: std::fmt::Debug + Send + Sync {
16997    /// Implements [super::client::ZoneOperations::delete].
16998    fn delete(
16999        &self,
17000        _req: crate::model::zone_operations::DeleteRequest,
17001        _options: crate::RequestOptions,
17002    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
17003        gaxi::unimplemented::unimplemented_stub()
17004    }
17005
17006    /// Implements [super::client::ZoneOperations::get].
17007    fn get(
17008        &self,
17009        _req: crate::model::zone_operations::GetRequest,
17010        _options: crate::RequestOptions,
17011    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
17012    {
17013        gaxi::unimplemented::unimplemented_stub()
17014    }
17015
17016    /// Implements [super::client::ZoneOperations::list].
17017    fn list(
17018        &self,
17019        _req: crate::model::zone_operations::ListRequest,
17020        _options: crate::RequestOptions,
17021    ) -> impl std::future::Future<
17022        Output = crate::Result<crate::Response<crate::model::OperationList>>,
17023    > + Send {
17024        gaxi::unimplemented::unimplemented_stub()
17025    }
17026
17027    /// Implements [super::client::ZoneOperations::wait].
17028    fn wait(
17029        &self,
17030        _req: crate::model::zone_operations::WaitRequest,
17031        _options: crate::RequestOptions,
17032    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
17033    {
17034        gaxi::unimplemented::unimplemented_stub()
17035    }
17036}
17037
17038/// Defines the trait used to implement [super::client::ZoneVmExtensionPolicies].
17039///
17040/// Application developers may need to implement this trait to mock
17041/// `client::ZoneVmExtensionPolicies`.  In other use-cases, application developers only
17042/// use `client::ZoneVmExtensionPolicies` and need not be concerned with this trait or
17043/// its implementations.
17044///
17045/// Services gain new RPCs routinely. Consequently, this trait gains new methods
17046/// too. To avoid breaking applications the trait provides a default
17047/// implementation of each method. Most of these implementations just return an
17048/// error.
17049#[cfg(feature = "zone-vm-extension-policies")]
17050#[cfg_attr(docsrs, doc(cfg(feature = "zone-vm-extension-policies")))]
17051pub trait ZoneVmExtensionPolicies: std::fmt::Debug + Send + Sync {
17052    /// Implements [super::client::ZoneVmExtensionPolicies::delete].
17053    fn delete(
17054        &self,
17055        _req: crate::model::zone_vm_extension_policies::DeleteRequest,
17056        _options: crate::RequestOptions,
17057    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
17058    {
17059        gaxi::unimplemented::unimplemented_stub()
17060    }
17061
17062    /// Implements [super::client::ZoneVmExtensionPolicies::get].
17063    fn get(
17064        &self,
17065        _req: crate::model::zone_vm_extension_policies::GetRequest,
17066        _options: crate::RequestOptions,
17067    ) -> impl std::future::Future<
17068        Output = crate::Result<crate::Response<crate::model::VmExtensionPolicy>>,
17069    > + Send {
17070        gaxi::unimplemented::unimplemented_stub()
17071    }
17072
17073    /// Implements [super::client::ZoneVmExtensionPolicies::insert].
17074    fn insert(
17075        &self,
17076        _req: crate::model::zone_vm_extension_policies::InsertRequest,
17077        _options: crate::RequestOptions,
17078    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
17079    {
17080        gaxi::unimplemented::unimplemented_stub()
17081    }
17082
17083    /// Implements [super::client::ZoneVmExtensionPolicies::list].
17084    fn list(
17085        &self,
17086        _req: crate::model::zone_vm_extension_policies::ListRequest,
17087        _options: crate::RequestOptions,
17088    ) -> impl std::future::Future<
17089        Output = crate::Result<crate::Response<crate::model::VmExtensionPolicyList>>,
17090    > + Send {
17091        gaxi::unimplemented::unimplemented_stub()
17092    }
17093
17094    /// Implements [super::client::ZoneVmExtensionPolicies::update].
17095    fn update(
17096        &self,
17097        _req: crate::model::zone_vm_extension_policies::UpdateRequest,
17098        _options: crate::RequestOptions,
17099    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
17100    {
17101        gaxi::unimplemented::unimplemented_stub()
17102    }
17103
17104    /// Implements [super::client::ZoneVmExtensionPolicies::get_operation].
17105    fn get_operation(
17106        &self,
17107        _req: crate::model::zone_operations::GetRequest,
17108        _options: crate::RequestOptions,
17109    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
17110    {
17111        gaxi::unimplemented::unimplemented_stub()
17112    }
17113
17114    /// Returns the polling error policy.
17115    ///
17116    /// When mocking, this method is typically irrelevant. Do not try to verify
17117    /// it is called by your mocks.
17118    fn get_polling_error_policy(
17119        &self,
17120        _options: &crate::RequestOptions,
17121    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
17122        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
17123    }
17124
17125    /// Returns the polling backoff policy.
17126    ///
17127    /// When mocking, this method is typically irrelevant. Do not try to verify
17128    /// it is called by your mocks.
17129    fn get_polling_backoff_policy(
17130        &self,
17131        _options: &crate::RequestOptions,
17132    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
17133        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
17134    }
17135
17136    #[doc(hidden)]
17137    /// Returns the poller options.
17138    ///
17139    /// When mocking, this method is typically irrelevant. Do not try to verify
17140    /// it is called by your mocks.
17141    fn get_poller_options(
17142        &self,
17143        _options: &crate::RequestOptions,
17144    ) -> google_cloud_lro::PollerOptions {
17145        google_cloud_lro::PollerOptions::default()
17146    }
17147}
17148
17149/// Defines the trait used to implement [super::client::Zones].
17150///
17151/// Application developers may need to implement this trait to mock
17152/// `client::Zones`.  In other use-cases, application developers only
17153/// use `client::Zones` and need not be concerned with this trait or
17154/// its implementations.
17155///
17156/// Services gain new RPCs routinely. Consequently, this trait gains new methods
17157/// too. To avoid breaking applications the trait provides a default
17158/// implementation of each method. Most of these implementations just return an
17159/// error.
17160#[cfg(feature = "zones")]
17161#[cfg_attr(docsrs, doc(cfg(feature = "zones")))]
17162pub trait Zones: std::fmt::Debug + Send + Sync {
17163    /// Implements [super::client::Zones::get].
17164    fn get(
17165        &self,
17166        _req: crate::model::zones::GetRequest,
17167        _options: crate::RequestOptions,
17168    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Zone>>> + Send
17169    {
17170        gaxi::unimplemented::unimplemented_stub()
17171    }
17172
17173    /// Implements [super::client::Zones::list].
17174    fn list(
17175        &self,
17176        _req: crate::model::zones::ListRequest,
17177        _options: crate::RequestOptions,
17178    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ZoneList>>> + Send
17179    {
17180        gaxi::unimplemented::unimplemented_stub()
17181    }
17182}