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::GlobalFrontendSettings].
2303///
2304/// Application developers may need to implement this trait to mock
2305/// `client::GlobalFrontendSettings`.  In other use-cases, application developers only
2306/// use `client::GlobalFrontendSettings` 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-frontend-settings")]
2314#[cfg_attr(docsrs, doc(cfg(feature = "global-frontend-settings")))]
2315pub trait GlobalFrontendSettings: std::fmt::Debug + Send + Sync {
2316    /// Implements [super::client::GlobalFrontendSettings::get].
2317    fn get(
2318        &self,
2319        _req: crate::model::global_frontend_settings_requests::GetRequest,
2320        _options: crate::RequestOptions,
2321    ) -> impl std::future::Future<
2322        Output = crate::Result<crate::Response<crate::model::GlobalFrontendSettings>>,
2323    > + Send {
2324        gaxi::unimplemented::unimplemented_stub()
2325    }
2326
2327    /// Implements [super::client::GlobalFrontendSettings::patch].
2328    fn patch(
2329        &self,
2330        _req: crate::model::global_frontend_settings_requests::PatchRequest,
2331        _options: crate::RequestOptions,
2332    ) -> impl std::future::Future<
2333        Output = crate::Result<crate::Response<crate::model::GlobalFrontendSettingsPatchResponse>>,
2334    > + Send {
2335        gaxi::unimplemented::unimplemented_stub()
2336    }
2337}
2338
2339/// Defines the trait used to implement [super::client::GlobalNetworkEndpointGroups].
2340///
2341/// Application developers may need to implement this trait to mock
2342/// `client::GlobalNetworkEndpointGroups`.  In other use-cases, application developers only
2343/// use `client::GlobalNetworkEndpointGroups` and need not be concerned with this trait or
2344/// its implementations.
2345///
2346/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2347/// too. To avoid breaking applications the trait provides a default
2348/// implementation of each method. Most of these implementations just return an
2349/// error.
2350#[cfg(feature = "global-network-endpoint-groups")]
2351#[cfg_attr(docsrs, doc(cfg(feature = "global-network-endpoint-groups")))]
2352pub trait GlobalNetworkEndpointGroups: std::fmt::Debug + Send + Sync {
2353    /// Implements [super::client::GlobalNetworkEndpointGroups::attach_network_endpoints].
2354    fn attach_network_endpoints(
2355        &self,
2356        _req: crate::model::global_network_endpoint_groups::AttachNetworkEndpointsRequest,
2357        _options: crate::RequestOptions,
2358    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2359    {
2360        gaxi::unimplemented::unimplemented_stub()
2361    }
2362
2363    /// Implements [super::client::GlobalNetworkEndpointGroups::delete].
2364    fn delete(
2365        &self,
2366        _req: crate::model::global_network_endpoint_groups::DeleteRequest,
2367        _options: crate::RequestOptions,
2368    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2369    {
2370        gaxi::unimplemented::unimplemented_stub()
2371    }
2372
2373    /// Implements [super::client::GlobalNetworkEndpointGroups::detach_network_endpoints].
2374    fn detach_network_endpoints(
2375        &self,
2376        _req: crate::model::global_network_endpoint_groups::DetachNetworkEndpointsRequest,
2377        _options: crate::RequestOptions,
2378    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2379    {
2380        gaxi::unimplemented::unimplemented_stub()
2381    }
2382
2383    /// Implements [super::client::GlobalNetworkEndpointGroups::get].
2384    fn get(
2385        &self,
2386        _req: crate::model::global_network_endpoint_groups::GetRequest,
2387        _options: crate::RequestOptions,
2388    ) -> impl std::future::Future<
2389        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
2390    > + Send {
2391        gaxi::unimplemented::unimplemented_stub()
2392    }
2393
2394    /// Implements [super::client::GlobalNetworkEndpointGroups::insert].
2395    fn insert(
2396        &self,
2397        _req: crate::model::global_network_endpoint_groups::InsertRequest,
2398        _options: crate::RequestOptions,
2399    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2400    {
2401        gaxi::unimplemented::unimplemented_stub()
2402    }
2403
2404    /// Implements [super::client::GlobalNetworkEndpointGroups::list].
2405    fn list(
2406        &self,
2407        _req: crate::model::global_network_endpoint_groups::ListRequest,
2408        _options: crate::RequestOptions,
2409    ) -> impl std::future::Future<
2410        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
2411    > + Send {
2412        gaxi::unimplemented::unimplemented_stub()
2413    }
2414
2415    /// Implements [super::client::GlobalNetworkEndpointGroups::list_network_endpoints].
2416    fn list_network_endpoints(
2417        &self,
2418        _req: crate::model::global_network_endpoint_groups::ListNetworkEndpointsRequest,
2419        _options: crate::RequestOptions,
2420    ) -> impl std::future::Future<
2421        Output = crate::Result<
2422            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
2423        >,
2424    > + Send {
2425        gaxi::unimplemented::unimplemented_stub()
2426    }
2427
2428    /// Implements [super::client::GlobalNetworkEndpointGroups::get_operation].
2429    fn get_operation(
2430        &self,
2431        _req: crate::model::global_operations::GetRequest,
2432        _options: crate::RequestOptions,
2433    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2434    {
2435        gaxi::unimplemented::unimplemented_stub()
2436    }
2437
2438    /// Returns the polling error policy.
2439    ///
2440    /// When mocking, this method is typically irrelevant. Do not try to verify
2441    /// it is called by your mocks.
2442    fn get_polling_error_policy(
2443        &self,
2444        _options: &crate::RequestOptions,
2445    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2446        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2447    }
2448
2449    /// Returns the polling backoff policy.
2450    ///
2451    /// When mocking, this method is typically irrelevant. Do not try to verify
2452    /// it is called by your mocks.
2453    fn get_polling_backoff_policy(
2454        &self,
2455        _options: &crate::RequestOptions,
2456    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2457        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2458    }
2459
2460    #[doc(hidden)]
2461    /// Returns the poller options.
2462    ///
2463    /// When mocking, this method is typically irrelevant. Do not try to verify
2464    /// it is called by your mocks.
2465    fn get_poller_options(
2466        &self,
2467        _options: &crate::RequestOptions,
2468    ) -> google_cloud_lro::PollerOptions {
2469        google_cloud_lro::PollerOptions::default()
2470    }
2471}
2472
2473/// Defines the trait used to implement [super::client::GlobalOperations].
2474///
2475/// Application developers may need to implement this trait to mock
2476/// `client::GlobalOperations`.  In other use-cases, application developers only
2477/// use `client::GlobalOperations` and need not be concerned with this trait or
2478/// its implementations.
2479///
2480/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2481/// too. To avoid breaking applications the trait provides a default
2482/// implementation of each method. Most of these implementations just return an
2483/// error.
2484#[cfg(feature = "global-operations")]
2485#[cfg_attr(docsrs, doc(cfg(feature = "global-operations")))]
2486pub trait GlobalOperations: std::fmt::Debug + Send + Sync {
2487    /// Implements [super::client::GlobalOperations::aggregated_list].
2488    fn aggregated_list(
2489        &self,
2490        _req: crate::model::global_operations::AggregatedListRequest,
2491        _options: crate::RequestOptions,
2492    ) -> impl std::future::Future<
2493        Output = crate::Result<crate::Response<crate::model::OperationAggregatedList>>,
2494    > + Send {
2495        gaxi::unimplemented::unimplemented_stub()
2496    }
2497
2498    /// Implements [super::client::GlobalOperations::delete].
2499    fn delete(
2500        &self,
2501        _req: crate::model::global_operations::DeleteRequest,
2502        _options: crate::RequestOptions,
2503    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
2504        gaxi::unimplemented::unimplemented_stub()
2505    }
2506
2507    /// Implements [super::client::GlobalOperations::get].
2508    fn get(
2509        &self,
2510        _req: crate::model::global_operations::GetRequest,
2511        _options: crate::RequestOptions,
2512    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2513    {
2514        gaxi::unimplemented::unimplemented_stub()
2515    }
2516
2517    /// Implements [super::client::GlobalOperations::list].
2518    fn list(
2519        &self,
2520        _req: crate::model::global_operations::ListRequest,
2521        _options: crate::RequestOptions,
2522    ) -> impl std::future::Future<
2523        Output = crate::Result<crate::Response<crate::model::OperationList>>,
2524    > + Send {
2525        gaxi::unimplemented::unimplemented_stub()
2526    }
2527
2528    /// Implements [super::client::GlobalOperations::wait].
2529    fn wait(
2530        &self,
2531        _req: crate::model::global_operations::WaitRequest,
2532        _options: crate::RequestOptions,
2533    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2534    {
2535        gaxi::unimplemented::unimplemented_stub()
2536    }
2537}
2538
2539/// Defines the trait used to implement [super::client::GlobalOrganizationOperations].
2540///
2541/// Application developers may need to implement this trait to mock
2542/// `client::GlobalOrganizationOperations`.  In other use-cases, application developers only
2543/// use `client::GlobalOrganizationOperations` and need not be concerned with this trait or
2544/// its implementations.
2545///
2546/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2547/// too. To avoid breaking applications the trait provides a default
2548/// implementation of each method. Most of these implementations just return an
2549/// error.
2550#[cfg(feature = "global-organization-operations")]
2551#[cfg_attr(docsrs, doc(cfg(feature = "global-organization-operations")))]
2552pub trait GlobalOrganizationOperations: std::fmt::Debug + Send + Sync {
2553    /// Implements [super::client::GlobalOrganizationOperations::delete].
2554    fn delete(
2555        &self,
2556        _req: crate::model::global_organization_operations::DeleteRequest,
2557        _options: crate::RequestOptions,
2558    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
2559        gaxi::unimplemented::unimplemented_stub()
2560    }
2561
2562    /// Implements [super::client::GlobalOrganizationOperations::get].
2563    fn get(
2564        &self,
2565        _req: crate::model::global_organization_operations::GetRequest,
2566        _options: crate::RequestOptions,
2567    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2568    {
2569        gaxi::unimplemented::unimplemented_stub()
2570    }
2571
2572    /// Implements [super::client::GlobalOrganizationOperations::list].
2573    fn list(
2574        &self,
2575        _req: crate::model::global_organization_operations::ListRequest,
2576        _options: crate::RequestOptions,
2577    ) -> impl std::future::Future<
2578        Output = crate::Result<crate::Response<crate::model::OperationList>>,
2579    > + Send {
2580        gaxi::unimplemented::unimplemented_stub()
2581    }
2582}
2583
2584/// Defines the trait used to implement [super::client::GlobalPublicDelegatedPrefixes].
2585///
2586/// Application developers may need to implement this trait to mock
2587/// `client::GlobalPublicDelegatedPrefixes`.  In other use-cases, application developers only
2588/// use `client::GlobalPublicDelegatedPrefixes` and need not be concerned with this trait or
2589/// its implementations.
2590///
2591/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2592/// too. To avoid breaking applications the trait provides a default
2593/// implementation of each method. Most of these implementations just return an
2594/// error.
2595#[cfg(feature = "global-public-delegated-prefixes")]
2596#[cfg_attr(docsrs, doc(cfg(feature = "global-public-delegated-prefixes")))]
2597pub trait GlobalPublicDelegatedPrefixes: std::fmt::Debug + Send + Sync {
2598    /// Implements [super::client::GlobalPublicDelegatedPrefixes::delete].
2599    fn delete(
2600        &self,
2601        _req: crate::model::global_public_delegated_prefixes::DeleteRequest,
2602        _options: crate::RequestOptions,
2603    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2604    {
2605        gaxi::unimplemented::unimplemented_stub()
2606    }
2607
2608    /// Implements [super::client::GlobalPublicDelegatedPrefixes::get].
2609    fn get(
2610        &self,
2611        _req: crate::model::global_public_delegated_prefixes::GetRequest,
2612        _options: crate::RequestOptions,
2613    ) -> impl std::future::Future<
2614        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefix>>,
2615    > + Send {
2616        gaxi::unimplemented::unimplemented_stub()
2617    }
2618
2619    /// Implements [super::client::GlobalPublicDelegatedPrefixes::insert].
2620    fn insert(
2621        &self,
2622        _req: crate::model::global_public_delegated_prefixes::InsertRequest,
2623        _options: crate::RequestOptions,
2624    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2625    {
2626        gaxi::unimplemented::unimplemented_stub()
2627    }
2628
2629    /// Implements [super::client::GlobalPublicDelegatedPrefixes::list].
2630    fn list(
2631        &self,
2632        _req: crate::model::global_public_delegated_prefixes::ListRequest,
2633        _options: crate::RequestOptions,
2634    ) -> impl std::future::Future<
2635        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixList>>,
2636    > + Send {
2637        gaxi::unimplemented::unimplemented_stub()
2638    }
2639
2640    /// Implements [super::client::GlobalPublicDelegatedPrefixes::patch].
2641    fn patch(
2642        &self,
2643        _req: crate::model::global_public_delegated_prefixes::PatchRequest,
2644        _options: crate::RequestOptions,
2645    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2646    {
2647        gaxi::unimplemented::unimplemented_stub()
2648    }
2649
2650    /// Implements [super::client::GlobalPublicDelegatedPrefixes::get_operation].
2651    fn get_operation(
2652        &self,
2653        _req: crate::model::global_operations::GetRequest,
2654        _options: crate::RequestOptions,
2655    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2656    {
2657        gaxi::unimplemented::unimplemented_stub()
2658    }
2659
2660    /// Returns the polling error policy.
2661    ///
2662    /// When mocking, this method is typically irrelevant. Do not try to verify
2663    /// it is called by your mocks.
2664    fn get_polling_error_policy(
2665        &self,
2666        _options: &crate::RequestOptions,
2667    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2668        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2669    }
2670
2671    /// Returns the polling backoff policy.
2672    ///
2673    /// When mocking, this method is typically irrelevant. Do not try to verify
2674    /// it is called by your mocks.
2675    fn get_polling_backoff_policy(
2676        &self,
2677        _options: &crate::RequestOptions,
2678    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2679        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2680    }
2681
2682    #[doc(hidden)]
2683    /// Returns the poller options.
2684    ///
2685    /// When mocking, this method is typically irrelevant. Do not try to verify
2686    /// it is called by your mocks.
2687    fn get_poller_options(
2688        &self,
2689        _options: &crate::RequestOptions,
2690    ) -> google_cloud_lro::PollerOptions {
2691        google_cloud_lro::PollerOptions::default()
2692    }
2693}
2694
2695/// Defines the trait used to implement [super::client::GlobalVmExtensionPolicies].
2696///
2697/// Application developers may need to implement this trait to mock
2698/// `client::GlobalVmExtensionPolicies`.  In other use-cases, application developers only
2699/// use `client::GlobalVmExtensionPolicies` and need not be concerned with this trait or
2700/// its implementations.
2701///
2702/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2703/// too. To avoid breaking applications the trait provides a default
2704/// implementation of each method. Most of these implementations just return an
2705/// error.
2706#[cfg(feature = "global-vm-extension-policies")]
2707#[cfg_attr(docsrs, doc(cfg(feature = "global-vm-extension-policies")))]
2708pub trait GlobalVmExtensionPolicies: std::fmt::Debug + Send + Sync {
2709    /// Implements [super::client::GlobalVmExtensionPolicies::aggregated_list].
2710    fn aggregated_list(
2711        &self,
2712        _req: crate::model::global_vm_extension_policies::AggregatedListRequest,
2713        _options: crate::RequestOptions,
2714    ) -> impl std::future::Future<
2715        Output = crate::Result<
2716            crate::Response<crate::model::VmExtensionPolicyAggregatedListResponse>,
2717        >,
2718    > + Send {
2719        gaxi::unimplemented::unimplemented_stub()
2720    }
2721
2722    /// Implements [super::client::GlobalVmExtensionPolicies::delete].
2723    fn delete(
2724        &self,
2725        _req: crate::model::global_vm_extension_policies::DeleteRequest,
2726        _options: crate::RequestOptions,
2727    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2728    {
2729        gaxi::unimplemented::unimplemented_stub()
2730    }
2731
2732    /// Implements [super::client::GlobalVmExtensionPolicies::get].
2733    fn get(
2734        &self,
2735        _req: crate::model::global_vm_extension_policies::GetRequest,
2736        _options: crate::RequestOptions,
2737    ) -> impl std::future::Future<
2738        Output = crate::Result<crate::Response<crate::model::GlobalVmExtensionPolicy>>,
2739    > + Send {
2740        gaxi::unimplemented::unimplemented_stub()
2741    }
2742
2743    /// Implements [super::client::GlobalVmExtensionPolicies::insert].
2744    fn insert(
2745        &self,
2746        _req: crate::model::global_vm_extension_policies::InsertRequest,
2747        _options: crate::RequestOptions,
2748    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2749    {
2750        gaxi::unimplemented::unimplemented_stub()
2751    }
2752
2753    /// Implements [super::client::GlobalVmExtensionPolicies::list].
2754    fn list(
2755        &self,
2756        _req: crate::model::global_vm_extension_policies::ListRequest,
2757        _options: crate::RequestOptions,
2758    ) -> impl std::future::Future<
2759        Output = crate::Result<crate::Response<crate::model::GlobalVmExtensionPolicyList>>,
2760    > + Send {
2761        gaxi::unimplemented::unimplemented_stub()
2762    }
2763
2764    /// Implements [super::client::GlobalVmExtensionPolicies::update].
2765    fn update(
2766        &self,
2767        _req: crate::model::global_vm_extension_policies::UpdateRequest,
2768        _options: crate::RequestOptions,
2769    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2770    {
2771        gaxi::unimplemented::unimplemented_stub()
2772    }
2773
2774    /// Implements [super::client::GlobalVmExtensionPolicies::get_operation].
2775    fn get_operation(
2776        &self,
2777        _req: crate::model::global_operations::GetRequest,
2778        _options: crate::RequestOptions,
2779    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2780    {
2781        gaxi::unimplemented::unimplemented_stub()
2782    }
2783
2784    /// Returns the polling error policy.
2785    ///
2786    /// When mocking, this method is typically irrelevant. Do not try to verify
2787    /// it is called by your mocks.
2788    fn get_polling_error_policy(
2789        &self,
2790        _options: &crate::RequestOptions,
2791    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2792        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2793    }
2794
2795    /// Returns the polling backoff policy.
2796    ///
2797    /// When mocking, this method is typically irrelevant. Do not try to verify
2798    /// it is called by your mocks.
2799    fn get_polling_backoff_policy(
2800        &self,
2801        _options: &crate::RequestOptions,
2802    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2803        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2804    }
2805
2806    #[doc(hidden)]
2807    /// Returns the poller options.
2808    ///
2809    /// When mocking, this method is typically irrelevant. Do not try to verify
2810    /// it is called by your mocks.
2811    fn get_poller_options(
2812        &self,
2813        _options: &crate::RequestOptions,
2814    ) -> google_cloud_lro::PollerOptions {
2815        google_cloud_lro::PollerOptions::default()
2816    }
2817}
2818
2819/// Defines the trait used to implement [super::client::HealthChecks].
2820///
2821/// Application developers may need to implement this trait to mock
2822/// `client::HealthChecks`.  In other use-cases, application developers only
2823/// use `client::HealthChecks` and need not be concerned with this trait or
2824/// its implementations.
2825///
2826/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2827/// too. To avoid breaking applications the trait provides a default
2828/// implementation of each method. Most of these implementations just return an
2829/// error.
2830#[cfg(feature = "health-checks")]
2831#[cfg_attr(docsrs, doc(cfg(feature = "health-checks")))]
2832pub trait HealthChecks: std::fmt::Debug + Send + Sync {
2833    /// Implements [super::client::HealthChecks::aggregated_list].
2834    fn aggregated_list(
2835        &self,
2836        _req: crate::model::health_checks::AggregatedListRequest,
2837        _options: crate::RequestOptions,
2838    ) -> impl std::future::Future<
2839        Output = crate::Result<crate::Response<crate::model::HealthChecksAggregatedList>>,
2840    > + Send {
2841        gaxi::unimplemented::unimplemented_stub()
2842    }
2843
2844    /// Implements [super::client::HealthChecks::delete].
2845    fn delete(
2846        &self,
2847        _req: crate::model::health_checks::DeleteRequest,
2848        _options: crate::RequestOptions,
2849    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2850    {
2851        gaxi::unimplemented::unimplemented_stub()
2852    }
2853
2854    /// Implements [super::client::HealthChecks::get].
2855    fn get(
2856        &self,
2857        _req: crate::model::health_checks::GetRequest,
2858        _options: crate::RequestOptions,
2859    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::HealthCheck>>>
2860    + Send {
2861        gaxi::unimplemented::unimplemented_stub()
2862    }
2863
2864    /// Implements [super::client::HealthChecks::insert].
2865    fn insert(
2866        &self,
2867        _req: crate::model::health_checks::InsertRequest,
2868        _options: crate::RequestOptions,
2869    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2870    {
2871        gaxi::unimplemented::unimplemented_stub()
2872    }
2873
2874    /// Implements [super::client::HealthChecks::list].
2875    fn list(
2876        &self,
2877        _req: crate::model::health_checks::ListRequest,
2878        _options: crate::RequestOptions,
2879    ) -> impl std::future::Future<
2880        Output = crate::Result<crate::Response<crate::model::HealthCheckList>>,
2881    > + Send {
2882        gaxi::unimplemented::unimplemented_stub()
2883    }
2884
2885    /// Implements [super::client::HealthChecks::patch].
2886    fn patch(
2887        &self,
2888        _req: crate::model::health_checks::PatchRequest,
2889        _options: crate::RequestOptions,
2890    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2891    {
2892        gaxi::unimplemented::unimplemented_stub()
2893    }
2894
2895    /// Implements [super::client::HealthChecks::test_iam_permissions].
2896    fn test_iam_permissions(
2897        &self,
2898        _req: crate::model::health_checks::TestIamPermissionsRequest,
2899        _options: crate::RequestOptions,
2900    ) -> impl std::future::Future<
2901        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2902    > + Send {
2903        gaxi::unimplemented::unimplemented_stub()
2904    }
2905
2906    /// Implements [super::client::HealthChecks::update].
2907    fn update(
2908        &self,
2909        _req: crate::model::health_checks::UpdateRequest,
2910        _options: crate::RequestOptions,
2911    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2912    {
2913        gaxi::unimplemented::unimplemented_stub()
2914    }
2915
2916    /// Implements [super::client::HealthChecks::get_operation].
2917    fn get_operation(
2918        &self,
2919        _req: crate::model::global_operations::GetRequest,
2920        _options: crate::RequestOptions,
2921    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2922    {
2923        gaxi::unimplemented::unimplemented_stub()
2924    }
2925
2926    /// Returns the polling error policy.
2927    ///
2928    /// When mocking, this method is typically irrelevant. Do not try to verify
2929    /// it is called by your mocks.
2930    fn get_polling_error_policy(
2931        &self,
2932        _options: &crate::RequestOptions,
2933    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2934        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2935    }
2936
2937    /// Returns the polling backoff policy.
2938    ///
2939    /// When mocking, this method is typically irrelevant. Do not try to verify
2940    /// it is called by your mocks.
2941    fn get_polling_backoff_policy(
2942        &self,
2943        _options: &crate::RequestOptions,
2944    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2945        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2946    }
2947
2948    #[doc(hidden)]
2949    /// Returns the poller options.
2950    ///
2951    /// When mocking, this method is typically irrelevant. Do not try to verify
2952    /// it is called by your mocks.
2953    fn get_poller_options(
2954        &self,
2955        _options: &crate::RequestOptions,
2956    ) -> google_cloud_lro::PollerOptions {
2957        google_cloud_lro::PollerOptions::default()
2958    }
2959}
2960
2961/// Defines the trait used to implement [super::client::Hosts].
2962///
2963/// Application developers may need to implement this trait to mock
2964/// `client::Hosts`.  In other use-cases, application developers only
2965/// use `client::Hosts` and need not be concerned with this trait or
2966/// its implementations.
2967///
2968/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2969/// too. To avoid breaking applications the trait provides a default
2970/// implementation of each method. Most of these implementations just return an
2971/// error.
2972#[cfg(feature = "hosts")]
2973#[cfg_attr(docsrs, doc(cfg(feature = "hosts")))]
2974pub trait Hosts: std::fmt::Debug + Send + Sync {
2975    /// Implements [super::client::Hosts::get].
2976    fn get(
2977        &self,
2978        _req: crate::model::hosts::GetRequest,
2979        _options: crate::RequestOptions,
2980    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Host>>> + Send
2981    {
2982        gaxi::unimplemented::unimplemented_stub()
2983    }
2984
2985    /// Implements [super::client::Hosts::get_version].
2986    fn get_version(
2987        &self,
2988        _req: crate::model::hosts::GetVersionRequest,
2989        _options: crate::RequestOptions,
2990    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2991    {
2992        gaxi::unimplemented::unimplemented_stub()
2993    }
2994
2995    /// Implements [super::client::Hosts::list].
2996    fn list(
2997        &self,
2998        _req: crate::model::hosts::ListRequest,
2999        _options: crate::RequestOptions,
3000    ) -> impl std::future::Future<
3001        Output = crate::Result<crate::Response<crate::model::HostsListResponse>>,
3002    > + Send {
3003        gaxi::unimplemented::unimplemented_stub()
3004    }
3005
3006    /// Implements [super::client::Hosts::get_operation].
3007    fn get_operation(
3008        &self,
3009        _req: crate::model::zone_operations::GetRequest,
3010        _options: crate::RequestOptions,
3011    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3012    {
3013        gaxi::unimplemented::unimplemented_stub()
3014    }
3015
3016    /// Returns the polling error policy.
3017    ///
3018    /// When mocking, this method is typically irrelevant. Do not try to verify
3019    /// it is called by your mocks.
3020    fn get_polling_error_policy(
3021        &self,
3022        _options: &crate::RequestOptions,
3023    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3024        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3025    }
3026
3027    /// Returns the polling backoff policy.
3028    ///
3029    /// When mocking, this method is typically irrelevant. Do not try to verify
3030    /// it is called by your mocks.
3031    fn get_polling_backoff_policy(
3032        &self,
3033        _options: &crate::RequestOptions,
3034    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3035        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3036    }
3037
3038    #[doc(hidden)]
3039    /// Returns the poller options.
3040    ///
3041    /// When mocking, this method is typically irrelevant. Do not try to verify
3042    /// it is called by your mocks.
3043    fn get_poller_options(
3044        &self,
3045        _options: &crate::RequestOptions,
3046    ) -> google_cloud_lro::PollerOptions {
3047        google_cloud_lro::PollerOptions::default()
3048    }
3049}
3050
3051/// Defines the trait used to implement [super::client::HttpHealthChecks].
3052///
3053/// Application developers may need to implement this trait to mock
3054/// `client::HttpHealthChecks`.  In other use-cases, application developers only
3055/// use `client::HttpHealthChecks` and need not be concerned with this trait or
3056/// its implementations.
3057///
3058/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3059/// too. To avoid breaking applications the trait provides a default
3060/// implementation of each method. Most of these implementations just return an
3061/// error.
3062#[cfg(feature = "http-health-checks")]
3063#[cfg_attr(docsrs, doc(cfg(feature = "http-health-checks")))]
3064pub trait HttpHealthChecks: std::fmt::Debug + Send + Sync {
3065    /// Implements [super::client::HttpHealthChecks::delete].
3066    fn delete(
3067        &self,
3068        _req: crate::model::http_health_checks::DeleteRequest,
3069        _options: crate::RequestOptions,
3070    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3071    {
3072        gaxi::unimplemented::unimplemented_stub()
3073    }
3074
3075    /// Implements [super::client::HttpHealthChecks::get].
3076    fn get(
3077        &self,
3078        _req: crate::model::http_health_checks::GetRequest,
3079        _options: crate::RequestOptions,
3080    ) -> impl std::future::Future<
3081        Output = crate::Result<crate::Response<crate::model::HttpHealthCheck>>,
3082    > + Send {
3083        gaxi::unimplemented::unimplemented_stub()
3084    }
3085
3086    /// Implements [super::client::HttpHealthChecks::insert].
3087    fn insert(
3088        &self,
3089        _req: crate::model::http_health_checks::InsertRequest,
3090        _options: crate::RequestOptions,
3091    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3092    {
3093        gaxi::unimplemented::unimplemented_stub()
3094    }
3095
3096    /// Implements [super::client::HttpHealthChecks::list].
3097    fn list(
3098        &self,
3099        _req: crate::model::http_health_checks::ListRequest,
3100        _options: crate::RequestOptions,
3101    ) -> impl std::future::Future<
3102        Output = crate::Result<crate::Response<crate::model::HttpHealthCheckList>>,
3103    > + Send {
3104        gaxi::unimplemented::unimplemented_stub()
3105    }
3106
3107    /// Implements [super::client::HttpHealthChecks::patch].
3108    fn patch(
3109        &self,
3110        _req: crate::model::http_health_checks::PatchRequest,
3111        _options: crate::RequestOptions,
3112    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3113    {
3114        gaxi::unimplemented::unimplemented_stub()
3115    }
3116
3117    /// Implements [super::client::HttpHealthChecks::test_iam_permissions].
3118    fn test_iam_permissions(
3119        &self,
3120        _req: crate::model::http_health_checks::TestIamPermissionsRequest,
3121        _options: crate::RequestOptions,
3122    ) -> impl std::future::Future<
3123        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3124    > + Send {
3125        gaxi::unimplemented::unimplemented_stub()
3126    }
3127
3128    /// Implements [super::client::HttpHealthChecks::update].
3129    fn update(
3130        &self,
3131        _req: crate::model::http_health_checks::UpdateRequest,
3132        _options: crate::RequestOptions,
3133    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3134    {
3135        gaxi::unimplemented::unimplemented_stub()
3136    }
3137
3138    /// Implements [super::client::HttpHealthChecks::get_operation].
3139    fn get_operation(
3140        &self,
3141        _req: crate::model::global_operations::GetRequest,
3142        _options: crate::RequestOptions,
3143    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3144    {
3145        gaxi::unimplemented::unimplemented_stub()
3146    }
3147
3148    /// Returns the polling error policy.
3149    ///
3150    /// When mocking, this method is typically irrelevant. Do not try to verify
3151    /// it is called by your mocks.
3152    fn get_polling_error_policy(
3153        &self,
3154        _options: &crate::RequestOptions,
3155    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3156        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3157    }
3158
3159    /// Returns the polling backoff policy.
3160    ///
3161    /// When mocking, this method is typically irrelevant. Do not try to verify
3162    /// it is called by your mocks.
3163    fn get_polling_backoff_policy(
3164        &self,
3165        _options: &crate::RequestOptions,
3166    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3167        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3168    }
3169
3170    #[doc(hidden)]
3171    /// Returns the poller options.
3172    ///
3173    /// When mocking, this method is typically irrelevant. Do not try to verify
3174    /// it is called by your mocks.
3175    fn get_poller_options(
3176        &self,
3177        _options: &crate::RequestOptions,
3178    ) -> google_cloud_lro::PollerOptions {
3179        google_cloud_lro::PollerOptions::default()
3180    }
3181}
3182
3183/// Defines the trait used to implement [super::client::HttpsHealthChecks].
3184///
3185/// Application developers may need to implement this trait to mock
3186/// `client::HttpsHealthChecks`.  In other use-cases, application developers only
3187/// use `client::HttpsHealthChecks` and need not be concerned with this trait or
3188/// its implementations.
3189///
3190/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3191/// too. To avoid breaking applications the trait provides a default
3192/// implementation of each method. Most of these implementations just return an
3193/// error.
3194#[cfg(feature = "https-health-checks")]
3195#[cfg_attr(docsrs, doc(cfg(feature = "https-health-checks")))]
3196pub trait HttpsHealthChecks: std::fmt::Debug + Send + Sync {
3197    /// Implements [super::client::HttpsHealthChecks::delete].
3198    fn delete(
3199        &self,
3200        _req: crate::model::https_health_checks::DeleteRequest,
3201        _options: crate::RequestOptions,
3202    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3203    {
3204        gaxi::unimplemented::unimplemented_stub()
3205    }
3206
3207    /// Implements [super::client::HttpsHealthChecks::get].
3208    fn get(
3209        &self,
3210        _req: crate::model::https_health_checks::GetRequest,
3211        _options: crate::RequestOptions,
3212    ) -> impl std::future::Future<
3213        Output = crate::Result<crate::Response<crate::model::HttpsHealthCheck>>,
3214    > + Send {
3215        gaxi::unimplemented::unimplemented_stub()
3216    }
3217
3218    /// Implements [super::client::HttpsHealthChecks::insert].
3219    fn insert(
3220        &self,
3221        _req: crate::model::https_health_checks::InsertRequest,
3222        _options: crate::RequestOptions,
3223    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3224    {
3225        gaxi::unimplemented::unimplemented_stub()
3226    }
3227
3228    /// Implements [super::client::HttpsHealthChecks::list].
3229    fn list(
3230        &self,
3231        _req: crate::model::https_health_checks::ListRequest,
3232        _options: crate::RequestOptions,
3233    ) -> impl std::future::Future<
3234        Output = crate::Result<crate::Response<crate::model::HttpsHealthCheckList>>,
3235    > + Send {
3236        gaxi::unimplemented::unimplemented_stub()
3237    }
3238
3239    /// Implements [super::client::HttpsHealthChecks::patch].
3240    fn patch(
3241        &self,
3242        _req: crate::model::https_health_checks::PatchRequest,
3243        _options: crate::RequestOptions,
3244    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3245    {
3246        gaxi::unimplemented::unimplemented_stub()
3247    }
3248
3249    /// Implements [super::client::HttpsHealthChecks::test_iam_permissions].
3250    fn test_iam_permissions(
3251        &self,
3252        _req: crate::model::https_health_checks::TestIamPermissionsRequest,
3253        _options: crate::RequestOptions,
3254    ) -> impl std::future::Future<
3255        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3256    > + Send {
3257        gaxi::unimplemented::unimplemented_stub()
3258    }
3259
3260    /// Implements [super::client::HttpsHealthChecks::update].
3261    fn update(
3262        &self,
3263        _req: crate::model::https_health_checks::UpdateRequest,
3264        _options: crate::RequestOptions,
3265    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3266    {
3267        gaxi::unimplemented::unimplemented_stub()
3268    }
3269
3270    /// Implements [super::client::HttpsHealthChecks::get_operation].
3271    fn get_operation(
3272        &self,
3273        _req: crate::model::global_operations::GetRequest,
3274        _options: crate::RequestOptions,
3275    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3276    {
3277        gaxi::unimplemented::unimplemented_stub()
3278    }
3279
3280    /// Returns the polling error policy.
3281    ///
3282    /// When mocking, this method is typically irrelevant. Do not try to verify
3283    /// it is called by your mocks.
3284    fn get_polling_error_policy(
3285        &self,
3286        _options: &crate::RequestOptions,
3287    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3288        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3289    }
3290
3291    /// Returns the polling backoff policy.
3292    ///
3293    /// When mocking, this method is typically irrelevant. Do not try to verify
3294    /// it is called by your mocks.
3295    fn get_polling_backoff_policy(
3296        &self,
3297        _options: &crate::RequestOptions,
3298    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3299        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3300    }
3301
3302    #[doc(hidden)]
3303    /// Returns the poller options.
3304    ///
3305    /// When mocking, this method is typically irrelevant. Do not try to verify
3306    /// it is called by your mocks.
3307    fn get_poller_options(
3308        &self,
3309        _options: &crate::RequestOptions,
3310    ) -> google_cloud_lro::PollerOptions {
3311        google_cloud_lro::PollerOptions::default()
3312    }
3313}
3314
3315/// Defines the trait used to implement [super::client::ImageFamilyViews].
3316///
3317/// Application developers may need to implement this trait to mock
3318/// `client::ImageFamilyViews`.  In other use-cases, application developers only
3319/// use `client::ImageFamilyViews` and need not be concerned with this trait or
3320/// its implementations.
3321///
3322/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3323/// too. To avoid breaking applications the trait provides a default
3324/// implementation of each method. Most of these implementations just return an
3325/// error.
3326#[cfg(feature = "image-family-views")]
3327#[cfg_attr(docsrs, doc(cfg(feature = "image-family-views")))]
3328pub trait ImageFamilyViews: std::fmt::Debug + Send + Sync {
3329    /// Implements [super::client::ImageFamilyViews::get].
3330    fn get(
3331        &self,
3332        _req: crate::model::image_family_views::GetRequest,
3333        _options: crate::RequestOptions,
3334    ) -> impl std::future::Future<
3335        Output = crate::Result<crate::Response<crate::model::ImageFamilyView>>,
3336    > + Send {
3337        gaxi::unimplemented::unimplemented_stub()
3338    }
3339}
3340
3341/// Defines the trait used to implement [super::client::ImageViews].
3342///
3343/// Application developers may need to implement this trait to mock
3344/// `client::ImageViews`.  In other use-cases, application developers only
3345/// use `client::ImageViews` and need not be concerned with this trait or
3346/// its implementations.
3347///
3348/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3349/// too. To avoid breaking applications the trait provides a default
3350/// implementation of each method. Most of these implementations just return an
3351/// error.
3352#[cfg(feature = "image-views")]
3353#[cfg_attr(docsrs, doc(cfg(feature = "image-views")))]
3354pub trait ImageViews: std::fmt::Debug + Send + Sync {
3355    /// Implements [super::client::ImageViews::get].
3356    fn get(
3357        &self,
3358        _req: crate::model::image_views::GetRequest,
3359        _options: crate::RequestOptions,
3360    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ImageView>>> + Send
3361    {
3362        gaxi::unimplemented::unimplemented_stub()
3363    }
3364
3365    /// Implements [super::client::ImageViews::list].
3366    fn list(
3367        &self,
3368        _req: crate::model::image_views::ListRequest,
3369        _options: crate::RequestOptions,
3370    ) -> impl std::future::Future<
3371        Output = crate::Result<crate::Response<crate::model::ImageViewsListResponse>>,
3372    > + Send {
3373        gaxi::unimplemented::unimplemented_stub()
3374    }
3375}
3376
3377/// Defines the trait used to implement [super::client::Images].
3378///
3379/// Application developers may need to implement this trait to mock
3380/// `client::Images`.  In other use-cases, application developers only
3381/// use `client::Images` and need not be concerned with this trait or
3382/// its implementations.
3383///
3384/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3385/// too. To avoid breaking applications the trait provides a default
3386/// implementation of each method. Most of these implementations just return an
3387/// error.
3388#[cfg(feature = "images")]
3389#[cfg_attr(docsrs, doc(cfg(feature = "images")))]
3390pub trait Images: std::fmt::Debug + Send + Sync {
3391    /// Implements [super::client::Images::delete].
3392    fn delete(
3393        &self,
3394        _req: crate::model::images::DeleteRequest,
3395        _options: crate::RequestOptions,
3396    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3397    {
3398        gaxi::unimplemented::unimplemented_stub()
3399    }
3400
3401    /// Implements [super::client::Images::deprecate].
3402    fn deprecate(
3403        &self,
3404        _req: crate::model::images::DeprecateRequest,
3405        _options: crate::RequestOptions,
3406    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3407    {
3408        gaxi::unimplemented::unimplemented_stub()
3409    }
3410
3411    /// Implements [super::client::Images::get].
3412    fn get(
3413        &self,
3414        _req: crate::model::images::GetRequest,
3415        _options: crate::RequestOptions,
3416    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Image>>> + Send
3417    {
3418        gaxi::unimplemented::unimplemented_stub()
3419    }
3420
3421    /// Implements [super::client::Images::get_from_family].
3422    fn get_from_family(
3423        &self,
3424        _req: crate::model::images::GetFromFamilyRequest,
3425        _options: crate::RequestOptions,
3426    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Image>>> + Send
3427    {
3428        gaxi::unimplemented::unimplemented_stub()
3429    }
3430
3431    /// Implements [super::client::Images::get_iam_policy].
3432    fn get_iam_policy(
3433        &self,
3434        _req: crate::model::images::GetIamPolicyRequest,
3435        _options: crate::RequestOptions,
3436    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
3437    {
3438        gaxi::unimplemented::unimplemented_stub()
3439    }
3440
3441    /// Implements [super::client::Images::insert].
3442    fn insert(
3443        &self,
3444        _req: crate::model::images::InsertRequest,
3445        _options: crate::RequestOptions,
3446    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3447    {
3448        gaxi::unimplemented::unimplemented_stub()
3449    }
3450
3451    /// Implements [super::client::Images::list].
3452    fn list(
3453        &self,
3454        _req: crate::model::images::ListRequest,
3455        _options: crate::RequestOptions,
3456    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ImageList>>> + Send
3457    {
3458        gaxi::unimplemented::unimplemented_stub()
3459    }
3460
3461    /// Implements [super::client::Images::patch].
3462    fn patch(
3463        &self,
3464        _req: crate::model::images::PatchRequest,
3465        _options: crate::RequestOptions,
3466    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3467    {
3468        gaxi::unimplemented::unimplemented_stub()
3469    }
3470
3471    /// Implements [super::client::Images::set_iam_policy].
3472    fn set_iam_policy(
3473        &self,
3474        _req: crate::model::images::SetIamPolicyRequest,
3475        _options: crate::RequestOptions,
3476    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
3477    {
3478        gaxi::unimplemented::unimplemented_stub()
3479    }
3480
3481    /// Implements [super::client::Images::set_labels].
3482    fn set_labels(
3483        &self,
3484        _req: crate::model::images::SetLabelsRequest,
3485        _options: crate::RequestOptions,
3486    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3487    {
3488        gaxi::unimplemented::unimplemented_stub()
3489    }
3490
3491    /// Implements [super::client::Images::test_iam_permissions].
3492    fn test_iam_permissions(
3493        &self,
3494        _req: crate::model::images::TestIamPermissionsRequest,
3495        _options: crate::RequestOptions,
3496    ) -> impl std::future::Future<
3497        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3498    > + Send {
3499        gaxi::unimplemented::unimplemented_stub()
3500    }
3501
3502    /// Implements [super::client::Images::get_operation].
3503    fn get_operation(
3504        &self,
3505        _req: crate::model::global_operations::GetRequest,
3506        _options: crate::RequestOptions,
3507    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3508    {
3509        gaxi::unimplemented::unimplemented_stub()
3510    }
3511
3512    /// Returns the polling error policy.
3513    ///
3514    /// When mocking, this method is typically irrelevant. Do not try to verify
3515    /// it is called by your mocks.
3516    fn get_polling_error_policy(
3517        &self,
3518        _options: &crate::RequestOptions,
3519    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3520        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3521    }
3522
3523    /// Returns the polling backoff policy.
3524    ///
3525    /// When mocking, this method is typically irrelevant. Do not try to verify
3526    /// it is called by your mocks.
3527    fn get_polling_backoff_policy(
3528        &self,
3529        _options: &crate::RequestOptions,
3530    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3531        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3532    }
3533
3534    #[doc(hidden)]
3535    /// Returns the poller options.
3536    ///
3537    /// When mocking, this method is typically irrelevant. Do not try to verify
3538    /// it is called by your mocks.
3539    fn get_poller_options(
3540        &self,
3541        _options: &crate::RequestOptions,
3542    ) -> google_cloud_lro::PollerOptions {
3543        google_cloud_lro::PollerOptions::default()
3544    }
3545}
3546
3547/// Defines the trait used to implement [super::client::InstanceGroupManagerResizeRequests].
3548///
3549/// Application developers may need to implement this trait to mock
3550/// `client::InstanceGroupManagerResizeRequests`.  In other use-cases, application developers only
3551/// use `client::InstanceGroupManagerResizeRequests` and need not be concerned with this trait or
3552/// its implementations.
3553///
3554/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3555/// too. To avoid breaking applications the trait provides a default
3556/// implementation of each method. Most of these implementations just return an
3557/// error.
3558#[cfg(feature = "instance-group-manager-resize-requests")]
3559#[cfg_attr(docsrs, doc(cfg(feature = "instance-group-manager-resize-requests")))]
3560pub trait InstanceGroupManagerResizeRequests: std::fmt::Debug + Send + Sync {
3561    /// Implements [super::client::InstanceGroupManagerResizeRequests::cancel].
3562    fn cancel(
3563        &self,
3564        _req: crate::model::instance_group_manager_resize_requests::CancelRequest,
3565        _options: crate::RequestOptions,
3566    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3567    {
3568        gaxi::unimplemented::unimplemented_stub()
3569    }
3570
3571    /// Implements [super::client::InstanceGroupManagerResizeRequests::delete].
3572    fn delete(
3573        &self,
3574        _req: crate::model::instance_group_manager_resize_requests::DeleteRequest,
3575        _options: crate::RequestOptions,
3576    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3577    {
3578        gaxi::unimplemented::unimplemented_stub()
3579    }
3580
3581    /// Implements [super::client::InstanceGroupManagerResizeRequests::get].
3582    fn get(
3583        &self,
3584        _req: crate::model::instance_group_manager_resize_requests::GetRequest,
3585        _options: crate::RequestOptions,
3586    ) -> impl std::future::Future<
3587        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerResizeRequest>>,
3588    > + Send {
3589        gaxi::unimplemented::unimplemented_stub()
3590    }
3591
3592    /// Implements [super::client::InstanceGroupManagerResizeRequests::insert].
3593    fn insert(
3594        &self,
3595        _req: crate::model::instance_group_manager_resize_requests::InsertRequest,
3596        _options: crate::RequestOptions,
3597    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3598    {
3599        gaxi::unimplemented::unimplemented_stub()
3600    }
3601
3602    /// Implements [super::client::InstanceGroupManagerResizeRequests::list].
3603    fn list(
3604        &self,
3605        _req: crate::model::instance_group_manager_resize_requests::ListRequest,
3606        _options: crate::RequestOptions,
3607    ) -> impl std::future::Future<
3608        Output = crate::Result<
3609            crate::Response<crate::model::InstanceGroupManagerResizeRequestsListResponse>,
3610        >,
3611    > + Send {
3612        gaxi::unimplemented::unimplemented_stub()
3613    }
3614
3615    /// Implements [super::client::InstanceGroupManagerResizeRequests::get_operation].
3616    fn get_operation(
3617        &self,
3618        _req: crate::model::zone_operations::GetRequest,
3619        _options: crate::RequestOptions,
3620    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3621    {
3622        gaxi::unimplemented::unimplemented_stub()
3623    }
3624
3625    /// Returns the polling error policy.
3626    ///
3627    /// When mocking, this method is typically irrelevant. Do not try to verify
3628    /// it is called by your mocks.
3629    fn get_polling_error_policy(
3630        &self,
3631        _options: &crate::RequestOptions,
3632    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3633        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3634    }
3635
3636    /// Returns the polling backoff policy.
3637    ///
3638    /// When mocking, this method is typically irrelevant. Do not try to verify
3639    /// it is called by your mocks.
3640    fn get_polling_backoff_policy(
3641        &self,
3642        _options: &crate::RequestOptions,
3643    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3644        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3645    }
3646
3647    #[doc(hidden)]
3648    /// Returns the poller options.
3649    ///
3650    /// When mocking, this method is typically irrelevant. Do not try to verify
3651    /// it is called by your mocks.
3652    fn get_poller_options(
3653        &self,
3654        _options: &crate::RequestOptions,
3655    ) -> google_cloud_lro::PollerOptions {
3656        google_cloud_lro::PollerOptions::default()
3657    }
3658}
3659
3660/// Defines the trait used to implement [super::client::InstanceGroupManagers].
3661///
3662/// Application developers may need to implement this trait to mock
3663/// `client::InstanceGroupManagers`.  In other use-cases, application developers only
3664/// use `client::InstanceGroupManagers` and need not be concerned with this trait or
3665/// its implementations.
3666///
3667/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3668/// too. To avoid breaking applications the trait provides a default
3669/// implementation of each method. Most of these implementations just return an
3670/// error.
3671#[cfg(feature = "instance-group-managers")]
3672#[cfg_attr(docsrs, doc(cfg(feature = "instance-group-managers")))]
3673pub trait InstanceGroupManagers: std::fmt::Debug + Send + Sync {
3674    /// Implements [super::client::InstanceGroupManagers::abandon_instances].
3675    fn abandon_instances(
3676        &self,
3677        _req: crate::model::instance_group_managers::AbandonInstancesRequest,
3678        _options: crate::RequestOptions,
3679    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3680    {
3681        gaxi::unimplemented::unimplemented_stub()
3682    }
3683
3684    /// Implements [super::client::InstanceGroupManagers::aggregated_list].
3685    fn aggregated_list(
3686        &self,
3687        _req: crate::model::instance_group_managers::AggregatedListRequest,
3688        _options: crate::RequestOptions,
3689    ) -> impl std::future::Future<
3690        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerAggregatedList>>,
3691    > + Send {
3692        gaxi::unimplemented::unimplemented_stub()
3693    }
3694
3695    /// Implements [super::client::InstanceGroupManagers::apply_updates_to_instances].
3696    fn apply_updates_to_instances(
3697        &self,
3698        _req: crate::model::instance_group_managers::ApplyUpdatesToInstancesRequest,
3699        _options: crate::RequestOptions,
3700    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3701    {
3702        gaxi::unimplemented::unimplemented_stub()
3703    }
3704
3705    /// Implements [super::client::InstanceGroupManagers::create_instances].
3706    fn create_instances(
3707        &self,
3708        _req: crate::model::instance_group_managers::CreateInstancesRequest,
3709        _options: crate::RequestOptions,
3710    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3711    {
3712        gaxi::unimplemented::unimplemented_stub()
3713    }
3714
3715    /// Implements [super::client::InstanceGroupManagers::delete].
3716    fn delete(
3717        &self,
3718        _req: crate::model::instance_group_managers::DeleteRequest,
3719        _options: crate::RequestOptions,
3720    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3721    {
3722        gaxi::unimplemented::unimplemented_stub()
3723    }
3724
3725    /// Implements [super::client::InstanceGroupManagers::delete_instances].
3726    fn delete_instances(
3727        &self,
3728        _req: crate::model::instance_group_managers::DeleteInstancesRequest,
3729        _options: crate::RequestOptions,
3730    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3731    {
3732        gaxi::unimplemented::unimplemented_stub()
3733    }
3734
3735    /// Implements [super::client::InstanceGroupManagers::delete_per_instance_configs].
3736    fn delete_per_instance_configs(
3737        &self,
3738        _req: crate::model::instance_group_managers::DeletePerInstanceConfigsRequest,
3739        _options: crate::RequestOptions,
3740    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3741    {
3742        gaxi::unimplemented::unimplemented_stub()
3743    }
3744
3745    /// Implements [super::client::InstanceGroupManagers::get].
3746    fn get(
3747        &self,
3748        _req: crate::model::instance_group_managers::GetRequest,
3749        _options: crate::RequestOptions,
3750    ) -> impl std::future::Future<
3751        Output = crate::Result<crate::Response<crate::model::InstanceGroupManager>>,
3752    > + Send {
3753        gaxi::unimplemented::unimplemented_stub()
3754    }
3755
3756    /// Implements [super::client::InstanceGroupManagers::insert].
3757    fn insert(
3758        &self,
3759        _req: crate::model::instance_group_managers::InsertRequest,
3760        _options: crate::RequestOptions,
3761    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3762    {
3763        gaxi::unimplemented::unimplemented_stub()
3764    }
3765
3766    /// Implements [super::client::InstanceGroupManagers::list].
3767    fn list(
3768        &self,
3769        _req: crate::model::instance_group_managers::ListRequest,
3770        _options: crate::RequestOptions,
3771    ) -> impl std::future::Future<
3772        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerList>>,
3773    > + Send {
3774        gaxi::unimplemented::unimplemented_stub()
3775    }
3776
3777    /// Implements [super::client::InstanceGroupManagers::list_errors].
3778    fn list_errors(
3779        &self,
3780        _req: crate::model::instance_group_managers::ListErrorsRequest,
3781        _options: crate::RequestOptions,
3782    ) -> impl std::future::Future<
3783        Output = crate::Result<
3784            crate::Response<crate::model::InstanceGroupManagersListErrorsResponse>,
3785        >,
3786    > + Send {
3787        gaxi::unimplemented::unimplemented_stub()
3788    }
3789
3790    /// Implements [super::client::InstanceGroupManagers::list_managed_instances].
3791    fn list_managed_instances(
3792        &self,
3793        _req: crate::model::instance_group_managers::ListManagedInstancesRequest,
3794        _options: crate::RequestOptions,
3795    ) -> impl std::future::Future<
3796        Output = crate::Result<
3797            crate::Response<crate::model::InstanceGroupManagersListManagedInstancesResponse>,
3798        >,
3799    > + Send {
3800        gaxi::unimplemented::unimplemented_stub()
3801    }
3802
3803    /// Implements [super::client::InstanceGroupManagers::list_per_instance_configs].
3804    fn list_per_instance_configs(
3805        &self,
3806        _req: crate::model::instance_group_managers::ListPerInstanceConfigsRequest,
3807        _options: crate::RequestOptions,
3808    ) -> impl std::future::Future<
3809        Output = crate::Result<
3810            crate::Response<crate::model::InstanceGroupManagersListPerInstanceConfigsResp>,
3811        >,
3812    > + Send {
3813        gaxi::unimplemented::unimplemented_stub()
3814    }
3815
3816    /// Implements [super::client::InstanceGroupManagers::patch].
3817    fn patch(
3818        &self,
3819        _req: crate::model::instance_group_managers::PatchRequest,
3820        _options: crate::RequestOptions,
3821    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3822    {
3823        gaxi::unimplemented::unimplemented_stub()
3824    }
3825
3826    /// Implements [super::client::InstanceGroupManagers::patch_per_instance_configs].
3827    fn patch_per_instance_configs(
3828        &self,
3829        _req: crate::model::instance_group_managers::PatchPerInstanceConfigsRequest,
3830        _options: crate::RequestOptions,
3831    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3832    {
3833        gaxi::unimplemented::unimplemented_stub()
3834    }
3835
3836    /// Implements [super::client::InstanceGroupManagers::recreate_instances].
3837    fn recreate_instances(
3838        &self,
3839        _req: crate::model::instance_group_managers::RecreateInstancesRequest,
3840        _options: crate::RequestOptions,
3841    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3842    {
3843        gaxi::unimplemented::unimplemented_stub()
3844    }
3845
3846    /// Implements [super::client::InstanceGroupManagers::resize].
3847    fn resize(
3848        &self,
3849        _req: crate::model::instance_group_managers::ResizeRequest,
3850        _options: crate::RequestOptions,
3851    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3852    {
3853        gaxi::unimplemented::unimplemented_stub()
3854    }
3855
3856    /// Implements [super::client::InstanceGroupManagers::resume_instances].
3857    fn resume_instances(
3858        &self,
3859        _req: crate::model::instance_group_managers::ResumeInstancesRequest,
3860        _options: crate::RequestOptions,
3861    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3862    {
3863        gaxi::unimplemented::unimplemented_stub()
3864    }
3865
3866    /// Implements [super::client::InstanceGroupManagers::set_instance_template].
3867    fn set_instance_template(
3868        &self,
3869        _req: crate::model::instance_group_managers::SetInstanceTemplateRequest,
3870        _options: crate::RequestOptions,
3871    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3872    {
3873        gaxi::unimplemented::unimplemented_stub()
3874    }
3875
3876    /// Implements [super::client::InstanceGroupManagers::set_target_pools].
3877    fn set_target_pools(
3878        &self,
3879        _req: crate::model::instance_group_managers::SetTargetPoolsRequest,
3880        _options: crate::RequestOptions,
3881    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3882    {
3883        gaxi::unimplemented::unimplemented_stub()
3884    }
3885
3886    /// Implements [super::client::InstanceGroupManagers::start_instances].
3887    fn start_instances(
3888        &self,
3889        _req: crate::model::instance_group_managers::StartInstancesRequest,
3890        _options: crate::RequestOptions,
3891    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3892    {
3893        gaxi::unimplemented::unimplemented_stub()
3894    }
3895
3896    /// Implements [super::client::InstanceGroupManagers::stop_instances].
3897    fn stop_instances(
3898        &self,
3899        _req: crate::model::instance_group_managers::StopInstancesRequest,
3900        _options: crate::RequestOptions,
3901    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3902    {
3903        gaxi::unimplemented::unimplemented_stub()
3904    }
3905
3906    /// Implements [super::client::InstanceGroupManagers::suspend_instances].
3907    fn suspend_instances(
3908        &self,
3909        _req: crate::model::instance_group_managers::SuspendInstancesRequest,
3910        _options: crate::RequestOptions,
3911    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3912    {
3913        gaxi::unimplemented::unimplemented_stub()
3914    }
3915
3916    /// Implements [super::client::InstanceGroupManagers::update_per_instance_configs].
3917    fn update_per_instance_configs(
3918        &self,
3919        _req: crate::model::instance_group_managers::UpdatePerInstanceConfigsRequest,
3920        _options: crate::RequestOptions,
3921    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3922    {
3923        gaxi::unimplemented::unimplemented_stub()
3924    }
3925
3926    /// Implements [super::client::InstanceGroupManagers::get_operation].
3927    fn get_operation(
3928        &self,
3929        _req: crate::model::zone_operations::GetRequest,
3930        _options: crate::RequestOptions,
3931    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3932    {
3933        gaxi::unimplemented::unimplemented_stub()
3934    }
3935
3936    /// Returns the polling error policy.
3937    ///
3938    /// When mocking, this method is typically irrelevant. Do not try to verify
3939    /// it is called by your mocks.
3940    fn get_polling_error_policy(
3941        &self,
3942        _options: &crate::RequestOptions,
3943    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3944        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3945    }
3946
3947    /// Returns the polling backoff policy.
3948    ///
3949    /// When mocking, this method is typically irrelevant. Do not try to verify
3950    /// it is called by your mocks.
3951    fn get_polling_backoff_policy(
3952        &self,
3953        _options: &crate::RequestOptions,
3954    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3955        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3956    }
3957
3958    #[doc(hidden)]
3959    /// Returns the poller options.
3960    ///
3961    /// When mocking, this method is typically irrelevant. Do not try to verify
3962    /// it is called by your mocks.
3963    fn get_poller_options(
3964        &self,
3965        _options: &crate::RequestOptions,
3966    ) -> google_cloud_lro::PollerOptions {
3967        google_cloud_lro::PollerOptions::default()
3968    }
3969}
3970
3971/// Defines the trait used to implement [super::client::InstanceGroups].
3972///
3973/// Application developers may need to implement this trait to mock
3974/// `client::InstanceGroups`.  In other use-cases, application developers only
3975/// use `client::InstanceGroups` and need not be concerned with this trait or
3976/// its implementations.
3977///
3978/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3979/// too. To avoid breaking applications the trait provides a default
3980/// implementation of each method. Most of these implementations just return an
3981/// error.
3982#[cfg(feature = "instance-groups")]
3983#[cfg_attr(docsrs, doc(cfg(feature = "instance-groups")))]
3984pub trait InstanceGroups: std::fmt::Debug + Send + Sync {
3985    /// Implements [super::client::InstanceGroups::add_instances].
3986    fn add_instances(
3987        &self,
3988        _req: crate::model::instance_groups::AddInstancesRequest,
3989        _options: crate::RequestOptions,
3990    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3991    {
3992        gaxi::unimplemented::unimplemented_stub()
3993    }
3994
3995    /// Implements [super::client::InstanceGroups::aggregated_list].
3996    fn aggregated_list(
3997        &self,
3998        _req: crate::model::instance_groups::AggregatedListRequest,
3999        _options: crate::RequestOptions,
4000    ) -> impl std::future::Future<
4001        Output = crate::Result<crate::Response<crate::model::InstanceGroupAggregatedList>>,
4002    > + Send {
4003        gaxi::unimplemented::unimplemented_stub()
4004    }
4005
4006    /// Implements [super::client::InstanceGroups::delete].
4007    fn delete(
4008        &self,
4009        _req: crate::model::instance_groups::DeleteRequest,
4010        _options: crate::RequestOptions,
4011    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4012    {
4013        gaxi::unimplemented::unimplemented_stub()
4014    }
4015
4016    /// Implements [super::client::InstanceGroups::get].
4017    fn get(
4018        &self,
4019        _req: crate::model::instance_groups::GetRequest,
4020        _options: crate::RequestOptions,
4021    ) -> impl std::future::Future<
4022        Output = crate::Result<crate::Response<crate::model::InstanceGroup>>,
4023    > + Send {
4024        gaxi::unimplemented::unimplemented_stub()
4025    }
4026
4027    /// Implements [super::client::InstanceGroups::insert].
4028    fn insert(
4029        &self,
4030        _req: crate::model::instance_groups::InsertRequest,
4031        _options: crate::RequestOptions,
4032    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4033    {
4034        gaxi::unimplemented::unimplemented_stub()
4035    }
4036
4037    /// Implements [super::client::InstanceGroups::list].
4038    fn list(
4039        &self,
4040        _req: crate::model::instance_groups::ListRequest,
4041        _options: crate::RequestOptions,
4042    ) -> impl std::future::Future<
4043        Output = crate::Result<crate::Response<crate::model::InstanceGroupList>>,
4044    > + Send {
4045        gaxi::unimplemented::unimplemented_stub()
4046    }
4047
4048    /// Implements [super::client::InstanceGroups::list_instances].
4049    fn list_instances(
4050        &self,
4051        _req: crate::model::instance_groups::ListInstancesRequest,
4052        _options: crate::RequestOptions,
4053    ) -> impl std::future::Future<
4054        Output = crate::Result<crate::Response<crate::model::InstanceGroupsListInstances>>,
4055    > + Send {
4056        gaxi::unimplemented::unimplemented_stub()
4057    }
4058
4059    /// Implements [super::client::InstanceGroups::remove_instances].
4060    fn remove_instances(
4061        &self,
4062        _req: crate::model::instance_groups::RemoveInstancesRequest,
4063        _options: crate::RequestOptions,
4064    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4065    {
4066        gaxi::unimplemented::unimplemented_stub()
4067    }
4068
4069    /// Implements [super::client::InstanceGroups::set_named_ports].
4070    fn set_named_ports(
4071        &self,
4072        _req: crate::model::instance_groups::SetNamedPortsRequest,
4073        _options: crate::RequestOptions,
4074    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4075    {
4076        gaxi::unimplemented::unimplemented_stub()
4077    }
4078
4079    /// Implements [super::client::InstanceGroups::test_iam_permissions].
4080    fn test_iam_permissions(
4081        &self,
4082        _req: crate::model::instance_groups::TestIamPermissionsRequest,
4083        _options: crate::RequestOptions,
4084    ) -> impl std::future::Future<
4085        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4086    > + Send {
4087        gaxi::unimplemented::unimplemented_stub()
4088    }
4089
4090    /// Implements [super::client::InstanceGroups::get_operation].
4091    fn get_operation(
4092        &self,
4093        _req: crate::model::zone_operations::GetRequest,
4094        _options: crate::RequestOptions,
4095    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4096    {
4097        gaxi::unimplemented::unimplemented_stub()
4098    }
4099
4100    /// Returns the polling error policy.
4101    ///
4102    /// When mocking, this method is typically irrelevant. Do not try to verify
4103    /// it is called by your mocks.
4104    fn get_polling_error_policy(
4105        &self,
4106        _options: &crate::RequestOptions,
4107    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4108        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4109    }
4110
4111    /// Returns the polling backoff policy.
4112    ///
4113    /// When mocking, this method is typically irrelevant. Do not try to verify
4114    /// it is called by your mocks.
4115    fn get_polling_backoff_policy(
4116        &self,
4117        _options: &crate::RequestOptions,
4118    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4119        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4120    }
4121
4122    #[doc(hidden)]
4123    /// Returns the poller options.
4124    ///
4125    /// When mocking, this method is typically irrelevant. Do not try to verify
4126    /// it is called by your mocks.
4127    fn get_poller_options(
4128        &self,
4129        _options: &crate::RequestOptions,
4130    ) -> google_cloud_lro::PollerOptions {
4131        google_cloud_lro::PollerOptions::default()
4132    }
4133}
4134
4135/// Defines the trait used to implement [super::client::InstanceSettings].
4136///
4137/// Application developers may need to implement this trait to mock
4138/// `client::InstanceSettings`.  In other use-cases, application developers only
4139/// use `client::InstanceSettings` and need not be concerned with this trait or
4140/// its implementations.
4141///
4142/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4143/// too. To avoid breaking applications the trait provides a default
4144/// implementation of each method. Most of these implementations just return an
4145/// error.
4146#[cfg(feature = "instance-settings")]
4147#[cfg_attr(docsrs, doc(cfg(feature = "instance-settings")))]
4148pub trait InstanceSettings: std::fmt::Debug + Send + Sync {
4149    /// Implements [super::client::InstanceSettings::get].
4150    fn get(
4151        &self,
4152        _req: crate::model::instance_settings::GetRequest,
4153        _options: crate::RequestOptions,
4154    ) -> impl std::future::Future<
4155        Output = crate::Result<crate::Response<crate::model::InstanceSettings>>,
4156    > + Send {
4157        gaxi::unimplemented::unimplemented_stub()
4158    }
4159
4160    /// Implements [super::client::InstanceSettings::patch].
4161    fn patch(
4162        &self,
4163        _req: crate::model::instance_settings::PatchRequest,
4164        _options: crate::RequestOptions,
4165    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4166    {
4167        gaxi::unimplemented::unimplemented_stub()
4168    }
4169
4170    /// Implements [super::client::InstanceSettings::get_operation].
4171    fn get_operation(
4172        &self,
4173        _req: crate::model::zone_operations::GetRequest,
4174        _options: crate::RequestOptions,
4175    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4176    {
4177        gaxi::unimplemented::unimplemented_stub()
4178    }
4179
4180    /// Returns the polling error policy.
4181    ///
4182    /// When mocking, this method is typically irrelevant. Do not try to verify
4183    /// it is called by your mocks.
4184    fn get_polling_error_policy(
4185        &self,
4186        _options: &crate::RequestOptions,
4187    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4188        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4189    }
4190
4191    /// Returns the polling backoff policy.
4192    ///
4193    /// When mocking, this method is typically irrelevant. Do not try to verify
4194    /// it is called by your mocks.
4195    fn get_polling_backoff_policy(
4196        &self,
4197        _options: &crate::RequestOptions,
4198    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4199        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4200    }
4201
4202    #[doc(hidden)]
4203    /// Returns the poller options.
4204    ///
4205    /// When mocking, this method is typically irrelevant. Do not try to verify
4206    /// it is called by your mocks.
4207    fn get_poller_options(
4208        &self,
4209        _options: &crate::RequestOptions,
4210    ) -> google_cloud_lro::PollerOptions {
4211        google_cloud_lro::PollerOptions::default()
4212    }
4213}
4214
4215/// Defines the trait used to implement [super::client::InstanceTemplates].
4216///
4217/// Application developers may need to implement this trait to mock
4218/// `client::InstanceTemplates`.  In other use-cases, application developers only
4219/// use `client::InstanceTemplates` and need not be concerned with this trait or
4220/// its implementations.
4221///
4222/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4223/// too. To avoid breaking applications the trait provides a default
4224/// implementation of each method. Most of these implementations just return an
4225/// error.
4226#[cfg(feature = "instance-templates")]
4227#[cfg_attr(docsrs, doc(cfg(feature = "instance-templates")))]
4228pub trait InstanceTemplates: std::fmt::Debug + Send + Sync {
4229    /// Implements [super::client::InstanceTemplates::aggregated_list].
4230    fn aggregated_list(
4231        &self,
4232        _req: crate::model::instance_templates::AggregatedListRequest,
4233        _options: crate::RequestOptions,
4234    ) -> impl std::future::Future<
4235        Output = crate::Result<crate::Response<crate::model::InstanceTemplateAggregatedList>>,
4236    > + Send {
4237        gaxi::unimplemented::unimplemented_stub()
4238    }
4239
4240    /// Implements [super::client::InstanceTemplates::delete].
4241    fn delete(
4242        &self,
4243        _req: crate::model::instance_templates::DeleteRequest,
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    /// Implements [super::client::InstanceTemplates::get].
4251    fn get(
4252        &self,
4253        _req: crate::model::instance_templates::GetRequest,
4254        _options: crate::RequestOptions,
4255    ) -> impl std::future::Future<
4256        Output = crate::Result<crate::Response<crate::model::InstanceTemplate>>,
4257    > + Send {
4258        gaxi::unimplemented::unimplemented_stub()
4259    }
4260
4261    /// Implements [super::client::InstanceTemplates::get_iam_policy].
4262    fn get_iam_policy(
4263        &self,
4264        _req: crate::model::instance_templates::GetIamPolicyRequest,
4265        _options: crate::RequestOptions,
4266    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4267    {
4268        gaxi::unimplemented::unimplemented_stub()
4269    }
4270
4271    /// Implements [super::client::InstanceTemplates::insert].
4272    fn insert(
4273        &self,
4274        _req: crate::model::instance_templates::InsertRequest,
4275        _options: crate::RequestOptions,
4276    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4277    {
4278        gaxi::unimplemented::unimplemented_stub()
4279    }
4280
4281    /// Implements [super::client::InstanceTemplates::list].
4282    fn list(
4283        &self,
4284        _req: crate::model::instance_templates::ListRequest,
4285        _options: crate::RequestOptions,
4286    ) -> impl std::future::Future<
4287        Output = crate::Result<crate::Response<crate::model::InstanceTemplateList>>,
4288    > + Send {
4289        gaxi::unimplemented::unimplemented_stub()
4290    }
4291
4292    /// Implements [super::client::InstanceTemplates::set_iam_policy].
4293    fn set_iam_policy(
4294        &self,
4295        _req: crate::model::instance_templates::SetIamPolicyRequest,
4296        _options: crate::RequestOptions,
4297    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4298    {
4299        gaxi::unimplemented::unimplemented_stub()
4300    }
4301
4302    /// Implements [super::client::InstanceTemplates::test_iam_permissions].
4303    fn test_iam_permissions(
4304        &self,
4305        _req: crate::model::instance_templates::TestIamPermissionsRequest,
4306        _options: crate::RequestOptions,
4307    ) -> impl std::future::Future<
4308        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4309    > + Send {
4310        gaxi::unimplemented::unimplemented_stub()
4311    }
4312
4313    /// Implements [super::client::InstanceTemplates::get_operation].
4314    fn get_operation(
4315        &self,
4316        _req: crate::model::global_operations::GetRequest,
4317        _options: crate::RequestOptions,
4318    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4319    {
4320        gaxi::unimplemented::unimplemented_stub()
4321    }
4322
4323    /// Returns the polling error policy.
4324    ///
4325    /// When mocking, this method is typically irrelevant. Do not try to verify
4326    /// it is called by your mocks.
4327    fn get_polling_error_policy(
4328        &self,
4329        _options: &crate::RequestOptions,
4330    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4331        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4332    }
4333
4334    /// Returns the polling backoff policy.
4335    ///
4336    /// When mocking, this method is typically irrelevant. Do not try to verify
4337    /// it is called by your mocks.
4338    fn get_polling_backoff_policy(
4339        &self,
4340        _options: &crate::RequestOptions,
4341    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4342        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4343    }
4344
4345    #[doc(hidden)]
4346    /// Returns the poller options.
4347    ///
4348    /// When mocking, this method is typically irrelevant. Do not try to verify
4349    /// it is called by your mocks.
4350    fn get_poller_options(
4351        &self,
4352        _options: &crate::RequestOptions,
4353    ) -> google_cloud_lro::PollerOptions {
4354        google_cloud_lro::PollerOptions::default()
4355    }
4356}
4357
4358/// Defines the trait used to implement [super::client::Instances].
4359///
4360/// Application developers may need to implement this trait to mock
4361/// `client::Instances`.  In other use-cases, application developers only
4362/// use `client::Instances` and need not be concerned with this trait or
4363/// its implementations.
4364///
4365/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4366/// too. To avoid breaking applications the trait provides a default
4367/// implementation of each method. Most of these implementations just return an
4368/// error.
4369#[cfg(feature = "instances")]
4370#[cfg_attr(docsrs, doc(cfg(feature = "instances")))]
4371pub trait Instances: std::fmt::Debug + Send + Sync {
4372    /// Implements [super::client::Instances::add_access_config].
4373    fn add_access_config(
4374        &self,
4375        _req: crate::model::instances::AddAccessConfigRequest,
4376        _options: crate::RequestOptions,
4377    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4378    {
4379        gaxi::unimplemented::unimplemented_stub()
4380    }
4381
4382    /// Implements [super::client::Instances::add_network_interface].
4383    fn add_network_interface(
4384        &self,
4385        _req: crate::model::instances::AddNetworkInterfaceRequest,
4386        _options: crate::RequestOptions,
4387    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4388    {
4389        gaxi::unimplemented::unimplemented_stub()
4390    }
4391
4392    /// Implements [super::client::Instances::add_resource_policies].
4393    fn add_resource_policies(
4394        &self,
4395        _req: crate::model::instances::AddResourcePoliciesRequest,
4396        _options: crate::RequestOptions,
4397    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4398    {
4399        gaxi::unimplemented::unimplemented_stub()
4400    }
4401
4402    /// Implements [super::client::Instances::aggregated_list].
4403    fn aggregated_list(
4404        &self,
4405        _req: crate::model::instances::AggregatedListRequest,
4406        _options: crate::RequestOptions,
4407    ) -> impl std::future::Future<
4408        Output = crate::Result<crate::Response<crate::model::InstanceAggregatedList>>,
4409    > + Send {
4410        gaxi::unimplemented::unimplemented_stub()
4411    }
4412
4413    /// Implements [super::client::Instances::attach_disk].
4414    fn attach_disk(
4415        &self,
4416        _req: crate::model::instances::AttachDiskRequest,
4417        _options: crate::RequestOptions,
4418    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4419    {
4420        gaxi::unimplemented::unimplemented_stub()
4421    }
4422
4423    /// Implements [super::client::Instances::bulk_insert].
4424    fn bulk_insert(
4425        &self,
4426        _req: crate::model::instances::BulkInsertRequest,
4427        _options: crate::RequestOptions,
4428    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4429    {
4430        gaxi::unimplemented::unimplemented_stub()
4431    }
4432
4433    /// Implements [super::client::Instances::delete].
4434    fn delete(
4435        &self,
4436        _req: crate::model::instances::DeleteRequest,
4437        _options: crate::RequestOptions,
4438    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4439    {
4440        gaxi::unimplemented::unimplemented_stub()
4441    }
4442
4443    /// Implements [super::client::Instances::delete_access_config].
4444    fn delete_access_config(
4445        &self,
4446        _req: crate::model::instances::DeleteAccessConfigRequest,
4447        _options: crate::RequestOptions,
4448    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4449    {
4450        gaxi::unimplemented::unimplemented_stub()
4451    }
4452
4453    /// Implements [super::client::Instances::delete_network_interface].
4454    fn delete_network_interface(
4455        &self,
4456        _req: crate::model::instances::DeleteNetworkInterfaceRequest,
4457        _options: crate::RequestOptions,
4458    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4459    {
4460        gaxi::unimplemented::unimplemented_stub()
4461    }
4462
4463    /// Implements [super::client::Instances::detach_disk].
4464    fn detach_disk(
4465        &self,
4466        _req: crate::model::instances::DetachDiskRequest,
4467        _options: crate::RequestOptions,
4468    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4469    {
4470        gaxi::unimplemented::unimplemented_stub()
4471    }
4472
4473    /// Implements [super::client::Instances::get].
4474    fn get(
4475        &self,
4476        _req: crate::model::instances::GetRequest,
4477        _options: crate::RequestOptions,
4478    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Instance>>> + Send
4479    {
4480        gaxi::unimplemented::unimplemented_stub()
4481    }
4482
4483    /// Implements [super::client::Instances::get_effective_firewalls].
4484    fn get_effective_firewalls(
4485        &self,
4486        _req: crate::model::instances::GetEffectiveFirewallsRequest,
4487        _options: crate::RequestOptions,
4488    ) -> impl std::future::Future<
4489        Output = crate::Result<
4490            crate::Response<crate::model::InstancesGetEffectiveFirewallsResponse>,
4491        >,
4492    > + Send {
4493        gaxi::unimplemented::unimplemented_stub()
4494    }
4495
4496    /// Implements [super::client::Instances::get_guest_attributes].
4497    fn get_guest_attributes(
4498        &self,
4499        _req: crate::model::instances::GetGuestAttributesRequest,
4500        _options: crate::RequestOptions,
4501    ) -> impl std::future::Future<
4502        Output = crate::Result<crate::Response<crate::model::GuestAttributes>>,
4503    > + Send {
4504        gaxi::unimplemented::unimplemented_stub()
4505    }
4506
4507    /// Implements [super::client::Instances::get_iam_policy].
4508    fn get_iam_policy(
4509        &self,
4510        _req: crate::model::instances::GetIamPolicyRequest,
4511        _options: crate::RequestOptions,
4512    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4513    {
4514        gaxi::unimplemented::unimplemented_stub()
4515    }
4516
4517    /// Implements [super::client::Instances::get_screenshot].
4518    fn get_screenshot(
4519        &self,
4520        _req: crate::model::instances::GetScreenshotRequest,
4521        _options: crate::RequestOptions,
4522    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Screenshot>>> + Send
4523    {
4524        gaxi::unimplemented::unimplemented_stub()
4525    }
4526
4527    /// Implements [super::client::Instances::get_serial_port_output].
4528    fn get_serial_port_output(
4529        &self,
4530        _req: crate::model::instances::GetSerialPortOutputRequest,
4531        _options: crate::RequestOptions,
4532    ) -> impl std::future::Future<
4533        Output = crate::Result<crate::Response<crate::model::SerialPortOutput>>,
4534    > + Send {
4535        gaxi::unimplemented::unimplemented_stub()
4536    }
4537
4538    /// Implements [super::client::Instances::get_shielded_instance_identity].
4539    fn get_shielded_instance_identity(
4540        &self,
4541        _req: crate::model::instances::GetShieldedInstanceIdentityRequest,
4542        _options: crate::RequestOptions,
4543    ) -> impl std::future::Future<
4544        Output = crate::Result<crate::Response<crate::model::ShieldedInstanceIdentity>>,
4545    > + Send {
4546        gaxi::unimplemented::unimplemented_stub()
4547    }
4548
4549    /// Implements [super::client::Instances::insert].
4550    fn insert(
4551        &self,
4552        _req: crate::model::instances::InsertRequest,
4553        _options: crate::RequestOptions,
4554    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4555    {
4556        gaxi::unimplemented::unimplemented_stub()
4557    }
4558
4559    /// Implements [super::client::Instances::list].
4560    fn list(
4561        &self,
4562        _req: crate::model::instances::ListRequest,
4563        _options: crate::RequestOptions,
4564    ) -> impl std::future::Future<
4565        Output = crate::Result<crate::Response<crate::model::InstanceList>>,
4566    > + Send {
4567        gaxi::unimplemented::unimplemented_stub()
4568    }
4569
4570    /// Implements [super::client::Instances::list_referrers].
4571    fn list_referrers(
4572        &self,
4573        _req: crate::model::instances::ListReferrersRequest,
4574        _options: crate::RequestOptions,
4575    ) -> impl std::future::Future<
4576        Output = crate::Result<crate::Response<crate::model::InstanceListReferrers>>,
4577    > + Send {
4578        gaxi::unimplemented::unimplemented_stub()
4579    }
4580
4581    /// Implements [super::client::Instances::perform_maintenance].
4582    fn perform_maintenance(
4583        &self,
4584        _req: crate::model::instances::PerformMaintenanceRequest,
4585        _options: crate::RequestOptions,
4586    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4587    {
4588        gaxi::unimplemented::unimplemented_stub()
4589    }
4590
4591    /// Implements [super::client::Instances::remove_resource_policies].
4592    fn remove_resource_policies(
4593        &self,
4594        _req: crate::model::instances::RemoveResourcePoliciesRequest,
4595        _options: crate::RequestOptions,
4596    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4597    {
4598        gaxi::unimplemented::unimplemented_stub()
4599    }
4600
4601    /// Implements [super::client::Instances::report_host_as_faulty].
4602    fn report_host_as_faulty(
4603        &self,
4604        _req: crate::model::instances::ReportHostAsFaultyRequest,
4605        _options: crate::RequestOptions,
4606    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4607    {
4608        gaxi::unimplemented::unimplemented_stub()
4609    }
4610
4611    /// Implements [super::client::Instances::reset].
4612    fn reset(
4613        &self,
4614        _req: crate::model::instances::ResetRequest,
4615        _options: crate::RequestOptions,
4616    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4617    {
4618        gaxi::unimplemented::unimplemented_stub()
4619    }
4620
4621    /// Implements [super::client::Instances::resume].
4622    fn resume(
4623        &self,
4624        _req: crate::model::instances::ResumeRequest,
4625        _options: crate::RequestOptions,
4626    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4627    {
4628        gaxi::unimplemented::unimplemented_stub()
4629    }
4630
4631    /// Implements [super::client::Instances::send_diagnostic_interrupt].
4632    fn send_diagnostic_interrupt(
4633        &self,
4634        _req: crate::model::instances::SendDiagnosticInterruptRequest,
4635        _options: crate::RequestOptions,
4636    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
4637        gaxi::unimplemented::unimplemented_stub()
4638    }
4639
4640    /// Implements [super::client::Instances::set_deletion_protection].
4641    fn set_deletion_protection(
4642        &self,
4643        _req: crate::model::instances::SetDeletionProtectionRequest,
4644        _options: crate::RequestOptions,
4645    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4646    {
4647        gaxi::unimplemented::unimplemented_stub()
4648    }
4649
4650    /// Implements [super::client::Instances::set_disk_auto_delete].
4651    fn set_disk_auto_delete(
4652        &self,
4653        _req: crate::model::instances::SetDiskAutoDeleteRequest,
4654        _options: crate::RequestOptions,
4655    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4656    {
4657        gaxi::unimplemented::unimplemented_stub()
4658    }
4659
4660    /// Implements [super::client::Instances::set_iam_policy].
4661    fn set_iam_policy(
4662        &self,
4663        _req: crate::model::instances::SetIamPolicyRequest,
4664        _options: crate::RequestOptions,
4665    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4666    {
4667        gaxi::unimplemented::unimplemented_stub()
4668    }
4669
4670    /// Implements [super::client::Instances::set_labels].
4671    fn set_labels(
4672        &self,
4673        _req: crate::model::instances::SetLabelsRequest,
4674        _options: crate::RequestOptions,
4675    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4676    {
4677        gaxi::unimplemented::unimplemented_stub()
4678    }
4679
4680    /// Implements [super::client::Instances::set_machine_resources].
4681    fn set_machine_resources(
4682        &self,
4683        _req: crate::model::instances::SetMachineResourcesRequest,
4684        _options: crate::RequestOptions,
4685    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4686    {
4687        gaxi::unimplemented::unimplemented_stub()
4688    }
4689
4690    /// Implements [super::client::Instances::set_machine_type].
4691    fn set_machine_type(
4692        &self,
4693        _req: crate::model::instances::SetMachineTypeRequest,
4694        _options: crate::RequestOptions,
4695    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4696    {
4697        gaxi::unimplemented::unimplemented_stub()
4698    }
4699
4700    /// Implements [super::client::Instances::set_metadata].
4701    fn set_metadata(
4702        &self,
4703        _req: crate::model::instances::SetMetadataRequest,
4704        _options: crate::RequestOptions,
4705    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4706    {
4707        gaxi::unimplemented::unimplemented_stub()
4708    }
4709
4710    /// Implements [super::client::Instances::set_min_cpu_platform].
4711    fn set_min_cpu_platform(
4712        &self,
4713        _req: crate::model::instances::SetMinCpuPlatformRequest,
4714        _options: crate::RequestOptions,
4715    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4716    {
4717        gaxi::unimplemented::unimplemented_stub()
4718    }
4719
4720    /// Implements [super::client::Instances::set_name].
4721    fn set_name(
4722        &self,
4723        _req: crate::model::instances::SetNameRequest,
4724        _options: crate::RequestOptions,
4725    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4726    {
4727        gaxi::unimplemented::unimplemented_stub()
4728    }
4729
4730    /// Implements [super::client::Instances::set_scheduling].
4731    fn set_scheduling(
4732        &self,
4733        _req: crate::model::instances::SetSchedulingRequest,
4734        _options: crate::RequestOptions,
4735    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4736    {
4737        gaxi::unimplemented::unimplemented_stub()
4738    }
4739
4740    /// Implements [super::client::Instances::set_security_policy].
4741    fn set_security_policy(
4742        &self,
4743        _req: crate::model::instances::SetSecurityPolicyRequest,
4744        _options: crate::RequestOptions,
4745    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4746    {
4747        gaxi::unimplemented::unimplemented_stub()
4748    }
4749
4750    /// Implements [super::client::Instances::set_service_account].
4751    fn set_service_account(
4752        &self,
4753        _req: crate::model::instances::SetServiceAccountRequest,
4754        _options: crate::RequestOptions,
4755    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4756    {
4757        gaxi::unimplemented::unimplemented_stub()
4758    }
4759
4760    /// Implements [super::client::Instances::set_shielded_instance_integrity_policy].
4761    fn set_shielded_instance_integrity_policy(
4762        &self,
4763        _req: crate::model::instances::SetShieldedInstanceIntegrityPolicyRequest,
4764        _options: crate::RequestOptions,
4765    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4766    {
4767        gaxi::unimplemented::unimplemented_stub()
4768    }
4769
4770    /// Implements [super::client::Instances::set_tags].
4771    fn set_tags(
4772        &self,
4773        _req: crate::model::instances::SetTagsRequest,
4774        _options: crate::RequestOptions,
4775    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4776    {
4777        gaxi::unimplemented::unimplemented_stub()
4778    }
4779
4780    /// Implements [super::client::Instances::simulate_maintenance_event].
4781    fn simulate_maintenance_event(
4782        &self,
4783        _req: crate::model::instances::SimulateMaintenanceEventRequest,
4784        _options: crate::RequestOptions,
4785    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4786    {
4787        gaxi::unimplemented::unimplemented_stub()
4788    }
4789
4790    /// Implements [super::client::Instances::start].
4791    fn start(
4792        &self,
4793        _req: crate::model::instances::StartRequest,
4794        _options: crate::RequestOptions,
4795    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4796    {
4797        gaxi::unimplemented::unimplemented_stub()
4798    }
4799
4800    /// Implements [super::client::Instances::start_with_encryption_key].
4801    fn start_with_encryption_key(
4802        &self,
4803        _req: crate::model::instances::StartWithEncryptionKeyRequest,
4804        _options: crate::RequestOptions,
4805    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4806    {
4807        gaxi::unimplemented::unimplemented_stub()
4808    }
4809
4810    /// Implements [super::client::Instances::stop].
4811    fn stop(
4812        &self,
4813        _req: crate::model::instances::StopRequest,
4814        _options: crate::RequestOptions,
4815    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4816    {
4817        gaxi::unimplemented::unimplemented_stub()
4818    }
4819
4820    /// Implements [super::client::Instances::suspend].
4821    fn suspend(
4822        &self,
4823        _req: crate::model::instances::SuspendRequest,
4824        _options: crate::RequestOptions,
4825    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4826    {
4827        gaxi::unimplemented::unimplemented_stub()
4828    }
4829
4830    /// Implements [super::client::Instances::test_iam_permissions].
4831    fn test_iam_permissions(
4832        &self,
4833        _req: crate::model::instances::TestIamPermissionsRequest,
4834        _options: crate::RequestOptions,
4835    ) -> impl std::future::Future<
4836        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4837    > + Send {
4838        gaxi::unimplemented::unimplemented_stub()
4839    }
4840
4841    /// Implements [super::client::Instances::update].
4842    fn update(
4843        &self,
4844        _req: crate::model::instances::UpdateRequest,
4845        _options: crate::RequestOptions,
4846    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4847    {
4848        gaxi::unimplemented::unimplemented_stub()
4849    }
4850
4851    /// Implements [super::client::Instances::update_access_config].
4852    fn update_access_config(
4853        &self,
4854        _req: crate::model::instances::UpdateAccessConfigRequest,
4855        _options: crate::RequestOptions,
4856    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4857    {
4858        gaxi::unimplemented::unimplemented_stub()
4859    }
4860
4861    /// Implements [super::client::Instances::update_display_device].
4862    fn update_display_device(
4863        &self,
4864        _req: crate::model::instances::UpdateDisplayDeviceRequest,
4865        _options: crate::RequestOptions,
4866    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4867    {
4868        gaxi::unimplemented::unimplemented_stub()
4869    }
4870
4871    /// Implements [super::client::Instances::update_network_interface].
4872    fn update_network_interface(
4873        &self,
4874        _req: crate::model::instances::UpdateNetworkInterfaceRequest,
4875        _options: crate::RequestOptions,
4876    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4877    {
4878        gaxi::unimplemented::unimplemented_stub()
4879    }
4880
4881    /// Implements [super::client::Instances::update_shielded_instance_config].
4882    fn update_shielded_instance_config(
4883        &self,
4884        _req: crate::model::instances::UpdateShieldedInstanceConfigRequest,
4885        _options: crate::RequestOptions,
4886    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4887    {
4888        gaxi::unimplemented::unimplemented_stub()
4889    }
4890
4891    /// Implements [super::client::Instances::get_operation].
4892    fn get_operation(
4893        &self,
4894        _req: crate::model::zone_operations::GetRequest,
4895        _options: crate::RequestOptions,
4896    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4897    {
4898        gaxi::unimplemented::unimplemented_stub()
4899    }
4900
4901    /// Returns the polling error policy.
4902    ///
4903    /// When mocking, this method is typically irrelevant. Do not try to verify
4904    /// it is called by your mocks.
4905    fn get_polling_error_policy(
4906        &self,
4907        _options: &crate::RequestOptions,
4908    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4909        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4910    }
4911
4912    /// Returns the polling backoff policy.
4913    ///
4914    /// When mocking, this method is typically irrelevant. Do not try to verify
4915    /// it is called by your mocks.
4916    fn get_polling_backoff_policy(
4917        &self,
4918        _options: &crate::RequestOptions,
4919    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4920        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4921    }
4922
4923    #[doc(hidden)]
4924    /// Returns the poller options.
4925    ///
4926    /// When mocking, this method is typically irrelevant. Do not try to verify
4927    /// it is called by your mocks.
4928    fn get_poller_options(
4929        &self,
4930        _options: &crate::RequestOptions,
4931    ) -> google_cloud_lro::PollerOptions {
4932        google_cloud_lro::PollerOptions::default()
4933    }
4934}
4935
4936/// Defines the trait used to implement [super::client::InstantSnapshotGroups].
4937///
4938/// Application developers may need to implement this trait to mock
4939/// `client::InstantSnapshotGroups`.  In other use-cases, application developers only
4940/// use `client::InstantSnapshotGroups` and need not be concerned with this trait or
4941/// its implementations.
4942///
4943/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4944/// too. To avoid breaking applications the trait provides a default
4945/// implementation of each method. Most of these implementations just return an
4946/// error.
4947#[cfg(feature = "instant-snapshot-groups")]
4948#[cfg_attr(docsrs, doc(cfg(feature = "instant-snapshot-groups")))]
4949pub trait InstantSnapshotGroups: std::fmt::Debug + Send + Sync {
4950    /// Implements [super::client::InstantSnapshotGroups::delete].
4951    fn delete(
4952        &self,
4953        _req: crate::model::instant_snapshot_groups::DeleteRequest,
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    /// Implements [super::client::InstantSnapshotGroups::get].
4961    fn get(
4962        &self,
4963        _req: crate::model::instant_snapshot_groups::GetRequest,
4964        _options: crate::RequestOptions,
4965    ) -> impl std::future::Future<
4966        Output = crate::Result<crate::Response<crate::model::InstantSnapshotGroup>>,
4967    > + Send {
4968        gaxi::unimplemented::unimplemented_stub()
4969    }
4970
4971    /// Implements [super::client::InstantSnapshotGroups::get_iam_policy].
4972    fn get_iam_policy(
4973        &self,
4974        _req: crate::model::instant_snapshot_groups::GetIamPolicyRequest,
4975        _options: crate::RequestOptions,
4976    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4977    {
4978        gaxi::unimplemented::unimplemented_stub()
4979    }
4980
4981    /// Implements [super::client::InstantSnapshotGroups::insert].
4982    fn insert(
4983        &self,
4984        _req: crate::model::instant_snapshot_groups::InsertRequest,
4985        _options: crate::RequestOptions,
4986    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4987    {
4988        gaxi::unimplemented::unimplemented_stub()
4989    }
4990
4991    /// Implements [super::client::InstantSnapshotGroups::list].
4992    fn list(
4993        &self,
4994        _req: crate::model::instant_snapshot_groups::ListRequest,
4995        _options: crate::RequestOptions,
4996    ) -> impl std::future::Future<
4997        Output = crate::Result<crate::Response<crate::model::ListInstantSnapshotGroups>>,
4998    > + Send {
4999        gaxi::unimplemented::unimplemented_stub()
5000    }
5001
5002    /// Implements [super::client::InstantSnapshotGroups::set_iam_policy].
5003    fn set_iam_policy(
5004        &self,
5005        _req: crate::model::instant_snapshot_groups::SetIamPolicyRequest,
5006        _options: crate::RequestOptions,
5007    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5008    {
5009        gaxi::unimplemented::unimplemented_stub()
5010    }
5011
5012    /// Implements [super::client::InstantSnapshotGroups::test_iam_permissions].
5013    fn test_iam_permissions(
5014        &self,
5015        _req: crate::model::instant_snapshot_groups::TestIamPermissionsRequest,
5016        _options: crate::RequestOptions,
5017    ) -> impl std::future::Future<
5018        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5019    > + Send {
5020        gaxi::unimplemented::unimplemented_stub()
5021    }
5022
5023    /// Implements [super::client::InstantSnapshotGroups::get_operation].
5024    fn get_operation(
5025        &self,
5026        _req: crate::model::zone_operations::GetRequest,
5027        _options: crate::RequestOptions,
5028    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5029    {
5030        gaxi::unimplemented::unimplemented_stub()
5031    }
5032
5033    /// Returns the polling error policy.
5034    ///
5035    /// When mocking, this method is typically irrelevant. Do not try to verify
5036    /// it is called by your mocks.
5037    fn get_polling_error_policy(
5038        &self,
5039        _options: &crate::RequestOptions,
5040    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5041        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5042    }
5043
5044    /// Returns the polling backoff policy.
5045    ///
5046    /// When mocking, this method is typically irrelevant. Do not try to verify
5047    /// it is called by your mocks.
5048    fn get_polling_backoff_policy(
5049        &self,
5050        _options: &crate::RequestOptions,
5051    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5052        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5053    }
5054
5055    #[doc(hidden)]
5056    /// Returns the poller options.
5057    ///
5058    /// When mocking, this method is typically irrelevant. Do not try to verify
5059    /// it is called by your mocks.
5060    fn get_poller_options(
5061        &self,
5062        _options: &crate::RequestOptions,
5063    ) -> google_cloud_lro::PollerOptions {
5064        google_cloud_lro::PollerOptions::default()
5065    }
5066}
5067
5068/// Defines the trait used to implement [super::client::InstantSnapshots].
5069///
5070/// Application developers may need to implement this trait to mock
5071/// `client::InstantSnapshots`.  In other use-cases, application developers only
5072/// use `client::InstantSnapshots` and need not be concerned with this trait or
5073/// its implementations.
5074///
5075/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5076/// too. To avoid breaking applications the trait provides a default
5077/// implementation of each method. Most of these implementations just return an
5078/// error.
5079#[cfg(feature = "instant-snapshots")]
5080#[cfg_attr(docsrs, doc(cfg(feature = "instant-snapshots")))]
5081pub trait InstantSnapshots: std::fmt::Debug + Send + Sync {
5082    /// Implements [super::client::InstantSnapshots::aggregated_list].
5083    fn aggregated_list(
5084        &self,
5085        _req: crate::model::instant_snapshots::AggregatedListRequest,
5086        _options: crate::RequestOptions,
5087    ) -> impl std::future::Future<
5088        Output = crate::Result<crate::Response<crate::model::InstantSnapshotAggregatedList>>,
5089    > + Send {
5090        gaxi::unimplemented::unimplemented_stub()
5091    }
5092
5093    /// Implements [super::client::InstantSnapshots::delete].
5094    fn delete(
5095        &self,
5096        _req: crate::model::instant_snapshots::DeleteRequest,
5097        _options: crate::RequestOptions,
5098    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5099    {
5100        gaxi::unimplemented::unimplemented_stub()
5101    }
5102
5103    /// Implements [super::client::InstantSnapshots::get].
5104    fn get(
5105        &self,
5106        _req: crate::model::instant_snapshots::GetRequest,
5107        _options: crate::RequestOptions,
5108    ) -> impl std::future::Future<
5109        Output = crate::Result<crate::Response<crate::model::InstantSnapshot>>,
5110    > + Send {
5111        gaxi::unimplemented::unimplemented_stub()
5112    }
5113
5114    /// Implements [super::client::InstantSnapshots::get_iam_policy].
5115    fn get_iam_policy(
5116        &self,
5117        _req: crate::model::instant_snapshots::GetIamPolicyRequest,
5118        _options: crate::RequestOptions,
5119    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5120    {
5121        gaxi::unimplemented::unimplemented_stub()
5122    }
5123
5124    /// Implements [super::client::InstantSnapshots::insert].
5125    fn insert(
5126        &self,
5127        _req: crate::model::instant_snapshots::InsertRequest,
5128        _options: crate::RequestOptions,
5129    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5130    {
5131        gaxi::unimplemented::unimplemented_stub()
5132    }
5133
5134    /// Implements [super::client::InstantSnapshots::list].
5135    fn list(
5136        &self,
5137        _req: crate::model::instant_snapshots::ListRequest,
5138        _options: crate::RequestOptions,
5139    ) -> impl std::future::Future<
5140        Output = crate::Result<crate::Response<crate::model::InstantSnapshotList>>,
5141    > + Send {
5142        gaxi::unimplemented::unimplemented_stub()
5143    }
5144
5145    /// Implements [super::client::InstantSnapshots::set_iam_policy].
5146    fn set_iam_policy(
5147        &self,
5148        _req: crate::model::instant_snapshots::SetIamPolicyRequest,
5149        _options: crate::RequestOptions,
5150    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5151    {
5152        gaxi::unimplemented::unimplemented_stub()
5153    }
5154
5155    /// Implements [super::client::InstantSnapshots::set_labels].
5156    fn set_labels(
5157        &self,
5158        _req: crate::model::instant_snapshots::SetLabelsRequest,
5159        _options: crate::RequestOptions,
5160    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5161    {
5162        gaxi::unimplemented::unimplemented_stub()
5163    }
5164
5165    /// Implements [super::client::InstantSnapshots::test_iam_permissions].
5166    fn test_iam_permissions(
5167        &self,
5168        _req: crate::model::instant_snapshots::TestIamPermissionsRequest,
5169        _options: crate::RequestOptions,
5170    ) -> impl std::future::Future<
5171        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5172    > + Send {
5173        gaxi::unimplemented::unimplemented_stub()
5174    }
5175
5176    /// Implements [super::client::InstantSnapshots::get_operation].
5177    fn get_operation(
5178        &self,
5179        _req: crate::model::zone_operations::GetRequest,
5180        _options: crate::RequestOptions,
5181    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5182    {
5183        gaxi::unimplemented::unimplemented_stub()
5184    }
5185
5186    /// Returns the polling error policy.
5187    ///
5188    /// When mocking, this method is typically irrelevant. Do not try to verify
5189    /// it is called by your mocks.
5190    fn get_polling_error_policy(
5191        &self,
5192        _options: &crate::RequestOptions,
5193    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5194        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5195    }
5196
5197    /// Returns the polling backoff policy.
5198    ///
5199    /// When mocking, this method is typically irrelevant. Do not try to verify
5200    /// it is called by your mocks.
5201    fn get_polling_backoff_policy(
5202        &self,
5203        _options: &crate::RequestOptions,
5204    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5205        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5206    }
5207
5208    #[doc(hidden)]
5209    /// Returns the poller options.
5210    ///
5211    /// When mocking, this method is typically irrelevant. Do not try to verify
5212    /// it is called by your mocks.
5213    fn get_poller_options(
5214        &self,
5215        _options: &crate::RequestOptions,
5216    ) -> google_cloud_lro::PollerOptions {
5217        google_cloud_lro::PollerOptions::default()
5218    }
5219}
5220
5221/// Defines the trait used to implement [super::client::InterconnectAttachmentGroups].
5222///
5223/// Application developers may need to implement this trait to mock
5224/// `client::InterconnectAttachmentGroups`.  In other use-cases, application developers only
5225/// use `client::InterconnectAttachmentGroups` and need not be concerned with this trait or
5226/// its implementations.
5227///
5228/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5229/// too. To avoid breaking applications the trait provides a default
5230/// implementation of each method. Most of these implementations just return an
5231/// error.
5232#[cfg(feature = "interconnect-attachment-groups")]
5233#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-attachment-groups")))]
5234pub trait InterconnectAttachmentGroups: std::fmt::Debug + Send + Sync {
5235    /// Implements [super::client::InterconnectAttachmentGroups::delete].
5236    fn delete(
5237        &self,
5238        _req: crate::model::interconnect_attachment_groups::DeleteRequest,
5239        _options: crate::RequestOptions,
5240    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5241    {
5242        gaxi::unimplemented::unimplemented_stub()
5243    }
5244
5245    /// Implements [super::client::InterconnectAttachmentGroups::get].
5246    fn get(
5247        &self,
5248        _req: crate::model::interconnect_attachment_groups::GetRequest,
5249        _options: crate::RequestOptions,
5250    ) -> impl std::future::Future<
5251        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentGroup>>,
5252    > + Send {
5253        gaxi::unimplemented::unimplemented_stub()
5254    }
5255
5256    /// Implements [super::client::InterconnectAttachmentGroups::get_iam_policy].
5257    fn get_iam_policy(
5258        &self,
5259        _req: crate::model::interconnect_attachment_groups::GetIamPolicyRequest,
5260        _options: crate::RequestOptions,
5261    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5262    {
5263        gaxi::unimplemented::unimplemented_stub()
5264    }
5265
5266    /// Implements [super::client::InterconnectAttachmentGroups::get_operational_status].
5267    fn get_operational_status(
5268        &self,
5269        _req: crate::model::interconnect_attachment_groups::GetOperationalStatusRequest,
5270        _options: crate::RequestOptions,
5271    ) -> impl std::future::Future<
5272        Output = crate::Result<
5273            crate::Response<crate::model::InterconnectAttachmentGroupsGetOperationalStatusResponse>,
5274        >,
5275    > + Send {
5276        gaxi::unimplemented::unimplemented_stub()
5277    }
5278
5279    /// Implements [super::client::InterconnectAttachmentGroups::insert].
5280    fn insert(
5281        &self,
5282        _req: crate::model::interconnect_attachment_groups::InsertRequest,
5283        _options: crate::RequestOptions,
5284    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5285    {
5286        gaxi::unimplemented::unimplemented_stub()
5287    }
5288
5289    /// Implements [super::client::InterconnectAttachmentGroups::list].
5290    fn list(
5291        &self,
5292        _req: crate::model::interconnect_attachment_groups::ListRequest,
5293        _options: crate::RequestOptions,
5294    ) -> impl std::future::Future<
5295        Output = crate::Result<
5296            crate::Response<crate::model::InterconnectAttachmentGroupsListResponse>,
5297        >,
5298    > + Send {
5299        gaxi::unimplemented::unimplemented_stub()
5300    }
5301
5302    /// Implements [super::client::InterconnectAttachmentGroups::patch].
5303    fn patch(
5304        &self,
5305        _req: crate::model::interconnect_attachment_groups::PatchRequest,
5306        _options: crate::RequestOptions,
5307    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5308    {
5309        gaxi::unimplemented::unimplemented_stub()
5310    }
5311
5312    /// Implements [super::client::InterconnectAttachmentGroups::set_iam_policy].
5313    fn set_iam_policy(
5314        &self,
5315        _req: crate::model::interconnect_attachment_groups::SetIamPolicyRequest,
5316        _options: crate::RequestOptions,
5317    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5318    {
5319        gaxi::unimplemented::unimplemented_stub()
5320    }
5321
5322    /// Implements [super::client::InterconnectAttachmentGroups::test_iam_permissions].
5323    fn test_iam_permissions(
5324        &self,
5325        _req: crate::model::interconnect_attachment_groups::TestIamPermissionsRequest,
5326        _options: crate::RequestOptions,
5327    ) -> impl std::future::Future<
5328        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5329    > + Send {
5330        gaxi::unimplemented::unimplemented_stub()
5331    }
5332
5333    /// Implements [super::client::InterconnectAttachmentGroups::get_operation].
5334    fn get_operation(
5335        &self,
5336        _req: crate::model::global_operations::GetRequest,
5337        _options: crate::RequestOptions,
5338    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5339    {
5340        gaxi::unimplemented::unimplemented_stub()
5341    }
5342
5343    /// Returns the polling error policy.
5344    ///
5345    /// When mocking, this method is typically irrelevant. Do not try to verify
5346    /// it is called by your mocks.
5347    fn get_polling_error_policy(
5348        &self,
5349        _options: &crate::RequestOptions,
5350    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5351        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5352    }
5353
5354    /// Returns the polling backoff policy.
5355    ///
5356    /// When mocking, this method is typically irrelevant. Do not try to verify
5357    /// it is called by your mocks.
5358    fn get_polling_backoff_policy(
5359        &self,
5360        _options: &crate::RequestOptions,
5361    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5362        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5363    }
5364
5365    #[doc(hidden)]
5366    /// Returns the poller options.
5367    ///
5368    /// When mocking, this method is typically irrelevant. Do not try to verify
5369    /// it is called by your mocks.
5370    fn get_poller_options(
5371        &self,
5372        _options: &crate::RequestOptions,
5373    ) -> google_cloud_lro::PollerOptions {
5374        google_cloud_lro::PollerOptions::default()
5375    }
5376}
5377
5378/// Defines the trait used to implement [super::client::InterconnectAttachments].
5379///
5380/// Application developers may need to implement this trait to mock
5381/// `client::InterconnectAttachments`.  In other use-cases, application developers only
5382/// use `client::InterconnectAttachments` and need not be concerned with this trait or
5383/// its implementations.
5384///
5385/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5386/// too. To avoid breaking applications the trait provides a default
5387/// implementation of each method. Most of these implementations just return an
5388/// error.
5389#[cfg(feature = "interconnect-attachments")]
5390#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-attachments")))]
5391pub trait InterconnectAttachments: std::fmt::Debug + Send + Sync {
5392    /// Implements [super::client::InterconnectAttachments::aggregated_list].
5393    fn aggregated_list(
5394        &self,
5395        _req: crate::model::interconnect_attachments::AggregatedListRequest,
5396        _options: crate::RequestOptions,
5397    ) -> impl std::future::Future<
5398        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentAggregatedList>>,
5399    > + Send {
5400        gaxi::unimplemented::unimplemented_stub()
5401    }
5402
5403    /// Implements [super::client::InterconnectAttachments::delete].
5404    fn delete(
5405        &self,
5406        _req: crate::model::interconnect_attachments::DeleteRequest,
5407        _options: crate::RequestOptions,
5408    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5409    {
5410        gaxi::unimplemented::unimplemented_stub()
5411    }
5412
5413    /// Implements [super::client::InterconnectAttachments::get].
5414    fn get(
5415        &self,
5416        _req: crate::model::interconnect_attachments::GetRequest,
5417        _options: crate::RequestOptions,
5418    ) -> impl std::future::Future<
5419        Output = crate::Result<crate::Response<crate::model::InterconnectAttachment>>,
5420    > + Send {
5421        gaxi::unimplemented::unimplemented_stub()
5422    }
5423
5424    /// Implements [super::client::InterconnectAttachments::insert].
5425    fn insert(
5426        &self,
5427        _req: crate::model::interconnect_attachments::InsertRequest,
5428        _options: crate::RequestOptions,
5429    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5430    {
5431        gaxi::unimplemented::unimplemented_stub()
5432    }
5433
5434    /// Implements [super::client::InterconnectAttachments::list].
5435    fn list(
5436        &self,
5437        _req: crate::model::interconnect_attachments::ListRequest,
5438        _options: crate::RequestOptions,
5439    ) -> impl std::future::Future<
5440        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentList>>,
5441    > + Send {
5442        gaxi::unimplemented::unimplemented_stub()
5443    }
5444
5445    /// Implements [super::client::InterconnectAttachments::patch].
5446    fn patch(
5447        &self,
5448        _req: crate::model::interconnect_attachments::PatchRequest,
5449        _options: crate::RequestOptions,
5450    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5451    {
5452        gaxi::unimplemented::unimplemented_stub()
5453    }
5454
5455    /// Implements [super::client::InterconnectAttachments::set_labels].
5456    fn set_labels(
5457        &self,
5458        _req: crate::model::interconnect_attachments::SetLabelsRequest,
5459        _options: crate::RequestOptions,
5460    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5461    {
5462        gaxi::unimplemented::unimplemented_stub()
5463    }
5464
5465    /// Implements [super::client::InterconnectAttachments::get_operation].
5466    fn get_operation(
5467        &self,
5468        _req: crate::model::region_operations::GetRequest,
5469        _options: crate::RequestOptions,
5470    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5471    {
5472        gaxi::unimplemented::unimplemented_stub()
5473    }
5474
5475    /// Returns the polling error policy.
5476    ///
5477    /// When mocking, this method is typically irrelevant. Do not try to verify
5478    /// it is called by your mocks.
5479    fn get_polling_error_policy(
5480        &self,
5481        _options: &crate::RequestOptions,
5482    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5483        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5484    }
5485
5486    /// Returns the polling backoff policy.
5487    ///
5488    /// When mocking, this method is typically irrelevant. Do not try to verify
5489    /// it is called by your mocks.
5490    fn get_polling_backoff_policy(
5491        &self,
5492        _options: &crate::RequestOptions,
5493    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5494        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5495    }
5496
5497    #[doc(hidden)]
5498    /// Returns the poller options.
5499    ///
5500    /// When mocking, this method is typically irrelevant. Do not try to verify
5501    /// it is called by your mocks.
5502    fn get_poller_options(
5503        &self,
5504        _options: &crate::RequestOptions,
5505    ) -> google_cloud_lro::PollerOptions {
5506        google_cloud_lro::PollerOptions::default()
5507    }
5508}
5509
5510/// Defines the trait used to implement [super::client::InterconnectGroups].
5511///
5512/// Application developers may need to implement this trait to mock
5513/// `client::InterconnectGroups`.  In other use-cases, application developers only
5514/// use `client::InterconnectGroups` and need not be concerned with this trait or
5515/// its implementations.
5516///
5517/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5518/// too. To avoid breaking applications the trait provides a default
5519/// implementation of each method. Most of these implementations just return an
5520/// error.
5521#[cfg(feature = "interconnect-groups")]
5522#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-groups")))]
5523pub trait InterconnectGroups: std::fmt::Debug + Send + Sync {
5524    /// Implements [super::client::InterconnectGroups::create_members].
5525    fn create_members(
5526        &self,
5527        _req: crate::model::interconnect_groups::CreateMembersRequest,
5528        _options: crate::RequestOptions,
5529    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5530    {
5531        gaxi::unimplemented::unimplemented_stub()
5532    }
5533
5534    /// Implements [super::client::InterconnectGroups::delete].
5535    fn delete(
5536        &self,
5537        _req: crate::model::interconnect_groups::DeleteRequest,
5538        _options: crate::RequestOptions,
5539    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5540    {
5541        gaxi::unimplemented::unimplemented_stub()
5542    }
5543
5544    /// Implements [super::client::InterconnectGroups::get].
5545    fn get(
5546        &self,
5547        _req: crate::model::interconnect_groups::GetRequest,
5548        _options: crate::RequestOptions,
5549    ) -> impl std::future::Future<
5550        Output = crate::Result<crate::Response<crate::model::InterconnectGroup>>,
5551    > + Send {
5552        gaxi::unimplemented::unimplemented_stub()
5553    }
5554
5555    /// Implements [super::client::InterconnectGroups::get_iam_policy].
5556    fn get_iam_policy(
5557        &self,
5558        _req: crate::model::interconnect_groups::GetIamPolicyRequest,
5559        _options: crate::RequestOptions,
5560    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5561    {
5562        gaxi::unimplemented::unimplemented_stub()
5563    }
5564
5565    /// Implements [super::client::InterconnectGroups::get_operational_status].
5566    fn get_operational_status(
5567        &self,
5568        _req: crate::model::interconnect_groups::GetOperationalStatusRequest,
5569        _options: crate::RequestOptions,
5570    ) -> impl std::future::Future<
5571        Output = crate::Result<
5572            crate::Response<crate::model::InterconnectGroupsGetOperationalStatusResponse>,
5573        >,
5574    > + Send {
5575        gaxi::unimplemented::unimplemented_stub()
5576    }
5577
5578    /// Implements [super::client::InterconnectGroups::insert].
5579    fn insert(
5580        &self,
5581        _req: crate::model::interconnect_groups::InsertRequest,
5582        _options: crate::RequestOptions,
5583    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5584    {
5585        gaxi::unimplemented::unimplemented_stub()
5586    }
5587
5588    /// Implements [super::client::InterconnectGroups::list].
5589    fn list(
5590        &self,
5591        _req: crate::model::interconnect_groups::ListRequest,
5592        _options: crate::RequestOptions,
5593    ) -> impl std::future::Future<
5594        Output = crate::Result<crate::Response<crate::model::InterconnectGroupsListResponse>>,
5595    > + Send {
5596        gaxi::unimplemented::unimplemented_stub()
5597    }
5598
5599    /// Implements [super::client::InterconnectGroups::patch].
5600    fn patch(
5601        &self,
5602        _req: crate::model::interconnect_groups::PatchRequest,
5603        _options: crate::RequestOptions,
5604    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5605    {
5606        gaxi::unimplemented::unimplemented_stub()
5607    }
5608
5609    /// Implements [super::client::InterconnectGroups::set_iam_policy].
5610    fn set_iam_policy(
5611        &self,
5612        _req: crate::model::interconnect_groups::SetIamPolicyRequest,
5613        _options: crate::RequestOptions,
5614    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5615    {
5616        gaxi::unimplemented::unimplemented_stub()
5617    }
5618
5619    /// Implements [super::client::InterconnectGroups::test_iam_permissions].
5620    fn test_iam_permissions(
5621        &self,
5622        _req: crate::model::interconnect_groups::TestIamPermissionsRequest,
5623        _options: crate::RequestOptions,
5624    ) -> impl std::future::Future<
5625        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5626    > + Send {
5627        gaxi::unimplemented::unimplemented_stub()
5628    }
5629
5630    /// Implements [super::client::InterconnectGroups::get_operation].
5631    fn get_operation(
5632        &self,
5633        _req: crate::model::global_operations::GetRequest,
5634        _options: crate::RequestOptions,
5635    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5636    {
5637        gaxi::unimplemented::unimplemented_stub()
5638    }
5639
5640    /// Returns the polling error policy.
5641    ///
5642    /// When mocking, this method is typically irrelevant. Do not try to verify
5643    /// it is called by your mocks.
5644    fn get_polling_error_policy(
5645        &self,
5646        _options: &crate::RequestOptions,
5647    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5648        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5649    }
5650
5651    /// Returns the polling backoff policy.
5652    ///
5653    /// When mocking, this method is typically irrelevant. Do not try to verify
5654    /// it is called by your mocks.
5655    fn get_polling_backoff_policy(
5656        &self,
5657        _options: &crate::RequestOptions,
5658    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5659        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5660    }
5661
5662    #[doc(hidden)]
5663    /// Returns the poller options.
5664    ///
5665    /// When mocking, this method is typically irrelevant. Do not try to verify
5666    /// it is called by your mocks.
5667    fn get_poller_options(
5668        &self,
5669        _options: &crate::RequestOptions,
5670    ) -> google_cloud_lro::PollerOptions {
5671        google_cloud_lro::PollerOptions::default()
5672    }
5673}
5674
5675/// Defines the trait used to implement [super::client::InterconnectLocations].
5676///
5677/// Application developers may need to implement this trait to mock
5678/// `client::InterconnectLocations`.  In other use-cases, application developers only
5679/// use `client::InterconnectLocations` and need not be concerned with this trait or
5680/// its implementations.
5681///
5682/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5683/// too. To avoid breaking applications the trait provides a default
5684/// implementation of each method. Most of these implementations just return an
5685/// error.
5686#[cfg(feature = "interconnect-locations")]
5687#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-locations")))]
5688pub trait InterconnectLocations: std::fmt::Debug + Send + Sync {
5689    /// Implements [super::client::InterconnectLocations::get].
5690    fn get(
5691        &self,
5692        _req: crate::model::interconnect_locations::GetRequest,
5693        _options: crate::RequestOptions,
5694    ) -> impl std::future::Future<
5695        Output = crate::Result<crate::Response<crate::model::InterconnectLocation>>,
5696    > + Send {
5697        gaxi::unimplemented::unimplemented_stub()
5698    }
5699
5700    /// Implements [super::client::InterconnectLocations::list].
5701    fn list(
5702        &self,
5703        _req: crate::model::interconnect_locations::ListRequest,
5704        _options: crate::RequestOptions,
5705    ) -> impl std::future::Future<
5706        Output = crate::Result<crate::Response<crate::model::InterconnectLocationList>>,
5707    > + Send {
5708        gaxi::unimplemented::unimplemented_stub()
5709    }
5710}
5711
5712/// Defines the trait used to implement [super::client::InterconnectRemoteLocations].
5713///
5714/// Application developers may need to implement this trait to mock
5715/// `client::InterconnectRemoteLocations`.  In other use-cases, application developers only
5716/// use `client::InterconnectRemoteLocations` and need not be concerned with this trait or
5717/// its implementations.
5718///
5719/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5720/// too. To avoid breaking applications the trait provides a default
5721/// implementation of each method. Most of these implementations just return an
5722/// error.
5723#[cfg(feature = "interconnect-remote-locations")]
5724#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-remote-locations")))]
5725pub trait InterconnectRemoteLocations: std::fmt::Debug + Send + Sync {
5726    /// Implements [super::client::InterconnectRemoteLocations::get].
5727    fn get(
5728        &self,
5729        _req: crate::model::interconnect_remote_locations::GetRequest,
5730        _options: crate::RequestOptions,
5731    ) -> impl std::future::Future<
5732        Output = crate::Result<crate::Response<crate::model::InterconnectRemoteLocation>>,
5733    > + Send {
5734        gaxi::unimplemented::unimplemented_stub()
5735    }
5736
5737    /// Implements [super::client::InterconnectRemoteLocations::list].
5738    fn list(
5739        &self,
5740        _req: crate::model::interconnect_remote_locations::ListRequest,
5741        _options: crate::RequestOptions,
5742    ) -> impl std::future::Future<
5743        Output = crate::Result<crate::Response<crate::model::InterconnectRemoteLocationList>>,
5744    > + Send {
5745        gaxi::unimplemented::unimplemented_stub()
5746    }
5747}
5748
5749/// Defines the trait used to implement [super::client::Interconnects].
5750///
5751/// Application developers may need to implement this trait to mock
5752/// `client::Interconnects`.  In other use-cases, application developers only
5753/// use `client::Interconnects` and need not be concerned with this trait or
5754/// its implementations.
5755///
5756/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5757/// too. To avoid breaking applications the trait provides a default
5758/// implementation of each method. Most of these implementations just return an
5759/// error.
5760#[cfg(feature = "interconnects")]
5761#[cfg_attr(docsrs, doc(cfg(feature = "interconnects")))]
5762pub trait Interconnects: std::fmt::Debug + Send + Sync {
5763    /// Implements [super::client::Interconnects::delete].
5764    fn delete(
5765        &self,
5766        _req: crate::model::interconnects::DeleteRequest,
5767        _options: crate::RequestOptions,
5768    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5769    {
5770        gaxi::unimplemented::unimplemented_stub()
5771    }
5772
5773    /// Implements [super::client::Interconnects::get].
5774    fn get(
5775        &self,
5776        _req: crate::model::interconnects::GetRequest,
5777        _options: crate::RequestOptions,
5778    ) -> impl std::future::Future<
5779        Output = crate::Result<crate::Response<crate::model::Interconnect>>,
5780    > + Send {
5781        gaxi::unimplemented::unimplemented_stub()
5782    }
5783
5784    /// Implements [super::client::Interconnects::get_diagnostics].
5785    fn get_diagnostics(
5786        &self,
5787        _req: crate::model::interconnects::GetDiagnosticsRequest,
5788        _options: crate::RequestOptions,
5789    ) -> impl std::future::Future<
5790        Output = crate::Result<crate::Response<crate::model::InterconnectsGetDiagnosticsResponse>>,
5791    > + Send {
5792        gaxi::unimplemented::unimplemented_stub()
5793    }
5794
5795    /// Implements [super::client::Interconnects::get_macsec_config].
5796    fn get_macsec_config(
5797        &self,
5798        _req: crate::model::interconnects::GetMacsecConfigRequest,
5799        _options: crate::RequestOptions,
5800    ) -> impl std::future::Future<
5801        Output = crate::Result<crate::Response<crate::model::InterconnectsGetMacsecConfigResponse>>,
5802    > + Send {
5803        gaxi::unimplemented::unimplemented_stub()
5804    }
5805
5806    /// Implements [super::client::Interconnects::insert].
5807    fn insert(
5808        &self,
5809        _req: crate::model::interconnects::InsertRequest,
5810        _options: crate::RequestOptions,
5811    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5812    {
5813        gaxi::unimplemented::unimplemented_stub()
5814    }
5815
5816    /// Implements [super::client::Interconnects::list].
5817    fn list(
5818        &self,
5819        _req: crate::model::interconnects::ListRequest,
5820        _options: crate::RequestOptions,
5821    ) -> impl std::future::Future<
5822        Output = crate::Result<crate::Response<crate::model::InterconnectList>>,
5823    > + Send {
5824        gaxi::unimplemented::unimplemented_stub()
5825    }
5826
5827    /// Implements [super::client::Interconnects::patch].
5828    fn patch(
5829        &self,
5830        _req: crate::model::interconnects::PatchRequest,
5831        _options: crate::RequestOptions,
5832    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5833    {
5834        gaxi::unimplemented::unimplemented_stub()
5835    }
5836
5837    /// Implements [super::client::Interconnects::set_labels].
5838    fn set_labels(
5839        &self,
5840        _req: crate::model::interconnects::SetLabelsRequest,
5841        _options: crate::RequestOptions,
5842    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5843    {
5844        gaxi::unimplemented::unimplemented_stub()
5845    }
5846
5847    /// Implements [super::client::Interconnects::set_name].
5848    fn set_name(
5849        &self,
5850        _req: crate::model::interconnects::SetNameRequest,
5851        _options: crate::RequestOptions,
5852    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5853    {
5854        gaxi::unimplemented::unimplemented_stub()
5855    }
5856
5857    /// Implements [super::client::Interconnects::get_operation].
5858    fn get_operation(
5859        &self,
5860        _req: crate::model::global_operations::GetRequest,
5861        _options: crate::RequestOptions,
5862    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5863    {
5864        gaxi::unimplemented::unimplemented_stub()
5865    }
5866
5867    /// Returns the polling error policy.
5868    ///
5869    /// When mocking, this method is typically irrelevant. Do not try to verify
5870    /// it is called by your mocks.
5871    fn get_polling_error_policy(
5872        &self,
5873        _options: &crate::RequestOptions,
5874    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5875        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5876    }
5877
5878    /// Returns the polling backoff policy.
5879    ///
5880    /// When mocking, this method is typically irrelevant. Do not try to verify
5881    /// it is called by your mocks.
5882    fn get_polling_backoff_policy(
5883        &self,
5884        _options: &crate::RequestOptions,
5885    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5886        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5887    }
5888
5889    #[doc(hidden)]
5890    /// Returns the poller options.
5891    ///
5892    /// When mocking, this method is typically irrelevant. Do not try to verify
5893    /// it is called by your mocks.
5894    fn get_poller_options(
5895        &self,
5896        _options: &crate::RequestOptions,
5897    ) -> google_cloud_lro::PollerOptions {
5898        google_cloud_lro::PollerOptions::default()
5899    }
5900}
5901
5902/// Defines the trait used to implement [super::client::LicenseCodes].
5903///
5904/// Application developers may need to implement this trait to mock
5905/// `client::LicenseCodes`.  In other use-cases, application developers only
5906/// use `client::LicenseCodes` and need not be concerned with this trait or
5907/// its implementations.
5908///
5909/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5910/// too. To avoid breaking applications the trait provides a default
5911/// implementation of each method. Most of these implementations just return an
5912/// error.
5913#[cfg(feature = "license-codes")]
5914#[cfg_attr(docsrs, doc(cfg(feature = "license-codes")))]
5915pub trait LicenseCodes: std::fmt::Debug + Send + Sync {
5916    /// Implements [super::client::LicenseCodes::get].
5917    fn get(
5918        &self,
5919        _req: crate::model::license_codes::GetRequest,
5920        _options: crate::RequestOptions,
5921    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::LicenseCode>>>
5922    + Send {
5923        gaxi::unimplemented::unimplemented_stub()
5924    }
5925
5926    /// Implements [super::client::LicenseCodes::get_iam_policy].
5927    fn get_iam_policy(
5928        &self,
5929        _req: crate::model::license_codes::GetIamPolicyRequest,
5930        _options: crate::RequestOptions,
5931    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5932    {
5933        gaxi::unimplemented::unimplemented_stub()
5934    }
5935
5936    /// Implements [super::client::LicenseCodes::set_iam_policy].
5937    fn set_iam_policy(
5938        &self,
5939        _req: crate::model::license_codes::SetIamPolicyRequest,
5940        _options: crate::RequestOptions,
5941    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5942    {
5943        gaxi::unimplemented::unimplemented_stub()
5944    }
5945
5946    /// Implements [super::client::LicenseCodes::test_iam_permissions].
5947    fn test_iam_permissions(
5948        &self,
5949        _req: crate::model::license_codes::TestIamPermissionsRequest,
5950        _options: crate::RequestOptions,
5951    ) -> impl std::future::Future<
5952        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5953    > + Send {
5954        gaxi::unimplemented::unimplemented_stub()
5955    }
5956}
5957
5958/// Defines the trait used to implement [super::client::Licenses].
5959///
5960/// Application developers may need to implement this trait to mock
5961/// `client::Licenses`.  In other use-cases, application developers only
5962/// use `client::Licenses` and need not be concerned with this trait or
5963/// its implementations.
5964///
5965/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5966/// too. To avoid breaking applications the trait provides a default
5967/// implementation of each method. Most of these implementations just return an
5968/// error.
5969#[cfg(feature = "licenses")]
5970#[cfg_attr(docsrs, doc(cfg(feature = "licenses")))]
5971pub trait Licenses: std::fmt::Debug + Send + Sync {
5972    /// Implements [super::client::Licenses::delete].
5973    fn delete(
5974        &self,
5975        _req: crate::model::licenses::DeleteRequest,
5976        _options: crate::RequestOptions,
5977    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5978    {
5979        gaxi::unimplemented::unimplemented_stub()
5980    }
5981
5982    /// Implements [super::client::Licenses::get].
5983    fn get(
5984        &self,
5985        _req: crate::model::licenses::GetRequest,
5986        _options: crate::RequestOptions,
5987    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::License>>> + Send
5988    {
5989        gaxi::unimplemented::unimplemented_stub()
5990    }
5991
5992    /// Implements [super::client::Licenses::get_iam_policy].
5993    fn get_iam_policy(
5994        &self,
5995        _req: crate::model::licenses::GetIamPolicyRequest,
5996        _options: crate::RequestOptions,
5997    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5998    {
5999        gaxi::unimplemented::unimplemented_stub()
6000    }
6001
6002    /// Implements [super::client::Licenses::insert].
6003    fn insert(
6004        &self,
6005        _req: crate::model::licenses::InsertRequest,
6006        _options: crate::RequestOptions,
6007    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6008    {
6009        gaxi::unimplemented::unimplemented_stub()
6010    }
6011
6012    /// Implements [super::client::Licenses::list].
6013    fn list(
6014        &self,
6015        _req: crate::model::licenses::ListRequest,
6016        _options: crate::RequestOptions,
6017    ) -> impl std::future::Future<
6018        Output = crate::Result<crate::Response<crate::model::LicensesListResponse>>,
6019    > + Send {
6020        gaxi::unimplemented::unimplemented_stub()
6021    }
6022
6023    /// Implements [super::client::Licenses::set_iam_policy].
6024    fn set_iam_policy(
6025        &self,
6026        _req: crate::model::licenses::SetIamPolicyRequest,
6027        _options: crate::RequestOptions,
6028    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6029    {
6030        gaxi::unimplemented::unimplemented_stub()
6031    }
6032
6033    /// Implements [super::client::Licenses::test_iam_permissions].
6034    fn test_iam_permissions(
6035        &self,
6036        _req: crate::model::licenses::TestIamPermissionsRequest,
6037        _options: crate::RequestOptions,
6038    ) -> impl std::future::Future<
6039        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6040    > + Send {
6041        gaxi::unimplemented::unimplemented_stub()
6042    }
6043
6044    /// Implements [super::client::Licenses::update].
6045    fn update(
6046        &self,
6047        _req: crate::model::licenses::UpdateRequest,
6048        _options: crate::RequestOptions,
6049    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6050    {
6051        gaxi::unimplemented::unimplemented_stub()
6052    }
6053
6054    /// Implements [super::client::Licenses::get_operation].
6055    fn get_operation(
6056        &self,
6057        _req: crate::model::global_operations::GetRequest,
6058        _options: crate::RequestOptions,
6059    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6060    {
6061        gaxi::unimplemented::unimplemented_stub()
6062    }
6063
6064    /// Returns the polling error policy.
6065    ///
6066    /// When mocking, this method is typically irrelevant. Do not try to verify
6067    /// it is called by your mocks.
6068    fn get_polling_error_policy(
6069        &self,
6070        _options: &crate::RequestOptions,
6071    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6072        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6073    }
6074
6075    /// Returns the polling backoff policy.
6076    ///
6077    /// When mocking, this method is typically irrelevant. Do not try to verify
6078    /// it is called by your mocks.
6079    fn get_polling_backoff_policy(
6080        &self,
6081        _options: &crate::RequestOptions,
6082    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6083        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6084    }
6085
6086    #[doc(hidden)]
6087    /// Returns the poller options.
6088    ///
6089    /// When mocking, this method is typically irrelevant. Do not try to verify
6090    /// it is called by your mocks.
6091    fn get_poller_options(
6092        &self,
6093        _options: &crate::RequestOptions,
6094    ) -> google_cloud_lro::PollerOptions {
6095        google_cloud_lro::PollerOptions::default()
6096    }
6097}
6098
6099/// Defines the trait used to implement [super::client::MachineImages].
6100///
6101/// Application developers may need to implement this trait to mock
6102/// `client::MachineImages`.  In other use-cases, application developers only
6103/// use `client::MachineImages` and need not be concerned with this trait or
6104/// its implementations.
6105///
6106/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6107/// too. To avoid breaking applications the trait provides a default
6108/// implementation of each method. Most of these implementations just return an
6109/// error.
6110#[cfg(feature = "machine-images")]
6111#[cfg_attr(docsrs, doc(cfg(feature = "machine-images")))]
6112pub trait MachineImages: std::fmt::Debug + Send + Sync {
6113    /// Implements [super::client::MachineImages::delete].
6114    fn delete(
6115        &self,
6116        _req: crate::model::machine_images::DeleteRequest,
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    /// Implements [super::client::MachineImages::get].
6124    fn get(
6125        &self,
6126        _req: crate::model::machine_images::GetRequest,
6127        _options: crate::RequestOptions,
6128    ) -> impl std::future::Future<
6129        Output = crate::Result<crate::Response<crate::model::MachineImage>>,
6130    > + Send {
6131        gaxi::unimplemented::unimplemented_stub()
6132    }
6133
6134    /// Implements [super::client::MachineImages::get_iam_policy].
6135    fn get_iam_policy(
6136        &self,
6137        _req: crate::model::machine_images::GetIamPolicyRequest,
6138        _options: crate::RequestOptions,
6139    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6140    {
6141        gaxi::unimplemented::unimplemented_stub()
6142    }
6143
6144    /// Implements [super::client::MachineImages::insert].
6145    fn insert(
6146        &self,
6147        _req: crate::model::machine_images::InsertRequest,
6148        _options: crate::RequestOptions,
6149    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6150    {
6151        gaxi::unimplemented::unimplemented_stub()
6152    }
6153
6154    /// Implements [super::client::MachineImages::list].
6155    fn list(
6156        &self,
6157        _req: crate::model::machine_images::ListRequest,
6158        _options: crate::RequestOptions,
6159    ) -> impl std::future::Future<
6160        Output = crate::Result<crate::Response<crate::model::MachineImageList>>,
6161    > + Send {
6162        gaxi::unimplemented::unimplemented_stub()
6163    }
6164
6165    /// Implements [super::client::MachineImages::set_iam_policy].
6166    fn set_iam_policy(
6167        &self,
6168        _req: crate::model::machine_images::SetIamPolicyRequest,
6169        _options: crate::RequestOptions,
6170    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6171    {
6172        gaxi::unimplemented::unimplemented_stub()
6173    }
6174
6175    /// Implements [super::client::MachineImages::set_labels].
6176    fn set_labels(
6177        &self,
6178        _req: crate::model::machine_images::SetLabelsRequest,
6179        _options: crate::RequestOptions,
6180    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6181    {
6182        gaxi::unimplemented::unimplemented_stub()
6183    }
6184
6185    /// Implements [super::client::MachineImages::test_iam_permissions].
6186    fn test_iam_permissions(
6187        &self,
6188        _req: crate::model::machine_images::TestIamPermissionsRequest,
6189        _options: crate::RequestOptions,
6190    ) -> impl std::future::Future<
6191        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6192    > + Send {
6193        gaxi::unimplemented::unimplemented_stub()
6194    }
6195
6196    /// Implements [super::client::MachineImages::get_operation].
6197    fn get_operation(
6198        &self,
6199        _req: crate::model::global_operations::GetRequest,
6200        _options: crate::RequestOptions,
6201    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6202    {
6203        gaxi::unimplemented::unimplemented_stub()
6204    }
6205
6206    /// Returns the polling error policy.
6207    ///
6208    /// When mocking, this method is typically irrelevant. Do not try to verify
6209    /// it is called by your mocks.
6210    fn get_polling_error_policy(
6211        &self,
6212        _options: &crate::RequestOptions,
6213    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6214        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6215    }
6216
6217    /// Returns the polling backoff policy.
6218    ///
6219    /// When mocking, this method is typically irrelevant. Do not try to verify
6220    /// it is called by your mocks.
6221    fn get_polling_backoff_policy(
6222        &self,
6223        _options: &crate::RequestOptions,
6224    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6225        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6226    }
6227
6228    #[doc(hidden)]
6229    /// Returns the poller options.
6230    ///
6231    /// When mocking, this method is typically irrelevant. Do not try to verify
6232    /// it is called by your mocks.
6233    fn get_poller_options(
6234        &self,
6235        _options: &crate::RequestOptions,
6236    ) -> google_cloud_lro::PollerOptions {
6237        google_cloud_lro::PollerOptions::default()
6238    }
6239}
6240
6241/// Defines the trait used to implement [super::client::MachineTypes].
6242///
6243/// Application developers may need to implement this trait to mock
6244/// `client::MachineTypes`.  In other use-cases, application developers only
6245/// use `client::MachineTypes` and need not be concerned with this trait or
6246/// its implementations.
6247///
6248/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6249/// too. To avoid breaking applications the trait provides a default
6250/// implementation of each method. Most of these implementations just return an
6251/// error.
6252#[cfg(feature = "machine-types")]
6253#[cfg_attr(docsrs, doc(cfg(feature = "machine-types")))]
6254pub trait MachineTypes: std::fmt::Debug + Send + Sync {
6255    /// Implements [super::client::MachineTypes::aggregated_list].
6256    fn aggregated_list(
6257        &self,
6258        _req: crate::model::machine_types::AggregatedListRequest,
6259        _options: crate::RequestOptions,
6260    ) -> impl std::future::Future<
6261        Output = crate::Result<crate::Response<crate::model::MachineTypeAggregatedList>>,
6262    > + Send {
6263        gaxi::unimplemented::unimplemented_stub()
6264    }
6265
6266    /// Implements [super::client::MachineTypes::get].
6267    fn get(
6268        &self,
6269        _req: crate::model::machine_types::GetRequest,
6270        _options: crate::RequestOptions,
6271    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::MachineType>>>
6272    + Send {
6273        gaxi::unimplemented::unimplemented_stub()
6274    }
6275
6276    /// Implements [super::client::MachineTypes::list].
6277    fn list(
6278        &self,
6279        _req: crate::model::machine_types::ListRequest,
6280        _options: crate::RequestOptions,
6281    ) -> impl std::future::Future<
6282        Output = crate::Result<crate::Response<crate::model::MachineTypeList>>,
6283    > + Send {
6284        gaxi::unimplemented::unimplemented_stub()
6285    }
6286}
6287
6288/// Defines the trait used to implement [super::client::ManagedRulesets].
6289///
6290/// Application developers may need to implement this trait to mock
6291/// `client::ManagedRulesets`.  In other use-cases, application developers only
6292/// use `client::ManagedRulesets` and need not be concerned with this trait or
6293/// its implementations.
6294///
6295/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6296/// too. To avoid breaking applications the trait provides a default
6297/// implementation of each method. Most of these implementations just return an
6298/// error.
6299#[cfg(feature = "managed-rulesets")]
6300#[cfg_attr(docsrs, doc(cfg(feature = "managed-rulesets")))]
6301pub trait ManagedRulesets: std::fmt::Debug + Send + Sync {
6302    /// Implements [super::client::ManagedRulesets::get].
6303    fn get(
6304        &self,
6305        _req: crate::model::managed_rulesets::GetRequest,
6306        _options: crate::RequestOptions,
6307    ) -> impl std::future::Future<
6308        Output = crate::Result<crate::Response<crate::model::ManagedRuleset>>,
6309    > + Send {
6310        gaxi::unimplemented::unimplemented_stub()
6311    }
6312
6313    /// Implements [super::client::ManagedRulesets::list].
6314    fn list(
6315        &self,
6316        _req: crate::model::managed_rulesets::ListRequest,
6317        _options: crate::RequestOptions,
6318    ) -> impl std::future::Future<
6319        Output = crate::Result<crate::Response<crate::model::ManagedRulesetList>>,
6320    > + Send {
6321        gaxi::unimplemented::unimplemented_stub()
6322    }
6323}
6324
6325/// Defines the trait used to implement [super::client::NetworkAttachments].
6326///
6327/// Application developers may need to implement this trait to mock
6328/// `client::NetworkAttachments`.  In other use-cases, application developers only
6329/// use `client::NetworkAttachments` and need not be concerned with this trait or
6330/// its implementations.
6331///
6332/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6333/// too. To avoid breaking applications the trait provides a default
6334/// implementation of each method. Most of these implementations just return an
6335/// error.
6336#[cfg(feature = "network-attachments")]
6337#[cfg_attr(docsrs, doc(cfg(feature = "network-attachments")))]
6338pub trait NetworkAttachments: std::fmt::Debug + Send + Sync {
6339    /// Implements [super::client::NetworkAttachments::aggregated_list].
6340    fn aggregated_list(
6341        &self,
6342        _req: crate::model::network_attachments::AggregatedListRequest,
6343        _options: crate::RequestOptions,
6344    ) -> impl std::future::Future<
6345        Output = crate::Result<crate::Response<crate::model::NetworkAttachmentAggregatedList>>,
6346    > + Send {
6347        gaxi::unimplemented::unimplemented_stub()
6348    }
6349
6350    /// Implements [super::client::NetworkAttachments::delete].
6351    fn delete(
6352        &self,
6353        _req: crate::model::network_attachments::DeleteRequest,
6354        _options: crate::RequestOptions,
6355    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6356    {
6357        gaxi::unimplemented::unimplemented_stub()
6358    }
6359
6360    /// Implements [super::client::NetworkAttachments::get].
6361    fn get(
6362        &self,
6363        _req: crate::model::network_attachments::GetRequest,
6364        _options: crate::RequestOptions,
6365    ) -> impl std::future::Future<
6366        Output = crate::Result<crate::Response<crate::model::NetworkAttachment>>,
6367    > + Send {
6368        gaxi::unimplemented::unimplemented_stub()
6369    }
6370
6371    /// Implements [super::client::NetworkAttachments::get_iam_policy].
6372    fn get_iam_policy(
6373        &self,
6374        _req: crate::model::network_attachments::GetIamPolicyRequest,
6375        _options: crate::RequestOptions,
6376    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6377    {
6378        gaxi::unimplemented::unimplemented_stub()
6379    }
6380
6381    /// Implements [super::client::NetworkAttachments::insert].
6382    fn insert(
6383        &self,
6384        _req: crate::model::network_attachments::InsertRequest,
6385        _options: crate::RequestOptions,
6386    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6387    {
6388        gaxi::unimplemented::unimplemented_stub()
6389    }
6390
6391    /// Implements [super::client::NetworkAttachments::list].
6392    fn list(
6393        &self,
6394        _req: crate::model::network_attachments::ListRequest,
6395        _options: crate::RequestOptions,
6396    ) -> impl std::future::Future<
6397        Output = crate::Result<crate::Response<crate::model::NetworkAttachmentList>>,
6398    > + Send {
6399        gaxi::unimplemented::unimplemented_stub()
6400    }
6401
6402    /// Implements [super::client::NetworkAttachments::patch].
6403    fn patch(
6404        &self,
6405        _req: crate::model::network_attachments::PatchRequest,
6406        _options: crate::RequestOptions,
6407    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6408    {
6409        gaxi::unimplemented::unimplemented_stub()
6410    }
6411
6412    /// Implements [super::client::NetworkAttachments::set_iam_policy].
6413    fn set_iam_policy(
6414        &self,
6415        _req: crate::model::network_attachments::SetIamPolicyRequest,
6416        _options: crate::RequestOptions,
6417    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6418    {
6419        gaxi::unimplemented::unimplemented_stub()
6420    }
6421
6422    /// Implements [super::client::NetworkAttachments::test_iam_permissions].
6423    fn test_iam_permissions(
6424        &self,
6425        _req: crate::model::network_attachments::TestIamPermissionsRequest,
6426        _options: crate::RequestOptions,
6427    ) -> impl std::future::Future<
6428        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6429    > + Send {
6430        gaxi::unimplemented::unimplemented_stub()
6431    }
6432
6433    /// Implements [super::client::NetworkAttachments::get_operation].
6434    fn get_operation(
6435        &self,
6436        _req: crate::model::region_operations::GetRequest,
6437        _options: crate::RequestOptions,
6438    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6439    {
6440        gaxi::unimplemented::unimplemented_stub()
6441    }
6442
6443    /// Returns the polling error policy.
6444    ///
6445    /// When mocking, this method is typically irrelevant. Do not try to verify
6446    /// it is called by your mocks.
6447    fn get_polling_error_policy(
6448        &self,
6449        _options: &crate::RequestOptions,
6450    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6451        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6452    }
6453
6454    /// Returns the polling backoff policy.
6455    ///
6456    /// When mocking, this method is typically irrelevant. Do not try to verify
6457    /// it is called by your mocks.
6458    fn get_polling_backoff_policy(
6459        &self,
6460        _options: &crate::RequestOptions,
6461    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6462        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6463    }
6464
6465    #[doc(hidden)]
6466    /// Returns the poller options.
6467    ///
6468    /// When mocking, this method is typically irrelevant. Do not try to verify
6469    /// it is called by your mocks.
6470    fn get_poller_options(
6471        &self,
6472        _options: &crate::RequestOptions,
6473    ) -> google_cloud_lro::PollerOptions {
6474        google_cloud_lro::PollerOptions::default()
6475    }
6476}
6477
6478/// Defines the trait used to implement [super::client::NetworkEdgeSecurityServices].
6479///
6480/// Application developers may need to implement this trait to mock
6481/// `client::NetworkEdgeSecurityServices`.  In other use-cases, application developers only
6482/// use `client::NetworkEdgeSecurityServices` and need not be concerned with this trait or
6483/// its implementations.
6484///
6485/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6486/// too. To avoid breaking applications the trait provides a default
6487/// implementation of each method. Most of these implementations just return an
6488/// error.
6489#[cfg(feature = "network-edge-security-services")]
6490#[cfg_attr(docsrs, doc(cfg(feature = "network-edge-security-services")))]
6491pub trait NetworkEdgeSecurityServices: std::fmt::Debug + Send + Sync {
6492    /// Implements [super::client::NetworkEdgeSecurityServices::aggregated_list].
6493    fn aggregated_list(
6494        &self,
6495        _req: crate::model::network_edge_security_services::AggregatedListRequest,
6496        _options: crate::RequestOptions,
6497    ) -> impl std::future::Future<
6498        Output = crate::Result<
6499            crate::Response<crate::model::NetworkEdgeSecurityServiceAggregatedList>,
6500        >,
6501    > + Send {
6502        gaxi::unimplemented::unimplemented_stub()
6503    }
6504
6505    /// Implements [super::client::NetworkEdgeSecurityServices::delete].
6506    fn delete(
6507        &self,
6508        _req: crate::model::network_edge_security_services::DeleteRequest,
6509        _options: crate::RequestOptions,
6510    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6511    {
6512        gaxi::unimplemented::unimplemented_stub()
6513    }
6514
6515    /// Implements [super::client::NetworkEdgeSecurityServices::get].
6516    fn get(
6517        &self,
6518        _req: crate::model::network_edge_security_services::GetRequest,
6519        _options: crate::RequestOptions,
6520    ) -> impl std::future::Future<
6521        Output = crate::Result<crate::Response<crate::model::NetworkEdgeSecurityService>>,
6522    > + Send {
6523        gaxi::unimplemented::unimplemented_stub()
6524    }
6525
6526    /// Implements [super::client::NetworkEdgeSecurityServices::insert].
6527    fn insert(
6528        &self,
6529        _req: crate::model::network_edge_security_services::InsertRequest,
6530        _options: crate::RequestOptions,
6531    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6532    {
6533        gaxi::unimplemented::unimplemented_stub()
6534    }
6535
6536    /// Implements [super::client::NetworkEdgeSecurityServices::patch].
6537    fn patch(
6538        &self,
6539        _req: crate::model::network_edge_security_services::PatchRequest,
6540        _options: crate::RequestOptions,
6541    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6542    {
6543        gaxi::unimplemented::unimplemented_stub()
6544    }
6545
6546    /// Implements [super::client::NetworkEdgeSecurityServices::get_operation].
6547    fn get_operation(
6548        &self,
6549        _req: crate::model::region_operations::GetRequest,
6550        _options: crate::RequestOptions,
6551    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6552    {
6553        gaxi::unimplemented::unimplemented_stub()
6554    }
6555
6556    /// Returns the polling error policy.
6557    ///
6558    /// When mocking, this method is typically irrelevant. Do not try to verify
6559    /// it is called by your mocks.
6560    fn get_polling_error_policy(
6561        &self,
6562        _options: &crate::RequestOptions,
6563    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6564        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6565    }
6566
6567    /// Returns the polling backoff policy.
6568    ///
6569    /// When mocking, this method is typically irrelevant. Do not try to verify
6570    /// it is called by your mocks.
6571    fn get_polling_backoff_policy(
6572        &self,
6573        _options: &crate::RequestOptions,
6574    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6575        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6576    }
6577
6578    #[doc(hidden)]
6579    /// Returns the poller options.
6580    ///
6581    /// When mocking, this method is typically irrelevant. Do not try to verify
6582    /// it is called by your mocks.
6583    fn get_poller_options(
6584        &self,
6585        _options: &crate::RequestOptions,
6586    ) -> google_cloud_lro::PollerOptions {
6587        google_cloud_lro::PollerOptions::default()
6588    }
6589}
6590
6591/// Defines the trait used to implement [super::client::NetworkEndpointGroups].
6592///
6593/// Application developers may need to implement this trait to mock
6594/// `client::NetworkEndpointGroups`.  In other use-cases, application developers only
6595/// use `client::NetworkEndpointGroups` and need not be concerned with this trait or
6596/// its implementations.
6597///
6598/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6599/// too. To avoid breaking applications the trait provides a default
6600/// implementation of each method. Most of these implementations just return an
6601/// error.
6602#[cfg(feature = "network-endpoint-groups")]
6603#[cfg_attr(docsrs, doc(cfg(feature = "network-endpoint-groups")))]
6604pub trait NetworkEndpointGroups: std::fmt::Debug + Send + Sync {
6605    /// Implements [super::client::NetworkEndpointGroups::aggregated_list].
6606    fn aggregated_list(
6607        &self,
6608        _req: crate::model::network_endpoint_groups::AggregatedListRequest,
6609        _options: crate::RequestOptions,
6610    ) -> impl std::future::Future<
6611        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupAggregatedList>>,
6612    > + Send {
6613        gaxi::unimplemented::unimplemented_stub()
6614    }
6615
6616    /// Implements [super::client::NetworkEndpointGroups::attach_network_endpoints].
6617    fn attach_network_endpoints(
6618        &self,
6619        _req: crate::model::network_endpoint_groups::AttachNetworkEndpointsRequest,
6620        _options: crate::RequestOptions,
6621    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6622    {
6623        gaxi::unimplemented::unimplemented_stub()
6624    }
6625
6626    /// Implements [super::client::NetworkEndpointGroups::delete].
6627    fn delete(
6628        &self,
6629        _req: crate::model::network_endpoint_groups::DeleteRequest,
6630        _options: crate::RequestOptions,
6631    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6632    {
6633        gaxi::unimplemented::unimplemented_stub()
6634    }
6635
6636    /// Implements [super::client::NetworkEndpointGroups::detach_network_endpoints].
6637    fn detach_network_endpoints(
6638        &self,
6639        _req: crate::model::network_endpoint_groups::DetachNetworkEndpointsRequest,
6640        _options: crate::RequestOptions,
6641    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6642    {
6643        gaxi::unimplemented::unimplemented_stub()
6644    }
6645
6646    /// Implements [super::client::NetworkEndpointGroups::get].
6647    fn get(
6648        &self,
6649        _req: crate::model::network_endpoint_groups::GetRequest,
6650        _options: crate::RequestOptions,
6651    ) -> impl std::future::Future<
6652        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
6653    > + Send {
6654        gaxi::unimplemented::unimplemented_stub()
6655    }
6656
6657    /// Implements [super::client::NetworkEndpointGroups::insert].
6658    fn insert(
6659        &self,
6660        _req: crate::model::network_endpoint_groups::InsertRequest,
6661        _options: crate::RequestOptions,
6662    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6663    {
6664        gaxi::unimplemented::unimplemented_stub()
6665    }
6666
6667    /// Implements [super::client::NetworkEndpointGroups::list].
6668    fn list(
6669        &self,
6670        _req: crate::model::network_endpoint_groups::ListRequest,
6671        _options: crate::RequestOptions,
6672    ) -> impl std::future::Future<
6673        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
6674    > + Send {
6675        gaxi::unimplemented::unimplemented_stub()
6676    }
6677
6678    /// Implements [super::client::NetworkEndpointGroups::list_network_endpoints].
6679    fn list_network_endpoints(
6680        &self,
6681        _req: crate::model::network_endpoint_groups::ListNetworkEndpointsRequest,
6682        _options: crate::RequestOptions,
6683    ) -> impl std::future::Future<
6684        Output = crate::Result<
6685            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
6686        >,
6687    > + Send {
6688        gaxi::unimplemented::unimplemented_stub()
6689    }
6690
6691    /// Implements [super::client::NetworkEndpointGroups::test_iam_permissions].
6692    fn test_iam_permissions(
6693        &self,
6694        _req: crate::model::network_endpoint_groups::TestIamPermissionsRequest,
6695        _options: crate::RequestOptions,
6696    ) -> impl std::future::Future<
6697        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6698    > + Send {
6699        gaxi::unimplemented::unimplemented_stub()
6700    }
6701
6702    /// Implements [super::client::NetworkEndpointGroups::get_operation].
6703    fn get_operation(
6704        &self,
6705        _req: crate::model::zone_operations::GetRequest,
6706        _options: crate::RequestOptions,
6707    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6708    {
6709        gaxi::unimplemented::unimplemented_stub()
6710    }
6711
6712    /// Returns the polling error policy.
6713    ///
6714    /// When mocking, this method is typically irrelevant. Do not try to verify
6715    /// it is called by your mocks.
6716    fn get_polling_error_policy(
6717        &self,
6718        _options: &crate::RequestOptions,
6719    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6720        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6721    }
6722
6723    /// Returns the polling backoff policy.
6724    ///
6725    /// When mocking, this method is typically irrelevant. Do not try to verify
6726    /// it is called by your mocks.
6727    fn get_polling_backoff_policy(
6728        &self,
6729        _options: &crate::RequestOptions,
6730    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6731        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6732    }
6733
6734    #[doc(hidden)]
6735    /// Returns the poller options.
6736    ///
6737    /// When mocking, this method is typically irrelevant. Do not try to verify
6738    /// it is called by your mocks.
6739    fn get_poller_options(
6740        &self,
6741        _options: &crate::RequestOptions,
6742    ) -> google_cloud_lro::PollerOptions {
6743        google_cloud_lro::PollerOptions::default()
6744    }
6745}
6746
6747/// Defines the trait used to implement [super::client::NetworkFirewallPolicies].
6748///
6749/// Application developers may need to implement this trait to mock
6750/// `client::NetworkFirewallPolicies`.  In other use-cases, application developers only
6751/// use `client::NetworkFirewallPolicies` and need not be concerned with this trait or
6752/// its implementations.
6753///
6754/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6755/// too. To avoid breaking applications the trait provides a default
6756/// implementation of each method. Most of these implementations just return an
6757/// error.
6758#[cfg(feature = "network-firewall-policies")]
6759#[cfg_attr(docsrs, doc(cfg(feature = "network-firewall-policies")))]
6760pub trait NetworkFirewallPolicies: std::fmt::Debug + Send + Sync {
6761    /// Implements [super::client::NetworkFirewallPolicies::add_association].
6762    fn add_association(
6763        &self,
6764        _req: crate::model::network_firewall_policies::AddAssociationRequest,
6765        _options: crate::RequestOptions,
6766    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6767    {
6768        gaxi::unimplemented::unimplemented_stub()
6769    }
6770
6771    /// Implements [super::client::NetworkFirewallPolicies::add_packet_mirroring_rule].
6772    fn add_packet_mirroring_rule(
6773        &self,
6774        _req: crate::model::network_firewall_policies::AddPacketMirroringRuleRequest,
6775        _options: crate::RequestOptions,
6776    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6777    {
6778        gaxi::unimplemented::unimplemented_stub()
6779    }
6780
6781    /// Implements [super::client::NetworkFirewallPolicies::add_rule].
6782    fn add_rule(
6783        &self,
6784        _req: crate::model::network_firewall_policies::AddRuleRequest,
6785        _options: crate::RequestOptions,
6786    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6787    {
6788        gaxi::unimplemented::unimplemented_stub()
6789    }
6790
6791    /// Implements [super::client::NetworkFirewallPolicies::aggregated_list].
6792    fn aggregated_list(
6793        &self,
6794        _req: crate::model::network_firewall_policies::AggregatedListRequest,
6795        _options: crate::RequestOptions,
6796    ) -> impl std::future::Future<
6797        Output = crate::Result<crate::Response<crate::model::NetworkFirewallPolicyAggregatedList>>,
6798    > + Send {
6799        gaxi::unimplemented::unimplemented_stub()
6800    }
6801
6802    /// Implements [super::client::NetworkFirewallPolicies::clone_rules].
6803    fn clone_rules(
6804        &self,
6805        _req: crate::model::network_firewall_policies::CloneRulesRequest,
6806        _options: crate::RequestOptions,
6807    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6808    {
6809        gaxi::unimplemented::unimplemented_stub()
6810    }
6811
6812    /// Implements [super::client::NetworkFirewallPolicies::delete].
6813    fn delete(
6814        &self,
6815        _req: crate::model::network_firewall_policies::DeleteRequest,
6816        _options: crate::RequestOptions,
6817    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6818    {
6819        gaxi::unimplemented::unimplemented_stub()
6820    }
6821
6822    /// Implements [super::client::NetworkFirewallPolicies::get].
6823    fn get(
6824        &self,
6825        _req: crate::model::network_firewall_policies::GetRequest,
6826        _options: crate::RequestOptions,
6827    ) -> impl std::future::Future<
6828        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
6829    > + Send {
6830        gaxi::unimplemented::unimplemented_stub()
6831    }
6832
6833    /// Implements [super::client::NetworkFirewallPolicies::get_association].
6834    fn get_association(
6835        &self,
6836        _req: crate::model::network_firewall_policies::GetAssociationRequest,
6837        _options: crate::RequestOptions,
6838    ) -> impl std::future::Future<
6839        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
6840    > + Send {
6841        gaxi::unimplemented::unimplemented_stub()
6842    }
6843
6844    /// Implements [super::client::NetworkFirewallPolicies::get_iam_policy].
6845    fn get_iam_policy(
6846        &self,
6847        _req: crate::model::network_firewall_policies::GetIamPolicyRequest,
6848        _options: crate::RequestOptions,
6849    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6850    {
6851        gaxi::unimplemented::unimplemented_stub()
6852    }
6853
6854    /// Implements [super::client::NetworkFirewallPolicies::get_packet_mirroring_rule].
6855    fn get_packet_mirroring_rule(
6856        &self,
6857        _req: crate::model::network_firewall_policies::GetPacketMirroringRuleRequest,
6858        _options: crate::RequestOptions,
6859    ) -> impl std::future::Future<
6860        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
6861    > + Send {
6862        gaxi::unimplemented::unimplemented_stub()
6863    }
6864
6865    /// Implements [super::client::NetworkFirewallPolicies::get_rule].
6866    fn get_rule(
6867        &self,
6868        _req: crate::model::network_firewall_policies::GetRuleRequest,
6869        _options: crate::RequestOptions,
6870    ) -> impl std::future::Future<
6871        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
6872    > + Send {
6873        gaxi::unimplemented::unimplemented_stub()
6874    }
6875
6876    /// Implements [super::client::NetworkFirewallPolicies::insert].
6877    fn insert(
6878        &self,
6879        _req: crate::model::network_firewall_policies::InsertRequest,
6880        _options: crate::RequestOptions,
6881    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6882    {
6883        gaxi::unimplemented::unimplemented_stub()
6884    }
6885
6886    /// Implements [super::client::NetworkFirewallPolicies::list].
6887    fn list(
6888        &self,
6889        _req: crate::model::network_firewall_policies::ListRequest,
6890        _options: crate::RequestOptions,
6891    ) -> impl std::future::Future<
6892        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
6893    > + Send {
6894        gaxi::unimplemented::unimplemented_stub()
6895    }
6896
6897    /// Implements [super::client::NetworkFirewallPolicies::patch].
6898    fn patch(
6899        &self,
6900        _req: crate::model::network_firewall_policies::PatchRequest,
6901        _options: crate::RequestOptions,
6902    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6903    {
6904        gaxi::unimplemented::unimplemented_stub()
6905    }
6906
6907    /// Implements [super::client::NetworkFirewallPolicies::patch_packet_mirroring_rule].
6908    fn patch_packet_mirroring_rule(
6909        &self,
6910        _req: crate::model::network_firewall_policies::PatchPacketMirroringRuleRequest,
6911        _options: crate::RequestOptions,
6912    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6913    {
6914        gaxi::unimplemented::unimplemented_stub()
6915    }
6916
6917    /// Implements [super::client::NetworkFirewallPolicies::patch_rule].
6918    fn patch_rule(
6919        &self,
6920        _req: crate::model::network_firewall_policies::PatchRuleRequest,
6921        _options: crate::RequestOptions,
6922    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6923    {
6924        gaxi::unimplemented::unimplemented_stub()
6925    }
6926
6927    /// Implements [super::client::NetworkFirewallPolicies::remove_association].
6928    fn remove_association(
6929        &self,
6930        _req: crate::model::network_firewall_policies::RemoveAssociationRequest,
6931        _options: crate::RequestOptions,
6932    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6933    {
6934        gaxi::unimplemented::unimplemented_stub()
6935    }
6936
6937    /// Implements [super::client::NetworkFirewallPolicies::remove_packet_mirroring_rule].
6938    fn remove_packet_mirroring_rule(
6939        &self,
6940        _req: crate::model::network_firewall_policies::RemovePacketMirroringRuleRequest,
6941        _options: crate::RequestOptions,
6942    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6943    {
6944        gaxi::unimplemented::unimplemented_stub()
6945    }
6946
6947    /// Implements [super::client::NetworkFirewallPolicies::remove_rule].
6948    fn remove_rule(
6949        &self,
6950        _req: crate::model::network_firewall_policies::RemoveRuleRequest,
6951        _options: crate::RequestOptions,
6952    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6953    {
6954        gaxi::unimplemented::unimplemented_stub()
6955    }
6956
6957    /// Implements [super::client::NetworkFirewallPolicies::set_iam_policy].
6958    fn set_iam_policy(
6959        &self,
6960        _req: crate::model::network_firewall_policies::SetIamPolicyRequest,
6961        _options: crate::RequestOptions,
6962    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6963    {
6964        gaxi::unimplemented::unimplemented_stub()
6965    }
6966
6967    /// Implements [super::client::NetworkFirewallPolicies::test_iam_permissions].
6968    fn test_iam_permissions(
6969        &self,
6970        _req: crate::model::network_firewall_policies::TestIamPermissionsRequest,
6971        _options: crate::RequestOptions,
6972    ) -> impl std::future::Future<
6973        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6974    > + Send {
6975        gaxi::unimplemented::unimplemented_stub()
6976    }
6977
6978    /// Implements [super::client::NetworkFirewallPolicies::get_operation].
6979    fn get_operation(
6980        &self,
6981        _req: crate::model::global_operations::GetRequest,
6982        _options: crate::RequestOptions,
6983    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6984    {
6985        gaxi::unimplemented::unimplemented_stub()
6986    }
6987
6988    /// Returns the polling error policy.
6989    ///
6990    /// When mocking, this method is typically irrelevant. Do not try to verify
6991    /// it is called by your mocks.
6992    fn get_polling_error_policy(
6993        &self,
6994        _options: &crate::RequestOptions,
6995    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6996        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6997    }
6998
6999    /// Returns the polling backoff policy.
7000    ///
7001    /// When mocking, this method is typically irrelevant. Do not try to verify
7002    /// it is called by your mocks.
7003    fn get_polling_backoff_policy(
7004        &self,
7005        _options: &crate::RequestOptions,
7006    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7007        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7008    }
7009
7010    #[doc(hidden)]
7011    /// Returns the poller options.
7012    ///
7013    /// When mocking, this method is typically irrelevant. Do not try to verify
7014    /// it is called by your mocks.
7015    fn get_poller_options(
7016        &self,
7017        _options: &crate::RequestOptions,
7018    ) -> google_cloud_lro::PollerOptions {
7019        google_cloud_lro::PollerOptions::default()
7020    }
7021}
7022
7023/// Defines the trait used to implement [super::client::NetworkProfiles].
7024///
7025/// Application developers may need to implement this trait to mock
7026/// `client::NetworkProfiles`.  In other use-cases, application developers only
7027/// use `client::NetworkProfiles` and need not be concerned with this trait or
7028/// its implementations.
7029///
7030/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7031/// too. To avoid breaking applications the trait provides a default
7032/// implementation of each method. Most of these implementations just return an
7033/// error.
7034#[cfg(feature = "network-profiles")]
7035#[cfg_attr(docsrs, doc(cfg(feature = "network-profiles")))]
7036pub trait NetworkProfiles: std::fmt::Debug + Send + Sync {
7037    /// Implements [super::client::NetworkProfiles::get].
7038    fn get(
7039        &self,
7040        _req: crate::model::network_profiles::GetRequest,
7041        _options: crate::RequestOptions,
7042    ) -> impl std::future::Future<
7043        Output = crate::Result<crate::Response<crate::model::NetworkProfile>>,
7044    > + Send {
7045        gaxi::unimplemented::unimplemented_stub()
7046    }
7047
7048    /// Implements [super::client::NetworkProfiles::list].
7049    fn list(
7050        &self,
7051        _req: crate::model::network_profiles::ListRequest,
7052        _options: crate::RequestOptions,
7053    ) -> impl std::future::Future<
7054        Output = crate::Result<crate::Response<crate::model::NetworkProfilesListResponse>>,
7055    > + Send {
7056        gaxi::unimplemented::unimplemented_stub()
7057    }
7058}
7059
7060/// Defines the trait used to implement [super::client::Networks].
7061///
7062/// Application developers may need to implement this trait to mock
7063/// `client::Networks`.  In other use-cases, application developers only
7064/// use `client::Networks` and need not be concerned with this trait or
7065/// its implementations.
7066///
7067/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7068/// too. To avoid breaking applications the trait provides a default
7069/// implementation of each method. Most of these implementations just return an
7070/// error.
7071#[cfg(feature = "networks")]
7072#[cfg_attr(docsrs, doc(cfg(feature = "networks")))]
7073pub trait Networks: std::fmt::Debug + Send + Sync {
7074    /// Implements [super::client::Networks::add_peering].
7075    fn add_peering(
7076        &self,
7077        _req: crate::model::networks::AddPeeringRequest,
7078        _options: crate::RequestOptions,
7079    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7080    {
7081        gaxi::unimplemented::unimplemented_stub()
7082    }
7083
7084    /// Implements [super::client::Networks::cancel_request_remove_peering].
7085    fn cancel_request_remove_peering(
7086        &self,
7087        _req: crate::model::networks::CancelRequestRemovePeeringRequest,
7088        _options: crate::RequestOptions,
7089    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7090    {
7091        gaxi::unimplemented::unimplemented_stub()
7092    }
7093
7094    /// Implements [super::client::Networks::delete].
7095    fn delete(
7096        &self,
7097        _req: crate::model::networks::DeleteRequest,
7098        _options: crate::RequestOptions,
7099    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7100    {
7101        gaxi::unimplemented::unimplemented_stub()
7102    }
7103
7104    /// Implements [super::client::Networks::get].
7105    fn get(
7106        &self,
7107        _req: crate::model::networks::GetRequest,
7108        _options: crate::RequestOptions,
7109    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Network>>> + Send
7110    {
7111        gaxi::unimplemented::unimplemented_stub()
7112    }
7113
7114    /// Implements [super::client::Networks::get_effective_firewalls].
7115    fn get_effective_firewalls(
7116        &self,
7117        _req: crate::model::networks::GetEffectiveFirewallsRequest,
7118        _options: crate::RequestOptions,
7119    ) -> impl std::future::Future<
7120        Output = crate::Result<
7121            crate::Response<crate::model::NetworksGetEffectiveFirewallsResponse>,
7122        >,
7123    > + Send {
7124        gaxi::unimplemented::unimplemented_stub()
7125    }
7126
7127    /// Implements [super::client::Networks::insert].
7128    fn insert(
7129        &self,
7130        _req: crate::model::networks::InsertRequest,
7131        _options: crate::RequestOptions,
7132    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7133    {
7134        gaxi::unimplemented::unimplemented_stub()
7135    }
7136
7137    /// Implements [super::client::Networks::list].
7138    fn list(
7139        &self,
7140        _req: crate::model::networks::ListRequest,
7141        _options: crate::RequestOptions,
7142    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NetworkList>>>
7143    + Send {
7144        gaxi::unimplemented::unimplemented_stub()
7145    }
7146
7147    /// Implements [super::client::Networks::list_peering_routes].
7148    fn list_peering_routes(
7149        &self,
7150        _req: crate::model::networks::ListPeeringRoutesRequest,
7151        _options: crate::RequestOptions,
7152    ) -> impl std::future::Future<
7153        Output = crate::Result<crate::Response<crate::model::ExchangedPeeringRoutesList>>,
7154    > + Send {
7155        gaxi::unimplemented::unimplemented_stub()
7156    }
7157
7158    /// Implements [super::client::Networks::patch].
7159    fn patch(
7160        &self,
7161        _req: crate::model::networks::PatchRequest,
7162        _options: crate::RequestOptions,
7163    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7164    {
7165        gaxi::unimplemented::unimplemented_stub()
7166    }
7167
7168    /// Implements [super::client::Networks::remove_peering].
7169    fn remove_peering(
7170        &self,
7171        _req: crate::model::networks::RemovePeeringRequest,
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::Networks::request_remove_peering].
7179    fn request_remove_peering(
7180        &self,
7181        _req: crate::model::networks::RequestRemovePeeringRequest,
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::Networks::switch_to_custom_mode].
7189    fn switch_to_custom_mode(
7190        &self,
7191        _req: crate::model::networks::SwitchToCustomModeRequest,
7192        _options: crate::RequestOptions,
7193    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7194    {
7195        gaxi::unimplemented::unimplemented_stub()
7196    }
7197
7198    /// Implements [super::client::Networks::update_peering].
7199    fn update_peering(
7200        &self,
7201        _req: crate::model::networks::UpdatePeeringRequest,
7202        _options: crate::RequestOptions,
7203    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7204    {
7205        gaxi::unimplemented::unimplemented_stub()
7206    }
7207
7208    /// Implements [super::client::Networks::get_operation].
7209    fn get_operation(
7210        &self,
7211        _req: crate::model::global_operations::GetRequest,
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    /// Returns the polling error policy.
7219    ///
7220    /// When mocking, this method is typically irrelevant. Do not try to verify
7221    /// it is called by your mocks.
7222    fn get_polling_error_policy(
7223        &self,
7224        _options: &crate::RequestOptions,
7225    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7226        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7227    }
7228
7229    /// Returns the polling backoff policy.
7230    ///
7231    /// When mocking, this method is typically irrelevant. Do not try to verify
7232    /// it is called by your mocks.
7233    fn get_polling_backoff_policy(
7234        &self,
7235        _options: &crate::RequestOptions,
7236    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7237        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7238    }
7239
7240    #[doc(hidden)]
7241    /// Returns the poller options.
7242    ///
7243    /// When mocking, this method is typically irrelevant. Do not try to verify
7244    /// it is called by your mocks.
7245    fn get_poller_options(
7246        &self,
7247        _options: &crate::RequestOptions,
7248    ) -> google_cloud_lro::PollerOptions {
7249        google_cloud_lro::PollerOptions::default()
7250    }
7251}
7252
7253/// Defines the trait used to implement [super::client::NodeGroups].
7254///
7255/// Application developers may need to implement this trait to mock
7256/// `client::NodeGroups`.  In other use-cases, application developers only
7257/// use `client::NodeGroups` and need not be concerned with this trait or
7258/// its implementations.
7259///
7260/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7261/// too. To avoid breaking applications the trait provides a default
7262/// implementation of each method. Most of these implementations just return an
7263/// error.
7264#[cfg(feature = "node-groups")]
7265#[cfg_attr(docsrs, doc(cfg(feature = "node-groups")))]
7266pub trait NodeGroups: std::fmt::Debug + Send + Sync {
7267    /// Implements [super::client::NodeGroups::add_nodes].
7268    fn add_nodes(
7269        &self,
7270        _req: crate::model::node_groups::AddNodesRequest,
7271        _options: crate::RequestOptions,
7272    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7273    {
7274        gaxi::unimplemented::unimplemented_stub()
7275    }
7276
7277    /// Implements [super::client::NodeGroups::aggregated_list].
7278    fn aggregated_list(
7279        &self,
7280        _req: crate::model::node_groups::AggregatedListRequest,
7281        _options: crate::RequestOptions,
7282    ) -> impl std::future::Future<
7283        Output = crate::Result<crate::Response<crate::model::NodeGroupAggregatedList>>,
7284    > + Send {
7285        gaxi::unimplemented::unimplemented_stub()
7286    }
7287
7288    /// Implements [super::client::NodeGroups::delete].
7289    fn delete(
7290        &self,
7291        _req: crate::model::node_groups::DeleteRequest,
7292        _options: crate::RequestOptions,
7293    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7294    {
7295        gaxi::unimplemented::unimplemented_stub()
7296    }
7297
7298    /// Implements [super::client::NodeGroups::delete_nodes].
7299    fn delete_nodes(
7300        &self,
7301        _req: crate::model::node_groups::DeleteNodesRequest,
7302        _options: crate::RequestOptions,
7303    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7304    {
7305        gaxi::unimplemented::unimplemented_stub()
7306    }
7307
7308    /// Implements [super::client::NodeGroups::get].
7309    fn get(
7310        &self,
7311        _req: crate::model::node_groups::GetRequest,
7312        _options: crate::RequestOptions,
7313    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NodeGroup>>> + Send
7314    {
7315        gaxi::unimplemented::unimplemented_stub()
7316    }
7317
7318    /// Implements [super::client::NodeGroups::get_iam_policy].
7319    fn get_iam_policy(
7320        &self,
7321        _req: crate::model::node_groups::GetIamPolicyRequest,
7322        _options: crate::RequestOptions,
7323    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7324    {
7325        gaxi::unimplemented::unimplemented_stub()
7326    }
7327
7328    /// Implements [super::client::NodeGroups::insert].
7329    fn insert(
7330        &self,
7331        _req: crate::model::node_groups::InsertRequest,
7332        _options: crate::RequestOptions,
7333    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7334    {
7335        gaxi::unimplemented::unimplemented_stub()
7336    }
7337
7338    /// Implements [super::client::NodeGroups::list].
7339    fn list(
7340        &self,
7341        _req: crate::model::node_groups::ListRequest,
7342        _options: crate::RequestOptions,
7343    ) -> impl std::future::Future<
7344        Output = crate::Result<crate::Response<crate::model::NodeGroupList>>,
7345    > + Send {
7346        gaxi::unimplemented::unimplemented_stub()
7347    }
7348
7349    /// Implements [super::client::NodeGroups::list_nodes].
7350    fn list_nodes(
7351        &self,
7352        _req: crate::model::node_groups::ListNodesRequest,
7353        _options: crate::RequestOptions,
7354    ) -> impl std::future::Future<
7355        Output = crate::Result<crate::Response<crate::model::NodeGroupsListNodes>>,
7356    > + Send {
7357        gaxi::unimplemented::unimplemented_stub()
7358    }
7359
7360    /// Implements [super::client::NodeGroups::patch].
7361    fn patch(
7362        &self,
7363        _req: crate::model::node_groups::PatchRequest,
7364        _options: crate::RequestOptions,
7365    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7366    {
7367        gaxi::unimplemented::unimplemented_stub()
7368    }
7369
7370    /// Implements [super::client::NodeGroups::perform_maintenance].
7371    fn perform_maintenance(
7372        &self,
7373        _req: crate::model::node_groups::PerformMaintenanceRequest,
7374        _options: crate::RequestOptions,
7375    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7376    {
7377        gaxi::unimplemented::unimplemented_stub()
7378    }
7379
7380    /// Implements [super::client::NodeGroups::set_iam_policy].
7381    fn set_iam_policy(
7382        &self,
7383        _req: crate::model::node_groups::SetIamPolicyRequest,
7384        _options: crate::RequestOptions,
7385    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7386    {
7387        gaxi::unimplemented::unimplemented_stub()
7388    }
7389
7390    /// Implements [super::client::NodeGroups::set_node_template].
7391    fn set_node_template(
7392        &self,
7393        _req: crate::model::node_groups::SetNodeTemplateRequest,
7394        _options: crate::RequestOptions,
7395    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7396    {
7397        gaxi::unimplemented::unimplemented_stub()
7398    }
7399
7400    /// Implements [super::client::NodeGroups::simulate_maintenance_event].
7401    fn simulate_maintenance_event(
7402        &self,
7403        _req: crate::model::node_groups::SimulateMaintenanceEventRequest,
7404        _options: crate::RequestOptions,
7405    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7406    {
7407        gaxi::unimplemented::unimplemented_stub()
7408    }
7409
7410    /// Implements [super::client::NodeGroups::test_iam_permissions].
7411    fn test_iam_permissions(
7412        &self,
7413        _req: crate::model::node_groups::TestIamPermissionsRequest,
7414        _options: crate::RequestOptions,
7415    ) -> impl std::future::Future<
7416        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7417    > + Send {
7418        gaxi::unimplemented::unimplemented_stub()
7419    }
7420
7421    /// Implements [super::client::NodeGroups::get_operation].
7422    fn get_operation(
7423        &self,
7424        _req: crate::model::zone_operations::GetRequest,
7425        _options: crate::RequestOptions,
7426    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7427    {
7428        gaxi::unimplemented::unimplemented_stub()
7429    }
7430
7431    /// Returns the polling error policy.
7432    ///
7433    /// When mocking, this method is typically irrelevant. Do not try to verify
7434    /// it is called by your mocks.
7435    fn get_polling_error_policy(
7436        &self,
7437        _options: &crate::RequestOptions,
7438    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7439        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7440    }
7441
7442    /// Returns the polling backoff policy.
7443    ///
7444    /// When mocking, this method is typically irrelevant. Do not try to verify
7445    /// it is called by your mocks.
7446    fn get_polling_backoff_policy(
7447        &self,
7448        _options: &crate::RequestOptions,
7449    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7450        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7451    }
7452
7453    #[doc(hidden)]
7454    /// Returns the poller options.
7455    ///
7456    /// When mocking, this method is typically irrelevant. Do not try to verify
7457    /// it is called by your mocks.
7458    fn get_poller_options(
7459        &self,
7460        _options: &crate::RequestOptions,
7461    ) -> google_cloud_lro::PollerOptions {
7462        google_cloud_lro::PollerOptions::default()
7463    }
7464}
7465
7466/// Defines the trait used to implement [super::client::NodeTemplates].
7467///
7468/// Application developers may need to implement this trait to mock
7469/// `client::NodeTemplates`.  In other use-cases, application developers only
7470/// use `client::NodeTemplates` and need not be concerned with this trait or
7471/// its implementations.
7472///
7473/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7474/// too. To avoid breaking applications the trait provides a default
7475/// implementation of each method. Most of these implementations just return an
7476/// error.
7477#[cfg(feature = "node-templates")]
7478#[cfg_attr(docsrs, doc(cfg(feature = "node-templates")))]
7479pub trait NodeTemplates: std::fmt::Debug + Send + Sync {
7480    /// Implements [super::client::NodeTemplates::aggregated_list].
7481    fn aggregated_list(
7482        &self,
7483        _req: crate::model::node_templates::AggregatedListRequest,
7484        _options: crate::RequestOptions,
7485    ) -> impl std::future::Future<
7486        Output = crate::Result<crate::Response<crate::model::NodeTemplateAggregatedList>>,
7487    > + Send {
7488        gaxi::unimplemented::unimplemented_stub()
7489    }
7490
7491    /// Implements [super::client::NodeTemplates::delete].
7492    fn delete(
7493        &self,
7494        _req: crate::model::node_templates::DeleteRequest,
7495        _options: crate::RequestOptions,
7496    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7497    {
7498        gaxi::unimplemented::unimplemented_stub()
7499    }
7500
7501    /// Implements [super::client::NodeTemplates::get].
7502    fn get(
7503        &self,
7504        _req: crate::model::node_templates::GetRequest,
7505        _options: crate::RequestOptions,
7506    ) -> impl std::future::Future<
7507        Output = crate::Result<crate::Response<crate::model::NodeTemplate>>,
7508    > + Send {
7509        gaxi::unimplemented::unimplemented_stub()
7510    }
7511
7512    /// Implements [super::client::NodeTemplates::get_iam_policy].
7513    fn get_iam_policy(
7514        &self,
7515        _req: crate::model::node_templates::GetIamPolicyRequest,
7516        _options: crate::RequestOptions,
7517    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7518    {
7519        gaxi::unimplemented::unimplemented_stub()
7520    }
7521
7522    /// Implements [super::client::NodeTemplates::insert].
7523    fn insert(
7524        &self,
7525        _req: crate::model::node_templates::InsertRequest,
7526        _options: crate::RequestOptions,
7527    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7528    {
7529        gaxi::unimplemented::unimplemented_stub()
7530    }
7531
7532    /// Implements [super::client::NodeTemplates::list].
7533    fn list(
7534        &self,
7535        _req: crate::model::node_templates::ListRequest,
7536        _options: crate::RequestOptions,
7537    ) -> impl std::future::Future<
7538        Output = crate::Result<crate::Response<crate::model::NodeTemplateList>>,
7539    > + Send {
7540        gaxi::unimplemented::unimplemented_stub()
7541    }
7542
7543    /// Implements [super::client::NodeTemplates::set_iam_policy].
7544    fn set_iam_policy(
7545        &self,
7546        _req: crate::model::node_templates::SetIamPolicyRequest,
7547        _options: crate::RequestOptions,
7548    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7549    {
7550        gaxi::unimplemented::unimplemented_stub()
7551    }
7552
7553    /// Implements [super::client::NodeTemplates::test_iam_permissions].
7554    fn test_iam_permissions(
7555        &self,
7556        _req: crate::model::node_templates::TestIamPermissionsRequest,
7557        _options: crate::RequestOptions,
7558    ) -> impl std::future::Future<
7559        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7560    > + Send {
7561        gaxi::unimplemented::unimplemented_stub()
7562    }
7563
7564    /// Implements [super::client::NodeTemplates::get_operation].
7565    fn get_operation(
7566        &self,
7567        _req: crate::model::region_operations::GetRequest,
7568        _options: crate::RequestOptions,
7569    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7570    {
7571        gaxi::unimplemented::unimplemented_stub()
7572    }
7573
7574    /// Returns the polling error policy.
7575    ///
7576    /// When mocking, this method is typically irrelevant. Do not try to verify
7577    /// it is called by your mocks.
7578    fn get_polling_error_policy(
7579        &self,
7580        _options: &crate::RequestOptions,
7581    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7582        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7583    }
7584
7585    /// Returns the polling backoff policy.
7586    ///
7587    /// When mocking, this method is typically irrelevant. Do not try to verify
7588    /// it is called by your mocks.
7589    fn get_polling_backoff_policy(
7590        &self,
7591        _options: &crate::RequestOptions,
7592    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7593        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7594    }
7595
7596    #[doc(hidden)]
7597    /// Returns the poller options.
7598    ///
7599    /// When mocking, this method is typically irrelevant. Do not try to verify
7600    /// it is called by your mocks.
7601    fn get_poller_options(
7602        &self,
7603        _options: &crate::RequestOptions,
7604    ) -> google_cloud_lro::PollerOptions {
7605        google_cloud_lro::PollerOptions::default()
7606    }
7607}
7608
7609/// Defines the trait used to implement [super::client::NodeTypes].
7610///
7611/// Application developers may need to implement this trait to mock
7612/// `client::NodeTypes`.  In other use-cases, application developers only
7613/// use `client::NodeTypes` and need not be concerned with this trait or
7614/// its implementations.
7615///
7616/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7617/// too. To avoid breaking applications the trait provides a default
7618/// implementation of each method. Most of these implementations just return an
7619/// error.
7620#[cfg(feature = "node-types")]
7621#[cfg_attr(docsrs, doc(cfg(feature = "node-types")))]
7622pub trait NodeTypes: std::fmt::Debug + Send + Sync {
7623    /// Implements [super::client::NodeTypes::aggregated_list].
7624    fn aggregated_list(
7625        &self,
7626        _req: crate::model::node_types::AggregatedListRequest,
7627        _options: crate::RequestOptions,
7628    ) -> impl std::future::Future<
7629        Output = crate::Result<crate::Response<crate::model::NodeTypeAggregatedList>>,
7630    > + Send {
7631        gaxi::unimplemented::unimplemented_stub()
7632    }
7633
7634    /// Implements [super::client::NodeTypes::get].
7635    fn get(
7636        &self,
7637        _req: crate::model::node_types::GetRequest,
7638        _options: crate::RequestOptions,
7639    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NodeType>>> + Send
7640    {
7641        gaxi::unimplemented::unimplemented_stub()
7642    }
7643
7644    /// Implements [super::client::NodeTypes::list].
7645    fn list(
7646        &self,
7647        _req: crate::model::node_types::ListRequest,
7648        _options: crate::RequestOptions,
7649    ) -> impl std::future::Future<
7650        Output = crate::Result<crate::Response<crate::model::NodeTypeList>>,
7651    > + Send {
7652        gaxi::unimplemented::unimplemented_stub()
7653    }
7654}
7655
7656/// Defines the trait used to implement [super::client::OrganizationSecurityPolicies].
7657///
7658/// Application developers may need to implement this trait to mock
7659/// `client::OrganizationSecurityPolicies`.  In other use-cases, application developers only
7660/// use `client::OrganizationSecurityPolicies` and need not be concerned with this trait or
7661/// its implementations.
7662///
7663/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7664/// too. To avoid breaking applications the trait provides a default
7665/// implementation of each method. Most of these implementations just return an
7666/// error.
7667#[cfg(feature = "organization-security-policies")]
7668#[cfg_attr(docsrs, doc(cfg(feature = "organization-security-policies")))]
7669pub trait OrganizationSecurityPolicies: std::fmt::Debug + Send + Sync {
7670    /// Implements [super::client::OrganizationSecurityPolicies::add_association].
7671    fn add_association(
7672        &self,
7673        _req: crate::model::organization_security_policies::AddAssociationRequest,
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::add_rule].
7681    fn add_rule(
7682        &self,
7683        _req: crate::model::organization_security_policies::AddRuleRequest,
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::copy_rules].
7691    fn copy_rules(
7692        &self,
7693        _req: crate::model::organization_security_policies::CopyRulesRequest,
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::delete].
7701    fn delete(
7702        &self,
7703        _req: crate::model::organization_security_policies::DeleteRequest,
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::get].
7711    fn get(
7712        &self,
7713        _req: crate::model::organization_security_policies::GetRequest,
7714        _options: crate::RequestOptions,
7715    ) -> impl std::future::Future<
7716        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
7717    > + Send {
7718        gaxi::unimplemented::unimplemented_stub()
7719    }
7720
7721    /// Implements [super::client::OrganizationSecurityPolicies::get_association].
7722    fn get_association(
7723        &self,
7724        _req: crate::model::organization_security_policies::GetAssociationRequest,
7725        _options: crate::RequestOptions,
7726    ) -> impl std::future::Future<
7727        Output = crate::Result<crate::Response<crate::model::SecurityPolicyAssociation>>,
7728    > + Send {
7729        gaxi::unimplemented::unimplemented_stub()
7730    }
7731
7732    /// Implements [super::client::OrganizationSecurityPolicies::get_rule].
7733    fn get_rule(
7734        &self,
7735        _req: crate::model::organization_security_policies::GetRuleRequest,
7736        _options: crate::RequestOptions,
7737    ) -> impl std::future::Future<
7738        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
7739    > + Send {
7740        gaxi::unimplemented::unimplemented_stub()
7741    }
7742
7743    /// Implements [super::client::OrganizationSecurityPolicies::insert].
7744    fn insert(
7745        &self,
7746        _req: crate::model::organization_security_policies::InsertRequest,
7747        _options: crate::RequestOptions,
7748    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7749    {
7750        gaxi::unimplemented::unimplemented_stub()
7751    }
7752
7753    /// Implements [super::client::OrganizationSecurityPolicies::list].
7754    fn list(
7755        &self,
7756        _req: crate::model::organization_security_policies::ListRequest,
7757        _options: crate::RequestOptions,
7758    ) -> impl std::future::Future<
7759        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
7760    > + Send {
7761        gaxi::unimplemented::unimplemented_stub()
7762    }
7763
7764    /// Implements [super::client::OrganizationSecurityPolicies::list_associations].
7765    fn list_associations(
7766        &self,
7767        _req: crate::model::organization_security_policies::ListAssociationsRequest,
7768        _options: crate::RequestOptions,
7769    ) -> impl std::future::Future<
7770        Output = crate::Result<
7771            crate::Response<crate::model::OrganizationSecurityPoliciesListAssociationsResponse>,
7772        >,
7773    > + Send {
7774        gaxi::unimplemented::unimplemented_stub()
7775    }
7776
7777    /// Implements [super::client::OrganizationSecurityPolicies::list_preconfigured_expression_sets].
7778    fn list_preconfigured_expression_sets(
7779        &self,
7780        _req: crate::model::organization_security_policies::ListPreconfiguredExpressionSetsRequest,
7781        _options: crate::RequestOptions,
7782    ) -> impl std::future::Future<
7783        Output = crate::Result<
7784            crate::Response<crate::model::SecurityPoliciesListPreconfiguredExpressionSetsResponse>,
7785        >,
7786    > + Send {
7787        gaxi::unimplemented::unimplemented_stub()
7788    }
7789
7790    /// Implements [super::client::OrganizationSecurityPolicies::r#move].
7791    fn r#move(
7792        &self,
7793        _req: crate::model::organization_security_policies::MoveRequest,
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::OrganizationSecurityPolicies::patch].
7801    fn patch(
7802        &self,
7803        _req: crate::model::organization_security_policies::PatchRequest,
7804        _options: crate::RequestOptions,
7805    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7806    {
7807        gaxi::unimplemented::unimplemented_stub()
7808    }
7809
7810    /// Implements [super::client::OrganizationSecurityPolicies::patch_rule].
7811    fn patch_rule(
7812        &self,
7813        _req: crate::model::organization_security_policies::PatchRuleRequest,
7814        _options: crate::RequestOptions,
7815    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7816    {
7817        gaxi::unimplemented::unimplemented_stub()
7818    }
7819
7820    /// Implements [super::client::OrganizationSecurityPolicies::remove_association].
7821    fn remove_association(
7822        &self,
7823        _req: crate::model::organization_security_policies::RemoveAssociationRequest,
7824        _options: crate::RequestOptions,
7825    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7826    {
7827        gaxi::unimplemented::unimplemented_stub()
7828    }
7829
7830    /// Implements [super::client::OrganizationSecurityPolicies::remove_rule].
7831    fn remove_rule(
7832        &self,
7833        _req: crate::model::organization_security_policies::RemoveRuleRequest,
7834        _options: crate::RequestOptions,
7835    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7836    {
7837        gaxi::unimplemented::unimplemented_stub()
7838    }
7839
7840    /// Implements [super::client::OrganizationSecurityPolicies::get_operation].
7841    fn get_operation(
7842        &self,
7843        _req: crate::model::global_organization_operations::GetRequest,
7844        _options: crate::RequestOptions,
7845    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7846    {
7847        gaxi::unimplemented::unimplemented_stub()
7848    }
7849
7850    /// Returns the polling error policy.
7851    ///
7852    /// When mocking, this method is typically irrelevant. Do not try to verify
7853    /// it is called by your mocks.
7854    fn get_polling_error_policy(
7855        &self,
7856        _options: &crate::RequestOptions,
7857    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7858        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7859    }
7860
7861    /// Returns the polling backoff policy.
7862    ///
7863    /// When mocking, this method is typically irrelevant. Do not try to verify
7864    /// it is called by your mocks.
7865    fn get_polling_backoff_policy(
7866        &self,
7867        _options: &crate::RequestOptions,
7868    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7869        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7870    }
7871
7872    #[doc(hidden)]
7873    /// Returns the poller options.
7874    ///
7875    /// When mocking, this method is typically irrelevant. Do not try to verify
7876    /// it is called by your mocks.
7877    fn get_poller_options(
7878        &self,
7879        _options: &crate::RequestOptions,
7880    ) -> google_cloud_lro::PollerOptions {
7881        google_cloud_lro::PollerOptions::default()
7882    }
7883}
7884
7885/// Defines the trait used to implement [super::client::PacketMirrorings].
7886///
7887/// Application developers may need to implement this trait to mock
7888/// `client::PacketMirrorings`.  In other use-cases, application developers only
7889/// use `client::PacketMirrorings` and need not be concerned with this trait or
7890/// its implementations.
7891///
7892/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7893/// too. To avoid breaking applications the trait provides a default
7894/// implementation of each method. Most of these implementations just return an
7895/// error.
7896#[cfg(feature = "packet-mirrorings")]
7897#[cfg_attr(docsrs, doc(cfg(feature = "packet-mirrorings")))]
7898pub trait PacketMirrorings: std::fmt::Debug + Send + Sync {
7899    /// Implements [super::client::PacketMirrorings::aggregated_list].
7900    fn aggregated_list(
7901        &self,
7902        _req: crate::model::packet_mirrorings::AggregatedListRequest,
7903        _options: crate::RequestOptions,
7904    ) -> impl std::future::Future<
7905        Output = crate::Result<crate::Response<crate::model::PacketMirroringAggregatedList>>,
7906    > + Send {
7907        gaxi::unimplemented::unimplemented_stub()
7908    }
7909
7910    /// Implements [super::client::PacketMirrorings::delete].
7911    fn delete(
7912        &self,
7913        _req: crate::model::packet_mirrorings::DeleteRequest,
7914        _options: crate::RequestOptions,
7915    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7916    {
7917        gaxi::unimplemented::unimplemented_stub()
7918    }
7919
7920    /// Implements [super::client::PacketMirrorings::get].
7921    fn get(
7922        &self,
7923        _req: crate::model::packet_mirrorings::GetRequest,
7924        _options: crate::RequestOptions,
7925    ) -> impl std::future::Future<
7926        Output = crate::Result<crate::Response<crate::model::PacketMirroring>>,
7927    > + Send {
7928        gaxi::unimplemented::unimplemented_stub()
7929    }
7930
7931    /// Implements [super::client::PacketMirrorings::insert].
7932    fn insert(
7933        &self,
7934        _req: crate::model::packet_mirrorings::InsertRequest,
7935        _options: crate::RequestOptions,
7936    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7937    {
7938        gaxi::unimplemented::unimplemented_stub()
7939    }
7940
7941    /// Implements [super::client::PacketMirrorings::list].
7942    fn list(
7943        &self,
7944        _req: crate::model::packet_mirrorings::ListRequest,
7945        _options: crate::RequestOptions,
7946    ) -> impl std::future::Future<
7947        Output = crate::Result<crate::Response<crate::model::PacketMirroringList>>,
7948    > + Send {
7949        gaxi::unimplemented::unimplemented_stub()
7950    }
7951
7952    /// Implements [super::client::PacketMirrorings::patch].
7953    fn patch(
7954        &self,
7955        _req: crate::model::packet_mirrorings::PatchRequest,
7956        _options: crate::RequestOptions,
7957    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7958    {
7959        gaxi::unimplemented::unimplemented_stub()
7960    }
7961
7962    /// Implements [super::client::PacketMirrorings::test_iam_permissions].
7963    fn test_iam_permissions(
7964        &self,
7965        _req: crate::model::packet_mirrorings::TestIamPermissionsRequest,
7966        _options: crate::RequestOptions,
7967    ) -> impl std::future::Future<
7968        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7969    > + Send {
7970        gaxi::unimplemented::unimplemented_stub()
7971    }
7972
7973    /// Implements [super::client::PacketMirrorings::get_operation].
7974    fn get_operation(
7975        &self,
7976        _req: crate::model::region_operations::GetRequest,
7977        _options: crate::RequestOptions,
7978    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7979    {
7980        gaxi::unimplemented::unimplemented_stub()
7981    }
7982
7983    /// Returns the polling error policy.
7984    ///
7985    /// When mocking, this method is typically irrelevant. Do not try to verify
7986    /// it is called by your mocks.
7987    fn get_polling_error_policy(
7988        &self,
7989        _options: &crate::RequestOptions,
7990    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7991        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7992    }
7993
7994    /// Returns the polling backoff policy.
7995    ///
7996    /// When mocking, this method is typically irrelevant. Do not try to verify
7997    /// it is called by your mocks.
7998    fn get_polling_backoff_policy(
7999        &self,
8000        _options: &crate::RequestOptions,
8001    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8002        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8003    }
8004
8005    #[doc(hidden)]
8006    /// Returns the poller options.
8007    ///
8008    /// When mocking, this method is typically irrelevant. Do not try to verify
8009    /// it is called by your mocks.
8010    fn get_poller_options(
8011        &self,
8012        _options: &crate::RequestOptions,
8013    ) -> google_cloud_lro::PollerOptions {
8014        google_cloud_lro::PollerOptions::default()
8015    }
8016}
8017
8018/// Defines the trait used to implement [super::client::PreviewFeatures].
8019///
8020/// Application developers may need to implement this trait to mock
8021/// `client::PreviewFeatures`.  In other use-cases, application developers only
8022/// use `client::PreviewFeatures` and need not be concerned with this trait or
8023/// its implementations.
8024///
8025/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8026/// too. To avoid breaking applications the trait provides a default
8027/// implementation of each method. Most of these implementations just return an
8028/// error.
8029#[cfg(feature = "preview-features")]
8030#[cfg_attr(docsrs, doc(cfg(feature = "preview-features")))]
8031pub trait PreviewFeatures: std::fmt::Debug + Send + Sync {
8032    /// Implements [super::client::PreviewFeatures::get].
8033    fn get(
8034        &self,
8035        _req: crate::model::preview_features::GetRequest,
8036        _options: crate::RequestOptions,
8037    ) -> impl std::future::Future<
8038        Output = crate::Result<crate::Response<crate::model::PreviewFeature>>,
8039    > + Send {
8040        gaxi::unimplemented::unimplemented_stub()
8041    }
8042
8043    /// Implements [super::client::PreviewFeatures::list].
8044    fn list(
8045        &self,
8046        _req: crate::model::preview_features::ListRequest,
8047        _options: crate::RequestOptions,
8048    ) -> impl std::future::Future<
8049        Output = crate::Result<crate::Response<crate::model::PreviewFeatureList>>,
8050    > + Send {
8051        gaxi::unimplemented::unimplemented_stub()
8052    }
8053
8054    /// Implements [super::client::PreviewFeatures::update].
8055    fn update(
8056        &self,
8057        _req: crate::model::preview_features::UpdateRequest,
8058        _options: crate::RequestOptions,
8059    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8060    {
8061        gaxi::unimplemented::unimplemented_stub()
8062    }
8063
8064    /// Implements [super::client::PreviewFeatures::get_operation].
8065    fn get_operation(
8066        &self,
8067        _req: crate::model::global_operations::GetRequest,
8068        _options: crate::RequestOptions,
8069    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8070    {
8071        gaxi::unimplemented::unimplemented_stub()
8072    }
8073
8074    /// Returns the polling error policy.
8075    ///
8076    /// When mocking, this method is typically irrelevant. Do not try to verify
8077    /// it is called by your mocks.
8078    fn get_polling_error_policy(
8079        &self,
8080        _options: &crate::RequestOptions,
8081    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8082        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8083    }
8084
8085    /// Returns the polling backoff policy.
8086    ///
8087    /// When mocking, this method is typically irrelevant. Do not try to verify
8088    /// it is called by your mocks.
8089    fn get_polling_backoff_policy(
8090        &self,
8091        _options: &crate::RequestOptions,
8092    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8093        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8094    }
8095
8096    #[doc(hidden)]
8097    /// Returns the poller options.
8098    ///
8099    /// When mocking, this method is typically irrelevant. Do not try to verify
8100    /// it is called by your mocks.
8101    fn get_poller_options(
8102        &self,
8103        _options: &crate::RequestOptions,
8104    ) -> google_cloud_lro::PollerOptions {
8105        google_cloud_lro::PollerOptions::default()
8106    }
8107}
8108
8109/// Defines the trait used to implement [super::client::ProjectViews].
8110///
8111/// Application developers may need to implement this trait to mock
8112/// `client::ProjectViews`.  In other use-cases, application developers only
8113/// use `client::ProjectViews` and need not be concerned with this trait or
8114/// its implementations.
8115///
8116/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8117/// too. To avoid breaking applications the trait provides a default
8118/// implementation of each method. Most of these implementations just return an
8119/// error.
8120#[cfg(feature = "project-views")]
8121#[cfg_attr(docsrs, doc(cfg(feature = "project-views")))]
8122pub trait ProjectViews: std::fmt::Debug + Send + Sync {
8123    /// Implements [super::client::ProjectViews::get].
8124    fn get(
8125        &self,
8126        _req: crate::model::project_views::GetRequest,
8127        _options: crate::RequestOptions,
8128    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ProjectView>>>
8129    + Send {
8130        gaxi::unimplemented::unimplemented_stub()
8131    }
8132}
8133
8134/// Defines the trait used to implement [super::client::Projects].
8135///
8136/// Application developers may need to implement this trait to mock
8137/// `client::Projects`.  In other use-cases, application developers only
8138/// use `client::Projects` and need not be concerned with this trait or
8139/// its implementations.
8140///
8141/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8142/// too. To avoid breaking applications the trait provides a default
8143/// implementation of each method. Most of these implementations just return an
8144/// error.
8145#[cfg(feature = "projects")]
8146#[cfg_attr(docsrs, doc(cfg(feature = "projects")))]
8147pub trait Projects: std::fmt::Debug + Send + Sync {
8148    /// Implements [super::client::Projects::disable_xpn_host].
8149    fn disable_xpn_host(
8150        &self,
8151        _req: crate::model::projects::DisableXpnHostRequest,
8152        _options: crate::RequestOptions,
8153    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8154    {
8155        gaxi::unimplemented::unimplemented_stub()
8156    }
8157
8158    /// Implements [super::client::Projects::disable_xpn_resource].
8159    fn disable_xpn_resource(
8160        &self,
8161        _req: crate::model::projects::DisableXpnResourceRequest,
8162        _options: crate::RequestOptions,
8163    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8164    {
8165        gaxi::unimplemented::unimplemented_stub()
8166    }
8167
8168    /// Implements [super::client::Projects::enable_xpn_host].
8169    fn enable_xpn_host(
8170        &self,
8171        _req: crate::model::projects::EnableXpnHostRequest,
8172        _options: crate::RequestOptions,
8173    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8174    {
8175        gaxi::unimplemented::unimplemented_stub()
8176    }
8177
8178    /// Implements [super::client::Projects::enable_xpn_resource].
8179    fn enable_xpn_resource(
8180        &self,
8181        _req: crate::model::projects::EnableXpnResourceRequest,
8182        _options: crate::RequestOptions,
8183    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8184    {
8185        gaxi::unimplemented::unimplemented_stub()
8186    }
8187
8188    /// Implements [super::client::Projects::get].
8189    fn get(
8190        &self,
8191        _req: crate::model::projects::GetRequest,
8192        _options: crate::RequestOptions,
8193    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Project>>> + Send
8194    {
8195        gaxi::unimplemented::unimplemented_stub()
8196    }
8197
8198    /// Implements [super::client::Projects::get_xpn_host].
8199    fn get_xpn_host(
8200        &self,
8201        _req: crate::model::projects::GetXpnHostRequest,
8202        _options: crate::RequestOptions,
8203    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Project>>> + Send
8204    {
8205        gaxi::unimplemented::unimplemented_stub()
8206    }
8207
8208    /// Implements [super::client::Projects::get_xpn_resources].
8209    fn get_xpn_resources(
8210        &self,
8211        _req: crate::model::projects::GetXpnResourcesRequest,
8212        _options: crate::RequestOptions,
8213    ) -> impl std::future::Future<
8214        Output = crate::Result<crate::Response<crate::model::ProjectsGetXpnResources>>,
8215    > + Send {
8216        gaxi::unimplemented::unimplemented_stub()
8217    }
8218
8219    /// Implements [super::client::Projects::list_xpn_hosts].
8220    fn list_xpn_hosts(
8221        &self,
8222        _req: crate::model::projects::ListXpnHostsRequest,
8223        _options: crate::RequestOptions,
8224    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::XpnHostList>>>
8225    + Send {
8226        gaxi::unimplemented::unimplemented_stub()
8227    }
8228
8229    /// Implements [super::client::Projects::move_disk].
8230    fn move_disk(
8231        &self,
8232        _req: crate::model::projects::MoveDiskRequest,
8233        _options: crate::RequestOptions,
8234    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8235    {
8236        gaxi::unimplemented::unimplemented_stub()
8237    }
8238
8239    /// Implements [super::client::Projects::move_instance].
8240    fn move_instance(
8241        &self,
8242        _req: crate::model::projects::MoveInstanceRequest,
8243        _options: crate::RequestOptions,
8244    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8245    {
8246        gaxi::unimplemented::unimplemented_stub()
8247    }
8248
8249    /// Implements [super::client::Projects::set_cloud_armor_tier].
8250    fn set_cloud_armor_tier(
8251        &self,
8252        _req: crate::model::projects::SetCloudArmorTierRequest,
8253        _options: crate::RequestOptions,
8254    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8255    {
8256        gaxi::unimplemented::unimplemented_stub()
8257    }
8258
8259    /// Implements [super::client::Projects::set_common_instance_metadata].
8260    fn set_common_instance_metadata(
8261        &self,
8262        _req: crate::model::projects::SetCommonInstanceMetadataRequest,
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::Projects::set_default_network_tier].
8270    fn set_default_network_tier(
8271        &self,
8272        _req: crate::model::projects::SetDefaultNetworkTierRequest,
8273        _options: crate::RequestOptions,
8274    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8275    {
8276        gaxi::unimplemented::unimplemented_stub()
8277    }
8278
8279    /// Implements [super::client::Projects::set_usage_export_bucket].
8280    fn set_usage_export_bucket(
8281        &self,
8282        _req: crate::model::projects::SetUsageExportBucketRequest,
8283        _options: crate::RequestOptions,
8284    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8285    {
8286        gaxi::unimplemented::unimplemented_stub()
8287    }
8288
8289    /// Implements [super::client::Projects::get_operation].
8290    fn get_operation(
8291        &self,
8292        _req: crate::model::global_operations::GetRequest,
8293        _options: crate::RequestOptions,
8294    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8295    {
8296        gaxi::unimplemented::unimplemented_stub()
8297    }
8298
8299    /// Returns the polling error policy.
8300    ///
8301    /// When mocking, this method is typically irrelevant. Do not try to verify
8302    /// it is called by your mocks.
8303    fn get_polling_error_policy(
8304        &self,
8305        _options: &crate::RequestOptions,
8306    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8307        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8308    }
8309
8310    /// Returns the polling backoff 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_backoff_policy(
8315        &self,
8316        _options: &crate::RequestOptions,
8317    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8318        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8319    }
8320
8321    #[doc(hidden)]
8322    /// Returns the poller options.
8323    ///
8324    /// When mocking, this method is typically irrelevant. Do not try to verify
8325    /// it is called by your mocks.
8326    fn get_poller_options(
8327        &self,
8328        _options: &crate::RequestOptions,
8329    ) -> google_cloud_lro::PollerOptions {
8330        google_cloud_lro::PollerOptions::default()
8331    }
8332}
8333
8334/// Defines the trait used to implement [super::client::PublicAdvertisedPrefixes].
8335///
8336/// Application developers may need to implement this trait to mock
8337/// `client::PublicAdvertisedPrefixes`.  In other use-cases, application developers only
8338/// use `client::PublicAdvertisedPrefixes` and need not be concerned with this trait or
8339/// its implementations.
8340///
8341/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8342/// too. To avoid breaking applications the trait provides a default
8343/// implementation of each method. Most of these implementations just return an
8344/// error.
8345#[cfg(feature = "public-advertised-prefixes")]
8346#[cfg_attr(docsrs, doc(cfg(feature = "public-advertised-prefixes")))]
8347pub trait PublicAdvertisedPrefixes: std::fmt::Debug + Send + Sync {
8348    /// Implements [super::client::PublicAdvertisedPrefixes::announce].
8349    fn announce(
8350        &self,
8351        _req: crate::model::public_advertised_prefixes::AnnounceRequest,
8352        _options: crate::RequestOptions,
8353    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8354    {
8355        gaxi::unimplemented::unimplemented_stub()
8356    }
8357
8358    /// Implements [super::client::PublicAdvertisedPrefixes::delete].
8359    fn delete(
8360        &self,
8361        _req: crate::model::public_advertised_prefixes::DeleteRequest,
8362        _options: crate::RequestOptions,
8363    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8364    {
8365        gaxi::unimplemented::unimplemented_stub()
8366    }
8367
8368    /// Implements [super::client::PublicAdvertisedPrefixes::get].
8369    fn get(
8370        &self,
8371        _req: crate::model::public_advertised_prefixes::GetRequest,
8372        _options: crate::RequestOptions,
8373    ) -> impl std::future::Future<
8374        Output = crate::Result<crate::Response<crate::model::PublicAdvertisedPrefix>>,
8375    > + Send {
8376        gaxi::unimplemented::unimplemented_stub()
8377    }
8378
8379    /// Implements [super::client::PublicAdvertisedPrefixes::insert].
8380    fn insert(
8381        &self,
8382        _req: crate::model::public_advertised_prefixes::InsertRequest,
8383        _options: crate::RequestOptions,
8384    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8385    {
8386        gaxi::unimplemented::unimplemented_stub()
8387    }
8388
8389    /// Implements [super::client::PublicAdvertisedPrefixes::list].
8390    fn list(
8391        &self,
8392        _req: crate::model::public_advertised_prefixes::ListRequest,
8393        _options: crate::RequestOptions,
8394    ) -> impl std::future::Future<
8395        Output = crate::Result<crate::Response<crate::model::PublicAdvertisedPrefixList>>,
8396    > + Send {
8397        gaxi::unimplemented::unimplemented_stub()
8398    }
8399
8400    /// Implements [super::client::PublicAdvertisedPrefixes::patch].
8401    fn patch(
8402        &self,
8403        _req: crate::model::public_advertised_prefixes::PatchRequest,
8404        _options: crate::RequestOptions,
8405    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8406    {
8407        gaxi::unimplemented::unimplemented_stub()
8408    }
8409
8410    /// Implements [super::client::PublicAdvertisedPrefixes::withdraw].
8411    fn withdraw(
8412        &self,
8413        _req: crate::model::public_advertised_prefixes::WithdrawRequest,
8414        _options: crate::RequestOptions,
8415    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8416    {
8417        gaxi::unimplemented::unimplemented_stub()
8418    }
8419
8420    /// Implements [super::client::PublicAdvertisedPrefixes::get_operation].
8421    fn get_operation(
8422        &self,
8423        _req: crate::model::global_operations::GetRequest,
8424        _options: crate::RequestOptions,
8425    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8426    {
8427        gaxi::unimplemented::unimplemented_stub()
8428    }
8429
8430    /// Returns the polling error policy.
8431    ///
8432    /// When mocking, this method is typically irrelevant. Do not try to verify
8433    /// it is called by your mocks.
8434    fn get_polling_error_policy(
8435        &self,
8436        _options: &crate::RequestOptions,
8437    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8438        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8439    }
8440
8441    /// Returns the polling backoff policy.
8442    ///
8443    /// When mocking, this method is typically irrelevant. Do not try to verify
8444    /// it is called by your mocks.
8445    fn get_polling_backoff_policy(
8446        &self,
8447        _options: &crate::RequestOptions,
8448    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8449        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8450    }
8451
8452    #[doc(hidden)]
8453    /// Returns the poller options.
8454    ///
8455    /// When mocking, this method is typically irrelevant. Do not try to verify
8456    /// it is called by your mocks.
8457    fn get_poller_options(
8458        &self,
8459        _options: &crate::RequestOptions,
8460    ) -> google_cloud_lro::PollerOptions {
8461        google_cloud_lro::PollerOptions::default()
8462    }
8463}
8464
8465/// Defines the trait used to implement [super::client::PublicDelegatedPrefixes].
8466///
8467/// Application developers may need to implement this trait to mock
8468/// `client::PublicDelegatedPrefixes`.  In other use-cases, application developers only
8469/// use `client::PublicDelegatedPrefixes` and need not be concerned with this trait or
8470/// its implementations.
8471///
8472/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8473/// too. To avoid breaking applications the trait provides a default
8474/// implementation of each method. Most of these implementations just return an
8475/// error.
8476#[cfg(feature = "public-delegated-prefixes")]
8477#[cfg_attr(docsrs, doc(cfg(feature = "public-delegated-prefixes")))]
8478pub trait PublicDelegatedPrefixes: std::fmt::Debug + Send + Sync {
8479    /// Implements [super::client::PublicDelegatedPrefixes::aggregated_list].
8480    fn aggregated_list(
8481        &self,
8482        _req: crate::model::public_delegated_prefixes::AggregatedListRequest,
8483        _options: crate::RequestOptions,
8484    ) -> impl std::future::Future<
8485        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixAggregatedList>>,
8486    > + Send {
8487        gaxi::unimplemented::unimplemented_stub()
8488    }
8489
8490    /// Implements [super::client::PublicDelegatedPrefixes::announce].
8491    fn announce(
8492        &self,
8493        _req: crate::model::public_delegated_prefixes::AnnounceRequest,
8494        _options: crate::RequestOptions,
8495    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8496    {
8497        gaxi::unimplemented::unimplemented_stub()
8498    }
8499
8500    /// Implements [super::client::PublicDelegatedPrefixes::delete].
8501    fn delete(
8502        &self,
8503        _req: crate::model::public_delegated_prefixes::DeleteRequest,
8504        _options: crate::RequestOptions,
8505    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8506    {
8507        gaxi::unimplemented::unimplemented_stub()
8508    }
8509
8510    /// Implements [super::client::PublicDelegatedPrefixes::get].
8511    fn get(
8512        &self,
8513        _req: crate::model::public_delegated_prefixes::GetRequest,
8514        _options: crate::RequestOptions,
8515    ) -> impl std::future::Future<
8516        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefix>>,
8517    > + Send {
8518        gaxi::unimplemented::unimplemented_stub()
8519    }
8520
8521    /// Implements [super::client::PublicDelegatedPrefixes::insert].
8522    fn insert(
8523        &self,
8524        _req: crate::model::public_delegated_prefixes::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::PublicDelegatedPrefixes::list].
8532    fn list(
8533        &self,
8534        _req: crate::model::public_delegated_prefixes::ListRequest,
8535        _options: crate::RequestOptions,
8536    ) -> impl std::future::Future<
8537        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixList>>,
8538    > + Send {
8539        gaxi::unimplemented::unimplemented_stub()
8540    }
8541
8542    /// Implements [super::client::PublicDelegatedPrefixes::patch].
8543    fn patch(
8544        &self,
8545        _req: crate::model::public_delegated_prefixes::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::PublicDelegatedPrefixes::withdraw].
8553    fn withdraw(
8554        &self,
8555        _req: crate::model::public_delegated_prefixes::WithdrawRequest,
8556        _options: crate::RequestOptions,
8557    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8558    {
8559        gaxi::unimplemented::unimplemented_stub()
8560    }
8561
8562    /// Implements [super::client::PublicDelegatedPrefixes::get_operation].
8563    fn get_operation(
8564        &self,
8565        _req: crate::model::region_operations::GetRequest,
8566        _options: crate::RequestOptions,
8567    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8568    {
8569        gaxi::unimplemented::unimplemented_stub()
8570    }
8571
8572    /// Returns the polling error policy.
8573    ///
8574    /// When mocking, this method is typically irrelevant. Do not try to verify
8575    /// it is called by your mocks.
8576    fn get_polling_error_policy(
8577        &self,
8578        _options: &crate::RequestOptions,
8579    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8580        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8581    }
8582
8583    /// Returns the polling backoff 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_backoff_policy(
8588        &self,
8589        _options: &crate::RequestOptions,
8590    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8591        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8592    }
8593
8594    #[doc(hidden)]
8595    /// Returns the poller options.
8596    ///
8597    /// When mocking, this method is typically irrelevant. Do not try to verify
8598    /// it is called by your mocks.
8599    fn get_poller_options(
8600        &self,
8601        _options: &crate::RequestOptions,
8602    ) -> google_cloud_lro::PollerOptions {
8603        google_cloud_lro::PollerOptions::default()
8604    }
8605}
8606
8607/// Defines the trait used to implement [super::client::RegionAutoscalers].
8608///
8609/// Application developers may need to implement this trait to mock
8610/// `client::RegionAutoscalers`.  In other use-cases, application developers only
8611/// use `client::RegionAutoscalers` and need not be concerned with this trait or
8612/// its implementations.
8613///
8614/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8615/// too. To avoid breaking applications the trait provides a default
8616/// implementation of each method. Most of these implementations just return an
8617/// error.
8618#[cfg(feature = "region-autoscalers")]
8619#[cfg_attr(docsrs, doc(cfg(feature = "region-autoscalers")))]
8620pub trait RegionAutoscalers: std::fmt::Debug + Send + Sync {
8621    /// Implements [super::client::RegionAutoscalers::delete].
8622    fn delete(
8623        &self,
8624        _req: crate::model::region_autoscalers::DeleteRequest,
8625        _options: crate::RequestOptions,
8626    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8627    {
8628        gaxi::unimplemented::unimplemented_stub()
8629    }
8630
8631    /// Implements [super::client::RegionAutoscalers::get].
8632    fn get(
8633        &self,
8634        _req: crate::model::region_autoscalers::GetRequest,
8635        _options: crate::RequestOptions,
8636    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Autoscaler>>> + Send
8637    {
8638        gaxi::unimplemented::unimplemented_stub()
8639    }
8640
8641    /// Implements [super::client::RegionAutoscalers::insert].
8642    fn insert(
8643        &self,
8644        _req: crate::model::region_autoscalers::InsertRequest,
8645        _options: crate::RequestOptions,
8646    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8647    {
8648        gaxi::unimplemented::unimplemented_stub()
8649    }
8650
8651    /// Implements [super::client::RegionAutoscalers::list].
8652    fn list(
8653        &self,
8654        _req: crate::model::region_autoscalers::ListRequest,
8655        _options: crate::RequestOptions,
8656    ) -> impl std::future::Future<
8657        Output = crate::Result<crate::Response<crate::model::RegionAutoscalerList>>,
8658    > + Send {
8659        gaxi::unimplemented::unimplemented_stub()
8660    }
8661
8662    /// Implements [super::client::RegionAutoscalers::patch].
8663    fn patch(
8664        &self,
8665        _req: crate::model::region_autoscalers::PatchRequest,
8666        _options: crate::RequestOptions,
8667    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8668    {
8669        gaxi::unimplemented::unimplemented_stub()
8670    }
8671
8672    /// Implements [super::client::RegionAutoscalers::test_iam_permissions].
8673    fn test_iam_permissions(
8674        &self,
8675        _req: crate::model::region_autoscalers::TestIamPermissionsRequest,
8676        _options: crate::RequestOptions,
8677    ) -> impl std::future::Future<
8678        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8679    > + Send {
8680        gaxi::unimplemented::unimplemented_stub()
8681    }
8682
8683    /// Implements [super::client::RegionAutoscalers::update].
8684    fn update(
8685        &self,
8686        _req: crate::model::region_autoscalers::UpdateRequest,
8687        _options: crate::RequestOptions,
8688    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8689    {
8690        gaxi::unimplemented::unimplemented_stub()
8691    }
8692
8693    /// Implements [super::client::RegionAutoscalers::get_operation].
8694    fn get_operation(
8695        &self,
8696        _req: crate::model::region_operations::GetRequest,
8697        _options: crate::RequestOptions,
8698    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8699    {
8700        gaxi::unimplemented::unimplemented_stub()
8701    }
8702
8703    /// Returns the polling error policy.
8704    ///
8705    /// When mocking, this method is typically irrelevant. Do not try to verify
8706    /// it is called by your mocks.
8707    fn get_polling_error_policy(
8708        &self,
8709        _options: &crate::RequestOptions,
8710    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8711        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8712    }
8713
8714    /// Returns the polling backoff policy.
8715    ///
8716    /// When mocking, this method is typically irrelevant. Do not try to verify
8717    /// it is called by your mocks.
8718    fn get_polling_backoff_policy(
8719        &self,
8720        _options: &crate::RequestOptions,
8721    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8722        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8723    }
8724
8725    #[doc(hidden)]
8726    /// Returns the poller options.
8727    ///
8728    /// When mocking, this method is typically irrelevant. Do not try to verify
8729    /// it is called by your mocks.
8730    fn get_poller_options(
8731        &self,
8732        _options: &crate::RequestOptions,
8733    ) -> google_cloud_lro::PollerOptions {
8734        google_cloud_lro::PollerOptions::default()
8735    }
8736}
8737
8738/// Defines the trait used to implement [super::client::RegionBackendBuckets].
8739///
8740/// Application developers may need to implement this trait to mock
8741/// `client::RegionBackendBuckets`.  In other use-cases, application developers only
8742/// use `client::RegionBackendBuckets` and need not be concerned with this trait or
8743/// its implementations.
8744///
8745/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8746/// too. To avoid breaking applications the trait provides a default
8747/// implementation of each method. Most of these implementations just return an
8748/// error.
8749#[cfg(feature = "region-backend-buckets")]
8750#[cfg_attr(docsrs, doc(cfg(feature = "region-backend-buckets")))]
8751pub trait RegionBackendBuckets: std::fmt::Debug + Send + Sync {
8752    /// Implements [super::client::RegionBackendBuckets::delete].
8753    fn delete(
8754        &self,
8755        _req: crate::model::region_backend_buckets::DeleteRequest,
8756        _options: crate::RequestOptions,
8757    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8758    {
8759        gaxi::unimplemented::unimplemented_stub()
8760    }
8761
8762    /// Implements [super::client::RegionBackendBuckets::get].
8763    fn get(
8764        &self,
8765        _req: crate::model::region_backend_buckets::GetRequest,
8766        _options: crate::RequestOptions,
8767    ) -> impl std::future::Future<
8768        Output = crate::Result<crate::Response<crate::model::BackendBucket>>,
8769    > + Send {
8770        gaxi::unimplemented::unimplemented_stub()
8771    }
8772
8773    /// Implements [super::client::RegionBackendBuckets::get_iam_policy].
8774    fn get_iam_policy(
8775        &self,
8776        _req: crate::model::region_backend_buckets::GetIamPolicyRequest,
8777        _options: crate::RequestOptions,
8778    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8779    {
8780        gaxi::unimplemented::unimplemented_stub()
8781    }
8782
8783    /// Implements [super::client::RegionBackendBuckets::insert].
8784    fn insert(
8785        &self,
8786        _req: crate::model::region_backend_buckets::InsertRequest,
8787        _options: crate::RequestOptions,
8788    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8789    {
8790        gaxi::unimplemented::unimplemented_stub()
8791    }
8792
8793    /// Implements [super::client::RegionBackendBuckets::list].
8794    fn list(
8795        &self,
8796        _req: crate::model::region_backend_buckets::ListRequest,
8797        _options: crate::RequestOptions,
8798    ) -> impl std::future::Future<
8799        Output = crate::Result<crate::Response<crate::model::BackendBucketList>>,
8800    > + Send {
8801        gaxi::unimplemented::unimplemented_stub()
8802    }
8803
8804    /// Implements [super::client::RegionBackendBuckets::list_usable].
8805    fn list_usable(
8806        &self,
8807        _req: crate::model::region_backend_buckets::ListUsableRequest,
8808        _options: crate::RequestOptions,
8809    ) -> impl std::future::Future<
8810        Output = crate::Result<crate::Response<crate::model::BackendBucketListUsable>>,
8811    > + Send {
8812        gaxi::unimplemented::unimplemented_stub()
8813    }
8814
8815    /// Implements [super::client::RegionBackendBuckets::patch].
8816    fn patch(
8817        &self,
8818        _req: crate::model::region_backend_buckets::PatchRequest,
8819        _options: crate::RequestOptions,
8820    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8821    {
8822        gaxi::unimplemented::unimplemented_stub()
8823    }
8824
8825    /// Implements [super::client::RegionBackendBuckets::set_iam_policy].
8826    fn set_iam_policy(
8827        &self,
8828        _req: crate::model::region_backend_buckets::SetIamPolicyRequest,
8829        _options: crate::RequestOptions,
8830    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8831    {
8832        gaxi::unimplemented::unimplemented_stub()
8833    }
8834
8835    /// Implements [super::client::RegionBackendBuckets::test_iam_permissions].
8836    fn test_iam_permissions(
8837        &self,
8838        _req: crate::model::region_backend_buckets::TestIamPermissionsRequest,
8839        _options: crate::RequestOptions,
8840    ) -> impl std::future::Future<
8841        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8842    > + Send {
8843        gaxi::unimplemented::unimplemented_stub()
8844    }
8845
8846    /// Implements [super::client::RegionBackendBuckets::get_operation].
8847    fn get_operation(
8848        &self,
8849        _req: crate::model::region_operations::GetRequest,
8850        _options: crate::RequestOptions,
8851    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8852    {
8853        gaxi::unimplemented::unimplemented_stub()
8854    }
8855
8856    /// Returns the polling error policy.
8857    ///
8858    /// When mocking, this method is typically irrelevant. Do not try to verify
8859    /// it is called by your mocks.
8860    fn get_polling_error_policy(
8861        &self,
8862        _options: &crate::RequestOptions,
8863    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8864        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8865    }
8866
8867    /// Returns the polling backoff policy.
8868    ///
8869    /// When mocking, this method is typically irrelevant. Do not try to verify
8870    /// it is called by your mocks.
8871    fn get_polling_backoff_policy(
8872        &self,
8873        _options: &crate::RequestOptions,
8874    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8875        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8876    }
8877
8878    #[doc(hidden)]
8879    /// Returns the poller options.
8880    ///
8881    /// When mocking, this method is typically irrelevant. Do not try to verify
8882    /// it is called by your mocks.
8883    fn get_poller_options(
8884        &self,
8885        _options: &crate::RequestOptions,
8886    ) -> google_cloud_lro::PollerOptions {
8887        google_cloud_lro::PollerOptions::default()
8888    }
8889}
8890
8891/// Defines the trait used to implement [super::client::RegionBackendServices].
8892///
8893/// Application developers may need to implement this trait to mock
8894/// `client::RegionBackendServices`.  In other use-cases, application developers only
8895/// use `client::RegionBackendServices` and need not be concerned with this trait or
8896/// its implementations.
8897///
8898/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8899/// too. To avoid breaking applications the trait provides a default
8900/// implementation of each method. Most of these implementations just return an
8901/// error.
8902#[cfg(feature = "region-backend-services")]
8903#[cfg_attr(docsrs, doc(cfg(feature = "region-backend-services")))]
8904pub trait RegionBackendServices: std::fmt::Debug + Send + Sync {
8905    /// Implements [super::client::RegionBackendServices::delete].
8906    fn delete(
8907        &self,
8908        _req: crate::model::region_backend_services::DeleteRequest,
8909        _options: crate::RequestOptions,
8910    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8911    {
8912        gaxi::unimplemented::unimplemented_stub()
8913    }
8914
8915    /// Implements [super::client::RegionBackendServices::get].
8916    fn get(
8917        &self,
8918        _req: crate::model::region_backend_services::GetRequest,
8919        _options: crate::RequestOptions,
8920    ) -> impl std::future::Future<
8921        Output = crate::Result<crate::Response<crate::model::BackendService>>,
8922    > + Send {
8923        gaxi::unimplemented::unimplemented_stub()
8924    }
8925
8926    /// Implements [super::client::RegionBackendServices::get_health].
8927    fn get_health(
8928        &self,
8929        _req: crate::model::region_backend_services::GetHealthRequest,
8930        _options: crate::RequestOptions,
8931    ) -> impl std::future::Future<
8932        Output = crate::Result<crate::Response<crate::model::BackendServiceGroupHealth>>,
8933    > + Send {
8934        gaxi::unimplemented::unimplemented_stub()
8935    }
8936
8937    /// Implements [super::client::RegionBackendServices::get_iam_policy].
8938    fn get_iam_policy(
8939        &self,
8940        _req: crate::model::region_backend_services::GetIamPolicyRequest,
8941        _options: crate::RequestOptions,
8942    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8943    {
8944        gaxi::unimplemented::unimplemented_stub()
8945    }
8946
8947    /// Implements [super::client::RegionBackendServices::insert].
8948    fn insert(
8949        &self,
8950        _req: crate::model::region_backend_services::InsertRequest,
8951        _options: crate::RequestOptions,
8952    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8953    {
8954        gaxi::unimplemented::unimplemented_stub()
8955    }
8956
8957    /// Implements [super::client::RegionBackendServices::list].
8958    fn list(
8959        &self,
8960        _req: crate::model::region_backend_services::ListRequest,
8961        _options: crate::RequestOptions,
8962    ) -> impl std::future::Future<
8963        Output = crate::Result<crate::Response<crate::model::BackendServiceList>>,
8964    > + Send {
8965        gaxi::unimplemented::unimplemented_stub()
8966    }
8967
8968    /// Implements [super::client::RegionBackendServices::list_usable].
8969    fn list_usable(
8970        &self,
8971        _req: crate::model::region_backend_services::ListUsableRequest,
8972        _options: crate::RequestOptions,
8973    ) -> impl std::future::Future<
8974        Output = crate::Result<crate::Response<crate::model::BackendServiceListUsable>>,
8975    > + Send {
8976        gaxi::unimplemented::unimplemented_stub()
8977    }
8978
8979    /// Implements [super::client::RegionBackendServices::patch].
8980    fn patch(
8981        &self,
8982        _req: crate::model::region_backend_services::PatchRequest,
8983        _options: crate::RequestOptions,
8984    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8985    {
8986        gaxi::unimplemented::unimplemented_stub()
8987    }
8988
8989    /// Implements [super::client::RegionBackendServices::set_iam_policy].
8990    fn set_iam_policy(
8991        &self,
8992        _req: crate::model::region_backend_services::SetIamPolicyRequest,
8993        _options: crate::RequestOptions,
8994    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8995    {
8996        gaxi::unimplemented::unimplemented_stub()
8997    }
8998
8999    /// Implements [super::client::RegionBackendServices::set_security_policy].
9000    fn set_security_policy(
9001        &self,
9002        _req: crate::model::region_backend_services::SetSecurityPolicyRequest,
9003        _options: crate::RequestOptions,
9004    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9005    {
9006        gaxi::unimplemented::unimplemented_stub()
9007    }
9008
9009    /// Implements [super::client::RegionBackendServices::test_iam_permissions].
9010    fn test_iam_permissions(
9011        &self,
9012        _req: crate::model::region_backend_services::TestIamPermissionsRequest,
9013        _options: crate::RequestOptions,
9014    ) -> impl std::future::Future<
9015        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9016    > + Send {
9017        gaxi::unimplemented::unimplemented_stub()
9018    }
9019
9020    /// Implements [super::client::RegionBackendServices::update].
9021    fn update(
9022        &self,
9023        _req: crate::model::region_backend_services::UpdateRequest,
9024        _options: crate::RequestOptions,
9025    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9026    {
9027        gaxi::unimplemented::unimplemented_stub()
9028    }
9029
9030    /// Implements [super::client::RegionBackendServices::get_operation].
9031    fn get_operation(
9032        &self,
9033        _req: crate::model::region_operations::GetRequest,
9034        _options: crate::RequestOptions,
9035    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9036    {
9037        gaxi::unimplemented::unimplemented_stub()
9038    }
9039
9040    /// Returns the polling error policy.
9041    ///
9042    /// When mocking, this method is typically irrelevant. Do not try to verify
9043    /// it is called by your mocks.
9044    fn get_polling_error_policy(
9045        &self,
9046        _options: &crate::RequestOptions,
9047    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9048        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9049    }
9050
9051    /// Returns the polling backoff policy.
9052    ///
9053    /// When mocking, this method is typically irrelevant. Do not try to verify
9054    /// it is called by your mocks.
9055    fn get_polling_backoff_policy(
9056        &self,
9057        _options: &crate::RequestOptions,
9058    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9059        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9060    }
9061
9062    #[doc(hidden)]
9063    /// Returns the poller options.
9064    ///
9065    /// When mocking, this method is typically irrelevant. Do not try to verify
9066    /// it is called by your mocks.
9067    fn get_poller_options(
9068        &self,
9069        _options: &crate::RequestOptions,
9070    ) -> google_cloud_lro::PollerOptions {
9071        google_cloud_lro::PollerOptions::default()
9072    }
9073}
9074
9075/// Defines the trait used to implement [super::client::RegionCommitments].
9076///
9077/// Application developers may need to implement this trait to mock
9078/// `client::RegionCommitments`.  In other use-cases, application developers only
9079/// use `client::RegionCommitments` and need not be concerned with this trait or
9080/// its implementations.
9081///
9082/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9083/// too. To avoid breaking applications the trait provides a default
9084/// implementation of each method. Most of these implementations just return an
9085/// error.
9086#[cfg(feature = "region-commitments")]
9087#[cfg_attr(docsrs, doc(cfg(feature = "region-commitments")))]
9088pub trait RegionCommitments: std::fmt::Debug + Send + Sync {
9089    /// Implements [super::client::RegionCommitments::aggregated_list].
9090    fn aggregated_list(
9091        &self,
9092        _req: crate::model::region_commitments::AggregatedListRequest,
9093        _options: crate::RequestOptions,
9094    ) -> impl std::future::Future<
9095        Output = crate::Result<crate::Response<crate::model::CommitmentAggregatedList>>,
9096    > + Send {
9097        gaxi::unimplemented::unimplemented_stub()
9098    }
9099
9100    /// Implements [super::client::RegionCommitments::get].
9101    fn get(
9102        &self,
9103        _req: crate::model::region_commitments::GetRequest,
9104        _options: crate::RequestOptions,
9105    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Commitment>>> + Send
9106    {
9107        gaxi::unimplemented::unimplemented_stub()
9108    }
9109
9110    /// Implements [super::client::RegionCommitments::insert].
9111    fn insert(
9112        &self,
9113        _req: crate::model::region_commitments::InsertRequest,
9114        _options: crate::RequestOptions,
9115    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9116    {
9117        gaxi::unimplemented::unimplemented_stub()
9118    }
9119
9120    /// Implements [super::client::RegionCommitments::list].
9121    fn list(
9122        &self,
9123        _req: crate::model::region_commitments::ListRequest,
9124        _options: crate::RequestOptions,
9125    ) -> impl std::future::Future<
9126        Output = crate::Result<crate::Response<crate::model::CommitmentList>>,
9127    > + Send {
9128        gaxi::unimplemented::unimplemented_stub()
9129    }
9130
9131    /// Implements [super::client::RegionCommitments::update].
9132    fn update(
9133        &self,
9134        _req: crate::model::region_commitments::UpdateRequest,
9135        _options: crate::RequestOptions,
9136    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9137    {
9138        gaxi::unimplemented::unimplemented_stub()
9139    }
9140
9141    /// Implements [super::client::RegionCommitments::get_operation].
9142    fn get_operation(
9143        &self,
9144        _req: crate::model::region_operations::GetRequest,
9145        _options: crate::RequestOptions,
9146    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9147    {
9148        gaxi::unimplemented::unimplemented_stub()
9149    }
9150
9151    /// Returns the polling error policy.
9152    ///
9153    /// When mocking, this method is typically irrelevant. Do not try to verify
9154    /// it is called by your mocks.
9155    fn get_polling_error_policy(
9156        &self,
9157        _options: &crate::RequestOptions,
9158    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9159        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9160    }
9161
9162    /// Returns the polling backoff policy.
9163    ///
9164    /// When mocking, this method is typically irrelevant. Do not try to verify
9165    /// it is called by your mocks.
9166    fn get_polling_backoff_policy(
9167        &self,
9168        _options: &crate::RequestOptions,
9169    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9170        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9171    }
9172
9173    #[doc(hidden)]
9174    /// Returns the poller options.
9175    ///
9176    /// When mocking, this method is typically irrelevant. Do not try to verify
9177    /// it is called by your mocks.
9178    fn get_poller_options(
9179        &self,
9180        _options: &crate::RequestOptions,
9181    ) -> google_cloud_lro::PollerOptions {
9182        google_cloud_lro::PollerOptions::default()
9183    }
9184}
9185
9186/// Defines the trait used to implement [super::client::RegionCompositeHealthChecks].
9187///
9188/// Application developers may need to implement this trait to mock
9189/// `client::RegionCompositeHealthChecks`.  In other use-cases, application developers only
9190/// use `client::RegionCompositeHealthChecks` and need not be concerned with this trait or
9191/// its implementations.
9192///
9193/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9194/// too. To avoid breaking applications the trait provides a default
9195/// implementation of each method. Most of these implementations just return an
9196/// error.
9197#[cfg(feature = "region-composite-health-checks")]
9198#[cfg_attr(docsrs, doc(cfg(feature = "region-composite-health-checks")))]
9199pub trait RegionCompositeHealthChecks: std::fmt::Debug + Send + Sync {
9200    /// Implements [super::client::RegionCompositeHealthChecks::aggregated_list].
9201    fn aggregated_list(
9202        &self,
9203        _req: crate::model::region_composite_health_checks::AggregatedListRequest,
9204        _options: crate::RequestOptions,
9205    ) -> impl std::future::Future<
9206        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckAggregatedList>>,
9207    > + Send {
9208        gaxi::unimplemented::unimplemented_stub()
9209    }
9210
9211    /// Implements [super::client::RegionCompositeHealthChecks::delete].
9212    fn delete(
9213        &self,
9214        _req: crate::model::region_composite_health_checks::DeleteRequest,
9215        _options: crate::RequestOptions,
9216    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9217    {
9218        gaxi::unimplemented::unimplemented_stub()
9219    }
9220
9221    /// Implements [super::client::RegionCompositeHealthChecks::get].
9222    fn get(
9223        &self,
9224        _req: crate::model::region_composite_health_checks::GetRequest,
9225        _options: crate::RequestOptions,
9226    ) -> impl std::future::Future<
9227        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheck>>,
9228    > + Send {
9229        gaxi::unimplemented::unimplemented_stub()
9230    }
9231
9232    /// Implements [super::client::RegionCompositeHealthChecks::get_health].
9233    fn get_health(
9234        &self,
9235        _req: crate::model::region_composite_health_checks::GetHealthRequest,
9236        _options: crate::RequestOptions,
9237    ) -> impl std::future::Future<
9238        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckHealth>>,
9239    > + Send {
9240        gaxi::unimplemented::unimplemented_stub()
9241    }
9242
9243    /// Implements [super::client::RegionCompositeHealthChecks::insert].
9244    fn insert(
9245        &self,
9246        _req: crate::model::region_composite_health_checks::InsertRequest,
9247        _options: crate::RequestOptions,
9248    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9249    {
9250        gaxi::unimplemented::unimplemented_stub()
9251    }
9252
9253    /// Implements [super::client::RegionCompositeHealthChecks::list].
9254    fn list(
9255        &self,
9256        _req: crate::model::region_composite_health_checks::ListRequest,
9257        _options: crate::RequestOptions,
9258    ) -> impl std::future::Future<
9259        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckList>>,
9260    > + Send {
9261        gaxi::unimplemented::unimplemented_stub()
9262    }
9263
9264    /// Implements [super::client::RegionCompositeHealthChecks::patch].
9265    fn patch(
9266        &self,
9267        _req: crate::model::region_composite_health_checks::PatchRequest,
9268        _options: crate::RequestOptions,
9269    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9270    {
9271        gaxi::unimplemented::unimplemented_stub()
9272    }
9273
9274    /// Implements [super::client::RegionCompositeHealthChecks::test_iam_permissions].
9275    fn test_iam_permissions(
9276        &self,
9277        _req: crate::model::region_composite_health_checks::TestIamPermissionsRequest,
9278        _options: crate::RequestOptions,
9279    ) -> impl std::future::Future<
9280        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9281    > + Send {
9282        gaxi::unimplemented::unimplemented_stub()
9283    }
9284
9285    /// Implements [super::client::RegionCompositeHealthChecks::get_operation].
9286    fn get_operation(
9287        &self,
9288        _req: crate::model::region_operations::GetRequest,
9289        _options: crate::RequestOptions,
9290    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9291    {
9292        gaxi::unimplemented::unimplemented_stub()
9293    }
9294
9295    /// Returns the polling error policy.
9296    ///
9297    /// When mocking, this method is typically irrelevant. Do not try to verify
9298    /// it is called by your mocks.
9299    fn get_polling_error_policy(
9300        &self,
9301        _options: &crate::RequestOptions,
9302    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9303        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9304    }
9305
9306    /// Returns the polling backoff policy.
9307    ///
9308    /// When mocking, this method is typically irrelevant. Do not try to verify
9309    /// it is called by your mocks.
9310    fn get_polling_backoff_policy(
9311        &self,
9312        _options: &crate::RequestOptions,
9313    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9314        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9315    }
9316
9317    #[doc(hidden)]
9318    /// Returns the poller options.
9319    ///
9320    /// When mocking, this method is typically irrelevant. Do not try to verify
9321    /// it is called by your mocks.
9322    fn get_poller_options(
9323        &self,
9324        _options: &crate::RequestOptions,
9325    ) -> google_cloud_lro::PollerOptions {
9326        google_cloud_lro::PollerOptions::default()
9327    }
9328}
9329
9330/// Defines the trait used to implement [super::client::RegionDiskTypes].
9331///
9332/// Application developers may need to implement this trait to mock
9333/// `client::RegionDiskTypes`.  In other use-cases, application developers only
9334/// use `client::RegionDiskTypes` and need not be concerned with this trait or
9335/// its implementations.
9336///
9337/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9338/// too. To avoid breaking applications the trait provides a default
9339/// implementation of each method. Most of these implementations just return an
9340/// error.
9341#[cfg(feature = "region-disk-types")]
9342#[cfg_attr(docsrs, doc(cfg(feature = "region-disk-types")))]
9343pub trait RegionDiskTypes: std::fmt::Debug + Send + Sync {
9344    /// Implements [super::client::RegionDiskTypes::get].
9345    fn get(
9346        &self,
9347        _req: crate::model::region_disk_types::GetRequest,
9348        _options: crate::RequestOptions,
9349    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskType>>> + Send
9350    {
9351        gaxi::unimplemented::unimplemented_stub()
9352    }
9353
9354    /// Implements [super::client::RegionDiskTypes::list].
9355    fn list(
9356        &self,
9357        _req: crate::model::region_disk_types::ListRequest,
9358        _options: crate::RequestOptions,
9359    ) -> impl std::future::Future<
9360        Output = crate::Result<crate::Response<crate::model::RegionDiskTypeList>>,
9361    > + Send {
9362        gaxi::unimplemented::unimplemented_stub()
9363    }
9364}
9365
9366/// Defines the trait used to implement [super::client::RegionDisks].
9367///
9368/// Application developers may need to implement this trait to mock
9369/// `client::RegionDisks`.  In other use-cases, application developers only
9370/// use `client::RegionDisks` and need not be concerned with this trait or
9371/// its implementations.
9372///
9373/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9374/// too. To avoid breaking applications the trait provides a default
9375/// implementation of each method. Most of these implementations just return an
9376/// error.
9377#[cfg(feature = "region-disks")]
9378#[cfg_attr(docsrs, doc(cfg(feature = "region-disks")))]
9379pub trait RegionDisks: std::fmt::Debug + Send + Sync {
9380    /// Implements [super::client::RegionDisks::add_resource_policies].
9381    fn add_resource_policies(
9382        &self,
9383        _req: crate::model::region_disks::AddResourcePoliciesRequest,
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::bulk_insert].
9391    fn bulk_insert(
9392        &self,
9393        _req: crate::model::region_disks::BulkInsertRequest,
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::create_snapshot].
9401    fn create_snapshot(
9402        &self,
9403        _req: crate::model::region_disks::CreateSnapshotRequest,
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::delete].
9411    fn delete(
9412        &self,
9413        _req: crate::model::region_disks::DeleteRequest,
9414        _options: crate::RequestOptions,
9415    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9416    {
9417        gaxi::unimplemented::unimplemented_stub()
9418    }
9419
9420    /// Implements [super::client::RegionDisks::get].
9421    fn get(
9422        &self,
9423        _req: crate::model::region_disks::GetRequest,
9424        _options: crate::RequestOptions,
9425    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Disk>>> + Send
9426    {
9427        gaxi::unimplemented::unimplemented_stub()
9428    }
9429
9430    /// Implements [super::client::RegionDisks::get_iam_policy].
9431    fn get_iam_policy(
9432        &self,
9433        _req: crate::model::region_disks::GetIamPolicyRequest,
9434        _options: crate::RequestOptions,
9435    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9436    {
9437        gaxi::unimplemented::unimplemented_stub()
9438    }
9439
9440    /// Implements [super::client::RegionDisks::insert].
9441    fn insert(
9442        &self,
9443        _req: crate::model::region_disks::InsertRequest,
9444        _options: crate::RequestOptions,
9445    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9446    {
9447        gaxi::unimplemented::unimplemented_stub()
9448    }
9449
9450    /// Implements [super::client::RegionDisks::list].
9451    fn list(
9452        &self,
9453        _req: crate::model::region_disks::ListRequest,
9454        _options: crate::RequestOptions,
9455    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskList>>> + Send
9456    {
9457        gaxi::unimplemented::unimplemented_stub()
9458    }
9459
9460    /// Implements [super::client::RegionDisks::remove_resource_policies].
9461    fn remove_resource_policies(
9462        &self,
9463        _req: crate::model::region_disks::RemoveResourcePoliciesRequest,
9464        _options: crate::RequestOptions,
9465    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9466    {
9467        gaxi::unimplemented::unimplemented_stub()
9468    }
9469
9470    /// Implements [super::client::RegionDisks::resize].
9471    fn resize(
9472        &self,
9473        _req: crate::model::region_disks::ResizeRequest,
9474        _options: crate::RequestOptions,
9475    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9476    {
9477        gaxi::unimplemented::unimplemented_stub()
9478    }
9479
9480    /// Implements [super::client::RegionDisks::set_iam_policy].
9481    fn set_iam_policy(
9482        &self,
9483        _req: crate::model::region_disks::SetIamPolicyRequest,
9484        _options: crate::RequestOptions,
9485    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9486    {
9487        gaxi::unimplemented::unimplemented_stub()
9488    }
9489
9490    /// Implements [super::client::RegionDisks::set_labels].
9491    fn set_labels(
9492        &self,
9493        _req: crate::model::region_disks::SetLabelsRequest,
9494        _options: crate::RequestOptions,
9495    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9496    {
9497        gaxi::unimplemented::unimplemented_stub()
9498    }
9499
9500    /// Implements [super::client::RegionDisks::start_async_replication].
9501    fn start_async_replication(
9502        &self,
9503        _req: crate::model::region_disks::StartAsyncReplicationRequest,
9504        _options: crate::RequestOptions,
9505    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9506    {
9507        gaxi::unimplemented::unimplemented_stub()
9508    }
9509
9510    /// Implements [super::client::RegionDisks::stop_async_replication].
9511    fn stop_async_replication(
9512        &self,
9513        _req: crate::model::region_disks::StopAsyncReplicationRequest,
9514        _options: crate::RequestOptions,
9515    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9516    {
9517        gaxi::unimplemented::unimplemented_stub()
9518    }
9519
9520    /// Implements [super::client::RegionDisks::stop_group_async_replication].
9521    fn stop_group_async_replication(
9522        &self,
9523        _req: crate::model::region_disks::StopGroupAsyncReplicationRequest,
9524        _options: crate::RequestOptions,
9525    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9526    {
9527        gaxi::unimplemented::unimplemented_stub()
9528    }
9529
9530    /// Implements [super::client::RegionDisks::test_iam_permissions].
9531    fn test_iam_permissions(
9532        &self,
9533        _req: crate::model::region_disks::TestIamPermissionsRequest,
9534        _options: crate::RequestOptions,
9535    ) -> impl std::future::Future<
9536        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9537    > + Send {
9538        gaxi::unimplemented::unimplemented_stub()
9539    }
9540
9541    /// Implements [super::client::RegionDisks::update].
9542    fn update(
9543        &self,
9544        _req: crate::model::region_disks::UpdateRequest,
9545        _options: crate::RequestOptions,
9546    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9547    {
9548        gaxi::unimplemented::unimplemented_stub()
9549    }
9550
9551    /// Implements [super::client::RegionDisks::update_kms_key].
9552    fn update_kms_key(
9553        &self,
9554        _req: crate::model::region_disks::UpdateKmsKeyRequest,
9555        _options: crate::RequestOptions,
9556    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9557    {
9558        gaxi::unimplemented::unimplemented_stub()
9559    }
9560
9561    /// Implements [super::client::RegionDisks::get_operation].
9562    fn get_operation(
9563        &self,
9564        _req: crate::model::region_operations::GetRequest,
9565        _options: crate::RequestOptions,
9566    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9567    {
9568        gaxi::unimplemented::unimplemented_stub()
9569    }
9570
9571    /// Returns the polling error policy.
9572    ///
9573    /// When mocking, this method is typically irrelevant. Do not try to verify
9574    /// it is called by your mocks.
9575    fn get_polling_error_policy(
9576        &self,
9577        _options: &crate::RequestOptions,
9578    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9579        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9580    }
9581
9582    /// Returns the polling backoff policy.
9583    ///
9584    /// When mocking, this method is typically irrelevant. Do not try to verify
9585    /// it is called by your mocks.
9586    fn get_polling_backoff_policy(
9587        &self,
9588        _options: &crate::RequestOptions,
9589    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9590        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9591    }
9592
9593    #[doc(hidden)]
9594    /// Returns the poller options.
9595    ///
9596    /// When mocking, this method is typically irrelevant. Do not try to verify
9597    /// it is called by your mocks.
9598    fn get_poller_options(
9599        &self,
9600        _options: &crate::RequestOptions,
9601    ) -> google_cloud_lro::PollerOptions {
9602        google_cloud_lro::PollerOptions::default()
9603    }
9604}
9605
9606/// Defines the trait used to implement [super::client::RegionHealthAggregationPolicies].
9607///
9608/// Application developers may need to implement this trait to mock
9609/// `client::RegionHealthAggregationPolicies`.  In other use-cases, application developers only
9610/// use `client::RegionHealthAggregationPolicies` and need not be concerned with this trait or
9611/// its implementations.
9612///
9613/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9614/// too. To avoid breaking applications the trait provides a default
9615/// implementation of each method. Most of these implementations just return an
9616/// error.
9617#[cfg(feature = "region-health-aggregation-policies")]
9618#[cfg_attr(docsrs, doc(cfg(feature = "region-health-aggregation-policies")))]
9619pub trait RegionHealthAggregationPolicies: std::fmt::Debug + Send + Sync {
9620    /// Implements [super::client::RegionHealthAggregationPolicies::aggregated_list].
9621    fn aggregated_list(
9622        &self,
9623        _req: crate::model::region_health_aggregation_policies::AggregatedListRequest,
9624        _options: crate::RequestOptions,
9625    ) -> impl std::future::Future<
9626        Output = crate::Result<
9627            crate::Response<crate::model::HealthAggregationPolicyAggregatedList>,
9628        >,
9629    > + Send {
9630        gaxi::unimplemented::unimplemented_stub()
9631    }
9632
9633    /// Implements [super::client::RegionHealthAggregationPolicies::delete].
9634    fn delete(
9635        &self,
9636        _req: crate::model::region_health_aggregation_policies::DeleteRequest,
9637        _options: crate::RequestOptions,
9638    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9639    {
9640        gaxi::unimplemented::unimplemented_stub()
9641    }
9642
9643    /// Implements [super::client::RegionHealthAggregationPolicies::get].
9644    fn get(
9645        &self,
9646        _req: crate::model::region_health_aggregation_policies::GetRequest,
9647        _options: crate::RequestOptions,
9648    ) -> impl std::future::Future<
9649        Output = crate::Result<crate::Response<crate::model::HealthAggregationPolicy>>,
9650    > + Send {
9651        gaxi::unimplemented::unimplemented_stub()
9652    }
9653
9654    /// Implements [super::client::RegionHealthAggregationPolicies::insert].
9655    fn insert(
9656        &self,
9657        _req: crate::model::region_health_aggregation_policies::InsertRequest,
9658        _options: crate::RequestOptions,
9659    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9660    {
9661        gaxi::unimplemented::unimplemented_stub()
9662    }
9663
9664    /// Implements [super::client::RegionHealthAggregationPolicies::list].
9665    fn list(
9666        &self,
9667        _req: crate::model::region_health_aggregation_policies::ListRequest,
9668        _options: crate::RequestOptions,
9669    ) -> impl std::future::Future<
9670        Output = crate::Result<crate::Response<crate::model::HealthAggregationPolicyList>>,
9671    > + Send {
9672        gaxi::unimplemented::unimplemented_stub()
9673    }
9674
9675    /// Implements [super::client::RegionHealthAggregationPolicies::patch].
9676    fn patch(
9677        &self,
9678        _req: crate::model::region_health_aggregation_policies::PatchRequest,
9679        _options: crate::RequestOptions,
9680    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9681    {
9682        gaxi::unimplemented::unimplemented_stub()
9683    }
9684
9685    /// Implements [super::client::RegionHealthAggregationPolicies::test_iam_permissions].
9686    fn test_iam_permissions(
9687        &self,
9688        _req: crate::model::region_health_aggregation_policies::TestIamPermissionsRequest,
9689        _options: crate::RequestOptions,
9690    ) -> impl std::future::Future<
9691        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9692    > + Send {
9693        gaxi::unimplemented::unimplemented_stub()
9694    }
9695
9696    /// Implements [super::client::RegionHealthAggregationPolicies::get_operation].
9697    fn get_operation(
9698        &self,
9699        _req: crate::model::region_operations::GetRequest,
9700        _options: crate::RequestOptions,
9701    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9702    {
9703        gaxi::unimplemented::unimplemented_stub()
9704    }
9705
9706    /// Returns the polling error policy.
9707    ///
9708    /// When mocking, this method is typically irrelevant. Do not try to verify
9709    /// it is called by your mocks.
9710    fn get_polling_error_policy(
9711        &self,
9712        _options: &crate::RequestOptions,
9713    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9714        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9715    }
9716
9717    /// Returns the polling backoff policy.
9718    ///
9719    /// When mocking, this method is typically irrelevant. Do not try to verify
9720    /// it is called by your mocks.
9721    fn get_polling_backoff_policy(
9722        &self,
9723        _options: &crate::RequestOptions,
9724    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9725        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9726    }
9727
9728    #[doc(hidden)]
9729    /// Returns the poller options.
9730    ///
9731    /// When mocking, this method is typically irrelevant. Do not try to verify
9732    /// it is called by your mocks.
9733    fn get_poller_options(
9734        &self,
9735        _options: &crate::RequestOptions,
9736    ) -> google_cloud_lro::PollerOptions {
9737        google_cloud_lro::PollerOptions::default()
9738    }
9739}
9740
9741/// Defines the trait used to implement [super::client::RegionHealthCheckServices].
9742///
9743/// Application developers may need to implement this trait to mock
9744/// `client::RegionHealthCheckServices`.  In other use-cases, application developers only
9745/// use `client::RegionHealthCheckServices` and need not be concerned with this trait or
9746/// its implementations.
9747///
9748/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9749/// too. To avoid breaking applications the trait provides a default
9750/// implementation of each method. Most of these implementations just return an
9751/// error.
9752#[cfg(feature = "region-health-check-services")]
9753#[cfg_attr(docsrs, doc(cfg(feature = "region-health-check-services")))]
9754pub trait RegionHealthCheckServices: std::fmt::Debug + Send + Sync {
9755    /// Implements [super::client::RegionHealthCheckServices::aggregated_list].
9756    fn aggregated_list(
9757        &self,
9758        _req: crate::model::region_health_check_services::AggregatedListRequest,
9759        _options: crate::RequestOptions,
9760    ) -> impl std::future::Future<
9761        Output = crate::Result<crate::Response<crate::model::HealthCheckServiceAggregatedList>>,
9762    > + Send {
9763        gaxi::unimplemented::unimplemented_stub()
9764    }
9765
9766    /// Implements [super::client::RegionHealthCheckServices::delete].
9767    fn delete(
9768        &self,
9769        _req: crate::model::region_health_check_services::DeleteRequest,
9770        _options: crate::RequestOptions,
9771    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9772    {
9773        gaxi::unimplemented::unimplemented_stub()
9774    }
9775
9776    /// Implements [super::client::RegionHealthCheckServices::get].
9777    fn get(
9778        &self,
9779        _req: crate::model::region_health_check_services::GetRequest,
9780        _options: crate::RequestOptions,
9781    ) -> impl std::future::Future<
9782        Output = crate::Result<crate::Response<crate::model::HealthCheckService>>,
9783    > + Send {
9784        gaxi::unimplemented::unimplemented_stub()
9785    }
9786
9787    /// Implements [super::client::RegionHealthCheckServices::insert].
9788    fn insert(
9789        &self,
9790        _req: crate::model::region_health_check_services::InsertRequest,
9791        _options: crate::RequestOptions,
9792    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9793    {
9794        gaxi::unimplemented::unimplemented_stub()
9795    }
9796
9797    /// Implements [super::client::RegionHealthCheckServices::list].
9798    fn list(
9799        &self,
9800        _req: crate::model::region_health_check_services::ListRequest,
9801        _options: crate::RequestOptions,
9802    ) -> impl std::future::Future<
9803        Output = crate::Result<crate::Response<crate::model::HealthCheckServicesList>>,
9804    > + Send {
9805        gaxi::unimplemented::unimplemented_stub()
9806    }
9807
9808    /// Implements [super::client::RegionHealthCheckServices::patch].
9809    fn patch(
9810        &self,
9811        _req: crate::model::region_health_check_services::PatchRequest,
9812        _options: crate::RequestOptions,
9813    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9814    {
9815        gaxi::unimplemented::unimplemented_stub()
9816    }
9817
9818    /// Implements [super::client::RegionHealthCheckServices::test_iam_permissions].
9819    fn test_iam_permissions(
9820        &self,
9821        _req: crate::model::region_health_check_services::TestIamPermissionsRequest,
9822        _options: crate::RequestOptions,
9823    ) -> impl std::future::Future<
9824        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9825    > + Send {
9826        gaxi::unimplemented::unimplemented_stub()
9827    }
9828
9829    /// Implements [super::client::RegionHealthCheckServices::get_operation].
9830    fn get_operation(
9831        &self,
9832        _req: crate::model::region_operations::GetRequest,
9833        _options: crate::RequestOptions,
9834    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9835    {
9836        gaxi::unimplemented::unimplemented_stub()
9837    }
9838
9839    /// Returns the polling error policy.
9840    ///
9841    /// When mocking, this method is typically irrelevant. Do not try to verify
9842    /// it is called by your mocks.
9843    fn get_polling_error_policy(
9844        &self,
9845        _options: &crate::RequestOptions,
9846    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9847        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9848    }
9849
9850    /// Returns the polling backoff 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_backoff_policy(
9855        &self,
9856        _options: &crate::RequestOptions,
9857    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9858        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9859    }
9860
9861    #[doc(hidden)]
9862    /// Returns the poller options.
9863    ///
9864    /// When mocking, this method is typically irrelevant. Do not try to verify
9865    /// it is called by your mocks.
9866    fn get_poller_options(
9867        &self,
9868        _options: &crate::RequestOptions,
9869    ) -> google_cloud_lro::PollerOptions {
9870        google_cloud_lro::PollerOptions::default()
9871    }
9872}
9873
9874/// Defines the trait used to implement [super::client::RegionHealthChecks].
9875///
9876/// Application developers may need to implement this trait to mock
9877/// `client::RegionHealthChecks`.  In other use-cases, application developers only
9878/// use `client::RegionHealthChecks` and need not be concerned with this trait or
9879/// its implementations.
9880///
9881/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9882/// too. To avoid breaking applications the trait provides a default
9883/// implementation of each method. Most of these implementations just return an
9884/// error.
9885#[cfg(feature = "region-health-checks")]
9886#[cfg_attr(docsrs, doc(cfg(feature = "region-health-checks")))]
9887pub trait RegionHealthChecks: std::fmt::Debug + Send + Sync {
9888    /// Implements [super::client::RegionHealthChecks::delete].
9889    fn delete(
9890        &self,
9891        _req: crate::model::region_health_checks::DeleteRequest,
9892        _options: crate::RequestOptions,
9893    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9894    {
9895        gaxi::unimplemented::unimplemented_stub()
9896    }
9897
9898    /// Implements [super::client::RegionHealthChecks::get].
9899    fn get(
9900        &self,
9901        _req: crate::model::region_health_checks::GetRequest,
9902        _options: crate::RequestOptions,
9903    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::HealthCheck>>>
9904    + Send {
9905        gaxi::unimplemented::unimplemented_stub()
9906    }
9907
9908    /// Implements [super::client::RegionHealthChecks::insert].
9909    fn insert(
9910        &self,
9911        _req: crate::model::region_health_checks::InsertRequest,
9912        _options: crate::RequestOptions,
9913    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9914    {
9915        gaxi::unimplemented::unimplemented_stub()
9916    }
9917
9918    /// Implements [super::client::RegionHealthChecks::list].
9919    fn list(
9920        &self,
9921        _req: crate::model::region_health_checks::ListRequest,
9922        _options: crate::RequestOptions,
9923    ) -> impl std::future::Future<
9924        Output = crate::Result<crate::Response<crate::model::HealthCheckList>>,
9925    > + Send {
9926        gaxi::unimplemented::unimplemented_stub()
9927    }
9928
9929    /// Implements [super::client::RegionHealthChecks::patch].
9930    fn patch(
9931        &self,
9932        _req: crate::model::region_health_checks::PatchRequest,
9933        _options: crate::RequestOptions,
9934    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9935    {
9936        gaxi::unimplemented::unimplemented_stub()
9937    }
9938
9939    /// Implements [super::client::RegionHealthChecks::test_iam_permissions].
9940    fn test_iam_permissions(
9941        &self,
9942        _req: crate::model::region_health_checks::TestIamPermissionsRequest,
9943        _options: crate::RequestOptions,
9944    ) -> impl std::future::Future<
9945        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9946    > + Send {
9947        gaxi::unimplemented::unimplemented_stub()
9948    }
9949
9950    /// Implements [super::client::RegionHealthChecks::update].
9951    fn update(
9952        &self,
9953        _req: crate::model::region_health_checks::UpdateRequest,
9954        _options: crate::RequestOptions,
9955    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9956    {
9957        gaxi::unimplemented::unimplemented_stub()
9958    }
9959
9960    /// Implements [super::client::RegionHealthChecks::get_operation].
9961    fn get_operation(
9962        &self,
9963        _req: crate::model::region_operations::GetRequest,
9964        _options: crate::RequestOptions,
9965    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9966    {
9967        gaxi::unimplemented::unimplemented_stub()
9968    }
9969
9970    /// Returns the polling error policy.
9971    ///
9972    /// When mocking, this method is typically irrelevant. Do not try to verify
9973    /// it is called by your mocks.
9974    fn get_polling_error_policy(
9975        &self,
9976        _options: &crate::RequestOptions,
9977    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9978        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9979    }
9980
9981    /// Returns the polling backoff policy.
9982    ///
9983    /// When mocking, this method is typically irrelevant. Do not try to verify
9984    /// it is called by your mocks.
9985    fn get_polling_backoff_policy(
9986        &self,
9987        _options: &crate::RequestOptions,
9988    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9989        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9990    }
9991
9992    #[doc(hidden)]
9993    /// Returns the poller options.
9994    ///
9995    /// When mocking, this method is typically irrelevant. Do not try to verify
9996    /// it is called by your mocks.
9997    fn get_poller_options(
9998        &self,
9999        _options: &crate::RequestOptions,
10000    ) -> google_cloud_lro::PollerOptions {
10001        google_cloud_lro::PollerOptions::default()
10002    }
10003}
10004
10005/// Defines the trait used to implement [super::client::RegionHealthSources].
10006///
10007/// Application developers may need to implement this trait to mock
10008/// `client::RegionHealthSources`.  In other use-cases, application developers only
10009/// use `client::RegionHealthSources` and need not be concerned with this trait or
10010/// its implementations.
10011///
10012/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10013/// too. To avoid breaking applications the trait provides a default
10014/// implementation of each method. Most of these implementations just return an
10015/// error.
10016#[cfg(feature = "region-health-sources")]
10017#[cfg_attr(docsrs, doc(cfg(feature = "region-health-sources")))]
10018pub trait RegionHealthSources: std::fmt::Debug + Send + Sync {
10019    /// Implements [super::client::RegionHealthSources::aggregated_list].
10020    fn aggregated_list(
10021        &self,
10022        _req: crate::model::region_health_sources::AggregatedListRequest,
10023        _options: crate::RequestOptions,
10024    ) -> impl std::future::Future<
10025        Output = crate::Result<crate::Response<crate::model::HealthSourceAggregatedList>>,
10026    > + Send {
10027        gaxi::unimplemented::unimplemented_stub()
10028    }
10029
10030    /// Implements [super::client::RegionHealthSources::delete].
10031    fn delete(
10032        &self,
10033        _req: crate::model::region_health_sources::DeleteRequest,
10034        _options: crate::RequestOptions,
10035    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10036    {
10037        gaxi::unimplemented::unimplemented_stub()
10038    }
10039
10040    /// Implements [super::client::RegionHealthSources::get].
10041    fn get(
10042        &self,
10043        _req: crate::model::region_health_sources::GetRequest,
10044        _options: crate::RequestOptions,
10045    ) -> impl std::future::Future<
10046        Output = crate::Result<crate::Response<crate::model::HealthSource>>,
10047    > + Send {
10048        gaxi::unimplemented::unimplemented_stub()
10049    }
10050
10051    /// Implements [super::client::RegionHealthSources::get_health].
10052    fn get_health(
10053        &self,
10054        _req: crate::model::region_health_sources::GetHealthRequest,
10055        _options: crate::RequestOptions,
10056    ) -> impl std::future::Future<
10057        Output = crate::Result<crate::Response<crate::model::HealthSourceHealth>>,
10058    > + Send {
10059        gaxi::unimplemented::unimplemented_stub()
10060    }
10061
10062    /// Implements [super::client::RegionHealthSources::insert].
10063    fn insert(
10064        &self,
10065        _req: crate::model::region_health_sources::InsertRequest,
10066        _options: crate::RequestOptions,
10067    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10068    {
10069        gaxi::unimplemented::unimplemented_stub()
10070    }
10071
10072    /// Implements [super::client::RegionHealthSources::list].
10073    fn list(
10074        &self,
10075        _req: crate::model::region_health_sources::ListRequest,
10076        _options: crate::RequestOptions,
10077    ) -> impl std::future::Future<
10078        Output = crate::Result<crate::Response<crate::model::HealthSourceList>>,
10079    > + Send {
10080        gaxi::unimplemented::unimplemented_stub()
10081    }
10082
10083    /// Implements [super::client::RegionHealthSources::patch].
10084    fn patch(
10085        &self,
10086        _req: crate::model::region_health_sources::PatchRequest,
10087        _options: crate::RequestOptions,
10088    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10089    {
10090        gaxi::unimplemented::unimplemented_stub()
10091    }
10092
10093    /// Implements [super::client::RegionHealthSources::test_iam_permissions].
10094    fn test_iam_permissions(
10095        &self,
10096        _req: crate::model::region_health_sources::TestIamPermissionsRequest,
10097        _options: crate::RequestOptions,
10098    ) -> impl std::future::Future<
10099        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10100    > + Send {
10101        gaxi::unimplemented::unimplemented_stub()
10102    }
10103
10104    /// Implements [super::client::RegionHealthSources::get_operation].
10105    fn get_operation(
10106        &self,
10107        _req: crate::model::region_operations::GetRequest,
10108        _options: crate::RequestOptions,
10109    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10110    {
10111        gaxi::unimplemented::unimplemented_stub()
10112    }
10113
10114    /// Returns the polling error policy.
10115    ///
10116    /// When mocking, this method is typically irrelevant. Do not try to verify
10117    /// it is called by your mocks.
10118    fn get_polling_error_policy(
10119        &self,
10120        _options: &crate::RequestOptions,
10121    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10122        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10123    }
10124
10125    /// Returns the polling backoff policy.
10126    ///
10127    /// When mocking, this method is typically irrelevant. Do not try to verify
10128    /// it is called by your mocks.
10129    fn get_polling_backoff_policy(
10130        &self,
10131        _options: &crate::RequestOptions,
10132    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10133        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10134    }
10135
10136    #[doc(hidden)]
10137    /// Returns the poller options.
10138    ///
10139    /// When mocking, this method is typically irrelevant. Do not try to verify
10140    /// it is called by your mocks.
10141    fn get_poller_options(
10142        &self,
10143        _options: &crate::RequestOptions,
10144    ) -> google_cloud_lro::PollerOptions {
10145        google_cloud_lro::PollerOptions::default()
10146    }
10147}
10148
10149/// Defines the trait used to implement [super::client::RegionInstanceGroupManagerResizeRequests].
10150///
10151/// Application developers may need to implement this trait to mock
10152/// `client::RegionInstanceGroupManagerResizeRequests`.  In other use-cases, application developers only
10153/// use `client::RegionInstanceGroupManagerResizeRequests` and need not be concerned with this trait or
10154/// its implementations.
10155///
10156/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10157/// too. To avoid breaking applications the trait provides a default
10158/// implementation of each method. Most of these implementations just return an
10159/// error.
10160#[cfg(feature = "region-instance-group-manager-resize-requests")]
10161#[cfg_attr(
10162    docsrs,
10163    doc(cfg(feature = "region-instance-group-manager-resize-requests"))
10164)]
10165pub trait RegionInstanceGroupManagerResizeRequests: std::fmt::Debug + Send + Sync {
10166    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::cancel].
10167    fn cancel(
10168        &self,
10169        _req: crate::model::region_instance_group_manager_resize_requests::CancelRequest,
10170        _options: crate::RequestOptions,
10171    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10172    {
10173        gaxi::unimplemented::unimplemented_stub()
10174    }
10175
10176    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::delete].
10177    fn delete(
10178        &self,
10179        _req: crate::model::region_instance_group_manager_resize_requests::DeleteRequest,
10180        _options: crate::RequestOptions,
10181    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10182    {
10183        gaxi::unimplemented::unimplemented_stub()
10184    }
10185
10186    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::get].
10187    fn get(
10188        &self,
10189        _req: crate::model::region_instance_group_manager_resize_requests::GetRequest,
10190        _options: crate::RequestOptions,
10191    ) -> impl std::future::Future<
10192        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerResizeRequest>>,
10193    > + Send {
10194        gaxi::unimplemented::unimplemented_stub()
10195    }
10196
10197    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::insert].
10198    fn insert(
10199        &self,
10200        _req: crate::model::region_instance_group_manager_resize_requests::InsertRequest,
10201        _options: crate::RequestOptions,
10202    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10203    {
10204        gaxi::unimplemented::unimplemented_stub()
10205    }
10206
10207    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::list].
10208    fn list(
10209        &self,
10210        _req: crate::model::region_instance_group_manager_resize_requests::ListRequest,
10211        _options: crate::RequestOptions,
10212    ) -> impl std::future::Future<
10213        Output = crate::Result<
10214            crate::Response<crate::model::RegionInstanceGroupManagerResizeRequestsListResponse>,
10215        >,
10216    > + Send {
10217        gaxi::unimplemented::unimplemented_stub()
10218    }
10219
10220    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::get_operation].
10221    fn get_operation(
10222        &self,
10223        _req: crate::model::region_operations::GetRequest,
10224        _options: crate::RequestOptions,
10225    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10226    {
10227        gaxi::unimplemented::unimplemented_stub()
10228    }
10229
10230    /// Returns the polling error policy.
10231    ///
10232    /// When mocking, this method is typically irrelevant. Do not try to verify
10233    /// it is called by your mocks.
10234    fn get_polling_error_policy(
10235        &self,
10236        _options: &crate::RequestOptions,
10237    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10238        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10239    }
10240
10241    /// Returns the polling backoff policy.
10242    ///
10243    /// When mocking, this method is typically irrelevant. Do not try to verify
10244    /// it is called by your mocks.
10245    fn get_polling_backoff_policy(
10246        &self,
10247        _options: &crate::RequestOptions,
10248    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10249        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10250    }
10251
10252    #[doc(hidden)]
10253    /// Returns the poller options.
10254    ///
10255    /// When mocking, this method is typically irrelevant. Do not try to verify
10256    /// it is called by your mocks.
10257    fn get_poller_options(
10258        &self,
10259        _options: &crate::RequestOptions,
10260    ) -> google_cloud_lro::PollerOptions {
10261        google_cloud_lro::PollerOptions::default()
10262    }
10263}
10264
10265/// Defines the trait used to implement [super::client::RegionInstanceGroupManagers].
10266///
10267/// Application developers may need to implement this trait to mock
10268/// `client::RegionInstanceGroupManagers`.  In other use-cases, application developers only
10269/// use `client::RegionInstanceGroupManagers` and need not be concerned with this trait or
10270/// its implementations.
10271///
10272/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10273/// too. To avoid breaking applications the trait provides a default
10274/// implementation of each method. Most of these implementations just return an
10275/// error.
10276#[cfg(feature = "region-instance-group-managers")]
10277#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-group-managers")))]
10278pub trait RegionInstanceGroupManagers: std::fmt::Debug + Send + Sync {
10279    /// Implements [super::client::RegionInstanceGroupManagers::abandon_instances].
10280    fn abandon_instances(
10281        &self,
10282        _req: crate::model::region_instance_group_managers::AbandonInstancesRequest,
10283        _options: crate::RequestOptions,
10284    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10285    {
10286        gaxi::unimplemented::unimplemented_stub()
10287    }
10288
10289    /// Implements [super::client::RegionInstanceGroupManagers::apply_updates_to_instances].
10290    fn apply_updates_to_instances(
10291        &self,
10292        _req: crate::model::region_instance_group_managers::ApplyUpdatesToInstancesRequest,
10293        _options: crate::RequestOptions,
10294    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10295    {
10296        gaxi::unimplemented::unimplemented_stub()
10297    }
10298
10299    /// Implements [super::client::RegionInstanceGroupManagers::create_instances].
10300    fn create_instances(
10301        &self,
10302        _req: crate::model::region_instance_group_managers::CreateInstancesRequest,
10303        _options: crate::RequestOptions,
10304    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10305    {
10306        gaxi::unimplemented::unimplemented_stub()
10307    }
10308
10309    /// Implements [super::client::RegionInstanceGroupManagers::delete].
10310    fn delete(
10311        &self,
10312        _req: crate::model::region_instance_group_managers::DeleteRequest,
10313        _options: crate::RequestOptions,
10314    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10315    {
10316        gaxi::unimplemented::unimplemented_stub()
10317    }
10318
10319    /// Implements [super::client::RegionInstanceGroupManagers::delete_instances].
10320    fn delete_instances(
10321        &self,
10322        _req: crate::model::region_instance_group_managers::DeleteInstancesRequest,
10323        _options: crate::RequestOptions,
10324    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10325    {
10326        gaxi::unimplemented::unimplemented_stub()
10327    }
10328
10329    /// Implements [super::client::RegionInstanceGroupManagers::delete_per_instance_configs].
10330    fn delete_per_instance_configs(
10331        &self,
10332        _req: crate::model::region_instance_group_managers::DeletePerInstanceConfigsRequest,
10333        _options: crate::RequestOptions,
10334    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10335    {
10336        gaxi::unimplemented::unimplemented_stub()
10337    }
10338
10339    /// Implements [super::client::RegionInstanceGroupManagers::get].
10340    fn get(
10341        &self,
10342        _req: crate::model::region_instance_group_managers::GetRequest,
10343        _options: crate::RequestOptions,
10344    ) -> impl std::future::Future<
10345        Output = crate::Result<crate::Response<crate::model::InstanceGroupManager>>,
10346    > + Send {
10347        gaxi::unimplemented::unimplemented_stub()
10348    }
10349
10350    /// Implements [super::client::RegionInstanceGroupManagers::insert].
10351    fn insert(
10352        &self,
10353        _req: crate::model::region_instance_group_managers::InsertRequest,
10354        _options: crate::RequestOptions,
10355    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10356    {
10357        gaxi::unimplemented::unimplemented_stub()
10358    }
10359
10360    /// Implements [super::client::RegionInstanceGroupManagers::list].
10361    fn list(
10362        &self,
10363        _req: crate::model::region_instance_group_managers::ListRequest,
10364        _options: crate::RequestOptions,
10365    ) -> impl std::future::Future<
10366        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupManagerList>>,
10367    > + Send {
10368        gaxi::unimplemented::unimplemented_stub()
10369    }
10370
10371    /// Implements [super::client::RegionInstanceGroupManagers::list_errors].
10372    fn list_errors(
10373        &self,
10374        _req: crate::model::region_instance_group_managers::ListErrorsRequest,
10375        _options: crate::RequestOptions,
10376    ) -> impl std::future::Future<
10377        Output = crate::Result<
10378            crate::Response<crate::model::RegionInstanceGroupManagersListErrorsResponse>,
10379        >,
10380    > + Send {
10381        gaxi::unimplemented::unimplemented_stub()
10382    }
10383
10384    /// Implements [super::client::RegionInstanceGroupManagers::list_managed_instances].
10385    fn list_managed_instances(
10386        &self,
10387        _req: crate::model::region_instance_group_managers::ListManagedInstancesRequest,
10388        _options: crate::RequestOptions,
10389    ) -> impl std::future::Future<
10390        Output = crate::Result<
10391            crate::Response<crate::model::RegionInstanceGroupManagersListInstancesResponse>,
10392        >,
10393    > + Send {
10394        gaxi::unimplemented::unimplemented_stub()
10395    }
10396
10397    /// Implements [super::client::RegionInstanceGroupManagers::list_per_instance_configs].
10398    fn list_per_instance_configs(
10399        &self,
10400        _req: crate::model::region_instance_group_managers::ListPerInstanceConfigsRequest,
10401        _options: crate::RequestOptions,
10402    ) -> impl std::future::Future<
10403        Output = crate::Result<
10404            crate::Response<crate::model::RegionInstanceGroupManagersListInstanceConfigsResp>,
10405        >,
10406    > + Send {
10407        gaxi::unimplemented::unimplemented_stub()
10408    }
10409
10410    /// Implements [super::client::RegionInstanceGroupManagers::patch].
10411    fn patch(
10412        &self,
10413        _req: crate::model::region_instance_group_managers::PatchRequest,
10414        _options: crate::RequestOptions,
10415    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10416    {
10417        gaxi::unimplemented::unimplemented_stub()
10418    }
10419
10420    /// Implements [super::client::RegionInstanceGroupManagers::patch_per_instance_configs].
10421    fn patch_per_instance_configs(
10422        &self,
10423        _req: crate::model::region_instance_group_managers::PatchPerInstanceConfigsRequest,
10424        _options: crate::RequestOptions,
10425    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10426    {
10427        gaxi::unimplemented::unimplemented_stub()
10428    }
10429
10430    /// Implements [super::client::RegionInstanceGroupManagers::recreate_instances].
10431    fn recreate_instances(
10432        &self,
10433        _req: crate::model::region_instance_group_managers::RecreateInstancesRequest,
10434        _options: crate::RequestOptions,
10435    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10436    {
10437        gaxi::unimplemented::unimplemented_stub()
10438    }
10439
10440    /// Implements [super::client::RegionInstanceGroupManagers::resize].
10441    fn resize(
10442        &self,
10443        _req: crate::model::region_instance_group_managers::ResizeRequest,
10444        _options: crate::RequestOptions,
10445    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10446    {
10447        gaxi::unimplemented::unimplemented_stub()
10448    }
10449
10450    /// Implements [super::client::RegionInstanceGroupManagers::resume_instances].
10451    fn resume_instances(
10452        &self,
10453        _req: crate::model::region_instance_group_managers::ResumeInstancesRequest,
10454        _options: crate::RequestOptions,
10455    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10456    {
10457        gaxi::unimplemented::unimplemented_stub()
10458    }
10459
10460    /// Implements [super::client::RegionInstanceGroupManagers::set_instance_template].
10461    fn set_instance_template(
10462        &self,
10463        _req: crate::model::region_instance_group_managers::SetInstanceTemplateRequest,
10464        _options: crate::RequestOptions,
10465    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10466    {
10467        gaxi::unimplemented::unimplemented_stub()
10468    }
10469
10470    /// Implements [super::client::RegionInstanceGroupManagers::set_target_pools].
10471    fn set_target_pools(
10472        &self,
10473        _req: crate::model::region_instance_group_managers::SetTargetPoolsRequest,
10474        _options: crate::RequestOptions,
10475    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10476    {
10477        gaxi::unimplemented::unimplemented_stub()
10478    }
10479
10480    /// Implements [super::client::RegionInstanceGroupManagers::start_instances].
10481    fn start_instances(
10482        &self,
10483        _req: crate::model::region_instance_group_managers::StartInstancesRequest,
10484        _options: crate::RequestOptions,
10485    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10486    {
10487        gaxi::unimplemented::unimplemented_stub()
10488    }
10489
10490    /// Implements [super::client::RegionInstanceGroupManagers::stop_instances].
10491    fn stop_instances(
10492        &self,
10493        _req: crate::model::region_instance_group_managers::StopInstancesRequest,
10494        _options: crate::RequestOptions,
10495    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10496    {
10497        gaxi::unimplemented::unimplemented_stub()
10498    }
10499
10500    /// Implements [super::client::RegionInstanceGroupManagers::suspend_instances].
10501    fn suspend_instances(
10502        &self,
10503        _req: crate::model::region_instance_group_managers::SuspendInstancesRequest,
10504        _options: crate::RequestOptions,
10505    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10506    {
10507        gaxi::unimplemented::unimplemented_stub()
10508    }
10509
10510    /// Implements [super::client::RegionInstanceGroupManagers::update_per_instance_configs].
10511    fn update_per_instance_configs(
10512        &self,
10513        _req: crate::model::region_instance_group_managers::UpdatePerInstanceConfigsRequest,
10514        _options: crate::RequestOptions,
10515    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10516    {
10517        gaxi::unimplemented::unimplemented_stub()
10518    }
10519
10520    /// Implements [super::client::RegionInstanceGroupManagers::get_operation].
10521    fn get_operation(
10522        &self,
10523        _req: crate::model::region_operations::GetRequest,
10524        _options: crate::RequestOptions,
10525    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10526    {
10527        gaxi::unimplemented::unimplemented_stub()
10528    }
10529
10530    /// Returns the polling error policy.
10531    ///
10532    /// When mocking, this method is typically irrelevant. Do not try to verify
10533    /// it is called by your mocks.
10534    fn get_polling_error_policy(
10535        &self,
10536        _options: &crate::RequestOptions,
10537    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10538        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10539    }
10540
10541    /// Returns the polling backoff policy.
10542    ///
10543    /// When mocking, this method is typically irrelevant. Do not try to verify
10544    /// it is called by your mocks.
10545    fn get_polling_backoff_policy(
10546        &self,
10547        _options: &crate::RequestOptions,
10548    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10549        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10550    }
10551
10552    #[doc(hidden)]
10553    /// Returns the poller options.
10554    ///
10555    /// When mocking, this method is typically irrelevant. Do not try to verify
10556    /// it is called by your mocks.
10557    fn get_poller_options(
10558        &self,
10559        _options: &crate::RequestOptions,
10560    ) -> google_cloud_lro::PollerOptions {
10561        google_cloud_lro::PollerOptions::default()
10562    }
10563}
10564
10565/// Defines the trait used to implement [super::client::RegionInstanceGroups].
10566///
10567/// Application developers may need to implement this trait to mock
10568/// `client::RegionInstanceGroups`.  In other use-cases, application developers only
10569/// use `client::RegionInstanceGroups` and need not be concerned with this trait or
10570/// its implementations.
10571///
10572/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10573/// too. To avoid breaking applications the trait provides a default
10574/// implementation of each method. Most of these implementations just return an
10575/// error.
10576#[cfg(feature = "region-instance-groups")]
10577#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-groups")))]
10578pub trait RegionInstanceGroups: std::fmt::Debug + Send + Sync {
10579    /// Implements [super::client::RegionInstanceGroups::get].
10580    fn get(
10581        &self,
10582        _req: crate::model::region_instance_groups::GetRequest,
10583        _options: crate::RequestOptions,
10584    ) -> impl std::future::Future<
10585        Output = crate::Result<crate::Response<crate::model::InstanceGroup>>,
10586    > + Send {
10587        gaxi::unimplemented::unimplemented_stub()
10588    }
10589
10590    /// Implements [super::client::RegionInstanceGroups::list].
10591    fn list(
10592        &self,
10593        _req: crate::model::region_instance_groups::ListRequest,
10594        _options: crate::RequestOptions,
10595    ) -> impl std::future::Future<
10596        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupList>>,
10597    > + Send {
10598        gaxi::unimplemented::unimplemented_stub()
10599    }
10600
10601    /// Implements [super::client::RegionInstanceGroups::list_instances].
10602    fn list_instances(
10603        &self,
10604        _req: crate::model::region_instance_groups::ListInstancesRequest,
10605        _options: crate::RequestOptions,
10606    ) -> impl std::future::Future<
10607        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupsListInstances>>,
10608    > + Send {
10609        gaxi::unimplemented::unimplemented_stub()
10610    }
10611
10612    /// Implements [super::client::RegionInstanceGroups::set_named_ports].
10613    fn set_named_ports(
10614        &self,
10615        _req: crate::model::region_instance_groups::SetNamedPortsRequest,
10616        _options: crate::RequestOptions,
10617    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10618    {
10619        gaxi::unimplemented::unimplemented_stub()
10620    }
10621
10622    /// Implements [super::client::RegionInstanceGroups::test_iam_permissions].
10623    fn test_iam_permissions(
10624        &self,
10625        _req: crate::model::region_instance_groups::TestIamPermissionsRequest,
10626        _options: crate::RequestOptions,
10627    ) -> impl std::future::Future<
10628        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10629    > + Send {
10630        gaxi::unimplemented::unimplemented_stub()
10631    }
10632
10633    /// Implements [super::client::RegionInstanceGroups::get_operation].
10634    fn get_operation(
10635        &self,
10636        _req: crate::model::region_operations::GetRequest,
10637        _options: crate::RequestOptions,
10638    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10639    {
10640        gaxi::unimplemented::unimplemented_stub()
10641    }
10642
10643    /// Returns the polling error policy.
10644    ///
10645    /// When mocking, this method is typically irrelevant. Do not try to verify
10646    /// it is called by your mocks.
10647    fn get_polling_error_policy(
10648        &self,
10649        _options: &crate::RequestOptions,
10650    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10651        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10652    }
10653
10654    /// Returns the polling backoff policy.
10655    ///
10656    /// When mocking, this method is typically irrelevant. Do not try to verify
10657    /// it is called by your mocks.
10658    fn get_polling_backoff_policy(
10659        &self,
10660        _options: &crate::RequestOptions,
10661    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10662        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10663    }
10664
10665    #[doc(hidden)]
10666    /// Returns the poller options.
10667    ///
10668    /// When mocking, this method is typically irrelevant. Do not try to verify
10669    /// it is called by your mocks.
10670    fn get_poller_options(
10671        &self,
10672        _options: &crate::RequestOptions,
10673    ) -> google_cloud_lro::PollerOptions {
10674        google_cloud_lro::PollerOptions::default()
10675    }
10676}
10677
10678/// Defines the trait used to implement [super::client::RegionInstanceTemplates].
10679///
10680/// Application developers may need to implement this trait to mock
10681/// `client::RegionInstanceTemplates`.  In other use-cases, application developers only
10682/// use `client::RegionInstanceTemplates` and need not be concerned with this trait or
10683/// its implementations.
10684///
10685/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10686/// too. To avoid breaking applications the trait provides a default
10687/// implementation of each method. Most of these implementations just return an
10688/// error.
10689#[cfg(feature = "region-instance-templates")]
10690#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-templates")))]
10691pub trait RegionInstanceTemplates: std::fmt::Debug + Send + Sync {
10692    /// Implements [super::client::RegionInstanceTemplates::delete].
10693    fn delete(
10694        &self,
10695        _req: crate::model::region_instance_templates::DeleteRequest,
10696        _options: crate::RequestOptions,
10697    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10698    {
10699        gaxi::unimplemented::unimplemented_stub()
10700    }
10701
10702    /// Implements [super::client::RegionInstanceTemplates::get].
10703    fn get(
10704        &self,
10705        _req: crate::model::region_instance_templates::GetRequest,
10706        _options: crate::RequestOptions,
10707    ) -> impl std::future::Future<
10708        Output = crate::Result<crate::Response<crate::model::InstanceTemplate>>,
10709    > + Send {
10710        gaxi::unimplemented::unimplemented_stub()
10711    }
10712
10713    /// Implements [super::client::RegionInstanceTemplates::insert].
10714    fn insert(
10715        &self,
10716        _req: crate::model::region_instance_templates::InsertRequest,
10717        _options: crate::RequestOptions,
10718    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10719    {
10720        gaxi::unimplemented::unimplemented_stub()
10721    }
10722
10723    /// Implements [super::client::RegionInstanceTemplates::list].
10724    fn list(
10725        &self,
10726        _req: crate::model::region_instance_templates::ListRequest,
10727        _options: crate::RequestOptions,
10728    ) -> impl std::future::Future<
10729        Output = crate::Result<crate::Response<crate::model::InstanceTemplateList>>,
10730    > + Send {
10731        gaxi::unimplemented::unimplemented_stub()
10732    }
10733
10734    /// Implements [super::client::RegionInstanceTemplates::get_operation].
10735    fn get_operation(
10736        &self,
10737        _req: crate::model::region_operations::GetRequest,
10738        _options: crate::RequestOptions,
10739    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10740    {
10741        gaxi::unimplemented::unimplemented_stub()
10742    }
10743
10744    /// Returns the polling error policy.
10745    ///
10746    /// When mocking, this method is typically irrelevant. Do not try to verify
10747    /// it is called by your mocks.
10748    fn get_polling_error_policy(
10749        &self,
10750        _options: &crate::RequestOptions,
10751    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10752        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10753    }
10754
10755    /// Returns the polling backoff policy.
10756    ///
10757    /// When mocking, this method is typically irrelevant. Do not try to verify
10758    /// it is called by your mocks.
10759    fn get_polling_backoff_policy(
10760        &self,
10761        _options: &crate::RequestOptions,
10762    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10763        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10764    }
10765
10766    #[doc(hidden)]
10767    /// Returns the poller options.
10768    ///
10769    /// When mocking, this method is typically irrelevant. Do not try to verify
10770    /// it is called by your mocks.
10771    fn get_poller_options(
10772        &self,
10773        _options: &crate::RequestOptions,
10774    ) -> google_cloud_lro::PollerOptions {
10775        google_cloud_lro::PollerOptions::default()
10776    }
10777}
10778
10779/// Defines the trait used to implement [super::client::RegionInstances].
10780///
10781/// Application developers may need to implement this trait to mock
10782/// `client::RegionInstances`.  In other use-cases, application developers only
10783/// use `client::RegionInstances` and need not be concerned with this trait or
10784/// its implementations.
10785///
10786/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10787/// too. To avoid breaking applications the trait provides a default
10788/// implementation of each method. Most of these implementations just return an
10789/// error.
10790#[cfg(feature = "region-instances")]
10791#[cfg_attr(docsrs, doc(cfg(feature = "region-instances")))]
10792pub trait RegionInstances: std::fmt::Debug + Send + Sync {
10793    /// Implements [super::client::RegionInstances::bulk_insert].
10794    fn bulk_insert(
10795        &self,
10796        _req: crate::model::region_instances::BulkInsertRequest,
10797        _options: crate::RequestOptions,
10798    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10799    {
10800        gaxi::unimplemented::unimplemented_stub()
10801    }
10802
10803    /// Implements [super::client::RegionInstances::get_operation].
10804    fn get_operation(
10805        &self,
10806        _req: crate::model::region_operations::GetRequest,
10807        _options: crate::RequestOptions,
10808    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10809    {
10810        gaxi::unimplemented::unimplemented_stub()
10811    }
10812
10813    /// Returns the polling error policy.
10814    ///
10815    /// When mocking, this method is typically irrelevant. Do not try to verify
10816    /// it is called by your mocks.
10817    fn get_polling_error_policy(
10818        &self,
10819        _options: &crate::RequestOptions,
10820    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10821        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10822    }
10823
10824    /// Returns the polling backoff policy.
10825    ///
10826    /// When mocking, this method is typically irrelevant. Do not try to verify
10827    /// it is called by your mocks.
10828    fn get_polling_backoff_policy(
10829        &self,
10830        _options: &crate::RequestOptions,
10831    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10832        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10833    }
10834
10835    #[doc(hidden)]
10836    /// Returns the poller options.
10837    ///
10838    /// When mocking, this method is typically irrelevant. Do not try to verify
10839    /// it is called by your mocks.
10840    fn get_poller_options(
10841        &self,
10842        _options: &crate::RequestOptions,
10843    ) -> google_cloud_lro::PollerOptions {
10844        google_cloud_lro::PollerOptions::default()
10845    }
10846}
10847
10848/// Defines the trait used to implement [super::client::RegionInstantSnapshotGroups].
10849///
10850/// Application developers may need to implement this trait to mock
10851/// `client::RegionInstantSnapshotGroups`.  In other use-cases, application developers only
10852/// use `client::RegionInstantSnapshotGroups` and need not be concerned with this trait or
10853/// its implementations.
10854///
10855/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10856/// too. To avoid breaking applications the trait provides a default
10857/// implementation of each method. Most of these implementations just return an
10858/// error.
10859#[cfg(feature = "region-instant-snapshot-groups")]
10860#[cfg_attr(docsrs, doc(cfg(feature = "region-instant-snapshot-groups")))]
10861pub trait RegionInstantSnapshotGroups: std::fmt::Debug + Send + Sync {
10862    /// Implements [super::client::RegionInstantSnapshotGroups::delete].
10863    fn delete(
10864        &self,
10865        _req: crate::model::region_instant_snapshot_groups::DeleteRequest,
10866        _options: crate::RequestOptions,
10867    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10868    {
10869        gaxi::unimplemented::unimplemented_stub()
10870    }
10871
10872    /// Implements [super::client::RegionInstantSnapshotGroups::get].
10873    fn get(
10874        &self,
10875        _req: crate::model::region_instant_snapshot_groups::GetRequest,
10876        _options: crate::RequestOptions,
10877    ) -> impl std::future::Future<
10878        Output = crate::Result<crate::Response<crate::model::InstantSnapshotGroup>>,
10879    > + Send {
10880        gaxi::unimplemented::unimplemented_stub()
10881    }
10882
10883    /// Implements [super::client::RegionInstantSnapshotGroups::get_iam_policy].
10884    fn get_iam_policy(
10885        &self,
10886        _req: crate::model::region_instant_snapshot_groups::GetIamPolicyRequest,
10887        _options: crate::RequestOptions,
10888    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10889    {
10890        gaxi::unimplemented::unimplemented_stub()
10891    }
10892
10893    /// Implements [super::client::RegionInstantSnapshotGroups::insert].
10894    fn insert(
10895        &self,
10896        _req: crate::model::region_instant_snapshot_groups::InsertRequest,
10897        _options: crate::RequestOptions,
10898    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10899    {
10900        gaxi::unimplemented::unimplemented_stub()
10901    }
10902
10903    /// Implements [super::client::RegionInstantSnapshotGroups::list].
10904    fn list(
10905        &self,
10906        _req: crate::model::region_instant_snapshot_groups::ListRequest,
10907        _options: crate::RequestOptions,
10908    ) -> impl std::future::Future<
10909        Output = crate::Result<crate::Response<crate::model::ListInstantSnapshotGroups>>,
10910    > + Send {
10911        gaxi::unimplemented::unimplemented_stub()
10912    }
10913
10914    /// Implements [super::client::RegionInstantSnapshotGroups::set_iam_policy].
10915    fn set_iam_policy(
10916        &self,
10917        _req: crate::model::region_instant_snapshot_groups::SetIamPolicyRequest,
10918        _options: crate::RequestOptions,
10919    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10920    {
10921        gaxi::unimplemented::unimplemented_stub()
10922    }
10923
10924    /// Implements [super::client::RegionInstantSnapshotGroups::test_iam_permissions].
10925    fn test_iam_permissions(
10926        &self,
10927        _req: crate::model::region_instant_snapshot_groups::TestIamPermissionsRequest,
10928        _options: crate::RequestOptions,
10929    ) -> impl std::future::Future<
10930        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10931    > + Send {
10932        gaxi::unimplemented::unimplemented_stub()
10933    }
10934
10935    /// Implements [super::client::RegionInstantSnapshotGroups::get_operation].
10936    fn get_operation(
10937        &self,
10938        _req: crate::model::region_operations::GetRequest,
10939        _options: crate::RequestOptions,
10940    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10941    {
10942        gaxi::unimplemented::unimplemented_stub()
10943    }
10944
10945    /// Returns the polling error policy.
10946    ///
10947    /// When mocking, this method is typically irrelevant. Do not try to verify
10948    /// it is called by your mocks.
10949    fn get_polling_error_policy(
10950        &self,
10951        _options: &crate::RequestOptions,
10952    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10953        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10954    }
10955
10956    /// Returns the polling backoff policy.
10957    ///
10958    /// When mocking, this method is typically irrelevant. Do not try to verify
10959    /// it is called by your mocks.
10960    fn get_polling_backoff_policy(
10961        &self,
10962        _options: &crate::RequestOptions,
10963    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10964        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10965    }
10966
10967    #[doc(hidden)]
10968    /// Returns the poller options.
10969    ///
10970    /// When mocking, this method is typically irrelevant. Do not try to verify
10971    /// it is called by your mocks.
10972    fn get_poller_options(
10973        &self,
10974        _options: &crate::RequestOptions,
10975    ) -> google_cloud_lro::PollerOptions {
10976        google_cloud_lro::PollerOptions::default()
10977    }
10978}
10979
10980/// Defines the trait used to implement [super::client::RegionInstantSnapshots].
10981///
10982/// Application developers may need to implement this trait to mock
10983/// `client::RegionInstantSnapshots`.  In other use-cases, application developers only
10984/// use `client::RegionInstantSnapshots` and need not be concerned with this trait or
10985/// its implementations.
10986///
10987/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10988/// too. To avoid breaking applications the trait provides a default
10989/// implementation of each method. Most of these implementations just return an
10990/// error.
10991#[cfg(feature = "region-instant-snapshots")]
10992#[cfg_attr(docsrs, doc(cfg(feature = "region-instant-snapshots")))]
10993pub trait RegionInstantSnapshots: std::fmt::Debug + Send + Sync {
10994    /// Implements [super::client::RegionInstantSnapshots::delete].
10995    fn delete(
10996        &self,
10997        _req: crate::model::region_instant_snapshots::DeleteRequest,
10998        _options: crate::RequestOptions,
10999    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11000    {
11001        gaxi::unimplemented::unimplemented_stub()
11002    }
11003
11004    /// Implements [super::client::RegionInstantSnapshots::get].
11005    fn get(
11006        &self,
11007        _req: crate::model::region_instant_snapshots::GetRequest,
11008        _options: crate::RequestOptions,
11009    ) -> impl std::future::Future<
11010        Output = crate::Result<crate::Response<crate::model::InstantSnapshot>>,
11011    > + Send {
11012        gaxi::unimplemented::unimplemented_stub()
11013    }
11014
11015    /// Implements [super::client::RegionInstantSnapshots::get_iam_policy].
11016    fn get_iam_policy(
11017        &self,
11018        _req: crate::model::region_instant_snapshots::GetIamPolicyRequest,
11019        _options: crate::RequestOptions,
11020    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11021    {
11022        gaxi::unimplemented::unimplemented_stub()
11023    }
11024
11025    /// Implements [super::client::RegionInstantSnapshots::insert].
11026    fn insert(
11027        &self,
11028        _req: crate::model::region_instant_snapshots::InsertRequest,
11029        _options: crate::RequestOptions,
11030    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11031    {
11032        gaxi::unimplemented::unimplemented_stub()
11033    }
11034
11035    /// Implements [super::client::RegionInstantSnapshots::list].
11036    fn list(
11037        &self,
11038        _req: crate::model::region_instant_snapshots::ListRequest,
11039        _options: crate::RequestOptions,
11040    ) -> impl std::future::Future<
11041        Output = crate::Result<crate::Response<crate::model::InstantSnapshotList>>,
11042    > + Send {
11043        gaxi::unimplemented::unimplemented_stub()
11044    }
11045
11046    /// Implements [super::client::RegionInstantSnapshots::set_iam_policy].
11047    fn set_iam_policy(
11048        &self,
11049        _req: crate::model::region_instant_snapshots::SetIamPolicyRequest,
11050        _options: crate::RequestOptions,
11051    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11052    {
11053        gaxi::unimplemented::unimplemented_stub()
11054    }
11055
11056    /// Implements [super::client::RegionInstantSnapshots::set_labels].
11057    fn set_labels(
11058        &self,
11059        _req: crate::model::region_instant_snapshots::SetLabelsRequest,
11060        _options: crate::RequestOptions,
11061    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11062    {
11063        gaxi::unimplemented::unimplemented_stub()
11064    }
11065
11066    /// Implements [super::client::RegionInstantSnapshots::test_iam_permissions].
11067    fn test_iam_permissions(
11068        &self,
11069        _req: crate::model::region_instant_snapshots::TestIamPermissionsRequest,
11070        _options: crate::RequestOptions,
11071    ) -> impl std::future::Future<
11072        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11073    > + Send {
11074        gaxi::unimplemented::unimplemented_stub()
11075    }
11076
11077    /// Implements [super::client::RegionInstantSnapshots::get_operation].
11078    fn get_operation(
11079        &self,
11080        _req: crate::model::region_operations::GetRequest,
11081        _options: crate::RequestOptions,
11082    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11083    {
11084        gaxi::unimplemented::unimplemented_stub()
11085    }
11086
11087    /// Returns the polling error policy.
11088    ///
11089    /// When mocking, this method is typically irrelevant. Do not try to verify
11090    /// it is called by your mocks.
11091    fn get_polling_error_policy(
11092        &self,
11093        _options: &crate::RequestOptions,
11094    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11095        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11096    }
11097
11098    /// Returns the polling backoff policy.
11099    ///
11100    /// When mocking, this method is typically irrelevant. Do not try to verify
11101    /// it is called by your mocks.
11102    fn get_polling_backoff_policy(
11103        &self,
11104        _options: &crate::RequestOptions,
11105    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11106        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11107    }
11108
11109    #[doc(hidden)]
11110    /// Returns the poller options.
11111    ///
11112    /// When mocking, this method is typically irrelevant. Do not try to verify
11113    /// it is called by your mocks.
11114    fn get_poller_options(
11115        &self,
11116        _options: &crate::RequestOptions,
11117    ) -> google_cloud_lro::PollerOptions {
11118        google_cloud_lro::PollerOptions::default()
11119    }
11120}
11121
11122/// Defines the trait used to implement [super::client::RegionNetworkEndpointGroups].
11123///
11124/// Application developers may need to implement this trait to mock
11125/// `client::RegionNetworkEndpointGroups`.  In other use-cases, application developers only
11126/// use `client::RegionNetworkEndpointGroups` and need not be concerned with this trait or
11127/// its implementations.
11128///
11129/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11130/// too. To avoid breaking applications the trait provides a default
11131/// implementation of each method. Most of these implementations just return an
11132/// error.
11133#[cfg(feature = "region-network-endpoint-groups")]
11134#[cfg_attr(docsrs, doc(cfg(feature = "region-network-endpoint-groups")))]
11135pub trait RegionNetworkEndpointGroups: std::fmt::Debug + Send + Sync {
11136    /// Implements [super::client::RegionNetworkEndpointGroups::attach_network_endpoints].
11137    fn attach_network_endpoints(
11138        &self,
11139        _req: crate::model::region_network_endpoint_groups::AttachNetworkEndpointsRequest,
11140        _options: crate::RequestOptions,
11141    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11142    {
11143        gaxi::unimplemented::unimplemented_stub()
11144    }
11145
11146    /// Implements [super::client::RegionNetworkEndpointGroups::delete].
11147    fn delete(
11148        &self,
11149        _req: crate::model::region_network_endpoint_groups::DeleteRequest,
11150        _options: crate::RequestOptions,
11151    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11152    {
11153        gaxi::unimplemented::unimplemented_stub()
11154    }
11155
11156    /// Implements [super::client::RegionNetworkEndpointGroups::detach_network_endpoints].
11157    fn detach_network_endpoints(
11158        &self,
11159        _req: crate::model::region_network_endpoint_groups::DetachNetworkEndpointsRequest,
11160        _options: crate::RequestOptions,
11161    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11162    {
11163        gaxi::unimplemented::unimplemented_stub()
11164    }
11165
11166    /// Implements [super::client::RegionNetworkEndpointGroups::get].
11167    fn get(
11168        &self,
11169        _req: crate::model::region_network_endpoint_groups::GetRequest,
11170        _options: crate::RequestOptions,
11171    ) -> impl std::future::Future<
11172        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
11173    > + Send {
11174        gaxi::unimplemented::unimplemented_stub()
11175    }
11176
11177    /// Implements [super::client::RegionNetworkEndpointGroups::insert].
11178    fn insert(
11179        &self,
11180        _req: crate::model::region_network_endpoint_groups::InsertRequest,
11181        _options: crate::RequestOptions,
11182    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11183    {
11184        gaxi::unimplemented::unimplemented_stub()
11185    }
11186
11187    /// Implements [super::client::RegionNetworkEndpointGroups::list].
11188    fn list(
11189        &self,
11190        _req: crate::model::region_network_endpoint_groups::ListRequest,
11191        _options: crate::RequestOptions,
11192    ) -> impl std::future::Future<
11193        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
11194    > + Send {
11195        gaxi::unimplemented::unimplemented_stub()
11196    }
11197
11198    /// Implements [super::client::RegionNetworkEndpointGroups::list_network_endpoints].
11199    fn list_network_endpoints(
11200        &self,
11201        _req: crate::model::region_network_endpoint_groups::ListNetworkEndpointsRequest,
11202        _options: crate::RequestOptions,
11203    ) -> impl std::future::Future<
11204        Output = crate::Result<
11205            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
11206        >,
11207    > + Send {
11208        gaxi::unimplemented::unimplemented_stub()
11209    }
11210
11211    /// Implements [super::client::RegionNetworkEndpointGroups::get_operation].
11212    fn get_operation(
11213        &self,
11214        _req: crate::model::region_operations::GetRequest,
11215        _options: crate::RequestOptions,
11216    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11217    {
11218        gaxi::unimplemented::unimplemented_stub()
11219    }
11220
11221    /// Returns the polling error policy.
11222    ///
11223    /// When mocking, this method is typically irrelevant. Do not try to verify
11224    /// it is called by your mocks.
11225    fn get_polling_error_policy(
11226        &self,
11227        _options: &crate::RequestOptions,
11228    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11229        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11230    }
11231
11232    /// Returns the polling backoff policy.
11233    ///
11234    /// When mocking, this method is typically irrelevant. Do not try to verify
11235    /// it is called by your mocks.
11236    fn get_polling_backoff_policy(
11237        &self,
11238        _options: &crate::RequestOptions,
11239    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11240        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11241    }
11242
11243    #[doc(hidden)]
11244    /// Returns the poller options.
11245    ///
11246    /// When mocking, this method is typically irrelevant. Do not try to verify
11247    /// it is called by your mocks.
11248    fn get_poller_options(
11249        &self,
11250        _options: &crate::RequestOptions,
11251    ) -> google_cloud_lro::PollerOptions {
11252        google_cloud_lro::PollerOptions::default()
11253    }
11254}
11255
11256/// Defines the trait used to implement [super::client::RegionNetworkFirewallPolicies].
11257///
11258/// Application developers may need to implement this trait to mock
11259/// `client::RegionNetworkFirewallPolicies`.  In other use-cases, application developers only
11260/// use `client::RegionNetworkFirewallPolicies` and need not be concerned with this trait or
11261/// its implementations.
11262///
11263/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11264/// too. To avoid breaking applications the trait provides a default
11265/// implementation of each method. Most of these implementations just return an
11266/// error.
11267#[cfg(feature = "region-network-firewall-policies")]
11268#[cfg_attr(docsrs, doc(cfg(feature = "region-network-firewall-policies")))]
11269pub trait RegionNetworkFirewallPolicies: std::fmt::Debug + Send + Sync {
11270    /// Implements [super::client::RegionNetworkFirewallPolicies::add_association].
11271    fn add_association(
11272        &self,
11273        _req: crate::model::region_network_firewall_policies::AddAssociationRequest,
11274        _options: crate::RequestOptions,
11275    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11276    {
11277        gaxi::unimplemented::unimplemented_stub()
11278    }
11279
11280    /// Implements [super::client::RegionNetworkFirewallPolicies::add_rule].
11281    fn add_rule(
11282        &self,
11283        _req: crate::model::region_network_firewall_policies::AddRuleRequest,
11284        _options: crate::RequestOptions,
11285    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11286    {
11287        gaxi::unimplemented::unimplemented_stub()
11288    }
11289
11290    /// Implements [super::client::RegionNetworkFirewallPolicies::clone_rules].
11291    fn clone_rules(
11292        &self,
11293        _req: crate::model::region_network_firewall_policies::CloneRulesRequest,
11294        _options: crate::RequestOptions,
11295    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11296    {
11297        gaxi::unimplemented::unimplemented_stub()
11298    }
11299
11300    /// Implements [super::client::RegionNetworkFirewallPolicies::delete].
11301    fn delete(
11302        &self,
11303        _req: crate::model::region_network_firewall_policies::DeleteRequest,
11304        _options: crate::RequestOptions,
11305    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11306    {
11307        gaxi::unimplemented::unimplemented_stub()
11308    }
11309
11310    /// Implements [super::client::RegionNetworkFirewallPolicies::get].
11311    fn get(
11312        &self,
11313        _req: crate::model::region_network_firewall_policies::GetRequest,
11314        _options: crate::RequestOptions,
11315    ) -> impl std::future::Future<
11316        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
11317    > + Send {
11318        gaxi::unimplemented::unimplemented_stub()
11319    }
11320
11321    /// Implements [super::client::RegionNetworkFirewallPolicies::get_association].
11322    fn get_association(
11323        &self,
11324        _req: crate::model::region_network_firewall_policies::GetAssociationRequest,
11325        _options: crate::RequestOptions,
11326    ) -> impl std::future::Future<
11327        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
11328    > + Send {
11329        gaxi::unimplemented::unimplemented_stub()
11330    }
11331
11332    /// Implements [super::client::RegionNetworkFirewallPolicies::get_effective_firewalls].
11333    fn get_effective_firewalls(
11334        &self,
11335        _req: crate::model::region_network_firewall_policies::GetEffectiveFirewallsRequest,
11336        _options: crate::RequestOptions,
11337    ) -> impl std::future::Future<
11338        Output = crate::Result<
11339            crate::Response<
11340                crate::model::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse,
11341            >,
11342        >,
11343    > + Send {
11344        gaxi::unimplemented::unimplemented_stub()
11345    }
11346
11347    /// Implements [super::client::RegionNetworkFirewallPolicies::get_iam_policy].
11348    fn get_iam_policy(
11349        &self,
11350        _req: crate::model::region_network_firewall_policies::GetIamPolicyRequest,
11351        _options: crate::RequestOptions,
11352    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11353    {
11354        gaxi::unimplemented::unimplemented_stub()
11355    }
11356
11357    /// Implements [super::client::RegionNetworkFirewallPolicies::get_rule].
11358    fn get_rule(
11359        &self,
11360        _req: crate::model::region_network_firewall_policies::GetRuleRequest,
11361        _options: crate::RequestOptions,
11362    ) -> impl std::future::Future<
11363        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
11364    > + Send {
11365        gaxi::unimplemented::unimplemented_stub()
11366    }
11367
11368    /// Implements [super::client::RegionNetworkFirewallPolicies::insert].
11369    fn insert(
11370        &self,
11371        _req: crate::model::region_network_firewall_policies::InsertRequest,
11372        _options: crate::RequestOptions,
11373    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11374    {
11375        gaxi::unimplemented::unimplemented_stub()
11376    }
11377
11378    /// Implements [super::client::RegionNetworkFirewallPolicies::list].
11379    fn list(
11380        &self,
11381        _req: crate::model::region_network_firewall_policies::ListRequest,
11382        _options: crate::RequestOptions,
11383    ) -> impl std::future::Future<
11384        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
11385    > + Send {
11386        gaxi::unimplemented::unimplemented_stub()
11387    }
11388
11389    /// Implements [super::client::RegionNetworkFirewallPolicies::patch].
11390    fn patch(
11391        &self,
11392        _req: crate::model::region_network_firewall_policies::PatchRequest,
11393        _options: crate::RequestOptions,
11394    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11395    {
11396        gaxi::unimplemented::unimplemented_stub()
11397    }
11398
11399    /// Implements [super::client::RegionNetworkFirewallPolicies::patch_association].
11400    fn patch_association(
11401        &self,
11402        _req: crate::model::region_network_firewall_policies::PatchAssociationRequest,
11403        _options: crate::RequestOptions,
11404    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11405    {
11406        gaxi::unimplemented::unimplemented_stub()
11407    }
11408
11409    /// Implements [super::client::RegionNetworkFirewallPolicies::patch_rule].
11410    fn patch_rule(
11411        &self,
11412        _req: crate::model::region_network_firewall_policies::PatchRuleRequest,
11413        _options: crate::RequestOptions,
11414    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11415    {
11416        gaxi::unimplemented::unimplemented_stub()
11417    }
11418
11419    /// Implements [super::client::RegionNetworkFirewallPolicies::remove_association].
11420    fn remove_association(
11421        &self,
11422        _req: crate::model::region_network_firewall_policies::RemoveAssociationRequest,
11423        _options: crate::RequestOptions,
11424    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11425    {
11426        gaxi::unimplemented::unimplemented_stub()
11427    }
11428
11429    /// Implements [super::client::RegionNetworkFirewallPolicies::remove_rule].
11430    fn remove_rule(
11431        &self,
11432        _req: crate::model::region_network_firewall_policies::RemoveRuleRequest,
11433        _options: crate::RequestOptions,
11434    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11435    {
11436        gaxi::unimplemented::unimplemented_stub()
11437    }
11438
11439    /// Implements [super::client::RegionNetworkFirewallPolicies::set_iam_policy].
11440    fn set_iam_policy(
11441        &self,
11442        _req: crate::model::region_network_firewall_policies::SetIamPolicyRequest,
11443        _options: crate::RequestOptions,
11444    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11445    {
11446        gaxi::unimplemented::unimplemented_stub()
11447    }
11448
11449    /// Implements [super::client::RegionNetworkFirewallPolicies::test_iam_permissions].
11450    fn test_iam_permissions(
11451        &self,
11452        _req: crate::model::region_network_firewall_policies::TestIamPermissionsRequest,
11453        _options: crate::RequestOptions,
11454    ) -> impl std::future::Future<
11455        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11456    > + Send {
11457        gaxi::unimplemented::unimplemented_stub()
11458    }
11459
11460    /// Implements [super::client::RegionNetworkFirewallPolicies::get_operation].
11461    fn get_operation(
11462        &self,
11463        _req: crate::model::region_operations::GetRequest,
11464        _options: crate::RequestOptions,
11465    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11466    {
11467        gaxi::unimplemented::unimplemented_stub()
11468    }
11469
11470    /// Returns the polling error policy.
11471    ///
11472    /// When mocking, this method is typically irrelevant. Do not try to verify
11473    /// it is called by your mocks.
11474    fn get_polling_error_policy(
11475        &self,
11476        _options: &crate::RequestOptions,
11477    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11478        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11479    }
11480
11481    /// Returns the polling backoff policy.
11482    ///
11483    /// When mocking, this method is typically irrelevant. Do not try to verify
11484    /// it is called by your mocks.
11485    fn get_polling_backoff_policy(
11486        &self,
11487        _options: &crate::RequestOptions,
11488    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11489        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11490    }
11491
11492    #[doc(hidden)]
11493    /// Returns the poller options.
11494    ///
11495    /// When mocking, this method is typically irrelevant. Do not try to verify
11496    /// it is called by your mocks.
11497    fn get_poller_options(
11498        &self,
11499        _options: &crate::RequestOptions,
11500    ) -> google_cloud_lro::PollerOptions {
11501        google_cloud_lro::PollerOptions::default()
11502    }
11503}
11504
11505/// Defines the trait used to implement [super::client::RegionNotificationEndpoints].
11506///
11507/// Application developers may need to implement this trait to mock
11508/// `client::RegionNotificationEndpoints`.  In other use-cases, application developers only
11509/// use `client::RegionNotificationEndpoints` and need not be concerned with this trait or
11510/// its implementations.
11511///
11512/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11513/// too. To avoid breaking applications the trait provides a default
11514/// implementation of each method. Most of these implementations just return an
11515/// error.
11516#[cfg(feature = "region-notification-endpoints")]
11517#[cfg_attr(docsrs, doc(cfg(feature = "region-notification-endpoints")))]
11518pub trait RegionNotificationEndpoints: std::fmt::Debug + Send + Sync {
11519    /// Implements [super::client::RegionNotificationEndpoints::aggregated_list].
11520    fn aggregated_list(
11521        &self,
11522        _req: crate::model::region_notification_endpoints::AggregatedListRequest,
11523        _options: crate::RequestOptions,
11524    ) -> impl std::future::Future<
11525        Output = crate::Result<crate::Response<crate::model::NotificationEndpointAggregatedList>>,
11526    > + Send {
11527        gaxi::unimplemented::unimplemented_stub()
11528    }
11529
11530    /// Implements [super::client::RegionNotificationEndpoints::delete].
11531    fn delete(
11532        &self,
11533        _req: crate::model::region_notification_endpoints::DeleteRequest,
11534        _options: crate::RequestOptions,
11535    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11536    {
11537        gaxi::unimplemented::unimplemented_stub()
11538    }
11539
11540    /// Implements [super::client::RegionNotificationEndpoints::get].
11541    fn get(
11542        &self,
11543        _req: crate::model::region_notification_endpoints::GetRequest,
11544        _options: crate::RequestOptions,
11545    ) -> impl std::future::Future<
11546        Output = crate::Result<crate::Response<crate::model::NotificationEndpoint>>,
11547    > + Send {
11548        gaxi::unimplemented::unimplemented_stub()
11549    }
11550
11551    /// Implements [super::client::RegionNotificationEndpoints::insert].
11552    fn insert(
11553        &self,
11554        _req: crate::model::region_notification_endpoints::InsertRequest,
11555        _options: crate::RequestOptions,
11556    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11557    {
11558        gaxi::unimplemented::unimplemented_stub()
11559    }
11560
11561    /// Implements [super::client::RegionNotificationEndpoints::list].
11562    fn list(
11563        &self,
11564        _req: crate::model::region_notification_endpoints::ListRequest,
11565        _options: crate::RequestOptions,
11566    ) -> impl std::future::Future<
11567        Output = crate::Result<crate::Response<crate::model::NotificationEndpointList>>,
11568    > + Send {
11569        gaxi::unimplemented::unimplemented_stub()
11570    }
11571
11572    /// Implements [super::client::RegionNotificationEndpoints::test_iam_permissions].
11573    fn test_iam_permissions(
11574        &self,
11575        _req: crate::model::region_notification_endpoints::TestIamPermissionsRequest,
11576        _options: crate::RequestOptions,
11577    ) -> impl std::future::Future<
11578        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11579    > + Send {
11580        gaxi::unimplemented::unimplemented_stub()
11581    }
11582
11583    /// Implements [super::client::RegionNotificationEndpoints::get_operation].
11584    fn get_operation(
11585        &self,
11586        _req: crate::model::region_operations::GetRequest,
11587        _options: crate::RequestOptions,
11588    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11589    {
11590        gaxi::unimplemented::unimplemented_stub()
11591    }
11592
11593    /// Returns the polling error policy.
11594    ///
11595    /// When mocking, this method is typically irrelevant. Do not try to verify
11596    /// it is called by your mocks.
11597    fn get_polling_error_policy(
11598        &self,
11599        _options: &crate::RequestOptions,
11600    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11601        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11602    }
11603
11604    /// Returns the polling backoff policy.
11605    ///
11606    /// When mocking, this method is typically irrelevant. Do not try to verify
11607    /// it is called by your mocks.
11608    fn get_polling_backoff_policy(
11609        &self,
11610        _options: &crate::RequestOptions,
11611    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11612        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11613    }
11614
11615    #[doc(hidden)]
11616    /// Returns the poller options.
11617    ///
11618    /// When mocking, this method is typically irrelevant. Do not try to verify
11619    /// it is called by your mocks.
11620    fn get_poller_options(
11621        &self,
11622        _options: &crate::RequestOptions,
11623    ) -> google_cloud_lro::PollerOptions {
11624        google_cloud_lro::PollerOptions::default()
11625    }
11626}
11627
11628/// Defines the trait used to implement [super::client::RegionOperations].
11629///
11630/// Application developers may need to implement this trait to mock
11631/// `client::RegionOperations`.  In other use-cases, application developers only
11632/// use `client::RegionOperations` and need not be concerned with this trait or
11633/// its implementations.
11634///
11635/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11636/// too. To avoid breaking applications the trait provides a default
11637/// implementation of each method. Most of these implementations just return an
11638/// error.
11639#[cfg(feature = "region-operations")]
11640#[cfg_attr(docsrs, doc(cfg(feature = "region-operations")))]
11641pub trait RegionOperations: std::fmt::Debug + Send + Sync {
11642    /// Implements [super::client::RegionOperations::delete].
11643    fn delete(
11644        &self,
11645        _req: crate::model::region_operations::DeleteRequest,
11646        _options: crate::RequestOptions,
11647    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
11648        gaxi::unimplemented::unimplemented_stub()
11649    }
11650
11651    /// Implements [super::client::RegionOperations::get].
11652    fn get(
11653        &self,
11654        _req: crate::model::region_operations::GetRequest,
11655        _options: crate::RequestOptions,
11656    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11657    {
11658        gaxi::unimplemented::unimplemented_stub()
11659    }
11660
11661    /// Implements [super::client::RegionOperations::list].
11662    fn list(
11663        &self,
11664        _req: crate::model::region_operations::ListRequest,
11665        _options: crate::RequestOptions,
11666    ) -> impl std::future::Future<
11667        Output = crate::Result<crate::Response<crate::model::OperationList>>,
11668    > + Send {
11669        gaxi::unimplemented::unimplemented_stub()
11670    }
11671
11672    /// Implements [super::client::RegionOperations::wait].
11673    fn wait(
11674        &self,
11675        _req: crate::model::region_operations::WaitRequest,
11676        _options: crate::RequestOptions,
11677    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11678    {
11679        gaxi::unimplemented::unimplemented_stub()
11680    }
11681}
11682
11683/// Defines the trait used to implement [super::client::RegionSecurityPolicies].
11684///
11685/// Application developers may need to implement this trait to mock
11686/// `client::RegionSecurityPolicies`.  In other use-cases, application developers only
11687/// use `client::RegionSecurityPolicies` and need not be concerned with this trait or
11688/// its implementations.
11689///
11690/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11691/// too. To avoid breaking applications the trait provides a default
11692/// implementation of each method. Most of these implementations just return an
11693/// error.
11694#[cfg(feature = "region-security-policies")]
11695#[cfg_attr(docsrs, doc(cfg(feature = "region-security-policies")))]
11696pub trait RegionSecurityPolicies: std::fmt::Debug + Send + Sync {
11697    /// Implements [super::client::RegionSecurityPolicies::add_rule].
11698    fn add_rule(
11699        &self,
11700        _req: crate::model::region_security_policies::AddRuleRequest,
11701        _options: crate::RequestOptions,
11702    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11703    {
11704        gaxi::unimplemented::unimplemented_stub()
11705    }
11706
11707    /// Implements [super::client::RegionSecurityPolicies::delete].
11708    fn delete(
11709        &self,
11710        _req: crate::model::region_security_policies::DeleteRequest,
11711        _options: crate::RequestOptions,
11712    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11713    {
11714        gaxi::unimplemented::unimplemented_stub()
11715    }
11716
11717    /// Implements [super::client::RegionSecurityPolicies::get].
11718    fn get(
11719        &self,
11720        _req: crate::model::region_security_policies::GetRequest,
11721        _options: crate::RequestOptions,
11722    ) -> impl std::future::Future<
11723        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
11724    > + Send {
11725        gaxi::unimplemented::unimplemented_stub()
11726    }
11727
11728    /// Implements [super::client::RegionSecurityPolicies::get_rule].
11729    fn get_rule(
11730        &self,
11731        _req: crate::model::region_security_policies::GetRuleRequest,
11732        _options: crate::RequestOptions,
11733    ) -> impl std::future::Future<
11734        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
11735    > + Send {
11736        gaxi::unimplemented::unimplemented_stub()
11737    }
11738
11739    /// Implements [super::client::RegionSecurityPolicies::insert].
11740    fn insert(
11741        &self,
11742        _req: crate::model::region_security_policies::InsertRequest,
11743        _options: crate::RequestOptions,
11744    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11745    {
11746        gaxi::unimplemented::unimplemented_stub()
11747    }
11748
11749    /// Implements [super::client::RegionSecurityPolicies::list].
11750    fn list(
11751        &self,
11752        _req: crate::model::region_security_policies::ListRequest,
11753        _options: crate::RequestOptions,
11754    ) -> impl std::future::Future<
11755        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
11756    > + Send {
11757        gaxi::unimplemented::unimplemented_stub()
11758    }
11759
11760    /// Implements [super::client::RegionSecurityPolicies::patch].
11761    fn patch(
11762        &self,
11763        _req: crate::model::region_security_policies::PatchRequest,
11764        _options: crate::RequestOptions,
11765    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11766    {
11767        gaxi::unimplemented::unimplemented_stub()
11768    }
11769
11770    /// Implements [super::client::RegionSecurityPolicies::patch_rule].
11771    fn patch_rule(
11772        &self,
11773        _req: crate::model::region_security_policies::PatchRuleRequest,
11774        _options: crate::RequestOptions,
11775    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11776    {
11777        gaxi::unimplemented::unimplemented_stub()
11778    }
11779
11780    /// Implements [super::client::RegionSecurityPolicies::remove_rule].
11781    fn remove_rule(
11782        &self,
11783        _req: crate::model::region_security_policies::RemoveRuleRequest,
11784        _options: crate::RequestOptions,
11785    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11786    {
11787        gaxi::unimplemented::unimplemented_stub()
11788    }
11789
11790    /// Implements [super::client::RegionSecurityPolicies::set_labels].
11791    fn set_labels(
11792        &self,
11793        _req: crate::model::region_security_policies::SetLabelsRequest,
11794        _options: crate::RequestOptions,
11795    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11796    {
11797        gaxi::unimplemented::unimplemented_stub()
11798    }
11799
11800    /// Implements [super::client::RegionSecurityPolicies::get_operation].
11801    fn get_operation(
11802        &self,
11803        _req: crate::model::region_operations::GetRequest,
11804        _options: crate::RequestOptions,
11805    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11806    {
11807        gaxi::unimplemented::unimplemented_stub()
11808    }
11809
11810    /// Returns the polling error policy.
11811    ///
11812    /// When mocking, this method is typically irrelevant. Do not try to verify
11813    /// it is called by your mocks.
11814    fn get_polling_error_policy(
11815        &self,
11816        _options: &crate::RequestOptions,
11817    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11818        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11819    }
11820
11821    /// Returns the polling backoff policy.
11822    ///
11823    /// When mocking, this method is typically irrelevant. Do not try to verify
11824    /// it is called by your mocks.
11825    fn get_polling_backoff_policy(
11826        &self,
11827        _options: &crate::RequestOptions,
11828    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11829        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11830    }
11831
11832    #[doc(hidden)]
11833    /// Returns the poller options.
11834    ///
11835    /// When mocking, this method is typically irrelevant. Do not try to verify
11836    /// it is called by your mocks.
11837    fn get_poller_options(
11838        &self,
11839        _options: &crate::RequestOptions,
11840    ) -> google_cloud_lro::PollerOptions {
11841        google_cloud_lro::PollerOptions::default()
11842    }
11843}
11844
11845/// Defines the trait used to implement [super::client::RegionSnapshotSettings].
11846///
11847/// Application developers may need to implement this trait to mock
11848/// `client::RegionSnapshotSettings`.  In other use-cases, application developers only
11849/// use `client::RegionSnapshotSettings` and need not be concerned with this trait or
11850/// its implementations.
11851///
11852/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11853/// too. To avoid breaking applications the trait provides a default
11854/// implementation of each method. Most of these implementations just return an
11855/// error.
11856#[cfg(feature = "region-snapshot-settings")]
11857#[cfg_attr(docsrs, doc(cfg(feature = "region-snapshot-settings")))]
11858pub trait RegionSnapshotSettings: std::fmt::Debug + Send + Sync {
11859    /// Implements [super::client::RegionSnapshotSettings::get].
11860    fn get(
11861        &self,
11862        _req: crate::model::region_snapshot_settings::GetRequest,
11863        _options: crate::RequestOptions,
11864    ) -> impl std::future::Future<
11865        Output = crate::Result<crate::Response<crate::model::SnapshotSettings>>,
11866    > + Send {
11867        gaxi::unimplemented::unimplemented_stub()
11868    }
11869
11870    /// Implements [super::client::RegionSnapshotSettings::patch].
11871    fn patch(
11872        &self,
11873        _req: crate::model::region_snapshot_settings::PatchRequest,
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::RegionSnapshotSettings::get_operation].
11881    fn get_operation(
11882        &self,
11883        _req: crate::model::region_operations::GetRequest,
11884        _options: crate::RequestOptions,
11885    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11886    {
11887        gaxi::unimplemented::unimplemented_stub()
11888    }
11889
11890    /// Returns the polling error policy.
11891    ///
11892    /// When mocking, this method is typically irrelevant. Do not try to verify
11893    /// it is called by your mocks.
11894    fn get_polling_error_policy(
11895        &self,
11896        _options: &crate::RequestOptions,
11897    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11898        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11899    }
11900
11901    /// Returns the polling backoff policy.
11902    ///
11903    /// When mocking, this method is typically irrelevant. Do not try to verify
11904    /// it is called by your mocks.
11905    fn get_polling_backoff_policy(
11906        &self,
11907        _options: &crate::RequestOptions,
11908    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11909        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11910    }
11911
11912    #[doc(hidden)]
11913    /// Returns the poller options.
11914    ///
11915    /// When mocking, this method is typically irrelevant. Do not try to verify
11916    /// it is called by your mocks.
11917    fn get_poller_options(
11918        &self,
11919        _options: &crate::RequestOptions,
11920    ) -> google_cloud_lro::PollerOptions {
11921        google_cloud_lro::PollerOptions::default()
11922    }
11923}
11924
11925/// Defines the trait used to implement [super::client::RegionSnapshots].
11926///
11927/// Application developers may need to implement this trait to mock
11928/// `client::RegionSnapshots`.  In other use-cases, application developers only
11929/// use `client::RegionSnapshots` and need not be concerned with this trait or
11930/// its implementations.
11931///
11932/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11933/// too. To avoid breaking applications the trait provides a default
11934/// implementation of each method. Most of these implementations just return an
11935/// error.
11936#[cfg(feature = "region-snapshots")]
11937#[cfg_attr(docsrs, doc(cfg(feature = "region-snapshots")))]
11938pub trait RegionSnapshots: std::fmt::Debug + Send + Sync {
11939    /// Implements [super::client::RegionSnapshots::delete].
11940    fn delete(
11941        &self,
11942        _req: crate::model::region_snapshots::DeleteRequest,
11943        _options: crate::RequestOptions,
11944    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11945    {
11946        gaxi::unimplemented::unimplemented_stub()
11947    }
11948
11949    /// Implements [super::client::RegionSnapshots::get].
11950    fn get(
11951        &self,
11952        _req: crate::model::region_snapshots::GetRequest,
11953        _options: crate::RequestOptions,
11954    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Snapshot>>> + Send
11955    {
11956        gaxi::unimplemented::unimplemented_stub()
11957    }
11958
11959    /// Implements [super::client::RegionSnapshots::get_iam_policy].
11960    fn get_iam_policy(
11961        &self,
11962        _req: crate::model::region_snapshots::GetIamPolicyRequest,
11963        _options: crate::RequestOptions,
11964    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11965    {
11966        gaxi::unimplemented::unimplemented_stub()
11967    }
11968
11969    /// Implements [super::client::RegionSnapshots::insert].
11970    fn insert(
11971        &self,
11972        _req: crate::model::region_snapshots::InsertRequest,
11973        _options: crate::RequestOptions,
11974    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11975    {
11976        gaxi::unimplemented::unimplemented_stub()
11977    }
11978
11979    /// Implements [super::client::RegionSnapshots::list].
11980    fn list(
11981        &self,
11982        _req: crate::model::region_snapshots::ListRequest,
11983        _options: crate::RequestOptions,
11984    ) -> impl std::future::Future<
11985        Output = crate::Result<crate::Response<crate::model::SnapshotList>>,
11986    > + Send {
11987        gaxi::unimplemented::unimplemented_stub()
11988    }
11989
11990    /// Implements [super::client::RegionSnapshots::set_iam_policy].
11991    fn set_iam_policy(
11992        &self,
11993        _req: crate::model::region_snapshots::SetIamPolicyRequest,
11994        _options: crate::RequestOptions,
11995    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11996    {
11997        gaxi::unimplemented::unimplemented_stub()
11998    }
11999
12000    /// Implements [super::client::RegionSnapshots::set_labels].
12001    fn set_labels(
12002        &self,
12003        _req: crate::model::region_snapshots::SetLabelsRequest,
12004        _options: crate::RequestOptions,
12005    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12006    {
12007        gaxi::unimplemented::unimplemented_stub()
12008    }
12009
12010    /// Implements [super::client::RegionSnapshots::test_iam_permissions].
12011    fn test_iam_permissions(
12012        &self,
12013        _req: crate::model::region_snapshots::TestIamPermissionsRequest,
12014        _options: crate::RequestOptions,
12015    ) -> impl std::future::Future<
12016        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12017    > + Send {
12018        gaxi::unimplemented::unimplemented_stub()
12019    }
12020
12021    /// Implements [super::client::RegionSnapshots::update_kms_key].
12022    fn update_kms_key(
12023        &self,
12024        _req: crate::model::region_snapshots::UpdateKmsKeyRequest,
12025        _options: crate::RequestOptions,
12026    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12027    {
12028        gaxi::unimplemented::unimplemented_stub()
12029    }
12030
12031    /// Implements [super::client::RegionSnapshots::get_operation].
12032    fn get_operation(
12033        &self,
12034        _req: crate::model::region_operations::GetRequest,
12035        _options: crate::RequestOptions,
12036    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12037    {
12038        gaxi::unimplemented::unimplemented_stub()
12039    }
12040
12041    /// Returns the polling error policy.
12042    ///
12043    /// When mocking, this method is typically irrelevant. Do not try to verify
12044    /// it is called by your mocks.
12045    fn get_polling_error_policy(
12046        &self,
12047        _options: &crate::RequestOptions,
12048    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12049        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12050    }
12051
12052    /// Returns the polling backoff policy.
12053    ///
12054    /// When mocking, this method is typically irrelevant. Do not try to verify
12055    /// it is called by your mocks.
12056    fn get_polling_backoff_policy(
12057        &self,
12058        _options: &crate::RequestOptions,
12059    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12060        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12061    }
12062
12063    #[doc(hidden)]
12064    /// Returns the poller options.
12065    ///
12066    /// When mocking, this method is typically irrelevant. Do not try to verify
12067    /// it is called by your mocks.
12068    fn get_poller_options(
12069        &self,
12070        _options: &crate::RequestOptions,
12071    ) -> google_cloud_lro::PollerOptions {
12072        google_cloud_lro::PollerOptions::default()
12073    }
12074}
12075
12076/// Defines the trait used to implement [super::client::RegionSslCertificates].
12077///
12078/// Application developers may need to implement this trait to mock
12079/// `client::RegionSslCertificates`.  In other use-cases, application developers only
12080/// use `client::RegionSslCertificates` and need not be concerned with this trait or
12081/// its implementations.
12082///
12083/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12084/// too. To avoid breaking applications the trait provides a default
12085/// implementation of each method. Most of these implementations just return an
12086/// error.
12087#[cfg(feature = "region-ssl-certificates")]
12088#[cfg_attr(docsrs, doc(cfg(feature = "region-ssl-certificates")))]
12089pub trait RegionSslCertificates: std::fmt::Debug + Send + Sync {
12090    /// Implements [super::client::RegionSslCertificates::delete].
12091    fn delete(
12092        &self,
12093        _req: crate::model::region_ssl_certificates::DeleteRequest,
12094        _options: crate::RequestOptions,
12095    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12096    {
12097        gaxi::unimplemented::unimplemented_stub()
12098    }
12099
12100    /// Implements [super::client::RegionSslCertificates::get].
12101    fn get(
12102        &self,
12103        _req: crate::model::region_ssl_certificates::GetRequest,
12104        _options: crate::RequestOptions,
12105    ) -> impl std::future::Future<
12106        Output = crate::Result<crate::Response<crate::model::SslCertificate>>,
12107    > + Send {
12108        gaxi::unimplemented::unimplemented_stub()
12109    }
12110
12111    /// Implements [super::client::RegionSslCertificates::insert].
12112    fn insert(
12113        &self,
12114        _req: crate::model::region_ssl_certificates::InsertRequest,
12115        _options: crate::RequestOptions,
12116    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12117    {
12118        gaxi::unimplemented::unimplemented_stub()
12119    }
12120
12121    /// Implements [super::client::RegionSslCertificates::list].
12122    fn list(
12123        &self,
12124        _req: crate::model::region_ssl_certificates::ListRequest,
12125        _options: crate::RequestOptions,
12126    ) -> impl std::future::Future<
12127        Output = crate::Result<crate::Response<crate::model::SslCertificateList>>,
12128    > + Send {
12129        gaxi::unimplemented::unimplemented_stub()
12130    }
12131
12132    /// Implements [super::client::RegionSslCertificates::get_operation].
12133    fn get_operation(
12134        &self,
12135        _req: crate::model::region_operations::GetRequest,
12136        _options: crate::RequestOptions,
12137    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12138    {
12139        gaxi::unimplemented::unimplemented_stub()
12140    }
12141
12142    /// Returns the polling error policy.
12143    ///
12144    /// When mocking, this method is typically irrelevant. Do not try to verify
12145    /// it is called by your mocks.
12146    fn get_polling_error_policy(
12147        &self,
12148        _options: &crate::RequestOptions,
12149    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12150        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12151    }
12152
12153    /// Returns the polling backoff policy.
12154    ///
12155    /// When mocking, this method is typically irrelevant. Do not try to verify
12156    /// it is called by your mocks.
12157    fn get_polling_backoff_policy(
12158        &self,
12159        _options: &crate::RequestOptions,
12160    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12161        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12162    }
12163
12164    #[doc(hidden)]
12165    /// Returns the poller options.
12166    ///
12167    /// When mocking, this method is typically irrelevant. Do not try to verify
12168    /// it is called by your mocks.
12169    fn get_poller_options(
12170        &self,
12171        _options: &crate::RequestOptions,
12172    ) -> google_cloud_lro::PollerOptions {
12173        google_cloud_lro::PollerOptions::default()
12174    }
12175}
12176
12177/// Defines the trait used to implement [super::client::RegionSslPolicies].
12178///
12179/// Application developers may need to implement this trait to mock
12180/// `client::RegionSslPolicies`.  In other use-cases, application developers only
12181/// use `client::RegionSslPolicies` and need not be concerned with this trait or
12182/// its implementations.
12183///
12184/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12185/// too. To avoid breaking applications the trait provides a default
12186/// implementation of each method. Most of these implementations just return an
12187/// error.
12188#[cfg(feature = "region-ssl-policies")]
12189#[cfg_attr(docsrs, doc(cfg(feature = "region-ssl-policies")))]
12190pub trait RegionSslPolicies: std::fmt::Debug + Send + Sync {
12191    /// Implements [super::client::RegionSslPolicies::delete].
12192    fn delete(
12193        &self,
12194        _req: crate::model::region_ssl_policies::DeleteRequest,
12195        _options: crate::RequestOptions,
12196    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12197    {
12198        gaxi::unimplemented::unimplemented_stub()
12199    }
12200
12201    /// Implements [super::client::RegionSslPolicies::get].
12202    fn get(
12203        &self,
12204        _req: crate::model::region_ssl_policies::GetRequest,
12205        _options: crate::RequestOptions,
12206    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::SslPolicy>>> + Send
12207    {
12208        gaxi::unimplemented::unimplemented_stub()
12209    }
12210
12211    /// Implements [super::client::RegionSslPolicies::insert].
12212    fn insert(
12213        &self,
12214        _req: crate::model::region_ssl_policies::InsertRequest,
12215        _options: crate::RequestOptions,
12216    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12217    {
12218        gaxi::unimplemented::unimplemented_stub()
12219    }
12220
12221    /// Implements [super::client::RegionSslPolicies::list].
12222    fn list(
12223        &self,
12224        _req: crate::model::region_ssl_policies::ListRequest,
12225        _options: crate::RequestOptions,
12226    ) -> impl std::future::Future<
12227        Output = crate::Result<crate::Response<crate::model::SslPoliciesList>>,
12228    > + Send {
12229        gaxi::unimplemented::unimplemented_stub()
12230    }
12231
12232    /// Implements [super::client::RegionSslPolicies::list_available_features].
12233    fn list_available_features(
12234        &self,
12235        _req: crate::model::region_ssl_policies::ListAvailableFeaturesRequest,
12236        _options: crate::RequestOptions,
12237    ) -> impl std::future::Future<
12238        Output = crate::Result<
12239            crate::Response<crate::model::SslPoliciesListAvailableFeaturesResponse>,
12240        >,
12241    > + Send {
12242        gaxi::unimplemented::unimplemented_stub()
12243    }
12244
12245    /// Implements [super::client::RegionSslPolicies::patch].
12246    fn patch(
12247        &self,
12248        _req: crate::model::region_ssl_policies::PatchRequest,
12249        _options: crate::RequestOptions,
12250    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12251    {
12252        gaxi::unimplemented::unimplemented_stub()
12253    }
12254
12255    /// Implements [super::client::RegionSslPolicies::get_operation].
12256    fn get_operation(
12257        &self,
12258        _req: crate::model::region_operations::GetRequest,
12259        _options: crate::RequestOptions,
12260    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12261    {
12262        gaxi::unimplemented::unimplemented_stub()
12263    }
12264
12265    /// Returns the polling error policy.
12266    ///
12267    /// When mocking, this method is typically irrelevant. Do not try to verify
12268    /// it is called by your mocks.
12269    fn get_polling_error_policy(
12270        &self,
12271        _options: &crate::RequestOptions,
12272    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12273        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12274    }
12275
12276    /// Returns the polling backoff policy.
12277    ///
12278    /// When mocking, this method is typically irrelevant. Do not try to verify
12279    /// it is called by your mocks.
12280    fn get_polling_backoff_policy(
12281        &self,
12282        _options: &crate::RequestOptions,
12283    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12284        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12285    }
12286
12287    #[doc(hidden)]
12288    /// Returns the poller options.
12289    ///
12290    /// When mocking, this method is typically irrelevant. Do not try to verify
12291    /// it is called by your mocks.
12292    fn get_poller_options(
12293        &self,
12294        _options: &crate::RequestOptions,
12295    ) -> google_cloud_lro::PollerOptions {
12296        google_cloud_lro::PollerOptions::default()
12297    }
12298}
12299
12300/// Defines the trait used to implement [super::client::RegionTargetHttpProxies].
12301///
12302/// Application developers may need to implement this trait to mock
12303/// `client::RegionTargetHttpProxies`.  In other use-cases, application developers only
12304/// use `client::RegionTargetHttpProxies` and need not be concerned with this trait or
12305/// its implementations.
12306///
12307/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12308/// too. To avoid breaking applications the trait provides a default
12309/// implementation of each method. Most of these implementations just return an
12310/// error.
12311#[cfg(feature = "region-target-http-proxies")]
12312#[cfg_attr(docsrs, doc(cfg(feature = "region-target-http-proxies")))]
12313pub trait RegionTargetHttpProxies: std::fmt::Debug + Send + Sync {
12314    /// Implements [super::client::RegionTargetHttpProxies::delete].
12315    fn delete(
12316        &self,
12317        _req: crate::model::region_target_http_proxies::DeleteRequest,
12318        _options: crate::RequestOptions,
12319    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12320    {
12321        gaxi::unimplemented::unimplemented_stub()
12322    }
12323
12324    /// Implements [super::client::RegionTargetHttpProxies::get].
12325    fn get(
12326        &self,
12327        _req: crate::model::region_target_http_proxies::GetRequest,
12328        _options: crate::RequestOptions,
12329    ) -> impl std::future::Future<
12330        Output = crate::Result<crate::Response<crate::model::TargetHttpProxy>>,
12331    > + Send {
12332        gaxi::unimplemented::unimplemented_stub()
12333    }
12334
12335    /// Implements [super::client::RegionTargetHttpProxies::insert].
12336    fn insert(
12337        &self,
12338        _req: crate::model::region_target_http_proxies::InsertRequest,
12339        _options: crate::RequestOptions,
12340    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12341    {
12342        gaxi::unimplemented::unimplemented_stub()
12343    }
12344
12345    /// Implements [super::client::RegionTargetHttpProxies::list].
12346    fn list(
12347        &self,
12348        _req: crate::model::region_target_http_proxies::ListRequest,
12349        _options: crate::RequestOptions,
12350    ) -> impl std::future::Future<
12351        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyList>>,
12352    > + Send {
12353        gaxi::unimplemented::unimplemented_stub()
12354    }
12355
12356    /// Implements [super::client::RegionTargetHttpProxies::set_url_map].
12357    fn set_url_map(
12358        &self,
12359        _req: crate::model::region_target_http_proxies::SetUrlMapRequest,
12360        _options: crate::RequestOptions,
12361    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12362    {
12363        gaxi::unimplemented::unimplemented_stub()
12364    }
12365
12366    /// Implements [super::client::RegionTargetHttpProxies::get_operation].
12367    fn get_operation(
12368        &self,
12369        _req: crate::model::region_operations::GetRequest,
12370        _options: crate::RequestOptions,
12371    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12372    {
12373        gaxi::unimplemented::unimplemented_stub()
12374    }
12375
12376    /// Returns the polling error policy.
12377    ///
12378    /// When mocking, this method is typically irrelevant. Do not try to verify
12379    /// it is called by your mocks.
12380    fn get_polling_error_policy(
12381        &self,
12382        _options: &crate::RequestOptions,
12383    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12384        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12385    }
12386
12387    /// Returns the polling backoff policy.
12388    ///
12389    /// When mocking, this method is typically irrelevant. Do not try to verify
12390    /// it is called by your mocks.
12391    fn get_polling_backoff_policy(
12392        &self,
12393        _options: &crate::RequestOptions,
12394    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12395        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12396    }
12397
12398    #[doc(hidden)]
12399    /// Returns the poller options.
12400    ///
12401    /// When mocking, this method is typically irrelevant. Do not try to verify
12402    /// it is called by your mocks.
12403    fn get_poller_options(
12404        &self,
12405        _options: &crate::RequestOptions,
12406    ) -> google_cloud_lro::PollerOptions {
12407        google_cloud_lro::PollerOptions::default()
12408    }
12409}
12410
12411/// Defines the trait used to implement [super::client::RegionTargetHttpsProxies].
12412///
12413/// Application developers may need to implement this trait to mock
12414/// `client::RegionTargetHttpsProxies`.  In other use-cases, application developers only
12415/// use `client::RegionTargetHttpsProxies` and need not be concerned with this trait or
12416/// its implementations.
12417///
12418/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12419/// too. To avoid breaking applications the trait provides a default
12420/// implementation of each method. Most of these implementations just return an
12421/// error.
12422#[cfg(feature = "region-target-https-proxies")]
12423#[cfg_attr(docsrs, doc(cfg(feature = "region-target-https-proxies")))]
12424pub trait RegionTargetHttpsProxies: std::fmt::Debug + Send + Sync {
12425    /// Implements [super::client::RegionTargetHttpsProxies::delete].
12426    fn delete(
12427        &self,
12428        _req: crate::model::region_target_https_proxies::DeleteRequest,
12429        _options: crate::RequestOptions,
12430    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12431    {
12432        gaxi::unimplemented::unimplemented_stub()
12433    }
12434
12435    /// Implements [super::client::RegionTargetHttpsProxies::get].
12436    fn get(
12437        &self,
12438        _req: crate::model::region_target_https_proxies::GetRequest,
12439        _options: crate::RequestOptions,
12440    ) -> impl std::future::Future<
12441        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxy>>,
12442    > + Send {
12443        gaxi::unimplemented::unimplemented_stub()
12444    }
12445
12446    /// Implements [super::client::RegionTargetHttpsProxies::insert].
12447    fn insert(
12448        &self,
12449        _req: crate::model::region_target_https_proxies::InsertRequest,
12450        _options: crate::RequestOptions,
12451    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12452    {
12453        gaxi::unimplemented::unimplemented_stub()
12454    }
12455
12456    /// Implements [super::client::RegionTargetHttpsProxies::list].
12457    fn list(
12458        &self,
12459        _req: crate::model::region_target_https_proxies::ListRequest,
12460        _options: crate::RequestOptions,
12461    ) -> impl std::future::Future<
12462        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyList>>,
12463    > + Send {
12464        gaxi::unimplemented::unimplemented_stub()
12465    }
12466
12467    /// Implements [super::client::RegionTargetHttpsProxies::patch].
12468    fn patch(
12469        &self,
12470        _req: crate::model::region_target_https_proxies::PatchRequest,
12471        _options: crate::RequestOptions,
12472    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12473    {
12474        gaxi::unimplemented::unimplemented_stub()
12475    }
12476
12477    /// Implements [super::client::RegionTargetHttpsProxies::set_ssl_certificates].
12478    fn set_ssl_certificates(
12479        &self,
12480        _req: crate::model::region_target_https_proxies::SetSslCertificatesRequest,
12481        _options: crate::RequestOptions,
12482    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12483    {
12484        gaxi::unimplemented::unimplemented_stub()
12485    }
12486
12487    /// Implements [super::client::RegionTargetHttpsProxies::set_url_map].
12488    fn set_url_map(
12489        &self,
12490        _req: crate::model::region_target_https_proxies::SetUrlMapRequest,
12491        _options: crate::RequestOptions,
12492    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12493    {
12494        gaxi::unimplemented::unimplemented_stub()
12495    }
12496
12497    /// Implements [super::client::RegionTargetHttpsProxies::get_operation].
12498    fn get_operation(
12499        &self,
12500        _req: crate::model::region_operations::GetRequest,
12501        _options: crate::RequestOptions,
12502    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12503    {
12504        gaxi::unimplemented::unimplemented_stub()
12505    }
12506
12507    /// Returns the polling error policy.
12508    ///
12509    /// When mocking, this method is typically irrelevant. Do not try to verify
12510    /// it is called by your mocks.
12511    fn get_polling_error_policy(
12512        &self,
12513        _options: &crate::RequestOptions,
12514    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12515        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12516    }
12517
12518    /// Returns the polling backoff policy.
12519    ///
12520    /// When mocking, this method is typically irrelevant. Do not try to verify
12521    /// it is called by your mocks.
12522    fn get_polling_backoff_policy(
12523        &self,
12524        _options: &crate::RequestOptions,
12525    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12526        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12527    }
12528
12529    #[doc(hidden)]
12530    /// Returns the poller options.
12531    ///
12532    /// When mocking, this method is typically irrelevant. Do not try to verify
12533    /// it is called by your mocks.
12534    fn get_poller_options(
12535        &self,
12536        _options: &crate::RequestOptions,
12537    ) -> google_cloud_lro::PollerOptions {
12538        google_cloud_lro::PollerOptions::default()
12539    }
12540}
12541
12542/// Defines the trait used to implement [super::client::RegionTargetTcpProxies].
12543///
12544/// Application developers may need to implement this trait to mock
12545/// `client::RegionTargetTcpProxies`.  In other use-cases, application developers only
12546/// use `client::RegionTargetTcpProxies` and need not be concerned with this trait or
12547/// its implementations.
12548///
12549/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12550/// too. To avoid breaking applications the trait provides a default
12551/// implementation of each method. Most of these implementations just return an
12552/// error.
12553#[cfg(feature = "region-target-tcp-proxies")]
12554#[cfg_attr(docsrs, doc(cfg(feature = "region-target-tcp-proxies")))]
12555pub trait RegionTargetTcpProxies: std::fmt::Debug + Send + Sync {
12556    /// Implements [super::client::RegionTargetTcpProxies::delete].
12557    fn delete(
12558        &self,
12559        _req: crate::model::region_target_tcp_proxies::DeleteRequest,
12560        _options: crate::RequestOptions,
12561    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12562    {
12563        gaxi::unimplemented::unimplemented_stub()
12564    }
12565
12566    /// Implements [super::client::RegionTargetTcpProxies::get].
12567    fn get(
12568        &self,
12569        _req: crate::model::region_target_tcp_proxies::GetRequest,
12570        _options: crate::RequestOptions,
12571    ) -> impl std::future::Future<
12572        Output = crate::Result<crate::Response<crate::model::TargetTcpProxy>>,
12573    > + Send {
12574        gaxi::unimplemented::unimplemented_stub()
12575    }
12576
12577    /// Implements [super::client::RegionTargetTcpProxies::insert].
12578    fn insert(
12579        &self,
12580        _req: crate::model::region_target_tcp_proxies::InsertRequest,
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::RegionTargetTcpProxies::list].
12588    fn list(
12589        &self,
12590        _req: crate::model::region_target_tcp_proxies::ListRequest,
12591        _options: crate::RequestOptions,
12592    ) -> impl std::future::Future<
12593        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyList>>,
12594    > + Send {
12595        gaxi::unimplemented::unimplemented_stub()
12596    }
12597
12598    /// Implements [super::client::RegionTargetTcpProxies::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::RegionUrlMaps].
12644///
12645/// Application developers may need to implement this trait to mock
12646/// `client::RegionUrlMaps`.  In other use-cases, application developers only
12647/// use `client::RegionUrlMaps` 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-url-maps")]
12655#[cfg_attr(docsrs, doc(cfg(feature = "region-url-maps")))]
12656pub trait RegionUrlMaps: std::fmt::Debug + Send + Sync {
12657    /// Implements [super::client::RegionUrlMaps::delete].
12658    fn delete(
12659        &self,
12660        _req: crate::model::region_url_maps::DeleteRequest,
12661        _options: crate::RequestOptions,
12662    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12663    {
12664        gaxi::unimplemented::unimplemented_stub()
12665    }
12666
12667    /// Implements [super::client::RegionUrlMaps::get].
12668    fn get(
12669        &self,
12670        _req: crate::model::region_url_maps::GetRequest,
12671        _options: crate::RequestOptions,
12672    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMap>>> + Send
12673    {
12674        gaxi::unimplemented::unimplemented_stub()
12675    }
12676
12677    /// Implements [super::client::RegionUrlMaps::insert].
12678    fn insert(
12679        &self,
12680        _req: crate::model::region_url_maps::InsertRequest,
12681        _options: crate::RequestOptions,
12682    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12683    {
12684        gaxi::unimplemented::unimplemented_stub()
12685    }
12686
12687    /// Implements [super::client::RegionUrlMaps::list].
12688    fn list(
12689        &self,
12690        _req: crate::model::region_url_maps::ListRequest,
12691        _options: crate::RequestOptions,
12692    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMapList>>> + Send
12693    {
12694        gaxi::unimplemented::unimplemented_stub()
12695    }
12696
12697    /// Implements [super::client::RegionUrlMaps::patch].
12698    fn patch(
12699        &self,
12700        _req: crate::model::region_url_maps::PatchRequest,
12701        _options: crate::RequestOptions,
12702    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12703    {
12704        gaxi::unimplemented::unimplemented_stub()
12705    }
12706
12707    /// Implements [super::client::RegionUrlMaps::update].
12708    fn update(
12709        &self,
12710        _req: crate::model::region_url_maps::UpdateRequest,
12711        _options: crate::RequestOptions,
12712    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12713    {
12714        gaxi::unimplemented::unimplemented_stub()
12715    }
12716
12717    /// Implements [super::client::RegionUrlMaps::validate].
12718    fn validate(
12719        &self,
12720        _req: crate::model::region_url_maps::ValidateRequest,
12721        _options: crate::RequestOptions,
12722    ) -> impl std::future::Future<
12723        Output = crate::Result<crate::Response<crate::model::UrlMapsValidateResponse>>,
12724    > + Send {
12725        gaxi::unimplemented::unimplemented_stub()
12726    }
12727
12728    /// Implements [super::client::RegionUrlMaps::get_operation].
12729    fn get_operation(
12730        &self,
12731        _req: crate::model::region_operations::GetRequest,
12732        _options: crate::RequestOptions,
12733    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12734    {
12735        gaxi::unimplemented::unimplemented_stub()
12736    }
12737
12738    /// Returns the polling error policy.
12739    ///
12740    /// When mocking, this method is typically irrelevant. Do not try to verify
12741    /// it is called by your mocks.
12742    fn get_polling_error_policy(
12743        &self,
12744        _options: &crate::RequestOptions,
12745    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12746        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12747    }
12748
12749    /// Returns the polling backoff policy.
12750    ///
12751    /// When mocking, this method is typically irrelevant. Do not try to verify
12752    /// it is called by your mocks.
12753    fn get_polling_backoff_policy(
12754        &self,
12755        _options: &crate::RequestOptions,
12756    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12757        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12758    }
12759
12760    #[doc(hidden)]
12761    /// Returns the poller options.
12762    ///
12763    /// When mocking, this method is typically irrelevant. Do not try to verify
12764    /// it is called by your mocks.
12765    fn get_poller_options(
12766        &self,
12767        _options: &crate::RequestOptions,
12768    ) -> google_cloud_lro::PollerOptions {
12769        google_cloud_lro::PollerOptions::default()
12770    }
12771}
12772
12773/// Defines the trait used to implement [super::client::RegionZones].
12774///
12775/// Application developers may need to implement this trait to mock
12776/// `client::RegionZones`.  In other use-cases, application developers only
12777/// use `client::RegionZones` and need not be concerned with this trait or
12778/// its implementations.
12779///
12780/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12781/// too. To avoid breaking applications the trait provides a default
12782/// implementation of each method. Most of these implementations just return an
12783/// error.
12784#[cfg(feature = "region-zones")]
12785#[cfg_attr(docsrs, doc(cfg(feature = "region-zones")))]
12786pub trait RegionZones: std::fmt::Debug + Send + Sync {
12787    /// Implements [super::client::RegionZones::list].
12788    fn list(
12789        &self,
12790        _req: crate::model::region_zones::ListRequest,
12791        _options: crate::RequestOptions,
12792    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ZoneList>>> + Send
12793    {
12794        gaxi::unimplemented::unimplemented_stub()
12795    }
12796}
12797
12798/// Defines the trait used to implement [super::client::Regions].
12799///
12800/// Application developers may need to implement this trait to mock
12801/// `client::Regions`.  In other use-cases, application developers only
12802/// use `client::Regions` and need not be concerned with this trait or
12803/// its implementations.
12804///
12805/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12806/// too. To avoid breaking applications the trait provides a default
12807/// implementation of each method. Most of these implementations just return an
12808/// error.
12809#[cfg(feature = "regions")]
12810#[cfg_attr(docsrs, doc(cfg(feature = "regions")))]
12811pub trait Regions: std::fmt::Debug + Send + Sync {
12812    /// Implements [super::client::Regions::get].
12813    fn get(
12814        &self,
12815        _req: crate::model::regions::GetRequest,
12816        _options: crate::RequestOptions,
12817    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Region>>> + Send
12818    {
12819        gaxi::unimplemented::unimplemented_stub()
12820    }
12821
12822    /// Implements [super::client::Regions::list].
12823    fn list(
12824        &self,
12825        _req: crate::model::regions::ListRequest,
12826        _options: crate::RequestOptions,
12827    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RegionList>>> + Send
12828    {
12829        gaxi::unimplemented::unimplemented_stub()
12830    }
12831}
12832
12833/// Defines the trait used to implement [super::client::ReliabilityRisks].
12834///
12835/// Application developers may need to implement this trait to mock
12836/// `client::ReliabilityRisks`.  In other use-cases, application developers only
12837/// use `client::ReliabilityRisks` and need not be concerned with this trait or
12838/// its implementations.
12839///
12840/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12841/// too. To avoid breaking applications the trait provides a default
12842/// implementation of each method. Most of these implementations just return an
12843/// error.
12844#[cfg(feature = "reliability-risks")]
12845#[cfg_attr(docsrs, doc(cfg(feature = "reliability-risks")))]
12846pub trait ReliabilityRisks: std::fmt::Debug + Send + Sync {
12847    /// Implements [super::client::ReliabilityRisks::get].
12848    fn get(
12849        &self,
12850        _req: crate::model::reliability_risks::GetRequest,
12851        _options: crate::RequestOptions,
12852    ) -> impl std::future::Future<
12853        Output = crate::Result<crate::Response<crate::model::ReliabilityRisk>>,
12854    > + Send {
12855        gaxi::unimplemented::unimplemented_stub()
12856    }
12857
12858    /// Implements [super::client::ReliabilityRisks::list].
12859    fn list(
12860        &self,
12861        _req: crate::model::reliability_risks::ListRequest,
12862        _options: crate::RequestOptions,
12863    ) -> impl std::future::Future<
12864        Output = crate::Result<crate::Response<crate::model::ReliabilityRisksListResponse>>,
12865    > + Send {
12866        gaxi::unimplemented::unimplemented_stub()
12867    }
12868}
12869
12870/// Defines the trait used to implement [super::client::ReservationBlocks].
12871///
12872/// Application developers may need to implement this trait to mock
12873/// `client::ReservationBlocks`.  In other use-cases, application developers only
12874/// use `client::ReservationBlocks` and need not be concerned with this trait or
12875/// its implementations.
12876///
12877/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12878/// too. To avoid breaking applications the trait provides a default
12879/// implementation of each method. Most of these implementations just return an
12880/// error.
12881#[cfg(feature = "reservation-blocks")]
12882#[cfg_attr(docsrs, doc(cfg(feature = "reservation-blocks")))]
12883pub trait ReservationBlocks: std::fmt::Debug + Send + Sync {
12884    /// Implements [super::client::ReservationBlocks::get].
12885    fn get(
12886        &self,
12887        _req: crate::model::reservation_blocks::GetRequest,
12888        _options: crate::RequestOptions,
12889    ) -> impl std::future::Future<
12890        Output = crate::Result<crate::Response<crate::model::ReservationBlocksGetResponse>>,
12891    > + Send {
12892        gaxi::unimplemented::unimplemented_stub()
12893    }
12894
12895    /// Implements [super::client::ReservationBlocks::get_iam_policy].
12896    fn get_iam_policy(
12897        &self,
12898        _req: crate::model::reservation_blocks::GetIamPolicyRequest,
12899        _options: crate::RequestOptions,
12900    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12901    {
12902        gaxi::unimplemented::unimplemented_stub()
12903    }
12904
12905    /// Implements [super::client::ReservationBlocks::list].
12906    fn list(
12907        &self,
12908        _req: crate::model::reservation_blocks::ListRequest,
12909        _options: crate::RequestOptions,
12910    ) -> impl std::future::Future<
12911        Output = crate::Result<crate::Response<crate::model::ReservationBlocksListResponse>>,
12912    > + Send {
12913        gaxi::unimplemented::unimplemented_stub()
12914    }
12915
12916    /// Implements [super::client::ReservationBlocks::perform_maintenance].
12917    fn perform_maintenance(
12918        &self,
12919        _req: crate::model::reservation_blocks::PerformMaintenanceRequest,
12920        _options: crate::RequestOptions,
12921    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12922    {
12923        gaxi::unimplemented::unimplemented_stub()
12924    }
12925
12926    /// Implements [super::client::ReservationBlocks::set_iam_policy].
12927    fn set_iam_policy(
12928        &self,
12929        _req: crate::model::reservation_blocks::SetIamPolicyRequest,
12930        _options: crate::RequestOptions,
12931    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12932    {
12933        gaxi::unimplemented::unimplemented_stub()
12934    }
12935
12936    /// Implements [super::client::ReservationBlocks::test_iam_permissions].
12937    fn test_iam_permissions(
12938        &self,
12939        _req: crate::model::reservation_blocks::TestIamPermissionsRequest,
12940        _options: crate::RequestOptions,
12941    ) -> impl std::future::Future<
12942        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12943    > + Send {
12944        gaxi::unimplemented::unimplemented_stub()
12945    }
12946
12947    /// Implements [super::client::ReservationBlocks::get_operation].
12948    fn get_operation(
12949        &self,
12950        _req: crate::model::zone_operations::GetRequest,
12951        _options: crate::RequestOptions,
12952    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12953    {
12954        gaxi::unimplemented::unimplemented_stub()
12955    }
12956
12957    /// Returns the polling error policy.
12958    ///
12959    /// When mocking, this method is typically irrelevant. Do not try to verify
12960    /// it is called by your mocks.
12961    fn get_polling_error_policy(
12962        &self,
12963        _options: &crate::RequestOptions,
12964    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12965        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12966    }
12967
12968    /// Returns the polling backoff policy.
12969    ///
12970    /// When mocking, this method is typically irrelevant. Do not try to verify
12971    /// it is called by your mocks.
12972    fn get_polling_backoff_policy(
12973        &self,
12974        _options: &crate::RequestOptions,
12975    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12976        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12977    }
12978
12979    #[doc(hidden)]
12980    /// Returns the poller options.
12981    ///
12982    /// When mocking, this method is typically irrelevant. Do not try to verify
12983    /// it is called by your mocks.
12984    fn get_poller_options(
12985        &self,
12986        _options: &crate::RequestOptions,
12987    ) -> google_cloud_lro::PollerOptions {
12988        google_cloud_lro::PollerOptions::default()
12989    }
12990}
12991
12992/// Defines the trait used to implement [super::client::ReservationSlots].
12993///
12994/// Application developers may need to implement this trait to mock
12995/// `client::ReservationSlots`.  In other use-cases, application developers only
12996/// use `client::ReservationSlots` and need not be concerned with this trait or
12997/// its implementations.
12998///
12999/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13000/// too. To avoid breaking applications the trait provides a default
13001/// implementation of each method. Most of these implementations just return an
13002/// error.
13003#[cfg(feature = "reservation-slots")]
13004#[cfg_attr(docsrs, doc(cfg(feature = "reservation-slots")))]
13005pub trait ReservationSlots: std::fmt::Debug + Send + Sync {
13006    /// Implements [super::client::ReservationSlots::get].
13007    fn get(
13008        &self,
13009        _req: crate::model::reservation_slots::GetRequest,
13010        _options: crate::RequestOptions,
13011    ) -> impl std::future::Future<
13012        Output = crate::Result<crate::Response<crate::model::ReservationSlotsGetResponse>>,
13013    > + Send {
13014        gaxi::unimplemented::unimplemented_stub()
13015    }
13016
13017    /// Implements [super::client::ReservationSlots::get_health].
13018    fn get_health(
13019        &self,
13020        _req: crate::model::reservation_slots::GetHealthRequest,
13021        _options: crate::RequestOptions,
13022    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13023    {
13024        gaxi::unimplemented::unimplemented_stub()
13025    }
13026
13027    /// Implements [super::client::ReservationSlots::get_version].
13028    fn get_version(
13029        &self,
13030        _req: crate::model::reservation_slots::GetVersionRequest,
13031        _options: crate::RequestOptions,
13032    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13033    {
13034        gaxi::unimplemented::unimplemented_stub()
13035    }
13036
13037    /// Implements [super::client::ReservationSlots::list].
13038    fn list(
13039        &self,
13040        _req: crate::model::reservation_slots::ListRequest,
13041        _options: crate::RequestOptions,
13042    ) -> impl std::future::Future<
13043        Output = crate::Result<crate::Response<crate::model::ReservationSlotsListResponse>>,
13044    > + Send {
13045        gaxi::unimplemented::unimplemented_stub()
13046    }
13047
13048    /// Implements [super::client::ReservationSlots::update].
13049    fn update(
13050        &self,
13051        _req: crate::model::reservation_slots::UpdateRequest,
13052        _options: crate::RequestOptions,
13053    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13054    {
13055        gaxi::unimplemented::unimplemented_stub()
13056    }
13057
13058    /// Implements [super::client::ReservationSlots::get_operation].
13059    fn get_operation(
13060        &self,
13061        _req: crate::model::zone_operations::GetRequest,
13062        _options: crate::RequestOptions,
13063    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13064    {
13065        gaxi::unimplemented::unimplemented_stub()
13066    }
13067
13068    /// Returns the polling error policy.
13069    ///
13070    /// When mocking, this method is typically irrelevant. Do not try to verify
13071    /// it is called by your mocks.
13072    fn get_polling_error_policy(
13073        &self,
13074        _options: &crate::RequestOptions,
13075    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13076        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13077    }
13078
13079    /// Returns the polling backoff policy.
13080    ///
13081    /// When mocking, this method is typically irrelevant. Do not try to verify
13082    /// it is called by your mocks.
13083    fn get_polling_backoff_policy(
13084        &self,
13085        _options: &crate::RequestOptions,
13086    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13087        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13088    }
13089
13090    #[doc(hidden)]
13091    /// Returns the poller options.
13092    ///
13093    /// When mocking, this method is typically irrelevant. Do not try to verify
13094    /// it is called by your mocks.
13095    fn get_poller_options(
13096        &self,
13097        _options: &crate::RequestOptions,
13098    ) -> google_cloud_lro::PollerOptions {
13099        google_cloud_lro::PollerOptions::default()
13100    }
13101}
13102
13103/// Defines the trait used to implement [super::client::ReservationSubBlocks].
13104///
13105/// Application developers may need to implement this trait to mock
13106/// `client::ReservationSubBlocks`.  In other use-cases, application developers only
13107/// use `client::ReservationSubBlocks` and need not be concerned with this trait or
13108/// its implementations.
13109///
13110/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13111/// too. To avoid breaking applications the trait provides a default
13112/// implementation of each method. Most of these implementations just return an
13113/// error.
13114#[cfg(feature = "reservation-sub-blocks")]
13115#[cfg_attr(docsrs, doc(cfg(feature = "reservation-sub-blocks")))]
13116pub trait ReservationSubBlocks: std::fmt::Debug + Send + Sync {
13117    /// Implements [super::client::ReservationSubBlocks::get].
13118    fn get(
13119        &self,
13120        _req: crate::model::reservation_sub_blocks::GetRequest,
13121        _options: crate::RequestOptions,
13122    ) -> impl std::future::Future<
13123        Output = crate::Result<crate::Response<crate::model::ReservationSubBlocksGetResponse>>,
13124    > + Send {
13125        gaxi::unimplemented::unimplemented_stub()
13126    }
13127
13128    /// Implements [super::client::ReservationSubBlocks::get_iam_policy].
13129    fn get_iam_policy(
13130        &self,
13131        _req: crate::model::reservation_sub_blocks::GetIamPolicyRequest,
13132        _options: crate::RequestOptions,
13133    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13134    {
13135        gaxi::unimplemented::unimplemented_stub()
13136    }
13137
13138    /// Implements [super::client::ReservationSubBlocks::get_version].
13139    fn get_version(
13140        &self,
13141        _req: crate::model::reservation_sub_blocks::GetVersionRequest,
13142        _options: crate::RequestOptions,
13143    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13144    {
13145        gaxi::unimplemented::unimplemented_stub()
13146    }
13147
13148    /// Implements [super::client::ReservationSubBlocks::list].
13149    fn list(
13150        &self,
13151        _req: crate::model::reservation_sub_blocks::ListRequest,
13152        _options: crate::RequestOptions,
13153    ) -> impl std::future::Future<
13154        Output = crate::Result<crate::Response<crate::model::ReservationSubBlocksListResponse>>,
13155    > + Send {
13156        gaxi::unimplemented::unimplemented_stub()
13157    }
13158
13159    /// Implements [super::client::ReservationSubBlocks::perform_maintenance].
13160    fn perform_maintenance(
13161        &self,
13162        _req: crate::model::reservation_sub_blocks::PerformMaintenanceRequest,
13163        _options: crate::RequestOptions,
13164    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13165    {
13166        gaxi::unimplemented::unimplemented_stub()
13167    }
13168
13169    /// Implements [super::client::ReservationSubBlocks::report_faulty].
13170    fn report_faulty(
13171        &self,
13172        _req: crate::model::reservation_sub_blocks::ReportFaultyRequest,
13173        _options: crate::RequestOptions,
13174    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13175    {
13176        gaxi::unimplemented::unimplemented_stub()
13177    }
13178
13179    /// Implements [super::client::ReservationSubBlocks::set_iam_policy].
13180    fn set_iam_policy(
13181        &self,
13182        _req: crate::model::reservation_sub_blocks::SetIamPolicyRequest,
13183        _options: crate::RequestOptions,
13184    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13185    {
13186        gaxi::unimplemented::unimplemented_stub()
13187    }
13188
13189    /// Implements [super::client::ReservationSubBlocks::test_iam_permissions].
13190    fn test_iam_permissions(
13191        &self,
13192        _req: crate::model::reservation_sub_blocks::TestIamPermissionsRequest,
13193        _options: crate::RequestOptions,
13194    ) -> impl std::future::Future<
13195        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13196    > + Send {
13197        gaxi::unimplemented::unimplemented_stub()
13198    }
13199
13200    /// Implements [super::client::ReservationSubBlocks::get_operation].
13201    fn get_operation(
13202        &self,
13203        _req: crate::model::zone_operations::GetRequest,
13204        _options: crate::RequestOptions,
13205    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13206    {
13207        gaxi::unimplemented::unimplemented_stub()
13208    }
13209
13210    /// Returns the polling error policy.
13211    ///
13212    /// When mocking, this method is typically irrelevant. Do not try to verify
13213    /// it is called by your mocks.
13214    fn get_polling_error_policy(
13215        &self,
13216        _options: &crate::RequestOptions,
13217    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13218        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13219    }
13220
13221    /// Returns the polling backoff policy.
13222    ///
13223    /// When mocking, this method is typically irrelevant. Do not try to verify
13224    /// it is called by your mocks.
13225    fn get_polling_backoff_policy(
13226        &self,
13227        _options: &crate::RequestOptions,
13228    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13229        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13230    }
13231
13232    #[doc(hidden)]
13233    /// Returns the poller options.
13234    ///
13235    /// When mocking, this method is typically irrelevant. Do not try to verify
13236    /// it is called by your mocks.
13237    fn get_poller_options(
13238        &self,
13239        _options: &crate::RequestOptions,
13240    ) -> google_cloud_lro::PollerOptions {
13241        google_cloud_lro::PollerOptions::default()
13242    }
13243}
13244
13245/// Defines the trait used to implement [super::client::Reservations].
13246///
13247/// Application developers may need to implement this trait to mock
13248/// `client::Reservations`.  In other use-cases, application developers only
13249/// use `client::Reservations` and need not be concerned with this trait or
13250/// its implementations.
13251///
13252/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13253/// too. To avoid breaking applications the trait provides a default
13254/// implementation of each method. Most of these implementations just return an
13255/// error.
13256#[cfg(feature = "reservations")]
13257#[cfg_attr(docsrs, doc(cfg(feature = "reservations")))]
13258pub trait Reservations: std::fmt::Debug + Send + Sync {
13259    /// Implements [super::client::Reservations::aggregated_list].
13260    fn aggregated_list(
13261        &self,
13262        _req: crate::model::reservations::AggregatedListRequest,
13263        _options: crate::RequestOptions,
13264    ) -> impl std::future::Future<
13265        Output = crate::Result<crate::Response<crate::model::ReservationAggregatedList>>,
13266    > + Send {
13267        gaxi::unimplemented::unimplemented_stub()
13268    }
13269
13270    /// Implements [super::client::Reservations::delete].
13271    fn delete(
13272        &self,
13273        _req: crate::model::reservations::DeleteRequest,
13274        _options: crate::RequestOptions,
13275    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13276    {
13277        gaxi::unimplemented::unimplemented_stub()
13278    }
13279
13280    /// Implements [super::client::Reservations::get].
13281    fn get(
13282        &self,
13283        _req: crate::model::reservations::GetRequest,
13284        _options: crate::RequestOptions,
13285    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Reservation>>>
13286    + Send {
13287        gaxi::unimplemented::unimplemented_stub()
13288    }
13289
13290    /// Implements [super::client::Reservations::get_iam_policy].
13291    fn get_iam_policy(
13292        &self,
13293        _req: crate::model::reservations::GetIamPolicyRequest,
13294        _options: crate::RequestOptions,
13295    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13296    {
13297        gaxi::unimplemented::unimplemented_stub()
13298    }
13299
13300    /// Implements [super::client::Reservations::insert].
13301    fn insert(
13302        &self,
13303        _req: crate::model::reservations::InsertRequest,
13304        _options: crate::RequestOptions,
13305    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13306    {
13307        gaxi::unimplemented::unimplemented_stub()
13308    }
13309
13310    /// Implements [super::client::Reservations::list].
13311    fn list(
13312        &self,
13313        _req: crate::model::reservations::ListRequest,
13314        _options: crate::RequestOptions,
13315    ) -> impl std::future::Future<
13316        Output = crate::Result<crate::Response<crate::model::ReservationList>>,
13317    > + Send {
13318        gaxi::unimplemented::unimplemented_stub()
13319    }
13320
13321    /// Implements [super::client::Reservations::perform_maintenance].
13322    fn perform_maintenance(
13323        &self,
13324        _req: crate::model::reservations::PerformMaintenanceRequest,
13325        _options: crate::RequestOptions,
13326    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13327    {
13328        gaxi::unimplemented::unimplemented_stub()
13329    }
13330
13331    /// Implements [super::client::Reservations::resize].
13332    fn resize(
13333        &self,
13334        _req: crate::model::reservations::ResizeRequest,
13335        _options: crate::RequestOptions,
13336    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13337    {
13338        gaxi::unimplemented::unimplemented_stub()
13339    }
13340
13341    /// Implements [super::client::Reservations::set_iam_policy].
13342    fn set_iam_policy(
13343        &self,
13344        _req: crate::model::reservations::SetIamPolicyRequest,
13345        _options: crate::RequestOptions,
13346    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13347    {
13348        gaxi::unimplemented::unimplemented_stub()
13349    }
13350
13351    /// Implements [super::client::Reservations::test_iam_permissions].
13352    fn test_iam_permissions(
13353        &self,
13354        _req: crate::model::reservations::TestIamPermissionsRequest,
13355        _options: crate::RequestOptions,
13356    ) -> impl std::future::Future<
13357        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13358    > + Send {
13359        gaxi::unimplemented::unimplemented_stub()
13360    }
13361
13362    /// Implements [super::client::Reservations::update].
13363    fn update(
13364        &self,
13365        _req: crate::model::reservations::UpdateRequest,
13366        _options: crate::RequestOptions,
13367    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13368    {
13369        gaxi::unimplemented::unimplemented_stub()
13370    }
13371
13372    /// Implements [super::client::Reservations::get_operation].
13373    fn get_operation(
13374        &self,
13375        _req: crate::model::zone_operations::GetRequest,
13376        _options: crate::RequestOptions,
13377    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13378    {
13379        gaxi::unimplemented::unimplemented_stub()
13380    }
13381
13382    /// Returns the polling error policy.
13383    ///
13384    /// When mocking, this method is typically irrelevant. Do not try to verify
13385    /// it is called by your mocks.
13386    fn get_polling_error_policy(
13387        &self,
13388        _options: &crate::RequestOptions,
13389    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13390        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13391    }
13392
13393    /// Returns the polling backoff policy.
13394    ///
13395    /// When mocking, this method is typically irrelevant. Do not try to verify
13396    /// it is called by your mocks.
13397    fn get_polling_backoff_policy(
13398        &self,
13399        _options: &crate::RequestOptions,
13400    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13401        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13402    }
13403
13404    #[doc(hidden)]
13405    /// Returns the poller options.
13406    ///
13407    /// When mocking, this method is typically irrelevant. Do not try to verify
13408    /// it is called by your mocks.
13409    fn get_poller_options(
13410        &self,
13411        _options: &crate::RequestOptions,
13412    ) -> google_cloud_lro::PollerOptions {
13413        google_cloud_lro::PollerOptions::default()
13414    }
13415}
13416
13417/// Defines the trait used to implement [super::client::ResourcePolicies].
13418///
13419/// Application developers may need to implement this trait to mock
13420/// `client::ResourcePolicies`.  In other use-cases, application developers only
13421/// use `client::ResourcePolicies` and need not be concerned with this trait or
13422/// its implementations.
13423///
13424/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13425/// too. To avoid breaking applications the trait provides a default
13426/// implementation of each method. Most of these implementations just return an
13427/// error.
13428#[cfg(feature = "resource-policies")]
13429#[cfg_attr(docsrs, doc(cfg(feature = "resource-policies")))]
13430pub trait ResourcePolicies: std::fmt::Debug + Send + Sync {
13431    /// Implements [super::client::ResourcePolicies::aggregated_list].
13432    fn aggregated_list(
13433        &self,
13434        _req: crate::model::resource_policies::AggregatedListRequest,
13435        _options: crate::RequestOptions,
13436    ) -> impl std::future::Future<
13437        Output = crate::Result<crate::Response<crate::model::ResourcePolicyAggregatedList>>,
13438    > + Send {
13439        gaxi::unimplemented::unimplemented_stub()
13440    }
13441
13442    /// Implements [super::client::ResourcePolicies::delete].
13443    fn delete(
13444        &self,
13445        _req: crate::model::resource_policies::DeleteRequest,
13446        _options: crate::RequestOptions,
13447    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13448    {
13449        gaxi::unimplemented::unimplemented_stub()
13450    }
13451
13452    /// Implements [super::client::ResourcePolicies::get].
13453    fn get(
13454        &self,
13455        _req: crate::model::resource_policies::GetRequest,
13456        _options: crate::RequestOptions,
13457    ) -> impl std::future::Future<
13458        Output = crate::Result<crate::Response<crate::model::ResourcePolicy>>,
13459    > + Send {
13460        gaxi::unimplemented::unimplemented_stub()
13461    }
13462
13463    /// Implements [super::client::ResourcePolicies::get_iam_policy].
13464    fn get_iam_policy(
13465        &self,
13466        _req: crate::model::resource_policies::GetIamPolicyRequest,
13467        _options: crate::RequestOptions,
13468    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13469    {
13470        gaxi::unimplemented::unimplemented_stub()
13471    }
13472
13473    /// Implements [super::client::ResourcePolicies::insert].
13474    fn insert(
13475        &self,
13476        _req: crate::model::resource_policies::InsertRequest,
13477        _options: crate::RequestOptions,
13478    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13479    {
13480        gaxi::unimplemented::unimplemented_stub()
13481    }
13482
13483    /// Implements [super::client::ResourcePolicies::list].
13484    fn list(
13485        &self,
13486        _req: crate::model::resource_policies::ListRequest,
13487        _options: crate::RequestOptions,
13488    ) -> impl std::future::Future<
13489        Output = crate::Result<crate::Response<crate::model::ResourcePolicyList>>,
13490    > + Send {
13491        gaxi::unimplemented::unimplemented_stub()
13492    }
13493
13494    /// Implements [super::client::ResourcePolicies::patch].
13495    fn patch(
13496        &self,
13497        _req: crate::model::resource_policies::PatchRequest,
13498        _options: crate::RequestOptions,
13499    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13500    {
13501        gaxi::unimplemented::unimplemented_stub()
13502    }
13503
13504    /// Implements [super::client::ResourcePolicies::set_iam_policy].
13505    fn set_iam_policy(
13506        &self,
13507        _req: crate::model::resource_policies::SetIamPolicyRequest,
13508        _options: crate::RequestOptions,
13509    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13510    {
13511        gaxi::unimplemented::unimplemented_stub()
13512    }
13513
13514    /// Implements [super::client::ResourcePolicies::test_iam_permissions].
13515    fn test_iam_permissions(
13516        &self,
13517        _req: crate::model::resource_policies::TestIamPermissionsRequest,
13518        _options: crate::RequestOptions,
13519    ) -> impl std::future::Future<
13520        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13521    > + Send {
13522        gaxi::unimplemented::unimplemented_stub()
13523    }
13524
13525    /// Implements [super::client::ResourcePolicies::get_operation].
13526    fn get_operation(
13527        &self,
13528        _req: crate::model::region_operations::GetRequest,
13529        _options: crate::RequestOptions,
13530    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13531    {
13532        gaxi::unimplemented::unimplemented_stub()
13533    }
13534
13535    /// Returns the polling error policy.
13536    ///
13537    /// When mocking, this method is typically irrelevant. Do not try to verify
13538    /// it is called by your mocks.
13539    fn get_polling_error_policy(
13540        &self,
13541        _options: &crate::RequestOptions,
13542    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13543        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13544    }
13545
13546    /// Returns the polling backoff policy.
13547    ///
13548    /// When mocking, this method is typically irrelevant. Do not try to verify
13549    /// it is called by your mocks.
13550    fn get_polling_backoff_policy(
13551        &self,
13552        _options: &crate::RequestOptions,
13553    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13554        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13555    }
13556
13557    #[doc(hidden)]
13558    /// Returns the poller options.
13559    ///
13560    /// When mocking, this method is typically irrelevant. Do not try to verify
13561    /// it is called by your mocks.
13562    fn get_poller_options(
13563        &self,
13564        _options: &crate::RequestOptions,
13565    ) -> google_cloud_lro::PollerOptions {
13566        google_cloud_lro::PollerOptions::default()
13567    }
13568}
13569
13570/// Defines the trait used to implement [super::client::RolloutPlans].
13571///
13572/// Application developers may need to implement this trait to mock
13573/// `client::RolloutPlans`.  In other use-cases, application developers only
13574/// use `client::RolloutPlans` and need not be concerned with this trait or
13575/// its implementations.
13576///
13577/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13578/// too. To avoid breaking applications the trait provides a default
13579/// implementation of each method. Most of these implementations just return an
13580/// error.
13581#[cfg(feature = "rollout-plans")]
13582#[cfg_attr(docsrs, doc(cfg(feature = "rollout-plans")))]
13583pub trait RolloutPlans: std::fmt::Debug + Send + Sync {
13584    /// Implements [super::client::RolloutPlans::delete].
13585    fn delete(
13586        &self,
13587        _req: crate::model::rollout_plans::DeleteRequest,
13588        _options: crate::RequestOptions,
13589    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13590    {
13591        gaxi::unimplemented::unimplemented_stub()
13592    }
13593
13594    /// Implements [super::client::RolloutPlans::get].
13595    fn get(
13596        &self,
13597        _req: crate::model::rollout_plans::GetRequest,
13598        _options: crate::RequestOptions,
13599    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RolloutPlan>>>
13600    + Send {
13601        gaxi::unimplemented::unimplemented_stub()
13602    }
13603
13604    /// Implements [super::client::RolloutPlans::insert].
13605    fn insert(
13606        &self,
13607        _req: crate::model::rollout_plans::InsertRequest,
13608        _options: crate::RequestOptions,
13609    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13610    {
13611        gaxi::unimplemented::unimplemented_stub()
13612    }
13613
13614    /// Implements [super::client::RolloutPlans::list].
13615    fn list(
13616        &self,
13617        _req: crate::model::rollout_plans::ListRequest,
13618        _options: crate::RequestOptions,
13619    ) -> impl std::future::Future<
13620        Output = crate::Result<crate::Response<crate::model::RolloutPlansListResponse>>,
13621    > + Send {
13622        gaxi::unimplemented::unimplemented_stub()
13623    }
13624
13625    /// Implements [super::client::RolloutPlans::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::Rollouts].
13671///
13672/// Application developers may need to implement this trait to mock
13673/// `client::Rollouts`.  In other use-cases, application developers only
13674/// use `client::Rollouts` 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 = "rollouts")]
13682#[cfg_attr(docsrs, doc(cfg(feature = "rollouts")))]
13683pub trait Rollouts: std::fmt::Debug + Send + Sync {
13684    /// Implements [super::client::Rollouts::advance].
13685    fn advance(
13686        &self,
13687        _req: crate::model::rollouts::AdvanceRequest,
13688        _options: crate::RequestOptions,
13689    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13690    {
13691        gaxi::unimplemented::unimplemented_stub()
13692    }
13693
13694    /// Implements [super::client::Rollouts::cancel].
13695    fn cancel(
13696        &self,
13697        _req: crate::model::rollouts::CancelRequest,
13698        _options: crate::RequestOptions,
13699    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13700    {
13701        gaxi::unimplemented::unimplemented_stub()
13702    }
13703
13704    /// Implements [super::client::Rollouts::delete].
13705    fn delete(
13706        &self,
13707        _req: crate::model::rollouts::DeleteRequest,
13708        _options: crate::RequestOptions,
13709    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13710    {
13711        gaxi::unimplemented::unimplemented_stub()
13712    }
13713
13714    /// Implements [super::client::Rollouts::get].
13715    fn get(
13716        &self,
13717        _req: crate::model::rollouts::GetRequest,
13718        _options: crate::RequestOptions,
13719    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Rollout>>> + Send
13720    {
13721        gaxi::unimplemented::unimplemented_stub()
13722    }
13723
13724    /// Implements [super::client::Rollouts::list].
13725    fn list(
13726        &self,
13727        _req: crate::model::rollouts::ListRequest,
13728        _options: crate::RequestOptions,
13729    ) -> impl std::future::Future<
13730        Output = crate::Result<crate::Response<crate::model::RolloutsListResponse>>,
13731    > + Send {
13732        gaxi::unimplemented::unimplemented_stub()
13733    }
13734
13735    /// Implements [super::client::Rollouts::pause].
13736    fn pause(
13737        &self,
13738        _req: crate::model::rollouts::PauseRequest,
13739        _options: crate::RequestOptions,
13740    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13741    {
13742        gaxi::unimplemented::unimplemented_stub()
13743    }
13744
13745    /// Implements [super::client::Rollouts::resume].
13746    fn resume(
13747        &self,
13748        _req: crate::model::rollouts::ResumeRequest,
13749        _options: crate::RequestOptions,
13750    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13751    {
13752        gaxi::unimplemented::unimplemented_stub()
13753    }
13754
13755    /// Implements [super::client::Rollouts::get_operation].
13756    fn get_operation(
13757        &self,
13758        _req: crate::model::global_operations::GetRequest,
13759        _options: crate::RequestOptions,
13760    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13761    {
13762        gaxi::unimplemented::unimplemented_stub()
13763    }
13764
13765    /// Returns the polling error policy.
13766    ///
13767    /// When mocking, this method is typically irrelevant. Do not try to verify
13768    /// it is called by your mocks.
13769    fn get_polling_error_policy(
13770        &self,
13771        _options: &crate::RequestOptions,
13772    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13773        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13774    }
13775
13776    /// Returns the polling backoff policy.
13777    ///
13778    /// When mocking, this method is typically irrelevant. Do not try to verify
13779    /// it is called by your mocks.
13780    fn get_polling_backoff_policy(
13781        &self,
13782        _options: &crate::RequestOptions,
13783    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13784        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13785    }
13786
13787    #[doc(hidden)]
13788    /// Returns the poller options.
13789    ///
13790    /// When mocking, this method is typically irrelevant. Do not try to verify
13791    /// it is called by your mocks.
13792    fn get_poller_options(
13793        &self,
13794        _options: &crate::RequestOptions,
13795    ) -> google_cloud_lro::PollerOptions {
13796        google_cloud_lro::PollerOptions::default()
13797    }
13798}
13799
13800/// Defines the trait used to implement [super::client::Routers].
13801///
13802/// Application developers may need to implement this trait to mock
13803/// `client::Routers`.  In other use-cases, application developers only
13804/// use `client::Routers` and need not be concerned with this trait or
13805/// its implementations.
13806///
13807/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13808/// too. To avoid breaking applications the trait provides a default
13809/// implementation of each method. Most of these implementations just return an
13810/// error.
13811#[cfg(feature = "routers")]
13812#[cfg_attr(docsrs, doc(cfg(feature = "routers")))]
13813pub trait Routers: std::fmt::Debug + Send + Sync {
13814    /// Implements [super::client::Routers::aggregated_list].
13815    fn aggregated_list(
13816        &self,
13817        _req: crate::model::routers::AggregatedListRequest,
13818        _options: crate::RequestOptions,
13819    ) -> impl std::future::Future<
13820        Output = crate::Result<crate::Response<crate::model::RouterAggregatedList>>,
13821    > + Send {
13822        gaxi::unimplemented::unimplemented_stub()
13823    }
13824
13825    /// Implements [super::client::Routers::delete].
13826    fn delete(
13827        &self,
13828        _req: crate::model::routers::DeleteRequest,
13829        _options: crate::RequestOptions,
13830    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13831    {
13832        gaxi::unimplemented::unimplemented_stub()
13833    }
13834
13835    /// Implements [super::client::Routers::delete_named_set].
13836    fn delete_named_set(
13837        &self,
13838        _req: crate::model::routers::DeleteNamedSetRequest,
13839        _options: crate::RequestOptions,
13840    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13841    {
13842        gaxi::unimplemented::unimplemented_stub()
13843    }
13844
13845    /// Implements [super::client::Routers::delete_route_policy].
13846    fn delete_route_policy(
13847        &self,
13848        _req: crate::model::routers::DeleteRoutePolicyRequest,
13849        _options: crate::RequestOptions,
13850    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13851    {
13852        gaxi::unimplemented::unimplemented_stub()
13853    }
13854
13855    /// Implements [super::client::Routers::get].
13856    fn get(
13857        &self,
13858        _req: crate::model::routers::GetRequest,
13859        _options: crate::RequestOptions,
13860    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Router>>> + Send
13861    {
13862        gaxi::unimplemented::unimplemented_stub()
13863    }
13864
13865    /// Implements [super::client::Routers::get_named_set].
13866    fn get_named_set(
13867        &self,
13868        _req: crate::model::routers::GetNamedSetRequest,
13869        _options: crate::RequestOptions,
13870    ) -> impl std::future::Future<
13871        Output = crate::Result<crate::Response<crate::model::RoutersGetNamedSetResponse>>,
13872    > + Send {
13873        gaxi::unimplemented::unimplemented_stub()
13874    }
13875
13876    /// Implements [super::client::Routers::get_nat_ip_info].
13877    fn get_nat_ip_info(
13878        &self,
13879        _req: crate::model::routers::GetNatIpInfoRequest,
13880        _options: crate::RequestOptions,
13881    ) -> impl std::future::Future<
13882        Output = crate::Result<crate::Response<crate::model::NatIpInfoResponse>>,
13883    > + Send {
13884        gaxi::unimplemented::unimplemented_stub()
13885    }
13886
13887    /// Implements [super::client::Routers::get_nat_mapping_info].
13888    fn get_nat_mapping_info(
13889        &self,
13890        _req: crate::model::routers::GetNatMappingInfoRequest,
13891        _options: crate::RequestOptions,
13892    ) -> impl std::future::Future<
13893        Output = crate::Result<crate::Response<crate::model::VmEndpointNatMappingsList>>,
13894    > + Send {
13895        gaxi::unimplemented::unimplemented_stub()
13896    }
13897
13898    /// Implements [super::client::Routers::get_route_policy].
13899    fn get_route_policy(
13900        &self,
13901        _req: crate::model::routers::GetRoutePolicyRequest,
13902        _options: crate::RequestOptions,
13903    ) -> impl std::future::Future<
13904        Output = crate::Result<crate::Response<crate::model::RoutersGetRoutePolicyResponse>>,
13905    > + Send {
13906        gaxi::unimplemented::unimplemented_stub()
13907    }
13908
13909    /// Implements [super::client::Routers::get_router_status].
13910    fn get_router_status(
13911        &self,
13912        _req: crate::model::routers::GetRouterStatusRequest,
13913        _options: crate::RequestOptions,
13914    ) -> impl std::future::Future<
13915        Output = crate::Result<crate::Response<crate::model::RouterStatusResponse>>,
13916    > + Send {
13917        gaxi::unimplemented::unimplemented_stub()
13918    }
13919
13920    /// Implements [super::client::Routers::insert].
13921    fn insert(
13922        &self,
13923        _req: crate::model::routers::InsertRequest,
13924        _options: crate::RequestOptions,
13925    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13926    {
13927        gaxi::unimplemented::unimplemented_stub()
13928    }
13929
13930    /// Implements [super::client::Routers::list].
13931    fn list(
13932        &self,
13933        _req: crate::model::routers::ListRequest,
13934        _options: crate::RequestOptions,
13935    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RouterList>>> + Send
13936    {
13937        gaxi::unimplemented::unimplemented_stub()
13938    }
13939
13940    /// Implements [super::client::Routers::list_bgp_routes].
13941    fn list_bgp_routes(
13942        &self,
13943        _req: crate::model::routers::ListBgpRoutesRequest,
13944        _options: crate::RequestOptions,
13945    ) -> impl std::future::Future<
13946        Output = crate::Result<crate::Response<crate::model::RoutersListBgpRoutes>>,
13947    > + Send {
13948        gaxi::unimplemented::unimplemented_stub()
13949    }
13950
13951    /// Implements [super::client::Routers::list_named_sets].
13952    fn list_named_sets(
13953        &self,
13954        _req: crate::model::routers::ListNamedSetsRequest,
13955        _options: crate::RequestOptions,
13956    ) -> impl std::future::Future<
13957        Output = crate::Result<crate::Response<crate::model::RoutersListNamedSets>>,
13958    > + Send {
13959        gaxi::unimplemented::unimplemented_stub()
13960    }
13961
13962    /// Implements [super::client::Routers::list_route_policies].
13963    fn list_route_policies(
13964        &self,
13965        _req: crate::model::routers::ListRoutePoliciesRequest,
13966        _options: crate::RequestOptions,
13967    ) -> impl std::future::Future<
13968        Output = crate::Result<crate::Response<crate::model::RoutersListRoutePolicies>>,
13969    > + Send {
13970        gaxi::unimplemented::unimplemented_stub()
13971    }
13972
13973    /// Implements [super::client::Routers::patch].
13974    fn patch(
13975        &self,
13976        _req: crate::model::routers::PatchRequest,
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::Routers::patch_named_set].
13984    fn patch_named_set(
13985        &self,
13986        _req: crate::model::routers::PatchNamedSetRequest,
13987        _options: crate::RequestOptions,
13988    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13989    {
13990        gaxi::unimplemented::unimplemented_stub()
13991    }
13992
13993    /// Implements [super::client::Routers::patch_route_policy].
13994    fn patch_route_policy(
13995        &self,
13996        _req: crate::model::routers::PatchRoutePolicyRequest,
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::Routers::preview].
14004    fn preview(
14005        &self,
14006        _req: crate::model::routers::PreviewRequest,
14007        _options: crate::RequestOptions,
14008    ) -> impl std::future::Future<
14009        Output = crate::Result<crate::Response<crate::model::RoutersPreviewResponse>>,
14010    > + Send {
14011        gaxi::unimplemented::unimplemented_stub()
14012    }
14013
14014    /// Implements [super::client::Routers::update].
14015    fn update(
14016        &self,
14017        _req: crate::model::routers::UpdateRequest,
14018        _options: crate::RequestOptions,
14019    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14020    {
14021        gaxi::unimplemented::unimplemented_stub()
14022    }
14023
14024    /// Implements [super::client::Routers::update_named_set].
14025    fn update_named_set(
14026        &self,
14027        _req: crate::model::routers::UpdateNamedSetRequest,
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    /// Implements [super::client::Routers::update_route_policy].
14035    fn update_route_policy(
14036        &self,
14037        _req: crate::model::routers::UpdateRoutePolicyRequest,
14038        _options: crate::RequestOptions,
14039    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14040    {
14041        gaxi::unimplemented::unimplemented_stub()
14042    }
14043
14044    /// Implements [super::client::Routers::get_operation].
14045    fn get_operation(
14046        &self,
14047        _req: crate::model::region_operations::GetRequest,
14048        _options: crate::RequestOptions,
14049    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14050    {
14051        gaxi::unimplemented::unimplemented_stub()
14052    }
14053
14054    /// Returns the polling error policy.
14055    ///
14056    /// When mocking, this method is typically irrelevant. Do not try to verify
14057    /// it is called by your mocks.
14058    fn get_polling_error_policy(
14059        &self,
14060        _options: &crate::RequestOptions,
14061    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14062        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14063    }
14064
14065    /// Returns the polling backoff policy.
14066    ///
14067    /// When mocking, this method is typically irrelevant. Do not try to verify
14068    /// it is called by your mocks.
14069    fn get_polling_backoff_policy(
14070        &self,
14071        _options: &crate::RequestOptions,
14072    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14073        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14074    }
14075
14076    #[doc(hidden)]
14077    /// Returns the poller options.
14078    ///
14079    /// When mocking, this method is typically irrelevant. Do not try to verify
14080    /// it is called by your mocks.
14081    fn get_poller_options(
14082        &self,
14083        _options: &crate::RequestOptions,
14084    ) -> google_cloud_lro::PollerOptions {
14085        google_cloud_lro::PollerOptions::default()
14086    }
14087}
14088
14089/// Defines the trait used to implement [super::client::Routes].
14090///
14091/// Application developers may need to implement this trait to mock
14092/// `client::Routes`.  In other use-cases, application developers only
14093/// use `client::Routes` and need not be concerned with this trait or
14094/// its implementations.
14095///
14096/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14097/// too. To avoid breaking applications the trait provides a default
14098/// implementation of each method. Most of these implementations just return an
14099/// error.
14100#[cfg(feature = "routes")]
14101#[cfg_attr(docsrs, doc(cfg(feature = "routes")))]
14102pub trait Routes: std::fmt::Debug + Send + Sync {
14103    /// Implements [super::client::Routes::delete].
14104    fn delete(
14105        &self,
14106        _req: crate::model::routes::DeleteRequest,
14107        _options: crate::RequestOptions,
14108    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14109    {
14110        gaxi::unimplemented::unimplemented_stub()
14111    }
14112
14113    /// Implements [super::client::Routes::get].
14114    fn get(
14115        &self,
14116        _req: crate::model::routes::GetRequest,
14117        _options: crate::RequestOptions,
14118    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Route>>> + Send
14119    {
14120        gaxi::unimplemented::unimplemented_stub()
14121    }
14122
14123    /// Implements [super::client::Routes::insert].
14124    fn insert(
14125        &self,
14126        _req: crate::model::routes::InsertRequest,
14127        _options: crate::RequestOptions,
14128    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14129    {
14130        gaxi::unimplemented::unimplemented_stub()
14131    }
14132
14133    /// Implements [super::client::Routes::list].
14134    fn list(
14135        &self,
14136        _req: crate::model::routes::ListRequest,
14137        _options: crate::RequestOptions,
14138    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RouteList>>> + Send
14139    {
14140        gaxi::unimplemented::unimplemented_stub()
14141    }
14142
14143    /// Implements [super::client::Routes::test_iam_permissions].
14144    fn test_iam_permissions(
14145        &self,
14146        _req: crate::model::routes::TestIamPermissionsRequest,
14147        _options: crate::RequestOptions,
14148    ) -> impl std::future::Future<
14149        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14150    > + Send {
14151        gaxi::unimplemented::unimplemented_stub()
14152    }
14153
14154    /// Implements [super::client::Routes::get_operation].
14155    fn get_operation(
14156        &self,
14157        _req: crate::model::global_operations::GetRequest,
14158        _options: crate::RequestOptions,
14159    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14160    {
14161        gaxi::unimplemented::unimplemented_stub()
14162    }
14163
14164    /// Returns the polling error policy.
14165    ///
14166    /// When mocking, this method is typically irrelevant. Do not try to verify
14167    /// it is called by your mocks.
14168    fn get_polling_error_policy(
14169        &self,
14170        _options: &crate::RequestOptions,
14171    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14172        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14173    }
14174
14175    /// Returns the polling backoff policy.
14176    ///
14177    /// When mocking, this method is typically irrelevant. Do not try to verify
14178    /// it is called by your mocks.
14179    fn get_polling_backoff_policy(
14180        &self,
14181        _options: &crate::RequestOptions,
14182    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14183        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14184    }
14185
14186    #[doc(hidden)]
14187    /// Returns the poller options.
14188    ///
14189    /// When mocking, this method is typically irrelevant. Do not try to verify
14190    /// it is called by your mocks.
14191    fn get_poller_options(
14192        &self,
14193        _options: &crate::RequestOptions,
14194    ) -> google_cloud_lro::PollerOptions {
14195        google_cloud_lro::PollerOptions::default()
14196    }
14197}
14198
14199/// Defines the trait used to implement [super::client::SecurityPolicies].
14200///
14201/// Application developers may need to implement this trait to mock
14202/// `client::SecurityPolicies`.  In other use-cases, application developers only
14203/// use `client::SecurityPolicies` and need not be concerned with this trait or
14204/// its implementations.
14205///
14206/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14207/// too. To avoid breaking applications the trait provides a default
14208/// implementation of each method. Most of these implementations just return an
14209/// error.
14210#[cfg(feature = "security-policies")]
14211#[cfg_attr(docsrs, doc(cfg(feature = "security-policies")))]
14212pub trait SecurityPolicies: std::fmt::Debug + Send + Sync {
14213    /// Implements [super::client::SecurityPolicies::add_rule].
14214    fn add_rule(
14215        &self,
14216        _req: crate::model::security_policies::AddRuleRequest,
14217        _options: crate::RequestOptions,
14218    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14219    {
14220        gaxi::unimplemented::unimplemented_stub()
14221    }
14222
14223    /// Implements [super::client::SecurityPolicies::aggregated_list].
14224    fn aggregated_list(
14225        &self,
14226        _req: crate::model::security_policies::AggregatedListRequest,
14227        _options: crate::RequestOptions,
14228    ) -> impl std::future::Future<
14229        Output = crate::Result<crate::Response<crate::model::SecurityPoliciesAggregatedList>>,
14230    > + Send {
14231        gaxi::unimplemented::unimplemented_stub()
14232    }
14233
14234    /// Implements [super::client::SecurityPolicies::delete].
14235    fn delete(
14236        &self,
14237        _req: crate::model::security_policies::DeleteRequest,
14238        _options: crate::RequestOptions,
14239    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14240    {
14241        gaxi::unimplemented::unimplemented_stub()
14242    }
14243
14244    /// Implements [super::client::SecurityPolicies::get].
14245    fn get(
14246        &self,
14247        _req: crate::model::security_policies::GetRequest,
14248        _options: crate::RequestOptions,
14249    ) -> impl std::future::Future<
14250        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
14251    > + Send {
14252        gaxi::unimplemented::unimplemented_stub()
14253    }
14254
14255    /// Implements [super::client::SecurityPolicies::get_rule].
14256    fn get_rule(
14257        &self,
14258        _req: crate::model::security_policies::GetRuleRequest,
14259        _options: crate::RequestOptions,
14260    ) -> impl std::future::Future<
14261        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
14262    > + Send {
14263        gaxi::unimplemented::unimplemented_stub()
14264    }
14265
14266    /// Implements [super::client::SecurityPolicies::insert].
14267    fn insert(
14268        &self,
14269        _req: crate::model::security_policies::InsertRequest,
14270        _options: crate::RequestOptions,
14271    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14272    {
14273        gaxi::unimplemented::unimplemented_stub()
14274    }
14275
14276    /// Implements [super::client::SecurityPolicies::list].
14277    fn list(
14278        &self,
14279        _req: crate::model::security_policies::ListRequest,
14280        _options: crate::RequestOptions,
14281    ) -> impl std::future::Future<
14282        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
14283    > + Send {
14284        gaxi::unimplemented::unimplemented_stub()
14285    }
14286
14287    /// Implements [super::client::SecurityPolicies::list_preconfigured_expression_sets].
14288    fn list_preconfigured_expression_sets(
14289        &self,
14290        _req: crate::model::security_policies::ListPreconfiguredExpressionSetsRequest,
14291        _options: crate::RequestOptions,
14292    ) -> impl std::future::Future<
14293        Output = crate::Result<
14294            crate::Response<crate::model::SecurityPoliciesListPreconfiguredExpressionSetsResponse>,
14295        >,
14296    > + Send {
14297        gaxi::unimplemented::unimplemented_stub()
14298    }
14299
14300    /// Implements [super::client::SecurityPolicies::patch].
14301    fn patch(
14302        &self,
14303        _req: crate::model::security_policies::PatchRequest,
14304        _options: crate::RequestOptions,
14305    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14306    {
14307        gaxi::unimplemented::unimplemented_stub()
14308    }
14309
14310    /// Implements [super::client::SecurityPolicies::patch_rule].
14311    fn patch_rule(
14312        &self,
14313        _req: crate::model::security_policies::PatchRuleRequest,
14314        _options: crate::RequestOptions,
14315    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14316    {
14317        gaxi::unimplemented::unimplemented_stub()
14318    }
14319
14320    /// Implements [super::client::SecurityPolicies::remove_rule].
14321    fn remove_rule(
14322        &self,
14323        _req: crate::model::security_policies::RemoveRuleRequest,
14324        _options: crate::RequestOptions,
14325    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14326    {
14327        gaxi::unimplemented::unimplemented_stub()
14328    }
14329
14330    /// Implements [super::client::SecurityPolicies::set_labels].
14331    fn set_labels(
14332        &self,
14333        _req: crate::model::security_policies::SetLabelsRequest,
14334        _options: crate::RequestOptions,
14335    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14336    {
14337        gaxi::unimplemented::unimplemented_stub()
14338    }
14339
14340    /// Implements [super::client::SecurityPolicies::get_operation].
14341    fn get_operation(
14342        &self,
14343        _req: crate::model::global_operations::GetRequest,
14344        _options: crate::RequestOptions,
14345    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14346    {
14347        gaxi::unimplemented::unimplemented_stub()
14348    }
14349
14350    /// Returns the polling error policy.
14351    ///
14352    /// When mocking, this method is typically irrelevant. Do not try to verify
14353    /// it is called by your mocks.
14354    fn get_polling_error_policy(
14355        &self,
14356        _options: &crate::RequestOptions,
14357    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14358        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14359    }
14360
14361    /// Returns the polling backoff policy.
14362    ///
14363    /// When mocking, this method is typically irrelevant. Do not try to verify
14364    /// it is called by your mocks.
14365    fn get_polling_backoff_policy(
14366        &self,
14367        _options: &crate::RequestOptions,
14368    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14369        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14370    }
14371
14372    #[doc(hidden)]
14373    /// Returns the poller options.
14374    ///
14375    /// When mocking, this method is typically irrelevant. Do not try to verify
14376    /// it is called by your mocks.
14377    fn get_poller_options(
14378        &self,
14379        _options: &crate::RequestOptions,
14380    ) -> google_cloud_lro::PollerOptions {
14381        google_cloud_lro::PollerOptions::default()
14382    }
14383}
14384
14385/// Defines the trait used to implement [super::client::ServiceAttachments].
14386///
14387/// Application developers may need to implement this trait to mock
14388/// `client::ServiceAttachments`.  In other use-cases, application developers only
14389/// use `client::ServiceAttachments` and need not be concerned with this trait or
14390/// its implementations.
14391///
14392/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14393/// too. To avoid breaking applications the trait provides a default
14394/// implementation of each method. Most of these implementations just return an
14395/// error.
14396#[cfg(feature = "service-attachments")]
14397#[cfg_attr(docsrs, doc(cfg(feature = "service-attachments")))]
14398pub trait ServiceAttachments: std::fmt::Debug + Send + Sync {
14399    /// Implements [super::client::ServiceAttachments::aggregated_list].
14400    fn aggregated_list(
14401        &self,
14402        _req: crate::model::service_attachments::AggregatedListRequest,
14403        _options: crate::RequestOptions,
14404    ) -> impl std::future::Future<
14405        Output = crate::Result<crate::Response<crate::model::ServiceAttachmentAggregatedList>>,
14406    > + Send {
14407        gaxi::unimplemented::unimplemented_stub()
14408    }
14409
14410    /// Implements [super::client::ServiceAttachments::delete].
14411    fn delete(
14412        &self,
14413        _req: crate::model::service_attachments::DeleteRequest,
14414        _options: crate::RequestOptions,
14415    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14416    {
14417        gaxi::unimplemented::unimplemented_stub()
14418    }
14419
14420    /// Implements [super::client::ServiceAttachments::get].
14421    fn get(
14422        &self,
14423        _req: crate::model::service_attachments::GetRequest,
14424        _options: crate::RequestOptions,
14425    ) -> impl std::future::Future<
14426        Output = crate::Result<crate::Response<crate::model::ServiceAttachment>>,
14427    > + Send {
14428        gaxi::unimplemented::unimplemented_stub()
14429    }
14430
14431    /// Implements [super::client::ServiceAttachments::get_iam_policy].
14432    fn get_iam_policy(
14433        &self,
14434        _req: crate::model::service_attachments::GetIamPolicyRequest,
14435        _options: crate::RequestOptions,
14436    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14437    {
14438        gaxi::unimplemented::unimplemented_stub()
14439    }
14440
14441    /// Implements [super::client::ServiceAttachments::insert].
14442    fn insert(
14443        &self,
14444        _req: crate::model::service_attachments::InsertRequest,
14445        _options: crate::RequestOptions,
14446    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14447    {
14448        gaxi::unimplemented::unimplemented_stub()
14449    }
14450
14451    /// Implements [super::client::ServiceAttachments::list].
14452    fn list(
14453        &self,
14454        _req: crate::model::service_attachments::ListRequest,
14455        _options: crate::RequestOptions,
14456    ) -> impl std::future::Future<
14457        Output = crate::Result<crate::Response<crate::model::ServiceAttachmentList>>,
14458    > + Send {
14459        gaxi::unimplemented::unimplemented_stub()
14460    }
14461
14462    /// Implements [super::client::ServiceAttachments::patch].
14463    fn patch(
14464        &self,
14465        _req: crate::model::service_attachments::PatchRequest,
14466        _options: crate::RequestOptions,
14467    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14468    {
14469        gaxi::unimplemented::unimplemented_stub()
14470    }
14471
14472    /// Implements [super::client::ServiceAttachments::set_iam_policy].
14473    fn set_iam_policy(
14474        &self,
14475        _req: crate::model::service_attachments::SetIamPolicyRequest,
14476        _options: crate::RequestOptions,
14477    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14478    {
14479        gaxi::unimplemented::unimplemented_stub()
14480    }
14481
14482    /// Implements [super::client::ServiceAttachments::test_iam_permissions].
14483    fn test_iam_permissions(
14484        &self,
14485        _req: crate::model::service_attachments::TestIamPermissionsRequest,
14486        _options: crate::RequestOptions,
14487    ) -> impl std::future::Future<
14488        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14489    > + Send {
14490        gaxi::unimplemented::unimplemented_stub()
14491    }
14492
14493    /// Implements [super::client::ServiceAttachments::get_operation].
14494    fn get_operation(
14495        &self,
14496        _req: crate::model::region_operations::GetRequest,
14497        _options: crate::RequestOptions,
14498    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14499    {
14500        gaxi::unimplemented::unimplemented_stub()
14501    }
14502
14503    /// Returns the polling error policy.
14504    ///
14505    /// When mocking, this method is typically irrelevant. Do not try to verify
14506    /// it is called by your mocks.
14507    fn get_polling_error_policy(
14508        &self,
14509        _options: &crate::RequestOptions,
14510    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14511        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14512    }
14513
14514    /// Returns the polling backoff policy.
14515    ///
14516    /// When mocking, this method is typically irrelevant. Do not try to verify
14517    /// it is called by your mocks.
14518    fn get_polling_backoff_policy(
14519        &self,
14520        _options: &crate::RequestOptions,
14521    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14522        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14523    }
14524
14525    #[doc(hidden)]
14526    /// Returns the poller options.
14527    ///
14528    /// When mocking, this method is typically irrelevant. Do not try to verify
14529    /// it is called by your mocks.
14530    fn get_poller_options(
14531        &self,
14532        _options: &crate::RequestOptions,
14533    ) -> google_cloud_lro::PollerOptions {
14534        google_cloud_lro::PollerOptions::default()
14535    }
14536}
14537
14538/// Defines the trait used to implement [super::client::SnapshotSettings].
14539///
14540/// Application developers may need to implement this trait to mock
14541/// `client::SnapshotSettings`.  In other use-cases, application developers only
14542/// use `client::SnapshotSettings` and need not be concerned with this trait or
14543/// its implementations.
14544///
14545/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14546/// too. To avoid breaking applications the trait provides a default
14547/// implementation of each method. Most of these implementations just return an
14548/// error.
14549#[cfg(feature = "snapshot-settings")]
14550#[cfg_attr(docsrs, doc(cfg(feature = "snapshot-settings")))]
14551pub trait SnapshotSettings: std::fmt::Debug + Send + Sync {
14552    /// Implements [super::client::SnapshotSettings::get].
14553    fn get(
14554        &self,
14555        _req: crate::model::snapshot_settings::GetRequest,
14556        _options: crate::RequestOptions,
14557    ) -> impl std::future::Future<
14558        Output = crate::Result<crate::Response<crate::model::SnapshotSettings>>,
14559    > + Send {
14560        gaxi::unimplemented::unimplemented_stub()
14561    }
14562
14563    /// Implements [super::client::SnapshotSettings::patch].
14564    fn patch(
14565        &self,
14566        _req: crate::model::snapshot_settings::PatchRequest,
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::SnapshotSettings::get_operation].
14574    fn get_operation(
14575        &self,
14576        _req: crate::model::global_operations::GetRequest,
14577        _options: crate::RequestOptions,
14578    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14579    {
14580        gaxi::unimplemented::unimplemented_stub()
14581    }
14582
14583    /// Returns the polling error policy.
14584    ///
14585    /// When mocking, this method is typically irrelevant. Do not try to verify
14586    /// it is called by your mocks.
14587    fn get_polling_error_policy(
14588        &self,
14589        _options: &crate::RequestOptions,
14590    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14591        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14592    }
14593
14594    /// Returns the polling backoff policy.
14595    ///
14596    /// When mocking, this method is typically irrelevant. Do not try to verify
14597    /// it is called by your mocks.
14598    fn get_polling_backoff_policy(
14599        &self,
14600        _options: &crate::RequestOptions,
14601    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14602        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14603    }
14604
14605    #[doc(hidden)]
14606    /// Returns the poller options.
14607    ///
14608    /// When mocking, this method is typically irrelevant. Do not try to verify
14609    /// it is called by your mocks.
14610    fn get_poller_options(
14611        &self,
14612        _options: &crate::RequestOptions,
14613    ) -> google_cloud_lro::PollerOptions {
14614        google_cloud_lro::PollerOptions::default()
14615    }
14616}
14617
14618/// Defines the trait used to implement [super::client::Snapshots].
14619///
14620/// Application developers may need to implement this trait to mock
14621/// `client::Snapshots`.  In other use-cases, application developers only
14622/// use `client::Snapshots` and need not be concerned with this trait or
14623/// its implementations.
14624///
14625/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14626/// too. To avoid breaking applications the trait provides a default
14627/// implementation of each method. Most of these implementations just return an
14628/// error.
14629#[cfg(feature = "snapshots")]
14630#[cfg_attr(docsrs, doc(cfg(feature = "snapshots")))]
14631pub trait Snapshots: std::fmt::Debug + Send + Sync {
14632    /// Implements [super::client::Snapshots::delete].
14633    fn delete(
14634        &self,
14635        _req: crate::model::snapshots::DeleteRequest,
14636        _options: crate::RequestOptions,
14637    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14638    {
14639        gaxi::unimplemented::unimplemented_stub()
14640    }
14641
14642    /// Implements [super::client::Snapshots::get].
14643    fn get(
14644        &self,
14645        _req: crate::model::snapshots::GetRequest,
14646        _options: crate::RequestOptions,
14647    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Snapshot>>> + Send
14648    {
14649        gaxi::unimplemented::unimplemented_stub()
14650    }
14651
14652    /// Implements [super::client::Snapshots::get_iam_policy].
14653    fn get_iam_policy(
14654        &self,
14655        _req: crate::model::snapshots::GetIamPolicyRequest,
14656        _options: crate::RequestOptions,
14657    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14658    {
14659        gaxi::unimplemented::unimplemented_stub()
14660    }
14661
14662    /// Implements [super::client::Snapshots::insert].
14663    fn insert(
14664        &self,
14665        _req: crate::model::snapshots::InsertRequest,
14666        _options: crate::RequestOptions,
14667    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14668    {
14669        gaxi::unimplemented::unimplemented_stub()
14670    }
14671
14672    /// Implements [super::client::Snapshots::list].
14673    fn list(
14674        &self,
14675        _req: crate::model::snapshots::ListRequest,
14676        _options: crate::RequestOptions,
14677    ) -> impl std::future::Future<
14678        Output = crate::Result<crate::Response<crate::model::SnapshotList>>,
14679    > + Send {
14680        gaxi::unimplemented::unimplemented_stub()
14681    }
14682
14683    /// Implements [super::client::Snapshots::set_iam_policy].
14684    fn set_iam_policy(
14685        &self,
14686        _req: crate::model::snapshots::SetIamPolicyRequest,
14687        _options: crate::RequestOptions,
14688    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14689    {
14690        gaxi::unimplemented::unimplemented_stub()
14691    }
14692
14693    /// Implements [super::client::Snapshots::set_labels].
14694    fn set_labels(
14695        &self,
14696        _req: crate::model::snapshots::SetLabelsRequest,
14697        _options: crate::RequestOptions,
14698    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14699    {
14700        gaxi::unimplemented::unimplemented_stub()
14701    }
14702
14703    /// Implements [super::client::Snapshots::test_iam_permissions].
14704    fn test_iam_permissions(
14705        &self,
14706        _req: crate::model::snapshots::TestIamPermissionsRequest,
14707        _options: crate::RequestOptions,
14708    ) -> impl std::future::Future<
14709        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14710    > + Send {
14711        gaxi::unimplemented::unimplemented_stub()
14712    }
14713
14714    /// Implements [super::client::Snapshots::update_kms_key].
14715    fn update_kms_key(
14716        &self,
14717        _req: crate::model::snapshots::UpdateKmsKeyRequest,
14718        _options: crate::RequestOptions,
14719    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14720    {
14721        gaxi::unimplemented::unimplemented_stub()
14722    }
14723
14724    /// Implements [super::client::Snapshots::get_operation].
14725    fn get_operation(
14726        &self,
14727        _req: crate::model::global_operations::GetRequest,
14728        _options: crate::RequestOptions,
14729    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14730    {
14731        gaxi::unimplemented::unimplemented_stub()
14732    }
14733
14734    /// Returns the polling error policy.
14735    ///
14736    /// When mocking, this method is typically irrelevant. Do not try to verify
14737    /// it is called by your mocks.
14738    fn get_polling_error_policy(
14739        &self,
14740        _options: &crate::RequestOptions,
14741    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14742        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14743    }
14744
14745    /// Returns the polling backoff policy.
14746    ///
14747    /// When mocking, this method is typically irrelevant. Do not try to verify
14748    /// it is called by your mocks.
14749    fn get_polling_backoff_policy(
14750        &self,
14751        _options: &crate::RequestOptions,
14752    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14753        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14754    }
14755
14756    #[doc(hidden)]
14757    /// Returns the poller options.
14758    ///
14759    /// When mocking, this method is typically irrelevant. Do not try to verify
14760    /// it is called by your mocks.
14761    fn get_poller_options(
14762        &self,
14763        _options: &crate::RequestOptions,
14764    ) -> google_cloud_lro::PollerOptions {
14765        google_cloud_lro::PollerOptions::default()
14766    }
14767}
14768
14769/// Defines the trait used to implement [super::client::SslCertificates].
14770///
14771/// Application developers may need to implement this trait to mock
14772/// `client::SslCertificates`.  In other use-cases, application developers only
14773/// use `client::SslCertificates` and need not be concerned with this trait or
14774/// its implementations.
14775///
14776/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14777/// too. To avoid breaking applications the trait provides a default
14778/// implementation of each method. Most of these implementations just return an
14779/// error.
14780#[cfg(feature = "ssl-certificates")]
14781#[cfg_attr(docsrs, doc(cfg(feature = "ssl-certificates")))]
14782pub trait SslCertificates: std::fmt::Debug + Send + Sync {
14783    /// Implements [super::client::SslCertificates::aggregated_list].
14784    fn aggregated_list(
14785        &self,
14786        _req: crate::model::ssl_certificates::AggregatedListRequest,
14787        _options: crate::RequestOptions,
14788    ) -> impl std::future::Future<
14789        Output = crate::Result<crate::Response<crate::model::SslCertificateAggregatedList>>,
14790    > + Send {
14791        gaxi::unimplemented::unimplemented_stub()
14792    }
14793
14794    /// Implements [super::client::SslCertificates::delete].
14795    fn delete(
14796        &self,
14797        _req: crate::model::ssl_certificates::DeleteRequest,
14798        _options: crate::RequestOptions,
14799    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14800    {
14801        gaxi::unimplemented::unimplemented_stub()
14802    }
14803
14804    /// Implements [super::client::SslCertificates::get].
14805    fn get(
14806        &self,
14807        _req: crate::model::ssl_certificates::GetRequest,
14808        _options: crate::RequestOptions,
14809    ) -> impl std::future::Future<
14810        Output = crate::Result<crate::Response<crate::model::SslCertificate>>,
14811    > + Send {
14812        gaxi::unimplemented::unimplemented_stub()
14813    }
14814
14815    /// Implements [super::client::SslCertificates::insert].
14816    fn insert(
14817        &self,
14818        _req: crate::model::ssl_certificates::InsertRequest,
14819        _options: crate::RequestOptions,
14820    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14821    {
14822        gaxi::unimplemented::unimplemented_stub()
14823    }
14824
14825    /// Implements [super::client::SslCertificates::list].
14826    fn list(
14827        &self,
14828        _req: crate::model::ssl_certificates::ListRequest,
14829        _options: crate::RequestOptions,
14830    ) -> impl std::future::Future<
14831        Output = crate::Result<crate::Response<crate::model::SslCertificateList>>,
14832    > + Send {
14833        gaxi::unimplemented::unimplemented_stub()
14834    }
14835
14836    /// Implements [super::client::SslCertificates::get_operation].
14837    fn get_operation(
14838        &self,
14839        _req: crate::model::global_operations::GetRequest,
14840        _options: crate::RequestOptions,
14841    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14842    {
14843        gaxi::unimplemented::unimplemented_stub()
14844    }
14845
14846    /// Returns the polling error policy.
14847    ///
14848    /// When mocking, this method is typically irrelevant. Do not try to verify
14849    /// it is called by your mocks.
14850    fn get_polling_error_policy(
14851        &self,
14852        _options: &crate::RequestOptions,
14853    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14854        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14855    }
14856
14857    /// Returns the polling backoff policy.
14858    ///
14859    /// When mocking, this method is typically irrelevant. Do not try to verify
14860    /// it is called by your mocks.
14861    fn get_polling_backoff_policy(
14862        &self,
14863        _options: &crate::RequestOptions,
14864    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14865        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14866    }
14867
14868    #[doc(hidden)]
14869    /// Returns the poller options.
14870    ///
14871    /// When mocking, this method is typically irrelevant. Do not try to verify
14872    /// it is called by your mocks.
14873    fn get_poller_options(
14874        &self,
14875        _options: &crate::RequestOptions,
14876    ) -> google_cloud_lro::PollerOptions {
14877        google_cloud_lro::PollerOptions::default()
14878    }
14879}
14880
14881/// Defines the trait used to implement [super::client::SslPolicies].
14882///
14883/// Application developers may need to implement this trait to mock
14884/// `client::SslPolicies`.  In other use-cases, application developers only
14885/// use `client::SslPolicies` and need not be concerned with this trait or
14886/// its implementations.
14887///
14888/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14889/// too. To avoid breaking applications the trait provides a default
14890/// implementation of each method. Most of these implementations just return an
14891/// error.
14892#[cfg(feature = "ssl-policies")]
14893#[cfg_attr(docsrs, doc(cfg(feature = "ssl-policies")))]
14894pub trait SslPolicies: std::fmt::Debug + Send + Sync {
14895    /// Implements [super::client::SslPolicies::aggregated_list].
14896    fn aggregated_list(
14897        &self,
14898        _req: crate::model::ssl_policies::AggregatedListRequest,
14899        _options: crate::RequestOptions,
14900    ) -> impl std::future::Future<
14901        Output = crate::Result<crate::Response<crate::model::SslPoliciesAggregatedList>>,
14902    > + Send {
14903        gaxi::unimplemented::unimplemented_stub()
14904    }
14905
14906    /// Implements [super::client::SslPolicies::delete].
14907    fn delete(
14908        &self,
14909        _req: crate::model::ssl_policies::DeleteRequest,
14910        _options: crate::RequestOptions,
14911    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14912    {
14913        gaxi::unimplemented::unimplemented_stub()
14914    }
14915
14916    /// Implements [super::client::SslPolicies::get].
14917    fn get(
14918        &self,
14919        _req: crate::model::ssl_policies::GetRequest,
14920        _options: crate::RequestOptions,
14921    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::SslPolicy>>> + Send
14922    {
14923        gaxi::unimplemented::unimplemented_stub()
14924    }
14925
14926    /// Implements [super::client::SslPolicies::insert].
14927    fn insert(
14928        &self,
14929        _req: crate::model::ssl_policies::InsertRequest,
14930        _options: crate::RequestOptions,
14931    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14932    {
14933        gaxi::unimplemented::unimplemented_stub()
14934    }
14935
14936    /// Implements [super::client::SslPolicies::list].
14937    fn list(
14938        &self,
14939        _req: crate::model::ssl_policies::ListRequest,
14940        _options: crate::RequestOptions,
14941    ) -> impl std::future::Future<
14942        Output = crate::Result<crate::Response<crate::model::SslPoliciesList>>,
14943    > + Send {
14944        gaxi::unimplemented::unimplemented_stub()
14945    }
14946
14947    /// Implements [super::client::SslPolicies::list_available_features].
14948    fn list_available_features(
14949        &self,
14950        _req: crate::model::ssl_policies::ListAvailableFeaturesRequest,
14951        _options: crate::RequestOptions,
14952    ) -> impl std::future::Future<
14953        Output = crate::Result<
14954            crate::Response<crate::model::SslPoliciesListAvailableFeaturesResponse>,
14955        >,
14956    > + Send {
14957        gaxi::unimplemented::unimplemented_stub()
14958    }
14959
14960    /// Implements [super::client::SslPolicies::patch].
14961    fn patch(
14962        &self,
14963        _req: crate::model::ssl_policies::PatchRequest,
14964        _options: crate::RequestOptions,
14965    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14966    {
14967        gaxi::unimplemented::unimplemented_stub()
14968    }
14969
14970    /// Implements [super::client::SslPolicies::get_operation].
14971    fn get_operation(
14972        &self,
14973        _req: crate::model::global_operations::GetRequest,
14974        _options: crate::RequestOptions,
14975    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14976    {
14977        gaxi::unimplemented::unimplemented_stub()
14978    }
14979
14980    /// Returns the polling error policy.
14981    ///
14982    /// When mocking, this method is typically irrelevant. Do not try to verify
14983    /// it is called by your mocks.
14984    fn get_polling_error_policy(
14985        &self,
14986        _options: &crate::RequestOptions,
14987    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14988        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14989    }
14990
14991    /// Returns the polling backoff policy.
14992    ///
14993    /// When mocking, this method is typically irrelevant. Do not try to verify
14994    /// it is called by your mocks.
14995    fn get_polling_backoff_policy(
14996        &self,
14997        _options: &crate::RequestOptions,
14998    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14999        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15000    }
15001
15002    #[doc(hidden)]
15003    /// Returns the poller options.
15004    ///
15005    /// When mocking, this method is typically irrelevant. Do not try to verify
15006    /// it is called by your mocks.
15007    fn get_poller_options(
15008        &self,
15009        _options: &crate::RequestOptions,
15010    ) -> google_cloud_lro::PollerOptions {
15011        google_cloud_lro::PollerOptions::default()
15012    }
15013}
15014
15015/// Defines the trait used to implement [super::client::StoragePoolTypes].
15016///
15017/// Application developers may need to implement this trait to mock
15018/// `client::StoragePoolTypes`.  In other use-cases, application developers only
15019/// use `client::StoragePoolTypes` and need not be concerned with this trait or
15020/// its implementations.
15021///
15022/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15023/// too. To avoid breaking applications the trait provides a default
15024/// implementation of each method. Most of these implementations just return an
15025/// error.
15026#[cfg(feature = "storage-pool-types")]
15027#[cfg_attr(docsrs, doc(cfg(feature = "storage-pool-types")))]
15028pub trait StoragePoolTypes: std::fmt::Debug + Send + Sync {
15029    /// Implements [super::client::StoragePoolTypes::aggregated_list].
15030    fn aggregated_list(
15031        &self,
15032        _req: crate::model::storage_pool_types::AggregatedListRequest,
15033        _options: crate::RequestOptions,
15034    ) -> impl std::future::Future<
15035        Output = crate::Result<crate::Response<crate::model::StoragePoolTypeAggregatedList>>,
15036    > + Send {
15037        gaxi::unimplemented::unimplemented_stub()
15038    }
15039
15040    /// Implements [super::client::StoragePoolTypes::get].
15041    fn get(
15042        &self,
15043        _req: crate::model::storage_pool_types::GetRequest,
15044        _options: crate::RequestOptions,
15045    ) -> impl std::future::Future<
15046        Output = crate::Result<crate::Response<crate::model::StoragePoolType>>,
15047    > + Send {
15048        gaxi::unimplemented::unimplemented_stub()
15049    }
15050
15051    /// Implements [super::client::StoragePoolTypes::list].
15052    fn list(
15053        &self,
15054        _req: crate::model::storage_pool_types::ListRequest,
15055        _options: crate::RequestOptions,
15056    ) -> impl std::future::Future<
15057        Output = crate::Result<crate::Response<crate::model::StoragePoolTypeList>>,
15058    > + Send {
15059        gaxi::unimplemented::unimplemented_stub()
15060    }
15061}
15062
15063/// Defines the trait used to implement [super::client::StoragePools].
15064///
15065/// Application developers may need to implement this trait to mock
15066/// `client::StoragePools`.  In other use-cases, application developers only
15067/// use `client::StoragePools` and need not be concerned with this trait or
15068/// its implementations.
15069///
15070/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15071/// too. To avoid breaking applications the trait provides a default
15072/// implementation of each method. Most of these implementations just return an
15073/// error.
15074#[cfg(feature = "storage-pools")]
15075#[cfg_attr(docsrs, doc(cfg(feature = "storage-pools")))]
15076pub trait StoragePools: std::fmt::Debug + Send + Sync {
15077    /// Implements [super::client::StoragePools::aggregated_list].
15078    fn aggregated_list(
15079        &self,
15080        _req: crate::model::storage_pools::AggregatedListRequest,
15081        _options: crate::RequestOptions,
15082    ) -> impl std::future::Future<
15083        Output = crate::Result<crate::Response<crate::model::StoragePoolAggregatedList>>,
15084    > + Send {
15085        gaxi::unimplemented::unimplemented_stub()
15086    }
15087
15088    /// Implements [super::client::StoragePools::delete].
15089    fn delete(
15090        &self,
15091        _req: crate::model::storage_pools::DeleteRequest,
15092        _options: crate::RequestOptions,
15093    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15094    {
15095        gaxi::unimplemented::unimplemented_stub()
15096    }
15097
15098    /// Implements [super::client::StoragePools::get].
15099    fn get(
15100        &self,
15101        _req: crate::model::storage_pools::GetRequest,
15102        _options: crate::RequestOptions,
15103    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::StoragePool>>>
15104    + Send {
15105        gaxi::unimplemented::unimplemented_stub()
15106    }
15107
15108    /// Implements [super::client::StoragePools::get_iam_policy].
15109    fn get_iam_policy(
15110        &self,
15111        _req: crate::model::storage_pools::GetIamPolicyRequest,
15112        _options: crate::RequestOptions,
15113    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
15114    {
15115        gaxi::unimplemented::unimplemented_stub()
15116    }
15117
15118    /// Implements [super::client::StoragePools::insert].
15119    fn insert(
15120        &self,
15121        _req: crate::model::storage_pools::InsertRequest,
15122        _options: crate::RequestOptions,
15123    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15124    {
15125        gaxi::unimplemented::unimplemented_stub()
15126    }
15127
15128    /// Implements [super::client::StoragePools::list].
15129    fn list(
15130        &self,
15131        _req: crate::model::storage_pools::ListRequest,
15132        _options: crate::RequestOptions,
15133    ) -> impl std::future::Future<
15134        Output = crate::Result<crate::Response<crate::model::StoragePoolList>>,
15135    > + Send {
15136        gaxi::unimplemented::unimplemented_stub()
15137    }
15138
15139    /// Implements [super::client::StoragePools::list_disks].
15140    fn list_disks(
15141        &self,
15142        _req: crate::model::storage_pools::ListDisksRequest,
15143        _options: crate::RequestOptions,
15144    ) -> impl std::future::Future<
15145        Output = crate::Result<crate::Response<crate::model::StoragePoolListDisks>>,
15146    > + Send {
15147        gaxi::unimplemented::unimplemented_stub()
15148    }
15149
15150    /// Implements [super::client::StoragePools::set_iam_policy].
15151    fn set_iam_policy(
15152        &self,
15153        _req: crate::model::storage_pools::SetIamPolicyRequest,
15154        _options: crate::RequestOptions,
15155    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
15156    {
15157        gaxi::unimplemented::unimplemented_stub()
15158    }
15159
15160    /// Implements [super::client::StoragePools::test_iam_permissions].
15161    fn test_iam_permissions(
15162        &self,
15163        _req: crate::model::storage_pools::TestIamPermissionsRequest,
15164        _options: crate::RequestOptions,
15165    ) -> impl std::future::Future<
15166        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
15167    > + Send {
15168        gaxi::unimplemented::unimplemented_stub()
15169    }
15170
15171    /// Implements [super::client::StoragePools::update].
15172    fn update(
15173        &self,
15174        _req: crate::model::storage_pools::UpdateRequest,
15175        _options: crate::RequestOptions,
15176    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15177    {
15178        gaxi::unimplemented::unimplemented_stub()
15179    }
15180
15181    /// Implements [super::client::StoragePools::get_operation].
15182    fn get_operation(
15183        &self,
15184        _req: crate::model::zone_operations::GetRequest,
15185        _options: crate::RequestOptions,
15186    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15187    {
15188        gaxi::unimplemented::unimplemented_stub()
15189    }
15190
15191    /// Returns the polling error policy.
15192    ///
15193    /// When mocking, this method is typically irrelevant. Do not try to verify
15194    /// it is called by your mocks.
15195    fn get_polling_error_policy(
15196        &self,
15197        _options: &crate::RequestOptions,
15198    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15199        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15200    }
15201
15202    /// Returns the polling backoff policy.
15203    ///
15204    /// When mocking, this method is typically irrelevant. Do not try to verify
15205    /// it is called by your mocks.
15206    fn get_polling_backoff_policy(
15207        &self,
15208        _options: &crate::RequestOptions,
15209    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15210        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15211    }
15212
15213    #[doc(hidden)]
15214    /// Returns the poller options.
15215    ///
15216    /// When mocking, this method is typically irrelevant. Do not try to verify
15217    /// it is called by your mocks.
15218    fn get_poller_options(
15219        &self,
15220        _options: &crate::RequestOptions,
15221    ) -> google_cloud_lro::PollerOptions {
15222        google_cloud_lro::PollerOptions::default()
15223    }
15224}
15225
15226/// Defines the trait used to implement [super::client::Subnetworks].
15227///
15228/// Application developers may need to implement this trait to mock
15229/// `client::Subnetworks`.  In other use-cases, application developers only
15230/// use `client::Subnetworks` and need not be concerned with this trait or
15231/// its implementations.
15232///
15233/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15234/// too. To avoid breaking applications the trait provides a default
15235/// implementation of each method. Most of these implementations just return an
15236/// error.
15237#[cfg(feature = "subnetworks")]
15238#[cfg_attr(docsrs, doc(cfg(feature = "subnetworks")))]
15239pub trait Subnetworks: std::fmt::Debug + Send + Sync {
15240    /// Implements [super::client::Subnetworks::aggregated_list].
15241    fn aggregated_list(
15242        &self,
15243        _req: crate::model::subnetworks::AggregatedListRequest,
15244        _options: crate::RequestOptions,
15245    ) -> impl std::future::Future<
15246        Output = crate::Result<crate::Response<crate::model::SubnetworkAggregatedList>>,
15247    > + Send {
15248        gaxi::unimplemented::unimplemented_stub()
15249    }
15250
15251    /// Implements [super::client::Subnetworks::delete].
15252    fn delete(
15253        &self,
15254        _req: crate::model::subnetworks::DeleteRequest,
15255        _options: crate::RequestOptions,
15256    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15257    {
15258        gaxi::unimplemented::unimplemented_stub()
15259    }
15260
15261    /// Implements [super::client::Subnetworks::expand_ip_cidr_range].
15262    fn expand_ip_cidr_range(
15263        &self,
15264        _req: crate::model::subnetworks::ExpandIpCidrRangeRequest,
15265        _options: crate::RequestOptions,
15266    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15267    {
15268        gaxi::unimplemented::unimplemented_stub()
15269    }
15270
15271    /// Implements [super::client::Subnetworks::get].
15272    fn get(
15273        &self,
15274        _req: crate::model::subnetworks::GetRequest,
15275        _options: crate::RequestOptions,
15276    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Subnetwork>>> + Send
15277    {
15278        gaxi::unimplemented::unimplemented_stub()
15279    }
15280
15281    /// Implements [super::client::Subnetworks::get_iam_policy].
15282    fn get_iam_policy(
15283        &self,
15284        _req: crate::model::subnetworks::GetIamPolicyRequest,
15285        _options: crate::RequestOptions,
15286    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
15287    {
15288        gaxi::unimplemented::unimplemented_stub()
15289    }
15290
15291    /// Implements [super::client::Subnetworks::insert].
15292    fn insert(
15293        &self,
15294        _req: crate::model::subnetworks::InsertRequest,
15295        _options: crate::RequestOptions,
15296    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15297    {
15298        gaxi::unimplemented::unimplemented_stub()
15299    }
15300
15301    /// Implements [super::client::Subnetworks::list].
15302    fn list(
15303        &self,
15304        _req: crate::model::subnetworks::ListRequest,
15305        _options: crate::RequestOptions,
15306    ) -> impl std::future::Future<
15307        Output = crate::Result<crate::Response<crate::model::SubnetworkList>>,
15308    > + Send {
15309        gaxi::unimplemented::unimplemented_stub()
15310    }
15311
15312    /// Implements [super::client::Subnetworks::list_usable].
15313    fn list_usable(
15314        &self,
15315        _req: crate::model::subnetworks::ListUsableRequest,
15316        _options: crate::RequestOptions,
15317    ) -> impl std::future::Future<
15318        Output = crate::Result<crate::Response<crate::model::UsableSubnetworksAggregatedList>>,
15319    > + Send {
15320        gaxi::unimplemented::unimplemented_stub()
15321    }
15322
15323    /// Implements [super::client::Subnetworks::patch].
15324    fn patch(
15325        &self,
15326        _req: crate::model::subnetworks::PatchRequest,
15327        _options: crate::RequestOptions,
15328    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15329    {
15330        gaxi::unimplemented::unimplemented_stub()
15331    }
15332
15333    /// Implements [super::client::Subnetworks::set_iam_policy].
15334    fn set_iam_policy(
15335        &self,
15336        _req: crate::model::subnetworks::SetIamPolicyRequest,
15337        _options: crate::RequestOptions,
15338    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
15339    {
15340        gaxi::unimplemented::unimplemented_stub()
15341    }
15342
15343    /// Implements [super::client::Subnetworks::set_private_ip_google_access].
15344    fn set_private_ip_google_access(
15345        &self,
15346        _req: crate::model::subnetworks::SetPrivateIpGoogleAccessRequest,
15347        _options: crate::RequestOptions,
15348    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15349    {
15350        gaxi::unimplemented::unimplemented_stub()
15351    }
15352
15353    /// Implements [super::client::Subnetworks::test_iam_permissions].
15354    fn test_iam_permissions(
15355        &self,
15356        _req: crate::model::subnetworks::TestIamPermissionsRequest,
15357        _options: crate::RequestOptions,
15358    ) -> impl std::future::Future<
15359        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
15360    > + Send {
15361        gaxi::unimplemented::unimplemented_stub()
15362    }
15363
15364    /// Implements [super::client::Subnetworks::get_operation].
15365    fn get_operation(
15366        &self,
15367        _req: crate::model::region_operations::GetRequest,
15368        _options: crate::RequestOptions,
15369    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15370    {
15371        gaxi::unimplemented::unimplemented_stub()
15372    }
15373
15374    /// Returns the polling error policy.
15375    ///
15376    /// When mocking, this method is typically irrelevant. Do not try to verify
15377    /// it is called by your mocks.
15378    fn get_polling_error_policy(
15379        &self,
15380        _options: &crate::RequestOptions,
15381    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15382        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15383    }
15384
15385    /// Returns the polling backoff policy.
15386    ///
15387    /// When mocking, this method is typically irrelevant. Do not try to verify
15388    /// it is called by your mocks.
15389    fn get_polling_backoff_policy(
15390        &self,
15391        _options: &crate::RequestOptions,
15392    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15393        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15394    }
15395
15396    #[doc(hidden)]
15397    /// Returns the poller options.
15398    ///
15399    /// When mocking, this method is typically irrelevant. Do not try to verify
15400    /// it is called by your mocks.
15401    fn get_poller_options(
15402        &self,
15403        _options: &crate::RequestOptions,
15404    ) -> google_cloud_lro::PollerOptions {
15405        google_cloud_lro::PollerOptions::default()
15406    }
15407}
15408
15409/// Defines the trait used to implement [super::client::TargetGrpcProxies].
15410///
15411/// Application developers may need to implement this trait to mock
15412/// `client::TargetGrpcProxies`.  In other use-cases, application developers only
15413/// use `client::TargetGrpcProxies` and need not be concerned with this trait or
15414/// its implementations.
15415///
15416/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15417/// too. To avoid breaking applications the trait provides a default
15418/// implementation of each method. Most of these implementations just return an
15419/// error.
15420#[cfg(feature = "target-grpc-proxies")]
15421#[cfg_attr(docsrs, doc(cfg(feature = "target-grpc-proxies")))]
15422pub trait TargetGrpcProxies: std::fmt::Debug + Send + Sync {
15423    /// Implements [super::client::TargetGrpcProxies::delete].
15424    fn delete(
15425        &self,
15426        _req: crate::model::target_grpc_proxies::DeleteRequest,
15427        _options: crate::RequestOptions,
15428    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15429    {
15430        gaxi::unimplemented::unimplemented_stub()
15431    }
15432
15433    /// Implements [super::client::TargetGrpcProxies::get].
15434    fn get(
15435        &self,
15436        _req: crate::model::target_grpc_proxies::GetRequest,
15437        _options: crate::RequestOptions,
15438    ) -> impl std::future::Future<
15439        Output = crate::Result<crate::Response<crate::model::TargetGrpcProxy>>,
15440    > + Send {
15441        gaxi::unimplemented::unimplemented_stub()
15442    }
15443
15444    /// Implements [super::client::TargetGrpcProxies::insert].
15445    fn insert(
15446        &self,
15447        _req: crate::model::target_grpc_proxies::InsertRequest,
15448        _options: crate::RequestOptions,
15449    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15450    {
15451        gaxi::unimplemented::unimplemented_stub()
15452    }
15453
15454    /// Implements [super::client::TargetGrpcProxies::list].
15455    fn list(
15456        &self,
15457        _req: crate::model::target_grpc_proxies::ListRequest,
15458        _options: crate::RequestOptions,
15459    ) -> impl std::future::Future<
15460        Output = crate::Result<crate::Response<crate::model::TargetGrpcProxyList>>,
15461    > + Send {
15462        gaxi::unimplemented::unimplemented_stub()
15463    }
15464
15465    /// Implements [super::client::TargetGrpcProxies::patch].
15466    fn patch(
15467        &self,
15468        _req: crate::model::target_grpc_proxies::PatchRequest,
15469        _options: crate::RequestOptions,
15470    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15471    {
15472        gaxi::unimplemented::unimplemented_stub()
15473    }
15474
15475    /// Implements [super::client::TargetGrpcProxies::get_operation].
15476    fn get_operation(
15477        &self,
15478        _req: crate::model::global_operations::GetRequest,
15479        _options: crate::RequestOptions,
15480    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15481    {
15482        gaxi::unimplemented::unimplemented_stub()
15483    }
15484
15485    /// Returns the polling error policy.
15486    ///
15487    /// When mocking, this method is typically irrelevant. Do not try to verify
15488    /// it is called by your mocks.
15489    fn get_polling_error_policy(
15490        &self,
15491        _options: &crate::RequestOptions,
15492    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15493        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15494    }
15495
15496    /// Returns the polling backoff policy.
15497    ///
15498    /// When mocking, this method is typically irrelevant. Do not try to verify
15499    /// it is called by your mocks.
15500    fn get_polling_backoff_policy(
15501        &self,
15502        _options: &crate::RequestOptions,
15503    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15504        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15505    }
15506
15507    #[doc(hidden)]
15508    /// Returns the poller options.
15509    ///
15510    /// When mocking, this method is typically irrelevant. Do not try to verify
15511    /// it is called by your mocks.
15512    fn get_poller_options(
15513        &self,
15514        _options: &crate::RequestOptions,
15515    ) -> google_cloud_lro::PollerOptions {
15516        google_cloud_lro::PollerOptions::default()
15517    }
15518}
15519
15520/// Defines the trait used to implement [super::client::TargetHttpProxies].
15521///
15522/// Application developers may need to implement this trait to mock
15523/// `client::TargetHttpProxies`.  In other use-cases, application developers only
15524/// use `client::TargetHttpProxies` and need not be concerned with this trait or
15525/// its implementations.
15526///
15527/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15528/// too. To avoid breaking applications the trait provides a default
15529/// implementation of each method. Most of these implementations just return an
15530/// error.
15531#[cfg(feature = "target-http-proxies")]
15532#[cfg_attr(docsrs, doc(cfg(feature = "target-http-proxies")))]
15533pub trait TargetHttpProxies: std::fmt::Debug + Send + Sync {
15534    /// Implements [super::client::TargetHttpProxies::aggregated_list].
15535    fn aggregated_list(
15536        &self,
15537        _req: crate::model::target_http_proxies::AggregatedListRequest,
15538        _options: crate::RequestOptions,
15539    ) -> impl std::future::Future<
15540        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyAggregatedList>>,
15541    > + Send {
15542        gaxi::unimplemented::unimplemented_stub()
15543    }
15544
15545    /// Implements [super::client::TargetHttpProxies::delete].
15546    fn delete(
15547        &self,
15548        _req: crate::model::target_http_proxies::DeleteRequest,
15549        _options: crate::RequestOptions,
15550    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15551    {
15552        gaxi::unimplemented::unimplemented_stub()
15553    }
15554
15555    /// Implements [super::client::TargetHttpProxies::get].
15556    fn get(
15557        &self,
15558        _req: crate::model::target_http_proxies::GetRequest,
15559        _options: crate::RequestOptions,
15560    ) -> impl std::future::Future<
15561        Output = crate::Result<crate::Response<crate::model::TargetHttpProxy>>,
15562    > + Send {
15563        gaxi::unimplemented::unimplemented_stub()
15564    }
15565
15566    /// Implements [super::client::TargetHttpProxies::insert].
15567    fn insert(
15568        &self,
15569        _req: crate::model::target_http_proxies::InsertRequest,
15570        _options: crate::RequestOptions,
15571    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15572    {
15573        gaxi::unimplemented::unimplemented_stub()
15574    }
15575
15576    /// Implements [super::client::TargetHttpProxies::list].
15577    fn list(
15578        &self,
15579        _req: crate::model::target_http_proxies::ListRequest,
15580        _options: crate::RequestOptions,
15581    ) -> impl std::future::Future<
15582        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyList>>,
15583    > + Send {
15584        gaxi::unimplemented::unimplemented_stub()
15585    }
15586
15587    /// Implements [super::client::TargetHttpProxies::patch].
15588    fn patch(
15589        &self,
15590        _req: crate::model::target_http_proxies::PatchRequest,
15591        _options: crate::RequestOptions,
15592    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15593    {
15594        gaxi::unimplemented::unimplemented_stub()
15595    }
15596
15597    /// Implements [super::client::TargetHttpProxies::set_url_map].
15598    fn set_url_map(
15599        &self,
15600        _req: crate::model::target_http_proxies::SetUrlMapRequest,
15601        _options: crate::RequestOptions,
15602    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15603    {
15604        gaxi::unimplemented::unimplemented_stub()
15605    }
15606
15607    /// Implements [super::client::TargetHttpProxies::get_operation].
15608    fn get_operation(
15609        &self,
15610        _req: crate::model::global_operations::GetRequest,
15611        _options: crate::RequestOptions,
15612    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15613    {
15614        gaxi::unimplemented::unimplemented_stub()
15615    }
15616
15617    /// Returns the polling error policy.
15618    ///
15619    /// When mocking, this method is typically irrelevant. Do not try to verify
15620    /// it is called by your mocks.
15621    fn get_polling_error_policy(
15622        &self,
15623        _options: &crate::RequestOptions,
15624    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15625        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15626    }
15627
15628    /// Returns the polling backoff policy.
15629    ///
15630    /// When mocking, this method is typically irrelevant. Do not try to verify
15631    /// it is called by your mocks.
15632    fn get_polling_backoff_policy(
15633        &self,
15634        _options: &crate::RequestOptions,
15635    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15636        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15637    }
15638
15639    #[doc(hidden)]
15640    /// Returns the poller options.
15641    ///
15642    /// When mocking, this method is typically irrelevant. Do not try to verify
15643    /// it is called by your mocks.
15644    fn get_poller_options(
15645        &self,
15646        _options: &crate::RequestOptions,
15647    ) -> google_cloud_lro::PollerOptions {
15648        google_cloud_lro::PollerOptions::default()
15649    }
15650}
15651
15652/// Defines the trait used to implement [super::client::TargetHttpsProxies].
15653///
15654/// Application developers may need to implement this trait to mock
15655/// `client::TargetHttpsProxies`.  In other use-cases, application developers only
15656/// use `client::TargetHttpsProxies` and need not be concerned with this trait or
15657/// its implementations.
15658///
15659/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15660/// too. To avoid breaking applications the trait provides a default
15661/// implementation of each method. Most of these implementations just return an
15662/// error.
15663#[cfg(feature = "target-https-proxies")]
15664#[cfg_attr(docsrs, doc(cfg(feature = "target-https-proxies")))]
15665pub trait TargetHttpsProxies: std::fmt::Debug + Send + Sync {
15666    /// Implements [super::client::TargetHttpsProxies::aggregated_list].
15667    fn aggregated_list(
15668        &self,
15669        _req: crate::model::target_https_proxies::AggregatedListRequest,
15670        _options: crate::RequestOptions,
15671    ) -> impl std::future::Future<
15672        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyAggregatedList>>,
15673    > + Send {
15674        gaxi::unimplemented::unimplemented_stub()
15675    }
15676
15677    /// Implements [super::client::TargetHttpsProxies::delete].
15678    fn delete(
15679        &self,
15680        _req: crate::model::target_https_proxies::DeleteRequest,
15681        _options: crate::RequestOptions,
15682    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15683    {
15684        gaxi::unimplemented::unimplemented_stub()
15685    }
15686
15687    /// Implements [super::client::TargetHttpsProxies::get].
15688    fn get(
15689        &self,
15690        _req: crate::model::target_https_proxies::GetRequest,
15691        _options: crate::RequestOptions,
15692    ) -> impl std::future::Future<
15693        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxy>>,
15694    > + Send {
15695        gaxi::unimplemented::unimplemented_stub()
15696    }
15697
15698    /// Implements [super::client::TargetHttpsProxies::insert].
15699    fn insert(
15700        &self,
15701        _req: crate::model::target_https_proxies::InsertRequest,
15702        _options: crate::RequestOptions,
15703    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15704    {
15705        gaxi::unimplemented::unimplemented_stub()
15706    }
15707
15708    /// Implements [super::client::TargetHttpsProxies::list].
15709    fn list(
15710        &self,
15711        _req: crate::model::target_https_proxies::ListRequest,
15712        _options: crate::RequestOptions,
15713    ) -> impl std::future::Future<
15714        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyList>>,
15715    > + Send {
15716        gaxi::unimplemented::unimplemented_stub()
15717    }
15718
15719    /// Implements [super::client::TargetHttpsProxies::patch].
15720    fn patch(
15721        &self,
15722        _req: crate::model::target_https_proxies::PatchRequest,
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::TargetHttpsProxies::set_certificate_map].
15730    fn set_certificate_map(
15731        &self,
15732        _req: crate::model::target_https_proxies::SetCertificateMapRequest,
15733        _options: crate::RequestOptions,
15734    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15735    {
15736        gaxi::unimplemented::unimplemented_stub()
15737    }
15738
15739    /// Implements [super::client::TargetHttpsProxies::set_quic_override].
15740    fn set_quic_override(
15741        &self,
15742        _req: crate::model::target_https_proxies::SetQuicOverrideRequest,
15743        _options: crate::RequestOptions,
15744    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15745    {
15746        gaxi::unimplemented::unimplemented_stub()
15747    }
15748
15749    /// Implements [super::client::TargetHttpsProxies::set_ssl_certificates].
15750    fn set_ssl_certificates(
15751        &self,
15752        _req: crate::model::target_https_proxies::SetSslCertificatesRequest,
15753        _options: crate::RequestOptions,
15754    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15755    {
15756        gaxi::unimplemented::unimplemented_stub()
15757    }
15758
15759    /// Implements [super::client::TargetHttpsProxies::set_ssl_policy].
15760    fn set_ssl_policy(
15761        &self,
15762        _req: crate::model::target_https_proxies::SetSslPolicyRequest,
15763        _options: crate::RequestOptions,
15764    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15765    {
15766        gaxi::unimplemented::unimplemented_stub()
15767    }
15768
15769    /// Implements [super::client::TargetHttpsProxies::set_url_map].
15770    fn set_url_map(
15771        &self,
15772        _req: crate::model::target_https_proxies::SetUrlMapRequest,
15773        _options: crate::RequestOptions,
15774    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15775    {
15776        gaxi::unimplemented::unimplemented_stub()
15777    }
15778
15779    /// Implements [super::client::TargetHttpsProxies::get_operation].
15780    fn get_operation(
15781        &self,
15782        _req: crate::model::global_operations::GetRequest,
15783        _options: crate::RequestOptions,
15784    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15785    {
15786        gaxi::unimplemented::unimplemented_stub()
15787    }
15788
15789    /// Returns the polling error policy.
15790    ///
15791    /// When mocking, this method is typically irrelevant. Do not try to verify
15792    /// it is called by your mocks.
15793    fn get_polling_error_policy(
15794        &self,
15795        _options: &crate::RequestOptions,
15796    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15797        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15798    }
15799
15800    /// Returns the polling backoff policy.
15801    ///
15802    /// When mocking, this method is typically irrelevant. Do not try to verify
15803    /// it is called by your mocks.
15804    fn get_polling_backoff_policy(
15805        &self,
15806        _options: &crate::RequestOptions,
15807    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15808        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15809    }
15810
15811    #[doc(hidden)]
15812    /// Returns the poller options.
15813    ///
15814    /// When mocking, this method is typically irrelevant. Do not try to verify
15815    /// it is called by your mocks.
15816    fn get_poller_options(
15817        &self,
15818        _options: &crate::RequestOptions,
15819    ) -> google_cloud_lro::PollerOptions {
15820        google_cloud_lro::PollerOptions::default()
15821    }
15822}
15823
15824/// Defines the trait used to implement [super::client::TargetInstances].
15825///
15826/// Application developers may need to implement this trait to mock
15827/// `client::TargetInstances`.  In other use-cases, application developers only
15828/// use `client::TargetInstances` and need not be concerned with this trait or
15829/// its implementations.
15830///
15831/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15832/// too. To avoid breaking applications the trait provides a default
15833/// implementation of each method. Most of these implementations just return an
15834/// error.
15835#[cfg(feature = "target-instances")]
15836#[cfg_attr(docsrs, doc(cfg(feature = "target-instances")))]
15837pub trait TargetInstances: std::fmt::Debug + Send + Sync {
15838    /// Implements [super::client::TargetInstances::aggregated_list].
15839    fn aggregated_list(
15840        &self,
15841        _req: crate::model::target_instances::AggregatedListRequest,
15842        _options: crate::RequestOptions,
15843    ) -> impl std::future::Future<
15844        Output = crate::Result<crate::Response<crate::model::TargetInstanceAggregatedList>>,
15845    > + Send {
15846        gaxi::unimplemented::unimplemented_stub()
15847    }
15848
15849    /// Implements [super::client::TargetInstances::delete].
15850    fn delete(
15851        &self,
15852        _req: crate::model::target_instances::DeleteRequest,
15853        _options: crate::RequestOptions,
15854    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15855    {
15856        gaxi::unimplemented::unimplemented_stub()
15857    }
15858
15859    /// Implements [super::client::TargetInstances::get].
15860    fn get(
15861        &self,
15862        _req: crate::model::target_instances::GetRequest,
15863        _options: crate::RequestOptions,
15864    ) -> impl std::future::Future<
15865        Output = crate::Result<crate::Response<crate::model::TargetInstance>>,
15866    > + Send {
15867        gaxi::unimplemented::unimplemented_stub()
15868    }
15869
15870    /// Implements [super::client::TargetInstances::insert].
15871    fn insert(
15872        &self,
15873        _req: crate::model::target_instances::InsertRequest,
15874        _options: crate::RequestOptions,
15875    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15876    {
15877        gaxi::unimplemented::unimplemented_stub()
15878    }
15879
15880    /// Implements [super::client::TargetInstances::list].
15881    fn list(
15882        &self,
15883        _req: crate::model::target_instances::ListRequest,
15884        _options: crate::RequestOptions,
15885    ) -> impl std::future::Future<
15886        Output = crate::Result<crate::Response<crate::model::TargetInstanceList>>,
15887    > + Send {
15888        gaxi::unimplemented::unimplemented_stub()
15889    }
15890
15891    /// Implements [super::client::TargetInstances::set_security_policy].
15892    fn set_security_policy(
15893        &self,
15894        _req: crate::model::target_instances::SetSecurityPolicyRequest,
15895        _options: crate::RequestOptions,
15896    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15897    {
15898        gaxi::unimplemented::unimplemented_stub()
15899    }
15900
15901    /// Implements [super::client::TargetInstances::test_iam_permissions].
15902    fn test_iam_permissions(
15903        &self,
15904        _req: crate::model::target_instances::TestIamPermissionsRequest,
15905        _options: crate::RequestOptions,
15906    ) -> impl std::future::Future<
15907        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
15908    > + Send {
15909        gaxi::unimplemented::unimplemented_stub()
15910    }
15911
15912    /// Implements [super::client::TargetInstances::get_operation].
15913    fn get_operation(
15914        &self,
15915        _req: crate::model::zone_operations::GetRequest,
15916        _options: crate::RequestOptions,
15917    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15918    {
15919        gaxi::unimplemented::unimplemented_stub()
15920    }
15921
15922    /// Returns the polling error policy.
15923    ///
15924    /// When mocking, this method is typically irrelevant. Do not try to verify
15925    /// it is called by your mocks.
15926    fn get_polling_error_policy(
15927        &self,
15928        _options: &crate::RequestOptions,
15929    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15930        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15931    }
15932
15933    /// Returns the polling backoff policy.
15934    ///
15935    /// When mocking, this method is typically irrelevant. Do not try to verify
15936    /// it is called by your mocks.
15937    fn get_polling_backoff_policy(
15938        &self,
15939        _options: &crate::RequestOptions,
15940    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15941        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15942    }
15943
15944    #[doc(hidden)]
15945    /// Returns the poller options.
15946    ///
15947    /// When mocking, this method is typically irrelevant. Do not try to verify
15948    /// it is called by your mocks.
15949    fn get_poller_options(
15950        &self,
15951        _options: &crate::RequestOptions,
15952    ) -> google_cloud_lro::PollerOptions {
15953        google_cloud_lro::PollerOptions::default()
15954    }
15955}
15956
15957/// Defines the trait used to implement [super::client::TargetPools].
15958///
15959/// Application developers may need to implement this trait to mock
15960/// `client::TargetPools`.  In other use-cases, application developers only
15961/// use `client::TargetPools` and need not be concerned with this trait or
15962/// its implementations.
15963///
15964/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15965/// too. To avoid breaking applications the trait provides a default
15966/// implementation of each method. Most of these implementations just return an
15967/// error.
15968#[cfg(feature = "target-pools")]
15969#[cfg_attr(docsrs, doc(cfg(feature = "target-pools")))]
15970pub trait TargetPools: std::fmt::Debug + Send + Sync {
15971    /// Implements [super::client::TargetPools::add_health_check].
15972    fn add_health_check(
15973        &self,
15974        _req: crate::model::target_pools::AddHealthCheckRequest,
15975        _options: crate::RequestOptions,
15976    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15977    {
15978        gaxi::unimplemented::unimplemented_stub()
15979    }
15980
15981    /// Implements [super::client::TargetPools::add_instance].
15982    fn add_instance(
15983        &self,
15984        _req: crate::model::target_pools::AddInstanceRequest,
15985        _options: crate::RequestOptions,
15986    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15987    {
15988        gaxi::unimplemented::unimplemented_stub()
15989    }
15990
15991    /// Implements [super::client::TargetPools::aggregated_list].
15992    fn aggregated_list(
15993        &self,
15994        _req: crate::model::target_pools::AggregatedListRequest,
15995        _options: crate::RequestOptions,
15996    ) -> impl std::future::Future<
15997        Output = crate::Result<crate::Response<crate::model::TargetPoolAggregatedList>>,
15998    > + Send {
15999        gaxi::unimplemented::unimplemented_stub()
16000    }
16001
16002    /// Implements [super::client::TargetPools::delete].
16003    fn delete(
16004        &self,
16005        _req: crate::model::target_pools::DeleteRequest,
16006        _options: crate::RequestOptions,
16007    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16008    {
16009        gaxi::unimplemented::unimplemented_stub()
16010    }
16011
16012    /// Implements [super::client::TargetPools::get].
16013    fn get(
16014        &self,
16015        _req: crate::model::target_pools::GetRequest,
16016        _options: crate::RequestOptions,
16017    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::TargetPool>>> + Send
16018    {
16019        gaxi::unimplemented::unimplemented_stub()
16020    }
16021
16022    /// Implements [super::client::TargetPools::get_health].
16023    fn get_health(
16024        &self,
16025        _req: crate::model::target_pools::GetHealthRequest,
16026        _options: crate::RequestOptions,
16027    ) -> impl std::future::Future<
16028        Output = crate::Result<crate::Response<crate::model::TargetPoolInstanceHealth>>,
16029    > + Send {
16030        gaxi::unimplemented::unimplemented_stub()
16031    }
16032
16033    /// Implements [super::client::TargetPools::insert].
16034    fn insert(
16035        &self,
16036        _req: crate::model::target_pools::InsertRequest,
16037        _options: crate::RequestOptions,
16038    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16039    {
16040        gaxi::unimplemented::unimplemented_stub()
16041    }
16042
16043    /// Implements [super::client::TargetPools::list].
16044    fn list(
16045        &self,
16046        _req: crate::model::target_pools::ListRequest,
16047        _options: crate::RequestOptions,
16048    ) -> impl std::future::Future<
16049        Output = crate::Result<crate::Response<crate::model::TargetPoolList>>,
16050    > + Send {
16051        gaxi::unimplemented::unimplemented_stub()
16052    }
16053
16054    /// Implements [super::client::TargetPools::remove_health_check].
16055    fn remove_health_check(
16056        &self,
16057        _req: crate::model::target_pools::RemoveHealthCheckRequest,
16058        _options: crate::RequestOptions,
16059    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16060    {
16061        gaxi::unimplemented::unimplemented_stub()
16062    }
16063
16064    /// Implements [super::client::TargetPools::remove_instance].
16065    fn remove_instance(
16066        &self,
16067        _req: crate::model::target_pools::RemoveInstanceRequest,
16068        _options: crate::RequestOptions,
16069    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16070    {
16071        gaxi::unimplemented::unimplemented_stub()
16072    }
16073
16074    /// Implements [super::client::TargetPools::set_backup].
16075    fn set_backup(
16076        &self,
16077        _req: crate::model::target_pools::SetBackupRequest,
16078        _options: crate::RequestOptions,
16079    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16080    {
16081        gaxi::unimplemented::unimplemented_stub()
16082    }
16083
16084    /// Implements [super::client::TargetPools::set_security_policy].
16085    fn set_security_policy(
16086        &self,
16087        _req: crate::model::target_pools::SetSecurityPolicyRequest,
16088        _options: crate::RequestOptions,
16089    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16090    {
16091        gaxi::unimplemented::unimplemented_stub()
16092    }
16093
16094    /// Implements [super::client::TargetPools::test_iam_permissions].
16095    fn test_iam_permissions(
16096        &self,
16097        _req: crate::model::target_pools::TestIamPermissionsRequest,
16098        _options: crate::RequestOptions,
16099    ) -> impl std::future::Future<
16100        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
16101    > + Send {
16102        gaxi::unimplemented::unimplemented_stub()
16103    }
16104
16105    /// Implements [super::client::TargetPools::get_operation].
16106    fn get_operation(
16107        &self,
16108        _req: crate::model::region_operations::GetRequest,
16109        _options: crate::RequestOptions,
16110    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16111    {
16112        gaxi::unimplemented::unimplemented_stub()
16113    }
16114
16115    /// Returns the polling error policy.
16116    ///
16117    /// When mocking, this method is typically irrelevant. Do not try to verify
16118    /// it is called by your mocks.
16119    fn get_polling_error_policy(
16120        &self,
16121        _options: &crate::RequestOptions,
16122    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16123        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16124    }
16125
16126    /// Returns the polling backoff policy.
16127    ///
16128    /// When mocking, this method is typically irrelevant. Do not try to verify
16129    /// it is called by your mocks.
16130    fn get_polling_backoff_policy(
16131        &self,
16132        _options: &crate::RequestOptions,
16133    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16134        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16135    }
16136
16137    #[doc(hidden)]
16138    /// Returns the poller options.
16139    ///
16140    /// When mocking, this method is typically irrelevant. Do not try to verify
16141    /// it is called by your mocks.
16142    fn get_poller_options(
16143        &self,
16144        _options: &crate::RequestOptions,
16145    ) -> google_cloud_lro::PollerOptions {
16146        google_cloud_lro::PollerOptions::default()
16147    }
16148}
16149
16150/// Defines the trait used to implement [super::client::TargetSslProxies].
16151///
16152/// Application developers may need to implement this trait to mock
16153/// `client::TargetSslProxies`.  In other use-cases, application developers only
16154/// use `client::TargetSslProxies` and need not be concerned with this trait or
16155/// its implementations.
16156///
16157/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16158/// too. To avoid breaking applications the trait provides a default
16159/// implementation of each method. Most of these implementations just return an
16160/// error.
16161#[cfg(feature = "target-ssl-proxies")]
16162#[cfg_attr(docsrs, doc(cfg(feature = "target-ssl-proxies")))]
16163pub trait TargetSslProxies: std::fmt::Debug + Send + Sync {
16164    /// Implements [super::client::TargetSslProxies::delete].
16165    fn delete(
16166        &self,
16167        _req: crate::model::target_ssl_proxies::DeleteRequest,
16168        _options: crate::RequestOptions,
16169    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16170    {
16171        gaxi::unimplemented::unimplemented_stub()
16172    }
16173
16174    /// Implements [super::client::TargetSslProxies::get].
16175    fn get(
16176        &self,
16177        _req: crate::model::target_ssl_proxies::GetRequest,
16178        _options: crate::RequestOptions,
16179    ) -> impl std::future::Future<
16180        Output = crate::Result<crate::Response<crate::model::TargetSslProxy>>,
16181    > + Send {
16182        gaxi::unimplemented::unimplemented_stub()
16183    }
16184
16185    /// Implements [super::client::TargetSslProxies::insert].
16186    fn insert(
16187        &self,
16188        _req: crate::model::target_ssl_proxies::InsertRequest,
16189        _options: crate::RequestOptions,
16190    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16191    {
16192        gaxi::unimplemented::unimplemented_stub()
16193    }
16194
16195    /// Implements [super::client::TargetSslProxies::list].
16196    fn list(
16197        &self,
16198        _req: crate::model::target_ssl_proxies::ListRequest,
16199        _options: crate::RequestOptions,
16200    ) -> impl std::future::Future<
16201        Output = crate::Result<crate::Response<crate::model::TargetSslProxyList>>,
16202    > + Send {
16203        gaxi::unimplemented::unimplemented_stub()
16204    }
16205
16206    /// Implements [super::client::TargetSslProxies::set_backend_service].
16207    fn set_backend_service(
16208        &self,
16209        _req: crate::model::target_ssl_proxies::SetBackendServiceRequest,
16210        _options: crate::RequestOptions,
16211    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16212    {
16213        gaxi::unimplemented::unimplemented_stub()
16214    }
16215
16216    /// Implements [super::client::TargetSslProxies::set_certificate_map].
16217    fn set_certificate_map(
16218        &self,
16219        _req: crate::model::target_ssl_proxies::SetCertificateMapRequest,
16220        _options: crate::RequestOptions,
16221    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16222    {
16223        gaxi::unimplemented::unimplemented_stub()
16224    }
16225
16226    /// Implements [super::client::TargetSslProxies::set_proxy_header].
16227    fn set_proxy_header(
16228        &self,
16229        _req: crate::model::target_ssl_proxies::SetProxyHeaderRequest,
16230        _options: crate::RequestOptions,
16231    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16232    {
16233        gaxi::unimplemented::unimplemented_stub()
16234    }
16235
16236    /// Implements [super::client::TargetSslProxies::set_ssl_certificates].
16237    fn set_ssl_certificates(
16238        &self,
16239        _req: crate::model::target_ssl_proxies::SetSslCertificatesRequest,
16240        _options: crate::RequestOptions,
16241    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16242    {
16243        gaxi::unimplemented::unimplemented_stub()
16244    }
16245
16246    /// Implements [super::client::TargetSslProxies::set_ssl_policy].
16247    fn set_ssl_policy(
16248        &self,
16249        _req: crate::model::target_ssl_proxies::SetSslPolicyRequest,
16250        _options: crate::RequestOptions,
16251    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16252    {
16253        gaxi::unimplemented::unimplemented_stub()
16254    }
16255
16256    /// Implements [super::client::TargetSslProxies::test_iam_permissions].
16257    fn test_iam_permissions(
16258        &self,
16259        _req: crate::model::target_ssl_proxies::TestIamPermissionsRequest,
16260        _options: crate::RequestOptions,
16261    ) -> impl std::future::Future<
16262        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
16263    > + Send {
16264        gaxi::unimplemented::unimplemented_stub()
16265    }
16266
16267    /// Implements [super::client::TargetSslProxies::get_operation].
16268    fn get_operation(
16269        &self,
16270        _req: crate::model::global_operations::GetRequest,
16271        _options: crate::RequestOptions,
16272    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16273    {
16274        gaxi::unimplemented::unimplemented_stub()
16275    }
16276
16277    /// Returns the polling error policy.
16278    ///
16279    /// When mocking, this method is typically irrelevant. Do not try to verify
16280    /// it is called by your mocks.
16281    fn get_polling_error_policy(
16282        &self,
16283        _options: &crate::RequestOptions,
16284    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16285        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16286    }
16287
16288    /// Returns the polling backoff policy.
16289    ///
16290    /// When mocking, this method is typically irrelevant. Do not try to verify
16291    /// it is called by your mocks.
16292    fn get_polling_backoff_policy(
16293        &self,
16294        _options: &crate::RequestOptions,
16295    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16296        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16297    }
16298
16299    #[doc(hidden)]
16300    /// Returns the poller options.
16301    ///
16302    /// When mocking, this method is typically irrelevant. Do not try to verify
16303    /// it is called by your mocks.
16304    fn get_poller_options(
16305        &self,
16306        _options: &crate::RequestOptions,
16307    ) -> google_cloud_lro::PollerOptions {
16308        google_cloud_lro::PollerOptions::default()
16309    }
16310}
16311
16312/// Defines the trait used to implement [super::client::TargetTcpProxies].
16313///
16314/// Application developers may need to implement this trait to mock
16315/// `client::TargetTcpProxies`.  In other use-cases, application developers only
16316/// use `client::TargetTcpProxies` and need not be concerned with this trait or
16317/// its implementations.
16318///
16319/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16320/// too. To avoid breaking applications the trait provides a default
16321/// implementation of each method. Most of these implementations just return an
16322/// error.
16323#[cfg(feature = "target-tcp-proxies")]
16324#[cfg_attr(docsrs, doc(cfg(feature = "target-tcp-proxies")))]
16325pub trait TargetTcpProxies: std::fmt::Debug + Send + Sync {
16326    /// Implements [super::client::TargetTcpProxies::aggregated_list].
16327    fn aggregated_list(
16328        &self,
16329        _req: crate::model::target_tcp_proxies::AggregatedListRequest,
16330        _options: crate::RequestOptions,
16331    ) -> impl std::future::Future<
16332        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyAggregatedList>>,
16333    > + Send {
16334        gaxi::unimplemented::unimplemented_stub()
16335    }
16336
16337    /// Implements [super::client::TargetTcpProxies::delete].
16338    fn delete(
16339        &self,
16340        _req: crate::model::target_tcp_proxies::DeleteRequest,
16341        _options: crate::RequestOptions,
16342    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16343    {
16344        gaxi::unimplemented::unimplemented_stub()
16345    }
16346
16347    /// Implements [super::client::TargetTcpProxies::get].
16348    fn get(
16349        &self,
16350        _req: crate::model::target_tcp_proxies::GetRequest,
16351        _options: crate::RequestOptions,
16352    ) -> impl std::future::Future<
16353        Output = crate::Result<crate::Response<crate::model::TargetTcpProxy>>,
16354    > + Send {
16355        gaxi::unimplemented::unimplemented_stub()
16356    }
16357
16358    /// Implements [super::client::TargetTcpProxies::insert].
16359    fn insert(
16360        &self,
16361        _req: crate::model::target_tcp_proxies::InsertRequest,
16362        _options: crate::RequestOptions,
16363    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16364    {
16365        gaxi::unimplemented::unimplemented_stub()
16366    }
16367
16368    /// Implements [super::client::TargetTcpProxies::list].
16369    fn list(
16370        &self,
16371        _req: crate::model::target_tcp_proxies::ListRequest,
16372        _options: crate::RequestOptions,
16373    ) -> impl std::future::Future<
16374        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyList>>,
16375    > + Send {
16376        gaxi::unimplemented::unimplemented_stub()
16377    }
16378
16379    /// Implements [super::client::TargetTcpProxies::set_backend_service].
16380    fn set_backend_service(
16381        &self,
16382        _req: crate::model::target_tcp_proxies::SetBackendServiceRequest,
16383        _options: crate::RequestOptions,
16384    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16385    {
16386        gaxi::unimplemented::unimplemented_stub()
16387    }
16388
16389    /// Implements [super::client::TargetTcpProxies::set_proxy_header].
16390    fn set_proxy_header(
16391        &self,
16392        _req: crate::model::target_tcp_proxies::SetProxyHeaderRequest,
16393        _options: crate::RequestOptions,
16394    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16395    {
16396        gaxi::unimplemented::unimplemented_stub()
16397    }
16398
16399    /// Implements [super::client::TargetTcpProxies::test_iam_permissions].
16400    fn test_iam_permissions(
16401        &self,
16402        _req: crate::model::target_tcp_proxies::TestIamPermissionsRequest,
16403        _options: crate::RequestOptions,
16404    ) -> impl std::future::Future<
16405        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
16406    > + Send {
16407        gaxi::unimplemented::unimplemented_stub()
16408    }
16409
16410    /// Implements [super::client::TargetTcpProxies::get_operation].
16411    fn get_operation(
16412        &self,
16413        _req: crate::model::global_operations::GetRequest,
16414        _options: crate::RequestOptions,
16415    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16416    {
16417        gaxi::unimplemented::unimplemented_stub()
16418    }
16419
16420    /// Returns the polling error policy.
16421    ///
16422    /// When mocking, this method is typically irrelevant. Do not try to verify
16423    /// it is called by your mocks.
16424    fn get_polling_error_policy(
16425        &self,
16426        _options: &crate::RequestOptions,
16427    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16428        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16429    }
16430
16431    /// Returns the polling backoff policy.
16432    ///
16433    /// When mocking, this method is typically irrelevant. Do not try to verify
16434    /// it is called by your mocks.
16435    fn get_polling_backoff_policy(
16436        &self,
16437        _options: &crate::RequestOptions,
16438    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16439        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16440    }
16441
16442    #[doc(hidden)]
16443    /// Returns the poller options.
16444    ///
16445    /// When mocking, this method is typically irrelevant. Do not try to verify
16446    /// it is called by your mocks.
16447    fn get_poller_options(
16448        &self,
16449        _options: &crate::RequestOptions,
16450    ) -> google_cloud_lro::PollerOptions {
16451        google_cloud_lro::PollerOptions::default()
16452    }
16453}
16454
16455/// Defines the trait used to implement [super::client::TargetVpnGateways].
16456///
16457/// Application developers may need to implement this trait to mock
16458/// `client::TargetVpnGateways`.  In other use-cases, application developers only
16459/// use `client::TargetVpnGateways` and need not be concerned with this trait or
16460/// its implementations.
16461///
16462/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16463/// too. To avoid breaking applications the trait provides a default
16464/// implementation of each method. Most of these implementations just return an
16465/// error.
16466#[cfg(feature = "target-vpn-gateways")]
16467#[cfg_attr(docsrs, doc(cfg(feature = "target-vpn-gateways")))]
16468pub trait TargetVpnGateways: std::fmt::Debug + Send + Sync {
16469    /// Implements [super::client::TargetVpnGateways::aggregated_list].
16470    fn aggregated_list(
16471        &self,
16472        _req: crate::model::target_vpn_gateways::AggregatedListRequest,
16473        _options: crate::RequestOptions,
16474    ) -> impl std::future::Future<
16475        Output = crate::Result<crate::Response<crate::model::TargetVpnGatewayAggregatedList>>,
16476    > + Send {
16477        gaxi::unimplemented::unimplemented_stub()
16478    }
16479
16480    /// Implements [super::client::TargetVpnGateways::delete].
16481    fn delete(
16482        &self,
16483        _req: crate::model::target_vpn_gateways::DeleteRequest,
16484        _options: crate::RequestOptions,
16485    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16486    {
16487        gaxi::unimplemented::unimplemented_stub()
16488    }
16489
16490    /// Implements [super::client::TargetVpnGateways::get].
16491    fn get(
16492        &self,
16493        _req: crate::model::target_vpn_gateways::GetRequest,
16494        _options: crate::RequestOptions,
16495    ) -> impl std::future::Future<
16496        Output = crate::Result<crate::Response<crate::model::TargetVpnGateway>>,
16497    > + Send {
16498        gaxi::unimplemented::unimplemented_stub()
16499    }
16500
16501    /// Implements [super::client::TargetVpnGateways::insert].
16502    fn insert(
16503        &self,
16504        _req: crate::model::target_vpn_gateways::InsertRequest,
16505        _options: crate::RequestOptions,
16506    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16507    {
16508        gaxi::unimplemented::unimplemented_stub()
16509    }
16510
16511    /// Implements [super::client::TargetVpnGateways::list].
16512    fn list(
16513        &self,
16514        _req: crate::model::target_vpn_gateways::ListRequest,
16515        _options: crate::RequestOptions,
16516    ) -> impl std::future::Future<
16517        Output = crate::Result<crate::Response<crate::model::TargetVpnGatewayList>>,
16518    > + Send {
16519        gaxi::unimplemented::unimplemented_stub()
16520    }
16521
16522    /// Implements [super::client::TargetVpnGateways::set_labels].
16523    fn set_labels(
16524        &self,
16525        _req: crate::model::target_vpn_gateways::SetLabelsRequest,
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::TargetVpnGateways::get_operation].
16533    fn get_operation(
16534        &self,
16535        _req: crate::model::region_operations::GetRequest,
16536        _options: crate::RequestOptions,
16537    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16538    {
16539        gaxi::unimplemented::unimplemented_stub()
16540    }
16541
16542    /// Returns the polling error policy.
16543    ///
16544    /// When mocking, this method is typically irrelevant. Do not try to verify
16545    /// it is called by your mocks.
16546    fn get_polling_error_policy(
16547        &self,
16548        _options: &crate::RequestOptions,
16549    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16550        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16551    }
16552
16553    /// Returns the polling backoff policy.
16554    ///
16555    /// When mocking, this method is typically irrelevant. Do not try to verify
16556    /// it is called by your mocks.
16557    fn get_polling_backoff_policy(
16558        &self,
16559        _options: &crate::RequestOptions,
16560    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16561        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16562    }
16563
16564    #[doc(hidden)]
16565    /// Returns the poller options.
16566    ///
16567    /// When mocking, this method is typically irrelevant. Do not try to verify
16568    /// it is called by your mocks.
16569    fn get_poller_options(
16570        &self,
16571        _options: &crate::RequestOptions,
16572    ) -> google_cloud_lro::PollerOptions {
16573        google_cloud_lro::PollerOptions::default()
16574    }
16575}
16576
16577/// Defines the trait used to implement [super::client::UrlMaps].
16578///
16579/// Application developers may need to implement this trait to mock
16580/// `client::UrlMaps`.  In other use-cases, application developers only
16581/// use `client::UrlMaps` and need not be concerned with this trait or
16582/// its implementations.
16583///
16584/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16585/// too. To avoid breaking applications the trait provides a default
16586/// implementation of each method. Most of these implementations just return an
16587/// error.
16588#[cfg(feature = "url-maps")]
16589#[cfg_attr(docsrs, doc(cfg(feature = "url-maps")))]
16590pub trait UrlMaps: std::fmt::Debug + Send + Sync {
16591    /// Implements [super::client::UrlMaps::aggregated_list].
16592    fn aggregated_list(
16593        &self,
16594        _req: crate::model::url_maps::AggregatedListRequest,
16595        _options: crate::RequestOptions,
16596    ) -> impl std::future::Future<
16597        Output = crate::Result<crate::Response<crate::model::UrlMapsAggregatedList>>,
16598    > + Send {
16599        gaxi::unimplemented::unimplemented_stub()
16600    }
16601
16602    /// Implements [super::client::UrlMaps::delete].
16603    fn delete(
16604        &self,
16605        _req: crate::model::url_maps::DeleteRequest,
16606        _options: crate::RequestOptions,
16607    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16608    {
16609        gaxi::unimplemented::unimplemented_stub()
16610    }
16611
16612    /// Implements [super::client::UrlMaps::get].
16613    fn get(
16614        &self,
16615        _req: crate::model::url_maps::GetRequest,
16616        _options: crate::RequestOptions,
16617    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMap>>> + Send
16618    {
16619        gaxi::unimplemented::unimplemented_stub()
16620    }
16621
16622    /// Implements [super::client::UrlMaps::insert].
16623    fn insert(
16624        &self,
16625        _req: crate::model::url_maps::InsertRequest,
16626        _options: crate::RequestOptions,
16627    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16628    {
16629        gaxi::unimplemented::unimplemented_stub()
16630    }
16631
16632    /// Implements [super::client::UrlMaps::invalidate_cache].
16633    fn invalidate_cache(
16634        &self,
16635        _req: crate::model::url_maps::InvalidateCacheRequest,
16636        _options: crate::RequestOptions,
16637    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16638    {
16639        gaxi::unimplemented::unimplemented_stub()
16640    }
16641
16642    /// Implements [super::client::UrlMaps::list].
16643    fn list(
16644        &self,
16645        _req: crate::model::url_maps::ListRequest,
16646        _options: crate::RequestOptions,
16647    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMapList>>> + Send
16648    {
16649        gaxi::unimplemented::unimplemented_stub()
16650    }
16651
16652    /// Implements [super::client::UrlMaps::patch].
16653    fn patch(
16654        &self,
16655        _req: crate::model::url_maps::PatchRequest,
16656        _options: crate::RequestOptions,
16657    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16658    {
16659        gaxi::unimplemented::unimplemented_stub()
16660    }
16661
16662    /// Implements [super::client::UrlMaps::test_iam_permissions].
16663    fn test_iam_permissions(
16664        &self,
16665        _req: crate::model::url_maps::TestIamPermissionsRequest,
16666        _options: crate::RequestOptions,
16667    ) -> impl std::future::Future<
16668        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
16669    > + Send {
16670        gaxi::unimplemented::unimplemented_stub()
16671    }
16672
16673    /// Implements [super::client::UrlMaps::update].
16674    fn update(
16675        &self,
16676        _req: crate::model::url_maps::UpdateRequest,
16677        _options: crate::RequestOptions,
16678    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16679    {
16680        gaxi::unimplemented::unimplemented_stub()
16681    }
16682
16683    /// Implements [super::client::UrlMaps::validate].
16684    fn validate(
16685        &self,
16686        _req: crate::model::url_maps::ValidateRequest,
16687        _options: crate::RequestOptions,
16688    ) -> impl std::future::Future<
16689        Output = crate::Result<crate::Response<crate::model::UrlMapsValidateResponse>>,
16690    > + Send {
16691        gaxi::unimplemented::unimplemented_stub()
16692    }
16693
16694    /// Implements [super::client::UrlMaps::get_operation].
16695    fn get_operation(
16696        &self,
16697        _req: crate::model::global_operations::GetRequest,
16698        _options: crate::RequestOptions,
16699    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16700    {
16701        gaxi::unimplemented::unimplemented_stub()
16702    }
16703
16704    /// Returns the polling error policy.
16705    ///
16706    /// When mocking, this method is typically irrelevant. Do not try to verify
16707    /// it is called by your mocks.
16708    fn get_polling_error_policy(
16709        &self,
16710        _options: &crate::RequestOptions,
16711    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16712        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16713    }
16714
16715    /// Returns the polling backoff policy.
16716    ///
16717    /// When mocking, this method is typically irrelevant. Do not try to verify
16718    /// it is called by your mocks.
16719    fn get_polling_backoff_policy(
16720        &self,
16721        _options: &crate::RequestOptions,
16722    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16723        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16724    }
16725
16726    #[doc(hidden)]
16727    /// Returns the poller options.
16728    ///
16729    /// When mocking, this method is typically irrelevant. Do not try to verify
16730    /// it is called by your mocks.
16731    fn get_poller_options(
16732        &self,
16733        _options: &crate::RequestOptions,
16734    ) -> google_cloud_lro::PollerOptions {
16735        google_cloud_lro::PollerOptions::default()
16736    }
16737}
16738
16739/// Defines the trait used to implement [super::client::VpnGateways].
16740///
16741/// Application developers may need to implement this trait to mock
16742/// `client::VpnGateways`.  In other use-cases, application developers only
16743/// use `client::VpnGateways` and need not be concerned with this trait or
16744/// its implementations.
16745///
16746/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16747/// too. To avoid breaking applications the trait provides a default
16748/// implementation of each method. Most of these implementations just return an
16749/// error.
16750#[cfg(feature = "vpn-gateways")]
16751#[cfg_attr(docsrs, doc(cfg(feature = "vpn-gateways")))]
16752pub trait VpnGateways: std::fmt::Debug + Send + Sync {
16753    /// Implements [super::client::VpnGateways::aggregated_list].
16754    fn aggregated_list(
16755        &self,
16756        _req: crate::model::vpn_gateways::AggregatedListRequest,
16757        _options: crate::RequestOptions,
16758    ) -> impl std::future::Future<
16759        Output = crate::Result<crate::Response<crate::model::VpnGatewayAggregatedList>>,
16760    > + Send {
16761        gaxi::unimplemented::unimplemented_stub()
16762    }
16763
16764    /// Implements [super::client::VpnGateways::delete].
16765    fn delete(
16766        &self,
16767        _req: crate::model::vpn_gateways::DeleteRequest,
16768        _options: crate::RequestOptions,
16769    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16770    {
16771        gaxi::unimplemented::unimplemented_stub()
16772    }
16773
16774    /// Implements [super::client::VpnGateways::get].
16775    fn get(
16776        &self,
16777        _req: crate::model::vpn_gateways::GetRequest,
16778        _options: crate::RequestOptions,
16779    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::VpnGateway>>> + Send
16780    {
16781        gaxi::unimplemented::unimplemented_stub()
16782    }
16783
16784    /// Implements [super::client::VpnGateways::get_status].
16785    fn get_status(
16786        &self,
16787        _req: crate::model::vpn_gateways::GetStatusRequest,
16788        _options: crate::RequestOptions,
16789    ) -> impl std::future::Future<
16790        Output = crate::Result<crate::Response<crate::model::VpnGatewaysGetStatusResponse>>,
16791    > + Send {
16792        gaxi::unimplemented::unimplemented_stub()
16793    }
16794
16795    /// Implements [super::client::VpnGateways::insert].
16796    fn insert(
16797        &self,
16798        _req: crate::model::vpn_gateways::InsertRequest,
16799        _options: crate::RequestOptions,
16800    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16801    {
16802        gaxi::unimplemented::unimplemented_stub()
16803    }
16804
16805    /// Implements [super::client::VpnGateways::list].
16806    fn list(
16807        &self,
16808        _req: crate::model::vpn_gateways::ListRequest,
16809        _options: crate::RequestOptions,
16810    ) -> impl std::future::Future<
16811        Output = crate::Result<crate::Response<crate::model::VpnGatewayList>>,
16812    > + Send {
16813        gaxi::unimplemented::unimplemented_stub()
16814    }
16815
16816    /// Implements [super::client::VpnGateways::set_labels].
16817    fn set_labels(
16818        &self,
16819        _req: crate::model::vpn_gateways::SetLabelsRequest,
16820        _options: crate::RequestOptions,
16821    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16822    {
16823        gaxi::unimplemented::unimplemented_stub()
16824    }
16825
16826    /// Implements [super::client::VpnGateways::test_iam_permissions].
16827    fn test_iam_permissions(
16828        &self,
16829        _req: crate::model::vpn_gateways::TestIamPermissionsRequest,
16830        _options: crate::RequestOptions,
16831    ) -> impl std::future::Future<
16832        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
16833    > + Send {
16834        gaxi::unimplemented::unimplemented_stub()
16835    }
16836
16837    /// Implements [super::client::VpnGateways::get_operation].
16838    fn get_operation(
16839        &self,
16840        _req: crate::model::region_operations::GetRequest,
16841        _options: crate::RequestOptions,
16842    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16843    {
16844        gaxi::unimplemented::unimplemented_stub()
16845    }
16846
16847    /// Returns the polling error policy.
16848    ///
16849    /// When mocking, this method is typically irrelevant. Do not try to verify
16850    /// it is called by your mocks.
16851    fn get_polling_error_policy(
16852        &self,
16853        _options: &crate::RequestOptions,
16854    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16855        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16856    }
16857
16858    /// Returns the polling backoff policy.
16859    ///
16860    /// When mocking, this method is typically irrelevant. Do not try to verify
16861    /// it is called by your mocks.
16862    fn get_polling_backoff_policy(
16863        &self,
16864        _options: &crate::RequestOptions,
16865    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16866        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16867    }
16868
16869    #[doc(hidden)]
16870    /// Returns the poller options.
16871    ///
16872    /// When mocking, this method is typically irrelevant. Do not try to verify
16873    /// it is called by your mocks.
16874    fn get_poller_options(
16875        &self,
16876        _options: &crate::RequestOptions,
16877    ) -> google_cloud_lro::PollerOptions {
16878        google_cloud_lro::PollerOptions::default()
16879    }
16880}
16881
16882/// Defines the trait used to implement [super::client::VpnTunnels].
16883///
16884/// Application developers may need to implement this trait to mock
16885/// `client::VpnTunnels`.  In other use-cases, application developers only
16886/// use `client::VpnTunnels` and need not be concerned with this trait or
16887/// its implementations.
16888///
16889/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16890/// too. To avoid breaking applications the trait provides a default
16891/// implementation of each method. Most of these implementations just return an
16892/// error.
16893#[cfg(feature = "vpn-tunnels")]
16894#[cfg_attr(docsrs, doc(cfg(feature = "vpn-tunnels")))]
16895pub trait VpnTunnels: std::fmt::Debug + Send + Sync {
16896    /// Implements [super::client::VpnTunnels::aggregated_list].
16897    fn aggregated_list(
16898        &self,
16899        _req: crate::model::vpn_tunnels::AggregatedListRequest,
16900        _options: crate::RequestOptions,
16901    ) -> impl std::future::Future<
16902        Output = crate::Result<crate::Response<crate::model::VpnTunnelAggregatedList>>,
16903    > + Send {
16904        gaxi::unimplemented::unimplemented_stub()
16905    }
16906
16907    /// Implements [super::client::VpnTunnels::delete].
16908    fn delete(
16909        &self,
16910        _req: crate::model::vpn_tunnels::DeleteRequest,
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::VpnTunnels::get].
16918    fn get(
16919        &self,
16920        _req: crate::model::vpn_tunnels::GetRequest,
16921        _options: crate::RequestOptions,
16922    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::VpnTunnel>>> + Send
16923    {
16924        gaxi::unimplemented::unimplemented_stub()
16925    }
16926
16927    /// Implements [super::client::VpnTunnels::insert].
16928    fn insert(
16929        &self,
16930        _req: crate::model::vpn_tunnels::InsertRequest,
16931        _options: crate::RequestOptions,
16932    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16933    {
16934        gaxi::unimplemented::unimplemented_stub()
16935    }
16936
16937    /// Implements [super::client::VpnTunnels::list].
16938    fn list(
16939        &self,
16940        _req: crate::model::vpn_tunnels::ListRequest,
16941        _options: crate::RequestOptions,
16942    ) -> impl std::future::Future<
16943        Output = crate::Result<crate::Response<crate::model::VpnTunnelList>>,
16944    > + Send {
16945        gaxi::unimplemented::unimplemented_stub()
16946    }
16947
16948    /// Implements [super::client::VpnTunnels::set_labels].
16949    fn set_labels(
16950        &self,
16951        _req: crate::model::vpn_tunnels::SetLabelsRequest,
16952        _options: crate::RequestOptions,
16953    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16954    {
16955        gaxi::unimplemented::unimplemented_stub()
16956    }
16957
16958    /// Implements [super::client::VpnTunnels::get_operation].
16959    fn get_operation(
16960        &self,
16961        _req: crate::model::region_operations::GetRequest,
16962        _options: crate::RequestOptions,
16963    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16964    {
16965        gaxi::unimplemented::unimplemented_stub()
16966    }
16967
16968    /// Returns the polling error policy.
16969    ///
16970    /// When mocking, this method is typically irrelevant. Do not try to verify
16971    /// it is called by your mocks.
16972    fn get_polling_error_policy(
16973        &self,
16974        _options: &crate::RequestOptions,
16975    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16976        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16977    }
16978
16979    /// Returns the polling backoff policy.
16980    ///
16981    /// When mocking, this method is typically irrelevant. Do not try to verify
16982    /// it is called by your mocks.
16983    fn get_polling_backoff_policy(
16984        &self,
16985        _options: &crate::RequestOptions,
16986    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16987        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16988    }
16989
16990    #[doc(hidden)]
16991    /// Returns the poller options.
16992    ///
16993    /// When mocking, this method is typically irrelevant. Do not try to verify
16994    /// it is called by your mocks.
16995    fn get_poller_options(
16996        &self,
16997        _options: &crate::RequestOptions,
16998    ) -> google_cloud_lro::PollerOptions {
16999        google_cloud_lro::PollerOptions::default()
17000    }
17001}
17002
17003/// Defines the trait used to implement [super::client::WireGroups].
17004///
17005/// Application developers may need to implement this trait to mock
17006/// `client::WireGroups`.  In other use-cases, application developers only
17007/// use `client::WireGroups` and need not be concerned with this trait or
17008/// its implementations.
17009///
17010/// Services gain new RPCs routinely. Consequently, this trait gains new methods
17011/// too. To avoid breaking applications the trait provides a default
17012/// implementation of each method. Most of these implementations just return an
17013/// error.
17014#[cfg(feature = "wire-groups")]
17015#[cfg_attr(docsrs, doc(cfg(feature = "wire-groups")))]
17016pub trait WireGroups: std::fmt::Debug + Send + Sync {
17017    /// Implements [super::client::WireGroups::delete].
17018    fn delete(
17019        &self,
17020        _req: crate::model::wire_groups::DeleteRequest,
17021        _options: crate::RequestOptions,
17022    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
17023    {
17024        gaxi::unimplemented::unimplemented_stub()
17025    }
17026
17027    /// Implements [super::client::WireGroups::get].
17028    fn get(
17029        &self,
17030        _req: crate::model::wire_groups::GetRequest,
17031        _options: crate::RequestOptions,
17032    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::WireGroup>>> + Send
17033    {
17034        gaxi::unimplemented::unimplemented_stub()
17035    }
17036
17037    /// Implements [super::client::WireGroups::insert].
17038    fn insert(
17039        &self,
17040        _req: crate::model::wire_groups::InsertRequest,
17041        _options: crate::RequestOptions,
17042    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
17043    {
17044        gaxi::unimplemented::unimplemented_stub()
17045    }
17046
17047    /// Implements [super::client::WireGroups::list].
17048    fn list(
17049        &self,
17050        _req: crate::model::wire_groups::ListRequest,
17051        _options: crate::RequestOptions,
17052    ) -> impl std::future::Future<
17053        Output = crate::Result<crate::Response<crate::model::WireGroupList>>,
17054    > + Send {
17055        gaxi::unimplemented::unimplemented_stub()
17056    }
17057
17058    /// Implements [super::client::WireGroups::patch].
17059    fn patch(
17060        &self,
17061        _req: crate::model::wire_groups::PatchRequest,
17062        _options: crate::RequestOptions,
17063    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
17064    {
17065        gaxi::unimplemented::unimplemented_stub()
17066    }
17067
17068    /// Implements [super::client::WireGroups::get_operation].
17069    fn get_operation(
17070        &self,
17071        _req: crate::model::global_operations::GetRequest,
17072        _options: crate::RequestOptions,
17073    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
17074    {
17075        gaxi::unimplemented::unimplemented_stub()
17076    }
17077
17078    /// Returns the polling error policy.
17079    ///
17080    /// When mocking, this method is typically irrelevant. Do not try to verify
17081    /// it is called by your mocks.
17082    fn get_polling_error_policy(
17083        &self,
17084        _options: &crate::RequestOptions,
17085    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
17086        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
17087    }
17088
17089    /// Returns the polling backoff policy.
17090    ///
17091    /// When mocking, this method is typically irrelevant. Do not try to verify
17092    /// it is called by your mocks.
17093    fn get_polling_backoff_policy(
17094        &self,
17095        _options: &crate::RequestOptions,
17096    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
17097        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
17098    }
17099
17100    #[doc(hidden)]
17101    /// Returns the poller options.
17102    ///
17103    /// When mocking, this method is typically irrelevant. Do not try to verify
17104    /// it is called by your mocks.
17105    fn get_poller_options(
17106        &self,
17107        _options: &crate::RequestOptions,
17108    ) -> google_cloud_lro::PollerOptions {
17109        google_cloud_lro::PollerOptions::default()
17110    }
17111}
17112
17113/// Defines the trait used to implement [super::client::ZoneOperations].
17114///
17115/// Application developers may need to implement this trait to mock
17116/// `client::ZoneOperations`.  In other use-cases, application developers only
17117/// use `client::ZoneOperations` and need not be concerned with this trait or
17118/// its implementations.
17119///
17120/// Services gain new RPCs routinely. Consequently, this trait gains new methods
17121/// too. To avoid breaking applications the trait provides a default
17122/// implementation of each method. Most of these implementations just return an
17123/// error.
17124#[cfg(feature = "zone-operations")]
17125#[cfg_attr(docsrs, doc(cfg(feature = "zone-operations")))]
17126pub trait ZoneOperations: std::fmt::Debug + Send + Sync {
17127    /// Implements [super::client::ZoneOperations::delete].
17128    fn delete(
17129        &self,
17130        _req: crate::model::zone_operations::DeleteRequest,
17131        _options: crate::RequestOptions,
17132    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
17133        gaxi::unimplemented::unimplemented_stub()
17134    }
17135
17136    /// Implements [super::client::ZoneOperations::get].
17137    fn get(
17138        &self,
17139        _req: crate::model::zone_operations::GetRequest,
17140        _options: crate::RequestOptions,
17141    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
17142    {
17143        gaxi::unimplemented::unimplemented_stub()
17144    }
17145
17146    /// Implements [super::client::ZoneOperations::list].
17147    fn list(
17148        &self,
17149        _req: crate::model::zone_operations::ListRequest,
17150        _options: crate::RequestOptions,
17151    ) -> impl std::future::Future<
17152        Output = crate::Result<crate::Response<crate::model::OperationList>>,
17153    > + Send {
17154        gaxi::unimplemented::unimplemented_stub()
17155    }
17156
17157    /// Implements [super::client::ZoneOperations::wait].
17158    fn wait(
17159        &self,
17160        _req: crate::model::zone_operations::WaitRequest,
17161        _options: crate::RequestOptions,
17162    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
17163    {
17164        gaxi::unimplemented::unimplemented_stub()
17165    }
17166}
17167
17168/// Defines the trait used to implement [super::client::ZoneVmExtensionPolicies].
17169///
17170/// Application developers may need to implement this trait to mock
17171/// `client::ZoneVmExtensionPolicies`.  In other use-cases, application developers only
17172/// use `client::ZoneVmExtensionPolicies` and need not be concerned with this trait or
17173/// its implementations.
17174///
17175/// Services gain new RPCs routinely. Consequently, this trait gains new methods
17176/// too. To avoid breaking applications the trait provides a default
17177/// implementation of each method. Most of these implementations just return an
17178/// error.
17179#[cfg(feature = "zone-vm-extension-policies")]
17180#[cfg_attr(docsrs, doc(cfg(feature = "zone-vm-extension-policies")))]
17181pub trait ZoneVmExtensionPolicies: std::fmt::Debug + Send + Sync {
17182    /// Implements [super::client::ZoneVmExtensionPolicies::delete].
17183    fn delete(
17184        &self,
17185        _req: crate::model::zone_vm_extension_policies::DeleteRequest,
17186        _options: crate::RequestOptions,
17187    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
17188    {
17189        gaxi::unimplemented::unimplemented_stub()
17190    }
17191
17192    /// Implements [super::client::ZoneVmExtensionPolicies::get].
17193    fn get(
17194        &self,
17195        _req: crate::model::zone_vm_extension_policies::GetRequest,
17196        _options: crate::RequestOptions,
17197    ) -> impl std::future::Future<
17198        Output = crate::Result<crate::Response<crate::model::VmExtensionPolicy>>,
17199    > + Send {
17200        gaxi::unimplemented::unimplemented_stub()
17201    }
17202
17203    /// Implements [super::client::ZoneVmExtensionPolicies::insert].
17204    fn insert(
17205        &self,
17206        _req: crate::model::zone_vm_extension_policies::InsertRequest,
17207        _options: crate::RequestOptions,
17208    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
17209    {
17210        gaxi::unimplemented::unimplemented_stub()
17211    }
17212
17213    /// Implements [super::client::ZoneVmExtensionPolicies::list].
17214    fn list(
17215        &self,
17216        _req: crate::model::zone_vm_extension_policies::ListRequest,
17217        _options: crate::RequestOptions,
17218    ) -> impl std::future::Future<
17219        Output = crate::Result<crate::Response<crate::model::VmExtensionPolicyList>>,
17220    > + Send {
17221        gaxi::unimplemented::unimplemented_stub()
17222    }
17223
17224    /// Implements [super::client::ZoneVmExtensionPolicies::update].
17225    fn update(
17226        &self,
17227        _req: crate::model::zone_vm_extension_policies::UpdateRequest,
17228        _options: crate::RequestOptions,
17229    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
17230    {
17231        gaxi::unimplemented::unimplemented_stub()
17232    }
17233
17234    /// Implements [super::client::ZoneVmExtensionPolicies::get_operation].
17235    fn get_operation(
17236        &self,
17237        _req: crate::model::zone_operations::GetRequest,
17238        _options: crate::RequestOptions,
17239    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
17240    {
17241        gaxi::unimplemented::unimplemented_stub()
17242    }
17243
17244    /// Returns the polling error policy.
17245    ///
17246    /// When mocking, this method is typically irrelevant. Do not try to verify
17247    /// it is called by your mocks.
17248    fn get_polling_error_policy(
17249        &self,
17250        _options: &crate::RequestOptions,
17251    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
17252        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
17253    }
17254
17255    /// Returns the polling backoff policy.
17256    ///
17257    /// When mocking, this method is typically irrelevant. Do not try to verify
17258    /// it is called by your mocks.
17259    fn get_polling_backoff_policy(
17260        &self,
17261        _options: &crate::RequestOptions,
17262    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
17263        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
17264    }
17265
17266    #[doc(hidden)]
17267    /// Returns the poller options.
17268    ///
17269    /// When mocking, this method is typically irrelevant. Do not try to verify
17270    /// it is called by your mocks.
17271    fn get_poller_options(
17272        &self,
17273        _options: &crate::RequestOptions,
17274    ) -> google_cloud_lro::PollerOptions {
17275        google_cloud_lro::PollerOptions::default()
17276    }
17277}
17278
17279/// Defines the trait used to implement [super::client::Zones].
17280///
17281/// Application developers may need to implement this trait to mock
17282/// `client::Zones`.  In other use-cases, application developers only
17283/// use `client::Zones` and need not be concerned with this trait or
17284/// its implementations.
17285///
17286/// Services gain new RPCs routinely. Consequently, this trait gains new methods
17287/// too. To avoid breaking applications the trait provides a default
17288/// implementation of each method. Most of these implementations just return an
17289/// error.
17290#[cfg(feature = "zones")]
17291#[cfg_attr(docsrs, doc(cfg(feature = "zones")))]
17292pub trait Zones: std::fmt::Debug + Send + Sync {
17293    /// Implements [super::client::Zones::get].
17294    fn get(
17295        &self,
17296        _req: crate::model::zones::GetRequest,
17297        _options: crate::RequestOptions,
17298    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Zone>>> + Send
17299    {
17300        gaxi::unimplemented::unimplemented_stub()
17301    }
17302
17303    /// Implements [super::client::Zones::list].
17304    fn list(
17305        &self,
17306        _req: crate::model::zones::ListRequest,
17307        _options: crate::RequestOptions,
17308    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ZoneList>>> + Send
17309    {
17310        gaxi::unimplemented::unimplemented_stub()
17311    }
17312}