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
244/// Defines the trait used to implement [super::client::Autoscalers].
245///
246/// Application developers may need to implement this trait to mock
247/// `client::Autoscalers`.  In other use-cases, application developers only
248/// use `client::Autoscalers` and need not be concerned with this trait or
249/// its implementations.
250///
251/// Services gain new RPCs routinely. Consequently, this trait gains new methods
252/// too. To avoid breaking applications the trait provides a default
253/// implementation of each method. Most of these implementations just return an
254/// error.
255#[cfg(feature = "autoscalers")]
256#[cfg_attr(docsrs, doc(cfg(feature = "autoscalers")))]
257pub trait Autoscalers: std::fmt::Debug + Send + Sync {
258    /// Implements [super::client::Autoscalers::aggregated_list].
259    fn aggregated_list(
260        &self,
261        _req: crate::model::autoscalers::AggregatedListRequest,
262        _options: crate::RequestOptions,
263    ) -> impl std::future::Future<
264        Output = crate::Result<crate::Response<crate::model::AutoscalerAggregatedList>>,
265    > + Send {
266        gaxi::unimplemented::unimplemented_stub()
267    }
268
269    /// Implements [super::client::Autoscalers::delete].
270    fn delete(
271        &self,
272        _req: crate::model::autoscalers::DeleteRequest,
273        _options: crate::RequestOptions,
274    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
275    {
276        gaxi::unimplemented::unimplemented_stub()
277    }
278
279    /// Implements [super::client::Autoscalers::get].
280    fn get(
281        &self,
282        _req: crate::model::autoscalers::GetRequest,
283        _options: crate::RequestOptions,
284    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Autoscaler>>> + Send
285    {
286        gaxi::unimplemented::unimplemented_stub()
287    }
288
289    /// Implements [super::client::Autoscalers::insert].
290    fn insert(
291        &self,
292        _req: crate::model::autoscalers::InsertRequest,
293        _options: crate::RequestOptions,
294    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
295    {
296        gaxi::unimplemented::unimplemented_stub()
297    }
298
299    /// Implements [super::client::Autoscalers::list].
300    fn list(
301        &self,
302        _req: crate::model::autoscalers::ListRequest,
303        _options: crate::RequestOptions,
304    ) -> impl std::future::Future<
305        Output = crate::Result<crate::Response<crate::model::AutoscalerList>>,
306    > + Send {
307        gaxi::unimplemented::unimplemented_stub()
308    }
309
310    /// Implements [super::client::Autoscalers::patch].
311    fn patch(
312        &self,
313        _req: crate::model::autoscalers::PatchRequest,
314        _options: crate::RequestOptions,
315    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
316    {
317        gaxi::unimplemented::unimplemented_stub()
318    }
319
320    /// Implements [super::client::Autoscalers::test_iam_permissions].
321    fn test_iam_permissions(
322        &self,
323        _req: crate::model::autoscalers::TestIamPermissionsRequest,
324        _options: crate::RequestOptions,
325    ) -> impl std::future::Future<
326        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
327    > + Send {
328        gaxi::unimplemented::unimplemented_stub()
329    }
330
331    /// Implements [super::client::Autoscalers::update].
332    fn update(
333        &self,
334        _req: crate::model::autoscalers::UpdateRequest,
335        _options: crate::RequestOptions,
336    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
337    {
338        gaxi::unimplemented::unimplemented_stub()
339    }
340
341    /// Implements [super::client::Autoscalers::get_operation].
342    fn get_operation(
343        &self,
344        _req: crate::model::zone_operations::GetRequest,
345        _options: crate::RequestOptions,
346    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
347    {
348        gaxi::unimplemented::unimplemented_stub()
349    }
350
351    /// Returns the polling error policy.
352    ///
353    /// When mocking, this method is typically irrelevant. Do not try to verify
354    /// it is called by your mocks.
355    fn get_polling_error_policy(
356        &self,
357        _options: &crate::RequestOptions,
358    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
359        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
360    }
361
362    /// Returns the polling backoff policy.
363    ///
364    /// When mocking, this method is typically irrelevant. Do not try to verify
365    /// it is called by your mocks.
366    fn get_polling_backoff_policy(
367        &self,
368        _options: &crate::RequestOptions,
369    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
370        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
371    }
372
373    #[doc(hidden)]
374    /// Returns the poller options.
375    ///
376    /// When mocking, this method is typically irrelevant. Do not try to verify
377    /// it is called by your mocks.
378    fn get_poller_options(
379        &self,
380        _options: &crate::RequestOptions,
381    ) -> google_cloud_lro::PollerOptions {
382        google_cloud_lro::PollerOptions::default()
383    }
384}
385
386/// Defines the trait used to implement [super::client::BackendBuckets].
387///
388/// Application developers may need to implement this trait to mock
389/// `client::BackendBuckets`.  In other use-cases, application developers only
390/// use `client::BackendBuckets` and need not be concerned with this trait or
391/// its implementations.
392///
393/// Services gain new RPCs routinely. Consequently, this trait gains new methods
394/// too. To avoid breaking applications the trait provides a default
395/// implementation of each method. Most of these implementations just return an
396/// error.
397#[cfg(feature = "backend-buckets")]
398#[cfg_attr(docsrs, doc(cfg(feature = "backend-buckets")))]
399pub trait BackendBuckets: std::fmt::Debug + Send + Sync {
400    /// Implements [super::client::BackendBuckets::add_signed_url_key].
401    fn add_signed_url_key(
402        &self,
403        _req: crate::model::backend_buckets::AddSignedUrlKeyRequest,
404        _options: crate::RequestOptions,
405    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
406    {
407        gaxi::unimplemented::unimplemented_stub()
408    }
409
410    /// Implements [super::client::BackendBuckets::aggregated_list].
411    fn aggregated_list(
412        &self,
413        _req: crate::model::backend_buckets::AggregatedListRequest,
414        _options: crate::RequestOptions,
415    ) -> impl std::future::Future<
416        Output = crate::Result<crate::Response<crate::model::BackendBucketAggregatedList>>,
417    > + Send {
418        gaxi::unimplemented::unimplemented_stub()
419    }
420
421    /// Implements [super::client::BackendBuckets::delete].
422    fn delete(
423        &self,
424        _req: crate::model::backend_buckets::DeleteRequest,
425        _options: crate::RequestOptions,
426    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
427    {
428        gaxi::unimplemented::unimplemented_stub()
429    }
430
431    /// Implements [super::client::BackendBuckets::delete_signed_url_key].
432    fn delete_signed_url_key(
433        &self,
434        _req: crate::model::backend_buckets::DeleteSignedUrlKeyRequest,
435        _options: crate::RequestOptions,
436    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
437    {
438        gaxi::unimplemented::unimplemented_stub()
439    }
440
441    /// Implements [super::client::BackendBuckets::get].
442    fn get(
443        &self,
444        _req: crate::model::backend_buckets::GetRequest,
445        _options: crate::RequestOptions,
446    ) -> impl std::future::Future<
447        Output = crate::Result<crate::Response<crate::model::BackendBucket>>,
448    > + Send {
449        gaxi::unimplemented::unimplemented_stub()
450    }
451
452    /// Implements [super::client::BackendBuckets::get_iam_policy].
453    fn get_iam_policy(
454        &self,
455        _req: crate::model::backend_buckets::GetIamPolicyRequest,
456        _options: crate::RequestOptions,
457    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
458    {
459        gaxi::unimplemented::unimplemented_stub()
460    }
461
462    /// Implements [super::client::BackendBuckets::insert].
463    fn insert(
464        &self,
465        _req: crate::model::backend_buckets::InsertRequest,
466        _options: crate::RequestOptions,
467    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
468    {
469        gaxi::unimplemented::unimplemented_stub()
470    }
471
472    /// Implements [super::client::BackendBuckets::list].
473    fn list(
474        &self,
475        _req: crate::model::backend_buckets::ListRequest,
476        _options: crate::RequestOptions,
477    ) -> impl std::future::Future<
478        Output = crate::Result<crate::Response<crate::model::BackendBucketList>>,
479    > + Send {
480        gaxi::unimplemented::unimplemented_stub()
481    }
482
483    /// Implements [super::client::BackendBuckets::list_usable].
484    fn list_usable(
485        &self,
486        _req: crate::model::backend_buckets::ListUsableRequest,
487        _options: crate::RequestOptions,
488    ) -> impl std::future::Future<
489        Output = crate::Result<crate::Response<crate::model::BackendBucketListUsable>>,
490    > + Send {
491        gaxi::unimplemented::unimplemented_stub()
492    }
493
494    /// Implements [super::client::BackendBuckets::patch].
495    fn patch(
496        &self,
497        _req: crate::model::backend_buckets::PatchRequest,
498        _options: crate::RequestOptions,
499    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
500    {
501        gaxi::unimplemented::unimplemented_stub()
502    }
503
504    /// Implements [super::client::BackendBuckets::set_edge_security_policy].
505    fn set_edge_security_policy(
506        &self,
507        _req: crate::model::backend_buckets::SetEdgeSecurityPolicyRequest,
508        _options: crate::RequestOptions,
509    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
510    {
511        gaxi::unimplemented::unimplemented_stub()
512    }
513
514    /// Implements [super::client::BackendBuckets::set_iam_policy].
515    fn set_iam_policy(
516        &self,
517        _req: crate::model::backend_buckets::SetIamPolicyRequest,
518        _options: crate::RequestOptions,
519    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
520    {
521        gaxi::unimplemented::unimplemented_stub()
522    }
523
524    /// Implements [super::client::BackendBuckets::test_iam_permissions].
525    fn test_iam_permissions(
526        &self,
527        _req: crate::model::backend_buckets::TestIamPermissionsRequest,
528        _options: crate::RequestOptions,
529    ) -> impl std::future::Future<
530        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
531    > + Send {
532        gaxi::unimplemented::unimplemented_stub()
533    }
534
535    /// Implements [super::client::BackendBuckets::update].
536    fn update(
537        &self,
538        _req: crate::model::backend_buckets::UpdateRequest,
539        _options: crate::RequestOptions,
540    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
541    {
542        gaxi::unimplemented::unimplemented_stub()
543    }
544
545    /// Implements [super::client::BackendBuckets::get_operation].
546    fn get_operation(
547        &self,
548        _req: crate::model::global_operations::GetRequest,
549        _options: crate::RequestOptions,
550    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
551    {
552        gaxi::unimplemented::unimplemented_stub()
553    }
554
555    /// Returns the polling error policy.
556    ///
557    /// When mocking, this method is typically irrelevant. Do not try to verify
558    /// it is called by your mocks.
559    fn get_polling_error_policy(
560        &self,
561        _options: &crate::RequestOptions,
562    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
563        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
564    }
565
566    /// Returns the polling backoff policy.
567    ///
568    /// When mocking, this method is typically irrelevant. Do not try to verify
569    /// it is called by your mocks.
570    fn get_polling_backoff_policy(
571        &self,
572        _options: &crate::RequestOptions,
573    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
574        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
575    }
576
577    #[doc(hidden)]
578    /// Returns the poller options.
579    ///
580    /// When mocking, this method is typically irrelevant. Do not try to verify
581    /// it is called by your mocks.
582    fn get_poller_options(
583        &self,
584        _options: &crate::RequestOptions,
585    ) -> google_cloud_lro::PollerOptions {
586        google_cloud_lro::PollerOptions::default()
587    }
588}
589
590/// Defines the trait used to implement [super::client::BackendServices].
591///
592/// Application developers may need to implement this trait to mock
593/// `client::BackendServices`.  In other use-cases, application developers only
594/// use `client::BackendServices` and need not be concerned with this trait or
595/// its implementations.
596///
597/// Services gain new RPCs routinely. Consequently, this trait gains new methods
598/// too. To avoid breaking applications the trait provides a default
599/// implementation of each method. Most of these implementations just return an
600/// error.
601#[cfg(feature = "backend-services")]
602#[cfg_attr(docsrs, doc(cfg(feature = "backend-services")))]
603pub trait BackendServices: std::fmt::Debug + Send + Sync {
604    /// Implements [super::client::BackendServices::add_signed_url_key].
605    fn add_signed_url_key(
606        &self,
607        _req: crate::model::backend_services::AddSignedUrlKeyRequest,
608        _options: crate::RequestOptions,
609    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
610    {
611        gaxi::unimplemented::unimplemented_stub()
612    }
613
614    /// Implements [super::client::BackendServices::aggregated_list].
615    fn aggregated_list(
616        &self,
617        _req: crate::model::backend_services::AggregatedListRequest,
618        _options: crate::RequestOptions,
619    ) -> impl std::future::Future<
620        Output = crate::Result<crate::Response<crate::model::BackendServiceAggregatedList>>,
621    > + Send {
622        gaxi::unimplemented::unimplemented_stub()
623    }
624
625    /// Implements [super::client::BackendServices::delete].
626    fn delete(
627        &self,
628        _req: crate::model::backend_services::DeleteRequest,
629        _options: crate::RequestOptions,
630    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
631    {
632        gaxi::unimplemented::unimplemented_stub()
633    }
634
635    /// Implements [super::client::BackendServices::delete_signed_url_key].
636    fn delete_signed_url_key(
637        &self,
638        _req: crate::model::backend_services::DeleteSignedUrlKeyRequest,
639        _options: crate::RequestOptions,
640    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
641    {
642        gaxi::unimplemented::unimplemented_stub()
643    }
644
645    /// Implements [super::client::BackendServices::get].
646    fn get(
647        &self,
648        _req: crate::model::backend_services::GetRequest,
649        _options: crate::RequestOptions,
650    ) -> impl std::future::Future<
651        Output = crate::Result<crate::Response<crate::model::BackendService>>,
652    > + Send {
653        gaxi::unimplemented::unimplemented_stub()
654    }
655
656    /// Implements [super::client::BackendServices::get_effective_security_policies].
657    fn get_effective_security_policies(
658        &self,
659        _req: crate::model::backend_services::GetEffectiveSecurityPoliciesRequest,
660        _options: crate::RequestOptions,
661    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
662        gaxi::unimplemented::unimplemented_stub()
663    }
664
665    /// Implements [super::client::BackendServices::get_health].
666    fn get_health(
667        &self,
668        _req: crate::model::backend_services::GetHealthRequest,
669        _options: crate::RequestOptions,
670    ) -> impl std::future::Future<
671        Output = crate::Result<crate::Response<crate::model::BackendServiceGroupHealth>>,
672    > + Send {
673        gaxi::unimplemented::unimplemented_stub()
674    }
675
676    /// Implements [super::client::BackendServices::get_iam_policy].
677    fn get_iam_policy(
678        &self,
679        _req: crate::model::backend_services::GetIamPolicyRequest,
680        _options: crate::RequestOptions,
681    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
682    {
683        gaxi::unimplemented::unimplemented_stub()
684    }
685
686    /// Implements [super::client::BackendServices::insert].
687    fn insert(
688        &self,
689        _req: crate::model::backend_services::InsertRequest,
690        _options: crate::RequestOptions,
691    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
692    {
693        gaxi::unimplemented::unimplemented_stub()
694    }
695
696    /// Implements [super::client::BackendServices::list].
697    fn list(
698        &self,
699        _req: crate::model::backend_services::ListRequest,
700        _options: crate::RequestOptions,
701    ) -> impl std::future::Future<
702        Output = crate::Result<crate::Response<crate::model::BackendServiceList>>,
703    > + Send {
704        gaxi::unimplemented::unimplemented_stub()
705    }
706
707    /// Implements [super::client::BackendServices::list_usable].
708    fn list_usable(
709        &self,
710        _req: crate::model::backend_services::ListUsableRequest,
711        _options: crate::RequestOptions,
712    ) -> impl std::future::Future<
713        Output = crate::Result<crate::Response<crate::model::BackendServiceListUsable>>,
714    > + Send {
715        gaxi::unimplemented::unimplemented_stub()
716    }
717
718    /// Implements [super::client::BackendServices::patch].
719    fn patch(
720        &self,
721        _req: crate::model::backend_services::PatchRequest,
722        _options: crate::RequestOptions,
723    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
724    {
725        gaxi::unimplemented::unimplemented_stub()
726    }
727
728    /// Implements [super::client::BackendServices::set_edge_security_policy].
729    fn set_edge_security_policy(
730        &self,
731        _req: crate::model::backend_services::SetEdgeSecurityPolicyRequest,
732        _options: crate::RequestOptions,
733    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
734    {
735        gaxi::unimplemented::unimplemented_stub()
736    }
737
738    /// Implements [super::client::BackendServices::set_iam_policy].
739    fn set_iam_policy(
740        &self,
741        _req: crate::model::backend_services::SetIamPolicyRequest,
742        _options: crate::RequestOptions,
743    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
744    {
745        gaxi::unimplemented::unimplemented_stub()
746    }
747
748    /// Implements [super::client::BackendServices::set_security_policy].
749    fn set_security_policy(
750        &self,
751        _req: crate::model::backend_services::SetSecurityPolicyRequest,
752        _options: crate::RequestOptions,
753    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
754    {
755        gaxi::unimplemented::unimplemented_stub()
756    }
757
758    /// Implements [super::client::BackendServices::test_iam_permissions].
759    fn test_iam_permissions(
760        &self,
761        _req: crate::model::backend_services::TestIamPermissionsRequest,
762        _options: crate::RequestOptions,
763    ) -> impl std::future::Future<
764        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
765    > + Send {
766        gaxi::unimplemented::unimplemented_stub()
767    }
768
769    /// Implements [super::client::BackendServices::update].
770    fn update(
771        &self,
772        _req: crate::model::backend_services::UpdateRequest,
773        _options: crate::RequestOptions,
774    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
775    {
776        gaxi::unimplemented::unimplemented_stub()
777    }
778
779    /// Implements [super::client::BackendServices::get_operation].
780    fn get_operation(
781        &self,
782        _req: crate::model::global_operations::GetRequest,
783        _options: crate::RequestOptions,
784    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
785    {
786        gaxi::unimplemented::unimplemented_stub()
787    }
788
789    /// Returns the polling error policy.
790    ///
791    /// When mocking, this method is typically irrelevant. Do not try to verify
792    /// it is called by your mocks.
793    fn get_polling_error_policy(
794        &self,
795        _options: &crate::RequestOptions,
796    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
797        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
798    }
799
800    /// Returns the polling backoff policy.
801    ///
802    /// When mocking, this method is typically irrelevant. Do not try to verify
803    /// it is called by your mocks.
804    fn get_polling_backoff_policy(
805        &self,
806        _options: &crate::RequestOptions,
807    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
808        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
809    }
810
811    #[doc(hidden)]
812    /// Returns the poller options.
813    ///
814    /// When mocking, this method is typically irrelevant. Do not try to verify
815    /// it is called by your mocks.
816    fn get_poller_options(
817        &self,
818        _options: &crate::RequestOptions,
819    ) -> google_cloud_lro::PollerOptions {
820        google_cloud_lro::PollerOptions::default()
821    }
822}
823
824/// Defines the trait used to implement [super::client::CrossSiteNetworks].
825///
826/// Application developers may need to implement this trait to mock
827/// `client::CrossSiteNetworks`.  In other use-cases, application developers only
828/// use `client::CrossSiteNetworks` and need not be concerned with this trait or
829/// its implementations.
830///
831/// Services gain new RPCs routinely. Consequently, this trait gains new methods
832/// too. To avoid breaking applications the trait provides a default
833/// implementation of each method. Most of these implementations just return an
834/// error.
835#[cfg(feature = "cross-site-networks")]
836#[cfg_attr(docsrs, doc(cfg(feature = "cross-site-networks")))]
837pub trait CrossSiteNetworks: std::fmt::Debug + Send + Sync {
838    /// Implements [super::client::CrossSiteNetworks::delete].
839    fn delete(
840        &self,
841        _req: crate::model::cross_site_networks::DeleteRequest,
842        _options: crate::RequestOptions,
843    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
844    {
845        gaxi::unimplemented::unimplemented_stub()
846    }
847
848    /// Implements [super::client::CrossSiteNetworks::get].
849    fn get(
850        &self,
851        _req: crate::model::cross_site_networks::GetRequest,
852        _options: crate::RequestOptions,
853    ) -> impl std::future::Future<
854        Output = crate::Result<crate::Response<crate::model::CrossSiteNetwork>>,
855    > + Send {
856        gaxi::unimplemented::unimplemented_stub()
857    }
858
859    /// Implements [super::client::CrossSiteNetworks::insert].
860    fn insert(
861        &self,
862        _req: crate::model::cross_site_networks::InsertRequest,
863        _options: crate::RequestOptions,
864    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
865    {
866        gaxi::unimplemented::unimplemented_stub()
867    }
868
869    /// Implements [super::client::CrossSiteNetworks::list].
870    fn list(
871        &self,
872        _req: crate::model::cross_site_networks::ListRequest,
873        _options: crate::RequestOptions,
874    ) -> impl std::future::Future<
875        Output = crate::Result<crate::Response<crate::model::CrossSiteNetworkList>>,
876    > + Send {
877        gaxi::unimplemented::unimplemented_stub()
878    }
879
880    /// Implements [super::client::CrossSiteNetworks::patch].
881    fn patch(
882        &self,
883        _req: crate::model::cross_site_networks::PatchRequest,
884        _options: crate::RequestOptions,
885    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
886    {
887        gaxi::unimplemented::unimplemented_stub()
888    }
889
890    /// Implements [super::client::CrossSiteNetworks::get_operation].
891    fn get_operation(
892        &self,
893        _req: crate::model::global_operations::GetRequest,
894        _options: crate::RequestOptions,
895    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
896    {
897        gaxi::unimplemented::unimplemented_stub()
898    }
899
900    /// Returns the polling error policy.
901    ///
902    /// When mocking, this method is typically irrelevant. Do not try to verify
903    /// it is called by your mocks.
904    fn get_polling_error_policy(
905        &self,
906        _options: &crate::RequestOptions,
907    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
908        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
909    }
910
911    /// Returns the polling backoff policy.
912    ///
913    /// When mocking, this method is typically irrelevant. Do not try to verify
914    /// it is called by your mocks.
915    fn get_polling_backoff_policy(
916        &self,
917        _options: &crate::RequestOptions,
918    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
919        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
920    }
921
922    #[doc(hidden)]
923    /// Returns the poller options.
924    ///
925    /// When mocking, this method is typically irrelevant. Do not try to verify
926    /// it is called by your mocks.
927    fn get_poller_options(
928        &self,
929        _options: &crate::RequestOptions,
930    ) -> google_cloud_lro::PollerOptions {
931        google_cloud_lro::PollerOptions::default()
932    }
933}
934
935/// Defines the trait used to implement [super::client::DiskTypes].
936///
937/// Application developers may need to implement this trait to mock
938/// `client::DiskTypes`.  In other use-cases, application developers only
939/// use `client::DiskTypes` and need not be concerned with this trait or
940/// its implementations.
941///
942/// Services gain new RPCs routinely. Consequently, this trait gains new methods
943/// too. To avoid breaking applications the trait provides a default
944/// implementation of each method. Most of these implementations just return an
945/// error.
946#[cfg(feature = "disk-types")]
947#[cfg_attr(docsrs, doc(cfg(feature = "disk-types")))]
948pub trait DiskTypes: std::fmt::Debug + Send + Sync {
949    /// Implements [super::client::DiskTypes::aggregated_list].
950    fn aggregated_list(
951        &self,
952        _req: crate::model::disk_types::AggregatedListRequest,
953        _options: crate::RequestOptions,
954    ) -> impl std::future::Future<
955        Output = crate::Result<crate::Response<crate::model::DiskTypeAggregatedList>>,
956    > + Send {
957        gaxi::unimplemented::unimplemented_stub()
958    }
959
960    /// Implements [super::client::DiskTypes::get].
961    fn get(
962        &self,
963        _req: crate::model::disk_types::GetRequest,
964        _options: crate::RequestOptions,
965    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskType>>> + Send
966    {
967        gaxi::unimplemented::unimplemented_stub()
968    }
969
970    /// Implements [super::client::DiskTypes::list].
971    fn list(
972        &self,
973        _req: crate::model::disk_types::ListRequest,
974        _options: crate::RequestOptions,
975    ) -> impl std::future::Future<
976        Output = crate::Result<crate::Response<crate::model::DiskTypeList>>,
977    > + Send {
978        gaxi::unimplemented::unimplemented_stub()
979    }
980}
981
982/// Defines the trait used to implement [super::client::Disks].
983///
984/// Application developers may need to implement this trait to mock
985/// `client::Disks`.  In other use-cases, application developers only
986/// use `client::Disks` and need not be concerned with this trait or
987/// its implementations.
988///
989/// Services gain new RPCs routinely. Consequently, this trait gains new methods
990/// too. To avoid breaking applications the trait provides a default
991/// implementation of each method. Most of these implementations just return an
992/// error.
993#[cfg(feature = "disks")]
994#[cfg_attr(docsrs, doc(cfg(feature = "disks")))]
995pub trait Disks: std::fmt::Debug + Send + Sync {
996    /// Implements [super::client::Disks::add_resource_policies].
997    fn add_resource_policies(
998        &self,
999        _req: crate::model::disks::AddResourcePoliciesRequest,
1000        _options: crate::RequestOptions,
1001    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1002    {
1003        gaxi::unimplemented::unimplemented_stub()
1004    }
1005
1006    /// Implements [super::client::Disks::aggregated_list].
1007    fn aggregated_list(
1008        &self,
1009        _req: crate::model::disks::AggregatedListRequest,
1010        _options: crate::RequestOptions,
1011    ) -> impl std::future::Future<
1012        Output = crate::Result<crate::Response<crate::model::DiskAggregatedList>>,
1013    > + Send {
1014        gaxi::unimplemented::unimplemented_stub()
1015    }
1016
1017    /// Implements [super::client::Disks::bulk_insert].
1018    fn bulk_insert(
1019        &self,
1020        _req: crate::model::disks::BulkInsertRequest,
1021        _options: crate::RequestOptions,
1022    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1023    {
1024        gaxi::unimplemented::unimplemented_stub()
1025    }
1026
1027    /// Implements [super::client::Disks::bulk_set_labels].
1028    fn bulk_set_labels(
1029        &self,
1030        _req: crate::model::disks::BulkSetLabelsRequest,
1031        _options: crate::RequestOptions,
1032    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1033    {
1034        gaxi::unimplemented::unimplemented_stub()
1035    }
1036
1037    /// Implements [super::client::Disks::create_snapshot].
1038    fn create_snapshot(
1039        &self,
1040        _req: crate::model::disks::CreateSnapshotRequest,
1041        _options: crate::RequestOptions,
1042    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1043    {
1044        gaxi::unimplemented::unimplemented_stub()
1045    }
1046
1047    /// Implements [super::client::Disks::delete].
1048    fn delete(
1049        &self,
1050        _req: crate::model::disks::DeleteRequest,
1051        _options: crate::RequestOptions,
1052    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1053    {
1054        gaxi::unimplemented::unimplemented_stub()
1055    }
1056
1057    /// Implements [super::client::Disks::get].
1058    fn get(
1059        &self,
1060        _req: crate::model::disks::GetRequest,
1061        _options: crate::RequestOptions,
1062    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Disk>>> + Send
1063    {
1064        gaxi::unimplemented::unimplemented_stub()
1065    }
1066
1067    /// Implements [super::client::Disks::get_iam_policy].
1068    fn get_iam_policy(
1069        &self,
1070        _req: crate::model::disks::GetIamPolicyRequest,
1071        _options: crate::RequestOptions,
1072    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1073    {
1074        gaxi::unimplemented::unimplemented_stub()
1075    }
1076
1077    /// Implements [super::client::Disks::insert].
1078    fn insert(
1079        &self,
1080        _req: crate::model::disks::InsertRequest,
1081        _options: crate::RequestOptions,
1082    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1083    {
1084        gaxi::unimplemented::unimplemented_stub()
1085    }
1086
1087    /// Implements [super::client::Disks::list].
1088    fn list(
1089        &self,
1090        _req: crate::model::disks::ListRequest,
1091        _options: crate::RequestOptions,
1092    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskList>>> + Send
1093    {
1094        gaxi::unimplemented::unimplemented_stub()
1095    }
1096
1097    /// Implements [super::client::Disks::remove_resource_policies].
1098    fn remove_resource_policies(
1099        &self,
1100        _req: crate::model::disks::RemoveResourcePoliciesRequest,
1101        _options: crate::RequestOptions,
1102    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1103    {
1104        gaxi::unimplemented::unimplemented_stub()
1105    }
1106
1107    /// Implements [super::client::Disks::resize].
1108    fn resize(
1109        &self,
1110        _req: crate::model::disks::ResizeRequest,
1111        _options: crate::RequestOptions,
1112    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1113    {
1114        gaxi::unimplemented::unimplemented_stub()
1115    }
1116
1117    /// Implements [super::client::Disks::set_iam_policy].
1118    fn set_iam_policy(
1119        &self,
1120        _req: crate::model::disks::SetIamPolicyRequest,
1121        _options: crate::RequestOptions,
1122    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1123    {
1124        gaxi::unimplemented::unimplemented_stub()
1125    }
1126
1127    /// Implements [super::client::Disks::set_labels].
1128    fn set_labels(
1129        &self,
1130        _req: crate::model::disks::SetLabelsRequest,
1131        _options: crate::RequestOptions,
1132    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1133    {
1134        gaxi::unimplemented::unimplemented_stub()
1135    }
1136
1137    /// Implements [super::client::Disks::start_async_replication].
1138    fn start_async_replication(
1139        &self,
1140        _req: crate::model::disks::StartAsyncReplicationRequest,
1141        _options: crate::RequestOptions,
1142    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1143    {
1144        gaxi::unimplemented::unimplemented_stub()
1145    }
1146
1147    /// Implements [super::client::Disks::stop_async_replication].
1148    fn stop_async_replication(
1149        &self,
1150        _req: crate::model::disks::StopAsyncReplicationRequest,
1151        _options: crate::RequestOptions,
1152    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1153    {
1154        gaxi::unimplemented::unimplemented_stub()
1155    }
1156
1157    /// Implements [super::client::Disks::stop_group_async_replication].
1158    fn stop_group_async_replication(
1159        &self,
1160        _req: crate::model::disks::StopGroupAsyncReplicationRequest,
1161        _options: crate::RequestOptions,
1162    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1163    {
1164        gaxi::unimplemented::unimplemented_stub()
1165    }
1166
1167    /// Implements [super::client::Disks::test_iam_permissions].
1168    fn test_iam_permissions(
1169        &self,
1170        _req: crate::model::disks::TestIamPermissionsRequest,
1171        _options: crate::RequestOptions,
1172    ) -> impl std::future::Future<
1173        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1174    > + Send {
1175        gaxi::unimplemented::unimplemented_stub()
1176    }
1177
1178    /// Implements [super::client::Disks::update].
1179    fn update(
1180        &self,
1181        _req: crate::model::disks::UpdateRequest,
1182        _options: crate::RequestOptions,
1183    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1184    {
1185        gaxi::unimplemented::unimplemented_stub()
1186    }
1187
1188    /// Implements [super::client::Disks::update_kms_key].
1189    fn update_kms_key(
1190        &self,
1191        _req: crate::model::disks::UpdateKmsKeyRequest,
1192        _options: crate::RequestOptions,
1193    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1194    {
1195        gaxi::unimplemented::unimplemented_stub()
1196    }
1197
1198    /// Implements [super::client::Disks::get_operation].
1199    fn get_operation(
1200        &self,
1201        _req: crate::model::zone_operations::GetRequest,
1202        _options: crate::RequestOptions,
1203    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1204    {
1205        gaxi::unimplemented::unimplemented_stub()
1206    }
1207
1208    /// Returns the polling error policy.
1209    ///
1210    /// When mocking, this method is typically irrelevant. Do not try to verify
1211    /// it is called by your mocks.
1212    fn get_polling_error_policy(
1213        &self,
1214        _options: &crate::RequestOptions,
1215    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1216        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1217    }
1218
1219    /// Returns the polling backoff policy.
1220    ///
1221    /// When mocking, this method is typically irrelevant. Do not try to verify
1222    /// it is called by your mocks.
1223    fn get_polling_backoff_policy(
1224        &self,
1225        _options: &crate::RequestOptions,
1226    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1227        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1228    }
1229
1230    #[doc(hidden)]
1231    /// Returns the poller options.
1232    ///
1233    /// When mocking, this method is typically irrelevant. Do not try to verify
1234    /// it is called by your mocks.
1235    fn get_poller_options(
1236        &self,
1237        _options: &crate::RequestOptions,
1238    ) -> google_cloud_lro::PollerOptions {
1239        google_cloud_lro::PollerOptions::default()
1240    }
1241}
1242
1243/// Defines the trait used to implement [super::client::ExternalVpnGateways].
1244///
1245/// Application developers may need to implement this trait to mock
1246/// `client::ExternalVpnGateways`.  In other use-cases, application developers only
1247/// use `client::ExternalVpnGateways` and need not be concerned with this trait or
1248/// its implementations.
1249///
1250/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1251/// too. To avoid breaking applications the trait provides a default
1252/// implementation of each method. Most of these implementations just return an
1253/// error.
1254#[cfg(feature = "external-vpn-gateways")]
1255#[cfg_attr(docsrs, doc(cfg(feature = "external-vpn-gateways")))]
1256pub trait ExternalVpnGateways: std::fmt::Debug + Send + Sync {
1257    /// Implements [super::client::ExternalVpnGateways::delete].
1258    fn delete(
1259        &self,
1260        _req: crate::model::external_vpn_gateways::DeleteRequest,
1261        _options: crate::RequestOptions,
1262    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1263    {
1264        gaxi::unimplemented::unimplemented_stub()
1265    }
1266
1267    /// Implements [super::client::ExternalVpnGateways::get].
1268    fn get(
1269        &self,
1270        _req: crate::model::external_vpn_gateways::GetRequest,
1271        _options: crate::RequestOptions,
1272    ) -> impl std::future::Future<
1273        Output = crate::Result<crate::Response<crate::model::ExternalVpnGateway>>,
1274    > + Send {
1275        gaxi::unimplemented::unimplemented_stub()
1276    }
1277
1278    /// Implements [super::client::ExternalVpnGateways::insert].
1279    fn insert(
1280        &self,
1281        _req: crate::model::external_vpn_gateways::InsertRequest,
1282        _options: crate::RequestOptions,
1283    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1284    {
1285        gaxi::unimplemented::unimplemented_stub()
1286    }
1287
1288    /// Implements [super::client::ExternalVpnGateways::list].
1289    fn list(
1290        &self,
1291        _req: crate::model::external_vpn_gateways::ListRequest,
1292        _options: crate::RequestOptions,
1293    ) -> impl std::future::Future<
1294        Output = crate::Result<crate::Response<crate::model::ExternalVpnGatewayList>>,
1295    > + Send {
1296        gaxi::unimplemented::unimplemented_stub()
1297    }
1298
1299    /// Implements [super::client::ExternalVpnGateways::set_labels].
1300    fn set_labels(
1301        &self,
1302        _req: crate::model::external_vpn_gateways::SetLabelsRequest,
1303        _options: crate::RequestOptions,
1304    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1305    {
1306        gaxi::unimplemented::unimplemented_stub()
1307    }
1308
1309    /// Implements [super::client::ExternalVpnGateways::test_iam_permissions].
1310    fn test_iam_permissions(
1311        &self,
1312        _req: crate::model::external_vpn_gateways::TestIamPermissionsRequest,
1313        _options: crate::RequestOptions,
1314    ) -> impl std::future::Future<
1315        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1316    > + Send {
1317        gaxi::unimplemented::unimplemented_stub()
1318    }
1319
1320    /// Implements [super::client::ExternalVpnGateways::get_operation].
1321    fn get_operation(
1322        &self,
1323        _req: crate::model::global_operations::GetRequest,
1324        _options: crate::RequestOptions,
1325    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1326    {
1327        gaxi::unimplemented::unimplemented_stub()
1328    }
1329
1330    /// Returns the polling error policy.
1331    ///
1332    /// When mocking, this method is typically irrelevant. Do not try to verify
1333    /// it is called by your mocks.
1334    fn get_polling_error_policy(
1335        &self,
1336        _options: &crate::RequestOptions,
1337    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1338        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1339    }
1340
1341    /// Returns the polling backoff policy.
1342    ///
1343    /// When mocking, this method is typically irrelevant. Do not try to verify
1344    /// it is called by your mocks.
1345    fn get_polling_backoff_policy(
1346        &self,
1347        _options: &crate::RequestOptions,
1348    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1349        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1350    }
1351
1352    #[doc(hidden)]
1353    /// Returns the poller options.
1354    ///
1355    /// When mocking, this method is typically irrelevant. Do not try to verify
1356    /// it is called by your mocks.
1357    fn get_poller_options(
1358        &self,
1359        _options: &crate::RequestOptions,
1360    ) -> google_cloud_lro::PollerOptions {
1361        google_cloud_lro::PollerOptions::default()
1362    }
1363}
1364
1365/// Defines the trait used to implement [super::client::FirewallPolicies].
1366///
1367/// Application developers may need to implement this trait to mock
1368/// `client::FirewallPolicies`.  In other use-cases, application developers only
1369/// use `client::FirewallPolicies` and need not be concerned with this trait or
1370/// its implementations.
1371///
1372/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1373/// too. To avoid breaking applications the trait provides a default
1374/// implementation of each method. Most of these implementations just return an
1375/// error.
1376#[cfg(feature = "firewall-policies")]
1377#[cfg_attr(docsrs, doc(cfg(feature = "firewall-policies")))]
1378pub trait FirewallPolicies: std::fmt::Debug + Send + Sync {
1379    /// Implements [super::client::FirewallPolicies::add_association].
1380    fn add_association(
1381        &self,
1382        _req: crate::model::firewall_policies::AddAssociationRequest,
1383        _options: crate::RequestOptions,
1384    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1385    {
1386        gaxi::unimplemented::unimplemented_stub()
1387    }
1388
1389    /// Implements [super::client::FirewallPolicies::add_rule].
1390    fn add_rule(
1391        &self,
1392        _req: crate::model::firewall_policies::AddRuleRequest,
1393        _options: crate::RequestOptions,
1394    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1395    {
1396        gaxi::unimplemented::unimplemented_stub()
1397    }
1398
1399    /// Implements [super::client::FirewallPolicies::clone_rules].
1400    fn clone_rules(
1401        &self,
1402        _req: crate::model::firewall_policies::CloneRulesRequest,
1403        _options: crate::RequestOptions,
1404    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1405    {
1406        gaxi::unimplemented::unimplemented_stub()
1407    }
1408
1409    /// Implements [super::client::FirewallPolicies::delete].
1410    fn delete(
1411        &self,
1412        _req: crate::model::firewall_policies::DeleteRequest,
1413        _options: crate::RequestOptions,
1414    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1415    {
1416        gaxi::unimplemented::unimplemented_stub()
1417    }
1418
1419    /// Implements [super::client::FirewallPolicies::get].
1420    fn get(
1421        &self,
1422        _req: crate::model::firewall_policies::GetRequest,
1423        _options: crate::RequestOptions,
1424    ) -> impl std::future::Future<
1425        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
1426    > + Send {
1427        gaxi::unimplemented::unimplemented_stub()
1428    }
1429
1430    /// Implements [super::client::FirewallPolicies::get_association].
1431    fn get_association(
1432        &self,
1433        _req: crate::model::firewall_policies::GetAssociationRequest,
1434        _options: crate::RequestOptions,
1435    ) -> impl std::future::Future<
1436        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
1437    > + Send {
1438        gaxi::unimplemented::unimplemented_stub()
1439    }
1440
1441    /// Implements [super::client::FirewallPolicies::get_iam_policy].
1442    fn get_iam_policy(
1443        &self,
1444        _req: crate::model::firewall_policies::GetIamPolicyRequest,
1445        _options: crate::RequestOptions,
1446    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1447    {
1448        gaxi::unimplemented::unimplemented_stub()
1449    }
1450
1451    /// Implements [super::client::FirewallPolicies::get_rule].
1452    fn get_rule(
1453        &self,
1454        _req: crate::model::firewall_policies::GetRuleRequest,
1455        _options: crate::RequestOptions,
1456    ) -> impl std::future::Future<
1457        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
1458    > + Send {
1459        gaxi::unimplemented::unimplemented_stub()
1460    }
1461
1462    /// Implements [super::client::FirewallPolicies::insert].
1463    fn insert(
1464        &self,
1465        _req: crate::model::firewall_policies::InsertRequest,
1466        _options: crate::RequestOptions,
1467    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1468    {
1469        gaxi::unimplemented::unimplemented_stub()
1470    }
1471
1472    /// Implements [super::client::FirewallPolicies::list].
1473    fn list(
1474        &self,
1475        _req: crate::model::firewall_policies::ListRequest,
1476        _options: crate::RequestOptions,
1477    ) -> impl std::future::Future<
1478        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
1479    > + Send {
1480        gaxi::unimplemented::unimplemented_stub()
1481    }
1482
1483    /// Implements [super::client::FirewallPolicies::list_associations].
1484    fn list_associations(
1485        &self,
1486        _req: crate::model::firewall_policies::ListAssociationsRequest,
1487        _options: crate::RequestOptions,
1488    ) -> impl std::future::Future<
1489        Output = crate::Result<
1490            crate::Response<crate::model::FirewallPoliciesListAssociationsResponse>,
1491        >,
1492    > + Send {
1493        gaxi::unimplemented::unimplemented_stub()
1494    }
1495
1496    /// Implements [super::client::FirewallPolicies::r#move].
1497    fn r#move(
1498        &self,
1499        _req: crate::model::firewall_policies::MoveRequest,
1500        _options: crate::RequestOptions,
1501    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1502    {
1503        gaxi::unimplemented::unimplemented_stub()
1504    }
1505
1506    /// Implements [super::client::FirewallPolicies::patch].
1507    fn patch(
1508        &self,
1509        _req: crate::model::firewall_policies::PatchRequest,
1510        _options: crate::RequestOptions,
1511    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1512    {
1513        gaxi::unimplemented::unimplemented_stub()
1514    }
1515
1516    /// Implements [super::client::FirewallPolicies::patch_rule].
1517    fn patch_rule(
1518        &self,
1519        _req: crate::model::firewall_policies::PatchRuleRequest,
1520        _options: crate::RequestOptions,
1521    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1522    {
1523        gaxi::unimplemented::unimplemented_stub()
1524    }
1525
1526    /// Implements [super::client::FirewallPolicies::remove_association].
1527    fn remove_association(
1528        &self,
1529        _req: crate::model::firewall_policies::RemoveAssociationRequest,
1530        _options: crate::RequestOptions,
1531    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1532    {
1533        gaxi::unimplemented::unimplemented_stub()
1534    }
1535
1536    /// Implements [super::client::FirewallPolicies::remove_rule].
1537    fn remove_rule(
1538        &self,
1539        _req: crate::model::firewall_policies::RemoveRuleRequest,
1540        _options: crate::RequestOptions,
1541    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1542    {
1543        gaxi::unimplemented::unimplemented_stub()
1544    }
1545
1546    /// Implements [super::client::FirewallPolicies::set_iam_policy].
1547    fn set_iam_policy(
1548        &self,
1549        _req: crate::model::firewall_policies::SetIamPolicyRequest,
1550        _options: crate::RequestOptions,
1551    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
1552    {
1553        gaxi::unimplemented::unimplemented_stub()
1554    }
1555
1556    /// Implements [super::client::FirewallPolicies::test_iam_permissions].
1557    fn test_iam_permissions(
1558        &self,
1559        _req: crate::model::firewall_policies::TestIamPermissionsRequest,
1560        _options: crate::RequestOptions,
1561    ) -> impl std::future::Future<
1562        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1563    > + Send {
1564        gaxi::unimplemented::unimplemented_stub()
1565    }
1566
1567    /// Implements [super::client::FirewallPolicies::get_operation].
1568    fn get_operation(
1569        &self,
1570        _req: crate::model::global_organization_operations::GetRequest,
1571        _options: crate::RequestOptions,
1572    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1573    {
1574        gaxi::unimplemented::unimplemented_stub()
1575    }
1576
1577    /// Returns the polling error policy.
1578    ///
1579    /// When mocking, this method is typically irrelevant. Do not try to verify
1580    /// it is called by your mocks.
1581    fn get_polling_error_policy(
1582        &self,
1583        _options: &crate::RequestOptions,
1584    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1585        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1586    }
1587
1588    /// Returns the polling backoff policy.
1589    ///
1590    /// When mocking, this method is typically irrelevant. Do not try to verify
1591    /// it is called by your mocks.
1592    fn get_polling_backoff_policy(
1593        &self,
1594        _options: &crate::RequestOptions,
1595    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1596        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1597    }
1598
1599    #[doc(hidden)]
1600    /// Returns the poller options.
1601    ///
1602    /// When mocking, this method is typically irrelevant. Do not try to verify
1603    /// it is called by your mocks.
1604    fn get_poller_options(
1605        &self,
1606        _options: &crate::RequestOptions,
1607    ) -> google_cloud_lro::PollerOptions {
1608        google_cloud_lro::PollerOptions::default()
1609    }
1610}
1611
1612/// Defines the trait used to implement [super::client::Firewalls].
1613///
1614/// Application developers may need to implement this trait to mock
1615/// `client::Firewalls`.  In other use-cases, application developers only
1616/// use `client::Firewalls` and need not be concerned with this trait or
1617/// its implementations.
1618///
1619/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1620/// too. To avoid breaking applications the trait provides a default
1621/// implementation of each method. Most of these implementations just return an
1622/// error.
1623#[cfg(feature = "firewalls")]
1624#[cfg_attr(docsrs, doc(cfg(feature = "firewalls")))]
1625pub trait Firewalls: std::fmt::Debug + Send + Sync {
1626    /// Implements [super::client::Firewalls::delete].
1627    fn delete(
1628        &self,
1629        _req: crate::model::firewalls::DeleteRequest,
1630        _options: crate::RequestOptions,
1631    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1632    {
1633        gaxi::unimplemented::unimplemented_stub()
1634    }
1635
1636    /// Implements [super::client::Firewalls::get].
1637    fn get(
1638        &self,
1639        _req: crate::model::firewalls::GetRequest,
1640        _options: crate::RequestOptions,
1641    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Firewall>>> + Send
1642    {
1643        gaxi::unimplemented::unimplemented_stub()
1644    }
1645
1646    /// Implements [super::client::Firewalls::insert].
1647    fn insert(
1648        &self,
1649        _req: crate::model::firewalls::InsertRequest,
1650        _options: crate::RequestOptions,
1651    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1652    {
1653        gaxi::unimplemented::unimplemented_stub()
1654    }
1655
1656    /// Implements [super::client::Firewalls::list].
1657    fn list(
1658        &self,
1659        _req: crate::model::firewalls::ListRequest,
1660        _options: crate::RequestOptions,
1661    ) -> impl std::future::Future<
1662        Output = crate::Result<crate::Response<crate::model::FirewallList>>,
1663    > + Send {
1664        gaxi::unimplemented::unimplemented_stub()
1665    }
1666
1667    /// Implements [super::client::Firewalls::patch].
1668    fn patch(
1669        &self,
1670        _req: crate::model::firewalls::PatchRequest,
1671        _options: crate::RequestOptions,
1672    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1673    {
1674        gaxi::unimplemented::unimplemented_stub()
1675    }
1676
1677    /// Implements [super::client::Firewalls::test_iam_permissions].
1678    fn test_iam_permissions(
1679        &self,
1680        _req: crate::model::firewalls::TestIamPermissionsRequest,
1681        _options: crate::RequestOptions,
1682    ) -> impl std::future::Future<
1683        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
1684    > + Send {
1685        gaxi::unimplemented::unimplemented_stub()
1686    }
1687
1688    /// Implements [super::client::Firewalls::update].
1689    fn update(
1690        &self,
1691        _req: crate::model::firewalls::UpdateRequest,
1692        _options: crate::RequestOptions,
1693    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1694    {
1695        gaxi::unimplemented::unimplemented_stub()
1696    }
1697
1698    /// Implements [super::client::Firewalls::get_operation].
1699    fn get_operation(
1700        &self,
1701        _req: crate::model::global_operations::GetRequest,
1702        _options: crate::RequestOptions,
1703    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1704    {
1705        gaxi::unimplemented::unimplemented_stub()
1706    }
1707
1708    /// Returns the polling error policy.
1709    ///
1710    /// When mocking, this method is typically irrelevant. Do not try to verify
1711    /// it is called by your mocks.
1712    fn get_polling_error_policy(
1713        &self,
1714        _options: &crate::RequestOptions,
1715    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1716        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1717    }
1718
1719    /// Returns the polling backoff policy.
1720    ///
1721    /// When mocking, this method is typically irrelevant. Do not try to verify
1722    /// it is called by your mocks.
1723    fn get_polling_backoff_policy(
1724        &self,
1725        _options: &crate::RequestOptions,
1726    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1727        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1728    }
1729
1730    #[doc(hidden)]
1731    /// Returns the poller options.
1732    ///
1733    /// When mocking, this method is typically irrelevant. Do not try to verify
1734    /// it is called by your mocks.
1735    fn get_poller_options(
1736        &self,
1737        _options: &crate::RequestOptions,
1738    ) -> google_cloud_lro::PollerOptions {
1739        google_cloud_lro::PollerOptions::default()
1740    }
1741}
1742
1743/// Defines the trait used to implement [super::client::ForwardingRules].
1744///
1745/// Application developers may need to implement this trait to mock
1746/// `client::ForwardingRules`.  In other use-cases, application developers only
1747/// use `client::ForwardingRules` and need not be concerned with this trait or
1748/// its implementations.
1749///
1750/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1751/// too. To avoid breaking applications the trait provides a default
1752/// implementation of each method. Most of these implementations just return an
1753/// error.
1754#[cfg(feature = "forwarding-rules")]
1755#[cfg_attr(docsrs, doc(cfg(feature = "forwarding-rules")))]
1756pub trait ForwardingRules: std::fmt::Debug + Send + Sync {
1757    /// Implements [super::client::ForwardingRules::aggregated_list].
1758    fn aggregated_list(
1759        &self,
1760        _req: crate::model::forwarding_rules::AggregatedListRequest,
1761        _options: crate::RequestOptions,
1762    ) -> impl std::future::Future<
1763        Output = crate::Result<crate::Response<crate::model::ForwardingRuleAggregatedList>>,
1764    > + Send {
1765        gaxi::unimplemented::unimplemented_stub()
1766    }
1767
1768    /// Implements [super::client::ForwardingRules::delete].
1769    fn delete(
1770        &self,
1771        _req: crate::model::forwarding_rules::DeleteRequest,
1772        _options: crate::RequestOptions,
1773    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1774    {
1775        gaxi::unimplemented::unimplemented_stub()
1776    }
1777
1778    /// Implements [super::client::ForwardingRules::get].
1779    fn get(
1780        &self,
1781        _req: crate::model::forwarding_rules::GetRequest,
1782        _options: crate::RequestOptions,
1783    ) -> impl std::future::Future<
1784        Output = crate::Result<crate::Response<crate::model::ForwardingRule>>,
1785    > + Send {
1786        gaxi::unimplemented::unimplemented_stub()
1787    }
1788
1789    /// Implements [super::client::ForwardingRules::insert].
1790    fn insert(
1791        &self,
1792        _req: crate::model::forwarding_rules::InsertRequest,
1793        _options: crate::RequestOptions,
1794    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1795    {
1796        gaxi::unimplemented::unimplemented_stub()
1797    }
1798
1799    /// Implements [super::client::ForwardingRules::list].
1800    fn list(
1801        &self,
1802        _req: crate::model::forwarding_rules::ListRequest,
1803        _options: crate::RequestOptions,
1804    ) -> impl std::future::Future<
1805        Output = crate::Result<crate::Response<crate::model::ForwardingRuleList>>,
1806    > + Send {
1807        gaxi::unimplemented::unimplemented_stub()
1808    }
1809
1810    /// Implements [super::client::ForwardingRules::patch].
1811    fn patch(
1812        &self,
1813        _req: crate::model::forwarding_rules::PatchRequest,
1814        _options: crate::RequestOptions,
1815    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1816    {
1817        gaxi::unimplemented::unimplemented_stub()
1818    }
1819
1820    /// Implements [super::client::ForwardingRules::set_labels].
1821    fn set_labels(
1822        &self,
1823        _req: crate::model::forwarding_rules::SetLabelsRequest,
1824        _options: crate::RequestOptions,
1825    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1826    {
1827        gaxi::unimplemented::unimplemented_stub()
1828    }
1829
1830    /// Implements [super::client::ForwardingRules::set_target].
1831    fn set_target(
1832        &self,
1833        _req: crate::model::forwarding_rules::SetTargetRequest,
1834        _options: crate::RequestOptions,
1835    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1836    {
1837        gaxi::unimplemented::unimplemented_stub()
1838    }
1839
1840    /// Implements [super::client::ForwardingRules::get_operation].
1841    fn get_operation(
1842        &self,
1843        _req: crate::model::region_operations::GetRequest,
1844        _options: crate::RequestOptions,
1845    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1846    {
1847        gaxi::unimplemented::unimplemented_stub()
1848    }
1849
1850    /// Returns the polling error policy.
1851    ///
1852    /// When mocking, this method is typically irrelevant. Do not try to verify
1853    /// it is called by your mocks.
1854    fn get_polling_error_policy(
1855        &self,
1856        _options: &crate::RequestOptions,
1857    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1858        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1859    }
1860
1861    /// Returns the polling backoff policy.
1862    ///
1863    /// When mocking, this method is typically irrelevant. Do not try to verify
1864    /// it is called by your mocks.
1865    fn get_polling_backoff_policy(
1866        &self,
1867        _options: &crate::RequestOptions,
1868    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
1869        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
1870    }
1871
1872    #[doc(hidden)]
1873    /// Returns the poller options.
1874    ///
1875    /// When mocking, this method is typically irrelevant. Do not try to verify
1876    /// it is called by your mocks.
1877    fn get_poller_options(
1878        &self,
1879        _options: &crate::RequestOptions,
1880    ) -> google_cloud_lro::PollerOptions {
1881        google_cloud_lro::PollerOptions::default()
1882    }
1883}
1884
1885/// Defines the trait used to implement [super::client::FutureReservations].
1886///
1887/// Application developers may need to implement this trait to mock
1888/// `client::FutureReservations`.  In other use-cases, application developers only
1889/// use `client::FutureReservations` and need not be concerned with this trait or
1890/// its implementations.
1891///
1892/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1893/// too. To avoid breaking applications the trait provides a default
1894/// implementation of each method. Most of these implementations just return an
1895/// error.
1896#[cfg(feature = "future-reservations")]
1897#[cfg_attr(docsrs, doc(cfg(feature = "future-reservations")))]
1898pub trait FutureReservations: std::fmt::Debug + Send + Sync {
1899    /// Implements [super::client::FutureReservations::aggregated_list].
1900    fn aggregated_list(
1901        &self,
1902        _req: crate::model::future_reservations::AggregatedListRequest,
1903        _options: crate::RequestOptions,
1904    ) -> impl std::future::Future<
1905        Output = crate::Result<
1906            crate::Response<crate::model::FutureReservationsAggregatedListResponse>,
1907        >,
1908    > + Send {
1909        gaxi::unimplemented::unimplemented_stub()
1910    }
1911
1912    /// Implements [super::client::FutureReservations::cancel].
1913    fn cancel(
1914        &self,
1915        _req: crate::model::future_reservations::CancelRequest,
1916        _options: crate::RequestOptions,
1917    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1918    {
1919        gaxi::unimplemented::unimplemented_stub()
1920    }
1921
1922    /// Implements [super::client::FutureReservations::delete].
1923    fn delete(
1924        &self,
1925        _req: crate::model::future_reservations::DeleteRequest,
1926        _options: crate::RequestOptions,
1927    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1928    {
1929        gaxi::unimplemented::unimplemented_stub()
1930    }
1931
1932    /// Implements [super::client::FutureReservations::get].
1933    fn get(
1934        &self,
1935        _req: crate::model::future_reservations::GetRequest,
1936        _options: crate::RequestOptions,
1937    ) -> impl std::future::Future<
1938        Output = crate::Result<crate::Response<crate::model::FutureReservation>>,
1939    > + Send {
1940        gaxi::unimplemented::unimplemented_stub()
1941    }
1942
1943    /// Implements [super::client::FutureReservations::insert].
1944    fn insert(
1945        &self,
1946        _req: crate::model::future_reservations::InsertRequest,
1947        _options: crate::RequestOptions,
1948    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1949    {
1950        gaxi::unimplemented::unimplemented_stub()
1951    }
1952
1953    /// Implements [super::client::FutureReservations::list].
1954    fn list(
1955        &self,
1956        _req: crate::model::future_reservations::ListRequest,
1957        _options: crate::RequestOptions,
1958    ) -> impl std::future::Future<
1959        Output = crate::Result<crate::Response<crate::model::FutureReservationsListResponse>>,
1960    > + Send {
1961        gaxi::unimplemented::unimplemented_stub()
1962    }
1963
1964    /// Implements [super::client::FutureReservations::update].
1965    fn update(
1966        &self,
1967        _req: crate::model::future_reservations::UpdateRequest,
1968        _options: crate::RequestOptions,
1969    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1970    {
1971        gaxi::unimplemented::unimplemented_stub()
1972    }
1973
1974    /// Implements [super::client::FutureReservations::get_operation].
1975    fn get_operation(
1976        &self,
1977        _req: crate::model::zone_operations::GetRequest,
1978        _options: crate::RequestOptions,
1979    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
1980    {
1981        gaxi::unimplemented::unimplemented_stub()
1982    }
1983
1984    /// Returns the polling error policy.
1985    ///
1986    /// When mocking, this method is typically irrelevant. Do not try to verify
1987    /// it is called by your mocks.
1988    fn get_polling_error_policy(
1989        &self,
1990        _options: &crate::RequestOptions,
1991    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
1992        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
1993    }
1994
1995    /// Returns the polling backoff policy.
1996    ///
1997    /// When mocking, this method is typically irrelevant. Do not try to verify
1998    /// it is called by your mocks.
1999    fn get_polling_backoff_policy(
2000        &self,
2001        _options: &crate::RequestOptions,
2002    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2003        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2004    }
2005
2006    #[doc(hidden)]
2007    /// Returns the poller options.
2008    ///
2009    /// When mocking, this method is typically irrelevant. Do not try to verify
2010    /// it is called by your mocks.
2011    fn get_poller_options(
2012        &self,
2013        _options: &crate::RequestOptions,
2014    ) -> google_cloud_lro::PollerOptions {
2015        google_cloud_lro::PollerOptions::default()
2016    }
2017}
2018
2019/// Defines the trait used to implement [super::client::GlobalAddresses].
2020///
2021/// Application developers may need to implement this trait to mock
2022/// `client::GlobalAddresses`.  In other use-cases, application developers only
2023/// use `client::GlobalAddresses` and need not be concerned with this trait or
2024/// its implementations.
2025///
2026/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2027/// too. To avoid breaking applications the trait provides a default
2028/// implementation of each method. Most of these implementations just return an
2029/// error.
2030#[cfg(feature = "global-addresses")]
2031#[cfg_attr(docsrs, doc(cfg(feature = "global-addresses")))]
2032pub trait GlobalAddresses: std::fmt::Debug + Send + Sync {
2033    /// Implements [super::client::GlobalAddresses::delete].
2034    fn delete(
2035        &self,
2036        _req: crate::model::global_addresses::DeleteRequest,
2037        _options: crate::RequestOptions,
2038    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2039    {
2040        gaxi::unimplemented::unimplemented_stub()
2041    }
2042
2043    /// Implements [super::client::GlobalAddresses::get].
2044    fn get(
2045        &self,
2046        _req: crate::model::global_addresses::GetRequest,
2047        _options: crate::RequestOptions,
2048    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Address>>> + Send
2049    {
2050        gaxi::unimplemented::unimplemented_stub()
2051    }
2052
2053    /// Implements [super::client::GlobalAddresses::insert].
2054    fn insert(
2055        &self,
2056        _req: crate::model::global_addresses::InsertRequest,
2057        _options: crate::RequestOptions,
2058    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2059    {
2060        gaxi::unimplemented::unimplemented_stub()
2061    }
2062
2063    /// Implements [super::client::GlobalAddresses::list].
2064    fn list(
2065        &self,
2066        _req: crate::model::global_addresses::ListRequest,
2067        _options: crate::RequestOptions,
2068    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::AddressList>>>
2069    + Send {
2070        gaxi::unimplemented::unimplemented_stub()
2071    }
2072
2073    /// Implements [super::client::GlobalAddresses::r#move].
2074    fn r#move(
2075        &self,
2076        _req: crate::model::global_addresses::MoveRequest,
2077        _options: crate::RequestOptions,
2078    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2079    {
2080        gaxi::unimplemented::unimplemented_stub()
2081    }
2082
2083    /// Implements [super::client::GlobalAddresses::set_labels].
2084    fn set_labels(
2085        &self,
2086        _req: crate::model::global_addresses::SetLabelsRequest,
2087        _options: crate::RequestOptions,
2088    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2089    {
2090        gaxi::unimplemented::unimplemented_stub()
2091    }
2092
2093    /// Implements [super::client::GlobalAddresses::test_iam_permissions].
2094    fn test_iam_permissions(
2095        &self,
2096        _req: crate::model::global_addresses::TestIamPermissionsRequest,
2097        _options: crate::RequestOptions,
2098    ) -> impl std::future::Future<
2099        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2100    > + Send {
2101        gaxi::unimplemented::unimplemented_stub()
2102    }
2103
2104    /// Implements [super::client::GlobalAddresses::get_operation].
2105    fn get_operation(
2106        &self,
2107        _req: crate::model::global_operations::GetRequest,
2108        _options: crate::RequestOptions,
2109    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2110    {
2111        gaxi::unimplemented::unimplemented_stub()
2112    }
2113
2114    /// Returns the polling error policy.
2115    ///
2116    /// When mocking, this method is typically irrelevant. Do not try to verify
2117    /// it is called by your mocks.
2118    fn get_polling_error_policy(
2119        &self,
2120        _options: &crate::RequestOptions,
2121    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2122        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2123    }
2124
2125    /// Returns the polling backoff policy.
2126    ///
2127    /// When mocking, this method is typically irrelevant. Do not try to verify
2128    /// it is called by your mocks.
2129    fn get_polling_backoff_policy(
2130        &self,
2131        _options: &crate::RequestOptions,
2132    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2133        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2134    }
2135
2136    #[doc(hidden)]
2137    /// Returns the poller options.
2138    ///
2139    /// When mocking, this method is typically irrelevant. Do not try to verify
2140    /// it is called by your mocks.
2141    fn get_poller_options(
2142        &self,
2143        _options: &crate::RequestOptions,
2144    ) -> google_cloud_lro::PollerOptions {
2145        google_cloud_lro::PollerOptions::default()
2146    }
2147}
2148
2149/// Defines the trait used to implement [super::client::GlobalForwardingRules].
2150///
2151/// Application developers may need to implement this trait to mock
2152/// `client::GlobalForwardingRules`.  In other use-cases, application developers only
2153/// use `client::GlobalForwardingRules` and need not be concerned with this trait or
2154/// its implementations.
2155///
2156/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2157/// too. To avoid breaking applications the trait provides a default
2158/// implementation of each method. Most of these implementations just return an
2159/// error.
2160#[cfg(feature = "global-forwarding-rules")]
2161#[cfg_attr(docsrs, doc(cfg(feature = "global-forwarding-rules")))]
2162pub trait GlobalForwardingRules: std::fmt::Debug + Send + Sync {
2163    /// Implements [super::client::GlobalForwardingRules::delete].
2164    fn delete(
2165        &self,
2166        _req: crate::model::global_forwarding_rules::DeleteRequest,
2167        _options: crate::RequestOptions,
2168    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2169    {
2170        gaxi::unimplemented::unimplemented_stub()
2171    }
2172
2173    /// Implements [super::client::GlobalForwardingRules::get].
2174    fn get(
2175        &self,
2176        _req: crate::model::global_forwarding_rules::GetRequest,
2177        _options: crate::RequestOptions,
2178    ) -> impl std::future::Future<
2179        Output = crate::Result<crate::Response<crate::model::ForwardingRule>>,
2180    > + Send {
2181        gaxi::unimplemented::unimplemented_stub()
2182    }
2183
2184    /// Implements [super::client::GlobalForwardingRules::insert].
2185    fn insert(
2186        &self,
2187        _req: crate::model::global_forwarding_rules::InsertRequest,
2188        _options: crate::RequestOptions,
2189    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2190    {
2191        gaxi::unimplemented::unimplemented_stub()
2192    }
2193
2194    /// Implements [super::client::GlobalForwardingRules::list].
2195    fn list(
2196        &self,
2197        _req: crate::model::global_forwarding_rules::ListRequest,
2198        _options: crate::RequestOptions,
2199    ) -> impl std::future::Future<
2200        Output = crate::Result<crate::Response<crate::model::ForwardingRuleList>>,
2201    > + Send {
2202        gaxi::unimplemented::unimplemented_stub()
2203    }
2204
2205    /// Implements [super::client::GlobalForwardingRules::patch].
2206    fn patch(
2207        &self,
2208        _req: crate::model::global_forwarding_rules::PatchRequest,
2209        _options: crate::RequestOptions,
2210    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2211    {
2212        gaxi::unimplemented::unimplemented_stub()
2213    }
2214
2215    /// Implements [super::client::GlobalForwardingRules::set_labels].
2216    fn set_labels(
2217        &self,
2218        _req: crate::model::global_forwarding_rules::SetLabelsRequest,
2219        _options: crate::RequestOptions,
2220    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2221    {
2222        gaxi::unimplemented::unimplemented_stub()
2223    }
2224
2225    /// Implements [super::client::GlobalForwardingRules::set_target].
2226    fn set_target(
2227        &self,
2228        _req: crate::model::global_forwarding_rules::SetTargetRequest,
2229        _options: crate::RequestOptions,
2230    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2231    {
2232        gaxi::unimplemented::unimplemented_stub()
2233    }
2234
2235    /// Implements [super::client::GlobalForwardingRules::get_operation].
2236    fn get_operation(
2237        &self,
2238        _req: crate::model::global_operations::GetRequest,
2239        _options: crate::RequestOptions,
2240    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2241    {
2242        gaxi::unimplemented::unimplemented_stub()
2243    }
2244
2245    /// Returns the polling error policy.
2246    ///
2247    /// When mocking, this method is typically irrelevant. Do not try to verify
2248    /// it is called by your mocks.
2249    fn get_polling_error_policy(
2250        &self,
2251        _options: &crate::RequestOptions,
2252    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2253        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2254    }
2255
2256    /// Returns the polling backoff policy.
2257    ///
2258    /// When mocking, this method is typically irrelevant. Do not try to verify
2259    /// it is called by your mocks.
2260    fn get_polling_backoff_policy(
2261        &self,
2262        _options: &crate::RequestOptions,
2263    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2264        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2265    }
2266
2267    #[doc(hidden)]
2268    /// Returns the poller options.
2269    ///
2270    /// When mocking, this method is typically irrelevant. Do not try to verify
2271    /// it is called by your mocks.
2272    fn get_poller_options(
2273        &self,
2274        _options: &crate::RequestOptions,
2275    ) -> google_cloud_lro::PollerOptions {
2276        google_cloud_lro::PollerOptions::default()
2277    }
2278}
2279
2280/// Defines the trait used to implement [super::client::GlobalNetworkEndpointGroups].
2281///
2282/// Application developers may need to implement this trait to mock
2283/// `client::GlobalNetworkEndpointGroups`.  In other use-cases, application developers only
2284/// use `client::GlobalNetworkEndpointGroups` and need not be concerned with this trait or
2285/// its implementations.
2286///
2287/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2288/// too. To avoid breaking applications the trait provides a default
2289/// implementation of each method. Most of these implementations just return an
2290/// error.
2291#[cfg(feature = "global-network-endpoint-groups")]
2292#[cfg_attr(docsrs, doc(cfg(feature = "global-network-endpoint-groups")))]
2293pub trait GlobalNetworkEndpointGroups: std::fmt::Debug + Send + Sync {
2294    /// Implements [super::client::GlobalNetworkEndpointGroups::attach_network_endpoints].
2295    fn attach_network_endpoints(
2296        &self,
2297        _req: crate::model::global_network_endpoint_groups::AttachNetworkEndpointsRequest,
2298        _options: crate::RequestOptions,
2299    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2300    {
2301        gaxi::unimplemented::unimplemented_stub()
2302    }
2303
2304    /// Implements [super::client::GlobalNetworkEndpointGroups::delete].
2305    fn delete(
2306        &self,
2307        _req: crate::model::global_network_endpoint_groups::DeleteRequest,
2308        _options: crate::RequestOptions,
2309    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2310    {
2311        gaxi::unimplemented::unimplemented_stub()
2312    }
2313
2314    /// Implements [super::client::GlobalNetworkEndpointGroups::detach_network_endpoints].
2315    fn detach_network_endpoints(
2316        &self,
2317        _req: crate::model::global_network_endpoint_groups::DetachNetworkEndpointsRequest,
2318        _options: crate::RequestOptions,
2319    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2320    {
2321        gaxi::unimplemented::unimplemented_stub()
2322    }
2323
2324    /// Implements [super::client::GlobalNetworkEndpointGroups::get].
2325    fn get(
2326        &self,
2327        _req: crate::model::global_network_endpoint_groups::GetRequest,
2328        _options: crate::RequestOptions,
2329    ) -> impl std::future::Future<
2330        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
2331    > + Send {
2332        gaxi::unimplemented::unimplemented_stub()
2333    }
2334
2335    /// Implements [super::client::GlobalNetworkEndpointGroups::insert].
2336    fn insert(
2337        &self,
2338        _req: crate::model::global_network_endpoint_groups::InsertRequest,
2339        _options: crate::RequestOptions,
2340    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2341    {
2342        gaxi::unimplemented::unimplemented_stub()
2343    }
2344
2345    /// Implements [super::client::GlobalNetworkEndpointGroups::list].
2346    fn list(
2347        &self,
2348        _req: crate::model::global_network_endpoint_groups::ListRequest,
2349        _options: crate::RequestOptions,
2350    ) -> impl std::future::Future<
2351        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
2352    > + Send {
2353        gaxi::unimplemented::unimplemented_stub()
2354    }
2355
2356    /// Implements [super::client::GlobalNetworkEndpointGroups::list_network_endpoints].
2357    fn list_network_endpoints(
2358        &self,
2359        _req: crate::model::global_network_endpoint_groups::ListNetworkEndpointsRequest,
2360        _options: crate::RequestOptions,
2361    ) -> impl std::future::Future<
2362        Output = crate::Result<
2363            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
2364        >,
2365    > + Send {
2366        gaxi::unimplemented::unimplemented_stub()
2367    }
2368
2369    /// Implements [super::client::GlobalNetworkEndpointGroups::get_operation].
2370    fn get_operation(
2371        &self,
2372        _req: crate::model::global_operations::GetRequest,
2373        _options: crate::RequestOptions,
2374    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2375    {
2376        gaxi::unimplemented::unimplemented_stub()
2377    }
2378
2379    /// Returns the polling error policy.
2380    ///
2381    /// When mocking, this method is typically irrelevant. Do not try to verify
2382    /// it is called by your mocks.
2383    fn get_polling_error_policy(
2384        &self,
2385        _options: &crate::RequestOptions,
2386    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2387        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2388    }
2389
2390    /// Returns the polling backoff policy.
2391    ///
2392    /// When mocking, this method is typically irrelevant. Do not try to verify
2393    /// it is called by your mocks.
2394    fn get_polling_backoff_policy(
2395        &self,
2396        _options: &crate::RequestOptions,
2397    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2398        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2399    }
2400
2401    #[doc(hidden)]
2402    /// Returns the poller options.
2403    ///
2404    /// When mocking, this method is typically irrelevant. Do not try to verify
2405    /// it is called by your mocks.
2406    fn get_poller_options(
2407        &self,
2408        _options: &crate::RequestOptions,
2409    ) -> google_cloud_lro::PollerOptions {
2410        google_cloud_lro::PollerOptions::default()
2411    }
2412}
2413
2414/// Defines the trait used to implement [super::client::GlobalOperations].
2415///
2416/// Application developers may need to implement this trait to mock
2417/// `client::GlobalOperations`.  In other use-cases, application developers only
2418/// use `client::GlobalOperations` and need not be concerned with this trait or
2419/// its implementations.
2420///
2421/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2422/// too. To avoid breaking applications the trait provides a default
2423/// implementation of each method. Most of these implementations just return an
2424/// error.
2425#[cfg(feature = "global-operations")]
2426#[cfg_attr(docsrs, doc(cfg(feature = "global-operations")))]
2427pub trait GlobalOperations: std::fmt::Debug + Send + Sync {
2428    /// Implements [super::client::GlobalOperations::aggregated_list].
2429    fn aggregated_list(
2430        &self,
2431        _req: crate::model::global_operations::AggregatedListRequest,
2432        _options: crate::RequestOptions,
2433    ) -> impl std::future::Future<
2434        Output = crate::Result<crate::Response<crate::model::OperationAggregatedList>>,
2435    > + Send {
2436        gaxi::unimplemented::unimplemented_stub()
2437    }
2438
2439    /// Implements [super::client::GlobalOperations::delete].
2440    fn delete(
2441        &self,
2442        _req: crate::model::global_operations::DeleteRequest,
2443        _options: crate::RequestOptions,
2444    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
2445        gaxi::unimplemented::unimplemented_stub()
2446    }
2447
2448    /// Implements [super::client::GlobalOperations::get].
2449    fn get(
2450        &self,
2451        _req: crate::model::global_operations::GetRequest,
2452        _options: crate::RequestOptions,
2453    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2454    {
2455        gaxi::unimplemented::unimplemented_stub()
2456    }
2457
2458    /// Implements [super::client::GlobalOperations::list].
2459    fn list(
2460        &self,
2461        _req: crate::model::global_operations::ListRequest,
2462        _options: crate::RequestOptions,
2463    ) -> impl std::future::Future<
2464        Output = crate::Result<crate::Response<crate::model::OperationList>>,
2465    > + Send {
2466        gaxi::unimplemented::unimplemented_stub()
2467    }
2468
2469    /// Implements [super::client::GlobalOperations::wait].
2470    fn wait(
2471        &self,
2472        _req: crate::model::global_operations::WaitRequest,
2473        _options: crate::RequestOptions,
2474    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2475    {
2476        gaxi::unimplemented::unimplemented_stub()
2477    }
2478}
2479
2480/// Defines the trait used to implement [super::client::GlobalOrganizationOperations].
2481///
2482/// Application developers may need to implement this trait to mock
2483/// `client::GlobalOrganizationOperations`.  In other use-cases, application developers only
2484/// use `client::GlobalOrganizationOperations` and need not be concerned with this trait or
2485/// its implementations.
2486///
2487/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2488/// too. To avoid breaking applications the trait provides a default
2489/// implementation of each method. Most of these implementations just return an
2490/// error.
2491#[cfg(feature = "global-organization-operations")]
2492#[cfg_attr(docsrs, doc(cfg(feature = "global-organization-operations")))]
2493pub trait GlobalOrganizationOperations: std::fmt::Debug + Send + Sync {
2494    /// Implements [super::client::GlobalOrganizationOperations::delete].
2495    fn delete(
2496        &self,
2497        _req: crate::model::global_organization_operations::DeleteRequest,
2498        _options: crate::RequestOptions,
2499    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
2500        gaxi::unimplemented::unimplemented_stub()
2501    }
2502
2503    /// Implements [super::client::GlobalOrganizationOperations::get].
2504    fn get(
2505        &self,
2506        _req: crate::model::global_organization_operations::GetRequest,
2507        _options: crate::RequestOptions,
2508    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2509    {
2510        gaxi::unimplemented::unimplemented_stub()
2511    }
2512
2513    /// Implements [super::client::GlobalOrganizationOperations::list].
2514    fn list(
2515        &self,
2516        _req: crate::model::global_organization_operations::ListRequest,
2517        _options: crate::RequestOptions,
2518    ) -> impl std::future::Future<
2519        Output = crate::Result<crate::Response<crate::model::OperationList>>,
2520    > + Send {
2521        gaxi::unimplemented::unimplemented_stub()
2522    }
2523}
2524
2525/// Defines the trait used to implement [super::client::GlobalPublicDelegatedPrefixes].
2526///
2527/// Application developers may need to implement this trait to mock
2528/// `client::GlobalPublicDelegatedPrefixes`.  In other use-cases, application developers only
2529/// use `client::GlobalPublicDelegatedPrefixes` and need not be concerned with this trait or
2530/// its implementations.
2531///
2532/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2533/// too. To avoid breaking applications the trait provides a default
2534/// implementation of each method. Most of these implementations just return an
2535/// error.
2536#[cfg(feature = "global-public-delegated-prefixes")]
2537#[cfg_attr(docsrs, doc(cfg(feature = "global-public-delegated-prefixes")))]
2538pub trait GlobalPublicDelegatedPrefixes: std::fmt::Debug + Send + Sync {
2539    /// Implements [super::client::GlobalPublicDelegatedPrefixes::delete].
2540    fn delete(
2541        &self,
2542        _req: crate::model::global_public_delegated_prefixes::DeleteRequest,
2543        _options: crate::RequestOptions,
2544    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2545    {
2546        gaxi::unimplemented::unimplemented_stub()
2547    }
2548
2549    /// Implements [super::client::GlobalPublicDelegatedPrefixes::get].
2550    fn get(
2551        &self,
2552        _req: crate::model::global_public_delegated_prefixes::GetRequest,
2553        _options: crate::RequestOptions,
2554    ) -> impl std::future::Future<
2555        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefix>>,
2556    > + Send {
2557        gaxi::unimplemented::unimplemented_stub()
2558    }
2559
2560    /// Implements [super::client::GlobalPublicDelegatedPrefixes::insert].
2561    fn insert(
2562        &self,
2563        _req: crate::model::global_public_delegated_prefixes::InsertRequest,
2564        _options: crate::RequestOptions,
2565    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2566    {
2567        gaxi::unimplemented::unimplemented_stub()
2568    }
2569
2570    /// Implements [super::client::GlobalPublicDelegatedPrefixes::list].
2571    fn list(
2572        &self,
2573        _req: crate::model::global_public_delegated_prefixes::ListRequest,
2574        _options: crate::RequestOptions,
2575    ) -> impl std::future::Future<
2576        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixList>>,
2577    > + Send {
2578        gaxi::unimplemented::unimplemented_stub()
2579    }
2580
2581    /// Implements [super::client::GlobalPublicDelegatedPrefixes::patch].
2582    fn patch(
2583        &self,
2584        _req: crate::model::global_public_delegated_prefixes::PatchRequest,
2585        _options: crate::RequestOptions,
2586    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2587    {
2588        gaxi::unimplemented::unimplemented_stub()
2589    }
2590
2591    /// Implements [super::client::GlobalPublicDelegatedPrefixes::get_operation].
2592    fn get_operation(
2593        &self,
2594        _req: crate::model::global_operations::GetRequest,
2595        _options: crate::RequestOptions,
2596    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2597    {
2598        gaxi::unimplemented::unimplemented_stub()
2599    }
2600
2601    /// Returns the polling error policy.
2602    ///
2603    /// When mocking, this method is typically irrelevant. Do not try to verify
2604    /// it is called by your mocks.
2605    fn get_polling_error_policy(
2606        &self,
2607        _options: &crate::RequestOptions,
2608    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2609        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2610    }
2611
2612    /// Returns the polling backoff policy.
2613    ///
2614    /// When mocking, this method is typically irrelevant. Do not try to verify
2615    /// it is called by your mocks.
2616    fn get_polling_backoff_policy(
2617        &self,
2618        _options: &crate::RequestOptions,
2619    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2620        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2621    }
2622
2623    #[doc(hidden)]
2624    /// Returns the poller options.
2625    ///
2626    /// When mocking, this method is typically irrelevant. Do not try to verify
2627    /// it is called by your mocks.
2628    fn get_poller_options(
2629        &self,
2630        _options: &crate::RequestOptions,
2631    ) -> google_cloud_lro::PollerOptions {
2632        google_cloud_lro::PollerOptions::default()
2633    }
2634}
2635
2636/// Defines the trait used to implement [super::client::GlobalVmExtensionPolicies].
2637///
2638/// Application developers may need to implement this trait to mock
2639/// `client::GlobalVmExtensionPolicies`.  In other use-cases, application developers only
2640/// use `client::GlobalVmExtensionPolicies` and need not be concerned with this trait or
2641/// its implementations.
2642///
2643/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2644/// too. To avoid breaking applications the trait provides a default
2645/// implementation of each method. Most of these implementations just return an
2646/// error.
2647#[cfg(feature = "global-vm-extension-policies")]
2648#[cfg_attr(docsrs, doc(cfg(feature = "global-vm-extension-policies")))]
2649pub trait GlobalVmExtensionPolicies: std::fmt::Debug + Send + Sync {
2650    /// Implements [super::client::GlobalVmExtensionPolicies::aggregated_list].
2651    fn aggregated_list(
2652        &self,
2653        _req: crate::model::global_vm_extension_policies::AggregatedListRequest,
2654        _options: crate::RequestOptions,
2655    ) -> impl std::future::Future<
2656        Output = crate::Result<
2657            crate::Response<crate::model::VmExtensionPolicyAggregatedListResponse>,
2658        >,
2659    > + Send {
2660        gaxi::unimplemented::unimplemented_stub()
2661    }
2662
2663    /// Implements [super::client::GlobalVmExtensionPolicies::delete].
2664    fn delete(
2665        &self,
2666        _req: crate::model::global_vm_extension_policies::DeleteRequest,
2667        _options: crate::RequestOptions,
2668    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2669    {
2670        gaxi::unimplemented::unimplemented_stub()
2671    }
2672
2673    /// Implements [super::client::GlobalVmExtensionPolicies::get].
2674    fn get(
2675        &self,
2676        _req: crate::model::global_vm_extension_policies::GetRequest,
2677        _options: crate::RequestOptions,
2678    ) -> impl std::future::Future<
2679        Output = crate::Result<crate::Response<crate::model::GlobalVmExtensionPolicy>>,
2680    > + Send {
2681        gaxi::unimplemented::unimplemented_stub()
2682    }
2683
2684    /// Implements [super::client::GlobalVmExtensionPolicies::insert].
2685    fn insert(
2686        &self,
2687        _req: crate::model::global_vm_extension_policies::InsertRequest,
2688        _options: crate::RequestOptions,
2689    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2690    {
2691        gaxi::unimplemented::unimplemented_stub()
2692    }
2693
2694    /// Implements [super::client::GlobalVmExtensionPolicies::list].
2695    fn list(
2696        &self,
2697        _req: crate::model::global_vm_extension_policies::ListRequest,
2698        _options: crate::RequestOptions,
2699    ) -> impl std::future::Future<
2700        Output = crate::Result<crate::Response<crate::model::GlobalVmExtensionPolicyList>>,
2701    > + Send {
2702        gaxi::unimplemented::unimplemented_stub()
2703    }
2704
2705    /// Implements [super::client::GlobalVmExtensionPolicies::update].
2706    fn update(
2707        &self,
2708        _req: crate::model::global_vm_extension_policies::UpdateRequest,
2709        _options: crate::RequestOptions,
2710    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2711    {
2712        gaxi::unimplemented::unimplemented_stub()
2713    }
2714
2715    /// Implements [super::client::GlobalVmExtensionPolicies::get_operation].
2716    fn get_operation(
2717        &self,
2718        _req: crate::model::global_operations::GetRequest,
2719        _options: crate::RequestOptions,
2720    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2721    {
2722        gaxi::unimplemented::unimplemented_stub()
2723    }
2724
2725    /// Returns the polling error policy.
2726    ///
2727    /// When mocking, this method is typically irrelevant. Do not try to verify
2728    /// it is called by your mocks.
2729    fn get_polling_error_policy(
2730        &self,
2731        _options: &crate::RequestOptions,
2732    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2733        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2734    }
2735
2736    /// Returns the polling backoff policy.
2737    ///
2738    /// When mocking, this method is typically irrelevant. Do not try to verify
2739    /// it is called by your mocks.
2740    fn get_polling_backoff_policy(
2741        &self,
2742        _options: &crate::RequestOptions,
2743    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2744        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2745    }
2746
2747    #[doc(hidden)]
2748    /// Returns the poller options.
2749    ///
2750    /// When mocking, this method is typically irrelevant. Do not try to verify
2751    /// it is called by your mocks.
2752    fn get_poller_options(
2753        &self,
2754        _options: &crate::RequestOptions,
2755    ) -> google_cloud_lro::PollerOptions {
2756        google_cloud_lro::PollerOptions::default()
2757    }
2758}
2759
2760/// Defines the trait used to implement [super::client::HealthChecks].
2761///
2762/// Application developers may need to implement this trait to mock
2763/// `client::HealthChecks`.  In other use-cases, application developers only
2764/// use `client::HealthChecks` and need not be concerned with this trait or
2765/// its implementations.
2766///
2767/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2768/// too. To avoid breaking applications the trait provides a default
2769/// implementation of each method. Most of these implementations just return an
2770/// error.
2771#[cfg(feature = "health-checks")]
2772#[cfg_attr(docsrs, doc(cfg(feature = "health-checks")))]
2773pub trait HealthChecks: std::fmt::Debug + Send + Sync {
2774    /// Implements [super::client::HealthChecks::aggregated_list].
2775    fn aggregated_list(
2776        &self,
2777        _req: crate::model::health_checks::AggregatedListRequest,
2778        _options: crate::RequestOptions,
2779    ) -> impl std::future::Future<
2780        Output = crate::Result<crate::Response<crate::model::HealthChecksAggregatedList>>,
2781    > + Send {
2782        gaxi::unimplemented::unimplemented_stub()
2783    }
2784
2785    /// Implements [super::client::HealthChecks::delete].
2786    fn delete(
2787        &self,
2788        _req: crate::model::health_checks::DeleteRequest,
2789        _options: crate::RequestOptions,
2790    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2791    {
2792        gaxi::unimplemented::unimplemented_stub()
2793    }
2794
2795    /// Implements [super::client::HealthChecks::get].
2796    fn get(
2797        &self,
2798        _req: crate::model::health_checks::GetRequest,
2799        _options: crate::RequestOptions,
2800    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::HealthCheck>>>
2801    + Send {
2802        gaxi::unimplemented::unimplemented_stub()
2803    }
2804
2805    /// Implements [super::client::HealthChecks::insert].
2806    fn insert(
2807        &self,
2808        _req: crate::model::health_checks::InsertRequest,
2809        _options: crate::RequestOptions,
2810    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2811    {
2812        gaxi::unimplemented::unimplemented_stub()
2813    }
2814
2815    /// Implements [super::client::HealthChecks::list].
2816    fn list(
2817        &self,
2818        _req: crate::model::health_checks::ListRequest,
2819        _options: crate::RequestOptions,
2820    ) -> impl std::future::Future<
2821        Output = crate::Result<crate::Response<crate::model::HealthCheckList>>,
2822    > + Send {
2823        gaxi::unimplemented::unimplemented_stub()
2824    }
2825
2826    /// Implements [super::client::HealthChecks::patch].
2827    fn patch(
2828        &self,
2829        _req: crate::model::health_checks::PatchRequest,
2830        _options: crate::RequestOptions,
2831    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2832    {
2833        gaxi::unimplemented::unimplemented_stub()
2834    }
2835
2836    /// Implements [super::client::HealthChecks::test_iam_permissions].
2837    fn test_iam_permissions(
2838        &self,
2839        _req: crate::model::health_checks::TestIamPermissionsRequest,
2840        _options: crate::RequestOptions,
2841    ) -> impl std::future::Future<
2842        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
2843    > + Send {
2844        gaxi::unimplemented::unimplemented_stub()
2845    }
2846
2847    /// Implements [super::client::HealthChecks::update].
2848    fn update(
2849        &self,
2850        _req: crate::model::health_checks::UpdateRequest,
2851        _options: crate::RequestOptions,
2852    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2853    {
2854        gaxi::unimplemented::unimplemented_stub()
2855    }
2856
2857    /// Implements [super::client::HealthChecks::get_operation].
2858    fn get_operation(
2859        &self,
2860        _req: crate::model::global_operations::GetRequest,
2861        _options: crate::RequestOptions,
2862    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2863    {
2864        gaxi::unimplemented::unimplemented_stub()
2865    }
2866
2867    /// Returns the polling error policy.
2868    ///
2869    /// When mocking, this method is typically irrelevant. Do not try to verify
2870    /// it is called by your mocks.
2871    fn get_polling_error_policy(
2872        &self,
2873        _options: &crate::RequestOptions,
2874    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2875        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2876    }
2877
2878    /// Returns the polling backoff policy.
2879    ///
2880    /// When mocking, this method is typically irrelevant. Do not try to verify
2881    /// it is called by your mocks.
2882    fn get_polling_backoff_policy(
2883        &self,
2884        _options: &crate::RequestOptions,
2885    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2886        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2887    }
2888
2889    #[doc(hidden)]
2890    /// Returns the poller options.
2891    ///
2892    /// When mocking, this method is typically irrelevant. Do not try to verify
2893    /// it is called by your mocks.
2894    fn get_poller_options(
2895        &self,
2896        _options: &crate::RequestOptions,
2897    ) -> google_cloud_lro::PollerOptions {
2898        google_cloud_lro::PollerOptions::default()
2899    }
2900}
2901
2902/// Defines the trait used to implement [super::client::Hosts].
2903///
2904/// Application developers may need to implement this trait to mock
2905/// `client::Hosts`.  In other use-cases, application developers only
2906/// use `client::Hosts` and need not be concerned with this trait or
2907/// its implementations.
2908///
2909/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2910/// too. To avoid breaking applications the trait provides a default
2911/// implementation of each method. Most of these implementations just return an
2912/// error.
2913#[cfg(feature = "hosts")]
2914#[cfg_attr(docsrs, doc(cfg(feature = "hosts")))]
2915pub trait Hosts: std::fmt::Debug + Send + Sync {
2916    /// Implements [super::client::Hosts::get].
2917    fn get(
2918        &self,
2919        _req: crate::model::hosts::GetRequest,
2920        _options: crate::RequestOptions,
2921    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Host>>> + Send
2922    {
2923        gaxi::unimplemented::unimplemented_stub()
2924    }
2925
2926    /// Implements [super::client::Hosts::get_version].
2927    fn get_version(
2928        &self,
2929        _req: crate::model::hosts::GetVersionRequest,
2930        _options: crate::RequestOptions,
2931    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2932    {
2933        gaxi::unimplemented::unimplemented_stub()
2934    }
2935
2936    /// Implements [super::client::Hosts::list].
2937    fn list(
2938        &self,
2939        _req: crate::model::hosts::ListRequest,
2940        _options: crate::RequestOptions,
2941    ) -> impl std::future::Future<
2942        Output = crate::Result<crate::Response<crate::model::HostsListResponse>>,
2943    > + Send {
2944        gaxi::unimplemented::unimplemented_stub()
2945    }
2946
2947    /// Implements [super::client::Hosts::get_operation].
2948    fn get_operation(
2949        &self,
2950        _req: crate::model::zone_operations::GetRequest,
2951        _options: crate::RequestOptions,
2952    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
2953    {
2954        gaxi::unimplemented::unimplemented_stub()
2955    }
2956
2957    /// Returns the polling error policy.
2958    ///
2959    /// When mocking, this method is typically irrelevant. Do not try to verify
2960    /// it is called by your mocks.
2961    fn get_polling_error_policy(
2962        &self,
2963        _options: &crate::RequestOptions,
2964    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
2965        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
2966    }
2967
2968    /// Returns the polling backoff policy.
2969    ///
2970    /// When mocking, this method is typically irrelevant. Do not try to verify
2971    /// it is called by your mocks.
2972    fn get_polling_backoff_policy(
2973        &self,
2974        _options: &crate::RequestOptions,
2975    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
2976        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
2977    }
2978
2979    #[doc(hidden)]
2980    /// Returns the poller options.
2981    ///
2982    /// When mocking, this method is typically irrelevant. Do not try to verify
2983    /// it is called by your mocks.
2984    fn get_poller_options(
2985        &self,
2986        _options: &crate::RequestOptions,
2987    ) -> google_cloud_lro::PollerOptions {
2988        google_cloud_lro::PollerOptions::default()
2989    }
2990}
2991
2992/// Defines the trait used to implement [super::client::HttpHealthChecks].
2993///
2994/// Application developers may need to implement this trait to mock
2995/// `client::HttpHealthChecks`.  In other use-cases, application developers only
2996/// use `client::HttpHealthChecks` and need not be concerned with this trait or
2997/// its implementations.
2998///
2999/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3000/// too. To avoid breaking applications the trait provides a default
3001/// implementation of each method. Most of these implementations just return an
3002/// error.
3003#[cfg(feature = "http-health-checks")]
3004#[cfg_attr(docsrs, doc(cfg(feature = "http-health-checks")))]
3005pub trait HttpHealthChecks: std::fmt::Debug + Send + Sync {
3006    /// Implements [super::client::HttpHealthChecks::delete].
3007    fn delete(
3008        &self,
3009        _req: crate::model::http_health_checks::DeleteRequest,
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    /// Implements [super::client::HttpHealthChecks::get].
3017    fn get(
3018        &self,
3019        _req: crate::model::http_health_checks::GetRequest,
3020        _options: crate::RequestOptions,
3021    ) -> impl std::future::Future<
3022        Output = crate::Result<crate::Response<crate::model::HttpHealthCheck>>,
3023    > + Send {
3024        gaxi::unimplemented::unimplemented_stub()
3025    }
3026
3027    /// Implements [super::client::HttpHealthChecks::insert].
3028    fn insert(
3029        &self,
3030        _req: crate::model::http_health_checks::InsertRequest,
3031        _options: crate::RequestOptions,
3032    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3033    {
3034        gaxi::unimplemented::unimplemented_stub()
3035    }
3036
3037    /// Implements [super::client::HttpHealthChecks::list].
3038    fn list(
3039        &self,
3040        _req: crate::model::http_health_checks::ListRequest,
3041        _options: crate::RequestOptions,
3042    ) -> impl std::future::Future<
3043        Output = crate::Result<crate::Response<crate::model::HttpHealthCheckList>>,
3044    > + Send {
3045        gaxi::unimplemented::unimplemented_stub()
3046    }
3047
3048    /// Implements [super::client::HttpHealthChecks::patch].
3049    fn patch(
3050        &self,
3051        _req: crate::model::http_health_checks::PatchRequest,
3052        _options: crate::RequestOptions,
3053    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3054    {
3055        gaxi::unimplemented::unimplemented_stub()
3056    }
3057
3058    /// Implements [super::client::HttpHealthChecks::test_iam_permissions].
3059    fn test_iam_permissions(
3060        &self,
3061        _req: crate::model::http_health_checks::TestIamPermissionsRequest,
3062        _options: crate::RequestOptions,
3063    ) -> impl std::future::Future<
3064        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3065    > + Send {
3066        gaxi::unimplemented::unimplemented_stub()
3067    }
3068
3069    /// Implements [super::client::HttpHealthChecks::update].
3070    fn update(
3071        &self,
3072        _req: crate::model::http_health_checks::UpdateRequest,
3073        _options: crate::RequestOptions,
3074    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3075    {
3076        gaxi::unimplemented::unimplemented_stub()
3077    }
3078
3079    /// Implements [super::client::HttpHealthChecks::get_operation].
3080    fn get_operation(
3081        &self,
3082        _req: crate::model::global_operations::GetRequest,
3083        _options: crate::RequestOptions,
3084    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3085    {
3086        gaxi::unimplemented::unimplemented_stub()
3087    }
3088
3089    /// Returns the polling error policy.
3090    ///
3091    /// When mocking, this method is typically irrelevant. Do not try to verify
3092    /// it is called by your mocks.
3093    fn get_polling_error_policy(
3094        &self,
3095        _options: &crate::RequestOptions,
3096    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3097        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3098    }
3099
3100    /// Returns the polling backoff policy.
3101    ///
3102    /// When mocking, this method is typically irrelevant. Do not try to verify
3103    /// it is called by your mocks.
3104    fn get_polling_backoff_policy(
3105        &self,
3106        _options: &crate::RequestOptions,
3107    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3108        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3109    }
3110
3111    #[doc(hidden)]
3112    /// Returns the poller options.
3113    ///
3114    /// When mocking, this method is typically irrelevant. Do not try to verify
3115    /// it is called by your mocks.
3116    fn get_poller_options(
3117        &self,
3118        _options: &crate::RequestOptions,
3119    ) -> google_cloud_lro::PollerOptions {
3120        google_cloud_lro::PollerOptions::default()
3121    }
3122}
3123
3124/// Defines the trait used to implement [super::client::HttpsHealthChecks].
3125///
3126/// Application developers may need to implement this trait to mock
3127/// `client::HttpsHealthChecks`.  In other use-cases, application developers only
3128/// use `client::HttpsHealthChecks` and need not be concerned with this trait or
3129/// its implementations.
3130///
3131/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3132/// too. To avoid breaking applications the trait provides a default
3133/// implementation of each method. Most of these implementations just return an
3134/// error.
3135#[cfg(feature = "https-health-checks")]
3136#[cfg_attr(docsrs, doc(cfg(feature = "https-health-checks")))]
3137pub trait HttpsHealthChecks: std::fmt::Debug + Send + Sync {
3138    /// Implements [super::client::HttpsHealthChecks::delete].
3139    fn delete(
3140        &self,
3141        _req: crate::model::https_health_checks::DeleteRequest,
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    /// Implements [super::client::HttpsHealthChecks::get].
3149    fn get(
3150        &self,
3151        _req: crate::model::https_health_checks::GetRequest,
3152        _options: crate::RequestOptions,
3153    ) -> impl std::future::Future<
3154        Output = crate::Result<crate::Response<crate::model::HttpsHealthCheck>>,
3155    > + Send {
3156        gaxi::unimplemented::unimplemented_stub()
3157    }
3158
3159    /// Implements [super::client::HttpsHealthChecks::insert].
3160    fn insert(
3161        &self,
3162        _req: crate::model::https_health_checks::InsertRequest,
3163        _options: crate::RequestOptions,
3164    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3165    {
3166        gaxi::unimplemented::unimplemented_stub()
3167    }
3168
3169    /// Implements [super::client::HttpsHealthChecks::list].
3170    fn list(
3171        &self,
3172        _req: crate::model::https_health_checks::ListRequest,
3173        _options: crate::RequestOptions,
3174    ) -> impl std::future::Future<
3175        Output = crate::Result<crate::Response<crate::model::HttpsHealthCheckList>>,
3176    > + Send {
3177        gaxi::unimplemented::unimplemented_stub()
3178    }
3179
3180    /// Implements [super::client::HttpsHealthChecks::patch].
3181    fn patch(
3182        &self,
3183        _req: crate::model::https_health_checks::PatchRequest,
3184        _options: crate::RequestOptions,
3185    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3186    {
3187        gaxi::unimplemented::unimplemented_stub()
3188    }
3189
3190    /// Implements [super::client::HttpsHealthChecks::test_iam_permissions].
3191    fn test_iam_permissions(
3192        &self,
3193        _req: crate::model::https_health_checks::TestIamPermissionsRequest,
3194        _options: crate::RequestOptions,
3195    ) -> impl std::future::Future<
3196        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3197    > + Send {
3198        gaxi::unimplemented::unimplemented_stub()
3199    }
3200
3201    /// Implements [super::client::HttpsHealthChecks::update].
3202    fn update(
3203        &self,
3204        _req: crate::model::https_health_checks::UpdateRequest,
3205        _options: crate::RequestOptions,
3206    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3207    {
3208        gaxi::unimplemented::unimplemented_stub()
3209    }
3210
3211    /// Implements [super::client::HttpsHealthChecks::get_operation].
3212    fn get_operation(
3213        &self,
3214        _req: crate::model::global_operations::GetRequest,
3215        _options: crate::RequestOptions,
3216    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3217    {
3218        gaxi::unimplemented::unimplemented_stub()
3219    }
3220
3221    /// Returns the polling error policy.
3222    ///
3223    /// When mocking, this method is typically irrelevant. Do not try to verify
3224    /// it is called by your mocks.
3225    fn get_polling_error_policy(
3226        &self,
3227        _options: &crate::RequestOptions,
3228    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3229        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3230    }
3231
3232    /// Returns the polling backoff policy.
3233    ///
3234    /// When mocking, this method is typically irrelevant. Do not try to verify
3235    /// it is called by your mocks.
3236    fn get_polling_backoff_policy(
3237        &self,
3238        _options: &crate::RequestOptions,
3239    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3240        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3241    }
3242
3243    #[doc(hidden)]
3244    /// Returns the poller options.
3245    ///
3246    /// When mocking, this method is typically irrelevant. Do not try to verify
3247    /// it is called by your mocks.
3248    fn get_poller_options(
3249        &self,
3250        _options: &crate::RequestOptions,
3251    ) -> google_cloud_lro::PollerOptions {
3252        google_cloud_lro::PollerOptions::default()
3253    }
3254}
3255
3256/// Defines the trait used to implement [super::client::ImageFamilyViews].
3257///
3258/// Application developers may need to implement this trait to mock
3259/// `client::ImageFamilyViews`.  In other use-cases, application developers only
3260/// use `client::ImageFamilyViews` and need not be concerned with this trait or
3261/// its implementations.
3262///
3263/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3264/// too. To avoid breaking applications the trait provides a default
3265/// implementation of each method. Most of these implementations just return an
3266/// error.
3267#[cfg(feature = "image-family-views")]
3268#[cfg_attr(docsrs, doc(cfg(feature = "image-family-views")))]
3269pub trait ImageFamilyViews: std::fmt::Debug + Send + Sync {
3270    /// Implements [super::client::ImageFamilyViews::get].
3271    fn get(
3272        &self,
3273        _req: crate::model::image_family_views::GetRequest,
3274        _options: crate::RequestOptions,
3275    ) -> impl std::future::Future<
3276        Output = crate::Result<crate::Response<crate::model::ImageFamilyView>>,
3277    > + Send {
3278        gaxi::unimplemented::unimplemented_stub()
3279    }
3280}
3281
3282/// Defines the trait used to implement [super::client::Images].
3283///
3284/// Application developers may need to implement this trait to mock
3285/// `client::Images`.  In other use-cases, application developers only
3286/// use `client::Images` and need not be concerned with this trait or
3287/// its implementations.
3288///
3289/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3290/// too. To avoid breaking applications the trait provides a default
3291/// implementation of each method. Most of these implementations just return an
3292/// error.
3293#[cfg(feature = "images")]
3294#[cfg_attr(docsrs, doc(cfg(feature = "images")))]
3295pub trait Images: std::fmt::Debug + Send + Sync {
3296    /// Implements [super::client::Images::delete].
3297    fn delete(
3298        &self,
3299        _req: crate::model::images::DeleteRequest,
3300        _options: crate::RequestOptions,
3301    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3302    {
3303        gaxi::unimplemented::unimplemented_stub()
3304    }
3305
3306    /// Implements [super::client::Images::deprecate].
3307    fn deprecate(
3308        &self,
3309        _req: crate::model::images::DeprecateRequest,
3310        _options: crate::RequestOptions,
3311    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3312    {
3313        gaxi::unimplemented::unimplemented_stub()
3314    }
3315
3316    /// Implements [super::client::Images::get].
3317    fn get(
3318        &self,
3319        _req: crate::model::images::GetRequest,
3320        _options: crate::RequestOptions,
3321    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Image>>> + Send
3322    {
3323        gaxi::unimplemented::unimplemented_stub()
3324    }
3325
3326    /// Implements [super::client::Images::get_from_family].
3327    fn get_from_family(
3328        &self,
3329        _req: crate::model::images::GetFromFamilyRequest,
3330        _options: crate::RequestOptions,
3331    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Image>>> + Send
3332    {
3333        gaxi::unimplemented::unimplemented_stub()
3334    }
3335
3336    /// Implements [super::client::Images::get_iam_policy].
3337    fn get_iam_policy(
3338        &self,
3339        _req: crate::model::images::GetIamPolicyRequest,
3340        _options: crate::RequestOptions,
3341    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
3342    {
3343        gaxi::unimplemented::unimplemented_stub()
3344    }
3345
3346    /// Implements [super::client::Images::insert].
3347    fn insert(
3348        &self,
3349        _req: crate::model::images::InsertRequest,
3350        _options: crate::RequestOptions,
3351    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3352    {
3353        gaxi::unimplemented::unimplemented_stub()
3354    }
3355
3356    /// Implements [super::client::Images::list].
3357    fn list(
3358        &self,
3359        _req: crate::model::images::ListRequest,
3360        _options: crate::RequestOptions,
3361    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ImageList>>> + Send
3362    {
3363        gaxi::unimplemented::unimplemented_stub()
3364    }
3365
3366    /// Implements [super::client::Images::patch].
3367    fn patch(
3368        &self,
3369        _req: crate::model::images::PatchRequest,
3370        _options: crate::RequestOptions,
3371    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3372    {
3373        gaxi::unimplemented::unimplemented_stub()
3374    }
3375
3376    /// Implements [super::client::Images::set_iam_policy].
3377    fn set_iam_policy(
3378        &self,
3379        _req: crate::model::images::SetIamPolicyRequest,
3380        _options: crate::RequestOptions,
3381    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
3382    {
3383        gaxi::unimplemented::unimplemented_stub()
3384    }
3385
3386    /// Implements [super::client::Images::set_labels].
3387    fn set_labels(
3388        &self,
3389        _req: crate::model::images::SetLabelsRequest,
3390        _options: crate::RequestOptions,
3391    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3392    {
3393        gaxi::unimplemented::unimplemented_stub()
3394    }
3395
3396    /// Implements [super::client::Images::test_iam_permissions].
3397    fn test_iam_permissions(
3398        &self,
3399        _req: crate::model::images::TestIamPermissionsRequest,
3400        _options: crate::RequestOptions,
3401    ) -> impl std::future::Future<
3402        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3403    > + Send {
3404        gaxi::unimplemented::unimplemented_stub()
3405    }
3406
3407    /// Implements [super::client::Images::get_operation].
3408    fn get_operation(
3409        &self,
3410        _req: crate::model::global_operations::GetRequest,
3411        _options: crate::RequestOptions,
3412    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3413    {
3414        gaxi::unimplemented::unimplemented_stub()
3415    }
3416
3417    /// Returns the polling error policy.
3418    ///
3419    /// When mocking, this method is typically irrelevant. Do not try to verify
3420    /// it is called by your mocks.
3421    fn get_polling_error_policy(
3422        &self,
3423        _options: &crate::RequestOptions,
3424    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3425        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3426    }
3427
3428    /// Returns the polling backoff policy.
3429    ///
3430    /// When mocking, this method is typically irrelevant. Do not try to verify
3431    /// it is called by your mocks.
3432    fn get_polling_backoff_policy(
3433        &self,
3434        _options: &crate::RequestOptions,
3435    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3436        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3437    }
3438
3439    #[doc(hidden)]
3440    /// Returns the poller options.
3441    ///
3442    /// When mocking, this method is typically irrelevant. Do not try to verify
3443    /// it is called by your mocks.
3444    fn get_poller_options(
3445        &self,
3446        _options: &crate::RequestOptions,
3447    ) -> google_cloud_lro::PollerOptions {
3448        google_cloud_lro::PollerOptions::default()
3449    }
3450}
3451
3452/// Defines the trait used to implement [super::client::InstanceGroupManagerResizeRequests].
3453///
3454/// Application developers may need to implement this trait to mock
3455/// `client::InstanceGroupManagerResizeRequests`.  In other use-cases, application developers only
3456/// use `client::InstanceGroupManagerResizeRequests` and need not be concerned with this trait or
3457/// its implementations.
3458///
3459/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3460/// too. To avoid breaking applications the trait provides a default
3461/// implementation of each method. Most of these implementations just return an
3462/// error.
3463#[cfg(feature = "instance-group-manager-resize-requests")]
3464#[cfg_attr(docsrs, doc(cfg(feature = "instance-group-manager-resize-requests")))]
3465pub trait InstanceGroupManagerResizeRequests: std::fmt::Debug + Send + Sync {
3466    /// Implements [super::client::InstanceGroupManagerResizeRequests::cancel].
3467    fn cancel(
3468        &self,
3469        _req: crate::model::instance_group_manager_resize_requests::CancelRequest,
3470        _options: crate::RequestOptions,
3471    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3472    {
3473        gaxi::unimplemented::unimplemented_stub()
3474    }
3475
3476    /// Implements [super::client::InstanceGroupManagerResizeRequests::delete].
3477    fn delete(
3478        &self,
3479        _req: crate::model::instance_group_manager_resize_requests::DeleteRequest,
3480        _options: crate::RequestOptions,
3481    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3482    {
3483        gaxi::unimplemented::unimplemented_stub()
3484    }
3485
3486    /// Implements [super::client::InstanceGroupManagerResizeRequests::get].
3487    fn get(
3488        &self,
3489        _req: crate::model::instance_group_manager_resize_requests::GetRequest,
3490        _options: crate::RequestOptions,
3491    ) -> impl std::future::Future<
3492        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerResizeRequest>>,
3493    > + Send {
3494        gaxi::unimplemented::unimplemented_stub()
3495    }
3496
3497    /// Implements [super::client::InstanceGroupManagerResizeRequests::insert].
3498    fn insert(
3499        &self,
3500        _req: crate::model::instance_group_manager_resize_requests::InsertRequest,
3501        _options: crate::RequestOptions,
3502    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3503    {
3504        gaxi::unimplemented::unimplemented_stub()
3505    }
3506
3507    /// Implements [super::client::InstanceGroupManagerResizeRequests::list].
3508    fn list(
3509        &self,
3510        _req: crate::model::instance_group_manager_resize_requests::ListRequest,
3511        _options: crate::RequestOptions,
3512    ) -> impl std::future::Future<
3513        Output = crate::Result<
3514            crate::Response<crate::model::InstanceGroupManagerResizeRequestsListResponse>,
3515        >,
3516    > + Send {
3517        gaxi::unimplemented::unimplemented_stub()
3518    }
3519
3520    /// Implements [super::client::InstanceGroupManagerResizeRequests::get_operation].
3521    fn get_operation(
3522        &self,
3523        _req: crate::model::zone_operations::GetRequest,
3524        _options: crate::RequestOptions,
3525    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3526    {
3527        gaxi::unimplemented::unimplemented_stub()
3528    }
3529
3530    /// Returns the polling error policy.
3531    ///
3532    /// When mocking, this method is typically irrelevant. Do not try to verify
3533    /// it is called by your mocks.
3534    fn get_polling_error_policy(
3535        &self,
3536        _options: &crate::RequestOptions,
3537    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3538        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3539    }
3540
3541    /// Returns the polling backoff policy.
3542    ///
3543    /// When mocking, this method is typically irrelevant. Do not try to verify
3544    /// it is called by your mocks.
3545    fn get_polling_backoff_policy(
3546        &self,
3547        _options: &crate::RequestOptions,
3548    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3549        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3550    }
3551
3552    #[doc(hidden)]
3553    /// Returns the poller options.
3554    ///
3555    /// When mocking, this method is typically irrelevant. Do not try to verify
3556    /// it is called by your mocks.
3557    fn get_poller_options(
3558        &self,
3559        _options: &crate::RequestOptions,
3560    ) -> google_cloud_lro::PollerOptions {
3561        google_cloud_lro::PollerOptions::default()
3562    }
3563}
3564
3565/// Defines the trait used to implement [super::client::InstanceGroupManagers].
3566///
3567/// Application developers may need to implement this trait to mock
3568/// `client::InstanceGroupManagers`.  In other use-cases, application developers only
3569/// use `client::InstanceGroupManagers` and need not be concerned with this trait or
3570/// its implementations.
3571///
3572/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3573/// too. To avoid breaking applications the trait provides a default
3574/// implementation of each method. Most of these implementations just return an
3575/// error.
3576#[cfg(feature = "instance-group-managers")]
3577#[cfg_attr(docsrs, doc(cfg(feature = "instance-group-managers")))]
3578pub trait InstanceGroupManagers: std::fmt::Debug + Send + Sync {
3579    /// Implements [super::client::InstanceGroupManagers::abandon_instances].
3580    fn abandon_instances(
3581        &self,
3582        _req: crate::model::instance_group_managers::AbandonInstancesRequest,
3583        _options: crate::RequestOptions,
3584    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3585    {
3586        gaxi::unimplemented::unimplemented_stub()
3587    }
3588
3589    /// Implements [super::client::InstanceGroupManagers::aggregated_list].
3590    fn aggregated_list(
3591        &self,
3592        _req: crate::model::instance_group_managers::AggregatedListRequest,
3593        _options: crate::RequestOptions,
3594    ) -> impl std::future::Future<
3595        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerAggregatedList>>,
3596    > + Send {
3597        gaxi::unimplemented::unimplemented_stub()
3598    }
3599
3600    /// Implements [super::client::InstanceGroupManagers::apply_updates_to_instances].
3601    fn apply_updates_to_instances(
3602        &self,
3603        _req: crate::model::instance_group_managers::ApplyUpdatesToInstancesRequest,
3604        _options: crate::RequestOptions,
3605    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3606    {
3607        gaxi::unimplemented::unimplemented_stub()
3608    }
3609
3610    /// Implements [super::client::InstanceGroupManagers::create_instances].
3611    fn create_instances(
3612        &self,
3613        _req: crate::model::instance_group_managers::CreateInstancesRequest,
3614        _options: crate::RequestOptions,
3615    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3616    {
3617        gaxi::unimplemented::unimplemented_stub()
3618    }
3619
3620    /// Implements [super::client::InstanceGroupManagers::delete].
3621    fn delete(
3622        &self,
3623        _req: crate::model::instance_group_managers::DeleteRequest,
3624        _options: crate::RequestOptions,
3625    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3626    {
3627        gaxi::unimplemented::unimplemented_stub()
3628    }
3629
3630    /// Implements [super::client::InstanceGroupManagers::delete_instances].
3631    fn delete_instances(
3632        &self,
3633        _req: crate::model::instance_group_managers::DeleteInstancesRequest,
3634        _options: crate::RequestOptions,
3635    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3636    {
3637        gaxi::unimplemented::unimplemented_stub()
3638    }
3639
3640    /// Implements [super::client::InstanceGroupManagers::delete_per_instance_configs].
3641    fn delete_per_instance_configs(
3642        &self,
3643        _req: crate::model::instance_group_managers::DeletePerInstanceConfigsRequest,
3644        _options: crate::RequestOptions,
3645    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3646    {
3647        gaxi::unimplemented::unimplemented_stub()
3648    }
3649
3650    /// Implements [super::client::InstanceGroupManagers::get].
3651    fn get(
3652        &self,
3653        _req: crate::model::instance_group_managers::GetRequest,
3654        _options: crate::RequestOptions,
3655    ) -> impl std::future::Future<
3656        Output = crate::Result<crate::Response<crate::model::InstanceGroupManager>>,
3657    > + Send {
3658        gaxi::unimplemented::unimplemented_stub()
3659    }
3660
3661    /// Implements [super::client::InstanceGroupManagers::insert].
3662    fn insert(
3663        &self,
3664        _req: crate::model::instance_group_managers::InsertRequest,
3665        _options: crate::RequestOptions,
3666    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3667    {
3668        gaxi::unimplemented::unimplemented_stub()
3669    }
3670
3671    /// Implements [super::client::InstanceGroupManagers::list].
3672    fn list(
3673        &self,
3674        _req: crate::model::instance_group_managers::ListRequest,
3675        _options: crate::RequestOptions,
3676    ) -> impl std::future::Future<
3677        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerList>>,
3678    > + Send {
3679        gaxi::unimplemented::unimplemented_stub()
3680    }
3681
3682    /// Implements [super::client::InstanceGroupManagers::list_errors].
3683    fn list_errors(
3684        &self,
3685        _req: crate::model::instance_group_managers::ListErrorsRequest,
3686        _options: crate::RequestOptions,
3687    ) -> impl std::future::Future<
3688        Output = crate::Result<
3689            crate::Response<crate::model::InstanceGroupManagersListErrorsResponse>,
3690        >,
3691    > + Send {
3692        gaxi::unimplemented::unimplemented_stub()
3693    }
3694
3695    /// Implements [super::client::InstanceGroupManagers::list_managed_instances].
3696    fn list_managed_instances(
3697        &self,
3698        _req: crate::model::instance_group_managers::ListManagedInstancesRequest,
3699        _options: crate::RequestOptions,
3700    ) -> impl std::future::Future<
3701        Output = crate::Result<
3702            crate::Response<crate::model::InstanceGroupManagersListManagedInstancesResponse>,
3703        >,
3704    > + Send {
3705        gaxi::unimplemented::unimplemented_stub()
3706    }
3707
3708    /// Implements [super::client::InstanceGroupManagers::list_per_instance_configs].
3709    fn list_per_instance_configs(
3710        &self,
3711        _req: crate::model::instance_group_managers::ListPerInstanceConfigsRequest,
3712        _options: crate::RequestOptions,
3713    ) -> impl std::future::Future<
3714        Output = crate::Result<
3715            crate::Response<crate::model::InstanceGroupManagersListPerInstanceConfigsResp>,
3716        >,
3717    > + Send {
3718        gaxi::unimplemented::unimplemented_stub()
3719    }
3720
3721    /// Implements [super::client::InstanceGroupManagers::patch].
3722    fn patch(
3723        &self,
3724        _req: crate::model::instance_group_managers::PatchRequest,
3725        _options: crate::RequestOptions,
3726    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3727    {
3728        gaxi::unimplemented::unimplemented_stub()
3729    }
3730
3731    /// Implements [super::client::InstanceGroupManagers::patch_per_instance_configs].
3732    fn patch_per_instance_configs(
3733        &self,
3734        _req: crate::model::instance_group_managers::PatchPerInstanceConfigsRequest,
3735        _options: crate::RequestOptions,
3736    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3737    {
3738        gaxi::unimplemented::unimplemented_stub()
3739    }
3740
3741    /// Implements [super::client::InstanceGroupManagers::recreate_instances].
3742    fn recreate_instances(
3743        &self,
3744        _req: crate::model::instance_group_managers::RecreateInstancesRequest,
3745        _options: crate::RequestOptions,
3746    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3747    {
3748        gaxi::unimplemented::unimplemented_stub()
3749    }
3750
3751    /// Implements [super::client::InstanceGroupManagers::resize].
3752    fn resize(
3753        &self,
3754        _req: crate::model::instance_group_managers::ResizeRequest,
3755        _options: crate::RequestOptions,
3756    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3757    {
3758        gaxi::unimplemented::unimplemented_stub()
3759    }
3760
3761    /// Implements [super::client::InstanceGroupManagers::resume_instances].
3762    fn resume_instances(
3763        &self,
3764        _req: crate::model::instance_group_managers::ResumeInstancesRequest,
3765        _options: crate::RequestOptions,
3766    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3767    {
3768        gaxi::unimplemented::unimplemented_stub()
3769    }
3770
3771    /// Implements [super::client::InstanceGroupManagers::set_instance_template].
3772    fn set_instance_template(
3773        &self,
3774        _req: crate::model::instance_group_managers::SetInstanceTemplateRequest,
3775        _options: crate::RequestOptions,
3776    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3777    {
3778        gaxi::unimplemented::unimplemented_stub()
3779    }
3780
3781    /// Implements [super::client::InstanceGroupManagers::set_target_pools].
3782    fn set_target_pools(
3783        &self,
3784        _req: crate::model::instance_group_managers::SetTargetPoolsRequest,
3785        _options: crate::RequestOptions,
3786    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3787    {
3788        gaxi::unimplemented::unimplemented_stub()
3789    }
3790
3791    /// Implements [super::client::InstanceGroupManagers::start_instances].
3792    fn start_instances(
3793        &self,
3794        _req: crate::model::instance_group_managers::StartInstancesRequest,
3795        _options: crate::RequestOptions,
3796    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3797    {
3798        gaxi::unimplemented::unimplemented_stub()
3799    }
3800
3801    /// Implements [super::client::InstanceGroupManagers::stop_instances].
3802    fn stop_instances(
3803        &self,
3804        _req: crate::model::instance_group_managers::StopInstancesRequest,
3805        _options: crate::RequestOptions,
3806    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3807    {
3808        gaxi::unimplemented::unimplemented_stub()
3809    }
3810
3811    /// Implements [super::client::InstanceGroupManagers::suspend_instances].
3812    fn suspend_instances(
3813        &self,
3814        _req: crate::model::instance_group_managers::SuspendInstancesRequest,
3815        _options: crate::RequestOptions,
3816    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3817    {
3818        gaxi::unimplemented::unimplemented_stub()
3819    }
3820
3821    /// Implements [super::client::InstanceGroupManagers::update_per_instance_configs].
3822    fn update_per_instance_configs(
3823        &self,
3824        _req: crate::model::instance_group_managers::UpdatePerInstanceConfigsRequest,
3825        _options: crate::RequestOptions,
3826    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3827    {
3828        gaxi::unimplemented::unimplemented_stub()
3829    }
3830
3831    /// Implements [super::client::InstanceGroupManagers::get_operation].
3832    fn get_operation(
3833        &self,
3834        _req: crate::model::zone_operations::GetRequest,
3835        _options: crate::RequestOptions,
3836    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3837    {
3838        gaxi::unimplemented::unimplemented_stub()
3839    }
3840
3841    /// Returns the polling error policy.
3842    ///
3843    /// When mocking, this method is typically irrelevant. Do not try to verify
3844    /// it is called by your mocks.
3845    fn get_polling_error_policy(
3846        &self,
3847        _options: &crate::RequestOptions,
3848    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
3849        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
3850    }
3851
3852    /// Returns the polling backoff policy.
3853    ///
3854    /// When mocking, this method is typically irrelevant. Do not try to verify
3855    /// it is called by your mocks.
3856    fn get_polling_backoff_policy(
3857        &self,
3858        _options: &crate::RequestOptions,
3859    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
3860        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
3861    }
3862
3863    #[doc(hidden)]
3864    /// Returns the poller options.
3865    ///
3866    /// When mocking, this method is typically irrelevant. Do not try to verify
3867    /// it is called by your mocks.
3868    fn get_poller_options(
3869        &self,
3870        _options: &crate::RequestOptions,
3871    ) -> google_cloud_lro::PollerOptions {
3872        google_cloud_lro::PollerOptions::default()
3873    }
3874}
3875
3876/// Defines the trait used to implement [super::client::InstanceGroups].
3877///
3878/// Application developers may need to implement this trait to mock
3879/// `client::InstanceGroups`.  In other use-cases, application developers only
3880/// use `client::InstanceGroups` and need not be concerned with this trait or
3881/// its implementations.
3882///
3883/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3884/// too. To avoid breaking applications the trait provides a default
3885/// implementation of each method. Most of these implementations just return an
3886/// error.
3887#[cfg(feature = "instance-groups")]
3888#[cfg_attr(docsrs, doc(cfg(feature = "instance-groups")))]
3889pub trait InstanceGroups: std::fmt::Debug + Send + Sync {
3890    /// Implements [super::client::InstanceGroups::add_instances].
3891    fn add_instances(
3892        &self,
3893        _req: crate::model::instance_groups::AddInstancesRequest,
3894        _options: crate::RequestOptions,
3895    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3896    {
3897        gaxi::unimplemented::unimplemented_stub()
3898    }
3899
3900    /// Implements [super::client::InstanceGroups::aggregated_list].
3901    fn aggregated_list(
3902        &self,
3903        _req: crate::model::instance_groups::AggregatedListRequest,
3904        _options: crate::RequestOptions,
3905    ) -> impl std::future::Future<
3906        Output = crate::Result<crate::Response<crate::model::InstanceGroupAggregatedList>>,
3907    > + Send {
3908        gaxi::unimplemented::unimplemented_stub()
3909    }
3910
3911    /// Implements [super::client::InstanceGroups::delete].
3912    fn delete(
3913        &self,
3914        _req: crate::model::instance_groups::DeleteRequest,
3915        _options: crate::RequestOptions,
3916    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3917    {
3918        gaxi::unimplemented::unimplemented_stub()
3919    }
3920
3921    /// Implements [super::client::InstanceGroups::get].
3922    fn get(
3923        &self,
3924        _req: crate::model::instance_groups::GetRequest,
3925        _options: crate::RequestOptions,
3926    ) -> impl std::future::Future<
3927        Output = crate::Result<crate::Response<crate::model::InstanceGroup>>,
3928    > + Send {
3929        gaxi::unimplemented::unimplemented_stub()
3930    }
3931
3932    /// Implements [super::client::InstanceGroups::insert].
3933    fn insert(
3934        &self,
3935        _req: crate::model::instance_groups::InsertRequest,
3936        _options: crate::RequestOptions,
3937    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3938    {
3939        gaxi::unimplemented::unimplemented_stub()
3940    }
3941
3942    /// Implements [super::client::InstanceGroups::list].
3943    fn list(
3944        &self,
3945        _req: crate::model::instance_groups::ListRequest,
3946        _options: crate::RequestOptions,
3947    ) -> impl std::future::Future<
3948        Output = crate::Result<crate::Response<crate::model::InstanceGroupList>>,
3949    > + Send {
3950        gaxi::unimplemented::unimplemented_stub()
3951    }
3952
3953    /// Implements [super::client::InstanceGroups::list_instances].
3954    fn list_instances(
3955        &self,
3956        _req: crate::model::instance_groups::ListInstancesRequest,
3957        _options: crate::RequestOptions,
3958    ) -> impl std::future::Future<
3959        Output = crate::Result<crate::Response<crate::model::InstanceGroupsListInstances>>,
3960    > + Send {
3961        gaxi::unimplemented::unimplemented_stub()
3962    }
3963
3964    /// Implements [super::client::InstanceGroups::remove_instances].
3965    fn remove_instances(
3966        &self,
3967        _req: crate::model::instance_groups::RemoveInstancesRequest,
3968        _options: crate::RequestOptions,
3969    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3970    {
3971        gaxi::unimplemented::unimplemented_stub()
3972    }
3973
3974    /// Implements [super::client::InstanceGroups::set_named_ports].
3975    fn set_named_ports(
3976        &self,
3977        _req: crate::model::instance_groups::SetNamedPortsRequest,
3978        _options: crate::RequestOptions,
3979    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
3980    {
3981        gaxi::unimplemented::unimplemented_stub()
3982    }
3983
3984    /// Implements [super::client::InstanceGroups::test_iam_permissions].
3985    fn test_iam_permissions(
3986        &self,
3987        _req: crate::model::instance_groups::TestIamPermissionsRequest,
3988        _options: crate::RequestOptions,
3989    ) -> impl std::future::Future<
3990        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
3991    > + Send {
3992        gaxi::unimplemented::unimplemented_stub()
3993    }
3994
3995    /// Implements [super::client::InstanceGroups::get_operation].
3996    fn get_operation(
3997        &self,
3998        _req: crate::model::zone_operations::GetRequest,
3999        _options: crate::RequestOptions,
4000    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4001    {
4002        gaxi::unimplemented::unimplemented_stub()
4003    }
4004
4005    /// Returns the polling error policy.
4006    ///
4007    /// When mocking, this method is typically irrelevant. Do not try to verify
4008    /// it is called by your mocks.
4009    fn get_polling_error_policy(
4010        &self,
4011        _options: &crate::RequestOptions,
4012    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4013        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4014    }
4015
4016    /// Returns the polling backoff policy.
4017    ///
4018    /// When mocking, this method is typically irrelevant. Do not try to verify
4019    /// it is called by your mocks.
4020    fn get_polling_backoff_policy(
4021        &self,
4022        _options: &crate::RequestOptions,
4023    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4024        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4025    }
4026
4027    #[doc(hidden)]
4028    /// Returns the poller options.
4029    ///
4030    /// When mocking, this method is typically irrelevant. Do not try to verify
4031    /// it is called by your mocks.
4032    fn get_poller_options(
4033        &self,
4034        _options: &crate::RequestOptions,
4035    ) -> google_cloud_lro::PollerOptions {
4036        google_cloud_lro::PollerOptions::default()
4037    }
4038}
4039
4040/// Defines the trait used to implement [super::client::InstanceSettings].
4041///
4042/// Application developers may need to implement this trait to mock
4043/// `client::InstanceSettings`.  In other use-cases, application developers only
4044/// use `client::InstanceSettings` and need not be concerned with this trait or
4045/// its implementations.
4046///
4047/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4048/// too. To avoid breaking applications the trait provides a default
4049/// implementation of each method. Most of these implementations just return an
4050/// error.
4051#[cfg(feature = "instance-settings")]
4052#[cfg_attr(docsrs, doc(cfg(feature = "instance-settings")))]
4053pub trait InstanceSettings: std::fmt::Debug + Send + Sync {
4054    /// Implements [super::client::InstanceSettings::get].
4055    fn get(
4056        &self,
4057        _req: crate::model::instance_settings::GetRequest,
4058        _options: crate::RequestOptions,
4059    ) -> impl std::future::Future<
4060        Output = crate::Result<crate::Response<crate::model::InstanceSettings>>,
4061    > + Send {
4062        gaxi::unimplemented::unimplemented_stub()
4063    }
4064
4065    /// Implements [super::client::InstanceSettings::patch].
4066    fn patch(
4067        &self,
4068        _req: crate::model::instance_settings::PatchRequest,
4069        _options: crate::RequestOptions,
4070    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4071    {
4072        gaxi::unimplemented::unimplemented_stub()
4073    }
4074
4075    /// Implements [super::client::InstanceSettings::get_operation].
4076    fn get_operation(
4077        &self,
4078        _req: crate::model::zone_operations::GetRequest,
4079        _options: crate::RequestOptions,
4080    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4081    {
4082        gaxi::unimplemented::unimplemented_stub()
4083    }
4084
4085    /// Returns the polling error policy.
4086    ///
4087    /// When mocking, this method is typically irrelevant. Do not try to verify
4088    /// it is called by your mocks.
4089    fn get_polling_error_policy(
4090        &self,
4091        _options: &crate::RequestOptions,
4092    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4093        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4094    }
4095
4096    /// Returns the polling backoff policy.
4097    ///
4098    /// When mocking, this method is typically irrelevant. Do not try to verify
4099    /// it is called by your mocks.
4100    fn get_polling_backoff_policy(
4101        &self,
4102        _options: &crate::RequestOptions,
4103    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4104        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4105    }
4106
4107    #[doc(hidden)]
4108    /// Returns the poller options.
4109    ///
4110    /// When mocking, this method is typically irrelevant. Do not try to verify
4111    /// it is called by your mocks.
4112    fn get_poller_options(
4113        &self,
4114        _options: &crate::RequestOptions,
4115    ) -> google_cloud_lro::PollerOptions {
4116        google_cloud_lro::PollerOptions::default()
4117    }
4118}
4119
4120/// Defines the trait used to implement [super::client::InstanceTemplates].
4121///
4122/// Application developers may need to implement this trait to mock
4123/// `client::InstanceTemplates`.  In other use-cases, application developers only
4124/// use `client::InstanceTemplates` and need not be concerned with this trait or
4125/// its implementations.
4126///
4127/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4128/// too. To avoid breaking applications the trait provides a default
4129/// implementation of each method. Most of these implementations just return an
4130/// error.
4131#[cfg(feature = "instance-templates")]
4132#[cfg_attr(docsrs, doc(cfg(feature = "instance-templates")))]
4133pub trait InstanceTemplates: std::fmt::Debug + Send + Sync {
4134    /// Implements [super::client::InstanceTemplates::aggregated_list].
4135    fn aggregated_list(
4136        &self,
4137        _req: crate::model::instance_templates::AggregatedListRequest,
4138        _options: crate::RequestOptions,
4139    ) -> impl std::future::Future<
4140        Output = crate::Result<crate::Response<crate::model::InstanceTemplateAggregatedList>>,
4141    > + Send {
4142        gaxi::unimplemented::unimplemented_stub()
4143    }
4144
4145    /// Implements [super::client::InstanceTemplates::delete].
4146    fn delete(
4147        &self,
4148        _req: crate::model::instance_templates::DeleteRequest,
4149        _options: crate::RequestOptions,
4150    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4151    {
4152        gaxi::unimplemented::unimplemented_stub()
4153    }
4154
4155    /// Implements [super::client::InstanceTemplates::get].
4156    fn get(
4157        &self,
4158        _req: crate::model::instance_templates::GetRequest,
4159        _options: crate::RequestOptions,
4160    ) -> impl std::future::Future<
4161        Output = crate::Result<crate::Response<crate::model::InstanceTemplate>>,
4162    > + Send {
4163        gaxi::unimplemented::unimplemented_stub()
4164    }
4165
4166    /// Implements [super::client::InstanceTemplates::get_iam_policy].
4167    fn get_iam_policy(
4168        &self,
4169        _req: crate::model::instance_templates::GetIamPolicyRequest,
4170        _options: crate::RequestOptions,
4171    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4172    {
4173        gaxi::unimplemented::unimplemented_stub()
4174    }
4175
4176    /// Implements [super::client::InstanceTemplates::insert].
4177    fn insert(
4178        &self,
4179        _req: crate::model::instance_templates::InsertRequest,
4180        _options: crate::RequestOptions,
4181    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4182    {
4183        gaxi::unimplemented::unimplemented_stub()
4184    }
4185
4186    /// Implements [super::client::InstanceTemplates::list].
4187    fn list(
4188        &self,
4189        _req: crate::model::instance_templates::ListRequest,
4190        _options: crate::RequestOptions,
4191    ) -> impl std::future::Future<
4192        Output = crate::Result<crate::Response<crate::model::InstanceTemplateList>>,
4193    > + Send {
4194        gaxi::unimplemented::unimplemented_stub()
4195    }
4196
4197    /// Implements [super::client::InstanceTemplates::set_iam_policy].
4198    fn set_iam_policy(
4199        &self,
4200        _req: crate::model::instance_templates::SetIamPolicyRequest,
4201        _options: crate::RequestOptions,
4202    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4203    {
4204        gaxi::unimplemented::unimplemented_stub()
4205    }
4206
4207    /// Implements [super::client::InstanceTemplates::test_iam_permissions].
4208    fn test_iam_permissions(
4209        &self,
4210        _req: crate::model::instance_templates::TestIamPermissionsRequest,
4211        _options: crate::RequestOptions,
4212    ) -> impl std::future::Future<
4213        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4214    > + Send {
4215        gaxi::unimplemented::unimplemented_stub()
4216    }
4217
4218    /// Implements [super::client::InstanceTemplates::get_operation].
4219    fn get_operation(
4220        &self,
4221        _req: crate::model::global_operations::GetRequest,
4222        _options: crate::RequestOptions,
4223    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4224    {
4225        gaxi::unimplemented::unimplemented_stub()
4226    }
4227
4228    /// Returns the polling error policy.
4229    ///
4230    /// When mocking, this method is typically irrelevant. Do not try to verify
4231    /// it is called by your mocks.
4232    fn get_polling_error_policy(
4233        &self,
4234        _options: &crate::RequestOptions,
4235    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4236        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4237    }
4238
4239    /// Returns the polling backoff policy.
4240    ///
4241    /// When mocking, this method is typically irrelevant. Do not try to verify
4242    /// it is called by your mocks.
4243    fn get_polling_backoff_policy(
4244        &self,
4245        _options: &crate::RequestOptions,
4246    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4247        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4248    }
4249
4250    #[doc(hidden)]
4251    /// Returns the poller options.
4252    ///
4253    /// When mocking, this method is typically irrelevant. Do not try to verify
4254    /// it is called by your mocks.
4255    fn get_poller_options(
4256        &self,
4257        _options: &crate::RequestOptions,
4258    ) -> google_cloud_lro::PollerOptions {
4259        google_cloud_lro::PollerOptions::default()
4260    }
4261}
4262
4263/// Defines the trait used to implement [super::client::Instances].
4264///
4265/// Application developers may need to implement this trait to mock
4266/// `client::Instances`.  In other use-cases, application developers only
4267/// use `client::Instances` and need not be concerned with this trait or
4268/// its implementations.
4269///
4270/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4271/// too. To avoid breaking applications the trait provides a default
4272/// implementation of each method. Most of these implementations just return an
4273/// error.
4274#[cfg(feature = "instances")]
4275#[cfg_attr(docsrs, doc(cfg(feature = "instances")))]
4276pub trait Instances: std::fmt::Debug + Send + Sync {
4277    /// Implements [super::client::Instances::add_access_config].
4278    fn add_access_config(
4279        &self,
4280        _req: crate::model::instances::AddAccessConfigRequest,
4281        _options: crate::RequestOptions,
4282    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4283    {
4284        gaxi::unimplemented::unimplemented_stub()
4285    }
4286
4287    /// Implements [super::client::Instances::add_network_interface].
4288    fn add_network_interface(
4289        &self,
4290        _req: crate::model::instances::AddNetworkInterfaceRequest,
4291        _options: crate::RequestOptions,
4292    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4293    {
4294        gaxi::unimplemented::unimplemented_stub()
4295    }
4296
4297    /// Implements [super::client::Instances::add_resource_policies].
4298    fn add_resource_policies(
4299        &self,
4300        _req: crate::model::instances::AddResourcePoliciesRequest,
4301        _options: crate::RequestOptions,
4302    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4303    {
4304        gaxi::unimplemented::unimplemented_stub()
4305    }
4306
4307    /// Implements [super::client::Instances::aggregated_list].
4308    fn aggregated_list(
4309        &self,
4310        _req: crate::model::instances::AggregatedListRequest,
4311        _options: crate::RequestOptions,
4312    ) -> impl std::future::Future<
4313        Output = crate::Result<crate::Response<crate::model::InstanceAggregatedList>>,
4314    > + Send {
4315        gaxi::unimplemented::unimplemented_stub()
4316    }
4317
4318    /// Implements [super::client::Instances::attach_disk].
4319    fn attach_disk(
4320        &self,
4321        _req: crate::model::instances::AttachDiskRequest,
4322        _options: crate::RequestOptions,
4323    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4324    {
4325        gaxi::unimplemented::unimplemented_stub()
4326    }
4327
4328    /// Implements [super::client::Instances::bulk_insert].
4329    fn bulk_insert(
4330        &self,
4331        _req: crate::model::instances::BulkInsertRequest,
4332        _options: crate::RequestOptions,
4333    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4334    {
4335        gaxi::unimplemented::unimplemented_stub()
4336    }
4337
4338    /// Implements [super::client::Instances::delete].
4339    fn delete(
4340        &self,
4341        _req: crate::model::instances::DeleteRequest,
4342        _options: crate::RequestOptions,
4343    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4344    {
4345        gaxi::unimplemented::unimplemented_stub()
4346    }
4347
4348    /// Implements [super::client::Instances::delete_access_config].
4349    fn delete_access_config(
4350        &self,
4351        _req: crate::model::instances::DeleteAccessConfigRequest,
4352        _options: crate::RequestOptions,
4353    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4354    {
4355        gaxi::unimplemented::unimplemented_stub()
4356    }
4357
4358    /// Implements [super::client::Instances::delete_network_interface].
4359    fn delete_network_interface(
4360        &self,
4361        _req: crate::model::instances::DeleteNetworkInterfaceRequest,
4362        _options: crate::RequestOptions,
4363    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4364    {
4365        gaxi::unimplemented::unimplemented_stub()
4366    }
4367
4368    /// Implements [super::client::Instances::detach_disk].
4369    fn detach_disk(
4370        &self,
4371        _req: crate::model::instances::DetachDiskRequest,
4372        _options: crate::RequestOptions,
4373    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4374    {
4375        gaxi::unimplemented::unimplemented_stub()
4376    }
4377
4378    /// Implements [super::client::Instances::get].
4379    fn get(
4380        &self,
4381        _req: crate::model::instances::GetRequest,
4382        _options: crate::RequestOptions,
4383    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Instance>>> + Send
4384    {
4385        gaxi::unimplemented::unimplemented_stub()
4386    }
4387
4388    /// Implements [super::client::Instances::get_effective_firewalls].
4389    fn get_effective_firewalls(
4390        &self,
4391        _req: crate::model::instances::GetEffectiveFirewallsRequest,
4392        _options: crate::RequestOptions,
4393    ) -> impl std::future::Future<
4394        Output = crate::Result<
4395            crate::Response<crate::model::InstancesGetEffectiveFirewallsResponse>,
4396        >,
4397    > + Send {
4398        gaxi::unimplemented::unimplemented_stub()
4399    }
4400
4401    /// Implements [super::client::Instances::get_guest_attributes].
4402    fn get_guest_attributes(
4403        &self,
4404        _req: crate::model::instances::GetGuestAttributesRequest,
4405        _options: crate::RequestOptions,
4406    ) -> impl std::future::Future<
4407        Output = crate::Result<crate::Response<crate::model::GuestAttributes>>,
4408    > + Send {
4409        gaxi::unimplemented::unimplemented_stub()
4410    }
4411
4412    /// Implements [super::client::Instances::get_iam_policy].
4413    fn get_iam_policy(
4414        &self,
4415        _req: crate::model::instances::GetIamPolicyRequest,
4416        _options: crate::RequestOptions,
4417    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4418    {
4419        gaxi::unimplemented::unimplemented_stub()
4420    }
4421
4422    /// Implements [super::client::Instances::get_screenshot].
4423    fn get_screenshot(
4424        &self,
4425        _req: crate::model::instances::GetScreenshotRequest,
4426        _options: crate::RequestOptions,
4427    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Screenshot>>> + Send
4428    {
4429        gaxi::unimplemented::unimplemented_stub()
4430    }
4431
4432    /// Implements [super::client::Instances::get_serial_port_output].
4433    fn get_serial_port_output(
4434        &self,
4435        _req: crate::model::instances::GetSerialPortOutputRequest,
4436        _options: crate::RequestOptions,
4437    ) -> impl std::future::Future<
4438        Output = crate::Result<crate::Response<crate::model::SerialPortOutput>>,
4439    > + Send {
4440        gaxi::unimplemented::unimplemented_stub()
4441    }
4442
4443    /// Implements [super::client::Instances::get_shielded_instance_identity].
4444    fn get_shielded_instance_identity(
4445        &self,
4446        _req: crate::model::instances::GetShieldedInstanceIdentityRequest,
4447        _options: crate::RequestOptions,
4448    ) -> impl std::future::Future<
4449        Output = crate::Result<crate::Response<crate::model::ShieldedInstanceIdentity>>,
4450    > + Send {
4451        gaxi::unimplemented::unimplemented_stub()
4452    }
4453
4454    /// Implements [super::client::Instances::insert].
4455    fn insert(
4456        &self,
4457        _req: crate::model::instances::InsertRequest,
4458        _options: crate::RequestOptions,
4459    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4460    {
4461        gaxi::unimplemented::unimplemented_stub()
4462    }
4463
4464    /// Implements [super::client::Instances::list].
4465    fn list(
4466        &self,
4467        _req: crate::model::instances::ListRequest,
4468        _options: crate::RequestOptions,
4469    ) -> impl std::future::Future<
4470        Output = crate::Result<crate::Response<crate::model::InstanceList>>,
4471    > + Send {
4472        gaxi::unimplemented::unimplemented_stub()
4473    }
4474
4475    /// Implements [super::client::Instances::list_referrers].
4476    fn list_referrers(
4477        &self,
4478        _req: crate::model::instances::ListReferrersRequest,
4479        _options: crate::RequestOptions,
4480    ) -> impl std::future::Future<
4481        Output = crate::Result<crate::Response<crate::model::InstanceListReferrers>>,
4482    > + Send {
4483        gaxi::unimplemented::unimplemented_stub()
4484    }
4485
4486    /// Implements [super::client::Instances::perform_maintenance].
4487    fn perform_maintenance(
4488        &self,
4489        _req: crate::model::instances::PerformMaintenanceRequest,
4490        _options: crate::RequestOptions,
4491    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4492    {
4493        gaxi::unimplemented::unimplemented_stub()
4494    }
4495
4496    /// Implements [super::client::Instances::remove_resource_policies].
4497    fn remove_resource_policies(
4498        &self,
4499        _req: crate::model::instances::RemoveResourcePoliciesRequest,
4500        _options: crate::RequestOptions,
4501    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4502    {
4503        gaxi::unimplemented::unimplemented_stub()
4504    }
4505
4506    /// Implements [super::client::Instances::report_host_as_faulty].
4507    fn report_host_as_faulty(
4508        &self,
4509        _req: crate::model::instances::ReportHostAsFaultyRequest,
4510        _options: crate::RequestOptions,
4511    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4512    {
4513        gaxi::unimplemented::unimplemented_stub()
4514    }
4515
4516    /// Implements [super::client::Instances::reset].
4517    fn reset(
4518        &self,
4519        _req: crate::model::instances::ResetRequest,
4520        _options: crate::RequestOptions,
4521    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4522    {
4523        gaxi::unimplemented::unimplemented_stub()
4524    }
4525
4526    /// Implements [super::client::Instances::resume].
4527    fn resume(
4528        &self,
4529        _req: crate::model::instances::ResumeRequest,
4530        _options: crate::RequestOptions,
4531    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4532    {
4533        gaxi::unimplemented::unimplemented_stub()
4534    }
4535
4536    /// Implements [super::client::Instances::send_diagnostic_interrupt].
4537    fn send_diagnostic_interrupt(
4538        &self,
4539        _req: crate::model::instances::SendDiagnosticInterruptRequest,
4540        _options: crate::RequestOptions,
4541    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
4542        gaxi::unimplemented::unimplemented_stub()
4543    }
4544
4545    /// Implements [super::client::Instances::set_deletion_protection].
4546    fn set_deletion_protection(
4547        &self,
4548        _req: crate::model::instances::SetDeletionProtectionRequest,
4549        _options: crate::RequestOptions,
4550    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4551    {
4552        gaxi::unimplemented::unimplemented_stub()
4553    }
4554
4555    /// Implements [super::client::Instances::set_disk_auto_delete].
4556    fn set_disk_auto_delete(
4557        &self,
4558        _req: crate::model::instances::SetDiskAutoDeleteRequest,
4559        _options: crate::RequestOptions,
4560    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4561    {
4562        gaxi::unimplemented::unimplemented_stub()
4563    }
4564
4565    /// Implements [super::client::Instances::set_iam_policy].
4566    fn set_iam_policy(
4567        &self,
4568        _req: crate::model::instances::SetIamPolicyRequest,
4569        _options: crate::RequestOptions,
4570    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4571    {
4572        gaxi::unimplemented::unimplemented_stub()
4573    }
4574
4575    /// Implements [super::client::Instances::set_labels].
4576    fn set_labels(
4577        &self,
4578        _req: crate::model::instances::SetLabelsRequest,
4579        _options: crate::RequestOptions,
4580    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4581    {
4582        gaxi::unimplemented::unimplemented_stub()
4583    }
4584
4585    /// Implements [super::client::Instances::set_machine_resources].
4586    fn set_machine_resources(
4587        &self,
4588        _req: crate::model::instances::SetMachineResourcesRequest,
4589        _options: crate::RequestOptions,
4590    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4591    {
4592        gaxi::unimplemented::unimplemented_stub()
4593    }
4594
4595    /// Implements [super::client::Instances::set_machine_type].
4596    fn set_machine_type(
4597        &self,
4598        _req: crate::model::instances::SetMachineTypeRequest,
4599        _options: crate::RequestOptions,
4600    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4601    {
4602        gaxi::unimplemented::unimplemented_stub()
4603    }
4604
4605    /// Implements [super::client::Instances::set_metadata].
4606    fn set_metadata(
4607        &self,
4608        _req: crate::model::instances::SetMetadataRequest,
4609        _options: crate::RequestOptions,
4610    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4611    {
4612        gaxi::unimplemented::unimplemented_stub()
4613    }
4614
4615    /// Implements [super::client::Instances::set_min_cpu_platform].
4616    fn set_min_cpu_platform(
4617        &self,
4618        _req: crate::model::instances::SetMinCpuPlatformRequest,
4619        _options: crate::RequestOptions,
4620    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4621    {
4622        gaxi::unimplemented::unimplemented_stub()
4623    }
4624
4625    /// Implements [super::client::Instances::set_name].
4626    fn set_name(
4627        &self,
4628        _req: crate::model::instances::SetNameRequest,
4629        _options: crate::RequestOptions,
4630    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4631    {
4632        gaxi::unimplemented::unimplemented_stub()
4633    }
4634
4635    /// Implements [super::client::Instances::set_scheduling].
4636    fn set_scheduling(
4637        &self,
4638        _req: crate::model::instances::SetSchedulingRequest,
4639        _options: crate::RequestOptions,
4640    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4641    {
4642        gaxi::unimplemented::unimplemented_stub()
4643    }
4644
4645    /// Implements [super::client::Instances::set_security_policy].
4646    fn set_security_policy(
4647        &self,
4648        _req: crate::model::instances::SetSecurityPolicyRequest,
4649        _options: crate::RequestOptions,
4650    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4651    {
4652        gaxi::unimplemented::unimplemented_stub()
4653    }
4654
4655    /// Implements [super::client::Instances::set_service_account].
4656    fn set_service_account(
4657        &self,
4658        _req: crate::model::instances::SetServiceAccountRequest,
4659        _options: crate::RequestOptions,
4660    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4661    {
4662        gaxi::unimplemented::unimplemented_stub()
4663    }
4664
4665    /// Implements [super::client::Instances::set_shielded_instance_integrity_policy].
4666    fn set_shielded_instance_integrity_policy(
4667        &self,
4668        _req: crate::model::instances::SetShieldedInstanceIntegrityPolicyRequest,
4669        _options: crate::RequestOptions,
4670    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4671    {
4672        gaxi::unimplemented::unimplemented_stub()
4673    }
4674
4675    /// Implements [super::client::Instances::set_tags].
4676    fn set_tags(
4677        &self,
4678        _req: crate::model::instances::SetTagsRequest,
4679        _options: crate::RequestOptions,
4680    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4681    {
4682        gaxi::unimplemented::unimplemented_stub()
4683    }
4684
4685    /// Implements [super::client::Instances::simulate_maintenance_event].
4686    fn simulate_maintenance_event(
4687        &self,
4688        _req: crate::model::instances::SimulateMaintenanceEventRequest,
4689        _options: crate::RequestOptions,
4690    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4691    {
4692        gaxi::unimplemented::unimplemented_stub()
4693    }
4694
4695    /// Implements [super::client::Instances::start].
4696    fn start(
4697        &self,
4698        _req: crate::model::instances::StartRequest,
4699        _options: crate::RequestOptions,
4700    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4701    {
4702        gaxi::unimplemented::unimplemented_stub()
4703    }
4704
4705    /// Implements [super::client::Instances::start_with_encryption_key].
4706    fn start_with_encryption_key(
4707        &self,
4708        _req: crate::model::instances::StartWithEncryptionKeyRequest,
4709        _options: crate::RequestOptions,
4710    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4711    {
4712        gaxi::unimplemented::unimplemented_stub()
4713    }
4714
4715    /// Implements [super::client::Instances::stop].
4716    fn stop(
4717        &self,
4718        _req: crate::model::instances::StopRequest,
4719        _options: crate::RequestOptions,
4720    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4721    {
4722        gaxi::unimplemented::unimplemented_stub()
4723    }
4724
4725    /// Implements [super::client::Instances::suspend].
4726    fn suspend(
4727        &self,
4728        _req: crate::model::instances::SuspendRequest,
4729        _options: crate::RequestOptions,
4730    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4731    {
4732        gaxi::unimplemented::unimplemented_stub()
4733    }
4734
4735    /// Implements [super::client::Instances::test_iam_permissions].
4736    fn test_iam_permissions(
4737        &self,
4738        _req: crate::model::instances::TestIamPermissionsRequest,
4739        _options: crate::RequestOptions,
4740    ) -> impl std::future::Future<
4741        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4742    > + Send {
4743        gaxi::unimplemented::unimplemented_stub()
4744    }
4745
4746    /// Implements [super::client::Instances::update].
4747    fn update(
4748        &self,
4749        _req: crate::model::instances::UpdateRequest,
4750        _options: crate::RequestOptions,
4751    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4752    {
4753        gaxi::unimplemented::unimplemented_stub()
4754    }
4755
4756    /// Implements [super::client::Instances::update_access_config].
4757    fn update_access_config(
4758        &self,
4759        _req: crate::model::instances::UpdateAccessConfigRequest,
4760        _options: crate::RequestOptions,
4761    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4762    {
4763        gaxi::unimplemented::unimplemented_stub()
4764    }
4765
4766    /// Implements [super::client::Instances::update_display_device].
4767    fn update_display_device(
4768        &self,
4769        _req: crate::model::instances::UpdateDisplayDeviceRequest,
4770        _options: crate::RequestOptions,
4771    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4772    {
4773        gaxi::unimplemented::unimplemented_stub()
4774    }
4775
4776    /// Implements [super::client::Instances::update_network_interface].
4777    fn update_network_interface(
4778        &self,
4779        _req: crate::model::instances::UpdateNetworkInterfaceRequest,
4780        _options: crate::RequestOptions,
4781    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4782    {
4783        gaxi::unimplemented::unimplemented_stub()
4784    }
4785
4786    /// Implements [super::client::Instances::update_shielded_instance_config].
4787    fn update_shielded_instance_config(
4788        &self,
4789        _req: crate::model::instances::UpdateShieldedInstanceConfigRequest,
4790        _options: crate::RequestOptions,
4791    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4792    {
4793        gaxi::unimplemented::unimplemented_stub()
4794    }
4795
4796    /// Implements [super::client::Instances::get_operation].
4797    fn get_operation(
4798        &self,
4799        _req: crate::model::zone_operations::GetRequest,
4800        _options: crate::RequestOptions,
4801    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4802    {
4803        gaxi::unimplemented::unimplemented_stub()
4804    }
4805
4806    /// Returns the polling error policy.
4807    ///
4808    /// When mocking, this method is typically irrelevant. Do not try to verify
4809    /// it is called by your mocks.
4810    fn get_polling_error_policy(
4811        &self,
4812        _options: &crate::RequestOptions,
4813    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4814        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4815    }
4816
4817    /// Returns the polling backoff policy.
4818    ///
4819    /// When mocking, this method is typically irrelevant. Do not try to verify
4820    /// it is called by your mocks.
4821    fn get_polling_backoff_policy(
4822        &self,
4823        _options: &crate::RequestOptions,
4824    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4825        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4826    }
4827
4828    #[doc(hidden)]
4829    /// Returns the poller options.
4830    ///
4831    /// When mocking, this method is typically irrelevant. Do not try to verify
4832    /// it is called by your mocks.
4833    fn get_poller_options(
4834        &self,
4835        _options: &crate::RequestOptions,
4836    ) -> google_cloud_lro::PollerOptions {
4837        google_cloud_lro::PollerOptions::default()
4838    }
4839}
4840
4841/// Defines the trait used to implement [super::client::InstantSnapshotGroups].
4842///
4843/// Application developers may need to implement this trait to mock
4844/// `client::InstantSnapshotGroups`.  In other use-cases, application developers only
4845/// use `client::InstantSnapshotGroups` and need not be concerned with this trait or
4846/// its implementations.
4847///
4848/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4849/// too. To avoid breaking applications the trait provides a default
4850/// implementation of each method. Most of these implementations just return an
4851/// error.
4852#[cfg(feature = "instant-snapshot-groups")]
4853#[cfg_attr(docsrs, doc(cfg(feature = "instant-snapshot-groups")))]
4854pub trait InstantSnapshotGroups: std::fmt::Debug + Send + Sync {
4855    /// Implements [super::client::InstantSnapshotGroups::delete].
4856    fn delete(
4857        &self,
4858        _req: crate::model::instant_snapshot_groups::DeleteRequest,
4859        _options: crate::RequestOptions,
4860    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4861    {
4862        gaxi::unimplemented::unimplemented_stub()
4863    }
4864
4865    /// Implements [super::client::InstantSnapshotGroups::get].
4866    fn get(
4867        &self,
4868        _req: crate::model::instant_snapshot_groups::GetRequest,
4869        _options: crate::RequestOptions,
4870    ) -> impl std::future::Future<
4871        Output = crate::Result<crate::Response<crate::model::InstantSnapshotGroup>>,
4872    > + Send {
4873        gaxi::unimplemented::unimplemented_stub()
4874    }
4875
4876    /// Implements [super::client::InstantSnapshotGroups::get_iam_policy].
4877    fn get_iam_policy(
4878        &self,
4879        _req: crate::model::instant_snapshot_groups::GetIamPolicyRequest,
4880        _options: crate::RequestOptions,
4881    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4882    {
4883        gaxi::unimplemented::unimplemented_stub()
4884    }
4885
4886    /// Implements [super::client::InstantSnapshotGroups::insert].
4887    fn insert(
4888        &self,
4889        _req: crate::model::instant_snapshot_groups::InsertRequest,
4890        _options: crate::RequestOptions,
4891    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4892    {
4893        gaxi::unimplemented::unimplemented_stub()
4894    }
4895
4896    /// Implements [super::client::InstantSnapshotGroups::list].
4897    fn list(
4898        &self,
4899        _req: crate::model::instant_snapshot_groups::ListRequest,
4900        _options: crate::RequestOptions,
4901    ) -> impl std::future::Future<
4902        Output = crate::Result<crate::Response<crate::model::ListInstantSnapshotGroups>>,
4903    > + Send {
4904        gaxi::unimplemented::unimplemented_stub()
4905    }
4906
4907    /// Implements [super::client::InstantSnapshotGroups::set_iam_policy].
4908    fn set_iam_policy(
4909        &self,
4910        _req: crate::model::instant_snapshot_groups::SetIamPolicyRequest,
4911        _options: crate::RequestOptions,
4912    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
4913    {
4914        gaxi::unimplemented::unimplemented_stub()
4915    }
4916
4917    /// Implements [super::client::InstantSnapshotGroups::test_iam_permissions].
4918    fn test_iam_permissions(
4919        &self,
4920        _req: crate::model::instant_snapshot_groups::TestIamPermissionsRequest,
4921        _options: crate::RequestOptions,
4922    ) -> impl std::future::Future<
4923        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
4924    > + Send {
4925        gaxi::unimplemented::unimplemented_stub()
4926    }
4927
4928    /// Implements [super::client::InstantSnapshotGroups::get_operation].
4929    fn get_operation(
4930        &self,
4931        _req: crate::model::zone_operations::GetRequest,
4932        _options: crate::RequestOptions,
4933    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
4934    {
4935        gaxi::unimplemented::unimplemented_stub()
4936    }
4937
4938    /// Returns the polling error policy.
4939    ///
4940    /// When mocking, this method is typically irrelevant. Do not try to verify
4941    /// it is called by your mocks.
4942    fn get_polling_error_policy(
4943        &self,
4944        _options: &crate::RequestOptions,
4945    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
4946        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
4947    }
4948
4949    /// Returns the polling backoff policy.
4950    ///
4951    /// When mocking, this method is typically irrelevant. Do not try to verify
4952    /// it is called by your mocks.
4953    fn get_polling_backoff_policy(
4954        &self,
4955        _options: &crate::RequestOptions,
4956    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
4957        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
4958    }
4959
4960    #[doc(hidden)]
4961    /// Returns the poller options.
4962    ///
4963    /// When mocking, this method is typically irrelevant. Do not try to verify
4964    /// it is called by your mocks.
4965    fn get_poller_options(
4966        &self,
4967        _options: &crate::RequestOptions,
4968    ) -> google_cloud_lro::PollerOptions {
4969        google_cloud_lro::PollerOptions::default()
4970    }
4971}
4972
4973/// Defines the trait used to implement [super::client::InstantSnapshots].
4974///
4975/// Application developers may need to implement this trait to mock
4976/// `client::InstantSnapshots`.  In other use-cases, application developers only
4977/// use `client::InstantSnapshots` and need not be concerned with this trait or
4978/// its implementations.
4979///
4980/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4981/// too. To avoid breaking applications the trait provides a default
4982/// implementation of each method. Most of these implementations just return an
4983/// error.
4984#[cfg(feature = "instant-snapshots")]
4985#[cfg_attr(docsrs, doc(cfg(feature = "instant-snapshots")))]
4986pub trait InstantSnapshots: std::fmt::Debug + Send + Sync {
4987    /// Implements [super::client::InstantSnapshots::aggregated_list].
4988    fn aggregated_list(
4989        &self,
4990        _req: crate::model::instant_snapshots::AggregatedListRequest,
4991        _options: crate::RequestOptions,
4992    ) -> impl std::future::Future<
4993        Output = crate::Result<crate::Response<crate::model::InstantSnapshotAggregatedList>>,
4994    > + Send {
4995        gaxi::unimplemented::unimplemented_stub()
4996    }
4997
4998    /// Implements [super::client::InstantSnapshots::delete].
4999    fn delete(
5000        &self,
5001        _req: crate::model::instant_snapshots::DeleteRequest,
5002        _options: crate::RequestOptions,
5003    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5004    {
5005        gaxi::unimplemented::unimplemented_stub()
5006    }
5007
5008    /// Implements [super::client::InstantSnapshots::get].
5009    fn get(
5010        &self,
5011        _req: crate::model::instant_snapshots::GetRequest,
5012        _options: crate::RequestOptions,
5013    ) -> impl std::future::Future<
5014        Output = crate::Result<crate::Response<crate::model::InstantSnapshot>>,
5015    > + Send {
5016        gaxi::unimplemented::unimplemented_stub()
5017    }
5018
5019    /// Implements [super::client::InstantSnapshots::get_iam_policy].
5020    fn get_iam_policy(
5021        &self,
5022        _req: crate::model::instant_snapshots::GetIamPolicyRequest,
5023        _options: crate::RequestOptions,
5024    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5025    {
5026        gaxi::unimplemented::unimplemented_stub()
5027    }
5028
5029    /// Implements [super::client::InstantSnapshots::insert].
5030    fn insert(
5031        &self,
5032        _req: crate::model::instant_snapshots::InsertRequest,
5033        _options: crate::RequestOptions,
5034    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5035    {
5036        gaxi::unimplemented::unimplemented_stub()
5037    }
5038
5039    /// Implements [super::client::InstantSnapshots::list].
5040    fn list(
5041        &self,
5042        _req: crate::model::instant_snapshots::ListRequest,
5043        _options: crate::RequestOptions,
5044    ) -> impl std::future::Future<
5045        Output = crate::Result<crate::Response<crate::model::InstantSnapshotList>>,
5046    > + Send {
5047        gaxi::unimplemented::unimplemented_stub()
5048    }
5049
5050    /// Implements [super::client::InstantSnapshots::set_iam_policy].
5051    fn set_iam_policy(
5052        &self,
5053        _req: crate::model::instant_snapshots::SetIamPolicyRequest,
5054        _options: crate::RequestOptions,
5055    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5056    {
5057        gaxi::unimplemented::unimplemented_stub()
5058    }
5059
5060    /// Implements [super::client::InstantSnapshots::set_labels].
5061    fn set_labels(
5062        &self,
5063        _req: crate::model::instant_snapshots::SetLabelsRequest,
5064        _options: crate::RequestOptions,
5065    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5066    {
5067        gaxi::unimplemented::unimplemented_stub()
5068    }
5069
5070    /// Implements [super::client::InstantSnapshots::test_iam_permissions].
5071    fn test_iam_permissions(
5072        &self,
5073        _req: crate::model::instant_snapshots::TestIamPermissionsRequest,
5074        _options: crate::RequestOptions,
5075    ) -> impl std::future::Future<
5076        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5077    > + Send {
5078        gaxi::unimplemented::unimplemented_stub()
5079    }
5080
5081    /// Implements [super::client::InstantSnapshots::get_operation].
5082    fn get_operation(
5083        &self,
5084        _req: crate::model::zone_operations::GetRequest,
5085        _options: crate::RequestOptions,
5086    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5087    {
5088        gaxi::unimplemented::unimplemented_stub()
5089    }
5090
5091    /// Returns the polling error policy.
5092    ///
5093    /// When mocking, this method is typically irrelevant. Do not try to verify
5094    /// it is called by your mocks.
5095    fn get_polling_error_policy(
5096        &self,
5097        _options: &crate::RequestOptions,
5098    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5099        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5100    }
5101
5102    /// Returns the polling backoff policy.
5103    ///
5104    /// When mocking, this method is typically irrelevant. Do not try to verify
5105    /// it is called by your mocks.
5106    fn get_polling_backoff_policy(
5107        &self,
5108        _options: &crate::RequestOptions,
5109    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5110        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5111    }
5112
5113    #[doc(hidden)]
5114    /// Returns the poller options.
5115    ///
5116    /// When mocking, this method is typically irrelevant. Do not try to verify
5117    /// it is called by your mocks.
5118    fn get_poller_options(
5119        &self,
5120        _options: &crate::RequestOptions,
5121    ) -> google_cloud_lro::PollerOptions {
5122        google_cloud_lro::PollerOptions::default()
5123    }
5124}
5125
5126/// Defines the trait used to implement [super::client::InterconnectAttachmentGroups].
5127///
5128/// Application developers may need to implement this trait to mock
5129/// `client::InterconnectAttachmentGroups`.  In other use-cases, application developers only
5130/// use `client::InterconnectAttachmentGroups` and need not be concerned with this trait or
5131/// its implementations.
5132///
5133/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5134/// too. To avoid breaking applications the trait provides a default
5135/// implementation of each method. Most of these implementations just return an
5136/// error.
5137#[cfg(feature = "interconnect-attachment-groups")]
5138#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-attachment-groups")))]
5139pub trait InterconnectAttachmentGroups: std::fmt::Debug + Send + Sync {
5140    /// Implements [super::client::InterconnectAttachmentGroups::delete].
5141    fn delete(
5142        &self,
5143        _req: crate::model::interconnect_attachment_groups::DeleteRequest,
5144        _options: crate::RequestOptions,
5145    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5146    {
5147        gaxi::unimplemented::unimplemented_stub()
5148    }
5149
5150    /// Implements [super::client::InterconnectAttachmentGroups::get].
5151    fn get(
5152        &self,
5153        _req: crate::model::interconnect_attachment_groups::GetRequest,
5154        _options: crate::RequestOptions,
5155    ) -> impl std::future::Future<
5156        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentGroup>>,
5157    > + Send {
5158        gaxi::unimplemented::unimplemented_stub()
5159    }
5160
5161    /// Implements [super::client::InterconnectAttachmentGroups::get_iam_policy].
5162    fn get_iam_policy(
5163        &self,
5164        _req: crate::model::interconnect_attachment_groups::GetIamPolicyRequest,
5165        _options: crate::RequestOptions,
5166    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5167    {
5168        gaxi::unimplemented::unimplemented_stub()
5169    }
5170
5171    /// Implements [super::client::InterconnectAttachmentGroups::get_operational_status].
5172    fn get_operational_status(
5173        &self,
5174        _req: crate::model::interconnect_attachment_groups::GetOperationalStatusRequest,
5175        _options: crate::RequestOptions,
5176    ) -> impl std::future::Future<
5177        Output = crate::Result<
5178            crate::Response<crate::model::InterconnectAttachmentGroupsGetOperationalStatusResponse>,
5179        >,
5180    > + Send {
5181        gaxi::unimplemented::unimplemented_stub()
5182    }
5183
5184    /// Implements [super::client::InterconnectAttachmentGroups::insert].
5185    fn insert(
5186        &self,
5187        _req: crate::model::interconnect_attachment_groups::InsertRequest,
5188        _options: crate::RequestOptions,
5189    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5190    {
5191        gaxi::unimplemented::unimplemented_stub()
5192    }
5193
5194    /// Implements [super::client::InterconnectAttachmentGroups::list].
5195    fn list(
5196        &self,
5197        _req: crate::model::interconnect_attachment_groups::ListRequest,
5198        _options: crate::RequestOptions,
5199    ) -> impl std::future::Future<
5200        Output = crate::Result<
5201            crate::Response<crate::model::InterconnectAttachmentGroupsListResponse>,
5202        >,
5203    > + Send {
5204        gaxi::unimplemented::unimplemented_stub()
5205    }
5206
5207    /// Implements [super::client::InterconnectAttachmentGroups::patch].
5208    fn patch(
5209        &self,
5210        _req: crate::model::interconnect_attachment_groups::PatchRequest,
5211        _options: crate::RequestOptions,
5212    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5213    {
5214        gaxi::unimplemented::unimplemented_stub()
5215    }
5216
5217    /// Implements [super::client::InterconnectAttachmentGroups::set_iam_policy].
5218    fn set_iam_policy(
5219        &self,
5220        _req: crate::model::interconnect_attachment_groups::SetIamPolicyRequest,
5221        _options: crate::RequestOptions,
5222    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5223    {
5224        gaxi::unimplemented::unimplemented_stub()
5225    }
5226
5227    /// Implements [super::client::InterconnectAttachmentGroups::test_iam_permissions].
5228    fn test_iam_permissions(
5229        &self,
5230        _req: crate::model::interconnect_attachment_groups::TestIamPermissionsRequest,
5231        _options: crate::RequestOptions,
5232    ) -> impl std::future::Future<
5233        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5234    > + Send {
5235        gaxi::unimplemented::unimplemented_stub()
5236    }
5237
5238    /// Implements [super::client::InterconnectAttachmentGroups::get_operation].
5239    fn get_operation(
5240        &self,
5241        _req: crate::model::global_operations::GetRequest,
5242        _options: crate::RequestOptions,
5243    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5244    {
5245        gaxi::unimplemented::unimplemented_stub()
5246    }
5247
5248    /// Returns the polling error policy.
5249    ///
5250    /// When mocking, this method is typically irrelevant. Do not try to verify
5251    /// it is called by your mocks.
5252    fn get_polling_error_policy(
5253        &self,
5254        _options: &crate::RequestOptions,
5255    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5256        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5257    }
5258
5259    /// Returns the polling backoff policy.
5260    ///
5261    /// When mocking, this method is typically irrelevant. Do not try to verify
5262    /// it is called by your mocks.
5263    fn get_polling_backoff_policy(
5264        &self,
5265        _options: &crate::RequestOptions,
5266    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5267        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5268    }
5269
5270    #[doc(hidden)]
5271    /// Returns the poller options.
5272    ///
5273    /// When mocking, this method is typically irrelevant. Do not try to verify
5274    /// it is called by your mocks.
5275    fn get_poller_options(
5276        &self,
5277        _options: &crate::RequestOptions,
5278    ) -> google_cloud_lro::PollerOptions {
5279        google_cloud_lro::PollerOptions::default()
5280    }
5281}
5282
5283/// Defines the trait used to implement [super::client::InterconnectAttachments].
5284///
5285/// Application developers may need to implement this trait to mock
5286/// `client::InterconnectAttachments`.  In other use-cases, application developers only
5287/// use `client::InterconnectAttachments` and need not be concerned with this trait or
5288/// its implementations.
5289///
5290/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5291/// too. To avoid breaking applications the trait provides a default
5292/// implementation of each method. Most of these implementations just return an
5293/// error.
5294#[cfg(feature = "interconnect-attachments")]
5295#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-attachments")))]
5296pub trait InterconnectAttachments: std::fmt::Debug + Send + Sync {
5297    /// Implements [super::client::InterconnectAttachments::aggregated_list].
5298    fn aggregated_list(
5299        &self,
5300        _req: crate::model::interconnect_attachments::AggregatedListRequest,
5301        _options: crate::RequestOptions,
5302    ) -> impl std::future::Future<
5303        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentAggregatedList>>,
5304    > + Send {
5305        gaxi::unimplemented::unimplemented_stub()
5306    }
5307
5308    /// Implements [super::client::InterconnectAttachments::delete].
5309    fn delete(
5310        &self,
5311        _req: crate::model::interconnect_attachments::DeleteRequest,
5312        _options: crate::RequestOptions,
5313    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5314    {
5315        gaxi::unimplemented::unimplemented_stub()
5316    }
5317
5318    /// Implements [super::client::InterconnectAttachments::get].
5319    fn get(
5320        &self,
5321        _req: crate::model::interconnect_attachments::GetRequest,
5322        _options: crate::RequestOptions,
5323    ) -> impl std::future::Future<
5324        Output = crate::Result<crate::Response<crate::model::InterconnectAttachment>>,
5325    > + Send {
5326        gaxi::unimplemented::unimplemented_stub()
5327    }
5328
5329    /// Implements [super::client::InterconnectAttachments::insert].
5330    fn insert(
5331        &self,
5332        _req: crate::model::interconnect_attachments::InsertRequest,
5333        _options: crate::RequestOptions,
5334    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5335    {
5336        gaxi::unimplemented::unimplemented_stub()
5337    }
5338
5339    /// Implements [super::client::InterconnectAttachments::list].
5340    fn list(
5341        &self,
5342        _req: crate::model::interconnect_attachments::ListRequest,
5343        _options: crate::RequestOptions,
5344    ) -> impl std::future::Future<
5345        Output = crate::Result<crate::Response<crate::model::InterconnectAttachmentList>>,
5346    > + Send {
5347        gaxi::unimplemented::unimplemented_stub()
5348    }
5349
5350    /// Implements [super::client::InterconnectAttachments::patch].
5351    fn patch(
5352        &self,
5353        _req: crate::model::interconnect_attachments::PatchRequest,
5354        _options: crate::RequestOptions,
5355    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5356    {
5357        gaxi::unimplemented::unimplemented_stub()
5358    }
5359
5360    /// Implements [super::client::InterconnectAttachments::set_labels].
5361    fn set_labels(
5362        &self,
5363        _req: crate::model::interconnect_attachments::SetLabelsRequest,
5364        _options: crate::RequestOptions,
5365    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5366    {
5367        gaxi::unimplemented::unimplemented_stub()
5368    }
5369
5370    /// Implements [super::client::InterconnectAttachments::get_operation].
5371    fn get_operation(
5372        &self,
5373        _req: crate::model::region_operations::GetRequest,
5374        _options: crate::RequestOptions,
5375    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5376    {
5377        gaxi::unimplemented::unimplemented_stub()
5378    }
5379
5380    /// Returns the polling error policy.
5381    ///
5382    /// When mocking, this method is typically irrelevant. Do not try to verify
5383    /// it is called by your mocks.
5384    fn get_polling_error_policy(
5385        &self,
5386        _options: &crate::RequestOptions,
5387    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5388        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5389    }
5390
5391    /// Returns the polling backoff policy.
5392    ///
5393    /// When mocking, this method is typically irrelevant. Do not try to verify
5394    /// it is called by your mocks.
5395    fn get_polling_backoff_policy(
5396        &self,
5397        _options: &crate::RequestOptions,
5398    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5399        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5400    }
5401
5402    #[doc(hidden)]
5403    /// Returns the poller options.
5404    ///
5405    /// When mocking, this method is typically irrelevant. Do not try to verify
5406    /// it is called by your mocks.
5407    fn get_poller_options(
5408        &self,
5409        _options: &crate::RequestOptions,
5410    ) -> google_cloud_lro::PollerOptions {
5411        google_cloud_lro::PollerOptions::default()
5412    }
5413}
5414
5415/// Defines the trait used to implement [super::client::InterconnectGroups].
5416///
5417/// Application developers may need to implement this trait to mock
5418/// `client::InterconnectGroups`.  In other use-cases, application developers only
5419/// use `client::InterconnectGroups` and need not be concerned with this trait or
5420/// its implementations.
5421///
5422/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5423/// too. To avoid breaking applications the trait provides a default
5424/// implementation of each method. Most of these implementations just return an
5425/// error.
5426#[cfg(feature = "interconnect-groups")]
5427#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-groups")))]
5428pub trait InterconnectGroups: std::fmt::Debug + Send + Sync {
5429    /// Implements [super::client::InterconnectGroups::create_members].
5430    fn create_members(
5431        &self,
5432        _req: crate::model::interconnect_groups::CreateMembersRequest,
5433        _options: crate::RequestOptions,
5434    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5435    {
5436        gaxi::unimplemented::unimplemented_stub()
5437    }
5438
5439    /// Implements [super::client::InterconnectGroups::delete].
5440    fn delete(
5441        &self,
5442        _req: crate::model::interconnect_groups::DeleteRequest,
5443        _options: crate::RequestOptions,
5444    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5445    {
5446        gaxi::unimplemented::unimplemented_stub()
5447    }
5448
5449    /// Implements [super::client::InterconnectGroups::get].
5450    fn get(
5451        &self,
5452        _req: crate::model::interconnect_groups::GetRequest,
5453        _options: crate::RequestOptions,
5454    ) -> impl std::future::Future<
5455        Output = crate::Result<crate::Response<crate::model::InterconnectGroup>>,
5456    > + Send {
5457        gaxi::unimplemented::unimplemented_stub()
5458    }
5459
5460    /// Implements [super::client::InterconnectGroups::get_iam_policy].
5461    fn get_iam_policy(
5462        &self,
5463        _req: crate::model::interconnect_groups::GetIamPolicyRequest,
5464        _options: crate::RequestOptions,
5465    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5466    {
5467        gaxi::unimplemented::unimplemented_stub()
5468    }
5469
5470    /// Implements [super::client::InterconnectGroups::get_operational_status].
5471    fn get_operational_status(
5472        &self,
5473        _req: crate::model::interconnect_groups::GetOperationalStatusRequest,
5474        _options: crate::RequestOptions,
5475    ) -> impl std::future::Future<
5476        Output = crate::Result<
5477            crate::Response<crate::model::InterconnectGroupsGetOperationalStatusResponse>,
5478        >,
5479    > + Send {
5480        gaxi::unimplemented::unimplemented_stub()
5481    }
5482
5483    /// Implements [super::client::InterconnectGroups::insert].
5484    fn insert(
5485        &self,
5486        _req: crate::model::interconnect_groups::InsertRequest,
5487        _options: crate::RequestOptions,
5488    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5489    {
5490        gaxi::unimplemented::unimplemented_stub()
5491    }
5492
5493    /// Implements [super::client::InterconnectGroups::list].
5494    fn list(
5495        &self,
5496        _req: crate::model::interconnect_groups::ListRequest,
5497        _options: crate::RequestOptions,
5498    ) -> impl std::future::Future<
5499        Output = crate::Result<crate::Response<crate::model::InterconnectGroupsListResponse>>,
5500    > + Send {
5501        gaxi::unimplemented::unimplemented_stub()
5502    }
5503
5504    /// Implements [super::client::InterconnectGroups::patch].
5505    fn patch(
5506        &self,
5507        _req: crate::model::interconnect_groups::PatchRequest,
5508        _options: crate::RequestOptions,
5509    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5510    {
5511        gaxi::unimplemented::unimplemented_stub()
5512    }
5513
5514    /// Implements [super::client::InterconnectGroups::set_iam_policy].
5515    fn set_iam_policy(
5516        &self,
5517        _req: crate::model::interconnect_groups::SetIamPolicyRequest,
5518        _options: crate::RequestOptions,
5519    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5520    {
5521        gaxi::unimplemented::unimplemented_stub()
5522    }
5523
5524    /// Implements [super::client::InterconnectGroups::test_iam_permissions].
5525    fn test_iam_permissions(
5526        &self,
5527        _req: crate::model::interconnect_groups::TestIamPermissionsRequest,
5528        _options: crate::RequestOptions,
5529    ) -> impl std::future::Future<
5530        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5531    > + Send {
5532        gaxi::unimplemented::unimplemented_stub()
5533    }
5534
5535    /// Implements [super::client::InterconnectGroups::get_operation].
5536    fn get_operation(
5537        &self,
5538        _req: crate::model::global_operations::GetRequest,
5539        _options: crate::RequestOptions,
5540    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5541    {
5542        gaxi::unimplemented::unimplemented_stub()
5543    }
5544
5545    /// Returns the polling error policy.
5546    ///
5547    /// When mocking, this method is typically irrelevant. Do not try to verify
5548    /// it is called by your mocks.
5549    fn get_polling_error_policy(
5550        &self,
5551        _options: &crate::RequestOptions,
5552    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5553        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5554    }
5555
5556    /// Returns the polling backoff policy.
5557    ///
5558    /// When mocking, this method is typically irrelevant. Do not try to verify
5559    /// it is called by your mocks.
5560    fn get_polling_backoff_policy(
5561        &self,
5562        _options: &crate::RequestOptions,
5563    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5564        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5565    }
5566
5567    #[doc(hidden)]
5568    /// Returns the poller options.
5569    ///
5570    /// When mocking, this method is typically irrelevant. Do not try to verify
5571    /// it is called by your mocks.
5572    fn get_poller_options(
5573        &self,
5574        _options: &crate::RequestOptions,
5575    ) -> google_cloud_lro::PollerOptions {
5576        google_cloud_lro::PollerOptions::default()
5577    }
5578}
5579
5580/// Defines the trait used to implement [super::client::InterconnectLocations].
5581///
5582/// Application developers may need to implement this trait to mock
5583/// `client::InterconnectLocations`.  In other use-cases, application developers only
5584/// use `client::InterconnectLocations` and need not be concerned with this trait or
5585/// its implementations.
5586///
5587/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5588/// too. To avoid breaking applications the trait provides a default
5589/// implementation of each method. Most of these implementations just return an
5590/// error.
5591#[cfg(feature = "interconnect-locations")]
5592#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-locations")))]
5593pub trait InterconnectLocations: std::fmt::Debug + Send + Sync {
5594    /// Implements [super::client::InterconnectLocations::get].
5595    fn get(
5596        &self,
5597        _req: crate::model::interconnect_locations::GetRequest,
5598        _options: crate::RequestOptions,
5599    ) -> impl std::future::Future<
5600        Output = crate::Result<crate::Response<crate::model::InterconnectLocation>>,
5601    > + Send {
5602        gaxi::unimplemented::unimplemented_stub()
5603    }
5604
5605    /// Implements [super::client::InterconnectLocations::list].
5606    fn list(
5607        &self,
5608        _req: crate::model::interconnect_locations::ListRequest,
5609        _options: crate::RequestOptions,
5610    ) -> impl std::future::Future<
5611        Output = crate::Result<crate::Response<crate::model::InterconnectLocationList>>,
5612    > + Send {
5613        gaxi::unimplemented::unimplemented_stub()
5614    }
5615}
5616
5617/// Defines the trait used to implement [super::client::InterconnectRemoteLocations].
5618///
5619/// Application developers may need to implement this trait to mock
5620/// `client::InterconnectRemoteLocations`.  In other use-cases, application developers only
5621/// use `client::InterconnectRemoteLocations` and need not be concerned with this trait or
5622/// its implementations.
5623///
5624/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5625/// too. To avoid breaking applications the trait provides a default
5626/// implementation of each method. Most of these implementations just return an
5627/// error.
5628#[cfg(feature = "interconnect-remote-locations")]
5629#[cfg_attr(docsrs, doc(cfg(feature = "interconnect-remote-locations")))]
5630pub trait InterconnectRemoteLocations: std::fmt::Debug + Send + Sync {
5631    /// Implements [super::client::InterconnectRemoteLocations::get].
5632    fn get(
5633        &self,
5634        _req: crate::model::interconnect_remote_locations::GetRequest,
5635        _options: crate::RequestOptions,
5636    ) -> impl std::future::Future<
5637        Output = crate::Result<crate::Response<crate::model::InterconnectRemoteLocation>>,
5638    > + Send {
5639        gaxi::unimplemented::unimplemented_stub()
5640    }
5641
5642    /// Implements [super::client::InterconnectRemoteLocations::list].
5643    fn list(
5644        &self,
5645        _req: crate::model::interconnect_remote_locations::ListRequest,
5646        _options: crate::RequestOptions,
5647    ) -> impl std::future::Future<
5648        Output = crate::Result<crate::Response<crate::model::InterconnectRemoteLocationList>>,
5649    > + Send {
5650        gaxi::unimplemented::unimplemented_stub()
5651    }
5652}
5653
5654/// Defines the trait used to implement [super::client::Interconnects].
5655///
5656/// Application developers may need to implement this trait to mock
5657/// `client::Interconnects`.  In other use-cases, application developers only
5658/// use `client::Interconnects` and need not be concerned with this trait or
5659/// its implementations.
5660///
5661/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5662/// too. To avoid breaking applications the trait provides a default
5663/// implementation of each method. Most of these implementations just return an
5664/// error.
5665#[cfg(feature = "interconnects")]
5666#[cfg_attr(docsrs, doc(cfg(feature = "interconnects")))]
5667pub trait Interconnects: std::fmt::Debug + Send + Sync {
5668    /// Implements [super::client::Interconnects::delete].
5669    fn delete(
5670        &self,
5671        _req: crate::model::interconnects::DeleteRequest,
5672        _options: crate::RequestOptions,
5673    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5674    {
5675        gaxi::unimplemented::unimplemented_stub()
5676    }
5677
5678    /// Implements [super::client::Interconnects::get].
5679    fn get(
5680        &self,
5681        _req: crate::model::interconnects::GetRequest,
5682        _options: crate::RequestOptions,
5683    ) -> impl std::future::Future<
5684        Output = crate::Result<crate::Response<crate::model::Interconnect>>,
5685    > + Send {
5686        gaxi::unimplemented::unimplemented_stub()
5687    }
5688
5689    /// Implements [super::client::Interconnects::get_diagnostics].
5690    fn get_diagnostics(
5691        &self,
5692        _req: crate::model::interconnects::GetDiagnosticsRequest,
5693        _options: crate::RequestOptions,
5694    ) -> impl std::future::Future<
5695        Output = crate::Result<crate::Response<crate::model::InterconnectsGetDiagnosticsResponse>>,
5696    > + Send {
5697        gaxi::unimplemented::unimplemented_stub()
5698    }
5699
5700    /// Implements [super::client::Interconnects::get_macsec_config].
5701    fn get_macsec_config(
5702        &self,
5703        _req: crate::model::interconnects::GetMacsecConfigRequest,
5704        _options: crate::RequestOptions,
5705    ) -> impl std::future::Future<
5706        Output = crate::Result<crate::Response<crate::model::InterconnectsGetMacsecConfigResponse>>,
5707    > + Send {
5708        gaxi::unimplemented::unimplemented_stub()
5709    }
5710
5711    /// Implements [super::client::Interconnects::insert].
5712    fn insert(
5713        &self,
5714        _req: crate::model::interconnects::InsertRequest,
5715        _options: crate::RequestOptions,
5716    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5717    {
5718        gaxi::unimplemented::unimplemented_stub()
5719    }
5720
5721    /// Implements [super::client::Interconnects::list].
5722    fn list(
5723        &self,
5724        _req: crate::model::interconnects::ListRequest,
5725        _options: crate::RequestOptions,
5726    ) -> impl std::future::Future<
5727        Output = crate::Result<crate::Response<crate::model::InterconnectList>>,
5728    > + Send {
5729        gaxi::unimplemented::unimplemented_stub()
5730    }
5731
5732    /// Implements [super::client::Interconnects::patch].
5733    fn patch(
5734        &self,
5735        _req: crate::model::interconnects::PatchRequest,
5736        _options: crate::RequestOptions,
5737    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5738    {
5739        gaxi::unimplemented::unimplemented_stub()
5740    }
5741
5742    /// Implements [super::client::Interconnects::set_labels].
5743    fn set_labels(
5744        &self,
5745        _req: crate::model::interconnects::SetLabelsRequest,
5746        _options: crate::RequestOptions,
5747    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5748    {
5749        gaxi::unimplemented::unimplemented_stub()
5750    }
5751
5752    /// Implements [super::client::Interconnects::get_operation].
5753    fn get_operation(
5754        &self,
5755        _req: crate::model::global_operations::GetRequest,
5756        _options: crate::RequestOptions,
5757    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5758    {
5759        gaxi::unimplemented::unimplemented_stub()
5760    }
5761
5762    /// Returns the polling error policy.
5763    ///
5764    /// When mocking, this method is typically irrelevant. Do not try to verify
5765    /// it is called by your mocks.
5766    fn get_polling_error_policy(
5767        &self,
5768        _options: &crate::RequestOptions,
5769    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5770        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5771    }
5772
5773    /// Returns the polling backoff policy.
5774    ///
5775    /// When mocking, this method is typically irrelevant. Do not try to verify
5776    /// it is called by your mocks.
5777    fn get_polling_backoff_policy(
5778        &self,
5779        _options: &crate::RequestOptions,
5780    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5781        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5782    }
5783
5784    #[doc(hidden)]
5785    /// Returns the poller options.
5786    ///
5787    /// When mocking, this method is typically irrelevant. Do not try to verify
5788    /// it is called by your mocks.
5789    fn get_poller_options(
5790        &self,
5791        _options: &crate::RequestOptions,
5792    ) -> google_cloud_lro::PollerOptions {
5793        google_cloud_lro::PollerOptions::default()
5794    }
5795}
5796
5797/// Defines the trait used to implement [super::client::LicenseCodes].
5798///
5799/// Application developers may need to implement this trait to mock
5800/// `client::LicenseCodes`.  In other use-cases, application developers only
5801/// use `client::LicenseCodes` and need not be concerned with this trait or
5802/// its implementations.
5803///
5804/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5805/// too. To avoid breaking applications the trait provides a default
5806/// implementation of each method. Most of these implementations just return an
5807/// error.
5808#[cfg(feature = "license-codes")]
5809#[cfg_attr(docsrs, doc(cfg(feature = "license-codes")))]
5810pub trait LicenseCodes: std::fmt::Debug + Send + Sync {
5811    /// Implements [super::client::LicenseCodes::get].
5812    fn get(
5813        &self,
5814        _req: crate::model::license_codes::GetRequest,
5815        _options: crate::RequestOptions,
5816    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::LicenseCode>>>
5817    + Send {
5818        gaxi::unimplemented::unimplemented_stub()
5819    }
5820
5821    /// Implements [super::client::LicenseCodes::get_iam_policy].
5822    fn get_iam_policy(
5823        &self,
5824        _req: crate::model::license_codes::GetIamPolicyRequest,
5825        _options: crate::RequestOptions,
5826    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5827    {
5828        gaxi::unimplemented::unimplemented_stub()
5829    }
5830
5831    /// Implements [super::client::LicenseCodes::set_iam_policy].
5832    fn set_iam_policy(
5833        &self,
5834        _req: crate::model::license_codes::SetIamPolicyRequest,
5835        _options: crate::RequestOptions,
5836    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5837    {
5838        gaxi::unimplemented::unimplemented_stub()
5839    }
5840
5841    /// Implements [super::client::LicenseCodes::test_iam_permissions].
5842    fn test_iam_permissions(
5843        &self,
5844        _req: crate::model::license_codes::TestIamPermissionsRequest,
5845        _options: crate::RequestOptions,
5846    ) -> impl std::future::Future<
5847        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5848    > + Send {
5849        gaxi::unimplemented::unimplemented_stub()
5850    }
5851}
5852
5853/// Defines the trait used to implement [super::client::Licenses].
5854///
5855/// Application developers may need to implement this trait to mock
5856/// `client::Licenses`.  In other use-cases, application developers only
5857/// use `client::Licenses` and need not be concerned with this trait or
5858/// its implementations.
5859///
5860/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5861/// too. To avoid breaking applications the trait provides a default
5862/// implementation of each method. Most of these implementations just return an
5863/// error.
5864#[cfg(feature = "licenses")]
5865#[cfg_attr(docsrs, doc(cfg(feature = "licenses")))]
5866pub trait Licenses: std::fmt::Debug + Send + Sync {
5867    /// Implements [super::client::Licenses::delete].
5868    fn delete(
5869        &self,
5870        _req: crate::model::licenses::DeleteRequest,
5871        _options: crate::RequestOptions,
5872    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5873    {
5874        gaxi::unimplemented::unimplemented_stub()
5875    }
5876
5877    /// Implements [super::client::Licenses::get].
5878    fn get(
5879        &self,
5880        _req: crate::model::licenses::GetRequest,
5881        _options: crate::RequestOptions,
5882    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::License>>> + Send
5883    {
5884        gaxi::unimplemented::unimplemented_stub()
5885    }
5886
5887    /// Implements [super::client::Licenses::get_iam_policy].
5888    fn get_iam_policy(
5889        &self,
5890        _req: crate::model::licenses::GetIamPolicyRequest,
5891        _options: crate::RequestOptions,
5892    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5893    {
5894        gaxi::unimplemented::unimplemented_stub()
5895    }
5896
5897    /// Implements [super::client::Licenses::insert].
5898    fn insert(
5899        &self,
5900        _req: crate::model::licenses::InsertRequest,
5901        _options: crate::RequestOptions,
5902    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5903    {
5904        gaxi::unimplemented::unimplemented_stub()
5905    }
5906
5907    /// Implements [super::client::Licenses::list].
5908    fn list(
5909        &self,
5910        _req: crate::model::licenses::ListRequest,
5911        _options: crate::RequestOptions,
5912    ) -> impl std::future::Future<
5913        Output = crate::Result<crate::Response<crate::model::LicensesListResponse>>,
5914    > + Send {
5915        gaxi::unimplemented::unimplemented_stub()
5916    }
5917
5918    /// Implements [super::client::Licenses::set_iam_policy].
5919    fn set_iam_policy(
5920        &self,
5921        _req: crate::model::licenses::SetIamPolicyRequest,
5922        _options: crate::RequestOptions,
5923    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
5924    {
5925        gaxi::unimplemented::unimplemented_stub()
5926    }
5927
5928    /// Implements [super::client::Licenses::test_iam_permissions].
5929    fn test_iam_permissions(
5930        &self,
5931        _req: crate::model::licenses::TestIamPermissionsRequest,
5932        _options: crate::RequestOptions,
5933    ) -> impl std::future::Future<
5934        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
5935    > + Send {
5936        gaxi::unimplemented::unimplemented_stub()
5937    }
5938
5939    /// Implements [super::client::Licenses::update].
5940    fn update(
5941        &self,
5942        _req: crate::model::licenses::UpdateRequest,
5943        _options: crate::RequestOptions,
5944    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5945    {
5946        gaxi::unimplemented::unimplemented_stub()
5947    }
5948
5949    /// Implements [super::client::Licenses::get_operation].
5950    fn get_operation(
5951        &self,
5952        _req: crate::model::global_operations::GetRequest,
5953        _options: crate::RequestOptions,
5954    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
5955    {
5956        gaxi::unimplemented::unimplemented_stub()
5957    }
5958
5959    /// Returns the polling error policy.
5960    ///
5961    /// When mocking, this method is typically irrelevant. Do not try to verify
5962    /// it is called by your mocks.
5963    fn get_polling_error_policy(
5964        &self,
5965        _options: &crate::RequestOptions,
5966    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
5967        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
5968    }
5969
5970    /// Returns the polling backoff policy.
5971    ///
5972    /// When mocking, this method is typically irrelevant. Do not try to verify
5973    /// it is called by your mocks.
5974    fn get_polling_backoff_policy(
5975        &self,
5976        _options: &crate::RequestOptions,
5977    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
5978        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
5979    }
5980
5981    #[doc(hidden)]
5982    /// Returns the poller options.
5983    ///
5984    /// When mocking, this method is typically irrelevant. Do not try to verify
5985    /// it is called by your mocks.
5986    fn get_poller_options(
5987        &self,
5988        _options: &crate::RequestOptions,
5989    ) -> google_cloud_lro::PollerOptions {
5990        google_cloud_lro::PollerOptions::default()
5991    }
5992}
5993
5994/// Defines the trait used to implement [super::client::MachineImages].
5995///
5996/// Application developers may need to implement this trait to mock
5997/// `client::MachineImages`.  In other use-cases, application developers only
5998/// use `client::MachineImages` and need not be concerned with this trait or
5999/// its implementations.
6000///
6001/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6002/// too. To avoid breaking applications the trait provides a default
6003/// implementation of each method. Most of these implementations just return an
6004/// error.
6005#[cfg(feature = "machine-images")]
6006#[cfg_attr(docsrs, doc(cfg(feature = "machine-images")))]
6007pub trait MachineImages: std::fmt::Debug + Send + Sync {
6008    /// Implements [super::client::MachineImages::delete].
6009    fn delete(
6010        &self,
6011        _req: crate::model::machine_images::DeleteRequest,
6012        _options: crate::RequestOptions,
6013    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6014    {
6015        gaxi::unimplemented::unimplemented_stub()
6016    }
6017
6018    /// Implements [super::client::MachineImages::get].
6019    fn get(
6020        &self,
6021        _req: crate::model::machine_images::GetRequest,
6022        _options: crate::RequestOptions,
6023    ) -> impl std::future::Future<
6024        Output = crate::Result<crate::Response<crate::model::MachineImage>>,
6025    > + Send {
6026        gaxi::unimplemented::unimplemented_stub()
6027    }
6028
6029    /// Implements [super::client::MachineImages::get_iam_policy].
6030    fn get_iam_policy(
6031        &self,
6032        _req: crate::model::machine_images::GetIamPolicyRequest,
6033        _options: crate::RequestOptions,
6034    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6035    {
6036        gaxi::unimplemented::unimplemented_stub()
6037    }
6038
6039    /// Implements [super::client::MachineImages::insert].
6040    fn insert(
6041        &self,
6042        _req: crate::model::machine_images::InsertRequest,
6043        _options: crate::RequestOptions,
6044    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6045    {
6046        gaxi::unimplemented::unimplemented_stub()
6047    }
6048
6049    /// Implements [super::client::MachineImages::list].
6050    fn list(
6051        &self,
6052        _req: crate::model::machine_images::ListRequest,
6053        _options: crate::RequestOptions,
6054    ) -> impl std::future::Future<
6055        Output = crate::Result<crate::Response<crate::model::MachineImageList>>,
6056    > + Send {
6057        gaxi::unimplemented::unimplemented_stub()
6058    }
6059
6060    /// Implements [super::client::MachineImages::set_iam_policy].
6061    fn set_iam_policy(
6062        &self,
6063        _req: crate::model::machine_images::SetIamPolicyRequest,
6064        _options: crate::RequestOptions,
6065    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6066    {
6067        gaxi::unimplemented::unimplemented_stub()
6068    }
6069
6070    /// Implements [super::client::MachineImages::set_labels].
6071    fn set_labels(
6072        &self,
6073        _req: crate::model::machine_images::SetLabelsRequest,
6074        _options: crate::RequestOptions,
6075    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6076    {
6077        gaxi::unimplemented::unimplemented_stub()
6078    }
6079
6080    /// Implements [super::client::MachineImages::test_iam_permissions].
6081    fn test_iam_permissions(
6082        &self,
6083        _req: crate::model::machine_images::TestIamPermissionsRequest,
6084        _options: crate::RequestOptions,
6085    ) -> impl std::future::Future<
6086        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6087    > + Send {
6088        gaxi::unimplemented::unimplemented_stub()
6089    }
6090
6091    /// Implements [super::client::MachineImages::get_operation].
6092    fn get_operation(
6093        &self,
6094        _req: crate::model::global_operations::GetRequest,
6095        _options: crate::RequestOptions,
6096    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6097    {
6098        gaxi::unimplemented::unimplemented_stub()
6099    }
6100
6101    /// Returns the polling error policy.
6102    ///
6103    /// When mocking, this method is typically irrelevant. Do not try to verify
6104    /// it is called by your mocks.
6105    fn get_polling_error_policy(
6106        &self,
6107        _options: &crate::RequestOptions,
6108    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6109        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6110    }
6111
6112    /// Returns the polling backoff policy.
6113    ///
6114    /// When mocking, this method is typically irrelevant. Do not try to verify
6115    /// it is called by your mocks.
6116    fn get_polling_backoff_policy(
6117        &self,
6118        _options: &crate::RequestOptions,
6119    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6120        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6121    }
6122
6123    #[doc(hidden)]
6124    /// Returns the poller options.
6125    ///
6126    /// When mocking, this method is typically irrelevant. Do not try to verify
6127    /// it is called by your mocks.
6128    fn get_poller_options(
6129        &self,
6130        _options: &crate::RequestOptions,
6131    ) -> google_cloud_lro::PollerOptions {
6132        google_cloud_lro::PollerOptions::default()
6133    }
6134}
6135
6136/// Defines the trait used to implement [super::client::MachineTypes].
6137///
6138/// Application developers may need to implement this trait to mock
6139/// `client::MachineTypes`.  In other use-cases, application developers only
6140/// use `client::MachineTypes` and need not be concerned with this trait or
6141/// its implementations.
6142///
6143/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6144/// too. To avoid breaking applications the trait provides a default
6145/// implementation of each method. Most of these implementations just return an
6146/// error.
6147#[cfg(feature = "machine-types")]
6148#[cfg_attr(docsrs, doc(cfg(feature = "machine-types")))]
6149pub trait MachineTypes: std::fmt::Debug + Send + Sync {
6150    /// Implements [super::client::MachineTypes::aggregated_list].
6151    fn aggregated_list(
6152        &self,
6153        _req: crate::model::machine_types::AggregatedListRequest,
6154        _options: crate::RequestOptions,
6155    ) -> impl std::future::Future<
6156        Output = crate::Result<crate::Response<crate::model::MachineTypeAggregatedList>>,
6157    > + Send {
6158        gaxi::unimplemented::unimplemented_stub()
6159    }
6160
6161    /// Implements [super::client::MachineTypes::get].
6162    fn get(
6163        &self,
6164        _req: crate::model::machine_types::GetRequest,
6165        _options: crate::RequestOptions,
6166    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::MachineType>>>
6167    + Send {
6168        gaxi::unimplemented::unimplemented_stub()
6169    }
6170
6171    /// Implements [super::client::MachineTypes::list].
6172    fn list(
6173        &self,
6174        _req: crate::model::machine_types::ListRequest,
6175        _options: crate::RequestOptions,
6176    ) -> impl std::future::Future<
6177        Output = crate::Result<crate::Response<crate::model::MachineTypeList>>,
6178    > + Send {
6179        gaxi::unimplemented::unimplemented_stub()
6180    }
6181}
6182
6183/// Defines the trait used to implement [super::client::NetworkAttachments].
6184///
6185/// Application developers may need to implement this trait to mock
6186/// `client::NetworkAttachments`.  In other use-cases, application developers only
6187/// use `client::NetworkAttachments` and need not be concerned with this trait or
6188/// its implementations.
6189///
6190/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6191/// too. To avoid breaking applications the trait provides a default
6192/// implementation of each method. Most of these implementations just return an
6193/// error.
6194#[cfg(feature = "network-attachments")]
6195#[cfg_attr(docsrs, doc(cfg(feature = "network-attachments")))]
6196pub trait NetworkAttachments: std::fmt::Debug + Send + Sync {
6197    /// Implements [super::client::NetworkAttachments::aggregated_list].
6198    fn aggregated_list(
6199        &self,
6200        _req: crate::model::network_attachments::AggregatedListRequest,
6201        _options: crate::RequestOptions,
6202    ) -> impl std::future::Future<
6203        Output = crate::Result<crate::Response<crate::model::NetworkAttachmentAggregatedList>>,
6204    > + Send {
6205        gaxi::unimplemented::unimplemented_stub()
6206    }
6207
6208    /// Implements [super::client::NetworkAttachments::delete].
6209    fn delete(
6210        &self,
6211        _req: crate::model::network_attachments::DeleteRequest,
6212        _options: crate::RequestOptions,
6213    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6214    {
6215        gaxi::unimplemented::unimplemented_stub()
6216    }
6217
6218    /// Implements [super::client::NetworkAttachments::get].
6219    fn get(
6220        &self,
6221        _req: crate::model::network_attachments::GetRequest,
6222        _options: crate::RequestOptions,
6223    ) -> impl std::future::Future<
6224        Output = crate::Result<crate::Response<crate::model::NetworkAttachment>>,
6225    > + Send {
6226        gaxi::unimplemented::unimplemented_stub()
6227    }
6228
6229    /// Implements [super::client::NetworkAttachments::get_iam_policy].
6230    fn get_iam_policy(
6231        &self,
6232        _req: crate::model::network_attachments::GetIamPolicyRequest,
6233        _options: crate::RequestOptions,
6234    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6235    {
6236        gaxi::unimplemented::unimplemented_stub()
6237    }
6238
6239    /// Implements [super::client::NetworkAttachments::insert].
6240    fn insert(
6241        &self,
6242        _req: crate::model::network_attachments::InsertRequest,
6243        _options: crate::RequestOptions,
6244    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6245    {
6246        gaxi::unimplemented::unimplemented_stub()
6247    }
6248
6249    /// Implements [super::client::NetworkAttachments::list].
6250    fn list(
6251        &self,
6252        _req: crate::model::network_attachments::ListRequest,
6253        _options: crate::RequestOptions,
6254    ) -> impl std::future::Future<
6255        Output = crate::Result<crate::Response<crate::model::NetworkAttachmentList>>,
6256    > + Send {
6257        gaxi::unimplemented::unimplemented_stub()
6258    }
6259
6260    /// Implements [super::client::NetworkAttachments::patch].
6261    fn patch(
6262        &self,
6263        _req: crate::model::network_attachments::PatchRequest,
6264        _options: crate::RequestOptions,
6265    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6266    {
6267        gaxi::unimplemented::unimplemented_stub()
6268    }
6269
6270    /// Implements [super::client::NetworkAttachments::set_iam_policy].
6271    fn set_iam_policy(
6272        &self,
6273        _req: crate::model::network_attachments::SetIamPolicyRequest,
6274        _options: crate::RequestOptions,
6275    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6276    {
6277        gaxi::unimplemented::unimplemented_stub()
6278    }
6279
6280    /// Implements [super::client::NetworkAttachments::test_iam_permissions].
6281    fn test_iam_permissions(
6282        &self,
6283        _req: crate::model::network_attachments::TestIamPermissionsRequest,
6284        _options: crate::RequestOptions,
6285    ) -> impl std::future::Future<
6286        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6287    > + Send {
6288        gaxi::unimplemented::unimplemented_stub()
6289    }
6290
6291    /// Implements [super::client::NetworkAttachments::get_operation].
6292    fn get_operation(
6293        &self,
6294        _req: crate::model::region_operations::GetRequest,
6295        _options: crate::RequestOptions,
6296    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6297    {
6298        gaxi::unimplemented::unimplemented_stub()
6299    }
6300
6301    /// Returns the polling error policy.
6302    ///
6303    /// When mocking, this method is typically irrelevant. Do not try to verify
6304    /// it is called by your mocks.
6305    fn get_polling_error_policy(
6306        &self,
6307        _options: &crate::RequestOptions,
6308    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6309        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6310    }
6311
6312    /// Returns the polling backoff policy.
6313    ///
6314    /// When mocking, this method is typically irrelevant. Do not try to verify
6315    /// it is called by your mocks.
6316    fn get_polling_backoff_policy(
6317        &self,
6318        _options: &crate::RequestOptions,
6319    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6320        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6321    }
6322
6323    #[doc(hidden)]
6324    /// Returns the poller options.
6325    ///
6326    /// When mocking, this method is typically irrelevant. Do not try to verify
6327    /// it is called by your mocks.
6328    fn get_poller_options(
6329        &self,
6330        _options: &crate::RequestOptions,
6331    ) -> google_cloud_lro::PollerOptions {
6332        google_cloud_lro::PollerOptions::default()
6333    }
6334}
6335
6336/// Defines the trait used to implement [super::client::NetworkEdgeSecurityServices].
6337///
6338/// Application developers may need to implement this trait to mock
6339/// `client::NetworkEdgeSecurityServices`.  In other use-cases, application developers only
6340/// use `client::NetworkEdgeSecurityServices` and need not be concerned with this trait or
6341/// its implementations.
6342///
6343/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6344/// too. To avoid breaking applications the trait provides a default
6345/// implementation of each method. Most of these implementations just return an
6346/// error.
6347#[cfg(feature = "network-edge-security-services")]
6348#[cfg_attr(docsrs, doc(cfg(feature = "network-edge-security-services")))]
6349pub trait NetworkEdgeSecurityServices: std::fmt::Debug + Send + Sync {
6350    /// Implements [super::client::NetworkEdgeSecurityServices::aggregated_list].
6351    fn aggregated_list(
6352        &self,
6353        _req: crate::model::network_edge_security_services::AggregatedListRequest,
6354        _options: crate::RequestOptions,
6355    ) -> impl std::future::Future<
6356        Output = crate::Result<
6357            crate::Response<crate::model::NetworkEdgeSecurityServiceAggregatedList>,
6358        >,
6359    > + Send {
6360        gaxi::unimplemented::unimplemented_stub()
6361    }
6362
6363    /// Implements [super::client::NetworkEdgeSecurityServices::delete].
6364    fn delete(
6365        &self,
6366        _req: crate::model::network_edge_security_services::DeleteRequest,
6367        _options: crate::RequestOptions,
6368    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6369    {
6370        gaxi::unimplemented::unimplemented_stub()
6371    }
6372
6373    /// Implements [super::client::NetworkEdgeSecurityServices::get].
6374    fn get(
6375        &self,
6376        _req: crate::model::network_edge_security_services::GetRequest,
6377        _options: crate::RequestOptions,
6378    ) -> impl std::future::Future<
6379        Output = crate::Result<crate::Response<crate::model::NetworkEdgeSecurityService>>,
6380    > + Send {
6381        gaxi::unimplemented::unimplemented_stub()
6382    }
6383
6384    /// Implements [super::client::NetworkEdgeSecurityServices::insert].
6385    fn insert(
6386        &self,
6387        _req: crate::model::network_edge_security_services::InsertRequest,
6388        _options: crate::RequestOptions,
6389    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6390    {
6391        gaxi::unimplemented::unimplemented_stub()
6392    }
6393
6394    /// Implements [super::client::NetworkEdgeSecurityServices::patch].
6395    fn patch(
6396        &self,
6397        _req: crate::model::network_edge_security_services::PatchRequest,
6398        _options: crate::RequestOptions,
6399    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6400    {
6401        gaxi::unimplemented::unimplemented_stub()
6402    }
6403
6404    /// Implements [super::client::NetworkEdgeSecurityServices::get_operation].
6405    fn get_operation(
6406        &self,
6407        _req: crate::model::region_operations::GetRequest,
6408        _options: crate::RequestOptions,
6409    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6410    {
6411        gaxi::unimplemented::unimplemented_stub()
6412    }
6413
6414    /// Returns the polling error policy.
6415    ///
6416    /// When mocking, this method is typically irrelevant. Do not try to verify
6417    /// it is called by your mocks.
6418    fn get_polling_error_policy(
6419        &self,
6420        _options: &crate::RequestOptions,
6421    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6422        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6423    }
6424
6425    /// Returns the polling backoff policy.
6426    ///
6427    /// When mocking, this method is typically irrelevant. Do not try to verify
6428    /// it is called by your mocks.
6429    fn get_polling_backoff_policy(
6430        &self,
6431        _options: &crate::RequestOptions,
6432    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6433        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6434    }
6435
6436    #[doc(hidden)]
6437    /// Returns the poller options.
6438    ///
6439    /// When mocking, this method is typically irrelevant. Do not try to verify
6440    /// it is called by your mocks.
6441    fn get_poller_options(
6442        &self,
6443        _options: &crate::RequestOptions,
6444    ) -> google_cloud_lro::PollerOptions {
6445        google_cloud_lro::PollerOptions::default()
6446    }
6447}
6448
6449/// Defines the trait used to implement [super::client::NetworkEndpointGroups].
6450///
6451/// Application developers may need to implement this trait to mock
6452/// `client::NetworkEndpointGroups`.  In other use-cases, application developers only
6453/// use `client::NetworkEndpointGroups` and need not be concerned with this trait or
6454/// its implementations.
6455///
6456/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6457/// too. To avoid breaking applications the trait provides a default
6458/// implementation of each method. Most of these implementations just return an
6459/// error.
6460#[cfg(feature = "network-endpoint-groups")]
6461#[cfg_attr(docsrs, doc(cfg(feature = "network-endpoint-groups")))]
6462pub trait NetworkEndpointGroups: std::fmt::Debug + Send + Sync {
6463    /// Implements [super::client::NetworkEndpointGroups::aggregated_list].
6464    fn aggregated_list(
6465        &self,
6466        _req: crate::model::network_endpoint_groups::AggregatedListRequest,
6467        _options: crate::RequestOptions,
6468    ) -> impl std::future::Future<
6469        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupAggregatedList>>,
6470    > + Send {
6471        gaxi::unimplemented::unimplemented_stub()
6472    }
6473
6474    /// Implements [super::client::NetworkEndpointGroups::attach_network_endpoints].
6475    fn attach_network_endpoints(
6476        &self,
6477        _req: crate::model::network_endpoint_groups::AttachNetworkEndpointsRequest,
6478        _options: crate::RequestOptions,
6479    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6480    {
6481        gaxi::unimplemented::unimplemented_stub()
6482    }
6483
6484    /// Implements [super::client::NetworkEndpointGroups::delete].
6485    fn delete(
6486        &self,
6487        _req: crate::model::network_endpoint_groups::DeleteRequest,
6488        _options: crate::RequestOptions,
6489    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6490    {
6491        gaxi::unimplemented::unimplemented_stub()
6492    }
6493
6494    /// Implements [super::client::NetworkEndpointGroups::detach_network_endpoints].
6495    fn detach_network_endpoints(
6496        &self,
6497        _req: crate::model::network_endpoint_groups::DetachNetworkEndpointsRequest,
6498        _options: crate::RequestOptions,
6499    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6500    {
6501        gaxi::unimplemented::unimplemented_stub()
6502    }
6503
6504    /// Implements [super::client::NetworkEndpointGroups::get].
6505    fn get(
6506        &self,
6507        _req: crate::model::network_endpoint_groups::GetRequest,
6508        _options: crate::RequestOptions,
6509    ) -> impl std::future::Future<
6510        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
6511    > + Send {
6512        gaxi::unimplemented::unimplemented_stub()
6513    }
6514
6515    /// Implements [super::client::NetworkEndpointGroups::insert].
6516    fn insert(
6517        &self,
6518        _req: crate::model::network_endpoint_groups::InsertRequest,
6519        _options: crate::RequestOptions,
6520    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6521    {
6522        gaxi::unimplemented::unimplemented_stub()
6523    }
6524
6525    /// Implements [super::client::NetworkEndpointGroups::list].
6526    fn list(
6527        &self,
6528        _req: crate::model::network_endpoint_groups::ListRequest,
6529        _options: crate::RequestOptions,
6530    ) -> impl std::future::Future<
6531        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
6532    > + Send {
6533        gaxi::unimplemented::unimplemented_stub()
6534    }
6535
6536    /// Implements [super::client::NetworkEndpointGroups::list_network_endpoints].
6537    fn list_network_endpoints(
6538        &self,
6539        _req: crate::model::network_endpoint_groups::ListNetworkEndpointsRequest,
6540        _options: crate::RequestOptions,
6541    ) -> impl std::future::Future<
6542        Output = crate::Result<
6543            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
6544        >,
6545    > + Send {
6546        gaxi::unimplemented::unimplemented_stub()
6547    }
6548
6549    /// Implements [super::client::NetworkEndpointGroups::test_iam_permissions].
6550    fn test_iam_permissions(
6551        &self,
6552        _req: crate::model::network_endpoint_groups::TestIamPermissionsRequest,
6553        _options: crate::RequestOptions,
6554    ) -> impl std::future::Future<
6555        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6556    > + Send {
6557        gaxi::unimplemented::unimplemented_stub()
6558    }
6559
6560    /// Implements [super::client::NetworkEndpointGroups::get_operation].
6561    fn get_operation(
6562        &self,
6563        _req: crate::model::zone_operations::GetRequest,
6564        _options: crate::RequestOptions,
6565    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6566    {
6567        gaxi::unimplemented::unimplemented_stub()
6568    }
6569
6570    /// Returns the polling error policy.
6571    ///
6572    /// When mocking, this method is typically irrelevant. Do not try to verify
6573    /// it is called by your mocks.
6574    fn get_polling_error_policy(
6575        &self,
6576        _options: &crate::RequestOptions,
6577    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6578        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6579    }
6580
6581    /// Returns the polling backoff policy.
6582    ///
6583    /// When mocking, this method is typically irrelevant. Do not try to verify
6584    /// it is called by your mocks.
6585    fn get_polling_backoff_policy(
6586        &self,
6587        _options: &crate::RequestOptions,
6588    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6589        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6590    }
6591
6592    #[doc(hidden)]
6593    /// Returns the poller options.
6594    ///
6595    /// When mocking, this method is typically irrelevant. Do not try to verify
6596    /// it is called by your mocks.
6597    fn get_poller_options(
6598        &self,
6599        _options: &crate::RequestOptions,
6600    ) -> google_cloud_lro::PollerOptions {
6601        google_cloud_lro::PollerOptions::default()
6602    }
6603}
6604
6605/// Defines the trait used to implement [super::client::NetworkFirewallPolicies].
6606///
6607/// Application developers may need to implement this trait to mock
6608/// `client::NetworkFirewallPolicies`.  In other use-cases, application developers only
6609/// use `client::NetworkFirewallPolicies` and need not be concerned with this trait or
6610/// its implementations.
6611///
6612/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6613/// too. To avoid breaking applications the trait provides a default
6614/// implementation of each method. Most of these implementations just return an
6615/// error.
6616#[cfg(feature = "network-firewall-policies")]
6617#[cfg_attr(docsrs, doc(cfg(feature = "network-firewall-policies")))]
6618pub trait NetworkFirewallPolicies: std::fmt::Debug + Send + Sync {
6619    /// Implements [super::client::NetworkFirewallPolicies::add_association].
6620    fn add_association(
6621        &self,
6622        _req: crate::model::network_firewall_policies::AddAssociationRequest,
6623        _options: crate::RequestOptions,
6624    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6625    {
6626        gaxi::unimplemented::unimplemented_stub()
6627    }
6628
6629    /// Implements [super::client::NetworkFirewallPolicies::add_packet_mirroring_rule].
6630    fn add_packet_mirroring_rule(
6631        &self,
6632        _req: crate::model::network_firewall_policies::AddPacketMirroringRuleRequest,
6633        _options: crate::RequestOptions,
6634    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6635    {
6636        gaxi::unimplemented::unimplemented_stub()
6637    }
6638
6639    /// Implements [super::client::NetworkFirewallPolicies::add_rule].
6640    fn add_rule(
6641        &self,
6642        _req: crate::model::network_firewall_policies::AddRuleRequest,
6643        _options: crate::RequestOptions,
6644    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6645    {
6646        gaxi::unimplemented::unimplemented_stub()
6647    }
6648
6649    /// Implements [super::client::NetworkFirewallPolicies::aggregated_list].
6650    fn aggregated_list(
6651        &self,
6652        _req: crate::model::network_firewall_policies::AggregatedListRequest,
6653        _options: crate::RequestOptions,
6654    ) -> impl std::future::Future<
6655        Output = crate::Result<crate::Response<crate::model::NetworkFirewallPolicyAggregatedList>>,
6656    > + Send {
6657        gaxi::unimplemented::unimplemented_stub()
6658    }
6659
6660    /// Implements [super::client::NetworkFirewallPolicies::clone_rules].
6661    fn clone_rules(
6662        &self,
6663        _req: crate::model::network_firewall_policies::CloneRulesRequest,
6664        _options: crate::RequestOptions,
6665    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6666    {
6667        gaxi::unimplemented::unimplemented_stub()
6668    }
6669
6670    /// Implements [super::client::NetworkFirewallPolicies::delete].
6671    fn delete(
6672        &self,
6673        _req: crate::model::network_firewall_policies::DeleteRequest,
6674        _options: crate::RequestOptions,
6675    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6676    {
6677        gaxi::unimplemented::unimplemented_stub()
6678    }
6679
6680    /// Implements [super::client::NetworkFirewallPolicies::get].
6681    fn get(
6682        &self,
6683        _req: crate::model::network_firewall_policies::GetRequest,
6684        _options: crate::RequestOptions,
6685    ) -> impl std::future::Future<
6686        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
6687    > + Send {
6688        gaxi::unimplemented::unimplemented_stub()
6689    }
6690
6691    /// Implements [super::client::NetworkFirewallPolicies::get_association].
6692    fn get_association(
6693        &self,
6694        _req: crate::model::network_firewall_policies::GetAssociationRequest,
6695        _options: crate::RequestOptions,
6696    ) -> impl std::future::Future<
6697        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
6698    > + Send {
6699        gaxi::unimplemented::unimplemented_stub()
6700    }
6701
6702    /// Implements [super::client::NetworkFirewallPolicies::get_iam_policy].
6703    fn get_iam_policy(
6704        &self,
6705        _req: crate::model::network_firewall_policies::GetIamPolicyRequest,
6706        _options: crate::RequestOptions,
6707    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6708    {
6709        gaxi::unimplemented::unimplemented_stub()
6710    }
6711
6712    /// Implements [super::client::NetworkFirewallPolicies::get_packet_mirroring_rule].
6713    fn get_packet_mirroring_rule(
6714        &self,
6715        _req: crate::model::network_firewall_policies::GetPacketMirroringRuleRequest,
6716        _options: crate::RequestOptions,
6717    ) -> impl std::future::Future<
6718        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
6719    > + Send {
6720        gaxi::unimplemented::unimplemented_stub()
6721    }
6722
6723    /// Implements [super::client::NetworkFirewallPolicies::get_rule].
6724    fn get_rule(
6725        &self,
6726        _req: crate::model::network_firewall_policies::GetRuleRequest,
6727        _options: crate::RequestOptions,
6728    ) -> impl std::future::Future<
6729        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
6730    > + Send {
6731        gaxi::unimplemented::unimplemented_stub()
6732    }
6733
6734    /// Implements [super::client::NetworkFirewallPolicies::insert].
6735    fn insert(
6736        &self,
6737        _req: crate::model::network_firewall_policies::InsertRequest,
6738        _options: crate::RequestOptions,
6739    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6740    {
6741        gaxi::unimplemented::unimplemented_stub()
6742    }
6743
6744    /// Implements [super::client::NetworkFirewallPolicies::list].
6745    fn list(
6746        &self,
6747        _req: crate::model::network_firewall_policies::ListRequest,
6748        _options: crate::RequestOptions,
6749    ) -> impl std::future::Future<
6750        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
6751    > + Send {
6752        gaxi::unimplemented::unimplemented_stub()
6753    }
6754
6755    /// Implements [super::client::NetworkFirewallPolicies::patch].
6756    fn patch(
6757        &self,
6758        _req: crate::model::network_firewall_policies::PatchRequest,
6759        _options: crate::RequestOptions,
6760    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6761    {
6762        gaxi::unimplemented::unimplemented_stub()
6763    }
6764
6765    /// Implements [super::client::NetworkFirewallPolicies::patch_packet_mirroring_rule].
6766    fn patch_packet_mirroring_rule(
6767        &self,
6768        _req: crate::model::network_firewall_policies::PatchPacketMirroringRuleRequest,
6769        _options: crate::RequestOptions,
6770    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6771    {
6772        gaxi::unimplemented::unimplemented_stub()
6773    }
6774
6775    /// Implements [super::client::NetworkFirewallPolicies::patch_rule].
6776    fn patch_rule(
6777        &self,
6778        _req: crate::model::network_firewall_policies::PatchRuleRequest,
6779        _options: crate::RequestOptions,
6780    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6781    {
6782        gaxi::unimplemented::unimplemented_stub()
6783    }
6784
6785    /// Implements [super::client::NetworkFirewallPolicies::remove_association].
6786    fn remove_association(
6787        &self,
6788        _req: crate::model::network_firewall_policies::RemoveAssociationRequest,
6789        _options: crate::RequestOptions,
6790    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6791    {
6792        gaxi::unimplemented::unimplemented_stub()
6793    }
6794
6795    /// Implements [super::client::NetworkFirewallPolicies::remove_packet_mirroring_rule].
6796    fn remove_packet_mirroring_rule(
6797        &self,
6798        _req: crate::model::network_firewall_policies::RemovePacketMirroringRuleRequest,
6799        _options: crate::RequestOptions,
6800    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6801    {
6802        gaxi::unimplemented::unimplemented_stub()
6803    }
6804
6805    /// Implements [super::client::NetworkFirewallPolicies::remove_rule].
6806    fn remove_rule(
6807        &self,
6808        _req: crate::model::network_firewall_policies::RemoveRuleRequest,
6809        _options: crate::RequestOptions,
6810    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6811    {
6812        gaxi::unimplemented::unimplemented_stub()
6813    }
6814
6815    /// Implements [super::client::NetworkFirewallPolicies::set_iam_policy].
6816    fn set_iam_policy(
6817        &self,
6818        _req: crate::model::network_firewall_policies::SetIamPolicyRequest,
6819        _options: crate::RequestOptions,
6820    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
6821    {
6822        gaxi::unimplemented::unimplemented_stub()
6823    }
6824
6825    /// Implements [super::client::NetworkFirewallPolicies::test_iam_permissions].
6826    fn test_iam_permissions(
6827        &self,
6828        _req: crate::model::network_firewall_policies::TestIamPermissionsRequest,
6829        _options: crate::RequestOptions,
6830    ) -> impl std::future::Future<
6831        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
6832    > + Send {
6833        gaxi::unimplemented::unimplemented_stub()
6834    }
6835
6836    /// Implements [super::client::NetworkFirewallPolicies::get_operation].
6837    fn get_operation(
6838        &self,
6839        _req: crate::model::global_operations::GetRequest,
6840        _options: crate::RequestOptions,
6841    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6842    {
6843        gaxi::unimplemented::unimplemented_stub()
6844    }
6845
6846    /// Returns the polling error policy.
6847    ///
6848    /// When mocking, this method is typically irrelevant. Do not try to verify
6849    /// it is called by your mocks.
6850    fn get_polling_error_policy(
6851        &self,
6852        _options: &crate::RequestOptions,
6853    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
6854        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
6855    }
6856
6857    /// Returns the polling backoff policy.
6858    ///
6859    /// When mocking, this method is typically irrelevant. Do not try to verify
6860    /// it is called by your mocks.
6861    fn get_polling_backoff_policy(
6862        &self,
6863        _options: &crate::RequestOptions,
6864    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
6865        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
6866    }
6867
6868    #[doc(hidden)]
6869    /// Returns the poller options.
6870    ///
6871    /// When mocking, this method is typically irrelevant. Do not try to verify
6872    /// it is called by your mocks.
6873    fn get_poller_options(
6874        &self,
6875        _options: &crate::RequestOptions,
6876    ) -> google_cloud_lro::PollerOptions {
6877        google_cloud_lro::PollerOptions::default()
6878    }
6879}
6880
6881/// Defines the trait used to implement [super::client::NetworkProfiles].
6882///
6883/// Application developers may need to implement this trait to mock
6884/// `client::NetworkProfiles`.  In other use-cases, application developers only
6885/// use `client::NetworkProfiles` and need not be concerned with this trait or
6886/// its implementations.
6887///
6888/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6889/// too. To avoid breaking applications the trait provides a default
6890/// implementation of each method. Most of these implementations just return an
6891/// error.
6892#[cfg(feature = "network-profiles")]
6893#[cfg_attr(docsrs, doc(cfg(feature = "network-profiles")))]
6894pub trait NetworkProfiles: std::fmt::Debug + Send + Sync {
6895    /// Implements [super::client::NetworkProfiles::get].
6896    fn get(
6897        &self,
6898        _req: crate::model::network_profiles::GetRequest,
6899        _options: crate::RequestOptions,
6900    ) -> impl std::future::Future<
6901        Output = crate::Result<crate::Response<crate::model::NetworkProfile>>,
6902    > + Send {
6903        gaxi::unimplemented::unimplemented_stub()
6904    }
6905
6906    /// Implements [super::client::NetworkProfiles::list].
6907    fn list(
6908        &self,
6909        _req: crate::model::network_profiles::ListRequest,
6910        _options: crate::RequestOptions,
6911    ) -> impl std::future::Future<
6912        Output = crate::Result<crate::Response<crate::model::NetworkProfilesListResponse>>,
6913    > + Send {
6914        gaxi::unimplemented::unimplemented_stub()
6915    }
6916}
6917
6918/// Defines the trait used to implement [super::client::Networks].
6919///
6920/// Application developers may need to implement this trait to mock
6921/// `client::Networks`.  In other use-cases, application developers only
6922/// use `client::Networks` and need not be concerned with this trait or
6923/// its implementations.
6924///
6925/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6926/// too. To avoid breaking applications the trait provides a default
6927/// implementation of each method. Most of these implementations just return an
6928/// error.
6929#[cfg(feature = "networks")]
6930#[cfg_attr(docsrs, doc(cfg(feature = "networks")))]
6931pub trait Networks: std::fmt::Debug + Send + Sync {
6932    /// Implements [super::client::Networks::add_peering].
6933    fn add_peering(
6934        &self,
6935        _req: crate::model::networks::AddPeeringRequest,
6936        _options: crate::RequestOptions,
6937    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6938    {
6939        gaxi::unimplemented::unimplemented_stub()
6940    }
6941
6942    /// Implements [super::client::Networks::cancel_request_remove_peering].
6943    fn cancel_request_remove_peering(
6944        &self,
6945        _req: crate::model::networks::CancelRequestRemovePeeringRequest,
6946        _options: crate::RequestOptions,
6947    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6948    {
6949        gaxi::unimplemented::unimplemented_stub()
6950    }
6951
6952    /// Implements [super::client::Networks::delete].
6953    fn delete(
6954        &self,
6955        _req: crate::model::networks::DeleteRequest,
6956        _options: crate::RequestOptions,
6957    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6958    {
6959        gaxi::unimplemented::unimplemented_stub()
6960    }
6961
6962    /// Implements [super::client::Networks::get].
6963    fn get(
6964        &self,
6965        _req: crate::model::networks::GetRequest,
6966        _options: crate::RequestOptions,
6967    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Network>>> + Send
6968    {
6969        gaxi::unimplemented::unimplemented_stub()
6970    }
6971
6972    /// Implements [super::client::Networks::get_effective_firewalls].
6973    fn get_effective_firewalls(
6974        &self,
6975        _req: crate::model::networks::GetEffectiveFirewallsRequest,
6976        _options: crate::RequestOptions,
6977    ) -> impl std::future::Future<
6978        Output = crate::Result<
6979            crate::Response<crate::model::NetworksGetEffectiveFirewallsResponse>,
6980        >,
6981    > + Send {
6982        gaxi::unimplemented::unimplemented_stub()
6983    }
6984
6985    /// Implements [super::client::Networks::insert].
6986    fn insert(
6987        &self,
6988        _req: crate::model::networks::InsertRequest,
6989        _options: crate::RequestOptions,
6990    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
6991    {
6992        gaxi::unimplemented::unimplemented_stub()
6993    }
6994
6995    /// Implements [super::client::Networks::list].
6996    fn list(
6997        &self,
6998        _req: crate::model::networks::ListRequest,
6999        _options: crate::RequestOptions,
7000    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NetworkList>>>
7001    + Send {
7002        gaxi::unimplemented::unimplemented_stub()
7003    }
7004
7005    /// Implements [super::client::Networks::list_peering_routes].
7006    fn list_peering_routes(
7007        &self,
7008        _req: crate::model::networks::ListPeeringRoutesRequest,
7009        _options: crate::RequestOptions,
7010    ) -> impl std::future::Future<
7011        Output = crate::Result<crate::Response<crate::model::ExchangedPeeringRoutesList>>,
7012    > + Send {
7013        gaxi::unimplemented::unimplemented_stub()
7014    }
7015
7016    /// Implements [super::client::Networks::patch].
7017    fn patch(
7018        &self,
7019        _req: crate::model::networks::PatchRequest,
7020        _options: crate::RequestOptions,
7021    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7022    {
7023        gaxi::unimplemented::unimplemented_stub()
7024    }
7025
7026    /// Implements [super::client::Networks::remove_peering].
7027    fn remove_peering(
7028        &self,
7029        _req: crate::model::networks::RemovePeeringRequest,
7030        _options: crate::RequestOptions,
7031    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7032    {
7033        gaxi::unimplemented::unimplemented_stub()
7034    }
7035
7036    /// Implements [super::client::Networks::request_remove_peering].
7037    fn request_remove_peering(
7038        &self,
7039        _req: crate::model::networks::RequestRemovePeeringRequest,
7040        _options: crate::RequestOptions,
7041    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7042    {
7043        gaxi::unimplemented::unimplemented_stub()
7044    }
7045
7046    /// Implements [super::client::Networks::switch_to_custom_mode].
7047    fn switch_to_custom_mode(
7048        &self,
7049        _req: crate::model::networks::SwitchToCustomModeRequest,
7050        _options: crate::RequestOptions,
7051    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7052    {
7053        gaxi::unimplemented::unimplemented_stub()
7054    }
7055
7056    /// Implements [super::client::Networks::update_peering].
7057    fn update_peering(
7058        &self,
7059        _req: crate::model::networks::UpdatePeeringRequest,
7060        _options: crate::RequestOptions,
7061    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7062    {
7063        gaxi::unimplemented::unimplemented_stub()
7064    }
7065
7066    /// Implements [super::client::Networks::get_operation].
7067    fn get_operation(
7068        &self,
7069        _req: crate::model::global_operations::GetRequest,
7070        _options: crate::RequestOptions,
7071    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7072    {
7073        gaxi::unimplemented::unimplemented_stub()
7074    }
7075
7076    /// Returns the polling error policy.
7077    ///
7078    /// When mocking, this method is typically irrelevant. Do not try to verify
7079    /// it is called by your mocks.
7080    fn get_polling_error_policy(
7081        &self,
7082        _options: &crate::RequestOptions,
7083    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7084        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7085    }
7086
7087    /// Returns the polling backoff policy.
7088    ///
7089    /// When mocking, this method is typically irrelevant. Do not try to verify
7090    /// it is called by your mocks.
7091    fn get_polling_backoff_policy(
7092        &self,
7093        _options: &crate::RequestOptions,
7094    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7095        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7096    }
7097
7098    #[doc(hidden)]
7099    /// Returns the poller options.
7100    ///
7101    /// When mocking, this method is typically irrelevant. Do not try to verify
7102    /// it is called by your mocks.
7103    fn get_poller_options(
7104        &self,
7105        _options: &crate::RequestOptions,
7106    ) -> google_cloud_lro::PollerOptions {
7107        google_cloud_lro::PollerOptions::default()
7108    }
7109}
7110
7111/// Defines the trait used to implement [super::client::NodeGroups].
7112///
7113/// Application developers may need to implement this trait to mock
7114/// `client::NodeGroups`.  In other use-cases, application developers only
7115/// use `client::NodeGroups` and need not be concerned with this trait or
7116/// its implementations.
7117///
7118/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7119/// too. To avoid breaking applications the trait provides a default
7120/// implementation of each method. Most of these implementations just return an
7121/// error.
7122#[cfg(feature = "node-groups")]
7123#[cfg_attr(docsrs, doc(cfg(feature = "node-groups")))]
7124pub trait NodeGroups: std::fmt::Debug + Send + Sync {
7125    /// Implements [super::client::NodeGroups::add_nodes].
7126    fn add_nodes(
7127        &self,
7128        _req: crate::model::node_groups::AddNodesRequest,
7129        _options: crate::RequestOptions,
7130    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7131    {
7132        gaxi::unimplemented::unimplemented_stub()
7133    }
7134
7135    /// Implements [super::client::NodeGroups::aggregated_list].
7136    fn aggregated_list(
7137        &self,
7138        _req: crate::model::node_groups::AggregatedListRequest,
7139        _options: crate::RequestOptions,
7140    ) -> impl std::future::Future<
7141        Output = crate::Result<crate::Response<crate::model::NodeGroupAggregatedList>>,
7142    > + Send {
7143        gaxi::unimplemented::unimplemented_stub()
7144    }
7145
7146    /// Implements [super::client::NodeGroups::delete].
7147    fn delete(
7148        &self,
7149        _req: crate::model::node_groups::DeleteRequest,
7150        _options: crate::RequestOptions,
7151    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7152    {
7153        gaxi::unimplemented::unimplemented_stub()
7154    }
7155
7156    /// Implements [super::client::NodeGroups::delete_nodes].
7157    fn delete_nodes(
7158        &self,
7159        _req: crate::model::node_groups::DeleteNodesRequest,
7160        _options: crate::RequestOptions,
7161    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7162    {
7163        gaxi::unimplemented::unimplemented_stub()
7164    }
7165
7166    /// Implements [super::client::NodeGroups::get].
7167    fn get(
7168        &self,
7169        _req: crate::model::node_groups::GetRequest,
7170        _options: crate::RequestOptions,
7171    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NodeGroup>>> + Send
7172    {
7173        gaxi::unimplemented::unimplemented_stub()
7174    }
7175
7176    /// Implements [super::client::NodeGroups::get_iam_policy].
7177    fn get_iam_policy(
7178        &self,
7179        _req: crate::model::node_groups::GetIamPolicyRequest,
7180        _options: crate::RequestOptions,
7181    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7182    {
7183        gaxi::unimplemented::unimplemented_stub()
7184    }
7185
7186    /// Implements [super::client::NodeGroups::insert].
7187    fn insert(
7188        &self,
7189        _req: crate::model::node_groups::InsertRequest,
7190        _options: crate::RequestOptions,
7191    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7192    {
7193        gaxi::unimplemented::unimplemented_stub()
7194    }
7195
7196    /// Implements [super::client::NodeGroups::list].
7197    fn list(
7198        &self,
7199        _req: crate::model::node_groups::ListRequest,
7200        _options: crate::RequestOptions,
7201    ) -> impl std::future::Future<
7202        Output = crate::Result<crate::Response<crate::model::NodeGroupList>>,
7203    > + Send {
7204        gaxi::unimplemented::unimplemented_stub()
7205    }
7206
7207    /// Implements [super::client::NodeGroups::list_nodes].
7208    fn list_nodes(
7209        &self,
7210        _req: crate::model::node_groups::ListNodesRequest,
7211        _options: crate::RequestOptions,
7212    ) -> impl std::future::Future<
7213        Output = crate::Result<crate::Response<crate::model::NodeGroupsListNodes>>,
7214    > + Send {
7215        gaxi::unimplemented::unimplemented_stub()
7216    }
7217
7218    /// Implements [super::client::NodeGroups::patch].
7219    fn patch(
7220        &self,
7221        _req: crate::model::node_groups::PatchRequest,
7222        _options: crate::RequestOptions,
7223    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7224    {
7225        gaxi::unimplemented::unimplemented_stub()
7226    }
7227
7228    /// Implements [super::client::NodeGroups::perform_maintenance].
7229    fn perform_maintenance(
7230        &self,
7231        _req: crate::model::node_groups::PerformMaintenanceRequest,
7232        _options: crate::RequestOptions,
7233    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7234    {
7235        gaxi::unimplemented::unimplemented_stub()
7236    }
7237
7238    /// Implements [super::client::NodeGroups::set_iam_policy].
7239    fn set_iam_policy(
7240        &self,
7241        _req: crate::model::node_groups::SetIamPolicyRequest,
7242        _options: crate::RequestOptions,
7243    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7244    {
7245        gaxi::unimplemented::unimplemented_stub()
7246    }
7247
7248    /// Implements [super::client::NodeGroups::set_node_template].
7249    fn set_node_template(
7250        &self,
7251        _req: crate::model::node_groups::SetNodeTemplateRequest,
7252        _options: crate::RequestOptions,
7253    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7254    {
7255        gaxi::unimplemented::unimplemented_stub()
7256    }
7257
7258    /// Implements [super::client::NodeGroups::simulate_maintenance_event].
7259    fn simulate_maintenance_event(
7260        &self,
7261        _req: crate::model::node_groups::SimulateMaintenanceEventRequest,
7262        _options: crate::RequestOptions,
7263    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7264    {
7265        gaxi::unimplemented::unimplemented_stub()
7266    }
7267
7268    /// Implements [super::client::NodeGroups::test_iam_permissions].
7269    fn test_iam_permissions(
7270        &self,
7271        _req: crate::model::node_groups::TestIamPermissionsRequest,
7272        _options: crate::RequestOptions,
7273    ) -> impl std::future::Future<
7274        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7275    > + Send {
7276        gaxi::unimplemented::unimplemented_stub()
7277    }
7278
7279    /// Implements [super::client::NodeGroups::get_operation].
7280    fn get_operation(
7281        &self,
7282        _req: crate::model::zone_operations::GetRequest,
7283        _options: crate::RequestOptions,
7284    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7285    {
7286        gaxi::unimplemented::unimplemented_stub()
7287    }
7288
7289    /// Returns the polling error policy.
7290    ///
7291    /// When mocking, this method is typically irrelevant. Do not try to verify
7292    /// it is called by your mocks.
7293    fn get_polling_error_policy(
7294        &self,
7295        _options: &crate::RequestOptions,
7296    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7297        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7298    }
7299
7300    /// Returns the polling backoff policy.
7301    ///
7302    /// When mocking, this method is typically irrelevant. Do not try to verify
7303    /// it is called by your mocks.
7304    fn get_polling_backoff_policy(
7305        &self,
7306        _options: &crate::RequestOptions,
7307    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7308        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7309    }
7310
7311    #[doc(hidden)]
7312    /// Returns the poller options.
7313    ///
7314    /// When mocking, this method is typically irrelevant. Do not try to verify
7315    /// it is called by your mocks.
7316    fn get_poller_options(
7317        &self,
7318        _options: &crate::RequestOptions,
7319    ) -> google_cloud_lro::PollerOptions {
7320        google_cloud_lro::PollerOptions::default()
7321    }
7322}
7323
7324/// Defines the trait used to implement [super::client::NodeTemplates].
7325///
7326/// Application developers may need to implement this trait to mock
7327/// `client::NodeTemplates`.  In other use-cases, application developers only
7328/// use `client::NodeTemplates` and need not be concerned with this trait or
7329/// its implementations.
7330///
7331/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7332/// too. To avoid breaking applications the trait provides a default
7333/// implementation of each method. Most of these implementations just return an
7334/// error.
7335#[cfg(feature = "node-templates")]
7336#[cfg_attr(docsrs, doc(cfg(feature = "node-templates")))]
7337pub trait NodeTemplates: std::fmt::Debug + Send + Sync {
7338    /// Implements [super::client::NodeTemplates::aggregated_list].
7339    fn aggregated_list(
7340        &self,
7341        _req: crate::model::node_templates::AggregatedListRequest,
7342        _options: crate::RequestOptions,
7343    ) -> impl std::future::Future<
7344        Output = crate::Result<crate::Response<crate::model::NodeTemplateAggregatedList>>,
7345    > + Send {
7346        gaxi::unimplemented::unimplemented_stub()
7347    }
7348
7349    /// Implements [super::client::NodeTemplates::delete].
7350    fn delete(
7351        &self,
7352        _req: crate::model::node_templates::DeleteRequest,
7353        _options: crate::RequestOptions,
7354    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7355    {
7356        gaxi::unimplemented::unimplemented_stub()
7357    }
7358
7359    /// Implements [super::client::NodeTemplates::get].
7360    fn get(
7361        &self,
7362        _req: crate::model::node_templates::GetRequest,
7363        _options: crate::RequestOptions,
7364    ) -> impl std::future::Future<
7365        Output = crate::Result<crate::Response<crate::model::NodeTemplate>>,
7366    > + Send {
7367        gaxi::unimplemented::unimplemented_stub()
7368    }
7369
7370    /// Implements [super::client::NodeTemplates::get_iam_policy].
7371    fn get_iam_policy(
7372        &self,
7373        _req: crate::model::node_templates::GetIamPolicyRequest,
7374        _options: crate::RequestOptions,
7375    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7376    {
7377        gaxi::unimplemented::unimplemented_stub()
7378    }
7379
7380    /// Implements [super::client::NodeTemplates::insert].
7381    fn insert(
7382        &self,
7383        _req: crate::model::node_templates::InsertRequest,
7384        _options: crate::RequestOptions,
7385    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7386    {
7387        gaxi::unimplemented::unimplemented_stub()
7388    }
7389
7390    /// Implements [super::client::NodeTemplates::list].
7391    fn list(
7392        &self,
7393        _req: crate::model::node_templates::ListRequest,
7394        _options: crate::RequestOptions,
7395    ) -> impl std::future::Future<
7396        Output = crate::Result<crate::Response<crate::model::NodeTemplateList>>,
7397    > + Send {
7398        gaxi::unimplemented::unimplemented_stub()
7399    }
7400
7401    /// Implements [super::client::NodeTemplates::set_iam_policy].
7402    fn set_iam_policy(
7403        &self,
7404        _req: crate::model::node_templates::SetIamPolicyRequest,
7405        _options: crate::RequestOptions,
7406    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
7407    {
7408        gaxi::unimplemented::unimplemented_stub()
7409    }
7410
7411    /// Implements [super::client::NodeTemplates::test_iam_permissions].
7412    fn test_iam_permissions(
7413        &self,
7414        _req: crate::model::node_templates::TestIamPermissionsRequest,
7415        _options: crate::RequestOptions,
7416    ) -> impl std::future::Future<
7417        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7418    > + Send {
7419        gaxi::unimplemented::unimplemented_stub()
7420    }
7421
7422    /// Implements [super::client::NodeTemplates::get_operation].
7423    fn get_operation(
7424        &self,
7425        _req: crate::model::region_operations::GetRequest,
7426        _options: crate::RequestOptions,
7427    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7428    {
7429        gaxi::unimplemented::unimplemented_stub()
7430    }
7431
7432    /// Returns the polling error policy.
7433    ///
7434    /// When mocking, this method is typically irrelevant. Do not try to verify
7435    /// it is called by your mocks.
7436    fn get_polling_error_policy(
7437        &self,
7438        _options: &crate::RequestOptions,
7439    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7440        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7441    }
7442
7443    /// Returns the polling backoff policy.
7444    ///
7445    /// When mocking, this method is typically irrelevant. Do not try to verify
7446    /// it is called by your mocks.
7447    fn get_polling_backoff_policy(
7448        &self,
7449        _options: &crate::RequestOptions,
7450    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7451        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7452    }
7453
7454    #[doc(hidden)]
7455    /// Returns the poller options.
7456    ///
7457    /// When mocking, this method is typically irrelevant. Do not try to verify
7458    /// it is called by your mocks.
7459    fn get_poller_options(
7460        &self,
7461        _options: &crate::RequestOptions,
7462    ) -> google_cloud_lro::PollerOptions {
7463        google_cloud_lro::PollerOptions::default()
7464    }
7465}
7466
7467/// Defines the trait used to implement [super::client::NodeTypes].
7468///
7469/// Application developers may need to implement this trait to mock
7470/// `client::NodeTypes`.  In other use-cases, application developers only
7471/// use `client::NodeTypes` and need not be concerned with this trait or
7472/// its implementations.
7473///
7474/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7475/// too. To avoid breaking applications the trait provides a default
7476/// implementation of each method. Most of these implementations just return an
7477/// error.
7478#[cfg(feature = "node-types")]
7479#[cfg_attr(docsrs, doc(cfg(feature = "node-types")))]
7480pub trait NodeTypes: std::fmt::Debug + Send + Sync {
7481    /// Implements [super::client::NodeTypes::aggregated_list].
7482    fn aggregated_list(
7483        &self,
7484        _req: crate::model::node_types::AggregatedListRequest,
7485        _options: crate::RequestOptions,
7486    ) -> impl std::future::Future<
7487        Output = crate::Result<crate::Response<crate::model::NodeTypeAggregatedList>>,
7488    > + Send {
7489        gaxi::unimplemented::unimplemented_stub()
7490    }
7491
7492    /// Implements [super::client::NodeTypes::get].
7493    fn get(
7494        &self,
7495        _req: crate::model::node_types::GetRequest,
7496        _options: crate::RequestOptions,
7497    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::NodeType>>> + Send
7498    {
7499        gaxi::unimplemented::unimplemented_stub()
7500    }
7501
7502    /// Implements [super::client::NodeTypes::list].
7503    fn list(
7504        &self,
7505        _req: crate::model::node_types::ListRequest,
7506        _options: crate::RequestOptions,
7507    ) -> impl std::future::Future<
7508        Output = crate::Result<crate::Response<crate::model::NodeTypeList>>,
7509    > + Send {
7510        gaxi::unimplemented::unimplemented_stub()
7511    }
7512}
7513
7514/// Defines the trait used to implement [super::client::OrganizationSecurityPolicies].
7515///
7516/// Application developers may need to implement this trait to mock
7517/// `client::OrganizationSecurityPolicies`.  In other use-cases, application developers only
7518/// use `client::OrganizationSecurityPolicies` and need not be concerned with this trait or
7519/// its implementations.
7520///
7521/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7522/// too. To avoid breaking applications the trait provides a default
7523/// implementation of each method. Most of these implementations just return an
7524/// error.
7525#[cfg(feature = "organization-security-policies")]
7526#[cfg_attr(docsrs, doc(cfg(feature = "organization-security-policies")))]
7527pub trait OrganizationSecurityPolicies: std::fmt::Debug + Send + Sync {
7528    /// Implements [super::client::OrganizationSecurityPolicies::add_association].
7529    fn add_association(
7530        &self,
7531        _req: crate::model::organization_security_policies::AddAssociationRequest,
7532        _options: crate::RequestOptions,
7533    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7534    {
7535        gaxi::unimplemented::unimplemented_stub()
7536    }
7537
7538    /// Implements [super::client::OrganizationSecurityPolicies::add_rule].
7539    fn add_rule(
7540        &self,
7541        _req: crate::model::organization_security_policies::AddRuleRequest,
7542        _options: crate::RequestOptions,
7543    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7544    {
7545        gaxi::unimplemented::unimplemented_stub()
7546    }
7547
7548    /// Implements [super::client::OrganizationSecurityPolicies::copy_rules].
7549    fn copy_rules(
7550        &self,
7551        _req: crate::model::organization_security_policies::CopyRulesRequest,
7552        _options: crate::RequestOptions,
7553    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7554    {
7555        gaxi::unimplemented::unimplemented_stub()
7556    }
7557
7558    /// Implements [super::client::OrganizationSecurityPolicies::delete].
7559    fn delete(
7560        &self,
7561        _req: crate::model::organization_security_policies::DeleteRequest,
7562        _options: crate::RequestOptions,
7563    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7564    {
7565        gaxi::unimplemented::unimplemented_stub()
7566    }
7567
7568    /// Implements [super::client::OrganizationSecurityPolicies::get].
7569    fn get(
7570        &self,
7571        _req: crate::model::organization_security_policies::GetRequest,
7572        _options: crate::RequestOptions,
7573    ) -> impl std::future::Future<
7574        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
7575    > + Send {
7576        gaxi::unimplemented::unimplemented_stub()
7577    }
7578
7579    /// Implements [super::client::OrganizationSecurityPolicies::get_association].
7580    fn get_association(
7581        &self,
7582        _req: crate::model::organization_security_policies::GetAssociationRequest,
7583        _options: crate::RequestOptions,
7584    ) -> impl std::future::Future<
7585        Output = crate::Result<crate::Response<crate::model::SecurityPolicyAssociation>>,
7586    > + Send {
7587        gaxi::unimplemented::unimplemented_stub()
7588    }
7589
7590    /// Implements [super::client::OrganizationSecurityPolicies::get_rule].
7591    fn get_rule(
7592        &self,
7593        _req: crate::model::organization_security_policies::GetRuleRequest,
7594        _options: crate::RequestOptions,
7595    ) -> impl std::future::Future<
7596        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
7597    > + Send {
7598        gaxi::unimplemented::unimplemented_stub()
7599    }
7600
7601    /// Implements [super::client::OrganizationSecurityPolicies::insert].
7602    fn insert(
7603        &self,
7604        _req: crate::model::organization_security_policies::InsertRequest,
7605        _options: crate::RequestOptions,
7606    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7607    {
7608        gaxi::unimplemented::unimplemented_stub()
7609    }
7610
7611    /// Implements [super::client::OrganizationSecurityPolicies::list].
7612    fn list(
7613        &self,
7614        _req: crate::model::organization_security_policies::ListRequest,
7615        _options: crate::RequestOptions,
7616    ) -> impl std::future::Future<
7617        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
7618    > + Send {
7619        gaxi::unimplemented::unimplemented_stub()
7620    }
7621
7622    /// Implements [super::client::OrganizationSecurityPolicies::list_associations].
7623    fn list_associations(
7624        &self,
7625        _req: crate::model::organization_security_policies::ListAssociationsRequest,
7626        _options: crate::RequestOptions,
7627    ) -> impl std::future::Future<
7628        Output = crate::Result<
7629            crate::Response<crate::model::OrganizationSecurityPoliciesListAssociationsResponse>,
7630        >,
7631    > + Send {
7632        gaxi::unimplemented::unimplemented_stub()
7633    }
7634
7635    /// Implements [super::client::OrganizationSecurityPolicies::list_preconfigured_expression_sets].
7636    fn list_preconfigured_expression_sets(
7637        &self,
7638        _req: crate::model::organization_security_policies::ListPreconfiguredExpressionSetsRequest,
7639        _options: crate::RequestOptions,
7640    ) -> impl std::future::Future<
7641        Output = crate::Result<
7642            crate::Response<crate::model::SecurityPoliciesListPreconfiguredExpressionSetsResponse>,
7643        >,
7644    > + Send {
7645        gaxi::unimplemented::unimplemented_stub()
7646    }
7647
7648    /// Implements [super::client::OrganizationSecurityPolicies::r#move].
7649    fn r#move(
7650        &self,
7651        _req: crate::model::organization_security_policies::MoveRequest,
7652        _options: crate::RequestOptions,
7653    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7654    {
7655        gaxi::unimplemented::unimplemented_stub()
7656    }
7657
7658    /// Implements [super::client::OrganizationSecurityPolicies::patch].
7659    fn patch(
7660        &self,
7661        _req: crate::model::organization_security_policies::PatchRequest,
7662        _options: crate::RequestOptions,
7663    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7664    {
7665        gaxi::unimplemented::unimplemented_stub()
7666    }
7667
7668    /// Implements [super::client::OrganizationSecurityPolicies::patch_rule].
7669    fn patch_rule(
7670        &self,
7671        _req: crate::model::organization_security_policies::PatchRuleRequest,
7672        _options: crate::RequestOptions,
7673    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7674    {
7675        gaxi::unimplemented::unimplemented_stub()
7676    }
7677
7678    /// Implements [super::client::OrganizationSecurityPolicies::remove_association].
7679    fn remove_association(
7680        &self,
7681        _req: crate::model::organization_security_policies::RemoveAssociationRequest,
7682        _options: crate::RequestOptions,
7683    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7684    {
7685        gaxi::unimplemented::unimplemented_stub()
7686    }
7687
7688    /// Implements [super::client::OrganizationSecurityPolicies::remove_rule].
7689    fn remove_rule(
7690        &self,
7691        _req: crate::model::organization_security_policies::RemoveRuleRequest,
7692        _options: crate::RequestOptions,
7693    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7694    {
7695        gaxi::unimplemented::unimplemented_stub()
7696    }
7697
7698    /// Implements [super::client::OrganizationSecurityPolicies::get_operation].
7699    fn get_operation(
7700        &self,
7701        _req: crate::model::global_organization_operations::GetRequest,
7702        _options: crate::RequestOptions,
7703    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7704    {
7705        gaxi::unimplemented::unimplemented_stub()
7706    }
7707
7708    /// Returns the polling error policy.
7709    ///
7710    /// When mocking, this method is typically irrelevant. Do not try to verify
7711    /// it is called by your mocks.
7712    fn get_polling_error_policy(
7713        &self,
7714        _options: &crate::RequestOptions,
7715    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7716        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7717    }
7718
7719    /// Returns the polling backoff policy.
7720    ///
7721    /// When mocking, this method is typically irrelevant. Do not try to verify
7722    /// it is called by your mocks.
7723    fn get_polling_backoff_policy(
7724        &self,
7725        _options: &crate::RequestOptions,
7726    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7727        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7728    }
7729
7730    #[doc(hidden)]
7731    /// Returns the poller options.
7732    ///
7733    /// When mocking, this method is typically irrelevant. Do not try to verify
7734    /// it is called by your mocks.
7735    fn get_poller_options(
7736        &self,
7737        _options: &crate::RequestOptions,
7738    ) -> google_cloud_lro::PollerOptions {
7739        google_cloud_lro::PollerOptions::default()
7740    }
7741}
7742
7743/// Defines the trait used to implement [super::client::PacketMirrorings].
7744///
7745/// Application developers may need to implement this trait to mock
7746/// `client::PacketMirrorings`.  In other use-cases, application developers only
7747/// use `client::PacketMirrorings` and need not be concerned with this trait or
7748/// its implementations.
7749///
7750/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7751/// too. To avoid breaking applications the trait provides a default
7752/// implementation of each method. Most of these implementations just return an
7753/// error.
7754#[cfg(feature = "packet-mirrorings")]
7755#[cfg_attr(docsrs, doc(cfg(feature = "packet-mirrorings")))]
7756pub trait PacketMirrorings: std::fmt::Debug + Send + Sync {
7757    /// Implements [super::client::PacketMirrorings::aggregated_list].
7758    fn aggregated_list(
7759        &self,
7760        _req: crate::model::packet_mirrorings::AggregatedListRequest,
7761        _options: crate::RequestOptions,
7762    ) -> impl std::future::Future<
7763        Output = crate::Result<crate::Response<crate::model::PacketMirroringAggregatedList>>,
7764    > + Send {
7765        gaxi::unimplemented::unimplemented_stub()
7766    }
7767
7768    /// Implements [super::client::PacketMirrorings::delete].
7769    fn delete(
7770        &self,
7771        _req: crate::model::packet_mirrorings::DeleteRequest,
7772        _options: crate::RequestOptions,
7773    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7774    {
7775        gaxi::unimplemented::unimplemented_stub()
7776    }
7777
7778    /// Implements [super::client::PacketMirrorings::get].
7779    fn get(
7780        &self,
7781        _req: crate::model::packet_mirrorings::GetRequest,
7782        _options: crate::RequestOptions,
7783    ) -> impl std::future::Future<
7784        Output = crate::Result<crate::Response<crate::model::PacketMirroring>>,
7785    > + Send {
7786        gaxi::unimplemented::unimplemented_stub()
7787    }
7788
7789    /// Implements [super::client::PacketMirrorings::insert].
7790    fn insert(
7791        &self,
7792        _req: crate::model::packet_mirrorings::InsertRequest,
7793        _options: crate::RequestOptions,
7794    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7795    {
7796        gaxi::unimplemented::unimplemented_stub()
7797    }
7798
7799    /// Implements [super::client::PacketMirrorings::list].
7800    fn list(
7801        &self,
7802        _req: crate::model::packet_mirrorings::ListRequest,
7803        _options: crate::RequestOptions,
7804    ) -> impl std::future::Future<
7805        Output = crate::Result<crate::Response<crate::model::PacketMirroringList>>,
7806    > + Send {
7807        gaxi::unimplemented::unimplemented_stub()
7808    }
7809
7810    /// Implements [super::client::PacketMirrorings::patch].
7811    fn patch(
7812        &self,
7813        _req: crate::model::packet_mirrorings::PatchRequest,
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::PacketMirrorings::test_iam_permissions].
7821    fn test_iam_permissions(
7822        &self,
7823        _req: crate::model::packet_mirrorings::TestIamPermissionsRequest,
7824        _options: crate::RequestOptions,
7825    ) -> impl std::future::Future<
7826        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
7827    > + Send {
7828        gaxi::unimplemented::unimplemented_stub()
7829    }
7830
7831    /// Implements [super::client::PacketMirrorings::get_operation].
7832    fn get_operation(
7833        &self,
7834        _req: crate::model::region_operations::GetRequest,
7835        _options: crate::RequestOptions,
7836    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7837    {
7838        gaxi::unimplemented::unimplemented_stub()
7839    }
7840
7841    /// Returns the polling error policy.
7842    ///
7843    /// When mocking, this method is typically irrelevant. Do not try to verify
7844    /// it is called by your mocks.
7845    fn get_polling_error_policy(
7846        &self,
7847        _options: &crate::RequestOptions,
7848    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7849        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7850    }
7851
7852    /// Returns the polling backoff policy.
7853    ///
7854    /// When mocking, this method is typically irrelevant. Do not try to verify
7855    /// it is called by your mocks.
7856    fn get_polling_backoff_policy(
7857        &self,
7858        _options: &crate::RequestOptions,
7859    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7860        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7861    }
7862
7863    #[doc(hidden)]
7864    /// Returns the poller options.
7865    ///
7866    /// When mocking, this method is typically irrelevant. Do not try to verify
7867    /// it is called by your mocks.
7868    fn get_poller_options(
7869        &self,
7870        _options: &crate::RequestOptions,
7871    ) -> google_cloud_lro::PollerOptions {
7872        google_cloud_lro::PollerOptions::default()
7873    }
7874}
7875
7876/// Defines the trait used to implement [super::client::PreviewFeatures].
7877///
7878/// Application developers may need to implement this trait to mock
7879/// `client::PreviewFeatures`.  In other use-cases, application developers only
7880/// use `client::PreviewFeatures` and need not be concerned with this trait or
7881/// its implementations.
7882///
7883/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7884/// too. To avoid breaking applications the trait provides a default
7885/// implementation of each method. Most of these implementations just return an
7886/// error.
7887#[cfg(feature = "preview-features")]
7888#[cfg_attr(docsrs, doc(cfg(feature = "preview-features")))]
7889pub trait PreviewFeatures: std::fmt::Debug + Send + Sync {
7890    /// Implements [super::client::PreviewFeatures::get].
7891    fn get(
7892        &self,
7893        _req: crate::model::preview_features::GetRequest,
7894        _options: crate::RequestOptions,
7895    ) -> impl std::future::Future<
7896        Output = crate::Result<crate::Response<crate::model::PreviewFeature>>,
7897    > + Send {
7898        gaxi::unimplemented::unimplemented_stub()
7899    }
7900
7901    /// Implements [super::client::PreviewFeatures::list].
7902    fn list(
7903        &self,
7904        _req: crate::model::preview_features::ListRequest,
7905        _options: crate::RequestOptions,
7906    ) -> impl std::future::Future<
7907        Output = crate::Result<crate::Response<crate::model::PreviewFeatureList>>,
7908    > + Send {
7909        gaxi::unimplemented::unimplemented_stub()
7910    }
7911
7912    /// Implements [super::client::PreviewFeatures::update].
7913    fn update(
7914        &self,
7915        _req: crate::model::preview_features::UpdateRequest,
7916        _options: crate::RequestOptions,
7917    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7918    {
7919        gaxi::unimplemented::unimplemented_stub()
7920    }
7921
7922    /// Implements [super::client::PreviewFeatures::get_operation].
7923    fn get_operation(
7924        &self,
7925        _req: crate::model::global_operations::GetRequest,
7926        _options: crate::RequestOptions,
7927    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7928    {
7929        gaxi::unimplemented::unimplemented_stub()
7930    }
7931
7932    /// Returns the polling error policy.
7933    ///
7934    /// When mocking, this method is typically irrelevant. Do not try to verify
7935    /// it is called by your mocks.
7936    fn get_polling_error_policy(
7937        &self,
7938        _options: &crate::RequestOptions,
7939    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
7940        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
7941    }
7942
7943    /// Returns the polling backoff policy.
7944    ///
7945    /// When mocking, this method is typically irrelevant. Do not try to verify
7946    /// it is called by your mocks.
7947    fn get_polling_backoff_policy(
7948        &self,
7949        _options: &crate::RequestOptions,
7950    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
7951        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
7952    }
7953
7954    #[doc(hidden)]
7955    /// Returns the poller options.
7956    ///
7957    /// When mocking, this method is typically irrelevant. Do not try to verify
7958    /// it is called by your mocks.
7959    fn get_poller_options(
7960        &self,
7961        _options: &crate::RequestOptions,
7962    ) -> google_cloud_lro::PollerOptions {
7963        google_cloud_lro::PollerOptions::default()
7964    }
7965}
7966
7967/// Defines the trait used to implement [super::client::Projects].
7968///
7969/// Application developers may need to implement this trait to mock
7970/// `client::Projects`.  In other use-cases, application developers only
7971/// use `client::Projects` and need not be concerned with this trait or
7972/// its implementations.
7973///
7974/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7975/// too. To avoid breaking applications the trait provides a default
7976/// implementation of each method. Most of these implementations just return an
7977/// error.
7978#[cfg(feature = "projects")]
7979#[cfg_attr(docsrs, doc(cfg(feature = "projects")))]
7980pub trait Projects: std::fmt::Debug + Send + Sync {
7981    /// Implements [super::client::Projects::disable_xpn_host].
7982    fn disable_xpn_host(
7983        &self,
7984        _req: crate::model::projects::DisableXpnHostRequest,
7985        _options: crate::RequestOptions,
7986    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7987    {
7988        gaxi::unimplemented::unimplemented_stub()
7989    }
7990
7991    /// Implements [super::client::Projects::disable_xpn_resource].
7992    fn disable_xpn_resource(
7993        &self,
7994        _req: crate::model::projects::DisableXpnResourceRequest,
7995        _options: crate::RequestOptions,
7996    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
7997    {
7998        gaxi::unimplemented::unimplemented_stub()
7999    }
8000
8001    /// Implements [super::client::Projects::enable_xpn_host].
8002    fn enable_xpn_host(
8003        &self,
8004        _req: crate::model::projects::EnableXpnHostRequest,
8005        _options: crate::RequestOptions,
8006    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8007    {
8008        gaxi::unimplemented::unimplemented_stub()
8009    }
8010
8011    /// Implements [super::client::Projects::enable_xpn_resource].
8012    fn enable_xpn_resource(
8013        &self,
8014        _req: crate::model::projects::EnableXpnResourceRequest,
8015        _options: crate::RequestOptions,
8016    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8017    {
8018        gaxi::unimplemented::unimplemented_stub()
8019    }
8020
8021    /// Implements [super::client::Projects::get].
8022    fn get(
8023        &self,
8024        _req: crate::model::projects::GetRequest,
8025        _options: crate::RequestOptions,
8026    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Project>>> + Send
8027    {
8028        gaxi::unimplemented::unimplemented_stub()
8029    }
8030
8031    /// Implements [super::client::Projects::get_xpn_host].
8032    fn get_xpn_host(
8033        &self,
8034        _req: crate::model::projects::GetXpnHostRequest,
8035        _options: crate::RequestOptions,
8036    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Project>>> + Send
8037    {
8038        gaxi::unimplemented::unimplemented_stub()
8039    }
8040
8041    /// Implements [super::client::Projects::get_xpn_resources].
8042    fn get_xpn_resources(
8043        &self,
8044        _req: crate::model::projects::GetXpnResourcesRequest,
8045        _options: crate::RequestOptions,
8046    ) -> impl std::future::Future<
8047        Output = crate::Result<crate::Response<crate::model::ProjectsGetXpnResources>>,
8048    > + Send {
8049        gaxi::unimplemented::unimplemented_stub()
8050    }
8051
8052    /// Implements [super::client::Projects::list_xpn_hosts].
8053    fn list_xpn_hosts(
8054        &self,
8055        _req: crate::model::projects::ListXpnHostsRequest,
8056        _options: crate::RequestOptions,
8057    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::XpnHostList>>>
8058    + Send {
8059        gaxi::unimplemented::unimplemented_stub()
8060    }
8061
8062    /// Implements [super::client::Projects::move_disk].
8063    fn move_disk(
8064        &self,
8065        _req: crate::model::projects::MoveDiskRequest,
8066        _options: crate::RequestOptions,
8067    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8068    {
8069        gaxi::unimplemented::unimplemented_stub()
8070    }
8071
8072    /// Implements [super::client::Projects::move_instance].
8073    fn move_instance(
8074        &self,
8075        _req: crate::model::projects::MoveInstanceRequest,
8076        _options: crate::RequestOptions,
8077    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8078    {
8079        gaxi::unimplemented::unimplemented_stub()
8080    }
8081
8082    /// Implements [super::client::Projects::set_cloud_armor_tier].
8083    fn set_cloud_armor_tier(
8084        &self,
8085        _req: crate::model::projects::SetCloudArmorTierRequest,
8086        _options: crate::RequestOptions,
8087    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8088    {
8089        gaxi::unimplemented::unimplemented_stub()
8090    }
8091
8092    /// Implements [super::client::Projects::set_common_instance_metadata].
8093    fn set_common_instance_metadata(
8094        &self,
8095        _req: crate::model::projects::SetCommonInstanceMetadataRequest,
8096        _options: crate::RequestOptions,
8097    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8098    {
8099        gaxi::unimplemented::unimplemented_stub()
8100    }
8101
8102    /// Implements [super::client::Projects::set_default_network_tier].
8103    fn set_default_network_tier(
8104        &self,
8105        _req: crate::model::projects::SetDefaultNetworkTierRequest,
8106        _options: crate::RequestOptions,
8107    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8108    {
8109        gaxi::unimplemented::unimplemented_stub()
8110    }
8111
8112    /// Implements [super::client::Projects::set_usage_export_bucket].
8113    fn set_usage_export_bucket(
8114        &self,
8115        _req: crate::model::projects::SetUsageExportBucketRequest,
8116        _options: crate::RequestOptions,
8117    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8118    {
8119        gaxi::unimplemented::unimplemented_stub()
8120    }
8121
8122    /// Implements [super::client::Projects::get_operation].
8123    fn get_operation(
8124        &self,
8125        _req: crate::model::global_operations::GetRequest,
8126        _options: crate::RequestOptions,
8127    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8128    {
8129        gaxi::unimplemented::unimplemented_stub()
8130    }
8131
8132    /// Returns the polling error policy.
8133    ///
8134    /// When mocking, this method is typically irrelevant. Do not try to verify
8135    /// it is called by your mocks.
8136    fn get_polling_error_policy(
8137        &self,
8138        _options: &crate::RequestOptions,
8139    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8140        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8141    }
8142
8143    /// Returns the polling backoff policy.
8144    ///
8145    /// When mocking, this method is typically irrelevant. Do not try to verify
8146    /// it is called by your mocks.
8147    fn get_polling_backoff_policy(
8148        &self,
8149        _options: &crate::RequestOptions,
8150    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8151        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8152    }
8153
8154    #[doc(hidden)]
8155    /// Returns the poller options.
8156    ///
8157    /// When mocking, this method is typically irrelevant. Do not try to verify
8158    /// it is called by your mocks.
8159    fn get_poller_options(
8160        &self,
8161        _options: &crate::RequestOptions,
8162    ) -> google_cloud_lro::PollerOptions {
8163        google_cloud_lro::PollerOptions::default()
8164    }
8165}
8166
8167/// Defines the trait used to implement [super::client::PublicAdvertisedPrefixes].
8168///
8169/// Application developers may need to implement this trait to mock
8170/// `client::PublicAdvertisedPrefixes`.  In other use-cases, application developers only
8171/// use `client::PublicAdvertisedPrefixes` and need not be concerned with this trait or
8172/// its implementations.
8173///
8174/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8175/// too. To avoid breaking applications the trait provides a default
8176/// implementation of each method. Most of these implementations just return an
8177/// error.
8178#[cfg(feature = "public-advertised-prefixes")]
8179#[cfg_attr(docsrs, doc(cfg(feature = "public-advertised-prefixes")))]
8180pub trait PublicAdvertisedPrefixes: std::fmt::Debug + Send + Sync {
8181    /// Implements [super::client::PublicAdvertisedPrefixes::announce].
8182    fn announce(
8183        &self,
8184        _req: crate::model::public_advertised_prefixes::AnnounceRequest,
8185        _options: crate::RequestOptions,
8186    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8187    {
8188        gaxi::unimplemented::unimplemented_stub()
8189    }
8190
8191    /// Implements [super::client::PublicAdvertisedPrefixes::delete].
8192    fn delete(
8193        &self,
8194        _req: crate::model::public_advertised_prefixes::DeleteRequest,
8195        _options: crate::RequestOptions,
8196    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8197    {
8198        gaxi::unimplemented::unimplemented_stub()
8199    }
8200
8201    /// Implements [super::client::PublicAdvertisedPrefixes::get].
8202    fn get(
8203        &self,
8204        _req: crate::model::public_advertised_prefixes::GetRequest,
8205        _options: crate::RequestOptions,
8206    ) -> impl std::future::Future<
8207        Output = crate::Result<crate::Response<crate::model::PublicAdvertisedPrefix>>,
8208    > + Send {
8209        gaxi::unimplemented::unimplemented_stub()
8210    }
8211
8212    /// Implements [super::client::PublicAdvertisedPrefixes::insert].
8213    fn insert(
8214        &self,
8215        _req: crate::model::public_advertised_prefixes::InsertRequest,
8216        _options: crate::RequestOptions,
8217    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8218    {
8219        gaxi::unimplemented::unimplemented_stub()
8220    }
8221
8222    /// Implements [super::client::PublicAdvertisedPrefixes::list].
8223    fn list(
8224        &self,
8225        _req: crate::model::public_advertised_prefixes::ListRequest,
8226        _options: crate::RequestOptions,
8227    ) -> impl std::future::Future<
8228        Output = crate::Result<crate::Response<crate::model::PublicAdvertisedPrefixList>>,
8229    > + Send {
8230        gaxi::unimplemented::unimplemented_stub()
8231    }
8232
8233    /// Implements [super::client::PublicAdvertisedPrefixes::patch].
8234    fn patch(
8235        &self,
8236        _req: crate::model::public_advertised_prefixes::PatchRequest,
8237        _options: crate::RequestOptions,
8238    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8239    {
8240        gaxi::unimplemented::unimplemented_stub()
8241    }
8242
8243    /// Implements [super::client::PublicAdvertisedPrefixes::withdraw].
8244    fn withdraw(
8245        &self,
8246        _req: crate::model::public_advertised_prefixes::WithdrawRequest,
8247        _options: crate::RequestOptions,
8248    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8249    {
8250        gaxi::unimplemented::unimplemented_stub()
8251    }
8252
8253    /// Implements [super::client::PublicAdvertisedPrefixes::get_operation].
8254    fn get_operation(
8255        &self,
8256        _req: crate::model::global_operations::GetRequest,
8257        _options: crate::RequestOptions,
8258    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8259    {
8260        gaxi::unimplemented::unimplemented_stub()
8261    }
8262
8263    /// Returns the polling error policy.
8264    ///
8265    /// When mocking, this method is typically irrelevant. Do not try to verify
8266    /// it is called by your mocks.
8267    fn get_polling_error_policy(
8268        &self,
8269        _options: &crate::RequestOptions,
8270    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8271        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8272    }
8273
8274    /// Returns the polling backoff policy.
8275    ///
8276    /// When mocking, this method is typically irrelevant. Do not try to verify
8277    /// it is called by your mocks.
8278    fn get_polling_backoff_policy(
8279        &self,
8280        _options: &crate::RequestOptions,
8281    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8282        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8283    }
8284
8285    #[doc(hidden)]
8286    /// Returns the poller options.
8287    ///
8288    /// When mocking, this method is typically irrelevant. Do not try to verify
8289    /// it is called by your mocks.
8290    fn get_poller_options(
8291        &self,
8292        _options: &crate::RequestOptions,
8293    ) -> google_cloud_lro::PollerOptions {
8294        google_cloud_lro::PollerOptions::default()
8295    }
8296}
8297
8298/// Defines the trait used to implement [super::client::PublicDelegatedPrefixes].
8299///
8300/// Application developers may need to implement this trait to mock
8301/// `client::PublicDelegatedPrefixes`.  In other use-cases, application developers only
8302/// use `client::PublicDelegatedPrefixes` and need not be concerned with this trait or
8303/// its implementations.
8304///
8305/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8306/// too. To avoid breaking applications the trait provides a default
8307/// implementation of each method. Most of these implementations just return an
8308/// error.
8309#[cfg(feature = "public-delegated-prefixes")]
8310#[cfg_attr(docsrs, doc(cfg(feature = "public-delegated-prefixes")))]
8311pub trait PublicDelegatedPrefixes: std::fmt::Debug + Send + Sync {
8312    /// Implements [super::client::PublicDelegatedPrefixes::aggregated_list].
8313    fn aggregated_list(
8314        &self,
8315        _req: crate::model::public_delegated_prefixes::AggregatedListRequest,
8316        _options: crate::RequestOptions,
8317    ) -> impl std::future::Future<
8318        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixAggregatedList>>,
8319    > + Send {
8320        gaxi::unimplemented::unimplemented_stub()
8321    }
8322
8323    /// Implements [super::client::PublicDelegatedPrefixes::announce].
8324    fn announce(
8325        &self,
8326        _req: crate::model::public_delegated_prefixes::AnnounceRequest,
8327        _options: crate::RequestOptions,
8328    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8329    {
8330        gaxi::unimplemented::unimplemented_stub()
8331    }
8332
8333    /// Implements [super::client::PublicDelegatedPrefixes::delete].
8334    fn delete(
8335        &self,
8336        _req: crate::model::public_delegated_prefixes::DeleteRequest,
8337        _options: crate::RequestOptions,
8338    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8339    {
8340        gaxi::unimplemented::unimplemented_stub()
8341    }
8342
8343    /// Implements [super::client::PublicDelegatedPrefixes::get].
8344    fn get(
8345        &self,
8346        _req: crate::model::public_delegated_prefixes::GetRequest,
8347        _options: crate::RequestOptions,
8348    ) -> impl std::future::Future<
8349        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefix>>,
8350    > + Send {
8351        gaxi::unimplemented::unimplemented_stub()
8352    }
8353
8354    /// Implements [super::client::PublicDelegatedPrefixes::insert].
8355    fn insert(
8356        &self,
8357        _req: crate::model::public_delegated_prefixes::InsertRequest,
8358        _options: crate::RequestOptions,
8359    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8360    {
8361        gaxi::unimplemented::unimplemented_stub()
8362    }
8363
8364    /// Implements [super::client::PublicDelegatedPrefixes::list].
8365    fn list(
8366        &self,
8367        _req: crate::model::public_delegated_prefixes::ListRequest,
8368        _options: crate::RequestOptions,
8369    ) -> impl std::future::Future<
8370        Output = crate::Result<crate::Response<crate::model::PublicDelegatedPrefixList>>,
8371    > + Send {
8372        gaxi::unimplemented::unimplemented_stub()
8373    }
8374
8375    /// Implements [super::client::PublicDelegatedPrefixes::patch].
8376    fn patch(
8377        &self,
8378        _req: crate::model::public_delegated_prefixes::PatchRequest,
8379        _options: crate::RequestOptions,
8380    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8381    {
8382        gaxi::unimplemented::unimplemented_stub()
8383    }
8384
8385    /// Implements [super::client::PublicDelegatedPrefixes::withdraw].
8386    fn withdraw(
8387        &self,
8388        _req: crate::model::public_delegated_prefixes::WithdrawRequest,
8389        _options: crate::RequestOptions,
8390    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8391    {
8392        gaxi::unimplemented::unimplemented_stub()
8393    }
8394
8395    /// Implements [super::client::PublicDelegatedPrefixes::get_operation].
8396    fn get_operation(
8397        &self,
8398        _req: crate::model::region_operations::GetRequest,
8399        _options: crate::RequestOptions,
8400    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8401    {
8402        gaxi::unimplemented::unimplemented_stub()
8403    }
8404
8405    /// Returns the polling error policy.
8406    ///
8407    /// When mocking, this method is typically irrelevant. Do not try to verify
8408    /// it is called by your mocks.
8409    fn get_polling_error_policy(
8410        &self,
8411        _options: &crate::RequestOptions,
8412    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8413        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8414    }
8415
8416    /// Returns the polling backoff policy.
8417    ///
8418    /// When mocking, this method is typically irrelevant. Do not try to verify
8419    /// it is called by your mocks.
8420    fn get_polling_backoff_policy(
8421        &self,
8422        _options: &crate::RequestOptions,
8423    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8424        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8425    }
8426
8427    #[doc(hidden)]
8428    /// Returns the poller options.
8429    ///
8430    /// When mocking, this method is typically irrelevant. Do not try to verify
8431    /// it is called by your mocks.
8432    fn get_poller_options(
8433        &self,
8434        _options: &crate::RequestOptions,
8435    ) -> google_cloud_lro::PollerOptions {
8436        google_cloud_lro::PollerOptions::default()
8437    }
8438}
8439
8440/// Defines the trait used to implement [super::client::RegionAutoscalers].
8441///
8442/// Application developers may need to implement this trait to mock
8443/// `client::RegionAutoscalers`.  In other use-cases, application developers only
8444/// use `client::RegionAutoscalers` and need not be concerned with this trait or
8445/// its implementations.
8446///
8447/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8448/// too. To avoid breaking applications the trait provides a default
8449/// implementation of each method. Most of these implementations just return an
8450/// error.
8451#[cfg(feature = "region-autoscalers")]
8452#[cfg_attr(docsrs, doc(cfg(feature = "region-autoscalers")))]
8453pub trait RegionAutoscalers: std::fmt::Debug + Send + Sync {
8454    /// Implements [super::client::RegionAutoscalers::delete].
8455    fn delete(
8456        &self,
8457        _req: crate::model::region_autoscalers::DeleteRequest,
8458        _options: crate::RequestOptions,
8459    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8460    {
8461        gaxi::unimplemented::unimplemented_stub()
8462    }
8463
8464    /// Implements [super::client::RegionAutoscalers::get].
8465    fn get(
8466        &self,
8467        _req: crate::model::region_autoscalers::GetRequest,
8468        _options: crate::RequestOptions,
8469    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Autoscaler>>> + Send
8470    {
8471        gaxi::unimplemented::unimplemented_stub()
8472    }
8473
8474    /// Implements [super::client::RegionAutoscalers::insert].
8475    fn insert(
8476        &self,
8477        _req: crate::model::region_autoscalers::InsertRequest,
8478        _options: crate::RequestOptions,
8479    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8480    {
8481        gaxi::unimplemented::unimplemented_stub()
8482    }
8483
8484    /// Implements [super::client::RegionAutoscalers::list].
8485    fn list(
8486        &self,
8487        _req: crate::model::region_autoscalers::ListRequest,
8488        _options: crate::RequestOptions,
8489    ) -> impl std::future::Future<
8490        Output = crate::Result<crate::Response<crate::model::RegionAutoscalerList>>,
8491    > + Send {
8492        gaxi::unimplemented::unimplemented_stub()
8493    }
8494
8495    /// Implements [super::client::RegionAutoscalers::patch].
8496    fn patch(
8497        &self,
8498        _req: crate::model::region_autoscalers::PatchRequest,
8499        _options: crate::RequestOptions,
8500    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8501    {
8502        gaxi::unimplemented::unimplemented_stub()
8503    }
8504
8505    /// Implements [super::client::RegionAutoscalers::test_iam_permissions].
8506    fn test_iam_permissions(
8507        &self,
8508        _req: crate::model::region_autoscalers::TestIamPermissionsRequest,
8509        _options: crate::RequestOptions,
8510    ) -> impl std::future::Future<
8511        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8512    > + Send {
8513        gaxi::unimplemented::unimplemented_stub()
8514    }
8515
8516    /// Implements [super::client::RegionAutoscalers::update].
8517    fn update(
8518        &self,
8519        _req: crate::model::region_autoscalers::UpdateRequest,
8520        _options: crate::RequestOptions,
8521    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8522    {
8523        gaxi::unimplemented::unimplemented_stub()
8524    }
8525
8526    /// Implements [super::client::RegionAutoscalers::get_operation].
8527    fn get_operation(
8528        &self,
8529        _req: crate::model::region_operations::GetRequest,
8530        _options: crate::RequestOptions,
8531    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8532    {
8533        gaxi::unimplemented::unimplemented_stub()
8534    }
8535
8536    /// Returns the polling error policy.
8537    ///
8538    /// When mocking, this method is typically irrelevant. Do not try to verify
8539    /// it is called by your mocks.
8540    fn get_polling_error_policy(
8541        &self,
8542        _options: &crate::RequestOptions,
8543    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8544        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8545    }
8546
8547    /// Returns the polling backoff policy.
8548    ///
8549    /// When mocking, this method is typically irrelevant. Do not try to verify
8550    /// it is called by your mocks.
8551    fn get_polling_backoff_policy(
8552        &self,
8553        _options: &crate::RequestOptions,
8554    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8555        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8556    }
8557
8558    #[doc(hidden)]
8559    /// Returns the poller options.
8560    ///
8561    /// When mocking, this method is typically irrelevant. Do not try to verify
8562    /// it is called by your mocks.
8563    fn get_poller_options(
8564        &self,
8565        _options: &crate::RequestOptions,
8566    ) -> google_cloud_lro::PollerOptions {
8567        google_cloud_lro::PollerOptions::default()
8568    }
8569}
8570
8571/// Defines the trait used to implement [super::client::RegionBackendBuckets].
8572///
8573/// Application developers may need to implement this trait to mock
8574/// `client::RegionBackendBuckets`.  In other use-cases, application developers only
8575/// use `client::RegionBackendBuckets` and need not be concerned with this trait or
8576/// its implementations.
8577///
8578/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8579/// too. To avoid breaking applications the trait provides a default
8580/// implementation of each method. Most of these implementations just return an
8581/// error.
8582#[cfg(feature = "region-backend-buckets")]
8583#[cfg_attr(docsrs, doc(cfg(feature = "region-backend-buckets")))]
8584pub trait RegionBackendBuckets: std::fmt::Debug + Send + Sync {
8585    /// Implements [super::client::RegionBackendBuckets::delete].
8586    fn delete(
8587        &self,
8588        _req: crate::model::region_backend_buckets::DeleteRequest,
8589        _options: crate::RequestOptions,
8590    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8591    {
8592        gaxi::unimplemented::unimplemented_stub()
8593    }
8594
8595    /// Implements [super::client::RegionBackendBuckets::get].
8596    fn get(
8597        &self,
8598        _req: crate::model::region_backend_buckets::GetRequest,
8599        _options: crate::RequestOptions,
8600    ) -> impl std::future::Future<
8601        Output = crate::Result<crate::Response<crate::model::BackendBucket>>,
8602    > + Send {
8603        gaxi::unimplemented::unimplemented_stub()
8604    }
8605
8606    /// Implements [super::client::RegionBackendBuckets::get_iam_policy].
8607    fn get_iam_policy(
8608        &self,
8609        _req: crate::model::region_backend_buckets::GetIamPolicyRequest,
8610        _options: crate::RequestOptions,
8611    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8612    {
8613        gaxi::unimplemented::unimplemented_stub()
8614    }
8615
8616    /// Implements [super::client::RegionBackendBuckets::insert].
8617    fn insert(
8618        &self,
8619        _req: crate::model::region_backend_buckets::InsertRequest,
8620        _options: crate::RequestOptions,
8621    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8622    {
8623        gaxi::unimplemented::unimplemented_stub()
8624    }
8625
8626    /// Implements [super::client::RegionBackendBuckets::list].
8627    fn list(
8628        &self,
8629        _req: crate::model::region_backend_buckets::ListRequest,
8630        _options: crate::RequestOptions,
8631    ) -> impl std::future::Future<
8632        Output = crate::Result<crate::Response<crate::model::BackendBucketList>>,
8633    > + Send {
8634        gaxi::unimplemented::unimplemented_stub()
8635    }
8636
8637    /// Implements [super::client::RegionBackendBuckets::list_usable].
8638    fn list_usable(
8639        &self,
8640        _req: crate::model::region_backend_buckets::ListUsableRequest,
8641        _options: crate::RequestOptions,
8642    ) -> impl std::future::Future<
8643        Output = crate::Result<crate::Response<crate::model::BackendBucketListUsable>>,
8644    > + Send {
8645        gaxi::unimplemented::unimplemented_stub()
8646    }
8647
8648    /// Implements [super::client::RegionBackendBuckets::patch].
8649    fn patch(
8650        &self,
8651        _req: crate::model::region_backend_buckets::PatchRequest,
8652        _options: crate::RequestOptions,
8653    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8654    {
8655        gaxi::unimplemented::unimplemented_stub()
8656    }
8657
8658    /// Implements [super::client::RegionBackendBuckets::set_iam_policy].
8659    fn set_iam_policy(
8660        &self,
8661        _req: crate::model::region_backend_buckets::SetIamPolicyRequest,
8662        _options: crate::RequestOptions,
8663    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8664    {
8665        gaxi::unimplemented::unimplemented_stub()
8666    }
8667
8668    /// Implements [super::client::RegionBackendBuckets::test_iam_permissions].
8669    fn test_iam_permissions(
8670        &self,
8671        _req: crate::model::region_backend_buckets::TestIamPermissionsRequest,
8672        _options: crate::RequestOptions,
8673    ) -> impl std::future::Future<
8674        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8675    > + Send {
8676        gaxi::unimplemented::unimplemented_stub()
8677    }
8678
8679    /// Implements [super::client::RegionBackendBuckets::get_operation].
8680    fn get_operation(
8681        &self,
8682        _req: crate::model::region_operations::GetRequest,
8683        _options: crate::RequestOptions,
8684    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8685    {
8686        gaxi::unimplemented::unimplemented_stub()
8687    }
8688
8689    /// Returns the polling error policy.
8690    ///
8691    /// When mocking, this method is typically irrelevant. Do not try to verify
8692    /// it is called by your mocks.
8693    fn get_polling_error_policy(
8694        &self,
8695        _options: &crate::RequestOptions,
8696    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8697        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8698    }
8699
8700    /// Returns the polling backoff policy.
8701    ///
8702    /// When mocking, this method is typically irrelevant. Do not try to verify
8703    /// it is called by your mocks.
8704    fn get_polling_backoff_policy(
8705        &self,
8706        _options: &crate::RequestOptions,
8707    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8708        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8709    }
8710
8711    #[doc(hidden)]
8712    /// Returns the poller options.
8713    ///
8714    /// When mocking, this method is typically irrelevant. Do not try to verify
8715    /// it is called by your mocks.
8716    fn get_poller_options(
8717        &self,
8718        _options: &crate::RequestOptions,
8719    ) -> google_cloud_lro::PollerOptions {
8720        google_cloud_lro::PollerOptions::default()
8721    }
8722}
8723
8724/// Defines the trait used to implement [super::client::RegionBackendServices].
8725///
8726/// Application developers may need to implement this trait to mock
8727/// `client::RegionBackendServices`.  In other use-cases, application developers only
8728/// use `client::RegionBackendServices` and need not be concerned with this trait or
8729/// its implementations.
8730///
8731/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8732/// too. To avoid breaking applications the trait provides a default
8733/// implementation of each method. Most of these implementations just return an
8734/// error.
8735#[cfg(feature = "region-backend-services")]
8736#[cfg_attr(docsrs, doc(cfg(feature = "region-backend-services")))]
8737pub trait RegionBackendServices: std::fmt::Debug + Send + Sync {
8738    /// Implements [super::client::RegionBackendServices::delete].
8739    fn delete(
8740        &self,
8741        _req: crate::model::region_backend_services::DeleteRequest,
8742        _options: crate::RequestOptions,
8743    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8744    {
8745        gaxi::unimplemented::unimplemented_stub()
8746    }
8747
8748    /// Implements [super::client::RegionBackendServices::get].
8749    fn get(
8750        &self,
8751        _req: crate::model::region_backend_services::GetRequest,
8752        _options: crate::RequestOptions,
8753    ) -> impl std::future::Future<
8754        Output = crate::Result<crate::Response<crate::model::BackendService>>,
8755    > + Send {
8756        gaxi::unimplemented::unimplemented_stub()
8757    }
8758
8759    /// Implements [super::client::RegionBackendServices::get_health].
8760    fn get_health(
8761        &self,
8762        _req: crate::model::region_backend_services::GetHealthRequest,
8763        _options: crate::RequestOptions,
8764    ) -> impl std::future::Future<
8765        Output = crate::Result<crate::Response<crate::model::BackendServiceGroupHealth>>,
8766    > + Send {
8767        gaxi::unimplemented::unimplemented_stub()
8768    }
8769
8770    /// Implements [super::client::RegionBackendServices::get_iam_policy].
8771    fn get_iam_policy(
8772        &self,
8773        _req: crate::model::region_backend_services::GetIamPolicyRequest,
8774        _options: crate::RequestOptions,
8775    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8776    {
8777        gaxi::unimplemented::unimplemented_stub()
8778    }
8779
8780    /// Implements [super::client::RegionBackendServices::insert].
8781    fn insert(
8782        &self,
8783        _req: crate::model::region_backend_services::InsertRequest,
8784        _options: crate::RequestOptions,
8785    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8786    {
8787        gaxi::unimplemented::unimplemented_stub()
8788    }
8789
8790    /// Implements [super::client::RegionBackendServices::list].
8791    fn list(
8792        &self,
8793        _req: crate::model::region_backend_services::ListRequest,
8794        _options: crate::RequestOptions,
8795    ) -> impl std::future::Future<
8796        Output = crate::Result<crate::Response<crate::model::BackendServiceList>>,
8797    > + Send {
8798        gaxi::unimplemented::unimplemented_stub()
8799    }
8800
8801    /// Implements [super::client::RegionBackendServices::list_usable].
8802    fn list_usable(
8803        &self,
8804        _req: crate::model::region_backend_services::ListUsableRequest,
8805        _options: crate::RequestOptions,
8806    ) -> impl std::future::Future<
8807        Output = crate::Result<crate::Response<crate::model::BackendServiceListUsable>>,
8808    > + Send {
8809        gaxi::unimplemented::unimplemented_stub()
8810    }
8811
8812    /// Implements [super::client::RegionBackendServices::patch].
8813    fn patch(
8814        &self,
8815        _req: crate::model::region_backend_services::PatchRequest,
8816        _options: crate::RequestOptions,
8817    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8818    {
8819        gaxi::unimplemented::unimplemented_stub()
8820    }
8821
8822    /// Implements [super::client::RegionBackendServices::set_iam_policy].
8823    fn set_iam_policy(
8824        &self,
8825        _req: crate::model::region_backend_services::SetIamPolicyRequest,
8826        _options: crate::RequestOptions,
8827    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
8828    {
8829        gaxi::unimplemented::unimplemented_stub()
8830    }
8831
8832    /// Implements [super::client::RegionBackendServices::set_security_policy].
8833    fn set_security_policy(
8834        &self,
8835        _req: crate::model::region_backend_services::SetSecurityPolicyRequest,
8836        _options: crate::RequestOptions,
8837    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8838    {
8839        gaxi::unimplemented::unimplemented_stub()
8840    }
8841
8842    /// Implements [super::client::RegionBackendServices::test_iam_permissions].
8843    fn test_iam_permissions(
8844        &self,
8845        _req: crate::model::region_backend_services::TestIamPermissionsRequest,
8846        _options: crate::RequestOptions,
8847    ) -> impl std::future::Future<
8848        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
8849    > + Send {
8850        gaxi::unimplemented::unimplemented_stub()
8851    }
8852
8853    /// Implements [super::client::RegionBackendServices::update].
8854    fn update(
8855        &self,
8856        _req: crate::model::region_backend_services::UpdateRequest,
8857        _options: crate::RequestOptions,
8858    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8859    {
8860        gaxi::unimplemented::unimplemented_stub()
8861    }
8862
8863    /// Implements [super::client::RegionBackendServices::get_operation].
8864    fn get_operation(
8865        &self,
8866        _req: crate::model::region_operations::GetRequest,
8867        _options: crate::RequestOptions,
8868    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8869    {
8870        gaxi::unimplemented::unimplemented_stub()
8871    }
8872
8873    /// Returns the polling error policy.
8874    ///
8875    /// When mocking, this method is typically irrelevant. Do not try to verify
8876    /// it is called by your mocks.
8877    fn get_polling_error_policy(
8878        &self,
8879        _options: &crate::RequestOptions,
8880    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8881        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8882    }
8883
8884    /// Returns the polling backoff policy.
8885    ///
8886    /// When mocking, this method is typically irrelevant. Do not try to verify
8887    /// it is called by your mocks.
8888    fn get_polling_backoff_policy(
8889        &self,
8890        _options: &crate::RequestOptions,
8891    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
8892        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
8893    }
8894
8895    #[doc(hidden)]
8896    /// Returns the poller options.
8897    ///
8898    /// When mocking, this method is typically irrelevant. Do not try to verify
8899    /// it is called by your mocks.
8900    fn get_poller_options(
8901        &self,
8902        _options: &crate::RequestOptions,
8903    ) -> google_cloud_lro::PollerOptions {
8904        google_cloud_lro::PollerOptions::default()
8905    }
8906}
8907
8908/// Defines the trait used to implement [super::client::RegionCommitments].
8909///
8910/// Application developers may need to implement this trait to mock
8911/// `client::RegionCommitments`.  In other use-cases, application developers only
8912/// use `client::RegionCommitments` and need not be concerned with this trait or
8913/// its implementations.
8914///
8915/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8916/// too. To avoid breaking applications the trait provides a default
8917/// implementation of each method. Most of these implementations just return an
8918/// error.
8919#[cfg(feature = "region-commitments")]
8920#[cfg_attr(docsrs, doc(cfg(feature = "region-commitments")))]
8921pub trait RegionCommitments: std::fmt::Debug + Send + Sync {
8922    /// Implements [super::client::RegionCommitments::aggregated_list].
8923    fn aggregated_list(
8924        &self,
8925        _req: crate::model::region_commitments::AggregatedListRequest,
8926        _options: crate::RequestOptions,
8927    ) -> impl std::future::Future<
8928        Output = crate::Result<crate::Response<crate::model::CommitmentAggregatedList>>,
8929    > + Send {
8930        gaxi::unimplemented::unimplemented_stub()
8931    }
8932
8933    /// Implements [super::client::RegionCommitments::get].
8934    fn get(
8935        &self,
8936        _req: crate::model::region_commitments::GetRequest,
8937        _options: crate::RequestOptions,
8938    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Commitment>>> + Send
8939    {
8940        gaxi::unimplemented::unimplemented_stub()
8941    }
8942
8943    /// Implements [super::client::RegionCommitments::insert].
8944    fn insert(
8945        &self,
8946        _req: crate::model::region_commitments::InsertRequest,
8947        _options: crate::RequestOptions,
8948    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8949    {
8950        gaxi::unimplemented::unimplemented_stub()
8951    }
8952
8953    /// Implements [super::client::RegionCommitments::list].
8954    fn list(
8955        &self,
8956        _req: crate::model::region_commitments::ListRequest,
8957        _options: crate::RequestOptions,
8958    ) -> impl std::future::Future<
8959        Output = crate::Result<crate::Response<crate::model::CommitmentList>>,
8960    > + Send {
8961        gaxi::unimplemented::unimplemented_stub()
8962    }
8963
8964    /// Implements [super::client::RegionCommitments::update].
8965    fn update(
8966        &self,
8967        _req: crate::model::region_commitments::UpdateRequest,
8968        _options: crate::RequestOptions,
8969    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8970    {
8971        gaxi::unimplemented::unimplemented_stub()
8972    }
8973
8974    /// Implements [super::client::RegionCommitments::get_operation].
8975    fn get_operation(
8976        &self,
8977        _req: crate::model::region_operations::GetRequest,
8978        _options: crate::RequestOptions,
8979    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
8980    {
8981        gaxi::unimplemented::unimplemented_stub()
8982    }
8983
8984    /// Returns the polling error policy.
8985    ///
8986    /// When mocking, this method is typically irrelevant. Do not try to verify
8987    /// it is called by your mocks.
8988    fn get_polling_error_policy(
8989        &self,
8990        _options: &crate::RequestOptions,
8991    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
8992        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
8993    }
8994
8995    /// Returns the polling backoff policy.
8996    ///
8997    /// When mocking, this method is typically irrelevant. Do not try to verify
8998    /// it is called by your mocks.
8999    fn get_polling_backoff_policy(
9000        &self,
9001        _options: &crate::RequestOptions,
9002    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9003        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9004    }
9005
9006    #[doc(hidden)]
9007    /// Returns the poller options.
9008    ///
9009    /// When mocking, this method is typically irrelevant. Do not try to verify
9010    /// it is called by your mocks.
9011    fn get_poller_options(
9012        &self,
9013        _options: &crate::RequestOptions,
9014    ) -> google_cloud_lro::PollerOptions {
9015        google_cloud_lro::PollerOptions::default()
9016    }
9017}
9018
9019/// Defines the trait used to implement [super::client::RegionCompositeHealthChecks].
9020///
9021/// Application developers may need to implement this trait to mock
9022/// `client::RegionCompositeHealthChecks`.  In other use-cases, application developers only
9023/// use `client::RegionCompositeHealthChecks` and need not be concerned with this trait or
9024/// its implementations.
9025///
9026/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9027/// too. To avoid breaking applications the trait provides a default
9028/// implementation of each method. Most of these implementations just return an
9029/// error.
9030#[cfg(feature = "region-composite-health-checks")]
9031#[cfg_attr(docsrs, doc(cfg(feature = "region-composite-health-checks")))]
9032pub trait RegionCompositeHealthChecks: std::fmt::Debug + Send + Sync {
9033    /// Implements [super::client::RegionCompositeHealthChecks::aggregated_list].
9034    fn aggregated_list(
9035        &self,
9036        _req: crate::model::region_composite_health_checks::AggregatedListRequest,
9037        _options: crate::RequestOptions,
9038    ) -> impl std::future::Future<
9039        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckAggregatedList>>,
9040    > + Send {
9041        gaxi::unimplemented::unimplemented_stub()
9042    }
9043
9044    /// Implements [super::client::RegionCompositeHealthChecks::delete].
9045    fn delete(
9046        &self,
9047        _req: crate::model::region_composite_health_checks::DeleteRequest,
9048        _options: crate::RequestOptions,
9049    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9050    {
9051        gaxi::unimplemented::unimplemented_stub()
9052    }
9053
9054    /// Implements [super::client::RegionCompositeHealthChecks::get].
9055    fn get(
9056        &self,
9057        _req: crate::model::region_composite_health_checks::GetRequest,
9058        _options: crate::RequestOptions,
9059    ) -> impl std::future::Future<
9060        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheck>>,
9061    > + Send {
9062        gaxi::unimplemented::unimplemented_stub()
9063    }
9064
9065    /// Implements [super::client::RegionCompositeHealthChecks::get_health].
9066    fn get_health(
9067        &self,
9068        _req: crate::model::region_composite_health_checks::GetHealthRequest,
9069        _options: crate::RequestOptions,
9070    ) -> impl std::future::Future<
9071        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckHealth>>,
9072    > + Send {
9073        gaxi::unimplemented::unimplemented_stub()
9074    }
9075
9076    /// Implements [super::client::RegionCompositeHealthChecks::insert].
9077    fn insert(
9078        &self,
9079        _req: crate::model::region_composite_health_checks::InsertRequest,
9080        _options: crate::RequestOptions,
9081    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9082    {
9083        gaxi::unimplemented::unimplemented_stub()
9084    }
9085
9086    /// Implements [super::client::RegionCompositeHealthChecks::list].
9087    fn list(
9088        &self,
9089        _req: crate::model::region_composite_health_checks::ListRequest,
9090        _options: crate::RequestOptions,
9091    ) -> impl std::future::Future<
9092        Output = crate::Result<crate::Response<crate::model::CompositeHealthCheckList>>,
9093    > + Send {
9094        gaxi::unimplemented::unimplemented_stub()
9095    }
9096
9097    /// Implements [super::client::RegionCompositeHealthChecks::patch].
9098    fn patch(
9099        &self,
9100        _req: crate::model::region_composite_health_checks::PatchRequest,
9101        _options: crate::RequestOptions,
9102    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9103    {
9104        gaxi::unimplemented::unimplemented_stub()
9105    }
9106
9107    /// Implements [super::client::RegionCompositeHealthChecks::test_iam_permissions].
9108    fn test_iam_permissions(
9109        &self,
9110        _req: crate::model::region_composite_health_checks::TestIamPermissionsRequest,
9111        _options: crate::RequestOptions,
9112    ) -> impl std::future::Future<
9113        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9114    > + Send {
9115        gaxi::unimplemented::unimplemented_stub()
9116    }
9117
9118    /// Implements [super::client::RegionCompositeHealthChecks::get_operation].
9119    fn get_operation(
9120        &self,
9121        _req: crate::model::region_operations::GetRequest,
9122        _options: crate::RequestOptions,
9123    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9124    {
9125        gaxi::unimplemented::unimplemented_stub()
9126    }
9127
9128    /// Returns the polling error policy.
9129    ///
9130    /// When mocking, this method is typically irrelevant. Do not try to verify
9131    /// it is called by your mocks.
9132    fn get_polling_error_policy(
9133        &self,
9134        _options: &crate::RequestOptions,
9135    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9136        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9137    }
9138
9139    /// Returns the polling backoff policy.
9140    ///
9141    /// When mocking, this method is typically irrelevant. Do not try to verify
9142    /// it is called by your mocks.
9143    fn get_polling_backoff_policy(
9144        &self,
9145        _options: &crate::RequestOptions,
9146    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9147        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9148    }
9149
9150    #[doc(hidden)]
9151    /// Returns the poller options.
9152    ///
9153    /// When mocking, this method is typically irrelevant. Do not try to verify
9154    /// it is called by your mocks.
9155    fn get_poller_options(
9156        &self,
9157        _options: &crate::RequestOptions,
9158    ) -> google_cloud_lro::PollerOptions {
9159        google_cloud_lro::PollerOptions::default()
9160    }
9161}
9162
9163/// Defines the trait used to implement [super::client::RegionDiskTypes].
9164///
9165/// Application developers may need to implement this trait to mock
9166/// `client::RegionDiskTypes`.  In other use-cases, application developers only
9167/// use `client::RegionDiskTypes` and need not be concerned with this trait or
9168/// its implementations.
9169///
9170/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9171/// too. To avoid breaking applications the trait provides a default
9172/// implementation of each method. Most of these implementations just return an
9173/// error.
9174#[cfg(feature = "region-disk-types")]
9175#[cfg_attr(docsrs, doc(cfg(feature = "region-disk-types")))]
9176pub trait RegionDiskTypes: std::fmt::Debug + Send + Sync {
9177    /// Implements [super::client::RegionDiskTypes::get].
9178    fn get(
9179        &self,
9180        _req: crate::model::region_disk_types::GetRequest,
9181        _options: crate::RequestOptions,
9182    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskType>>> + Send
9183    {
9184        gaxi::unimplemented::unimplemented_stub()
9185    }
9186
9187    /// Implements [super::client::RegionDiskTypes::list].
9188    fn list(
9189        &self,
9190        _req: crate::model::region_disk_types::ListRequest,
9191        _options: crate::RequestOptions,
9192    ) -> impl std::future::Future<
9193        Output = crate::Result<crate::Response<crate::model::RegionDiskTypeList>>,
9194    > + Send {
9195        gaxi::unimplemented::unimplemented_stub()
9196    }
9197}
9198
9199/// Defines the trait used to implement [super::client::RegionDisks].
9200///
9201/// Application developers may need to implement this trait to mock
9202/// `client::RegionDisks`.  In other use-cases, application developers only
9203/// use `client::RegionDisks` and need not be concerned with this trait or
9204/// its implementations.
9205///
9206/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9207/// too. To avoid breaking applications the trait provides a default
9208/// implementation of each method. Most of these implementations just return an
9209/// error.
9210#[cfg(feature = "region-disks")]
9211#[cfg_attr(docsrs, doc(cfg(feature = "region-disks")))]
9212pub trait RegionDisks: std::fmt::Debug + Send + Sync {
9213    /// Implements [super::client::RegionDisks::add_resource_policies].
9214    fn add_resource_policies(
9215        &self,
9216        _req: crate::model::region_disks::AddResourcePoliciesRequest,
9217        _options: crate::RequestOptions,
9218    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9219    {
9220        gaxi::unimplemented::unimplemented_stub()
9221    }
9222
9223    /// Implements [super::client::RegionDisks::bulk_insert].
9224    fn bulk_insert(
9225        &self,
9226        _req: crate::model::region_disks::BulkInsertRequest,
9227        _options: crate::RequestOptions,
9228    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9229    {
9230        gaxi::unimplemented::unimplemented_stub()
9231    }
9232
9233    /// Implements [super::client::RegionDisks::create_snapshot].
9234    fn create_snapshot(
9235        &self,
9236        _req: crate::model::region_disks::CreateSnapshotRequest,
9237        _options: crate::RequestOptions,
9238    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9239    {
9240        gaxi::unimplemented::unimplemented_stub()
9241    }
9242
9243    /// Implements [super::client::RegionDisks::delete].
9244    fn delete(
9245        &self,
9246        _req: crate::model::region_disks::DeleteRequest,
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::RegionDisks::get].
9254    fn get(
9255        &self,
9256        _req: crate::model::region_disks::GetRequest,
9257        _options: crate::RequestOptions,
9258    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Disk>>> + Send
9259    {
9260        gaxi::unimplemented::unimplemented_stub()
9261    }
9262
9263    /// Implements [super::client::RegionDisks::get_iam_policy].
9264    fn get_iam_policy(
9265        &self,
9266        _req: crate::model::region_disks::GetIamPolicyRequest,
9267        _options: crate::RequestOptions,
9268    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9269    {
9270        gaxi::unimplemented::unimplemented_stub()
9271    }
9272
9273    /// Implements [super::client::RegionDisks::insert].
9274    fn insert(
9275        &self,
9276        _req: crate::model::region_disks::InsertRequest,
9277        _options: crate::RequestOptions,
9278    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9279    {
9280        gaxi::unimplemented::unimplemented_stub()
9281    }
9282
9283    /// Implements [super::client::RegionDisks::list].
9284    fn list(
9285        &self,
9286        _req: crate::model::region_disks::ListRequest,
9287        _options: crate::RequestOptions,
9288    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::DiskList>>> + Send
9289    {
9290        gaxi::unimplemented::unimplemented_stub()
9291    }
9292
9293    /// Implements [super::client::RegionDisks::remove_resource_policies].
9294    fn remove_resource_policies(
9295        &self,
9296        _req: crate::model::region_disks::RemoveResourcePoliciesRequest,
9297        _options: crate::RequestOptions,
9298    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9299    {
9300        gaxi::unimplemented::unimplemented_stub()
9301    }
9302
9303    /// Implements [super::client::RegionDisks::resize].
9304    fn resize(
9305        &self,
9306        _req: crate::model::region_disks::ResizeRequest,
9307        _options: crate::RequestOptions,
9308    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9309    {
9310        gaxi::unimplemented::unimplemented_stub()
9311    }
9312
9313    /// Implements [super::client::RegionDisks::set_iam_policy].
9314    fn set_iam_policy(
9315        &self,
9316        _req: crate::model::region_disks::SetIamPolicyRequest,
9317        _options: crate::RequestOptions,
9318    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
9319    {
9320        gaxi::unimplemented::unimplemented_stub()
9321    }
9322
9323    /// Implements [super::client::RegionDisks::set_labels].
9324    fn set_labels(
9325        &self,
9326        _req: crate::model::region_disks::SetLabelsRequest,
9327        _options: crate::RequestOptions,
9328    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9329    {
9330        gaxi::unimplemented::unimplemented_stub()
9331    }
9332
9333    /// Implements [super::client::RegionDisks::start_async_replication].
9334    fn start_async_replication(
9335        &self,
9336        _req: crate::model::region_disks::StartAsyncReplicationRequest,
9337        _options: crate::RequestOptions,
9338    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9339    {
9340        gaxi::unimplemented::unimplemented_stub()
9341    }
9342
9343    /// Implements [super::client::RegionDisks::stop_async_replication].
9344    fn stop_async_replication(
9345        &self,
9346        _req: crate::model::region_disks::StopAsyncReplicationRequest,
9347        _options: crate::RequestOptions,
9348    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9349    {
9350        gaxi::unimplemented::unimplemented_stub()
9351    }
9352
9353    /// Implements [super::client::RegionDisks::stop_group_async_replication].
9354    fn stop_group_async_replication(
9355        &self,
9356        _req: crate::model::region_disks::StopGroupAsyncReplicationRequest,
9357        _options: crate::RequestOptions,
9358    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9359    {
9360        gaxi::unimplemented::unimplemented_stub()
9361    }
9362
9363    /// Implements [super::client::RegionDisks::test_iam_permissions].
9364    fn test_iam_permissions(
9365        &self,
9366        _req: crate::model::region_disks::TestIamPermissionsRequest,
9367        _options: crate::RequestOptions,
9368    ) -> impl std::future::Future<
9369        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9370    > + Send {
9371        gaxi::unimplemented::unimplemented_stub()
9372    }
9373
9374    /// Implements [super::client::RegionDisks::update].
9375    fn update(
9376        &self,
9377        _req: crate::model::region_disks::UpdateRequest,
9378        _options: crate::RequestOptions,
9379    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9380    {
9381        gaxi::unimplemented::unimplemented_stub()
9382    }
9383
9384    /// Implements [super::client::RegionDisks::update_kms_key].
9385    fn update_kms_key(
9386        &self,
9387        _req: crate::model::region_disks::UpdateKmsKeyRequest,
9388        _options: crate::RequestOptions,
9389    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9390    {
9391        gaxi::unimplemented::unimplemented_stub()
9392    }
9393
9394    /// Implements [super::client::RegionDisks::get_operation].
9395    fn get_operation(
9396        &self,
9397        _req: crate::model::region_operations::GetRequest,
9398        _options: crate::RequestOptions,
9399    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9400    {
9401        gaxi::unimplemented::unimplemented_stub()
9402    }
9403
9404    /// Returns the polling error policy.
9405    ///
9406    /// When mocking, this method is typically irrelevant. Do not try to verify
9407    /// it is called by your mocks.
9408    fn get_polling_error_policy(
9409        &self,
9410        _options: &crate::RequestOptions,
9411    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9412        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9413    }
9414
9415    /// Returns the polling backoff policy.
9416    ///
9417    /// When mocking, this method is typically irrelevant. Do not try to verify
9418    /// it is called by your mocks.
9419    fn get_polling_backoff_policy(
9420        &self,
9421        _options: &crate::RequestOptions,
9422    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9423        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9424    }
9425
9426    #[doc(hidden)]
9427    /// Returns the poller options.
9428    ///
9429    /// When mocking, this method is typically irrelevant. Do not try to verify
9430    /// it is called by your mocks.
9431    fn get_poller_options(
9432        &self,
9433        _options: &crate::RequestOptions,
9434    ) -> google_cloud_lro::PollerOptions {
9435        google_cloud_lro::PollerOptions::default()
9436    }
9437}
9438
9439/// Defines the trait used to implement [super::client::RegionHealthAggregationPolicies].
9440///
9441/// Application developers may need to implement this trait to mock
9442/// `client::RegionHealthAggregationPolicies`.  In other use-cases, application developers only
9443/// use `client::RegionHealthAggregationPolicies` and need not be concerned with this trait or
9444/// its implementations.
9445///
9446/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9447/// too. To avoid breaking applications the trait provides a default
9448/// implementation of each method. Most of these implementations just return an
9449/// error.
9450#[cfg(feature = "region-health-aggregation-policies")]
9451#[cfg_attr(docsrs, doc(cfg(feature = "region-health-aggregation-policies")))]
9452pub trait RegionHealthAggregationPolicies: std::fmt::Debug + Send + Sync {
9453    /// Implements [super::client::RegionHealthAggregationPolicies::aggregated_list].
9454    fn aggregated_list(
9455        &self,
9456        _req: crate::model::region_health_aggregation_policies::AggregatedListRequest,
9457        _options: crate::RequestOptions,
9458    ) -> impl std::future::Future<
9459        Output = crate::Result<
9460            crate::Response<crate::model::HealthAggregationPolicyAggregatedList>,
9461        >,
9462    > + Send {
9463        gaxi::unimplemented::unimplemented_stub()
9464    }
9465
9466    /// Implements [super::client::RegionHealthAggregationPolicies::delete].
9467    fn delete(
9468        &self,
9469        _req: crate::model::region_health_aggregation_policies::DeleteRequest,
9470        _options: crate::RequestOptions,
9471    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9472    {
9473        gaxi::unimplemented::unimplemented_stub()
9474    }
9475
9476    /// Implements [super::client::RegionHealthAggregationPolicies::get].
9477    fn get(
9478        &self,
9479        _req: crate::model::region_health_aggregation_policies::GetRequest,
9480        _options: crate::RequestOptions,
9481    ) -> impl std::future::Future<
9482        Output = crate::Result<crate::Response<crate::model::HealthAggregationPolicy>>,
9483    > + Send {
9484        gaxi::unimplemented::unimplemented_stub()
9485    }
9486
9487    /// Implements [super::client::RegionHealthAggregationPolicies::insert].
9488    fn insert(
9489        &self,
9490        _req: crate::model::region_health_aggregation_policies::InsertRequest,
9491        _options: crate::RequestOptions,
9492    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9493    {
9494        gaxi::unimplemented::unimplemented_stub()
9495    }
9496
9497    /// Implements [super::client::RegionHealthAggregationPolicies::list].
9498    fn list(
9499        &self,
9500        _req: crate::model::region_health_aggregation_policies::ListRequest,
9501        _options: crate::RequestOptions,
9502    ) -> impl std::future::Future<
9503        Output = crate::Result<crate::Response<crate::model::HealthAggregationPolicyList>>,
9504    > + Send {
9505        gaxi::unimplemented::unimplemented_stub()
9506    }
9507
9508    /// Implements [super::client::RegionHealthAggregationPolicies::patch].
9509    fn patch(
9510        &self,
9511        _req: crate::model::region_health_aggregation_policies::PatchRequest,
9512        _options: crate::RequestOptions,
9513    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9514    {
9515        gaxi::unimplemented::unimplemented_stub()
9516    }
9517
9518    /// Implements [super::client::RegionHealthAggregationPolicies::test_iam_permissions].
9519    fn test_iam_permissions(
9520        &self,
9521        _req: crate::model::region_health_aggregation_policies::TestIamPermissionsRequest,
9522        _options: crate::RequestOptions,
9523    ) -> impl std::future::Future<
9524        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9525    > + Send {
9526        gaxi::unimplemented::unimplemented_stub()
9527    }
9528
9529    /// Implements [super::client::RegionHealthAggregationPolicies::get_operation].
9530    fn get_operation(
9531        &self,
9532        _req: crate::model::region_operations::GetRequest,
9533        _options: crate::RequestOptions,
9534    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9535    {
9536        gaxi::unimplemented::unimplemented_stub()
9537    }
9538
9539    /// Returns the polling error policy.
9540    ///
9541    /// When mocking, this method is typically irrelevant. Do not try to verify
9542    /// it is called by your mocks.
9543    fn get_polling_error_policy(
9544        &self,
9545        _options: &crate::RequestOptions,
9546    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9547        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9548    }
9549
9550    /// Returns the polling backoff policy.
9551    ///
9552    /// When mocking, this method is typically irrelevant. Do not try to verify
9553    /// it is called by your mocks.
9554    fn get_polling_backoff_policy(
9555        &self,
9556        _options: &crate::RequestOptions,
9557    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9558        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9559    }
9560
9561    #[doc(hidden)]
9562    /// Returns the poller options.
9563    ///
9564    /// When mocking, this method is typically irrelevant. Do not try to verify
9565    /// it is called by your mocks.
9566    fn get_poller_options(
9567        &self,
9568        _options: &crate::RequestOptions,
9569    ) -> google_cloud_lro::PollerOptions {
9570        google_cloud_lro::PollerOptions::default()
9571    }
9572}
9573
9574/// Defines the trait used to implement [super::client::RegionHealthCheckServices].
9575///
9576/// Application developers may need to implement this trait to mock
9577/// `client::RegionHealthCheckServices`.  In other use-cases, application developers only
9578/// use `client::RegionHealthCheckServices` and need not be concerned with this trait or
9579/// its implementations.
9580///
9581/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9582/// too. To avoid breaking applications the trait provides a default
9583/// implementation of each method. Most of these implementations just return an
9584/// error.
9585#[cfg(feature = "region-health-check-services")]
9586#[cfg_attr(docsrs, doc(cfg(feature = "region-health-check-services")))]
9587pub trait RegionHealthCheckServices: std::fmt::Debug + Send + Sync {
9588    /// Implements [super::client::RegionHealthCheckServices::aggregated_list].
9589    fn aggregated_list(
9590        &self,
9591        _req: crate::model::region_health_check_services::AggregatedListRequest,
9592        _options: crate::RequestOptions,
9593    ) -> impl std::future::Future<
9594        Output = crate::Result<crate::Response<crate::model::HealthCheckServiceAggregatedList>>,
9595    > + Send {
9596        gaxi::unimplemented::unimplemented_stub()
9597    }
9598
9599    /// Implements [super::client::RegionHealthCheckServices::delete].
9600    fn delete(
9601        &self,
9602        _req: crate::model::region_health_check_services::DeleteRequest,
9603        _options: crate::RequestOptions,
9604    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9605    {
9606        gaxi::unimplemented::unimplemented_stub()
9607    }
9608
9609    /// Implements [super::client::RegionHealthCheckServices::get].
9610    fn get(
9611        &self,
9612        _req: crate::model::region_health_check_services::GetRequest,
9613        _options: crate::RequestOptions,
9614    ) -> impl std::future::Future<
9615        Output = crate::Result<crate::Response<crate::model::HealthCheckService>>,
9616    > + Send {
9617        gaxi::unimplemented::unimplemented_stub()
9618    }
9619
9620    /// Implements [super::client::RegionHealthCheckServices::insert].
9621    fn insert(
9622        &self,
9623        _req: crate::model::region_health_check_services::InsertRequest,
9624        _options: crate::RequestOptions,
9625    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9626    {
9627        gaxi::unimplemented::unimplemented_stub()
9628    }
9629
9630    /// Implements [super::client::RegionHealthCheckServices::list].
9631    fn list(
9632        &self,
9633        _req: crate::model::region_health_check_services::ListRequest,
9634        _options: crate::RequestOptions,
9635    ) -> impl std::future::Future<
9636        Output = crate::Result<crate::Response<crate::model::HealthCheckServicesList>>,
9637    > + Send {
9638        gaxi::unimplemented::unimplemented_stub()
9639    }
9640
9641    /// Implements [super::client::RegionHealthCheckServices::patch].
9642    fn patch(
9643        &self,
9644        _req: crate::model::region_health_check_services::PatchRequest,
9645        _options: crate::RequestOptions,
9646    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9647    {
9648        gaxi::unimplemented::unimplemented_stub()
9649    }
9650
9651    /// Implements [super::client::RegionHealthCheckServices::test_iam_permissions].
9652    fn test_iam_permissions(
9653        &self,
9654        _req: crate::model::region_health_check_services::TestIamPermissionsRequest,
9655        _options: crate::RequestOptions,
9656    ) -> impl std::future::Future<
9657        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9658    > + Send {
9659        gaxi::unimplemented::unimplemented_stub()
9660    }
9661
9662    /// Implements [super::client::RegionHealthCheckServices::get_operation].
9663    fn get_operation(
9664        &self,
9665        _req: crate::model::region_operations::GetRequest,
9666        _options: crate::RequestOptions,
9667    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9668    {
9669        gaxi::unimplemented::unimplemented_stub()
9670    }
9671
9672    /// Returns the polling error policy.
9673    ///
9674    /// When mocking, this method is typically irrelevant. Do not try to verify
9675    /// it is called by your mocks.
9676    fn get_polling_error_policy(
9677        &self,
9678        _options: &crate::RequestOptions,
9679    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9680        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9681    }
9682
9683    /// Returns the polling backoff policy.
9684    ///
9685    /// When mocking, this method is typically irrelevant. Do not try to verify
9686    /// it is called by your mocks.
9687    fn get_polling_backoff_policy(
9688        &self,
9689        _options: &crate::RequestOptions,
9690    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9691        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9692    }
9693
9694    #[doc(hidden)]
9695    /// Returns the poller options.
9696    ///
9697    /// When mocking, this method is typically irrelevant. Do not try to verify
9698    /// it is called by your mocks.
9699    fn get_poller_options(
9700        &self,
9701        _options: &crate::RequestOptions,
9702    ) -> google_cloud_lro::PollerOptions {
9703        google_cloud_lro::PollerOptions::default()
9704    }
9705}
9706
9707/// Defines the trait used to implement [super::client::RegionHealthChecks].
9708///
9709/// Application developers may need to implement this trait to mock
9710/// `client::RegionHealthChecks`.  In other use-cases, application developers only
9711/// use `client::RegionHealthChecks` and need not be concerned with this trait or
9712/// its implementations.
9713///
9714/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9715/// too. To avoid breaking applications the trait provides a default
9716/// implementation of each method. Most of these implementations just return an
9717/// error.
9718#[cfg(feature = "region-health-checks")]
9719#[cfg_attr(docsrs, doc(cfg(feature = "region-health-checks")))]
9720pub trait RegionHealthChecks: std::fmt::Debug + Send + Sync {
9721    /// Implements [super::client::RegionHealthChecks::delete].
9722    fn delete(
9723        &self,
9724        _req: crate::model::region_health_checks::DeleteRequest,
9725        _options: crate::RequestOptions,
9726    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9727    {
9728        gaxi::unimplemented::unimplemented_stub()
9729    }
9730
9731    /// Implements [super::client::RegionHealthChecks::get].
9732    fn get(
9733        &self,
9734        _req: crate::model::region_health_checks::GetRequest,
9735        _options: crate::RequestOptions,
9736    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::HealthCheck>>>
9737    + Send {
9738        gaxi::unimplemented::unimplemented_stub()
9739    }
9740
9741    /// Implements [super::client::RegionHealthChecks::insert].
9742    fn insert(
9743        &self,
9744        _req: crate::model::region_health_checks::InsertRequest,
9745        _options: crate::RequestOptions,
9746    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9747    {
9748        gaxi::unimplemented::unimplemented_stub()
9749    }
9750
9751    /// Implements [super::client::RegionHealthChecks::list].
9752    fn list(
9753        &self,
9754        _req: crate::model::region_health_checks::ListRequest,
9755        _options: crate::RequestOptions,
9756    ) -> impl std::future::Future<
9757        Output = crate::Result<crate::Response<crate::model::HealthCheckList>>,
9758    > + Send {
9759        gaxi::unimplemented::unimplemented_stub()
9760    }
9761
9762    /// Implements [super::client::RegionHealthChecks::patch].
9763    fn patch(
9764        &self,
9765        _req: crate::model::region_health_checks::PatchRequest,
9766        _options: crate::RequestOptions,
9767    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9768    {
9769        gaxi::unimplemented::unimplemented_stub()
9770    }
9771
9772    /// Implements [super::client::RegionHealthChecks::test_iam_permissions].
9773    fn test_iam_permissions(
9774        &self,
9775        _req: crate::model::region_health_checks::TestIamPermissionsRequest,
9776        _options: crate::RequestOptions,
9777    ) -> impl std::future::Future<
9778        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9779    > + Send {
9780        gaxi::unimplemented::unimplemented_stub()
9781    }
9782
9783    /// Implements [super::client::RegionHealthChecks::update].
9784    fn update(
9785        &self,
9786        _req: crate::model::region_health_checks::UpdateRequest,
9787        _options: crate::RequestOptions,
9788    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9789    {
9790        gaxi::unimplemented::unimplemented_stub()
9791    }
9792
9793    /// Implements [super::client::RegionHealthChecks::get_operation].
9794    fn get_operation(
9795        &self,
9796        _req: crate::model::region_operations::GetRequest,
9797        _options: crate::RequestOptions,
9798    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9799    {
9800        gaxi::unimplemented::unimplemented_stub()
9801    }
9802
9803    /// Returns the polling error policy.
9804    ///
9805    /// When mocking, this method is typically irrelevant. Do not try to verify
9806    /// it is called by your mocks.
9807    fn get_polling_error_policy(
9808        &self,
9809        _options: &crate::RequestOptions,
9810    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9811        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9812    }
9813
9814    /// Returns the polling backoff policy.
9815    ///
9816    /// When mocking, this method is typically irrelevant. Do not try to verify
9817    /// it is called by your mocks.
9818    fn get_polling_backoff_policy(
9819        &self,
9820        _options: &crate::RequestOptions,
9821    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9822        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9823    }
9824
9825    #[doc(hidden)]
9826    /// Returns the poller options.
9827    ///
9828    /// When mocking, this method is typically irrelevant. Do not try to verify
9829    /// it is called by your mocks.
9830    fn get_poller_options(
9831        &self,
9832        _options: &crate::RequestOptions,
9833    ) -> google_cloud_lro::PollerOptions {
9834        google_cloud_lro::PollerOptions::default()
9835    }
9836}
9837
9838/// Defines the trait used to implement [super::client::RegionHealthSources].
9839///
9840/// Application developers may need to implement this trait to mock
9841/// `client::RegionHealthSources`.  In other use-cases, application developers only
9842/// use `client::RegionHealthSources` and need not be concerned with this trait or
9843/// its implementations.
9844///
9845/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9846/// too. To avoid breaking applications the trait provides a default
9847/// implementation of each method. Most of these implementations just return an
9848/// error.
9849#[cfg(feature = "region-health-sources")]
9850#[cfg_attr(docsrs, doc(cfg(feature = "region-health-sources")))]
9851pub trait RegionHealthSources: std::fmt::Debug + Send + Sync {
9852    /// Implements [super::client::RegionHealthSources::aggregated_list].
9853    fn aggregated_list(
9854        &self,
9855        _req: crate::model::region_health_sources::AggregatedListRequest,
9856        _options: crate::RequestOptions,
9857    ) -> impl std::future::Future<
9858        Output = crate::Result<crate::Response<crate::model::HealthSourceAggregatedList>>,
9859    > + Send {
9860        gaxi::unimplemented::unimplemented_stub()
9861    }
9862
9863    /// Implements [super::client::RegionHealthSources::delete].
9864    fn delete(
9865        &self,
9866        _req: crate::model::region_health_sources::DeleteRequest,
9867        _options: crate::RequestOptions,
9868    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9869    {
9870        gaxi::unimplemented::unimplemented_stub()
9871    }
9872
9873    /// Implements [super::client::RegionHealthSources::get].
9874    fn get(
9875        &self,
9876        _req: crate::model::region_health_sources::GetRequest,
9877        _options: crate::RequestOptions,
9878    ) -> impl std::future::Future<
9879        Output = crate::Result<crate::Response<crate::model::HealthSource>>,
9880    > + Send {
9881        gaxi::unimplemented::unimplemented_stub()
9882    }
9883
9884    /// Implements [super::client::RegionHealthSources::get_health].
9885    fn get_health(
9886        &self,
9887        _req: crate::model::region_health_sources::GetHealthRequest,
9888        _options: crate::RequestOptions,
9889    ) -> impl std::future::Future<
9890        Output = crate::Result<crate::Response<crate::model::HealthSourceHealth>>,
9891    > + Send {
9892        gaxi::unimplemented::unimplemented_stub()
9893    }
9894
9895    /// Implements [super::client::RegionHealthSources::insert].
9896    fn insert(
9897        &self,
9898        _req: crate::model::region_health_sources::InsertRequest,
9899        _options: crate::RequestOptions,
9900    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9901    {
9902        gaxi::unimplemented::unimplemented_stub()
9903    }
9904
9905    /// Implements [super::client::RegionHealthSources::list].
9906    fn list(
9907        &self,
9908        _req: crate::model::region_health_sources::ListRequest,
9909        _options: crate::RequestOptions,
9910    ) -> impl std::future::Future<
9911        Output = crate::Result<crate::Response<crate::model::HealthSourceList>>,
9912    > + Send {
9913        gaxi::unimplemented::unimplemented_stub()
9914    }
9915
9916    /// Implements [super::client::RegionHealthSources::patch].
9917    fn patch(
9918        &self,
9919        _req: crate::model::region_health_sources::PatchRequest,
9920        _options: crate::RequestOptions,
9921    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9922    {
9923        gaxi::unimplemented::unimplemented_stub()
9924    }
9925
9926    /// Implements [super::client::RegionHealthSources::test_iam_permissions].
9927    fn test_iam_permissions(
9928        &self,
9929        _req: crate::model::region_health_sources::TestIamPermissionsRequest,
9930        _options: crate::RequestOptions,
9931    ) -> impl std::future::Future<
9932        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
9933    > + Send {
9934        gaxi::unimplemented::unimplemented_stub()
9935    }
9936
9937    /// Implements [super::client::RegionHealthSources::get_operation].
9938    fn get_operation(
9939        &self,
9940        _req: crate::model::region_operations::GetRequest,
9941        _options: crate::RequestOptions,
9942    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
9943    {
9944        gaxi::unimplemented::unimplemented_stub()
9945    }
9946
9947    /// Returns the polling error policy.
9948    ///
9949    /// When mocking, this method is typically irrelevant. Do not try to verify
9950    /// it is called by your mocks.
9951    fn get_polling_error_policy(
9952        &self,
9953        _options: &crate::RequestOptions,
9954    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
9955        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
9956    }
9957
9958    /// Returns the polling backoff policy.
9959    ///
9960    /// When mocking, this method is typically irrelevant. Do not try to verify
9961    /// it is called by your mocks.
9962    fn get_polling_backoff_policy(
9963        &self,
9964        _options: &crate::RequestOptions,
9965    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
9966        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
9967    }
9968
9969    #[doc(hidden)]
9970    /// Returns the poller options.
9971    ///
9972    /// When mocking, this method is typically irrelevant. Do not try to verify
9973    /// it is called by your mocks.
9974    fn get_poller_options(
9975        &self,
9976        _options: &crate::RequestOptions,
9977    ) -> google_cloud_lro::PollerOptions {
9978        google_cloud_lro::PollerOptions::default()
9979    }
9980}
9981
9982/// Defines the trait used to implement [super::client::RegionInstanceGroupManagerResizeRequests].
9983///
9984/// Application developers may need to implement this trait to mock
9985/// `client::RegionInstanceGroupManagerResizeRequests`.  In other use-cases, application developers only
9986/// use `client::RegionInstanceGroupManagerResizeRequests` and need not be concerned with this trait or
9987/// its implementations.
9988///
9989/// Services gain new RPCs routinely. Consequently, this trait gains new methods
9990/// too. To avoid breaking applications the trait provides a default
9991/// implementation of each method. Most of these implementations just return an
9992/// error.
9993#[cfg(feature = "region-instance-group-manager-resize-requests")]
9994#[cfg_attr(
9995    docsrs,
9996    doc(cfg(feature = "region-instance-group-manager-resize-requests"))
9997)]
9998pub trait RegionInstanceGroupManagerResizeRequests: std::fmt::Debug + Send + Sync {
9999    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::cancel].
10000    fn cancel(
10001        &self,
10002        _req: crate::model::region_instance_group_manager_resize_requests::CancelRequest,
10003        _options: crate::RequestOptions,
10004    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10005    {
10006        gaxi::unimplemented::unimplemented_stub()
10007    }
10008
10009    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::delete].
10010    fn delete(
10011        &self,
10012        _req: crate::model::region_instance_group_manager_resize_requests::DeleteRequest,
10013        _options: crate::RequestOptions,
10014    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10015    {
10016        gaxi::unimplemented::unimplemented_stub()
10017    }
10018
10019    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::get].
10020    fn get(
10021        &self,
10022        _req: crate::model::region_instance_group_manager_resize_requests::GetRequest,
10023        _options: crate::RequestOptions,
10024    ) -> impl std::future::Future<
10025        Output = crate::Result<crate::Response<crate::model::InstanceGroupManagerResizeRequest>>,
10026    > + Send {
10027        gaxi::unimplemented::unimplemented_stub()
10028    }
10029
10030    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::insert].
10031    fn insert(
10032        &self,
10033        _req: crate::model::region_instance_group_manager_resize_requests::InsertRequest,
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::RegionInstanceGroupManagerResizeRequests::list].
10041    fn list(
10042        &self,
10043        _req: crate::model::region_instance_group_manager_resize_requests::ListRequest,
10044        _options: crate::RequestOptions,
10045    ) -> impl std::future::Future<
10046        Output = crate::Result<
10047            crate::Response<crate::model::RegionInstanceGroupManagerResizeRequestsListResponse>,
10048        >,
10049    > + Send {
10050        gaxi::unimplemented::unimplemented_stub()
10051    }
10052
10053    /// Implements [super::client::RegionInstanceGroupManagerResizeRequests::get_operation].
10054    fn get_operation(
10055        &self,
10056        _req: crate::model::region_operations::GetRequest,
10057        _options: crate::RequestOptions,
10058    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10059    {
10060        gaxi::unimplemented::unimplemented_stub()
10061    }
10062
10063    /// Returns the polling error policy.
10064    ///
10065    /// When mocking, this method is typically irrelevant. Do not try to verify
10066    /// it is called by your mocks.
10067    fn get_polling_error_policy(
10068        &self,
10069        _options: &crate::RequestOptions,
10070    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10071        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10072    }
10073
10074    /// Returns the polling backoff policy.
10075    ///
10076    /// When mocking, this method is typically irrelevant. Do not try to verify
10077    /// it is called by your mocks.
10078    fn get_polling_backoff_policy(
10079        &self,
10080        _options: &crate::RequestOptions,
10081    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10082        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10083    }
10084
10085    #[doc(hidden)]
10086    /// Returns the poller options.
10087    ///
10088    /// When mocking, this method is typically irrelevant. Do not try to verify
10089    /// it is called by your mocks.
10090    fn get_poller_options(
10091        &self,
10092        _options: &crate::RequestOptions,
10093    ) -> google_cloud_lro::PollerOptions {
10094        google_cloud_lro::PollerOptions::default()
10095    }
10096}
10097
10098/// Defines the trait used to implement [super::client::RegionInstanceGroupManagers].
10099///
10100/// Application developers may need to implement this trait to mock
10101/// `client::RegionInstanceGroupManagers`.  In other use-cases, application developers only
10102/// use `client::RegionInstanceGroupManagers` and need not be concerned with this trait or
10103/// its implementations.
10104///
10105/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10106/// too. To avoid breaking applications the trait provides a default
10107/// implementation of each method. Most of these implementations just return an
10108/// error.
10109#[cfg(feature = "region-instance-group-managers")]
10110#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-group-managers")))]
10111pub trait RegionInstanceGroupManagers: std::fmt::Debug + Send + Sync {
10112    /// Implements [super::client::RegionInstanceGroupManagers::abandon_instances].
10113    fn abandon_instances(
10114        &self,
10115        _req: crate::model::region_instance_group_managers::AbandonInstancesRequest,
10116        _options: crate::RequestOptions,
10117    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10118    {
10119        gaxi::unimplemented::unimplemented_stub()
10120    }
10121
10122    /// Implements [super::client::RegionInstanceGroupManagers::apply_updates_to_instances].
10123    fn apply_updates_to_instances(
10124        &self,
10125        _req: crate::model::region_instance_group_managers::ApplyUpdatesToInstancesRequest,
10126        _options: crate::RequestOptions,
10127    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10128    {
10129        gaxi::unimplemented::unimplemented_stub()
10130    }
10131
10132    /// Implements [super::client::RegionInstanceGroupManagers::create_instances].
10133    fn create_instances(
10134        &self,
10135        _req: crate::model::region_instance_group_managers::CreateInstancesRequest,
10136        _options: crate::RequestOptions,
10137    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10138    {
10139        gaxi::unimplemented::unimplemented_stub()
10140    }
10141
10142    /// Implements [super::client::RegionInstanceGroupManagers::delete].
10143    fn delete(
10144        &self,
10145        _req: crate::model::region_instance_group_managers::DeleteRequest,
10146        _options: crate::RequestOptions,
10147    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10148    {
10149        gaxi::unimplemented::unimplemented_stub()
10150    }
10151
10152    /// Implements [super::client::RegionInstanceGroupManagers::delete_instances].
10153    fn delete_instances(
10154        &self,
10155        _req: crate::model::region_instance_group_managers::DeleteInstancesRequest,
10156        _options: crate::RequestOptions,
10157    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10158    {
10159        gaxi::unimplemented::unimplemented_stub()
10160    }
10161
10162    /// Implements [super::client::RegionInstanceGroupManagers::delete_per_instance_configs].
10163    fn delete_per_instance_configs(
10164        &self,
10165        _req: crate::model::region_instance_group_managers::DeletePerInstanceConfigsRequest,
10166        _options: crate::RequestOptions,
10167    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10168    {
10169        gaxi::unimplemented::unimplemented_stub()
10170    }
10171
10172    /// Implements [super::client::RegionInstanceGroupManagers::get].
10173    fn get(
10174        &self,
10175        _req: crate::model::region_instance_group_managers::GetRequest,
10176        _options: crate::RequestOptions,
10177    ) -> impl std::future::Future<
10178        Output = crate::Result<crate::Response<crate::model::InstanceGroupManager>>,
10179    > + Send {
10180        gaxi::unimplemented::unimplemented_stub()
10181    }
10182
10183    /// Implements [super::client::RegionInstanceGroupManagers::insert].
10184    fn insert(
10185        &self,
10186        _req: crate::model::region_instance_group_managers::InsertRequest,
10187        _options: crate::RequestOptions,
10188    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10189    {
10190        gaxi::unimplemented::unimplemented_stub()
10191    }
10192
10193    /// Implements [super::client::RegionInstanceGroupManagers::list].
10194    fn list(
10195        &self,
10196        _req: crate::model::region_instance_group_managers::ListRequest,
10197        _options: crate::RequestOptions,
10198    ) -> impl std::future::Future<
10199        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupManagerList>>,
10200    > + Send {
10201        gaxi::unimplemented::unimplemented_stub()
10202    }
10203
10204    /// Implements [super::client::RegionInstanceGroupManagers::list_errors].
10205    fn list_errors(
10206        &self,
10207        _req: crate::model::region_instance_group_managers::ListErrorsRequest,
10208        _options: crate::RequestOptions,
10209    ) -> impl std::future::Future<
10210        Output = crate::Result<
10211            crate::Response<crate::model::RegionInstanceGroupManagersListErrorsResponse>,
10212        >,
10213    > + Send {
10214        gaxi::unimplemented::unimplemented_stub()
10215    }
10216
10217    /// Implements [super::client::RegionInstanceGroupManagers::list_managed_instances].
10218    fn list_managed_instances(
10219        &self,
10220        _req: crate::model::region_instance_group_managers::ListManagedInstancesRequest,
10221        _options: crate::RequestOptions,
10222    ) -> impl std::future::Future<
10223        Output = crate::Result<
10224            crate::Response<crate::model::RegionInstanceGroupManagersListInstancesResponse>,
10225        >,
10226    > + Send {
10227        gaxi::unimplemented::unimplemented_stub()
10228    }
10229
10230    /// Implements [super::client::RegionInstanceGroupManagers::list_per_instance_configs].
10231    fn list_per_instance_configs(
10232        &self,
10233        _req: crate::model::region_instance_group_managers::ListPerInstanceConfigsRequest,
10234        _options: crate::RequestOptions,
10235    ) -> impl std::future::Future<
10236        Output = crate::Result<
10237            crate::Response<crate::model::RegionInstanceGroupManagersListInstanceConfigsResp>,
10238        >,
10239    > + Send {
10240        gaxi::unimplemented::unimplemented_stub()
10241    }
10242
10243    /// Implements [super::client::RegionInstanceGroupManagers::patch].
10244    fn patch(
10245        &self,
10246        _req: crate::model::region_instance_group_managers::PatchRequest,
10247        _options: crate::RequestOptions,
10248    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10249    {
10250        gaxi::unimplemented::unimplemented_stub()
10251    }
10252
10253    /// Implements [super::client::RegionInstanceGroupManagers::patch_per_instance_configs].
10254    fn patch_per_instance_configs(
10255        &self,
10256        _req: crate::model::region_instance_group_managers::PatchPerInstanceConfigsRequest,
10257        _options: crate::RequestOptions,
10258    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10259    {
10260        gaxi::unimplemented::unimplemented_stub()
10261    }
10262
10263    /// Implements [super::client::RegionInstanceGroupManagers::recreate_instances].
10264    fn recreate_instances(
10265        &self,
10266        _req: crate::model::region_instance_group_managers::RecreateInstancesRequest,
10267        _options: crate::RequestOptions,
10268    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10269    {
10270        gaxi::unimplemented::unimplemented_stub()
10271    }
10272
10273    /// Implements [super::client::RegionInstanceGroupManagers::resize].
10274    fn resize(
10275        &self,
10276        _req: crate::model::region_instance_group_managers::ResizeRequest,
10277        _options: crate::RequestOptions,
10278    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10279    {
10280        gaxi::unimplemented::unimplemented_stub()
10281    }
10282
10283    /// Implements [super::client::RegionInstanceGroupManagers::resume_instances].
10284    fn resume_instances(
10285        &self,
10286        _req: crate::model::region_instance_group_managers::ResumeInstancesRequest,
10287        _options: crate::RequestOptions,
10288    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10289    {
10290        gaxi::unimplemented::unimplemented_stub()
10291    }
10292
10293    /// Implements [super::client::RegionInstanceGroupManagers::set_instance_template].
10294    fn set_instance_template(
10295        &self,
10296        _req: crate::model::region_instance_group_managers::SetInstanceTemplateRequest,
10297        _options: crate::RequestOptions,
10298    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10299    {
10300        gaxi::unimplemented::unimplemented_stub()
10301    }
10302
10303    /// Implements [super::client::RegionInstanceGroupManagers::set_target_pools].
10304    fn set_target_pools(
10305        &self,
10306        _req: crate::model::region_instance_group_managers::SetTargetPoolsRequest,
10307        _options: crate::RequestOptions,
10308    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10309    {
10310        gaxi::unimplemented::unimplemented_stub()
10311    }
10312
10313    /// Implements [super::client::RegionInstanceGroupManagers::start_instances].
10314    fn start_instances(
10315        &self,
10316        _req: crate::model::region_instance_group_managers::StartInstancesRequest,
10317        _options: crate::RequestOptions,
10318    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10319    {
10320        gaxi::unimplemented::unimplemented_stub()
10321    }
10322
10323    /// Implements [super::client::RegionInstanceGroupManagers::stop_instances].
10324    fn stop_instances(
10325        &self,
10326        _req: crate::model::region_instance_group_managers::StopInstancesRequest,
10327        _options: crate::RequestOptions,
10328    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10329    {
10330        gaxi::unimplemented::unimplemented_stub()
10331    }
10332
10333    /// Implements [super::client::RegionInstanceGroupManagers::suspend_instances].
10334    fn suspend_instances(
10335        &self,
10336        _req: crate::model::region_instance_group_managers::SuspendInstancesRequest,
10337        _options: crate::RequestOptions,
10338    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10339    {
10340        gaxi::unimplemented::unimplemented_stub()
10341    }
10342
10343    /// Implements [super::client::RegionInstanceGroupManagers::update_per_instance_configs].
10344    fn update_per_instance_configs(
10345        &self,
10346        _req: crate::model::region_instance_group_managers::UpdatePerInstanceConfigsRequest,
10347        _options: crate::RequestOptions,
10348    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10349    {
10350        gaxi::unimplemented::unimplemented_stub()
10351    }
10352
10353    /// Implements [super::client::RegionInstanceGroupManagers::get_operation].
10354    fn get_operation(
10355        &self,
10356        _req: crate::model::region_operations::GetRequest,
10357        _options: crate::RequestOptions,
10358    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10359    {
10360        gaxi::unimplemented::unimplemented_stub()
10361    }
10362
10363    /// Returns the polling error policy.
10364    ///
10365    /// When mocking, this method is typically irrelevant. Do not try to verify
10366    /// it is called by your mocks.
10367    fn get_polling_error_policy(
10368        &self,
10369        _options: &crate::RequestOptions,
10370    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10371        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10372    }
10373
10374    /// Returns the polling backoff policy.
10375    ///
10376    /// When mocking, this method is typically irrelevant. Do not try to verify
10377    /// it is called by your mocks.
10378    fn get_polling_backoff_policy(
10379        &self,
10380        _options: &crate::RequestOptions,
10381    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10382        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10383    }
10384
10385    #[doc(hidden)]
10386    /// Returns the poller options.
10387    ///
10388    /// When mocking, this method is typically irrelevant. Do not try to verify
10389    /// it is called by your mocks.
10390    fn get_poller_options(
10391        &self,
10392        _options: &crate::RequestOptions,
10393    ) -> google_cloud_lro::PollerOptions {
10394        google_cloud_lro::PollerOptions::default()
10395    }
10396}
10397
10398/// Defines the trait used to implement [super::client::RegionInstanceGroups].
10399///
10400/// Application developers may need to implement this trait to mock
10401/// `client::RegionInstanceGroups`.  In other use-cases, application developers only
10402/// use `client::RegionInstanceGroups` and need not be concerned with this trait or
10403/// its implementations.
10404///
10405/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10406/// too. To avoid breaking applications the trait provides a default
10407/// implementation of each method. Most of these implementations just return an
10408/// error.
10409#[cfg(feature = "region-instance-groups")]
10410#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-groups")))]
10411pub trait RegionInstanceGroups: std::fmt::Debug + Send + Sync {
10412    /// Implements [super::client::RegionInstanceGroups::get].
10413    fn get(
10414        &self,
10415        _req: crate::model::region_instance_groups::GetRequest,
10416        _options: crate::RequestOptions,
10417    ) -> impl std::future::Future<
10418        Output = crate::Result<crate::Response<crate::model::InstanceGroup>>,
10419    > + Send {
10420        gaxi::unimplemented::unimplemented_stub()
10421    }
10422
10423    /// Implements [super::client::RegionInstanceGroups::list].
10424    fn list(
10425        &self,
10426        _req: crate::model::region_instance_groups::ListRequest,
10427        _options: crate::RequestOptions,
10428    ) -> impl std::future::Future<
10429        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupList>>,
10430    > + Send {
10431        gaxi::unimplemented::unimplemented_stub()
10432    }
10433
10434    /// Implements [super::client::RegionInstanceGroups::list_instances].
10435    fn list_instances(
10436        &self,
10437        _req: crate::model::region_instance_groups::ListInstancesRequest,
10438        _options: crate::RequestOptions,
10439    ) -> impl std::future::Future<
10440        Output = crate::Result<crate::Response<crate::model::RegionInstanceGroupsListInstances>>,
10441    > + Send {
10442        gaxi::unimplemented::unimplemented_stub()
10443    }
10444
10445    /// Implements [super::client::RegionInstanceGroups::set_named_ports].
10446    fn set_named_ports(
10447        &self,
10448        _req: crate::model::region_instance_groups::SetNamedPortsRequest,
10449        _options: crate::RequestOptions,
10450    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10451    {
10452        gaxi::unimplemented::unimplemented_stub()
10453    }
10454
10455    /// Implements [super::client::RegionInstanceGroups::test_iam_permissions].
10456    fn test_iam_permissions(
10457        &self,
10458        _req: crate::model::region_instance_groups::TestIamPermissionsRequest,
10459        _options: crate::RequestOptions,
10460    ) -> impl std::future::Future<
10461        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10462    > + Send {
10463        gaxi::unimplemented::unimplemented_stub()
10464    }
10465
10466    /// Implements [super::client::RegionInstanceGroups::get_operation].
10467    fn get_operation(
10468        &self,
10469        _req: crate::model::region_operations::GetRequest,
10470        _options: crate::RequestOptions,
10471    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10472    {
10473        gaxi::unimplemented::unimplemented_stub()
10474    }
10475
10476    /// Returns the polling error policy.
10477    ///
10478    /// When mocking, this method is typically irrelevant. Do not try to verify
10479    /// it is called by your mocks.
10480    fn get_polling_error_policy(
10481        &self,
10482        _options: &crate::RequestOptions,
10483    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10484        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10485    }
10486
10487    /// Returns the polling backoff policy.
10488    ///
10489    /// When mocking, this method is typically irrelevant. Do not try to verify
10490    /// it is called by your mocks.
10491    fn get_polling_backoff_policy(
10492        &self,
10493        _options: &crate::RequestOptions,
10494    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10495        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10496    }
10497
10498    #[doc(hidden)]
10499    /// Returns the poller options.
10500    ///
10501    /// When mocking, this method is typically irrelevant. Do not try to verify
10502    /// it is called by your mocks.
10503    fn get_poller_options(
10504        &self,
10505        _options: &crate::RequestOptions,
10506    ) -> google_cloud_lro::PollerOptions {
10507        google_cloud_lro::PollerOptions::default()
10508    }
10509}
10510
10511/// Defines the trait used to implement [super::client::RegionInstanceTemplates].
10512///
10513/// Application developers may need to implement this trait to mock
10514/// `client::RegionInstanceTemplates`.  In other use-cases, application developers only
10515/// use `client::RegionInstanceTemplates` and need not be concerned with this trait or
10516/// its implementations.
10517///
10518/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10519/// too. To avoid breaking applications the trait provides a default
10520/// implementation of each method. Most of these implementations just return an
10521/// error.
10522#[cfg(feature = "region-instance-templates")]
10523#[cfg_attr(docsrs, doc(cfg(feature = "region-instance-templates")))]
10524pub trait RegionInstanceTemplates: std::fmt::Debug + Send + Sync {
10525    /// Implements [super::client::RegionInstanceTemplates::delete].
10526    fn delete(
10527        &self,
10528        _req: crate::model::region_instance_templates::DeleteRequest,
10529        _options: crate::RequestOptions,
10530    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10531    {
10532        gaxi::unimplemented::unimplemented_stub()
10533    }
10534
10535    /// Implements [super::client::RegionInstanceTemplates::get].
10536    fn get(
10537        &self,
10538        _req: crate::model::region_instance_templates::GetRequest,
10539        _options: crate::RequestOptions,
10540    ) -> impl std::future::Future<
10541        Output = crate::Result<crate::Response<crate::model::InstanceTemplate>>,
10542    > + Send {
10543        gaxi::unimplemented::unimplemented_stub()
10544    }
10545
10546    /// Implements [super::client::RegionInstanceTemplates::insert].
10547    fn insert(
10548        &self,
10549        _req: crate::model::region_instance_templates::InsertRequest,
10550        _options: crate::RequestOptions,
10551    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10552    {
10553        gaxi::unimplemented::unimplemented_stub()
10554    }
10555
10556    /// Implements [super::client::RegionInstanceTemplates::list].
10557    fn list(
10558        &self,
10559        _req: crate::model::region_instance_templates::ListRequest,
10560        _options: crate::RequestOptions,
10561    ) -> impl std::future::Future<
10562        Output = crate::Result<crate::Response<crate::model::InstanceTemplateList>>,
10563    > + Send {
10564        gaxi::unimplemented::unimplemented_stub()
10565    }
10566
10567    /// Implements [super::client::RegionInstanceTemplates::get_operation].
10568    fn get_operation(
10569        &self,
10570        _req: crate::model::region_operations::GetRequest,
10571        _options: crate::RequestOptions,
10572    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10573    {
10574        gaxi::unimplemented::unimplemented_stub()
10575    }
10576
10577    /// Returns the polling error policy.
10578    ///
10579    /// When mocking, this method is typically irrelevant. Do not try to verify
10580    /// it is called by your mocks.
10581    fn get_polling_error_policy(
10582        &self,
10583        _options: &crate::RequestOptions,
10584    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10585        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10586    }
10587
10588    /// Returns the polling backoff policy.
10589    ///
10590    /// When mocking, this method is typically irrelevant. Do not try to verify
10591    /// it is called by your mocks.
10592    fn get_polling_backoff_policy(
10593        &self,
10594        _options: &crate::RequestOptions,
10595    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10596        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10597    }
10598
10599    #[doc(hidden)]
10600    /// Returns the poller options.
10601    ///
10602    /// When mocking, this method is typically irrelevant. Do not try to verify
10603    /// it is called by your mocks.
10604    fn get_poller_options(
10605        &self,
10606        _options: &crate::RequestOptions,
10607    ) -> google_cloud_lro::PollerOptions {
10608        google_cloud_lro::PollerOptions::default()
10609    }
10610}
10611
10612/// Defines the trait used to implement [super::client::RegionInstances].
10613///
10614/// Application developers may need to implement this trait to mock
10615/// `client::RegionInstances`.  In other use-cases, application developers only
10616/// use `client::RegionInstances` and need not be concerned with this trait or
10617/// its implementations.
10618///
10619/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10620/// too. To avoid breaking applications the trait provides a default
10621/// implementation of each method. Most of these implementations just return an
10622/// error.
10623#[cfg(feature = "region-instances")]
10624#[cfg_attr(docsrs, doc(cfg(feature = "region-instances")))]
10625pub trait RegionInstances: std::fmt::Debug + Send + Sync {
10626    /// Implements [super::client::RegionInstances::bulk_insert].
10627    fn bulk_insert(
10628        &self,
10629        _req: crate::model::region_instances::BulkInsertRequest,
10630        _options: crate::RequestOptions,
10631    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10632    {
10633        gaxi::unimplemented::unimplemented_stub()
10634    }
10635
10636    /// Implements [super::client::RegionInstances::get_operation].
10637    fn get_operation(
10638        &self,
10639        _req: crate::model::region_operations::GetRequest,
10640        _options: crate::RequestOptions,
10641    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10642    {
10643        gaxi::unimplemented::unimplemented_stub()
10644    }
10645
10646    /// Returns the polling error policy.
10647    ///
10648    /// When mocking, this method is typically irrelevant. Do not try to verify
10649    /// it is called by your mocks.
10650    fn get_polling_error_policy(
10651        &self,
10652        _options: &crate::RequestOptions,
10653    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10654        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10655    }
10656
10657    /// Returns the polling backoff policy.
10658    ///
10659    /// When mocking, this method is typically irrelevant. Do not try to verify
10660    /// it is called by your mocks.
10661    fn get_polling_backoff_policy(
10662        &self,
10663        _options: &crate::RequestOptions,
10664    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10665        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10666    }
10667
10668    #[doc(hidden)]
10669    /// Returns the poller options.
10670    ///
10671    /// When mocking, this method is typically irrelevant. Do not try to verify
10672    /// it is called by your mocks.
10673    fn get_poller_options(
10674        &self,
10675        _options: &crate::RequestOptions,
10676    ) -> google_cloud_lro::PollerOptions {
10677        google_cloud_lro::PollerOptions::default()
10678    }
10679}
10680
10681/// Defines the trait used to implement [super::client::RegionInstantSnapshotGroups].
10682///
10683/// Application developers may need to implement this trait to mock
10684/// `client::RegionInstantSnapshotGroups`.  In other use-cases, application developers only
10685/// use `client::RegionInstantSnapshotGroups` and need not be concerned with this trait or
10686/// its implementations.
10687///
10688/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10689/// too. To avoid breaking applications the trait provides a default
10690/// implementation of each method. Most of these implementations just return an
10691/// error.
10692#[cfg(feature = "region-instant-snapshot-groups")]
10693#[cfg_attr(docsrs, doc(cfg(feature = "region-instant-snapshot-groups")))]
10694pub trait RegionInstantSnapshotGroups: std::fmt::Debug + Send + Sync {
10695    /// Implements [super::client::RegionInstantSnapshotGroups::delete].
10696    fn delete(
10697        &self,
10698        _req: crate::model::region_instant_snapshot_groups::DeleteRequest,
10699        _options: crate::RequestOptions,
10700    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10701    {
10702        gaxi::unimplemented::unimplemented_stub()
10703    }
10704
10705    /// Implements [super::client::RegionInstantSnapshotGroups::get].
10706    fn get(
10707        &self,
10708        _req: crate::model::region_instant_snapshot_groups::GetRequest,
10709        _options: crate::RequestOptions,
10710    ) -> impl std::future::Future<
10711        Output = crate::Result<crate::Response<crate::model::InstantSnapshotGroup>>,
10712    > + Send {
10713        gaxi::unimplemented::unimplemented_stub()
10714    }
10715
10716    /// Implements [super::client::RegionInstantSnapshotGroups::get_iam_policy].
10717    fn get_iam_policy(
10718        &self,
10719        _req: crate::model::region_instant_snapshot_groups::GetIamPolicyRequest,
10720        _options: crate::RequestOptions,
10721    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10722    {
10723        gaxi::unimplemented::unimplemented_stub()
10724    }
10725
10726    /// Implements [super::client::RegionInstantSnapshotGroups::insert].
10727    fn insert(
10728        &self,
10729        _req: crate::model::region_instant_snapshot_groups::InsertRequest,
10730        _options: crate::RequestOptions,
10731    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10732    {
10733        gaxi::unimplemented::unimplemented_stub()
10734    }
10735
10736    /// Implements [super::client::RegionInstantSnapshotGroups::list].
10737    fn list(
10738        &self,
10739        _req: crate::model::region_instant_snapshot_groups::ListRequest,
10740        _options: crate::RequestOptions,
10741    ) -> impl std::future::Future<
10742        Output = crate::Result<crate::Response<crate::model::ListInstantSnapshotGroups>>,
10743    > + Send {
10744        gaxi::unimplemented::unimplemented_stub()
10745    }
10746
10747    /// Implements [super::client::RegionInstantSnapshotGroups::set_iam_policy].
10748    fn set_iam_policy(
10749        &self,
10750        _req: crate::model::region_instant_snapshot_groups::SetIamPolicyRequest,
10751        _options: crate::RequestOptions,
10752    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10753    {
10754        gaxi::unimplemented::unimplemented_stub()
10755    }
10756
10757    /// Implements [super::client::RegionInstantSnapshotGroups::test_iam_permissions].
10758    fn test_iam_permissions(
10759        &self,
10760        _req: crate::model::region_instant_snapshot_groups::TestIamPermissionsRequest,
10761        _options: crate::RequestOptions,
10762    ) -> impl std::future::Future<
10763        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10764    > + Send {
10765        gaxi::unimplemented::unimplemented_stub()
10766    }
10767
10768    /// Implements [super::client::RegionInstantSnapshotGroups::get_operation].
10769    fn get_operation(
10770        &self,
10771        _req: crate::model::region_operations::GetRequest,
10772        _options: crate::RequestOptions,
10773    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10774    {
10775        gaxi::unimplemented::unimplemented_stub()
10776    }
10777
10778    /// Returns the polling error policy.
10779    ///
10780    /// When mocking, this method is typically irrelevant. Do not try to verify
10781    /// it is called by your mocks.
10782    fn get_polling_error_policy(
10783        &self,
10784        _options: &crate::RequestOptions,
10785    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10786        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10787    }
10788
10789    /// Returns the polling backoff policy.
10790    ///
10791    /// When mocking, this method is typically irrelevant. Do not try to verify
10792    /// it is called by your mocks.
10793    fn get_polling_backoff_policy(
10794        &self,
10795        _options: &crate::RequestOptions,
10796    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10797        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10798    }
10799
10800    #[doc(hidden)]
10801    /// Returns the poller options.
10802    ///
10803    /// When mocking, this method is typically irrelevant. Do not try to verify
10804    /// it is called by your mocks.
10805    fn get_poller_options(
10806        &self,
10807        _options: &crate::RequestOptions,
10808    ) -> google_cloud_lro::PollerOptions {
10809        google_cloud_lro::PollerOptions::default()
10810    }
10811}
10812
10813/// Defines the trait used to implement [super::client::RegionInstantSnapshots].
10814///
10815/// Application developers may need to implement this trait to mock
10816/// `client::RegionInstantSnapshots`.  In other use-cases, application developers only
10817/// use `client::RegionInstantSnapshots` and need not be concerned with this trait or
10818/// its implementations.
10819///
10820/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10821/// too. To avoid breaking applications the trait provides a default
10822/// implementation of each method. Most of these implementations just return an
10823/// error.
10824#[cfg(feature = "region-instant-snapshots")]
10825#[cfg_attr(docsrs, doc(cfg(feature = "region-instant-snapshots")))]
10826pub trait RegionInstantSnapshots: std::fmt::Debug + Send + Sync {
10827    /// Implements [super::client::RegionInstantSnapshots::delete].
10828    fn delete(
10829        &self,
10830        _req: crate::model::region_instant_snapshots::DeleteRequest,
10831        _options: crate::RequestOptions,
10832    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10833    {
10834        gaxi::unimplemented::unimplemented_stub()
10835    }
10836
10837    /// Implements [super::client::RegionInstantSnapshots::get].
10838    fn get(
10839        &self,
10840        _req: crate::model::region_instant_snapshots::GetRequest,
10841        _options: crate::RequestOptions,
10842    ) -> impl std::future::Future<
10843        Output = crate::Result<crate::Response<crate::model::InstantSnapshot>>,
10844    > + Send {
10845        gaxi::unimplemented::unimplemented_stub()
10846    }
10847
10848    /// Implements [super::client::RegionInstantSnapshots::get_iam_policy].
10849    fn get_iam_policy(
10850        &self,
10851        _req: crate::model::region_instant_snapshots::GetIamPolicyRequest,
10852        _options: crate::RequestOptions,
10853    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10854    {
10855        gaxi::unimplemented::unimplemented_stub()
10856    }
10857
10858    /// Implements [super::client::RegionInstantSnapshots::insert].
10859    fn insert(
10860        &self,
10861        _req: crate::model::region_instant_snapshots::InsertRequest,
10862        _options: crate::RequestOptions,
10863    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10864    {
10865        gaxi::unimplemented::unimplemented_stub()
10866    }
10867
10868    /// Implements [super::client::RegionInstantSnapshots::list].
10869    fn list(
10870        &self,
10871        _req: crate::model::region_instant_snapshots::ListRequest,
10872        _options: crate::RequestOptions,
10873    ) -> impl std::future::Future<
10874        Output = crate::Result<crate::Response<crate::model::InstantSnapshotList>>,
10875    > + Send {
10876        gaxi::unimplemented::unimplemented_stub()
10877    }
10878
10879    /// Implements [super::client::RegionInstantSnapshots::set_iam_policy].
10880    fn set_iam_policy(
10881        &self,
10882        _req: crate::model::region_instant_snapshots::SetIamPolicyRequest,
10883        _options: crate::RequestOptions,
10884    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
10885    {
10886        gaxi::unimplemented::unimplemented_stub()
10887    }
10888
10889    /// Implements [super::client::RegionInstantSnapshots::set_labels].
10890    fn set_labels(
10891        &self,
10892        _req: crate::model::region_instant_snapshots::SetLabelsRequest,
10893        _options: crate::RequestOptions,
10894    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10895    {
10896        gaxi::unimplemented::unimplemented_stub()
10897    }
10898
10899    /// Implements [super::client::RegionInstantSnapshots::test_iam_permissions].
10900    fn test_iam_permissions(
10901        &self,
10902        _req: crate::model::region_instant_snapshots::TestIamPermissionsRequest,
10903        _options: crate::RequestOptions,
10904    ) -> impl std::future::Future<
10905        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
10906    > + Send {
10907        gaxi::unimplemented::unimplemented_stub()
10908    }
10909
10910    /// Implements [super::client::RegionInstantSnapshots::get_operation].
10911    fn get_operation(
10912        &self,
10913        _req: crate::model::region_operations::GetRequest,
10914        _options: crate::RequestOptions,
10915    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10916    {
10917        gaxi::unimplemented::unimplemented_stub()
10918    }
10919
10920    /// Returns the polling error policy.
10921    ///
10922    /// When mocking, this method is typically irrelevant. Do not try to verify
10923    /// it is called by your mocks.
10924    fn get_polling_error_policy(
10925        &self,
10926        _options: &crate::RequestOptions,
10927    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
10928        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
10929    }
10930
10931    /// Returns the polling backoff policy.
10932    ///
10933    /// When mocking, this method is typically irrelevant. Do not try to verify
10934    /// it is called by your mocks.
10935    fn get_polling_backoff_policy(
10936        &self,
10937        _options: &crate::RequestOptions,
10938    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
10939        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
10940    }
10941
10942    #[doc(hidden)]
10943    /// Returns the poller options.
10944    ///
10945    /// When mocking, this method is typically irrelevant. Do not try to verify
10946    /// it is called by your mocks.
10947    fn get_poller_options(
10948        &self,
10949        _options: &crate::RequestOptions,
10950    ) -> google_cloud_lro::PollerOptions {
10951        google_cloud_lro::PollerOptions::default()
10952    }
10953}
10954
10955/// Defines the trait used to implement [super::client::RegionNetworkEndpointGroups].
10956///
10957/// Application developers may need to implement this trait to mock
10958/// `client::RegionNetworkEndpointGroups`.  In other use-cases, application developers only
10959/// use `client::RegionNetworkEndpointGroups` and need not be concerned with this trait or
10960/// its implementations.
10961///
10962/// Services gain new RPCs routinely. Consequently, this trait gains new methods
10963/// too. To avoid breaking applications the trait provides a default
10964/// implementation of each method. Most of these implementations just return an
10965/// error.
10966#[cfg(feature = "region-network-endpoint-groups")]
10967#[cfg_attr(docsrs, doc(cfg(feature = "region-network-endpoint-groups")))]
10968pub trait RegionNetworkEndpointGroups: std::fmt::Debug + Send + Sync {
10969    /// Implements [super::client::RegionNetworkEndpointGroups::attach_network_endpoints].
10970    fn attach_network_endpoints(
10971        &self,
10972        _req: crate::model::region_network_endpoint_groups::AttachNetworkEndpointsRequest,
10973        _options: crate::RequestOptions,
10974    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10975    {
10976        gaxi::unimplemented::unimplemented_stub()
10977    }
10978
10979    /// Implements [super::client::RegionNetworkEndpointGroups::delete].
10980    fn delete(
10981        &self,
10982        _req: crate::model::region_network_endpoint_groups::DeleteRequest,
10983        _options: crate::RequestOptions,
10984    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10985    {
10986        gaxi::unimplemented::unimplemented_stub()
10987    }
10988
10989    /// Implements [super::client::RegionNetworkEndpointGroups::detach_network_endpoints].
10990    fn detach_network_endpoints(
10991        &self,
10992        _req: crate::model::region_network_endpoint_groups::DetachNetworkEndpointsRequest,
10993        _options: crate::RequestOptions,
10994    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
10995    {
10996        gaxi::unimplemented::unimplemented_stub()
10997    }
10998
10999    /// Implements [super::client::RegionNetworkEndpointGroups::get].
11000    fn get(
11001        &self,
11002        _req: crate::model::region_network_endpoint_groups::GetRequest,
11003        _options: crate::RequestOptions,
11004    ) -> impl std::future::Future<
11005        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroup>>,
11006    > + Send {
11007        gaxi::unimplemented::unimplemented_stub()
11008    }
11009
11010    /// Implements [super::client::RegionNetworkEndpointGroups::insert].
11011    fn insert(
11012        &self,
11013        _req: crate::model::region_network_endpoint_groups::InsertRequest,
11014        _options: crate::RequestOptions,
11015    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11016    {
11017        gaxi::unimplemented::unimplemented_stub()
11018    }
11019
11020    /// Implements [super::client::RegionNetworkEndpointGroups::list].
11021    fn list(
11022        &self,
11023        _req: crate::model::region_network_endpoint_groups::ListRequest,
11024        _options: crate::RequestOptions,
11025    ) -> impl std::future::Future<
11026        Output = crate::Result<crate::Response<crate::model::NetworkEndpointGroupList>>,
11027    > + Send {
11028        gaxi::unimplemented::unimplemented_stub()
11029    }
11030
11031    /// Implements [super::client::RegionNetworkEndpointGroups::list_network_endpoints].
11032    fn list_network_endpoints(
11033        &self,
11034        _req: crate::model::region_network_endpoint_groups::ListNetworkEndpointsRequest,
11035        _options: crate::RequestOptions,
11036    ) -> impl std::future::Future<
11037        Output = crate::Result<
11038            crate::Response<crate::model::NetworkEndpointGroupsListNetworkEndpoints>,
11039        >,
11040    > + Send {
11041        gaxi::unimplemented::unimplemented_stub()
11042    }
11043
11044    /// Implements [super::client::RegionNetworkEndpointGroups::get_operation].
11045    fn get_operation(
11046        &self,
11047        _req: crate::model::region_operations::GetRequest,
11048        _options: crate::RequestOptions,
11049    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11050    {
11051        gaxi::unimplemented::unimplemented_stub()
11052    }
11053
11054    /// Returns the polling error policy.
11055    ///
11056    /// When mocking, this method is typically irrelevant. Do not try to verify
11057    /// it is called by your mocks.
11058    fn get_polling_error_policy(
11059        &self,
11060        _options: &crate::RequestOptions,
11061    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11062        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11063    }
11064
11065    /// Returns the polling backoff policy.
11066    ///
11067    /// When mocking, this method is typically irrelevant. Do not try to verify
11068    /// it is called by your mocks.
11069    fn get_polling_backoff_policy(
11070        &self,
11071        _options: &crate::RequestOptions,
11072    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11073        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11074    }
11075
11076    #[doc(hidden)]
11077    /// Returns the poller options.
11078    ///
11079    /// When mocking, this method is typically irrelevant. Do not try to verify
11080    /// it is called by your mocks.
11081    fn get_poller_options(
11082        &self,
11083        _options: &crate::RequestOptions,
11084    ) -> google_cloud_lro::PollerOptions {
11085        google_cloud_lro::PollerOptions::default()
11086    }
11087}
11088
11089/// Defines the trait used to implement [super::client::RegionNetworkFirewallPolicies].
11090///
11091/// Application developers may need to implement this trait to mock
11092/// `client::RegionNetworkFirewallPolicies`.  In other use-cases, application developers only
11093/// use `client::RegionNetworkFirewallPolicies` and need not be concerned with this trait or
11094/// its implementations.
11095///
11096/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11097/// too. To avoid breaking applications the trait provides a default
11098/// implementation of each method. Most of these implementations just return an
11099/// error.
11100#[cfg(feature = "region-network-firewall-policies")]
11101#[cfg_attr(docsrs, doc(cfg(feature = "region-network-firewall-policies")))]
11102pub trait RegionNetworkFirewallPolicies: std::fmt::Debug + Send + Sync {
11103    /// Implements [super::client::RegionNetworkFirewallPolicies::add_association].
11104    fn add_association(
11105        &self,
11106        _req: crate::model::region_network_firewall_policies::AddAssociationRequest,
11107        _options: crate::RequestOptions,
11108    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11109    {
11110        gaxi::unimplemented::unimplemented_stub()
11111    }
11112
11113    /// Implements [super::client::RegionNetworkFirewallPolicies::add_rule].
11114    fn add_rule(
11115        &self,
11116        _req: crate::model::region_network_firewall_policies::AddRuleRequest,
11117        _options: crate::RequestOptions,
11118    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11119    {
11120        gaxi::unimplemented::unimplemented_stub()
11121    }
11122
11123    /// Implements [super::client::RegionNetworkFirewallPolicies::clone_rules].
11124    fn clone_rules(
11125        &self,
11126        _req: crate::model::region_network_firewall_policies::CloneRulesRequest,
11127        _options: crate::RequestOptions,
11128    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11129    {
11130        gaxi::unimplemented::unimplemented_stub()
11131    }
11132
11133    /// Implements [super::client::RegionNetworkFirewallPolicies::delete].
11134    fn delete(
11135        &self,
11136        _req: crate::model::region_network_firewall_policies::DeleteRequest,
11137        _options: crate::RequestOptions,
11138    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11139    {
11140        gaxi::unimplemented::unimplemented_stub()
11141    }
11142
11143    /// Implements [super::client::RegionNetworkFirewallPolicies::get].
11144    fn get(
11145        &self,
11146        _req: crate::model::region_network_firewall_policies::GetRequest,
11147        _options: crate::RequestOptions,
11148    ) -> impl std::future::Future<
11149        Output = crate::Result<crate::Response<crate::model::FirewallPolicy>>,
11150    > + Send {
11151        gaxi::unimplemented::unimplemented_stub()
11152    }
11153
11154    /// Implements [super::client::RegionNetworkFirewallPolicies::get_association].
11155    fn get_association(
11156        &self,
11157        _req: crate::model::region_network_firewall_policies::GetAssociationRequest,
11158        _options: crate::RequestOptions,
11159    ) -> impl std::future::Future<
11160        Output = crate::Result<crate::Response<crate::model::FirewallPolicyAssociation>>,
11161    > + Send {
11162        gaxi::unimplemented::unimplemented_stub()
11163    }
11164
11165    /// Implements [super::client::RegionNetworkFirewallPolicies::get_effective_firewalls].
11166    fn get_effective_firewalls(
11167        &self,
11168        _req: crate::model::region_network_firewall_policies::GetEffectiveFirewallsRequest,
11169        _options: crate::RequestOptions,
11170    ) -> impl std::future::Future<
11171        Output = crate::Result<
11172            crate::Response<
11173                crate::model::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse,
11174            >,
11175        >,
11176    > + Send {
11177        gaxi::unimplemented::unimplemented_stub()
11178    }
11179
11180    /// Implements [super::client::RegionNetworkFirewallPolicies::get_iam_policy].
11181    fn get_iam_policy(
11182        &self,
11183        _req: crate::model::region_network_firewall_policies::GetIamPolicyRequest,
11184        _options: crate::RequestOptions,
11185    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11186    {
11187        gaxi::unimplemented::unimplemented_stub()
11188    }
11189
11190    /// Implements [super::client::RegionNetworkFirewallPolicies::get_rule].
11191    fn get_rule(
11192        &self,
11193        _req: crate::model::region_network_firewall_policies::GetRuleRequest,
11194        _options: crate::RequestOptions,
11195    ) -> impl std::future::Future<
11196        Output = crate::Result<crate::Response<crate::model::FirewallPolicyRule>>,
11197    > + Send {
11198        gaxi::unimplemented::unimplemented_stub()
11199    }
11200
11201    /// Implements [super::client::RegionNetworkFirewallPolicies::insert].
11202    fn insert(
11203        &self,
11204        _req: crate::model::region_network_firewall_policies::InsertRequest,
11205        _options: crate::RequestOptions,
11206    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11207    {
11208        gaxi::unimplemented::unimplemented_stub()
11209    }
11210
11211    /// Implements [super::client::RegionNetworkFirewallPolicies::list].
11212    fn list(
11213        &self,
11214        _req: crate::model::region_network_firewall_policies::ListRequest,
11215        _options: crate::RequestOptions,
11216    ) -> impl std::future::Future<
11217        Output = crate::Result<crate::Response<crate::model::FirewallPolicyList>>,
11218    > + Send {
11219        gaxi::unimplemented::unimplemented_stub()
11220    }
11221
11222    /// Implements [super::client::RegionNetworkFirewallPolicies::patch].
11223    fn patch(
11224        &self,
11225        _req: crate::model::region_network_firewall_policies::PatchRequest,
11226        _options: crate::RequestOptions,
11227    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11228    {
11229        gaxi::unimplemented::unimplemented_stub()
11230    }
11231
11232    /// Implements [super::client::RegionNetworkFirewallPolicies::patch_rule].
11233    fn patch_rule(
11234        &self,
11235        _req: crate::model::region_network_firewall_policies::PatchRuleRequest,
11236        _options: crate::RequestOptions,
11237    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11238    {
11239        gaxi::unimplemented::unimplemented_stub()
11240    }
11241
11242    /// Implements [super::client::RegionNetworkFirewallPolicies::remove_association].
11243    fn remove_association(
11244        &self,
11245        _req: crate::model::region_network_firewall_policies::RemoveAssociationRequest,
11246        _options: crate::RequestOptions,
11247    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11248    {
11249        gaxi::unimplemented::unimplemented_stub()
11250    }
11251
11252    /// Implements [super::client::RegionNetworkFirewallPolicies::remove_rule].
11253    fn remove_rule(
11254        &self,
11255        _req: crate::model::region_network_firewall_policies::RemoveRuleRequest,
11256        _options: crate::RequestOptions,
11257    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11258    {
11259        gaxi::unimplemented::unimplemented_stub()
11260    }
11261
11262    /// Implements [super::client::RegionNetworkFirewallPolicies::set_iam_policy].
11263    fn set_iam_policy(
11264        &self,
11265        _req: crate::model::region_network_firewall_policies::SetIamPolicyRequest,
11266        _options: crate::RequestOptions,
11267    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11268    {
11269        gaxi::unimplemented::unimplemented_stub()
11270    }
11271
11272    /// Implements [super::client::RegionNetworkFirewallPolicies::test_iam_permissions].
11273    fn test_iam_permissions(
11274        &self,
11275        _req: crate::model::region_network_firewall_policies::TestIamPermissionsRequest,
11276        _options: crate::RequestOptions,
11277    ) -> impl std::future::Future<
11278        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11279    > + Send {
11280        gaxi::unimplemented::unimplemented_stub()
11281    }
11282
11283    /// Implements [super::client::RegionNetworkFirewallPolicies::get_operation].
11284    fn get_operation(
11285        &self,
11286        _req: crate::model::region_operations::GetRequest,
11287        _options: crate::RequestOptions,
11288    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11289    {
11290        gaxi::unimplemented::unimplemented_stub()
11291    }
11292
11293    /// Returns the polling error policy.
11294    ///
11295    /// When mocking, this method is typically irrelevant. Do not try to verify
11296    /// it is called by your mocks.
11297    fn get_polling_error_policy(
11298        &self,
11299        _options: &crate::RequestOptions,
11300    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11301        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11302    }
11303
11304    /// Returns the polling backoff policy.
11305    ///
11306    /// When mocking, this method is typically irrelevant. Do not try to verify
11307    /// it is called by your mocks.
11308    fn get_polling_backoff_policy(
11309        &self,
11310        _options: &crate::RequestOptions,
11311    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11312        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11313    }
11314
11315    #[doc(hidden)]
11316    /// Returns the poller options.
11317    ///
11318    /// When mocking, this method is typically irrelevant. Do not try to verify
11319    /// it is called by your mocks.
11320    fn get_poller_options(
11321        &self,
11322        _options: &crate::RequestOptions,
11323    ) -> google_cloud_lro::PollerOptions {
11324        google_cloud_lro::PollerOptions::default()
11325    }
11326}
11327
11328/// Defines the trait used to implement [super::client::RegionNotificationEndpoints].
11329///
11330/// Application developers may need to implement this trait to mock
11331/// `client::RegionNotificationEndpoints`.  In other use-cases, application developers only
11332/// use `client::RegionNotificationEndpoints` and need not be concerned with this trait or
11333/// its implementations.
11334///
11335/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11336/// too. To avoid breaking applications the trait provides a default
11337/// implementation of each method. Most of these implementations just return an
11338/// error.
11339#[cfg(feature = "region-notification-endpoints")]
11340#[cfg_attr(docsrs, doc(cfg(feature = "region-notification-endpoints")))]
11341pub trait RegionNotificationEndpoints: std::fmt::Debug + Send + Sync {
11342    /// Implements [super::client::RegionNotificationEndpoints::aggregated_list].
11343    fn aggregated_list(
11344        &self,
11345        _req: crate::model::region_notification_endpoints::AggregatedListRequest,
11346        _options: crate::RequestOptions,
11347    ) -> impl std::future::Future<
11348        Output = crate::Result<crate::Response<crate::model::NotificationEndpointAggregatedList>>,
11349    > + Send {
11350        gaxi::unimplemented::unimplemented_stub()
11351    }
11352
11353    /// Implements [super::client::RegionNotificationEndpoints::delete].
11354    fn delete(
11355        &self,
11356        _req: crate::model::region_notification_endpoints::DeleteRequest,
11357        _options: crate::RequestOptions,
11358    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11359    {
11360        gaxi::unimplemented::unimplemented_stub()
11361    }
11362
11363    /// Implements [super::client::RegionNotificationEndpoints::get].
11364    fn get(
11365        &self,
11366        _req: crate::model::region_notification_endpoints::GetRequest,
11367        _options: crate::RequestOptions,
11368    ) -> impl std::future::Future<
11369        Output = crate::Result<crate::Response<crate::model::NotificationEndpoint>>,
11370    > + Send {
11371        gaxi::unimplemented::unimplemented_stub()
11372    }
11373
11374    /// Implements [super::client::RegionNotificationEndpoints::insert].
11375    fn insert(
11376        &self,
11377        _req: crate::model::region_notification_endpoints::InsertRequest,
11378        _options: crate::RequestOptions,
11379    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11380    {
11381        gaxi::unimplemented::unimplemented_stub()
11382    }
11383
11384    /// Implements [super::client::RegionNotificationEndpoints::list].
11385    fn list(
11386        &self,
11387        _req: crate::model::region_notification_endpoints::ListRequest,
11388        _options: crate::RequestOptions,
11389    ) -> impl std::future::Future<
11390        Output = crate::Result<crate::Response<crate::model::NotificationEndpointList>>,
11391    > + Send {
11392        gaxi::unimplemented::unimplemented_stub()
11393    }
11394
11395    /// Implements [super::client::RegionNotificationEndpoints::test_iam_permissions].
11396    fn test_iam_permissions(
11397        &self,
11398        _req: crate::model::region_notification_endpoints::TestIamPermissionsRequest,
11399        _options: crate::RequestOptions,
11400    ) -> impl std::future::Future<
11401        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11402    > + Send {
11403        gaxi::unimplemented::unimplemented_stub()
11404    }
11405
11406    /// Implements [super::client::RegionNotificationEndpoints::get_operation].
11407    fn get_operation(
11408        &self,
11409        _req: crate::model::region_operations::GetRequest,
11410        _options: crate::RequestOptions,
11411    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11412    {
11413        gaxi::unimplemented::unimplemented_stub()
11414    }
11415
11416    /// Returns the polling error policy.
11417    ///
11418    /// When mocking, this method is typically irrelevant. Do not try to verify
11419    /// it is called by your mocks.
11420    fn get_polling_error_policy(
11421        &self,
11422        _options: &crate::RequestOptions,
11423    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11424        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11425    }
11426
11427    /// Returns the polling backoff policy.
11428    ///
11429    /// When mocking, this method is typically irrelevant. Do not try to verify
11430    /// it is called by your mocks.
11431    fn get_polling_backoff_policy(
11432        &self,
11433        _options: &crate::RequestOptions,
11434    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11435        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11436    }
11437
11438    #[doc(hidden)]
11439    /// Returns the poller options.
11440    ///
11441    /// When mocking, this method is typically irrelevant. Do not try to verify
11442    /// it is called by your mocks.
11443    fn get_poller_options(
11444        &self,
11445        _options: &crate::RequestOptions,
11446    ) -> google_cloud_lro::PollerOptions {
11447        google_cloud_lro::PollerOptions::default()
11448    }
11449}
11450
11451/// Defines the trait used to implement [super::client::RegionOperations].
11452///
11453/// Application developers may need to implement this trait to mock
11454/// `client::RegionOperations`.  In other use-cases, application developers only
11455/// use `client::RegionOperations` and need not be concerned with this trait or
11456/// its implementations.
11457///
11458/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11459/// too. To avoid breaking applications the trait provides a default
11460/// implementation of each method. Most of these implementations just return an
11461/// error.
11462#[cfg(feature = "region-operations")]
11463#[cfg_attr(docsrs, doc(cfg(feature = "region-operations")))]
11464pub trait RegionOperations: std::fmt::Debug + Send + Sync {
11465    /// Implements [super::client::RegionOperations::delete].
11466    fn delete(
11467        &self,
11468        _req: crate::model::region_operations::DeleteRequest,
11469        _options: crate::RequestOptions,
11470    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
11471        gaxi::unimplemented::unimplemented_stub()
11472    }
11473
11474    /// Implements [super::client::RegionOperations::get].
11475    fn get(
11476        &self,
11477        _req: crate::model::region_operations::GetRequest,
11478        _options: crate::RequestOptions,
11479    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11480    {
11481        gaxi::unimplemented::unimplemented_stub()
11482    }
11483
11484    /// Implements [super::client::RegionOperations::list].
11485    fn list(
11486        &self,
11487        _req: crate::model::region_operations::ListRequest,
11488        _options: crate::RequestOptions,
11489    ) -> impl std::future::Future<
11490        Output = crate::Result<crate::Response<crate::model::OperationList>>,
11491    > + Send {
11492        gaxi::unimplemented::unimplemented_stub()
11493    }
11494
11495    /// Implements [super::client::RegionOperations::wait].
11496    fn wait(
11497        &self,
11498        _req: crate::model::region_operations::WaitRequest,
11499        _options: crate::RequestOptions,
11500    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11501    {
11502        gaxi::unimplemented::unimplemented_stub()
11503    }
11504}
11505
11506/// Defines the trait used to implement [super::client::RegionSecurityPolicies].
11507///
11508/// Application developers may need to implement this trait to mock
11509/// `client::RegionSecurityPolicies`.  In other use-cases, application developers only
11510/// use `client::RegionSecurityPolicies` and need not be concerned with this trait or
11511/// its implementations.
11512///
11513/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11514/// too. To avoid breaking applications the trait provides a default
11515/// implementation of each method. Most of these implementations just return an
11516/// error.
11517#[cfg(feature = "region-security-policies")]
11518#[cfg_attr(docsrs, doc(cfg(feature = "region-security-policies")))]
11519pub trait RegionSecurityPolicies: std::fmt::Debug + Send + Sync {
11520    /// Implements [super::client::RegionSecurityPolicies::add_rule].
11521    fn add_rule(
11522        &self,
11523        _req: crate::model::region_security_policies::AddRuleRequest,
11524        _options: crate::RequestOptions,
11525    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11526    {
11527        gaxi::unimplemented::unimplemented_stub()
11528    }
11529
11530    /// Implements [super::client::RegionSecurityPolicies::delete].
11531    fn delete(
11532        &self,
11533        _req: crate::model::region_security_policies::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::RegionSecurityPolicies::get].
11541    fn get(
11542        &self,
11543        _req: crate::model::region_security_policies::GetRequest,
11544        _options: crate::RequestOptions,
11545    ) -> impl std::future::Future<
11546        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
11547    > + Send {
11548        gaxi::unimplemented::unimplemented_stub()
11549    }
11550
11551    /// Implements [super::client::RegionSecurityPolicies::get_rule].
11552    fn get_rule(
11553        &self,
11554        _req: crate::model::region_security_policies::GetRuleRequest,
11555        _options: crate::RequestOptions,
11556    ) -> impl std::future::Future<
11557        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
11558    > + Send {
11559        gaxi::unimplemented::unimplemented_stub()
11560    }
11561
11562    /// Implements [super::client::RegionSecurityPolicies::insert].
11563    fn insert(
11564        &self,
11565        _req: crate::model::region_security_policies::InsertRequest,
11566        _options: crate::RequestOptions,
11567    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11568    {
11569        gaxi::unimplemented::unimplemented_stub()
11570    }
11571
11572    /// Implements [super::client::RegionSecurityPolicies::list].
11573    fn list(
11574        &self,
11575        _req: crate::model::region_security_policies::ListRequest,
11576        _options: crate::RequestOptions,
11577    ) -> impl std::future::Future<
11578        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
11579    > + Send {
11580        gaxi::unimplemented::unimplemented_stub()
11581    }
11582
11583    /// Implements [super::client::RegionSecurityPolicies::patch].
11584    fn patch(
11585        &self,
11586        _req: crate::model::region_security_policies::PatchRequest,
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    /// Implements [super::client::RegionSecurityPolicies::patch_rule].
11594    fn patch_rule(
11595        &self,
11596        _req: crate::model::region_security_policies::PatchRuleRequest,
11597        _options: crate::RequestOptions,
11598    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11599    {
11600        gaxi::unimplemented::unimplemented_stub()
11601    }
11602
11603    /// Implements [super::client::RegionSecurityPolicies::remove_rule].
11604    fn remove_rule(
11605        &self,
11606        _req: crate::model::region_security_policies::RemoveRuleRequest,
11607        _options: crate::RequestOptions,
11608    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11609    {
11610        gaxi::unimplemented::unimplemented_stub()
11611    }
11612
11613    /// Implements [super::client::RegionSecurityPolicies::set_labels].
11614    fn set_labels(
11615        &self,
11616        _req: crate::model::region_security_policies::SetLabelsRequest,
11617        _options: crate::RequestOptions,
11618    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11619    {
11620        gaxi::unimplemented::unimplemented_stub()
11621    }
11622
11623    /// Implements [super::client::RegionSecurityPolicies::get_operation].
11624    fn get_operation(
11625        &self,
11626        _req: crate::model::region_operations::GetRequest,
11627        _options: crate::RequestOptions,
11628    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11629    {
11630        gaxi::unimplemented::unimplemented_stub()
11631    }
11632
11633    /// Returns the polling error policy.
11634    ///
11635    /// When mocking, this method is typically irrelevant. Do not try to verify
11636    /// it is called by your mocks.
11637    fn get_polling_error_policy(
11638        &self,
11639        _options: &crate::RequestOptions,
11640    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11641        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11642    }
11643
11644    /// Returns the polling backoff policy.
11645    ///
11646    /// When mocking, this method is typically irrelevant. Do not try to verify
11647    /// it is called by your mocks.
11648    fn get_polling_backoff_policy(
11649        &self,
11650        _options: &crate::RequestOptions,
11651    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11652        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11653    }
11654
11655    #[doc(hidden)]
11656    /// Returns the poller options.
11657    ///
11658    /// When mocking, this method is typically irrelevant. Do not try to verify
11659    /// it is called by your mocks.
11660    fn get_poller_options(
11661        &self,
11662        _options: &crate::RequestOptions,
11663    ) -> google_cloud_lro::PollerOptions {
11664        google_cloud_lro::PollerOptions::default()
11665    }
11666}
11667
11668/// Defines the trait used to implement [super::client::RegionSnapshotSettings].
11669///
11670/// Application developers may need to implement this trait to mock
11671/// `client::RegionSnapshotSettings`.  In other use-cases, application developers only
11672/// use `client::RegionSnapshotSettings` and need not be concerned with this trait or
11673/// its implementations.
11674///
11675/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11676/// too. To avoid breaking applications the trait provides a default
11677/// implementation of each method. Most of these implementations just return an
11678/// error.
11679#[cfg(feature = "region-snapshot-settings")]
11680#[cfg_attr(docsrs, doc(cfg(feature = "region-snapshot-settings")))]
11681pub trait RegionSnapshotSettings: std::fmt::Debug + Send + Sync {
11682    /// Implements [super::client::RegionSnapshotSettings::get].
11683    fn get(
11684        &self,
11685        _req: crate::model::region_snapshot_settings::GetRequest,
11686        _options: crate::RequestOptions,
11687    ) -> impl std::future::Future<
11688        Output = crate::Result<crate::Response<crate::model::SnapshotSettings>>,
11689    > + Send {
11690        gaxi::unimplemented::unimplemented_stub()
11691    }
11692
11693    /// Implements [super::client::RegionSnapshotSettings::patch].
11694    fn patch(
11695        &self,
11696        _req: crate::model::region_snapshot_settings::PatchRequest,
11697        _options: crate::RequestOptions,
11698    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11699    {
11700        gaxi::unimplemented::unimplemented_stub()
11701    }
11702
11703    /// Implements [super::client::RegionSnapshotSettings::get_operation].
11704    fn get_operation(
11705        &self,
11706        _req: crate::model::region_operations::GetRequest,
11707        _options: crate::RequestOptions,
11708    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11709    {
11710        gaxi::unimplemented::unimplemented_stub()
11711    }
11712
11713    /// Returns the polling error policy.
11714    ///
11715    /// When mocking, this method is typically irrelevant. Do not try to verify
11716    /// it is called by your mocks.
11717    fn get_polling_error_policy(
11718        &self,
11719        _options: &crate::RequestOptions,
11720    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11721        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11722    }
11723
11724    /// Returns the polling backoff policy.
11725    ///
11726    /// When mocking, this method is typically irrelevant. Do not try to verify
11727    /// it is called by your mocks.
11728    fn get_polling_backoff_policy(
11729        &self,
11730        _options: &crate::RequestOptions,
11731    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11732        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11733    }
11734
11735    #[doc(hidden)]
11736    /// Returns the poller options.
11737    ///
11738    /// When mocking, this method is typically irrelevant. Do not try to verify
11739    /// it is called by your mocks.
11740    fn get_poller_options(
11741        &self,
11742        _options: &crate::RequestOptions,
11743    ) -> google_cloud_lro::PollerOptions {
11744        google_cloud_lro::PollerOptions::default()
11745    }
11746}
11747
11748/// Defines the trait used to implement [super::client::RegionSnapshots].
11749///
11750/// Application developers may need to implement this trait to mock
11751/// `client::RegionSnapshots`.  In other use-cases, application developers only
11752/// use `client::RegionSnapshots` and need not be concerned with this trait or
11753/// its implementations.
11754///
11755/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11756/// too. To avoid breaking applications the trait provides a default
11757/// implementation of each method. Most of these implementations just return an
11758/// error.
11759#[cfg(feature = "region-snapshots")]
11760#[cfg_attr(docsrs, doc(cfg(feature = "region-snapshots")))]
11761pub trait RegionSnapshots: std::fmt::Debug + Send + Sync {
11762    /// Implements [super::client::RegionSnapshots::delete].
11763    fn delete(
11764        &self,
11765        _req: crate::model::region_snapshots::DeleteRequest,
11766        _options: crate::RequestOptions,
11767    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11768    {
11769        gaxi::unimplemented::unimplemented_stub()
11770    }
11771
11772    /// Implements [super::client::RegionSnapshots::get].
11773    fn get(
11774        &self,
11775        _req: crate::model::region_snapshots::GetRequest,
11776        _options: crate::RequestOptions,
11777    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Snapshot>>> + Send
11778    {
11779        gaxi::unimplemented::unimplemented_stub()
11780    }
11781
11782    /// Implements [super::client::RegionSnapshots::get_iam_policy].
11783    fn get_iam_policy(
11784        &self,
11785        _req: crate::model::region_snapshots::GetIamPolicyRequest,
11786        _options: crate::RequestOptions,
11787    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11788    {
11789        gaxi::unimplemented::unimplemented_stub()
11790    }
11791
11792    /// Implements [super::client::RegionSnapshots::insert].
11793    fn insert(
11794        &self,
11795        _req: crate::model::region_snapshots::InsertRequest,
11796        _options: crate::RequestOptions,
11797    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11798    {
11799        gaxi::unimplemented::unimplemented_stub()
11800    }
11801
11802    /// Implements [super::client::RegionSnapshots::list].
11803    fn list(
11804        &self,
11805        _req: crate::model::region_snapshots::ListRequest,
11806        _options: crate::RequestOptions,
11807    ) -> impl std::future::Future<
11808        Output = crate::Result<crate::Response<crate::model::SnapshotList>>,
11809    > + Send {
11810        gaxi::unimplemented::unimplemented_stub()
11811    }
11812
11813    /// Implements [super::client::RegionSnapshots::set_iam_policy].
11814    fn set_iam_policy(
11815        &self,
11816        _req: crate::model::region_snapshots::SetIamPolicyRequest,
11817        _options: crate::RequestOptions,
11818    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
11819    {
11820        gaxi::unimplemented::unimplemented_stub()
11821    }
11822
11823    /// Implements [super::client::RegionSnapshots::set_labels].
11824    fn set_labels(
11825        &self,
11826        _req: crate::model::region_snapshots::SetLabelsRequest,
11827        _options: crate::RequestOptions,
11828    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11829    {
11830        gaxi::unimplemented::unimplemented_stub()
11831    }
11832
11833    /// Implements [super::client::RegionSnapshots::test_iam_permissions].
11834    fn test_iam_permissions(
11835        &self,
11836        _req: crate::model::region_snapshots::TestIamPermissionsRequest,
11837        _options: crate::RequestOptions,
11838    ) -> impl std::future::Future<
11839        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
11840    > + Send {
11841        gaxi::unimplemented::unimplemented_stub()
11842    }
11843
11844    /// Implements [super::client::RegionSnapshots::update_kms_key].
11845    fn update_kms_key(
11846        &self,
11847        _req: crate::model::region_snapshots::UpdateKmsKeyRequest,
11848        _options: crate::RequestOptions,
11849    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11850    {
11851        gaxi::unimplemented::unimplemented_stub()
11852    }
11853
11854    /// Implements [super::client::RegionSnapshots::get_operation].
11855    fn get_operation(
11856        &self,
11857        _req: crate::model::region_operations::GetRequest,
11858        _options: crate::RequestOptions,
11859    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11860    {
11861        gaxi::unimplemented::unimplemented_stub()
11862    }
11863
11864    /// Returns the polling error policy.
11865    ///
11866    /// When mocking, this method is typically irrelevant. Do not try to verify
11867    /// it is called by your mocks.
11868    fn get_polling_error_policy(
11869        &self,
11870        _options: &crate::RequestOptions,
11871    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11872        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11873    }
11874
11875    /// Returns the polling backoff policy.
11876    ///
11877    /// When mocking, this method is typically irrelevant. Do not try to verify
11878    /// it is called by your mocks.
11879    fn get_polling_backoff_policy(
11880        &self,
11881        _options: &crate::RequestOptions,
11882    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11883        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11884    }
11885
11886    #[doc(hidden)]
11887    /// Returns the poller options.
11888    ///
11889    /// When mocking, this method is typically irrelevant. Do not try to verify
11890    /// it is called by your mocks.
11891    fn get_poller_options(
11892        &self,
11893        _options: &crate::RequestOptions,
11894    ) -> google_cloud_lro::PollerOptions {
11895        google_cloud_lro::PollerOptions::default()
11896    }
11897}
11898
11899/// Defines the trait used to implement [super::client::RegionSslCertificates].
11900///
11901/// Application developers may need to implement this trait to mock
11902/// `client::RegionSslCertificates`.  In other use-cases, application developers only
11903/// use `client::RegionSslCertificates` and need not be concerned with this trait or
11904/// its implementations.
11905///
11906/// Services gain new RPCs routinely. Consequently, this trait gains new methods
11907/// too. To avoid breaking applications the trait provides a default
11908/// implementation of each method. Most of these implementations just return an
11909/// error.
11910#[cfg(feature = "region-ssl-certificates")]
11911#[cfg_attr(docsrs, doc(cfg(feature = "region-ssl-certificates")))]
11912pub trait RegionSslCertificates: std::fmt::Debug + Send + Sync {
11913    /// Implements [super::client::RegionSslCertificates::delete].
11914    fn delete(
11915        &self,
11916        _req: crate::model::region_ssl_certificates::DeleteRequest,
11917        _options: crate::RequestOptions,
11918    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11919    {
11920        gaxi::unimplemented::unimplemented_stub()
11921    }
11922
11923    /// Implements [super::client::RegionSslCertificates::get].
11924    fn get(
11925        &self,
11926        _req: crate::model::region_ssl_certificates::GetRequest,
11927        _options: crate::RequestOptions,
11928    ) -> impl std::future::Future<
11929        Output = crate::Result<crate::Response<crate::model::SslCertificate>>,
11930    > + Send {
11931        gaxi::unimplemented::unimplemented_stub()
11932    }
11933
11934    /// Implements [super::client::RegionSslCertificates::insert].
11935    fn insert(
11936        &self,
11937        _req: crate::model::region_ssl_certificates::InsertRequest,
11938        _options: crate::RequestOptions,
11939    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11940    {
11941        gaxi::unimplemented::unimplemented_stub()
11942    }
11943
11944    /// Implements [super::client::RegionSslCertificates::list].
11945    fn list(
11946        &self,
11947        _req: crate::model::region_ssl_certificates::ListRequest,
11948        _options: crate::RequestOptions,
11949    ) -> impl std::future::Future<
11950        Output = crate::Result<crate::Response<crate::model::SslCertificateList>>,
11951    > + Send {
11952        gaxi::unimplemented::unimplemented_stub()
11953    }
11954
11955    /// Implements [super::client::RegionSslCertificates::get_operation].
11956    fn get_operation(
11957        &self,
11958        _req: crate::model::region_operations::GetRequest,
11959        _options: crate::RequestOptions,
11960    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
11961    {
11962        gaxi::unimplemented::unimplemented_stub()
11963    }
11964
11965    /// Returns the polling error policy.
11966    ///
11967    /// When mocking, this method is typically irrelevant. Do not try to verify
11968    /// it is called by your mocks.
11969    fn get_polling_error_policy(
11970        &self,
11971        _options: &crate::RequestOptions,
11972    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
11973        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
11974    }
11975
11976    /// Returns the polling backoff policy.
11977    ///
11978    /// When mocking, this method is typically irrelevant. Do not try to verify
11979    /// it is called by your mocks.
11980    fn get_polling_backoff_policy(
11981        &self,
11982        _options: &crate::RequestOptions,
11983    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
11984        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
11985    }
11986
11987    #[doc(hidden)]
11988    /// Returns the poller options.
11989    ///
11990    /// When mocking, this method is typically irrelevant. Do not try to verify
11991    /// it is called by your mocks.
11992    fn get_poller_options(
11993        &self,
11994        _options: &crate::RequestOptions,
11995    ) -> google_cloud_lro::PollerOptions {
11996        google_cloud_lro::PollerOptions::default()
11997    }
11998}
11999
12000/// Defines the trait used to implement [super::client::RegionSslPolicies].
12001///
12002/// Application developers may need to implement this trait to mock
12003/// `client::RegionSslPolicies`.  In other use-cases, application developers only
12004/// use `client::RegionSslPolicies` and need not be concerned with this trait or
12005/// its implementations.
12006///
12007/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12008/// too. To avoid breaking applications the trait provides a default
12009/// implementation of each method. Most of these implementations just return an
12010/// error.
12011#[cfg(feature = "region-ssl-policies")]
12012#[cfg_attr(docsrs, doc(cfg(feature = "region-ssl-policies")))]
12013pub trait RegionSslPolicies: std::fmt::Debug + Send + Sync {
12014    /// Implements [super::client::RegionSslPolicies::delete].
12015    fn delete(
12016        &self,
12017        _req: crate::model::region_ssl_policies::DeleteRequest,
12018        _options: crate::RequestOptions,
12019    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12020    {
12021        gaxi::unimplemented::unimplemented_stub()
12022    }
12023
12024    /// Implements [super::client::RegionSslPolicies::get].
12025    fn get(
12026        &self,
12027        _req: crate::model::region_ssl_policies::GetRequest,
12028        _options: crate::RequestOptions,
12029    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::SslPolicy>>> + Send
12030    {
12031        gaxi::unimplemented::unimplemented_stub()
12032    }
12033
12034    /// Implements [super::client::RegionSslPolicies::insert].
12035    fn insert(
12036        &self,
12037        _req: crate::model::region_ssl_policies::InsertRequest,
12038        _options: crate::RequestOptions,
12039    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12040    {
12041        gaxi::unimplemented::unimplemented_stub()
12042    }
12043
12044    /// Implements [super::client::RegionSslPolicies::list].
12045    fn list(
12046        &self,
12047        _req: crate::model::region_ssl_policies::ListRequest,
12048        _options: crate::RequestOptions,
12049    ) -> impl std::future::Future<
12050        Output = crate::Result<crate::Response<crate::model::SslPoliciesList>>,
12051    > + Send {
12052        gaxi::unimplemented::unimplemented_stub()
12053    }
12054
12055    /// Implements [super::client::RegionSslPolicies::list_available_features].
12056    fn list_available_features(
12057        &self,
12058        _req: crate::model::region_ssl_policies::ListAvailableFeaturesRequest,
12059        _options: crate::RequestOptions,
12060    ) -> impl std::future::Future<
12061        Output = crate::Result<
12062            crate::Response<crate::model::SslPoliciesListAvailableFeaturesResponse>,
12063        >,
12064    > + Send {
12065        gaxi::unimplemented::unimplemented_stub()
12066    }
12067
12068    /// Implements [super::client::RegionSslPolicies::patch].
12069    fn patch(
12070        &self,
12071        _req: crate::model::region_ssl_policies::PatchRequest,
12072        _options: crate::RequestOptions,
12073    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12074    {
12075        gaxi::unimplemented::unimplemented_stub()
12076    }
12077
12078    /// Implements [super::client::RegionSslPolicies::get_operation].
12079    fn get_operation(
12080        &self,
12081        _req: crate::model::region_operations::GetRequest,
12082        _options: crate::RequestOptions,
12083    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12084    {
12085        gaxi::unimplemented::unimplemented_stub()
12086    }
12087
12088    /// Returns the polling error policy.
12089    ///
12090    /// When mocking, this method is typically irrelevant. Do not try to verify
12091    /// it is called by your mocks.
12092    fn get_polling_error_policy(
12093        &self,
12094        _options: &crate::RequestOptions,
12095    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12096        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12097    }
12098
12099    /// Returns the polling backoff policy.
12100    ///
12101    /// When mocking, this method is typically irrelevant. Do not try to verify
12102    /// it is called by your mocks.
12103    fn get_polling_backoff_policy(
12104        &self,
12105        _options: &crate::RequestOptions,
12106    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12107        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12108    }
12109
12110    #[doc(hidden)]
12111    /// Returns the poller options.
12112    ///
12113    /// When mocking, this method is typically irrelevant. Do not try to verify
12114    /// it is called by your mocks.
12115    fn get_poller_options(
12116        &self,
12117        _options: &crate::RequestOptions,
12118    ) -> google_cloud_lro::PollerOptions {
12119        google_cloud_lro::PollerOptions::default()
12120    }
12121}
12122
12123/// Defines the trait used to implement [super::client::RegionTargetHttpProxies].
12124///
12125/// Application developers may need to implement this trait to mock
12126/// `client::RegionTargetHttpProxies`.  In other use-cases, application developers only
12127/// use `client::RegionTargetHttpProxies` and need not be concerned with this trait or
12128/// its implementations.
12129///
12130/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12131/// too. To avoid breaking applications the trait provides a default
12132/// implementation of each method. Most of these implementations just return an
12133/// error.
12134#[cfg(feature = "region-target-http-proxies")]
12135#[cfg_attr(docsrs, doc(cfg(feature = "region-target-http-proxies")))]
12136pub trait RegionTargetHttpProxies: std::fmt::Debug + Send + Sync {
12137    /// Implements [super::client::RegionTargetHttpProxies::delete].
12138    fn delete(
12139        &self,
12140        _req: crate::model::region_target_http_proxies::DeleteRequest,
12141        _options: crate::RequestOptions,
12142    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12143    {
12144        gaxi::unimplemented::unimplemented_stub()
12145    }
12146
12147    /// Implements [super::client::RegionTargetHttpProxies::get].
12148    fn get(
12149        &self,
12150        _req: crate::model::region_target_http_proxies::GetRequest,
12151        _options: crate::RequestOptions,
12152    ) -> impl std::future::Future<
12153        Output = crate::Result<crate::Response<crate::model::TargetHttpProxy>>,
12154    > + Send {
12155        gaxi::unimplemented::unimplemented_stub()
12156    }
12157
12158    /// Implements [super::client::RegionTargetHttpProxies::insert].
12159    fn insert(
12160        &self,
12161        _req: crate::model::region_target_http_proxies::InsertRequest,
12162        _options: crate::RequestOptions,
12163    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12164    {
12165        gaxi::unimplemented::unimplemented_stub()
12166    }
12167
12168    /// Implements [super::client::RegionTargetHttpProxies::list].
12169    fn list(
12170        &self,
12171        _req: crate::model::region_target_http_proxies::ListRequest,
12172        _options: crate::RequestOptions,
12173    ) -> impl std::future::Future<
12174        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyList>>,
12175    > + Send {
12176        gaxi::unimplemented::unimplemented_stub()
12177    }
12178
12179    /// Implements [super::client::RegionTargetHttpProxies::set_url_map].
12180    fn set_url_map(
12181        &self,
12182        _req: crate::model::region_target_http_proxies::SetUrlMapRequest,
12183        _options: crate::RequestOptions,
12184    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12185    {
12186        gaxi::unimplemented::unimplemented_stub()
12187    }
12188
12189    /// Implements [super::client::RegionTargetHttpProxies::get_operation].
12190    fn get_operation(
12191        &self,
12192        _req: crate::model::region_operations::GetRequest,
12193        _options: crate::RequestOptions,
12194    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12195    {
12196        gaxi::unimplemented::unimplemented_stub()
12197    }
12198
12199    /// Returns the polling error policy.
12200    ///
12201    /// When mocking, this method is typically irrelevant. Do not try to verify
12202    /// it is called by your mocks.
12203    fn get_polling_error_policy(
12204        &self,
12205        _options: &crate::RequestOptions,
12206    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12207        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12208    }
12209
12210    /// Returns the polling backoff policy.
12211    ///
12212    /// When mocking, this method is typically irrelevant. Do not try to verify
12213    /// it is called by your mocks.
12214    fn get_polling_backoff_policy(
12215        &self,
12216        _options: &crate::RequestOptions,
12217    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12218        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12219    }
12220
12221    #[doc(hidden)]
12222    /// Returns the poller options.
12223    ///
12224    /// When mocking, this method is typically irrelevant. Do not try to verify
12225    /// it is called by your mocks.
12226    fn get_poller_options(
12227        &self,
12228        _options: &crate::RequestOptions,
12229    ) -> google_cloud_lro::PollerOptions {
12230        google_cloud_lro::PollerOptions::default()
12231    }
12232}
12233
12234/// Defines the trait used to implement [super::client::RegionTargetHttpsProxies].
12235///
12236/// Application developers may need to implement this trait to mock
12237/// `client::RegionTargetHttpsProxies`.  In other use-cases, application developers only
12238/// use `client::RegionTargetHttpsProxies` and need not be concerned with this trait or
12239/// its implementations.
12240///
12241/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12242/// too. To avoid breaking applications the trait provides a default
12243/// implementation of each method. Most of these implementations just return an
12244/// error.
12245#[cfg(feature = "region-target-https-proxies")]
12246#[cfg_attr(docsrs, doc(cfg(feature = "region-target-https-proxies")))]
12247pub trait RegionTargetHttpsProxies: std::fmt::Debug + Send + Sync {
12248    /// Implements [super::client::RegionTargetHttpsProxies::delete].
12249    fn delete(
12250        &self,
12251        _req: crate::model::region_target_https_proxies::DeleteRequest,
12252        _options: crate::RequestOptions,
12253    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12254    {
12255        gaxi::unimplemented::unimplemented_stub()
12256    }
12257
12258    /// Implements [super::client::RegionTargetHttpsProxies::get].
12259    fn get(
12260        &self,
12261        _req: crate::model::region_target_https_proxies::GetRequest,
12262        _options: crate::RequestOptions,
12263    ) -> impl std::future::Future<
12264        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxy>>,
12265    > + Send {
12266        gaxi::unimplemented::unimplemented_stub()
12267    }
12268
12269    /// Implements [super::client::RegionTargetHttpsProxies::insert].
12270    fn insert(
12271        &self,
12272        _req: crate::model::region_target_https_proxies::InsertRequest,
12273        _options: crate::RequestOptions,
12274    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12275    {
12276        gaxi::unimplemented::unimplemented_stub()
12277    }
12278
12279    /// Implements [super::client::RegionTargetHttpsProxies::list].
12280    fn list(
12281        &self,
12282        _req: crate::model::region_target_https_proxies::ListRequest,
12283        _options: crate::RequestOptions,
12284    ) -> impl std::future::Future<
12285        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyList>>,
12286    > + Send {
12287        gaxi::unimplemented::unimplemented_stub()
12288    }
12289
12290    /// Implements [super::client::RegionTargetHttpsProxies::patch].
12291    fn patch(
12292        &self,
12293        _req: crate::model::region_target_https_proxies::PatchRequest,
12294        _options: crate::RequestOptions,
12295    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12296    {
12297        gaxi::unimplemented::unimplemented_stub()
12298    }
12299
12300    /// Implements [super::client::RegionTargetHttpsProxies::set_ssl_certificates].
12301    fn set_ssl_certificates(
12302        &self,
12303        _req: crate::model::region_target_https_proxies::SetSslCertificatesRequest,
12304        _options: crate::RequestOptions,
12305    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12306    {
12307        gaxi::unimplemented::unimplemented_stub()
12308    }
12309
12310    /// Implements [super::client::RegionTargetHttpsProxies::set_url_map].
12311    fn set_url_map(
12312        &self,
12313        _req: crate::model::region_target_https_proxies::SetUrlMapRequest,
12314        _options: crate::RequestOptions,
12315    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12316    {
12317        gaxi::unimplemented::unimplemented_stub()
12318    }
12319
12320    /// Implements [super::client::RegionTargetHttpsProxies::get_operation].
12321    fn get_operation(
12322        &self,
12323        _req: crate::model::region_operations::GetRequest,
12324        _options: crate::RequestOptions,
12325    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12326    {
12327        gaxi::unimplemented::unimplemented_stub()
12328    }
12329
12330    /// Returns the polling error policy.
12331    ///
12332    /// When mocking, this method is typically irrelevant. Do not try to verify
12333    /// it is called by your mocks.
12334    fn get_polling_error_policy(
12335        &self,
12336        _options: &crate::RequestOptions,
12337    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12338        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12339    }
12340
12341    /// Returns the polling backoff policy.
12342    ///
12343    /// When mocking, this method is typically irrelevant. Do not try to verify
12344    /// it is called by your mocks.
12345    fn get_polling_backoff_policy(
12346        &self,
12347        _options: &crate::RequestOptions,
12348    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12349        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12350    }
12351
12352    #[doc(hidden)]
12353    /// Returns the poller options.
12354    ///
12355    /// When mocking, this method is typically irrelevant. Do not try to verify
12356    /// it is called by your mocks.
12357    fn get_poller_options(
12358        &self,
12359        _options: &crate::RequestOptions,
12360    ) -> google_cloud_lro::PollerOptions {
12361        google_cloud_lro::PollerOptions::default()
12362    }
12363}
12364
12365/// Defines the trait used to implement [super::client::RegionTargetTcpProxies].
12366///
12367/// Application developers may need to implement this trait to mock
12368/// `client::RegionTargetTcpProxies`.  In other use-cases, application developers only
12369/// use `client::RegionTargetTcpProxies` and need not be concerned with this trait or
12370/// its implementations.
12371///
12372/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12373/// too. To avoid breaking applications the trait provides a default
12374/// implementation of each method. Most of these implementations just return an
12375/// error.
12376#[cfg(feature = "region-target-tcp-proxies")]
12377#[cfg_attr(docsrs, doc(cfg(feature = "region-target-tcp-proxies")))]
12378pub trait RegionTargetTcpProxies: std::fmt::Debug + Send + Sync {
12379    /// Implements [super::client::RegionTargetTcpProxies::delete].
12380    fn delete(
12381        &self,
12382        _req: crate::model::region_target_tcp_proxies::DeleteRequest,
12383        _options: crate::RequestOptions,
12384    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12385    {
12386        gaxi::unimplemented::unimplemented_stub()
12387    }
12388
12389    /// Implements [super::client::RegionTargetTcpProxies::get].
12390    fn get(
12391        &self,
12392        _req: crate::model::region_target_tcp_proxies::GetRequest,
12393        _options: crate::RequestOptions,
12394    ) -> impl std::future::Future<
12395        Output = crate::Result<crate::Response<crate::model::TargetTcpProxy>>,
12396    > + Send {
12397        gaxi::unimplemented::unimplemented_stub()
12398    }
12399
12400    /// Implements [super::client::RegionTargetTcpProxies::insert].
12401    fn insert(
12402        &self,
12403        _req: crate::model::region_target_tcp_proxies::InsertRequest,
12404        _options: crate::RequestOptions,
12405    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12406    {
12407        gaxi::unimplemented::unimplemented_stub()
12408    }
12409
12410    /// Implements [super::client::RegionTargetTcpProxies::list].
12411    fn list(
12412        &self,
12413        _req: crate::model::region_target_tcp_proxies::ListRequest,
12414        _options: crate::RequestOptions,
12415    ) -> impl std::future::Future<
12416        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyList>>,
12417    > + Send {
12418        gaxi::unimplemented::unimplemented_stub()
12419    }
12420
12421    /// Implements [super::client::RegionTargetTcpProxies::get_operation].
12422    fn get_operation(
12423        &self,
12424        _req: crate::model::region_operations::GetRequest,
12425        _options: crate::RequestOptions,
12426    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12427    {
12428        gaxi::unimplemented::unimplemented_stub()
12429    }
12430
12431    /// Returns the polling error policy.
12432    ///
12433    /// When mocking, this method is typically irrelevant. Do not try to verify
12434    /// it is called by your mocks.
12435    fn get_polling_error_policy(
12436        &self,
12437        _options: &crate::RequestOptions,
12438    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12439        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12440    }
12441
12442    /// Returns the polling backoff policy.
12443    ///
12444    /// When mocking, this method is typically irrelevant. Do not try to verify
12445    /// it is called by your mocks.
12446    fn get_polling_backoff_policy(
12447        &self,
12448        _options: &crate::RequestOptions,
12449    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12450        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12451    }
12452
12453    #[doc(hidden)]
12454    /// Returns the poller options.
12455    ///
12456    /// When mocking, this method is typically irrelevant. Do not try to verify
12457    /// it is called by your mocks.
12458    fn get_poller_options(
12459        &self,
12460        _options: &crate::RequestOptions,
12461    ) -> google_cloud_lro::PollerOptions {
12462        google_cloud_lro::PollerOptions::default()
12463    }
12464}
12465
12466/// Defines the trait used to implement [super::client::RegionUrlMaps].
12467///
12468/// Application developers may need to implement this trait to mock
12469/// `client::RegionUrlMaps`.  In other use-cases, application developers only
12470/// use `client::RegionUrlMaps` and need not be concerned with this trait or
12471/// its implementations.
12472///
12473/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12474/// too. To avoid breaking applications the trait provides a default
12475/// implementation of each method. Most of these implementations just return an
12476/// error.
12477#[cfg(feature = "region-url-maps")]
12478#[cfg_attr(docsrs, doc(cfg(feature = "region-url-maps")))]
12479pub trait RegionUrlMaps: std::fmt::Debug + Send + Sync {
12480    /// Implements [super::client::RegionUrlMaps::delete].
12481    fn delete(
12482        &self,
12483        _req: crate::model::region_url_maps::DeleteRequest,
12484        _options: crate::RequestOptions,
12485    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12486    {
12487        gaxi::unimplemented::unimplemented_stub()
12488    }
12489
12490    /// Implements [super::client::RegionUrlMaps::get].
12491    fn get(
12492        &self,
12493        _req: crate::model::region_url_maps::GetRequest,
12494        _options: crate::RequestOptions,
12495    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMap>>> + Send
12496    {
12497        gaxi::unimplemented::unimplemented_stub()
12498    }
12499
12500    /// Implements [super::client::RegionUrlMaps::insert].
12501    fn insert(
12502        &self,
12503        _req: crate::model::region_url_maps::InsertRequest,
12504        _options: crate::RequestOptions,
12505    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12506    {
12507        gaxi::unimplemented::unimplemented_stub()
12508    }
12509
12510    /// Implements [super::client::RegionUrlMaps::list].
12511    fn list(
12512        &self,
12513        _req: crate::model::region_url_maps::ListRequest,
12514        _options: crate::RequestOptions,
12515    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMapList>>> + Send
12516    {
12517        gaxi::unimplemented::unimplemented_stub()
12518    }
12519
12520    /// Implements [super::client::RegionUrlMaps::patch].
12521    fn patch(
12522        &self,
12523        _req: crate::model::region_url_maps::PatchRequest,
12524        _options: crate::RequestOptions,
12525    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12526    {
12527        gaxi::unimplemented::unimplemented_stub()
12528    }
12529
12530    /// Implements [super::client::RegionUrlMaps::update].
12531    fn update(
12532        &self,
12533        _req: crate::model::region_url_maps::UpdateRequest,
12534        _options: crate::RequestOptions,
12535    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12536    {
12537        gaxi::unimplemented::unimplemented_stub()
12538    }
12539
12540    /// Implements [super::client::RegionUrlMaps::validate].
12541    fn validate(
12542        &self,
12543        _req: crate::model::region_url_maps::ValidateRequest,
12544        _options: crate::RequestOptions,
12545    ) -> impl std::future::Future<
12546        Output = crate::Result<crate::Response<crate::model::UrlMapsValidateResponse>>,
12547    > + Send {
12548        gaxi::unimplemented::unimplemented_stub()
12549    }
12550
12551    /// Implements [super::client::RegionUrlMaps::get_operation].
12552    fn get_operation(
12553        &self,
12554        _req: crate::model::region_operations::GetRequest,
12555        _options: crate::RequestOptions,
12556    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12557    {
12558        gaxi::unimplemented::unimplemented_stub()
12559    }
12560
12561    /// Returns the polling error policy.
12562    ///
12563    /// When mocking, this method is typically irrelevant. Do not try to verify
12564    /// it is called by your mocks.
12565    fn get_polling_error_policy(
12566        &self,
12567        _options: &crate::RequestOptions,
12568    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12569        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12570    }
12571
12572    /// Returns the polling backoff policy.
12573    ///
12574    /// When mocking, this method is typically irrelevant. Do not try to verify
12575    /// it is called by your mocks.
12576    fn get_polling_backoff_policy(
12577        &self,
12578        _options: &crate::RequestOptions,
12579    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12580        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12581    }
12582
12583    #[doc(hidden)]
12584    /// Returns the poller options.
12585    ///
12586    /// When mocking, this method is typically irrelevant. Do not try to verify
12587    /// it is called by your mocks.
12588    fn get_poller_options(
12589        &self,
12590        _options: &crate::RequestOptions,
12591    ) -> google_cloud_lro::PollerOptions {
12592        google_cloud_lro::PollerOptions::default()
12593    }
12594}
12595
12596/// Defines the trait used to implement [super::client::RegionZones].
12597///
12598/// Application developers may need to implement this trait to mock
12599/// `client::RegionZones`.  In other use-cases, application developers only
12600/// use `client::RegionZones` and need not be concerned with this trait or
12601/// its implementations.
12602///
12603/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12604/// too. To avoid breaking applications the trait provides a default
12605/// implementation of each method. Most of these implementations just return an
12606/// error.
12607#[cfg(feature = "region-zones")]
12608#[cfg_attr(docsrs, doc(cfg(feature = "region-zones")))]
12609pub trait RegionZones: std::fmt::Debug + Send + Sync {
12610    /// Implements [super::client::RegionZones::list].
12611    fn list(
12612        &self,
12613        _req: crate::model::region_zones::ListRequest,
12614        _options: crate::RequestOptions,
12615    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ZoneList>>> + Send
12616    {
12617        gaxi::unimplemented::unimplemented_stub()
12618    }
12619}
12620
12621/// Defines the trait used to implement [super::client::Regions].
12622///
12623/// Application developers may need to implement this trait to mock
12624/// `client::Regions`.  In other use-cases, application developers only
12625/// use `client::Regions` and need not be concerned with this trait or
12626/// its implementations.
12627///
12628/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12629/// too. To avoid breaking applications the trait provides a default
12630/// implementation of each method. Most of these implementations just return an
12631/// error.
12632#[cfg(feature = "regions")]
12633#[cfg_attr(docsrs, doc(cfg(feature = "regions")))]
12634pub trait Regions: std::fmt::Debug + Send + Sync {
12635    /// Implements [super::client::Regions::get].
12636    fn get(
12637        &self,
12638        _req: crate::model::regions::GetRequest,
12639        _options: crate::RequestOptions,
12640    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Region>>> + Send
12641    {
12642        gaxi::unimplemented::unimplemented_stub()
12643    }
12644
12645    /// Implements [super::client::Regions::list].
12646    fn list(
12647        &self,
12648        _req: crate::model::regions::ListRequest,
12649        _options: crate::RequestOptions,
12650    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RegionList>>> + Send
12651    {
12652        gaxi::unimplemented::unimplemented_stub()
12653    }
12654}
12655
12656/// Defines the trait used to implement [super::client::ReliabilityRisks].
12657///
12658/// Application developers may need to implement this trait to mock
12659/// `client::ReliabilityRisks`.  In other use-cases, application developers only
12660/// use `client::ReliabilityRisks` and need not be concerned with this trait or
12661/// its implementations.
12662///
12663/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12664/// too. To avoid breaking applications the trait provides a default
12665/// implementation of each method. Most of these implementations just return an
12666/// error.
12667#[cfg(feature = "reliability-risks")]
12668#[cfg_attr(docsrs, doc(cfg(feature = "reliability-risks")))]
12669pub trait ReliabilityRisks: std::fmt::Debug + Send + Sync {
12670    /// Implements [super::client::ReliabilityRisks::get].
12671    fn get(
12672        &self,
12673        _req: crate::model::reliability_risks::GetRequest,
12674        _options: crate::RequestOptions,
12675    ) -> impl std::future::Future<
12676        Output = crate::Result<crate::Response<crate::model::ReliabilityRisk>>,
12677    > + Send {
12678        gaxi::unimplemented::unimplemented_stub()
12679    }
12680
12681    /// Implements [super::client::ReliabilityRisks::list].
12682    fn list(
12683        &self,
12684        _req: crate::model::reliability_risks::ListRequest,
12685        _options: crate::RequestOptions,
12686    ) -> impl std::future::Future<
12687        Output = crate::Result<crate::Response<crate::model::ReliabilityRisksListResponse>>,
12688    > + Send {
12689        gaxi::unimplemented::unimplemented_stub()
12690    }
12691}
12692
12693/// Defines the trait used to implement [super::client::ReservationBlocks].
12694///
12695/// Application developers may need to implement this trait to mock
12696/// `client::ReservationBlocks`.  In other use-cases, application developers only
12697/// use `client::ReservationBlocks` and need not be concerned with this trait or
12698/// its implementations.
12699///
12700/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12701/// too. To avoid breaking applications the trait provides a default
12702/// implementation of each method. Most of these implementations just return an
12703/// error.
12704#[cfg(feature = "reservation-blocks")]
12705#[cfg_attr(docsrs, doc(cfg(feature = "reservation-blocks")))]
12706pub trait ReservationBlocks: std::fmt::Debug + Send + Sync {
12707    /// Implements [super::client::ReservationBlocks::get].
12708    fn get(
12709        &self,
12710        _req: crate::model::reservation_blocks::GetRequest,
12711        _options: crate::RequestOptions,
12712    ) -> impl std::future::Future<
12713        Output = crate::Result<crate::Response<crate::model::ReservationBlocksGetResponse>>,
12714    > + Send {
12715        gaxi::unimplemented::unimplemented_stub()
12716    }
12717
12718    /// Implements [super::client::ReservationBlocks::get_iam_policy].
12719    fn get_iam_policy(
12720        &self,
12721        _req: crate::model::reservation_blocks::GetIamPolicyRequest,
12722        _options: crate::RequestOptions,
12723    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12724    {
12725        gaxi::unimplemented::unimplemented_stub()
12726    }
12727
12728    /// Implements [super::client::ReservationBlocks::list].
12729    fn list(
12730        &self,
12731        _req: crate::model::reservation_blocks::ListRequest,
12732        _options: crate::RequestOptions,
12733    ) -> impl std::future::Future<
12734        Output = crate::Result<crate::Response<crate::model::ReservationBlocksListResponse>>,
12735    > + Send {
12736        gaxi::unimplemented::unimplemented_stub()
12737    }
12738
12739    /// Implements [super::client::ReservationBlocks::perform_maintenance].
12740    fn perform_maintenance(
12741        &self,
12742        _req: crate::model::reservation_blocks::PerformMaintenanceRequest,
12743        _options: crate::RequestOptions,
12744    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12745    {
12746        gaxi::unimplemented::unimplemented_stub()
12747    }
12748
12749    /// Implements [super::client::ReservationBlocks::set_iam_policy].
12750    fn set_iam_policy(
12751        &self,
12752        _req: crate::model::reservation_blocks::SetIamPolicyRequest,
12753        _options: crate::RequestOptions,
12754    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12755    {
12756        gaxi::unimplemented::unimplemented_stub()
12757    }
12758
12759    /// Implements [super::client::ReservationBlocks::test_iam_permissions].
12760    fn test_iam_permissions(
12761        &self,
12762        _req: crate::model::reservation_blocks::TestIamPermissionsRequest,
12763        _options: crate::RequestOptions,
12764    ) -> impl std::future::Future<
12765        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
12766    > + Send {
12767        gaxi::unimplemented::unimplemented_stub()
12768    }
12769
12770    /// Implements [super::client::ReservationBlocks::get_operation].
12771    fn get_operation(
12772        &self,
12773        _req: crate::model::zone_operations::GetRequest,
12774        _options: crate::RequestOptions,
12775    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12776    {
12777        gaxi::unimplemented::unimplemented_stub()
12778    }
12779
12780    /// Returns the polling error policy.
12781    ///
12782    /// When mocking, this method is typically irrelevant. Do not try to verify
12783    /// it is called by your mocks.
12784    fn get_polling_error_policy(
12785        &self,
12786        _options: &crate::RequestOptions,
12787    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12788        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12789    }
12790
12791    /// Returns the polling backoff policy.
12792    ///
12793    /// When mocking, this method is typically irrelevant. Do not try to verify
12794    /// it is called by your mocks.
12795    fn get_polling_backoff_policy(
12796        &self,
12797        _options: &crate::RequestOptions,
12798    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12799        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12800    }
12801
12802    #[doc(hidden)]
12803    /// Returns the poller options.
12804    ///
12805    /// When mocking, this method is typically irrelevant. Do not try to verify
12806    /// it is called by your mocks.
12807    fn get_poller_options(
12808        &self,
12809        _options: &crate::RequestOptions,
12810    ) -> google_cloud_lro::PollerOptions {
12811        google_cloud_lro::PollerOptions::default()
12812    }
12813}
12814
12815/// Defines the trait used to implement [super::client::ReservationSlots].
12816///
12817/// Application developers may need to implement this trait to mock
12818/// `client::ReservationSlots`.  In other use-cases, application developers only
12819/// use `client::ReservationSlots` and need not be concerned with this trait or
12820/// its implementations.
12821///
12822/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12823/// too. To avoid breaking applications the trait provides a default
12824/// implementation of each method. Most of these implementations just return an
12825/// error.
12826#[cfg(feature = "reservation-slots")]
12827#[cfg_attr(docsrs, doc(cfg(feature = "reservation-slots")))]
12828pub trait ReservationSlots: std::fmt::Debug + Send + Sync {
12829    /// Implements [super::client::ReservationSlots::get].
12830    fn get(
12831        &self,
12832        _req: crate::model::reservation_slots::GetRequest,
12833        _options: crate::RequestOptions,
12834    ) -> impl std::future::Future<
12835        Output = crate::Result<crate::Response<crate::model::ReservationSlotsGetResponse>>,
12836    > + Send {
12837        gaxi::unimplemented::unimplemented_stub()
12838    }
12839
12840    /// Implements [super::client::ReservationSlots::get_version].
12841    fn get_version(
12842        &self,
12843        _req: crate::model::reservation_slots::GetVersionRequest,
12844        _options: crate::RequestOptions,
12845    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12846    {
12847        gaxi::unimplemented::unimplemented_stub()
12848    }
12849
12850    /// Implements [super::client::ReservationSlots::list].
12851    fn list(
12852        &self,
12853        _req: crate::model::reservation_slots::ListRequest,
12854        _options: crate::RequestOptions,
12855    ) -> impl std::future::Future<
12856        Output = crate::Result<crate::Response<crate::model::ReservationSlotsListResponse>>,
12857    > + Send {
12858        gaxi::unimplemented::unimplemented_stub()
12859    }
12860
12861    /// Implements [super::client::ReservationSlots::update].
12862    fn update(
12863        &self,
12864        _req: crate::model::reservation_slots::UpdateRequest,
12865        _options: crate::RequestOptions,
12866    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12867    {
12868        gaxi::unimplemented::unimplemented_stub()
12869    }
12870
12871    /// Implements [super::client::ReservationSlots::get_operation].
12872    fn get_operation(
12873        &self,
12874        _req: crate::model::zone_operations::GetRequest,
12875        _options: crate::RequestOptions,
12876    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12877    {
12878        gaxi::unimplemented::unimplemented_stub()
12879    }
12880
12881    /// Returns the polling error policy.
12882    ///
12883    /// When mocking, this method is typically irrelevant. Do not try to verify
12884    /// it is called by your mocks.
12885    fn get_polling_error_policy(
12886        &self,
12887        _options: &crate::RequestOptions,
12888    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
12889        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
12890    }
12891
12892    /// Returns the polling backoff policy.
12893    ///
12894    /// When mocking, this method is typically irrelevant. Do not try to verify
12895    /// it is called by your mocks.
12896    fn get_polling_backoff_policy(
12897        &self,
12898        _options: &crate::RequestOptions,
12899    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
12900        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
12901    }
12902
12903    #[doc(hidden)]
12904    /// Returns the poller options.
12905    ///
12906    /// When mocking, this method is typically irrelevant. Do not try to verify
12907    /// it is called by your mocks.
12908    fn get_poller_options(
12909        &self,
12910        _options: &crate::RequestOptions,
12911    ) -> google_cloud_lro::PollerOptions {
12912        google_cloud_lro::PollerOptions::default()
12913    }
12914}
12915
12916/// Defines the trait used to implement [super::client::ReservationSubBlocks].
12917///
12918/// Application developers may need to implement this trait to mock
12919/// `client::ReservationSubBlocks`.  In other use-cases, application developers only
12920/// use `client::ReservationSubBlocks` and need not be concerned with this trait or
12921/// its implementations.
12922///
12923/// Services gain new RPCs routinely. Consequently, this trait gains new methods
12924/// too. To avoid breaking applications the trait provides a default
12925/// implementation of each method. Most of these implementations just return an
12926/// error.
12927#[cfg(feature = "reservation-sub-blocks")]
12928#[cfg_attr(docsrs, doc(cfg(feature = "reservation-sub-blocks")))]
12929pub trait ReservationSubBlocks: std::fmt::Debug + Send + Sync {
12930    /// Implements [super::client::ReservationSubBlocks::get].
12931    fn get(
12932        &self,
12933        _req: crate::model::reservation_sub_blocks::GetRequest,
12934        _options: crate::RequestOptions,
12935    ) -> impl std::future::Future<
12936        Output = crate::Result<crate::Response<crate::model::ReservationSubBlocksGetResponse>>,
12937    > + Send {
12938        gaxi::unimplemented::unimplemented_stub()
12939    }
12940
12941    /// Implements [super::client::ReservationSubBlocks::get_iam_policy].
12942    fn get_iam_policy(
12943        &self,
12944        _req: crate::model::reservation_sub_blocks::GetIamPolicyRequest,
12945        _options: crate::RequestOptions,
12946    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12947    {
12948        gaxi::unimplemented::unimplemented_stub()
12949    }
12950
12951    /// Implements [super::client::ReservationSubBlocks::get_version].
12952    fn get_version(
12953        &self,
12954        _req: crate::model::reservation_sub_blocks::GetVersionRequest,
12955        _options: crate::RequestOptions,
12956    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12957    {
12958        gaxi::unimplemented::unimplemented_stub()
12959    }
12960
12961    /// Implements [super::client::ReservationSubBlocks::list].
12962    fn list(
12963        &self,
12964        _req: crate::model::reservation_sub_blocks::ListRequest,
12965        _options: crate::RequestOptions,
12966    ) -> impl std::future::Future<
12967        Output = crate::Result<crate::Response<crate::model::ReservationSubBlocksListResponse>>,
12968    > + Send {
12969        gaxi::unimplemented::unimplemented_stub()
12970    }
12971
12972    /// Implements [super::client::ReservationSubBlocks::perform_maintenance].
12973    fn perform_maintenance(
12974        &self,
12975        _req: crate::model::reservation_sub_blocks::PerformMaintenanceRequest,
12976        _options: crate::RequestOptions,
12977    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12978    {
12979        gaxi::unimplemented::unimplemented_stub()
12980    }
12981
12982    /// Implements [super::client::ReservationSubBlocks::report_faulty].
12983    fn report_faulty(
12984        &self,
12985        _req: crate::model::reservation_sub_blocks::ReportFaultyRequest,
12986        _options: crate::RequestOptions,
12987    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
12988    {
12989        gaxi::unimplemented::unimplemented_stub()
12990    }
12991
12992    /// Implements [super::client::ReservationSubBlocks::set_iam_policy].
12993    fn set_iam_policy(
12994        &self,
12995        _req: crate::model::reservation_sub_blocks::SetIamPolicyRequest,
12996        _options: crate::RequestOptions,
12997    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
12998    {
12999        gaxi::unimplemented::unimplemented_stub()
13000    }
13001
13002    /// Implements [super::client::ReservationSubBlocks::test_iam_permissions].
13003    fn test_iam_permissions(
13004        &self,
13005        _req: crate::model::reservation_sub_blocks::TestIamPermissionsRequest,
13006        _options: crate::RequestOptions,
13007    ) -> impl std::future::Future<
13008        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13009    > + Send {
13010        gaxi::unimplemented::unimplemented_stub()
13011    }
13012
13013    /// Implements [super::client::ReservationSubBlocks::get_operation].
13014    fn get_operation(
13015        &self,
13016        _req: crate::model::zone_operations::GetRequest,
13017        _options: crate::RequestOptions,
13018    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13019    {
13020        gaxi::unimplemented::unimplemented_stub()
13021    }
13022
13023    /// Returns the polling error policy.
13024    ///
13025    /// When mocking, this method is typically irrelevant. Do not try to verify
13026    /// it is called by your mocks.
13027    fn get_polling_error_policy(
13028        &self,
13029        _options: &crate::RequestOptions,
13030    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13031        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13032    }
13033
13034    /// Returns the polling backoff policy.
13035    ///
13036    /// When mocking, this method is typically irrelevant. Do not try to verify
13037    /// it is called by your mocks.
13038    fn get_polling_backoff_policy(
13039        &self,
13040        _options: &crate::RequestOptions,
13041    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13042        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13043    }
13044
13045    #[doc(hidden)]
13046    /// Returns the poller options.
13047    ///
13048    /// When mocking, this method is typically irrelevant. Do not try to verify
13049    /// it is called by your mocks.
13050    fn get_poller_options(
13051        &self,
13052        _options: &crate::RequestOptions,
13053    ) -> google_cloud_lro::PollerOptions {
13054        google_cloud_lro::PollerOptions::default()
13055    }
13056}
13057
13058/// Defines the trait used to implement [super::client::Reservations].
13059///
13060/// Application developers may need to implement this trait to mock
13061/// `client::Reservations`.  In other use-cases, application developers only
13062/// use `client::Reservations` and need not be concerned with this trait or
13063/// its implementations.
13064///
13065/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13066/// too. To avoid breaking applications the trait provides a default
13067/// implementation of each method. Most of these implementations just return an
13068/// error.
13069#[cfg(feature = "reservations")]
13070#[cfg_attr(docsrs, doc(cfg(feature = "reservations")))]
13071pub trait Reservations: std::fmt::Debug + Send + Sync {
13072    /// Implements [super::client::Reservations::aggregated_list].
13073    fn aggregated_list(
13074        &self,
13075        _req: crate::model::reservations::AggregatedListRequest,
13076        _options: crate::RequestOptions,
13077    ) -> impl std::future::Future<
13078        Output = crate::Result<crate::Response<crate::model::ReservationAggregatedList>>,
13079    > + Send {
13080        gaxi::unimplemented::unimplemented_stub()
13081    }
13082
13083    /// Implements [super::client::Reservations::delete].
13084    fn delete(
13085        &self,
13086        _req: crate::model::reservations::DeleteRequest,
13087        _options: crate::RequestOptions,
13088    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13089    {
13090        gaxi::unimplemented::unimplemented_stub()
13091    }
13092
13093    /// Implements [super::client::Reservations::get].
13094    fn get(
13095        &self,
13096        _req: crate::model::reservations::GetRequest,
13097        _options: crate::RequestOptions,
13098    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Reservation>>>
13099    + Send {
13100        gaxi::unimplemented::unimplemented_stub()
13101    }
13102
13103    /// Implements [super::client::Reservations::get_iam_policy].
13104    fn get_iam_policy(
13105        &self,
13106        _req: crate::model::reservations::GetIamPolicyRequest,
13107        _options: crate::RequestOptions,
13108    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13109    {
13110        gaxi::unimplemented::unimplemented_stub()
13111    }
13112
13113    /// Implements [super::client::Reservations::insert].
13114    fn insert(
13115        &self,
13116        _req: crate::model::reservations::InsertRequest,
13117        _options: crate::RequestOptions,
13118    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13119    {
13120        gaxi::unimplemented::unimplemented_stub()
13121    }
13122
13123    /// Implements [super::client::Reservations::list].
13124    fn list(
13125        &self,
13126        _req: crate::model::reservations::ListRequest,
13127        _options: crate::RequestOptions,
13128    ) -> impl std::future::Future<
13129        Output = crate::Result<crate::Response<crate::model::ReservationList>>,
13130    > + Send {
13131        gaxi::unimplemented::unimplemented_stub()
13132    }
13133
13134    /// Implements [super::client::Reservations::perform_maintenance].
13135    fn perform_maintenance(
13136        &self,
13137        _req: crate::model::reservations::PerformMaintenanceRequest,
13138        _options: crate::RequestOptions,
13139    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13140    {
13141        gaxi::unimplemented::unimplemented_stub()
13142    }
13143
13144    /// Implements [super::client::Reservations::resize].
13145    fn resize(
13146        &self,
13147        _req: crate::model::reservations::ResizeRequest,
13148        _options: crate::RequestOptions,
13149    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13150    {
13151        gaxi::unimplemented::unimplemented_stub()
13152    }
13153
13154    /// Implements [super::client::Reservations::set_iam_policy].
13155    fn set_iam_policy(
13156        &self,
13157        _req: crate::model::reservations::SetIamPolicyRequest,
13158        _options: crate::RequestOptions,
13159    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13160    {
13161        gaxi::unimplemented::unimplemented_stub()
13162    }
13163
13164    /// Implements [super::client::Reservations::test_iam_permissions].
13165    fn test_iam_permissions(
13166        &self,
13167        _req: crate::model::reservations::TestIamPermissionsRequest,
13168        _options: crate::RequestOptions,
13169    ) -> impl std::future::Future<
13170        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13171    > + Send {
13172        gaxi::unimplemented::unimplemented_stub()
13173    }
13174
13175    /// Implements [super::client::Reservations::update].
13176    fn update(
13177        &self,
13178        _req: crate::model::reservations::UpdateRequest,
13179        _options: crate::RequestOptions,
13180    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13181    {
13182        gaxi::unimplemented::unimplemented_stub()
13183    }
13184
13185    /// Implements [super::client::Reservations::get_operation].
13186    fn get_operation(
13187        &self,
13188        _req: crate::model::zone_operations::GetRequest,
13189        _options: crate::RequestOptions,
13190    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13191    {
13192        gaxi::unimplemented::unimplemented_stub()
13193    }
13194
13195    /// Returns the polling error policy.
13196    ///
13197    /// When mocking, this method is typically irrelevant. Do not try to verify
13198    /// it is called by your mocks.
13199    fn get_polling_error_policy(
13200        &self,
13201        _options: &crate::RequestOptions,
13202    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13203        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13204    }
13205
13206    /// Returns the polling backoff policy.
13207    ///
13208    /// When mocking, this method is typically irrelevant. Do not try to verify
13209    /// it is called by your mocks.
13210    fn get_polling_backoff_policy(
13211        &self,
13212        _options: &crate::RequestOptions,
13213    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13214        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13215    }
13216
13217    #[doc(hidden)]
13218    /// Returns the poller options.
13219    ///
13220    /// When mocking, this method is typically irrelevant. Do not try to verify
13221    /// it is called by your mocks.
13222    fn get_poller_options(
13223        &self,
13224        _options: &crate::RequestOptions,
13225    ) -> google_cloud_lro::PollerOptions {
13226        google_cloud_lro::PollerOptions::default()
13227    }
13228}
13229
13230/// Defines the trait used to implement [super::client::ResourcePolicies].
13231///
13232/// Application developers may need to implement this trait to mock
13233/// `client::ResourcePolicies`.  In other use-cases, application developers only
13234/// use `client::ResourcePolicies` and need not be concerned with this trait or
13235/// its implementations.
13236///
13237/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13238/// too. To avoid breaking applications the trait provides a default
13239/// implementation of each method. Most of these implementations just return an
13240/// error.
13241#[cfg(feature = "resource-policies")]
13242#[cfg_attr(docsrs, doc(cfg(feature = "resource-policies")))]
13243pub trait ResourcePolicies: std::fmt::Debug + Send + Sync {
13244    /// Implements [super::client::ResourcePolicies::aggregated_list].
13245    fn aggregated_list(
13246        &self,
13247        _req: crate::model::resource_policies::AggregatedListRequest,
13248        _options: crate::RequestOptions,
13249    ) -> impl std::future::Future<
13250        Output = crate::Result<crate::Response<crate::model::ResourcePolicyAggregatedList>>,
13251    > + Send {
13252        gaxi::unimplemented::unimplemented_stub()
13253    }
13254
13255    /// Implements [super::client::ResourcePolicies::delete].
13256    fn delete(
13257        &self,
13258        _req: crate::model::resource_policies::DeleteRequest,
13259        _options: crate::RequestOptions,
13260    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13261    {
13262        gaxi::unimplemented::unimplemented_stub()
13263    }
13264
13265    /// Implements [super::client::ResourcePolicies::get].
13266    fn get(
13267        &self,
13268        _req: crate::model::resource_policies::GetRequest,
13269        _options: crate::RequestOptions,
13270    ) -> impl std::future::Future<
13271        Output = crate::Result<crate::Response<crate::model::ResourcePolicy>>,
13272    > + Send {
13273        gaxi::unimplemented::unimplemented_stub()
13274    }
13275
13276    /// Implements [super::client::ResourcePolicies::get_iam_policy].
13277    fn get_iam_policy(
13278        &self,
13279        _req: crate::model::resource_policies::GetIamPolicyRequest,
13280        _options: crate::RequestOptions,
13281    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13282    {
13283        gaxi::unimplemented::unimplemented_stub()
13284    }
13285
13286    /// Implements [super::client::ResourcePolicies::insert].
13287    fn insert(
13288        &self,
13289        _req: crate::model::resource_policies::InsertRequest,
13290        _options: crate::RequestOptions,
13291    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13292    {
13293        gaxi::unimplemented::unimplemented_stub()
13294    }
13295
13296    /// Implements [super::client::ResourcePolicies::list].
13297    fn list(
13298        &self,
13299        _req: crate::model::resource_policies::ListRequest,
13300        _options: crate::RequestOptions,
13301    ) -> impl std::future::Future<
13302        Output = crate::Result<crate::Response<crate::model::ResourcePolicyList>>,
13303    > + Send {
13304        gaxi::unimplemented::unimplemented_stub()
13305    }
13306
13307    /// Implements [super::client::ResourcePolicies::patch].
13308    fn patch(
13309        &self,
13310        _req: crate::model::resource_policies::PatchRequest,
13311        _options: crate::RequestOptions,
13312    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13313    {
13314        gaxi::unimplemented::unimplemented_stub()
13315    }
13316
13317    /// Implements [super::client::ResourcePolicies::set_iam_policy].
13318    fn set_iam_policy(
13319        &self,
13320        _req: crate::model::resource_policies::SetIamPolicyRequest,
13321        _options: crate::RequestOptions,
13322    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
13323    {
13324        gaxi::unimplemented::unimplemented_stub()
13325    }
13326
13327    /// Implements [super::client::ResourcePolicies::test_iam_permissions].
13328    fn test_iam_permissions(
13329        &self,
13330        _req: crate::model::resource_policies::TestIamPermissionsRequest,
13331        _options: crate::RequestOptions,
13332    ) -> impl std::future::Future<
13333        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13334    > + Send {
13335        gaxi::unimplemented::unimplemented_stub()
13336    }
13337
13338    /// Implements [super::client::ResourcePolicies::get_operation].
13339    fn get_operation(
13340        &self,
13341        _req: crate::model::region_operations::GetRequest,
13342        _options: crate::RequestOptions,
13343    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13344    {
13345        gaxi::unimplemented::unimplemented_stub()
13346    }
13347
13348    /// Returns the polling error policy.
13349    ///
13350    /// When mocking, this method is typically irrelevant. Do not try to verify
13351    /// it is called by your mocks.
13352    fn get_polling_error_policy(
13353        &self,
13354        _options: &crate::RequestOptions,
13355    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13356        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13357    }
13358
13359    /// Returns the polling backoff policy.
13360    ///
13361    /// When mocking, this method is typically irrelevant. Do not try to verify
13362    /// it is called by your mocks.
13363    fn get_polling_backoff_policy(
13364        &self,
13365        _options: &crate::RequestOptions,
13366    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13367        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13368    }
13369
13370    #[doc(hidden)]
13371    /// Returns the poller options.
13372    ///
13373    /// When mocking, this method is typically irrelevant. Do not try to verify
13374    /// it is called by your mocks.
13375    fn get_poller_options(
13376        &self,
13377        _options: &crate::RequestOptions,
13378    ) -> google_cloud_lro::PollerOptions {
13379        google_cloud_lro::PollerOptions::default()
13380    }
13381}
13382
13383/// Defines the trait used to implement [super::client::RolloutPlans].
13384///
13385/// Application developers may need to implement this trait to mock
13386/// `client::RolloutPlans`.  In other use-cases, application developers only
13387/// use `client::RolloutPlans` and need not be concerned with this trait or
13388/// its implementations.
13389///
13390/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13391/// too. To avoid breaking applications the trait provides a default
13392/// implementation of each method. Most of these implementations just return an
13393/// error.
13394#[cfg(feature = "rollout-plans")]
13395#[cfg_attr(docsrs, doc(cfg(feature = "rollout-plans")))]
13396pub trait RolloutPlans: std::fmt::Debug + Send + Sync {
13397    /// Implements [super::client::RolloutPlans::delete].
13398    fn delete(
13399        &self,
13400        _req: crate::model::rollout_plans::DeleteRequest,
13401        _options: crate::RequestOptions,
13402    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13403    {
13404        gaxi::unimplemented::unimplemented_stub()
13405    }
13406
13407    /// Implements [super::client::RolloutPlans::get].
13408    fn get(
13409        &self,
13410        _req: crate::model::rollout_plans::GetRequest,
13411        _options: crate::RequestOptions,
13412    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RolloutPlan>>>
13413    + Send {
13414        gaxi::unimplemented::unimplemented_stub()
13415    }
13416
13417    /// Implements [super::client::RolloutPlans::insert].
13418    fn insert(
13419        &self,
13420        _req: crate::model::rollout_plans::InsertRequest,
13421        _options: crate::RequestOptions,
13422    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13423    {
13424        gaxi::unimplemented::unimplemented_stub()
13425    }
13426
13427    /// Implements [super::client::RolloutPlans::list].
13428    fn list(
13429        &self,
13430        _req: crate::model::rollout_plans::ListRequest,
13431        _options: crate::RequestOptions,
13432    ) -> impl std::future::Future<
13433        Output = crate::Result<crate::Response<crate::model::RolloutPlansListResponse>>,
13434    > + Send {
13435        gaxi::unimplemented::unimplemented_stub()
13436    }
13437
13438    /// Implements [super::client::RolloutPlans::get_operation].
13439    fn get_operation(
13440        &self,
13441        _req: crate::model::global_operations::GetRequest,
13442        _options: crate::RequestOptions,
13443    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13444    {
13445        gaxi::unimplemented::unimplemented_stub()
13446    }
13447
13448    /// Returns the polling error policy.
13449    ///
13450    /// When mocking, this method is typically irrelevant. Do not try to verify
13451    /// it is called by your mocks.
13452    fn get_polling_error_policy(
13453        &self,
13454        _options: &crate::RequestOptions,
13455    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13456        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13457    }
13458
13459    /// Returns the polling backoff policy.
13460    ///
13461    /// When mocking, this method is typically irrelevant. Do not try to verify
13462    /// it is called by your mocks.
13463    fn get_polling_backoff_policy(
13464        &self,
13465        _options: &crate::RequestOptions,
13466    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13467        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13468    }
13469
13470    #[doc(hidden)]
13471    /// Returns the poller options.
13472    ///
13473    /// When mocking, this method is typically irrelevant. Do not try to verify
13474    /// it is called by your mocks.
13475    fn get_poller_options(
13476        &self,
13477        _options: &crate::RequestOptions,
13478    ) -> google_cloud_lro::PollerOptions {
13479        google_cloud_lro::PollerOptions::default()
13480    }
13481}
13482
13483/// Defines the trait used to implement [super::client::Rollouts].
13484///
13485/// Application developers may need to implement this trait to mock
13486/// `client::Rollouts`.  In other use-cases, application developers only
13487/// use `client::Rollouts` and need not be concerned with this trait or
13488/// its implementations.
13489///
13490/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13491/// too. To avoid breaking applications the trait provides a default
13492/// implementation of each method. Most of these implementations just return an
13493/// error.
13494#[cfg(feature = "rollouts")]
13495#[cfg_attr(docsrs, doc(cfg(feature = "rollouts")))]
13496pub trait Rollouts: std::fmt::Debug + Send + Sync {
13497    /// Implements [super::client::Rollouts::advance].
13498    fn advance(
13499        &self,
13500        _req: crate::model::rollouts::AdvanceRequest,
13501        _options: crate::RequestOptions,
13502    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13503    {
13504        gaxi::unimplemented::unimplemented_stub()
13505    }
13506
13507    /// Implements [super::client::Rollouts::cancel].
13508    fn cancel(
13509        &self,
13510        _req: crate::model::rollouts::CancelRequest,
13511        _options: crate::RequestOptions,
13512    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13513    {
13514        gaxi::unimplemented::unimplemented_stub()
13515    }
13516
13517    /// Implements [super::client::Rollouts::delete].
13518    fn delete(
13519        &self,
13520        _req: crate::model::rollouts::DeleteRequest,
13521        _options: crate::RequestOptions,
13522    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13523    {
13524        gaxi::unimplemented::unimplemented_stub()
13525    }
13526
13527    /// Implements [super::client::Rollouts::get].
13528    fn get(
13529        &self,
13530        _req: crate::model::rollouts::GetRequest,
13531        _options: crate::RequestOptions,
13532    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Rollout>>> + Send
13533    {
13534        gaxi::unimplemented::unimplemented_stub()
13535    }
13536
13537    /// Implements [super::client::Rollouts::list].
13538    fn list(
13539        &self,
13540        _req: crate::model::rollouts::ListRequest,
13541        _options: crate::RequestOptions,
13542    ) -> impl std::future::Future<
13543        Output = crate::Result<crate::Response<crate::model::RolloutsListResponse>>,
13544    > + Send {
13545        gaxi::unimplemented::unimplemented_stub()
13546    }
13547
13548    /// Implements [super::client::Rollouts::pause].
13549    fn pause(
13550        &self,
13551        _req: crate::model::rollouts::PauseRequest,
13552        _options: crate::RequestOptions,
13553    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13554    {
13555        gaxi::unimplemented::unimplemented_stub()
13556    }
13557
13558    /// Implements [super::client::Rollouts::resume].
13559    fn resume(
13560        &self,
13561        _req: crate::model::rollouts::ResumeRequest,
13562        _options: crate::RequestOptions,
13563    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13564    {
13565        gaxi::unimplemented::unimplemented_stub()
13566    }
13567
13568    /// Implements [super::client::Rollouts::get_operation].
13569    fn get_operation(
13570        &self,
13571        _req: crate::model::global_operations::GetRequest,
13572        _options: crate::RequestOptions,
13573    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13574    {
13575        gaxi::unimplemented::unimplemented_stub()
13576    }
13577
13578    /// Returns the polling error policy.
13579    ///
13580    /// When mocking, this method is typically irrelevant. Do not try to verify
13581    /// it is called by your mocks.
13582    fn get_polling_error_policy(
13583        &self,
13584        _options: &crate::RequestOptions,
13585    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13586        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13587    }
13588
13589    /// Returns the polling backoff policy.
13590    ///
13591    /// When mocking, this method is typically irrelevant. Do not try to verify
13592    /// it is called by your mocks.
13593    fn get_polling_backoff_policy(
13594        &self,
13595        _options: &crate::RequestOptions,
13596    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13597        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13598    }
13599
13600    #[doc(hidden)]
13601    /// Returns the poller options.
13602    ///
13603    /// When mocking, this method is typically irrelevant. Do not try to verify
13604    /// it is called by your mocks.
13605    fn get_poller_options(
13606        &self,
13607        _options: &crate::RequestOptions,
13608    ) -> google_cloud_lro::PollerOptions {
13609        google_cloud_lro::PollerOptions::default()
13610    }
13611}
13612
13613/// Defines the trait used to implement [super::client::Routers].
13614///
13615/// Application developers may need to implement this trait to mock
13616/// `client::Routers`.  In other use-cases, application developers only
13617/// use `client::Routers` and need not be concerned with this trait or
13618/// its implementations.
13619///
13620/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13621/// too. To avoid breaking applications the trait provides a default
13622/// implementation of each method. Most of these implementations just return an
13623/// error.
13624#[cfg(feature = "routers")]
13625#[cfg_attr(docsrs, doc(cfg(feature = "routers")))]
13626pub trait Routers: std::fmt::Debug + Send + Sync {
13627    /// Implements [super::client::Routers::aggregated_list].
13628    fn aggregated_list(
13629        &self,
13630        _req: crate::model::routers::AggregatedListRequest,
13631        _options: crate::RequestOptions,
13632    ) -> impl std::future::Future<
13633        Output = crate::Result<crate::Response<crate::model::RouterAggregatedList>>,
13634    > + Send {
13635        gaxi::unimplemented::unimplemented_stub()
13636    }
13637
13638    /// Implements [super::client::Routers::delete].
13639    fn delete(
13640        &self,
13641        _req: crate::model::routers::DeleteRequest,
13642        _options: crate::RequestOptions,
13643    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13644    {
13645        gaxi::unimplemented::unimplemented_stub()
13646    }
13647
13648    /// Implements [super::client::Routers::delete_named_set].
13649    fn delete_named_set(
13650        &self,
13651        _req: crate::model::routers::DeleteNamedSetRequest,
13652        _options: crate::RequestOptions,
13653    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13654    {
13655        gaxi::unimplemented::unimplemented_stub()
13656    }
13657
13658    /// Implements [super::client::Routers::delete_route_policy].
13659    fn delete_route_policy(
13660        &self,
13661        _req: crate::model::routers::DeleteRoutePolicyRequest,
13662        _options: crate::RequestOptions,
13663    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13664    {
13665        gaxi::unimplemented::unimplemented_stub()
13666    }
13667
13668    /// Implements [super::client::Routers::get].
13669    fn get(
13670        &self,
13671        _req: crate::model::routers::GetRequest,
13672        _options: crate::RequestOptions,
13673    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Router>>> + Send
13674    {
13675        gaxi::unimplemented::unimplemented_stub()
13676    }
13677
13678    /// Implements [super::client::Routers::get_named_set].
13679    fn get_named_set(
13680        &self,
13681        _req: crate::model::routers::GetNamedSetRequest,
13682        _options: crate::RequestOptions,
13683    ) -> impl std::future::Future<
13684        Output = crate::Result<crate::Response<crate::model::RoutersGetNamedSetResponse>>,
13685    > + Send {
13686        gaxi::unimplemented::unimplemented_stub()
13687    }
13688
13689    /// Implements [super::client::Routers::get_nat_ip_info].
13690    fn get_nat_ip_info(
13691        &self,
13692        _req: crate::model::routers::GetNatIpInfoRequest,
13693        _options: crate::RequestOptions,
13694    ) -> impl std::future::Future<
13695        Output = crate::Result<crate::Response<crate::model::NatIpInfoResponse>>,
13696    > + Send {
13697        gaxi::unimplemented::unimplemented_stub()
13698    }
13699
13700    /// Implements [super::client::Routers::get_nat_mapping_info].
13701    fn get_nat_mapping_info(
13702        &self,
13703        _req: crate::model::routers::GetNatMappingInfoRequest,
13704        _options: crate::RequestOptions,
13705    ) -> impl std::future::Future<
13706        Output = crate::Result<crate::Response<crate::model::VmEndpointNatMappingsList>>,
13707    > + Send {
13708        gaxi::unimplemented::unimplemented_stub()
13709    }
13710
13711    /// Implements [super::client::Routers::get_route_policy].
13712    fn get_route_policy(
13713        &self,
13714        _req: crate::model::routers::GetRoutePolicyRequest,
13715        _options: crate::RequestOptions,
13716    ) -> impl std::future::Future<
13717        Output = crate::Result<crate::Response<crate::model::RoutersGetRoutePolicyResponse>>,
13718    > + Send {
13719        gaxi::unimplemented::unimplemented_stub()
13720    }
13721
13722    /// Implements [super::client::Routers::get_router_status].
13723    fn get_router_status(
13724        &self,
13725        _req: crate::model::routers::GetRouterStatusRequest,
13726        _options: crate::RequestOptions,
13727    ) -> impl std::future::Future<
13728        Output = crate::Result<crate::Response<crate::model::RouterStatusResponse>>,
13729    > + Send {
13730        gaxi::unimplemented::unimplemented_stub()
13731    }
13732
13733    /// Implements [super::client::Routers::insert].
13734    fn insert(
13735        &self,
13736        _req: crate::model::routers::InsertRequest,
13737        _options: crate::RequestOptions,
13738    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13739    {
13740        gaxi::unimplemented::unimplemented_stub()
13741    }
13742
13743    /// Implements [super::client::Routers::list].
13744    fn list(
13745        &self,
13746        _req: crate::model::routers::ListRequest,
13747        _options: crate::RequestOptions,
13748    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RouterList>>> + Send
13749    {
13750        gaxi::unimplemented::unimplemented_stub()
13751    }
13752
13753    /// Implements [super::client::Routers::list_bgp_routes].
13754    fn list_bgp_routes(
13755        &self,
13756        _req: crate::model::routers::ListBgpRoutesRequest,
13757        _options: crate::RequestOptions,
13758    ) -> impl std::future::Future<
13759        Output = crate::Result<crate::Response<crate::model::RoutersListBgpRoutes>>,
13760    > + Send {
13761        gaxi::unimplemented::unimplemented_stub()
13762    }
13763
13764    /// Implements [super::client::Routers::list_named_sets].
13765    fn list_named_sets(
13766        &self,
13767        _req: crate::model::routers::ListNamedSetsRequest,
13768        _options: crate::RequestOptions,
13769    ) -> impl std::future::Future<
13770        Output = crate::Result<crate::Response<crate::model::RoutersListNamedSets>>,
13771    > + Send {
13772        gaxi::unimplemented::unimplemented_stub()
13773    }
13774
13775    /// Implements [super::client::Routers::list_route_policies].
13776    fn list_route_policies(
13777        &self,
13778        _req: crate::model::routers::ListRoutePoliciesRequest,
13779        _options: crate::RequestOptions,
13780    ) -> impl std::future::Future<
13781        Output = crate::Result<crate::Response<crate::model::RoutersListRoutePolicies>>,
13782    > + Send {
13783        gaxi::unimplemented::unimplemented_stub()
13784    }
13785
13786    /// Implements [super::client::Routers::patch].
13787    fn patch(
13788        &self,
13789        _req: crate::model::routers::PatchRequest,
13790        _options: crate::RequestOptions,
13791    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13792    {
13793        gaxi::unimplemented::unimplemented_stub()
13794    }
13795
13796    /// Implements [super::client::Routers::patch_named_set].
13797    fn patch_named_set(
13798        &self,
13799        _req: crate::model::routers::PatchNamedSetRequest,
13800        _options: crate::RequestOptions,
13801    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13802    {
13803        gaxi::unimplemented::unimplemented_stub()
13804    }
13805
13806    /// Implements [super::client::Routers::patch_route_policy].
13807    fn patch_route_policy(
13808        &self,
13809        _req: crate::model::routers::PatchRoutePolicyRequest,
13810        _options: crate::RequestOptions,
13811    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13812    {
13813        gaxi::unimplemented::unimplemented_stub()
13814    }
13815
13816    /// Implements [super::client::Routers::preview].
13817    fn preview(
13818        &self,
13819        _req: crate::model::routers::PreviewRequest,
13820        _options: crate::RequestOptions,
13821    ) -> impl std::future::Future<
13822        Output = crate::Result<crate::Response<crate::model::RoutersPreviewResponse>>,
13823    > + Send {
13824        gaxi::unimplemented::unimplemented_stub()
13825    }
13826
13827    /// Implements [super::client::Routers::update].
13828    fn update(
13829        &self,
13830        _req: crate::model::routers::UpdateRequest,
13831        _options: crate::RequestOptions,
13832    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13833    {
13834        gaxi::unimplemented::unimplemented_stub()
13835    }
13836
13837    /// Implements [super::client::Routers::update_named_set].
13838    fn update_named_set(
13839        &self,
13840        _req: crate::model::routers::UpdateNamedSetRequest,
13841        _options: crate::RequestOptions,
13842    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13843    {
13844        gaxi::unimplemented::unimplemented_stub()
13845    }
13846
13847    /// Implements [super::client::Routers::update_route_policy].
13848    fn update_route_policy(
13849        &self,
13850        _req: crate::model::routers::UpdateRoutePolicyRequest,
13851        _options: crate::RequestOptions,
13852    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13853    {
13854        gaxi::unimplemented::unimplemented_stub()
13855    }
13856
13857    /// Implements [super::client::Routers::get_operation].
13858    fn get_operation(
13859        &self,
13860        _req: crate::model::region_operations::GetRequest,
13861        _options: crate::RequestOptions,
13862    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13863    {
13864        gaxi::unimplemented::unimplemented_stub()
13865    }
13866
13867    /// Returns the polling error policy.
13868    ///
13869    /// When mocking, this method is typically irrelevant. Do not try to verify
13870    /// it is called by your mocks.
13871    fn get_polling_error_policy(
13872        &self,
13873        _options: &crate::RequestOptions,
13874    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13875        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13876    }
13877
13878    /// Returns the polling backoff policy.
13879    ///
13880    /// When mocking, this method is typically irrelevant. Do not try to verify
13881    /// it is called by your mocks.
13882    fn get_polling_backoff_policy(
13883        &self,
13884        _options: &crate::RequestOptions,
13885    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13886        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13887    }
13888
13889    #[doc(hidden)]
13890    /// Returns the poller options.
13891    ///
13892    /// When mocking, this method is typically irrelevant. Do not try to verify
13893    /// it is called by your mocks.
13894    fn get_poller_options(
13895        &self,
13896        _options: &crate::RequestOptions,
13897    ) -> google_cloud_lro::PollerOptions {
13898        google_cloud_lro::PollerOptions::default()
13899    }
13900}
13901
13902/// Defines the trait used to implement [super::client::Routes].
13903///
13904/// Application developers may need to implement this trait to mock
13905/// `client::Routes`.  In other use-cases, application developers only
13906/// use `client::Routes` and need not be concerned with this trait or
13907/// its implementations.
13908///
13909/// Services gain new RPCs routinely. Consequently, this trait gains new methods
13910/// too. To avoid breaking applications the trait provides a default
13911/// implementation of each method. Most of these implementations just return an
13912/// error.
13913#[cfg(feature = "routes")]
13914#[cfg_attr(docsrs, doc(cfg(feature = "routes")))]
13915pub trait Routes: std::fmt::Debug + Send + Sync {
13916    /// Implements [super::client::Routes::delete].
13917    fn delete(
13918        &self,
13919        _req: crate::model::routes::DeleteRequest,
13920        _options: crate::RequestOptions,
13921    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13922    {
13923        gaxi::unimplemented::unimplemented_stub()
13924    }
13925
13926    /// Implements [super::client::Routes::get].
13927    fn get(
13928        &self,
13929        _req: crate::model::routes::GetRequest,
13930        _options: crate::RequestOptions,
13931    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Route>>> + Send
13932    {
13933        gaxi::unimplemented::unimplemented_stub()
13934    }
13935
13936    /// Implements [super::client::Routes::insert].
13937    fn insert(
13938        &self,
13939        _req: crate::model::routes::InsertRequest,
13940        _options: crate::RequestOptions,
13941    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13942    {
13943        gaxi::unimplemented::unimplemented_stub()
13944    }
13945
13946    /// Implements [super::client::Routes::list].
13947    fn list(
13948        &self,
13949        _req: crate::model::routes::ListRequest,
13950        _options: crate::RequestOptions,
13951    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::RouteList>>> + Send
13952    {
13953        gaxi::unimplemented::unimplemented_stub()
13954    }
13955
13956    /// Implements [super::client::Routes::test_iam_permissions].
13957    fn test_iam_permissions(
13958        &self,
13959        _req: crate::model::routes::TestIamPermissionsRequest,
13960        _options: crate::RequestOptions,
13961    ) -> impl std::future::Future<
13962        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
13963    > + Send {
13964        gaxi::unimplemented::unimplemented_stub()
13965    }
13966
13967    /// Implements [super::client::Routes::get_operation].
13968    fn get_operation(
13969        &self,
13970        _req: crate::model::global_operations::GetRequest,
13971        _options: crate::RequestOptions,
13972    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
13973    {
13974        gaxi::unimplemented::unimplemented_stub()
13975    }
13976
13977    /// Returns the polling error policy.
13978    ///
13979    /// When mocking, this method is typically irrelevant. Do not try to verify
13980    /// it is called by your mocks.
13981    fn get_polling_error_policy(
13982        &self,
13983        _options: &crate::RequestOptions,
13984    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
13985        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
13986    }
13987
13988    /// Returns the polling backoff policy.
13989    ///
13990    /// When mocking, this method is typically irrelevant. Do not try to verify
13991    /// it is called by your mocks.
13992    fn get_polling_backoff_policy(
13993        &self,
13994        _options: &crate::RequestOptions,
13995    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
13996        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
13997    }
13998
13999    #[doc(hidden)]
14000    /// Returns the poller options.
14001    ///
14002    /// When mocking, this method is typically irrelevant. Do not try to verify
14003    /// it is called by your mocks.
14004    fn get_poller_options(
14005        &self,
14006        _options: &crate::RequestOptions,
14007    ) -> google_cloud_lro::PollerOptions {
14008        google_cloud_lro::PollerOptions::default()
14009    }
14010}
14011
14012/// Defines the trait used to implement [super::client::SecurityPolicies].
14013///
14014/// Application developers may need to implement this trait to mock
14015/// `client::SecurityPolicies`.  In other use-cases, application developers only
14016/// use `client::SecurityPolicies` and need not be concerned with this trait or
14017/// its implementations.
14018///
14019/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14020/// too. To avoid breaking applications the trait provides a default
14021/// implementation of each method. Most of these implementations just return an
14022/// error.
14023#[cfg(feature = "security-policies")]
14024#[cfg_attr(docsrs, doc(cfg(feature = "security-policies")))]
14025pub trait SecurityPolicies: std::fmt::Debug + Send + Sync {
14026    /// Implements [super::client::SecurityPolicies::add_rule].
14027    fn add_rule(
14028        &self,
14029        _req: crate::model::security_policies::AddRuleRequest,
14030        _options: crate::RequestOptions,
14031    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14032    {
14033        gaxi::unimplemented::unimplemented_stub()
14034    }
14035
14036    /// Implements [super::client::SecurityPolicies::aggregated_list].
14037    fn aggregated_list(
14038        &self,
14039        _req: crate::model::security_policies::AggregatedListRequest,
14040        _options: crate::RequestOptions,
14041    ) -> impl std::future::Future<
14042        Output = crate::Result<crate::Response<crate::model::SecurityPoliciesAggregatedList>>,
14043    > + Send {
14044        gaxi::unimplemented::unimplemented_stub()
14045    }
14046
14047    /// Implements [super::client::SecurityPolicies::delete].
14048    fn delete(
14049        &self,
14050        _req: crate::model::security_policies::DeleteRequest,
14051        _options: crate::RequestOptions,
14052    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14053    {
14054        gaxi::unimplemented::unimplemented_stub()
14055    }
14056
14057    /// Implements [super::client::SecurityPolicies::get].
14058    fn get(
14059        &self,
14060        _req: crate::model::security_policies::GetRequest,
14061        _options: crate::RequestOptions,
14062    ) -> impl std::future::Future<
14063        Output = crate::Result<crate::Response<crate::model::SecurityPolicy>>,
14064    > + Send {
14065        gaxi::unimplemented::unimplemented_stub()
14066    }
14067
14068    /// Implements [super::client::SecurityPolicies::get_rule].
14069    fn get_rule(
14070        &self,
14071        _req: crate::model::security_policies::GetRuleRequest,
14072        _options: crate::RequestOptions,
14073    ) -> impl std::future::Future<
14074        Output = crate::Result<crate::Response<crate::model::SecurityPolicyRule>>,
14075    > + Send {
14076        gaxi::unimplemented::unimplemented_stub()
14077    }
14078
14079    /// Implements [super::client::SecurityPolicies::insert].
14080    fn insert(
14081        &self,
14082        _req: crate::model::security_policies::InsertRequest,
14083        _options: crate::RequestOptions,
14084    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14085    {
14086        gaxi::unimplemented::unimplemented_stub()
14087    }
14088
14089    /// Implements [super::client::SecurityPolicies::list].
14090    fn list(
14091        &self,
14092        _req: crate::model::security_policies::ListRequest,
14093        _options: crate::RequestOptions,
14094    ) -> impl std::future::Future<
14095        Output = crate::Result<crate::Response<crate::model::SecurityPolicyList>>,
14096    > + Send {
14097        gaxi::unimplemented::unimplemented_stub()
14098    }
14099
14100    /// Implements [super::client::SecurityPolicies::list_preconfigured_expression_sets].
14101    fn list_preconfigured_expression_sets(
14102        &self,
14103        _req: crate::model::security_policies::ListPreconfiguredExpressionSetsRequest,
14104        _options: crate::RequestOptions,
14105    ) -> impl std::future::Future<
14106        Output = crate::Result<
14107            crate::Response<crate::model::SecurityPoliciesListPreconfiguredExpressionSetsResponse>,
14108        >,
14109    > + Send {
14110        gaxi::unimplemented::unimplemented_stub()
14111    }
14112
14113    /// Implements [super::client::SecurityPolicies::patch].
14114    fn patch(
14115        &self,
14116        _req: crate::model::security_policies::PatchRequest,
14117        _options: crate::RequestOptions,
14118    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14119    {
14120        gaxi::unimplemented::unimplemented_stub()
14121    }
14122
14123    /// Implements [super::client::SecurityPolicies::patch_rule].
14124    fn patch_rule(
14125        &self,
14126        _req: crate::model::security_policies::PatchRuleRequest,
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::SecurityPolicies::remove_rule].
14134    fn remove_rule(
14135        &self,
14136        _req: crate::model::security_policies::RemoveRuleRequest,
14137        _options: crate::RequestOptions,
14138    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14139    {
14140        gaxi::unimplemented::unimplemented_stub()
14141    }
14142
14143    /// Implements [super::client::SecurityPolicies::set_labels].
14144    fn set_labels(
14145        &self,
14146        _req: crate::model::security_policies::SetLabelsRequest,
14147        _options: crate::RequestOptions,
14148    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14149    {
14150        gaxi::unimplemented::unimplemented_stub()
14151    }
14152
14153    /// Implements [super::client::SecurityPolicies::get_operation].
14154    fn get_operation(
14155        &self,
14156        _req: crate::model::global_operations::GetRequest,
14157        _options: crate::RequestOptions,
14158    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14159    {
14160        gaxi::unimplemented::unimplemented_stub()
14161    }
14162
14163    /// Returns the polling error policy.
14164    ///
14165    /// When mocking, this method is typically irrelevant. Do not try to verify
14166    /// it is called by your mocks.
14167    fn get_polling_error_policy(
14168        &self,
14169        _options: &crate::RequestOptions,
14170    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14171        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14172    }
14173
14174    /// Returns the polling backoff policy.
14175    ///
14176    /// When mocking, this method is typically irrelevant. Do not try to verify
14177    /// it is called by your mocks.
14178    fn get_polling_backoff_policy(
14179        &self,
14180        _options: &crate::RequestOptions,
14181    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14182        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14183    }
14184
14185    #[doc(hidden)]
14186    /// Returns the poller options.
14187    ///
14188    /// When mocking, this method is typically irrelevant. Do not try to verify
14189    /// it is called by your mocks.
14190    fn get_poller_options(
14191        &self,
14192        _options: &crate::RequestOptions,
14193    ) -> google_cloud_lro::PollerOptions {
14194        google_cloud_lro::PollerOptions::default()
14195    }
14196}
14197
14198/// Defines the trait used to implement [super::client::ServiceAttachments].
14199///
14200/// Application developers may need to implement this trait to mock
14201/// `client::ServiceAttachments`.  In other use-cases, application developers only
14202/// use `client::ServiceAttachments` and need not be concerned with this trait or
14203/// its implementations.
14204///
14205/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14206/// too. To avoid breaking applications the trait provides a default
14207/// implementation of each method. Most of these implementations just return an
14208/// error.
14209#[cfg(feature = "service-attachments")]
14210#[cfg_attr(docsrs, doc(cfg(feature = "service-attachments")))]
14211pub trait ServiceAttachments: std::fmt::Debug + Send + Sync {
14212    /// Implements [super::client::ServiceAttachments::aggregated_list].
14213    fn aggregated_list(
14214        &self,
14215        _req: crate::model::service_attachments::AggregatedListRequest,
14216        _options: crate::RequestOptions,
14217    ) -> impl std::future::Future<
14218        Output = crate::Result<crate::Response<crate::model::ServiceAttachmentAggregatedList>>,
14219    > + Send {
14220        gaxi::unimplemented::unimplemented_stub()
14221    }
14222
14223    /// Implements [super::client::ServiceAttachments::delete].
14224    fn delete(
14225        &self,
14226        _req: crate::model::service_attachments::DeleteRequest,
14227        _options: crate::RequestOptions,
14228    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14229    {
14230        gaxi::unimplemented::unimplemented_stub()
14231    }
14232
14233    /// Implements [super::client::ServiceAttachments::get].
14234    fn get(
14235        &self,
14236        _req: crate::model::service_attachments::GetRequest,
14237        _options: crate::RequestOptions,
14238    ) -> impl std::future::Future<
14239        Output = crate::Result<crate::Response<crate::model::ServiceAttachment>>,
14240    > + Send {
14241        gaxi::unimplemented::unimplemented_stub()
14242    }
14243
14244    /// Implements [super::client::ServiceAttachments::get_iam_policy].
14245    fn get_iam_policy(
14246        &self,
14247        _req: crate::model::service_attachments::GetIamPolicyRequest,
14248        _options: crate::RequestOptions,
14249    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14250    {
14251        gaxi::unimplemented::unimplemented_stub()
14252    }
14253
14254    /// Implements [super::client::ServiceAttachments::insert].
14255    fn insert(
14256        &self,
14257        _req: crate::model::service_attachments::InsertRequest,
14258        _options: crate::RequestOptions,
14259    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14260    {
14261        gaxi::unimplemented::unimplemented_stub()
14262    }
14263
14264    /// Implements [super::client::ServiceAttachments::list].
14265    fn list(
14266        &self,
14267        _req: crate::model::service_attachments::ListRequest,
14268        _options: crate::RequestOptions,
14269    ) -> impl std::future::Future<
14270        Output = crate::Result<crate::Response<crate::model::ServiceAttachmentList>>,
14271    > + Send {
14272        gaxi::unimplemented::unimplemented_stub()
14273    }
14274
14275    /// Implements [super::client::ServiceAttachments::patch].
14276    fn patch(
14277        &self,
14278        _req: crate::model::service_attachments::PatchRequest,
14279        _options: crate::RequestOptions,
14280    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14281    {
14282        gaxi::unimplemented::unimplemented_stub()
14283    }
14284
14285    /// Implements [super::client::ServiceAttachments::set_iam_policy].
14286    fn set_iam_policy(
14287        &self,
14288        _req: crate::model::service_attachments::SetIamPolicyRequest,
14289        _options: crate::RequestOptions,
14290    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14291    {
14292        gaxi::unimplemented::unimplemented_stub()
14293    }
14294
14295    /// Implements [super::client::ServiceAttachments::test_iam_permissions].
14296    fn test_iam_permissions(
14297        &self,
14298        _req: crate::model::service_attachments::TestIamPermissionsRequest,
14299        _options: crate::RequestOptions,
14300    ) -> impl std::future::Future<
14301        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14302    > + Send {
14303        gaxi::unimplemented::unimplemented_stub()
14304    }
14305
14306    /// Implements [super::client::ServiceAttachments::get_operation].
14307    fn get_operation(
14308        &self,
14309        _req: crate::model::region_operations::GetRequest,
14310        _options: crate::RequestOptions,
14311    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14312    {
14313        gaxi::unimplemented::unimplemented_stub()
14314    }
14315
14316    /// Returns the polling error policy.
14317    ///
14318    /// When mocking, this method is typically irrelevant. Do not try to verify
14319    /// it is called by your mocks.
14320    fn get_polling_error_policy(
14321        &self,
14322        _options: &crate::RequestOptions,
14323    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14324        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14325    }
14326
14327    /// Returns the polling backoff policy.
14328    ///
14329    /// When mocking, this method is typically irrelevant. Do not try to verify
14330    /// it is called by your mocks.
14331    fn get_polling_backoff_policy(
14332        &self,
14333        _options: &crate::RequestOptions,
14334    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14335        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14336    }
14337
14338    #[doc(hidden)]
14339    /// Returns the poller options.
14340    ///
14341    /// When mocking, this method is typically irrelevant. Do not try to verify
14342    /// it is called by your mocks.
14343    fn get_poller_options(
14344        &self,
14345        _options: &crate::RequestOptions,
14346    ) -> google_cloud_lro::PollerOptions {
14347        google_cloud_lro::PollerOptions::default()
14348    }
14349}
14350
14351/// Defines the trait used to implement [super::client::SnapshotSettings].
14352///
14353/// Application developers may need to implement this trait to mock
14354/// `client::SnapshotSettings`.  In other use-cases, application developers only
14355/// use `client::SnapshotSettings` and need not be concerned with this trait or
14356/// its implementations.
14357///
14358/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14359/// too. To avoid breaking applications the trait provides a default
14360/// implementation of each method. Most of these implementations just return an
14361/// error.
14362#[cfg(feature = "snapshot-settings")]
14363#[cfg_attr(docsrs, doc(cfg(feature = "snapshot-settings")))]
14364pub trait SnapshotSettings: std::fmt::Debug + Send + Sync {
14365    /// Implements [super::client::SnapshotSettings::get].
14366    fn get(
14367        &self,
14368        _req: crate::model::snapshot_settings::GetRequest,
14369        _options: crate::RequestOptions,
14370    ) -> impl std::future::Future<
14371        Output = crate::Result<crate::Response<crate::model::SnapshotSettings>>,
14372    > + Send {
14373        gaxi::unimplemented::unimplemented_stub()
14374    }
14375
14376    /// Implements [super::client::SnapshotSettings::patch].
14377    fn patch(
14378        &self,
14379        _req: crate::model::snapshot_settings::PatchRequest,
14380        _options: crate::RequestOptions,
14381    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14382    {
14383        gaxi::unimplemented::unimplemented_stub()
14384    }
14385
14386    /// Implements [super::client::SnapshotSettings::get_operation].
14387    fn get_operation(
14388        &self,
14389        _req: crate::model::global_operations::GetRequest,
14390        _options: crate::RequestOptions,
14391    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14392    {
14393        gaxi::unimplemented::unimplemented_stub()
14394    }
14395
14396    /// Returns the polling error policy.
14397    ///
14398    /// When mocking, this method is typically irrelevant. Do not try to verify
14399    /// it is called by your mocks.
14400    fn get_polling_error_policy(
14401        &self,
14402        _options: &crate::RequestOptions,
14403    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14404        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14405    }
14406
14407    /// Returns the polling backoff policy.
14408    ///
14409    /// When mocking, this method is typically irrelevant. Do not try to verify
14410    /// it is called by your mocks.
14411    fn get_polling_backoff_policy(
14412        &self,
14413        _options: &crate::RequestOptions,
14414    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14415        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14416    }
14417
14418    #[doc(hidden)]
14419    /// Returns the poller options.
14420    ///
14421    /// When mocking, this method is typically irrelevant. Do not try to verify
14422    /// it is called by your mocks.
14423    fn get_poller_options(
14424        &self,
14425        _options: &crate::RequestOptions,
14426    ) -> google_cloud_lro::PollerOptions {
14427        google_cloud_lro::PollerOptions::default()
14428    }
14429}
14430
14431/// Defines the trait used to implement [super::client::Snapshots].
14432///
14433/// Application developers may need to implement this trait to mock
14434/// `client::Snapshots`.  In other use-cases, application developers only
14435/// use `client::Snapshots` and need not be concerned with this trait or
14436/// its implementations.
14437///
14438/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14439/// too. To avoid breaking applications the trait provides a default
14440/// implementation of each method. Most of these implementations just return an
14441/// error.
14442#[cfg(feature = "snapshots")]
14443#[cfg_attr(docsrs, doc(cfg(feature = "snapshots")))]
14444pub trait Snapshots: std::fmt::Debug + Send + Sync {
14445    /// Implements [super::client::Snapshots::delete].
14446    fn delete(
14447        &self,
14448        _req: crate::model::snapshots::DeleteRequest,
14449        _options: crate::RequestOptions,
14450    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14451    {
14452        gaxi::unimplemented::unimplemented_stub()
14453    }
14454
14455    /// Implements [super::client::Snapshots::get].
14456    fn get(
14457        &self,
14458        _req: crate::model::snapshots::GetRequest,
14459        _options: crate::RequestOptions,
14460    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Snapshot>>> + Send
14461    {
14462        gaxi::unimplemented::unimplemented_stub()
14463    }
14464
14465    /// Implements [super::client::Snapshots::get_iam_policy].
14466    fn get_iam_policy(
14467        &self,
14468        _req: crate::model::snapshots::GetIamPolicyRequest,
14469        _options: crate::RequestOptions,
14470    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14471    {
14472        gaxi::unimplemented::unimplemented_stub()
14473    }
14474
14475    /// Implements [super::client::Snapshots::insert].
14476    fn insert(
14477        &self,
14478        _req: crate::model::snapshots::InsertRequest,
14479        _options: crate::RequestOptions,
14480    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14481    {
14482        gaxi::unimplemented::unimplemented_stub()
14483    }
14484
14485    /// Implements [super::client::Snapshots::list].
14486    fn list(
14487        &self,
14488        _req: crate::model::snapshots::ListRequest,
14489        _options: crate::RequestOptions,
14490    ) -> impl std::future::Future<
14491        Output = crate::Result<crate::Response<crate::model::SnapshotList>>,
14492    > + Send {
14493        gaxi::unimplemented::unimplemented_stub()
14494    }
14495
14496    /// Implements [super::client::Snapshots::set_iam_policy].
14497    fn set_iam_policy(
14498        &self,
14499        _req: crate::model::snapshots::SetIamPolicyRequest,
14500        _options: crate::RequestOptions,
14501    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14502    {
14503        gaxi::unimplemented::unimplemented_stub()
14504    }
14505
14506    /// Implements [super::client::Snapshots::set_labels].
14507    fn set_labels(
14508        &self,
14509        _req: crate::model::snapshots::SetLabelsRequest,
14510        _options: crate::RequestOptions,
14511    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14512    {
14513        gaxi::unimplemented::unimplemented_stub()
14514    }
14515
14516    /// Implements [super::client::Snapshots::test_iam_permissions].
14517    fn test_iam_permissions(
14518        &self,
14519        _req: crate::model::snapshots::TestIamPermissionsRequest,
14520        _options: crate::RequestOptions,
14521    ) -> impl std::future::Future<
14522        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14523    > + Send {
14524        gaxi::unimplemented::unimplemented_stub()
14525    }
14526
14527    /// Implements [super::client::Snapshots::update_kms_key].
14528    fn update_kms_key(
14529        &self,
14530        _req: crate::model::snapshots::UpdateKmsKeyRequest,
14531        _options: crate::RequestOptions,
14532    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14533    {
14534        gaxi::unimplemented::unimplemented_stub()
14535    }
14536
14537    /// Implements [super::client::Snapshots::get_operation].
14538    fn get_operation(
14539        &self,
14540        _req: crate::model::global_operations::GetRequest,
14541        _options: crate::RequestOptions,
14542    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14543    {
14544        gaxi::unimplemented::unimplemented_stub()
14545    }
14546
14547    /// Returns the polling error policy.
14548    ///
14549    /// When mocking, this method is typically irrelevant. Do not try to verify
14550    /// it is called by your mocks.
14551    fn get_polling_error_policy(
14552        &self,
14553        _options: &crate::RequestOptions,
14554    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14555        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14556    }
14557
14558    /// Returns the polling backoff policy.
14559    ///
14560    /// When mocking, this method is typically irrelevant. Do not try to verify
14561    /// it is called by your mocks.
14562    fn get_polling_backoff_policy(
14563        &self,
14564        _options: &crate::RequestOptions,
14565    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14566        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14567    }
14568
14569    #[doc(hidden)]
14570    /// Returns the poller options.
14571    ///
14572    /// When mocking, this method is typically irrelevant. Do not try to verify
14573    /// it is called by your mocks.
14574    fn get_poller_options(
14575        &self,
14576        _options: &crate::RequestOptions,
14577    ) -> google_cloud_lro::PollerOptions {
14578        google_cloud_lro::PollerOptions::default()
14579    }
14580}
14581
14582/// Defines the trait used to implement [super::client::SslCertificates].
14583///
14584/// Application developers may need to implement this trait to mock
14585/// `client::SslCertificates`.  In other use-cases, application developers only
14586/// use `client::SslCertificates` and need not be concerned with this trait or
14587/// its implementations.
14588///
14589/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14590/// too. To avoid breaking applications the trait provides a default
14591/// implementation of each method. Most of these implementations just return an
14592/// error.
14593#[cfg(feature = "ssl-certificates")]
14594#[cfg_attr(docsrs, doc(cfg(feature = "ssl-certificates")))]
14595pub trait SslCertificates: std::fmt::Debug + Send + Sync {
14596    /// Implements [super::client::SslCertificates::aggregated_list].
14597    fn aggregated_list(
14598        &self,
14599        _req: crate::model::ssl_certificates::AggregatedListRequest,
14600        _options: crate::RequestOptions,
14601    ) -> impl std::future::Future<
14602        Output = crate::Result<crate::Response<crate::model::SslCertificateAggregatedList>>,
14603    > + Send {
14604        gaxi::unimplemented::unimplemented_stub()
14605    }
14606
14607    /// Implements [super::client::SslCertificates::delete].
14608    fn delete(
14609        &self,
14610        _req: crate::model::ssl_certificates::DeleteRequest,
14611        _options: crate::RequestOptions,
14612    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14613    {
14614        gaxi::unimplemented::unimplemented_stub()
14615    }
14616
14617    /// Implements [super::client::SslCertificates::get].
14618    fn get(
14619        &self,
14620        _req: crate::model::ssl_certificates::GetRequest,
14621        _options: crate::RequestOptions,
14622    ) -> impl std::future::Future<
14623        Output = crate::Result<crate::Response<crate::model::SslCertificate>>,
14624    > + Send {
14625        gaxi::unimplemented::unimplemented_stub()
14626    }
14627
14628    /// Implements [super::client::SslCertificates::insert].
14629    fn insert(
14630        &self,
14631        _req: crate::model::ssl_certificates::InsertRequest,
14632        _options: crate::RequestOptions,
14633    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14634    {
14635        gaxi::unimplemented::unimplemented_stub()
14636    }
14637
14638    /// Implements [super::client::SslCertificates::list].
14639    fn list(
14640        &self,
14641        _req: crate::model::ssl_certificates::ListRequest,
14642        _options: crate::RequestOptions,
14643    ) -> impl std::future::Future<
14644        Output = crate::Result<crate::Response<crate::model::SslCertificateList>>,
14645    > + Send {
14646        gaxi::unimplemented::unimplemented_stub()
14647    }
14648
14649    /// Implements [super::client::SslCertificates::get_operation].
14650    fn get_operation(
14651        &self,
14652        _req: crate::model::global_operations::GetRequest,
14653        _options: crate::RequestOptions,
14654    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14655    {
14656        gaxi::unimplemented::unimplemented_stub()
14657    }
14658
14659    /// Returns the polling error policy.
14660    ///
14661    /// When mocking, this method is typically irrelevant. Do not try to verify
14662    /// it is called by your mocks.
14663    fn get_polling_error_policy(
14664        &self,
14665        _options: &crate::RequestOptions,
14666    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14667        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14668    }
14669
14670    /// Returns the polling backoff policy.
14671    ///
14672    /// When mocking, this method is typically irrelevant. Do not try to verify
14673    /// it is called by your mocks.
14674    fn get_polling_backoff_policy(
14675        &self,
14676        _options: &crate::RequestOptions,
14677    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14678        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14679    }
14680
14681    #[doc(hidden)]
14682    /// Returns the poller options.
14683    ///
14684    /// When mocking, this method is typically irrelevant. Do not try to verify
14685    /// it is called by your mocks.
14686    fn get_poller_options(
14687        &self,
14688        _options: &crate::RequestOptions,
14689    ) -> google_cloud_lro::PollerOptions {
14690        google_cloud_lro::PollerOptions::default()
14691    }
14692}
14693
14694/// Defines the trait used to implement [super::client::SslPolicies].
14695///
14696/// Application developers may need to implement this trait to mock
14697/// `client::SslPolicies`.  In other use-cases, application developers only
14698/// use `client::SslPolicies` and need not be concerned with this trait or
14699/// its implementations.
14700///
14701/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14702/// too. To avoid breaking applications the trait provides a default
14703/// implementation of each method. Most of these implementations just return an
14704/// error.
14705#[cfg(feature = "ssl-policies")]
14706#[cfg_attr(docsrs, doc(cfg(feature = "ssl-policies")))]
14707pub trait SslPolicies: std::fmt::Debug + Send + Sync {
14708    /// Implements [super::client::SslPolicies::aggregated_list].
14709    fn aggregated_list(
14710        &self,
14711        _req: crate::model::ssl_policies::AggregatedListRequest,
14712        _options: crate::RequestOptions,
14713    ) -> impl std::future::Future<
14714        Output = crate::Result<crate::Response<crate::model::SslPoliciesAggregatedList>>,
14715    > + Send {
14716        gaxi::unimplemented::unimplemented_stub()
14717    }
14718
14719    /// Implements [super::client::SslPolicies::delete].
14720    fn delete(
14721        &self,
14722        _req: crate::model::ssl_policies::DeleteRequest,
14723        _options: crate::RequestOptions,
14724    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14725    {
14726        gaxi::unimplemented::unimplemented_stub()
14727    }
14728
14729    /// Implements [super::client::SslPolicies::get].
14730    fn get(
14731        &self,
14732        _req: crate::model::ssl_policies::GetRequest,
14733        _options: crate::RequestOptions,
14734    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::SslPolicy>>> + Send
14735    {
14736        gaxi::unimplemented::unimplemented_stub()
14737    }
14738
14739    /// Implements [super::client::SslPolicies::insert].
14740    fn insert(
14741        &self,
14742        _req: crate::model::ssl_policies::InsertRequest,
14743        _options: crate::RequestOptions,
14744    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14745    {
14746        gaxi::unimplemented::unimplemented_stub()
14747    }
14748
14749    /// Implements [super::client::SslPolicies::list].
14750    fn list(
14751        &self,
14752        _req: crate::model::ssl_policies::ListRequest,
14753        _options: crate::RequestOptions,
14754    ) -> impl std::future::Future<
14755        Output = crate::Result<crate::Response<crate::model::SslPoliciesList>>,
14756    > + Send {
14757        gaxi::unimplemented::unimplemented_stub()
14758    }
14759
14760    /// Implements [super::client::SslPolicies::list_available_features].
14761    fn list_available_features(
14762        &self,
14763        _req: crate::model::ssl_policies::ListAvailableFeaturesRequest,
14764        _options: crate::RequestOptions,
14765    ) -> impl std::future::Future<
14766        Output = crate::Result<
14767            crate::Response<crate::model::SslPoliciesListAvailableFeaturesResponse>,
14768        >,
14769    > + Send {
14770        gaxi::unimplemented::unimplemented_stub()
14771    }
14772
14773    /// Implements [super::client::SslPolicies::patch].
14774    fn patch(
14775        &self,
14776        _req: crate::model::ssl_policies::PatchRequest,
14777        _options: crate::RequestOptions,
14778    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14779    {
14780        gaxi::unimplemented::unimplemented_stub()
14781    }
14782
14783    /// Implements [super::client::SslPolicies::get_operation].
14784    fn get_operation(
14785        &self,
14786        _req: crate::model::global_operations::GetRequest,
14787        _options: crate::RequestOptions,
14788    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14789    {
14790        gaxi::unimplemented::unimplemented_stub()
14791    }
14792
14793    /// Returns the polling error policy.
14794    ///
14795    /// When mocking, this method is typically irrelevant. Do not try to verify
14796    /// it is called by your mocks.
14797    fn get_polling_error_policy(
14798        &self,
14799        _options: &crate::RequestOptions,
14800    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
14801        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
14802    }
14803
14804    /// Returns the polling backoff policy.
14805    ///
14806    /// When mocking, this method is typically irrelevant. Do not try to verify
14807    /// it is called by your mocks.
14808    fn get_polling_backoff_policy(
14809        &self,
14810        _options: &crate::RequestOptions,
14811    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
14812        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
14813    }
14814
14815    #[doc(hidden)]
14816    /// Returns the poller options.
14817    ///
14818    /// When mocking, this method is typically irrelevant. Do not try to verify
14819    /// it is called by your mocks.
14820    fn get_poller_options(
14821        &self,
14822        _options: &crate::RequestOptions,
14823    ) -> google_cloud_lro::PollerOptions {
14824        google_cloud_lro::PollerOptions::default()
14825    }
14826}
14827
14828/// Defines the trait used to implement [super::client::StoragePoolTypes].
14829///
14830/// Application developers may need to implement this trait to mock
14831/// `client::StoragePoolTypes`.  In other use-cases, application developers only
14832/// use `client::StoragePoolTypes` and need not be concerned with this trait or
14833/// its implementations.
14834///
14835/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14836/// too. To avoid breaking applications the trait provides a default
14837/// implementation of each method. Most of these implementations just return an
14838/// error.
14839#[cfg(feature = "storage-pool-types")]
14840#[cfg_attr(docsrs, doc(cfg(feature = "storage-pool-types")))]
14841pub trait StoragePoolTypes: std::fmt::Debug + Send + Sync {
14842    /// Implements [super::client::StoragePoolTypes::aggregated_list].
14843    fn aggregated_list(
14844        &self,
14845        _req: crate::model::storage_pool_types::AggregatedListRequest,
14846        _options: crate::RequestOptions,
14847    ) -> impl std::future::Future<
14848        Output = crate::Result<crate::Response<crate::model::StoragePoolTypeAggregatedList>>,
14849    > + Send {
14850        gaxi::unimplemented::unimplemented_stub()
14851    }
14852
14853    /// Implements [super::client::StoragePoolTypes::get].
14854    fn get(
14855        &self,
14856        _req: crate::model::storage_pool_types::GetRequest,
14857        _options: crate::RequestOptions,
14858    ) -> impl std::future::Future<
14859        Output = crate::Result<crate::Response<crate::model::StoragePoolType>>,
14860    > + Send {
14861        gaxi::unimplemented::unimplemented_stub()
14862    }
14863
14864    /// Implements [super::client::StoragePoolTypes::list].
14865    fn list(
14866        &self,
14867        _req: crate::model::storage_pool_types::ListRequest,
14868        _options: crate::RequestOptions,
14869    ) -> impl std::future::Future<
14870        Output = crate::Result<crate::Response<crate::model::StoragePoolTypeList>>,
14871    > + Send {
14872        gaxi::unimplemented::unimplemented_stub()
14873    }
14874}
14875
14876/// Defines the trait used to implement [super::client::StoragePools].
14877///
14878/// Application developers may need to implement this trait to mock
14879/// `client::StoragePools`.  In other use-cases, application developers only
14880/// use `client::StoragePools` and need not be concerned with this trait or
14881/// its implementations.
14882///
14883/// Services gain new RPCs routinely. Consequently, this trait gains new methods
14884/// too. To avoid breaking applications the trait provides a default
14885/// implementation of each method. Most of these implementations just return an
14886/// error.
14887#[cfg(feature = "storage-pools")]
14888#[cfg_attr(docsrs, doc(cfg(feature = "storage-pools")))]
14889pub trait StoragePools: std::fmt::Debug + Send + Sync {
14890    /// Implements [super::client::StoragePools::aggregated_list].
14891    fn aggregated_list(
14892        &self,
14893        _req: crate::model::storage_pools::AggregatedListRequest,
14894        _options: crate::RequestOptions,
14895    ) -> impl std::future::Future<
14896        Output = crate::Result<crate::Response<crate::model::StoragePoolAggregatedList>>,
14897    > + Send {
14898        gaxi::unimplemented::unimplemented_stub()
14899    }
14900
14901    /// Implements [super::client::StoragePools::delete].
14902    fn delete(
14903        &self,
14904        _req: crate::model::storage_pools::DeleteRequest,
14905        _options: crate::RequestOptions,
14906    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14907    {
14908        gaxi::unimplemented::unimplemented_stub()
14909    }
14910
14911    /// Implements [super::client::StoragePools::get].
14912    fn get(
14913        &self,
14914        _req: crate::model::storage_pools::GetRequest,
14915        _options: crate::RequestOptions,
14916    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::StoragePool>>>
14917    + Send {
14918        gaxi::unimplemented::unimplemented_stub()
14919    }
14920
14921    /// Implements [super::client::StoragePools::get_iam_policy].
14922    fn get_iam_policy(
14923        &self,
14924        _req: crate::model::storage_pools::GetIamPolicyRequest,
14925        _options: crate::RequestOptions,
14926    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14927    {
14928        gaxi::unimplemented::unimplemented_stub()
14929    }
14930
14931    /// Implements [super::client::StoragePools::insert].
14932    fn insert(
14933        &self,
14934        _req: crate::model::storage_pools::InsertRequest,
14935        _options: crate::RequestOptions,
14936    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14937    {
14938        gaxi::unimplemented::unimplemented_stub()
14939    }
14940
14941    /// Implements [super::client::StoragePools::list].
14942    fn list(
14943        &self,
14944        _req: crate::model::storage_pools::ListRequest,
14945        _options: crate::RequestOptions,
14946    ) -> impl std::future::Future<
14947        Output = crate::Result<crate::Response<crate::model::StoragePoolList>>,
14948    > + Send {
14949        gaxi::unimplemented::unimplemented_stub()
14950    }
14951
14952    /// Implements [super::client::StoragePools::list_disks].
14953    fn list_disks(
14954        &self,
14955        _req: crate::model::storage_pools::ListDisksRequest,
14956        _options: crate::RequestOptions,
14957    ) -> impl std::future::Future<
14958        Output = crate::Result<crate::Response<crate::model::StoragePoolListDisks>>,
14959    > + Send {
14960        gaxi::unimplemented::unimplemented_stub()
14961    }
14962
14963    /// Implements [super::client::StoragePools::set_iam_policy].
14964    fn set_iam_policy(
14965        &self,
14966        _req: crate::model::storage_pools::SetIamPolicyRequest,
14967        _options: crate::RequestOptions,
14968    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
14969    {
14970        gaxi::unimplemented::unimplemented_stub()
14971    }
14972
14973    /// Implements [super::client::StoragePools::test_iam_permissions].
14974    fn test_iam_permissions(
14975        &self,
14976        _req: crate::model::storage_pools::TestIamPermissionsRequest,
14977        _options: crate::RequestOptions,
14978    ) -> impl std::future::Future<
14979        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
14980    > + Send {
14981        gaxi::unimplemented::unimplemented_stub()
14982    }
14983
14984    /// Implements [super::client::StoragePools::update].
14985    fn update(
14986        &self,
14987        _req: crate::model::storage_pools::UpdateRequest,
14988        _options: crate::RequestOptions,
14989    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
14990    {
14991        gaxi::unimplemented::unimplemented_stub()
14992    }
14993
14994    /// Implements [super::client::StoragePools::get_operation].
14995    fn get_operation(
14996        &self,
14997        _req: crate::model::zone_operations::GetRequest,
14998        _options: crate::RequestOptions,
14999    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15000    {
15001        gaxi::unimplemented::unimplemented_stub()
15002    }
15003
15004    /// Returns the polling error policy.
15005    ///
15006    /// When mocking, this method is typically irrelevant. Do not try to verify
15007    /// it is called by your mocks.
15008    fn get_polling_error_policy(
15009        &self,
15010        _options: &crate::RequestOptions,
15011    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15012        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15013    }
15014
15015    /// Returns the polling backoff policy.
15016    ///
15017    /// When mocking, this method is typically irrelevant. Do not try to verify
15018    /// it is called by your mocks.
15019    fn get_polling_backoff_policy(
15020        &self,
15021        _options: &crate::RequestOptions,
15022    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15023        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15024    }
15025
15026    #[doc(hidden)]
15027    /// Returns the poller options.
15028    ///
15029    /// When mocking, this method is typically irrelevant. Do not try to verify
15030    /// it is called by your mocks.
15031    fn get_poller_options(
15032        &self,
15033        _options: &crate::RequestOptions,
15034    ) -> google_cloud_lro::PollerOptions {
15035        google_cloud_lro::PollerOptions::default()
15036    }
15037}
15038
15039/// Defines the trait used to implement [super::client::Subnetworks].
15040///
15041/// Application developers may need to implement this trait to mock
15042/// `client::Subnetworks`.  In other use-cases, application developers only
15043/// use `client::Subnetworks` and need not be concerned with this trait or
15044/// its implementations.
15045///
15046/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15047/// too. To avoid breaking applications the trait provides a default
15048/// implementation of each method. Most of these implementations just return an
15049/// error.
15050#[cfg(feature = "subnetworks")]
15051#[cfg_attr(docsrs, doc(cfg(feature = "subnetworks")))]
15052pub trait Subnetworks: std::fmt::Debug + Send + Sync {
15053    /// Implements [super::client::Subnetworks::aggregated_list].
15054    fn aggregated_list(
15055        &self,
15056        _req: crate::model::subnetworks::AggregatedListRequest,
15057        _options: crate::RequestOptions,
15058    ) -> impl std::future::Future<
15059        Output = crate::Result<crate::Response<crate::model::SubnetworkAggregatedList>>,
15060    > + Send {
15061        gaxi::unimplemented::unimplemented_stub()
15062    }
15063
15064    /// Implements [super::client::Subnetworks::delete].
15065    fn delete(
15066        &self,
15067        _req: crate::model::subnetworks::DeleteRequest,
15068        _options: crate::RequestOptions,
15069    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15070    {
15071        gaxi::unimplemented::unimplemented_stub()
15072    }
15073
15074    /// Implements [super::client::Subnetworks::expand_ip_cidr_range].
15075    fn expand_ip_cidr_range(
15076        &self,
15077        _req: crate::model::subnetworks::ExpandIpCidrRangeRequest,
15078        _options: crate::RequestOptions,
15079    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15080    {
15081        gaxi::unimplemented::unimplemented_stub()
15082    }
15083
15084    /// Implements [super::client::Subnetworks::get].
15085    fn get(
15086        &self,
15087        _req: crate::model::subnetworks::GetRequest,
15088        _options: crate::RequestOptions,
15089    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Subnetwork>>> + Send
15090    {
15091        gaxi::unimplemented::unimplemented_stub()
15092    }
15093
15094    /// Implements [super::client::Subnetworks::get_iam_policy].
15095    fn get_iam_policy(
15096        &self,
15097        _req: crate::model::subnetworks::GetIamPolicyRequest,
15098        _options: crate::RequestOptions,
15099    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
15100    {
15101        gaxi::unimplemented::unimplemented_stub()
15102    }
15103
15104    /// Implements [super::client::Subnetworks::insert].
15105    fn insert(
15106        &self,
15107        _req: crate::model::subnetworks::InsertRequest,
15108        _options: crate::RequestOptions,
15109    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15110    {
15111        gaxi::unimplemented::unimplemented_stub()
15112    }
15113
15114    /// Implements [super::client::Subnetworks::list].
15115    fn list(
15116        &self,
15117        _req: crate::model::subnetworks::ListRequest,
15118        _options: crate::RequestOptions,
15119    ) -> impl std::future::Future<
15120        Output = crate::Result<crate::Response<crate::model::SubnetworkList>>,
15121    > + Send {
15122        gaxi::unimplemented::unimplemented_stub()
15123    }
15124
15125    /// Implements [super::client::Subnetworks::list_usable].
15126    fn list_usable(
15127        &self,
15128        _req: crate::model::subnetworks::ListUsableRequest,
15129        _options: crate::RequestOptions,
15130    ) -> impl std::future::Future<
15131        Output = crate::Result<crate::Response<crate::model::UsableSubnetworksAggregatedList>>,
15132    > + Send {
15133        gaxi::unimplemented::unimplemented_stub()
15134    }
15135
15136    /// Implements [super::client::Subnetworks::patch].
15137    fn patch(
15138        &self,
15139        _req: crate::model::subnetworks::PatchRequest,
15140        _options: crate::RequestOptions,
15141    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15142    {
15143        gaxi::unimplemented::unimplemented_stub()
15144    }
15145
15146    /// Implements [super::client::Subnetworks::set_iam_policy].
15147    fn set_iam_policy(
15148        &self,
15149        _req: crate::model::subnetworks::SetIamPolicyRequest,
15150        _options: crate::RequestOptions,
15151    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Policy>>> + Send
15152    {
15153        gaxi::unimplemented::unimplemented_stub()
15154    }
15155
15156    /// Implements [super::client::Subnetworks::set_private_ip_google_access].
15157    fn set_private_ip_google_access(
15158        &self,
15159        _req: crate::model::subnetworks::SetPrivateIpGoogleAccessRequest,
15160        _options: crate::RequestOptions,
15161    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15162    {
15163        gaxi::unimplemented::unimplemented_stub()
15164    }
15165
15166    /// Implements [super::client::Subnetworks::test_iam_permissions].
15167    fn test_iam_permissions(
15168        &self,
15169        _req: crate::model::subnetworks::TestIamPermissionsRequest,
15170        _options: crate::RequestOptions,
15171    ) -> impl std::future::Future<
15172        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
15173    > + Send {
15174        gaxi::unimplemented::unimplemented_stub()
15175    }
15176
15177    /// Implements [super::client::Subnetworks::get_operation].
15178    fn get_operation(
15179        &self,
15180        _req: crate::model::region_operations::GetRequest,
15181        _options: crate::RequestOptions,
15182    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15183    {
15184        gaxi::unimplemented::unimplemented_stub()
15185    }
15186
15187    /// Returns the polling error policy.
15188    ///
15189    /// When mocking, this method is typically irrelevant. Do not try to verify
15190    /// it is called by your mocks.
15191    fn get_polling_error_policy(
15192        &self,
15193        _options: &crate::RequestOptions,
15194    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15195        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15196    }
15197
15198    /// Returns the polling backoff policy.
15199    ///
15200    /// When mocking, this method is typically irrelevant. Do not try to verify
15201    /// it is called by your mocks.
15202    fn get_polling_backoff_policy(
15203        &self,
15204        _options: &crate::RequestOptions,
15205    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15206        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15207    }
15208
15209    #[doc(hidden)]
15210    /// Returns the poller options.
15211    ///
15212    /// When mocking, this method is typically irrelevant. Do not try to verify
15213    /// it is called by your mocks.
15214    fn get_poller_options(
15215        &self,
15216        _options: &crate::RequestOptions,
15217    ) -> google_cloud_lro::PollerOptions {
15218        google_cloud_lro::PollerOptions::default()
15219    }
15220}
15221
15222/// Defines the trait used to implement [super::client::TargetGrpcProxies].
15223///
15224/// Application developers may need to implement this trait to mock
15225/// `client::TargetGrpcProxies`.  In other use-cases, application developers only
15226/// use `client::TargetGrpcProxies` and need not be concerned with this trait or
15227/// its implementations.
15228///
15229/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15230/// too. To avoid breaking applications the trait provides a default
15231/// implementation of each method. Most of these implementations just return an
15232/// error.
15233#[cfg(feature = "target-grpc-proxies")]
15234#[cfg_attr(docsrs, doc(cfg(feature = "target-grpc-proxies")))]
15235pub trait TargetGrpcProxies: std::fmt::Debug + Send + Sync {
15236    /// Implements [super::client::TargetGrpcProxies::delete].
15237    fn delete(
15238        &self,
15239        _req: crate::model::target_grpc_proxies::DeleteRequest,
15240        _options: crate::RequestOptions,
15241    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15242    {
15243        gaxi::unimplemented::unimplemented_stub()
15244    }
15245
15246    /// Implements [super::client::TargetGrpcProxies::get].
15247    fn get(
15248        &self,
15249        _req: crate::model::target_grpc_proxies::GetRequest,
15250        _options: crate::RequestOptions,
15251    ) -> impl std::future::Future<
15252        Output = crate::Result<crate::Response<crate::model::TargetGrpcProxy>>,
15253    > + Send {
15254        gaxi::unimplemented::unimplemented_stub()
15255    }
15256
15257    /// Implements [super::client::TargetGrpcProxies::insert].
15258    fn insert(
15259        &self,
15260        _req: crate::model::target_grpc_proxies::InsertRequest,
15261        _options: crate::RequestOptions,
15262    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15263    {
15264        gaxi::unimplemented::unimplemented_stub()
15265    }
15266
15267    /// Implements [super::client::TargetGrpcProxies::list].
15268    fn list(
15269        &self,
15270        _req: crate::model::target_grpc_proxies::ListRequest,
15271        _options: crate::RequestOptions,
15272    ) -> impl std::future::Future<
15273        Output = crate::Result<crate::Response<crate::model::TargetGrpcProxyList>>,
15274    > + Send {
15275        gaxi::unimplemented::unimplemented_stub()
15276    }
15277
15278    /// Implements [super::client::TargetGrpcProxies::patch].
15279    fn patch(
15280        &self,
15281        _req: crate::model::target_grpc_proxies::PatchRequest,
15282        _options: crate::RequestOptions,
15283    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15284    {
15285        gaxi::unimplemented::unimplemented_stub()
15286    }
15287
15288    /// Implements [super::client::TargetGrpcProxies::get_operation].
15289    fn get_operation(
15290        &self,
15291        _req: crate::model::global_operations::GetRequest,
15292        _options: crate::RequestOptions,
15293    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15294    {
15295        gaxi::unimplemented::unimplemented_stub()
15296    }
15297
15298    /// Returns the polling error policy.
15299    ///
15300    /// When mocking, this method is typically irrelevant. Do not try to verify
15301    /// it is called by your mocks.
15302    fn get_polling_error_policy(
15303        &self,
15304        _options: &crate::RequestOptions,
15305    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15306        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15307    }
15308
15309    /// Returns the polling backoff policy.
15310    ///
15311    /// When mocking, this method is typically irrelevant. Do not try to verify
15312    /// it is called by your mocks.
15313    fn get_polling_backoff_policy(
15314        &self,
15315        _options: &crate::RequestOptions,
15316    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15317        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15318    }
15319
15320    #[doc(hidden)]
15321    /// Returns the poller options.
15322    ///
15323    /// When mocking, this method is typically irrelevant. Do not try to verify
15324    /// it is called by your mocks.
15325    fn get_poller_options(
15326        &self,
15327        _options: &crate::RequestOptions,
15328    ) -> google_cloud_lro::PollerOptions {
15329        google_cloud_lro::PollerOptions::default()
15330    }
15331}
15332
15333/// Defines the trait used to implement [super::client::TargetHttpProxies].
15334///
15335/// Application developers may need to implement this trait to mock
15336/// `client::TargetHttpProxies`.  In other use-cases, application developers only
15337/// use `client::TargetHttpProxies` and need not be concerned with this trait or
15338/// its implementations.
15339///
15340/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15341/// too. To avoid breaking applications the trait provides a default
15342/// implementation of each method. Most of these implementations just return an
15343/// error.
15344#[cfg(feature = "target-http-proxies")]
15345#[cfg_attr(docsrs, doc(cfg(feature = "target-http-proxies")))]
15346pub trait TargetHttpProxies: std::fmt::Debug + Send + Sync {
15347    /// Implements [super::client::TargetHttpProxies::aggregated_list].
15348    fn aggregated_list(
15349        &self,
15350        _req: crate::model::target_http_proxies::AggregatedListRequest,
15351        _options: crate::RequestOptions,
15352    ) -> impl std::future::Future<
15353        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyAggregatedList>>,
15354    > + Send {
15355        gaxi::unimplemented::unimplemented_stub()
15356    }
15357
15358    /// Implements [super::client::TargetHttpProxies::delete].
15359    fn delete(
15360        &self,
15361        _req: crate::model::target_http_proxies::DeleteRequest,
15362        _options: crate::RequestOptions,
15363    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15364    {
15365        gaxi::unimplemented::unimplemented_stub()
15366    }
15367
15368    /// Implements [super::client::TargetHttpProxies::get].
15369    fn get(
15370        &self,
15371        _req: crate::model::target_http_proxies::GetRequest,
15372        _options: crate::RequestOptions,
15373    ) -> impl std::future::Future<
15374        Output = crate::Result<crate::Response<crate::model::TargetHttpProxy>>,
15375    > + Send {
15376        gaxi::unimplemented::unimplemented_stub()
15377    }
15378
15379    /// Implements [super::client::TargetHttpProxies::insert].
15380    fn insert(
15381        &self,
15382        _req: crate::model::target_http_proxies::InsertRequest,
15383        _options: crate::RequestOptions,
15384    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15385    {
15386        gaxi::unimplemented::unimplemented_stub()
15387    }
15388
15389    /// Implements [super::client::TargetHttpProxies::list].
15390    fn list(
15391        &self,
15392        _req: crate::model::target_http_proxies::ListRequest,
15393        _options: crate::RequestOptions,
15394    ) -> impl std::future::Future<
15395        Output = crate::Result<crate::Response<crate::model::TargetHttpProxyList>>,
15396    > + Send {
15397        gaxi::unimplemented::unimplemented_stub()
15398    }
15399
15400    /// Implements [super::client::TargetHttpProxies::patch].
15401    fn patch(
15402        &self,
15403        _req: crate::model::target_http_proxies::PatchRequest,
15404        _options: crate::RequestOptions,
15405    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15406    {
15407        gaxi::unimplemented::unimplemented_stub()
15408    }
15409
15410    /// Implements [super::client::TargetHttpProxies::set_url_map].
15411    fn set_url_map(
15412        &self,
15413        _req: crate::model::target_http_proxies::SetUrlMapRequest,
15414        _options: crate::RequestOptions,
15415    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15416    {
15417        gaxi::unimplemented::unimplemented_stub()
15418    }
15419
15420    /// Implements [super::client::TargetHttpProxies::get_operation].
15421    fn get_operation(
15422        &self,
15423        _req: crate::model::global_operations::GetRequest,
15424        _options: crate::RequestOptions,
15425    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15426    {
15427        gaxi::unimplemented::unimplemented_stub()
15428    }
15429
15430    /// Returns the polling error policy.
15431    ///
15432    /// When mocking, this method is typically irrelevant. Do not try to verify
15433    /// it is called by your mocks.
15434    fn get_polling_error_policy(
15435        &self,
15436        _options: &crate::RequestOptions,
15437    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15438        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15439    }
15440
15441    /// Returns the polling backoff policy.
15442    ///
15443    /// When mocking, this method is typically irrelevant. Do not try to verify
15444    /// it is called by your mocks.
15445    fn get_polling_backoff_policy(
15446        &self,
15447        _options: &crate::RequestOptions,
15448    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15449        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15450    }
15451
15452    #[doc(hidden)]
15453    /// Returns the poller options.
15454    ///
15455    /// When mocking, this method is typically irrelevant. Do not try to verify
15456    /// it is called by your mocks.
15457    fn get_poller_options(
15458        &self,
15459        _options: &crate::RequestOptions,
15460    ) -> google_cloud_lro::PollerOptions {
15461        google_cloud_lro::PollerOptions::default()
15462    }
15463}
15464
15465/// Defines the trait used to implement [super::client::TargetHttpsProxies].
15466///
15467/// Application developers may need to implement this trait to mock
15468/// `client::TargetHttpsProxies`.  In other use-cases, application developers only
15469/// use `client::TargetHttpsProxies` and need not be concerned with this trait or
15470/// its implementations.
15471///
15472/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15473/// too. To avoid breaking applications the trait provides a default
15474/// implementation of each method. Most of these implementations just return an
15475/// error.
15476#[cfg(feature = "target-https-proxies")]
15477#[cfg_attr(docsrs, doc(cfg(feature = "target-https-proxies")))]
15478pub trait TargetHttpsProxies: std::fmt::Debug + Send + Sync {
15479    /// Implements [super::client::TargetHttpsProxies::aggregated_list].
15480    fn aggregated_list(
15481        &self,
15482        _req: crate::model::target_https_proxies::AggregatedListRequest,
15483        _options: crate::RequestOptions,
15484    ) -> impl std::future::Future<
15485        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyAggregatedList>>,
15486    > + Send {
15487        gaxi::unimplemented::unimplemented_stub()
15488    }
15489
15490    /// Implements [super::client::TargetHttpsProxies::delete].
15491    fn delete(
15492        &self,
15493        _req: crate::model::target_https_proxies::DeleteRequest,
15494        _options: crate::RequestOptions,
15495    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15496    {
15497        gaxi::unimplemented::unimplemented_stub()
15498    }
15499
15500    /// Implements [super::client::TargetHttpsProxies::get].
15501    fn get(
15502        &self,
15503        _req: crate::model::target_https_proxies::GetRequest,
15504        _options: crate::RequestOptions,
15505    ) -> impl std::future::Future<
15506        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxy>>,
15507    > + Send {
15508        gaxi::unimplemented::unimplemented_stub()
15509    }
15510
15511    /// Implements [super::client::TargetHttpsProxies::insert].
15512    fn insert(
15513        &self,
15514        _req: crate::model::target_https_proxies::InsertRequest,
15515        _options: crate::RequestOptions,
15516    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15517    {
15518        gaxi::unimplemented::unimplemented_stub()
15519    }
15520
15521    /// Implements [super::client::TargetHttpsProxies::list].
15522    fn list(
15523        &self,
15524        _req: crate::model::target_https_proxies::ListRequest,
15525        _options: crate::RequestOptions,
15526    ) -> impl std::future::Future<
15527        Output = crate::Result<crate::Response<crate::model::TargetHttpsProxyList>>,
15528    > + Send {
15529        gaxi::unimplemented::unimplemented_stub()
15530    }
15531
15532    /// Implements [super::client::TargetHttpsProxies::patch].
15533    fn patch(
15534        &self,
15535        _req: crate::model::target_https_proxies::PatchRequest,
15536        _options: crate::RequestOptions,
15537    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15538    {
15539        gaxi::unimplemented::unimplemented_stub()
15540    }
15541
15542    /// Implements [super::client::TargetHttpsProxies::set_certificate_map].
15543    fn set_certificate_map(
15544        &self,
15545        _req: crate::model::target_https_proxies::SetCertificateMapRequest,
15546        _options: crate::RequestOptions,
15547    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15548    {
15549        gaxi::unimplemented::unimplemented_stub()
15550    }
15551
15552    /// Implements [super::client::TargetHttpsProxies::set_quic_override].
15553    fn set_quic_override(
15554        &self,
15555        _req: crate::model::target_https_proxies::SetQuicOverrideRequest,
15556        _options: crate::RequestOptions,
15557    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15558    {
15559        gaxi::unimplemented::unimplemented_stub()
15560    }
15561
15562    /// Implements [super::client::TargetHttpsProxies::set_ssl_certificates].
15563    fn set_ssl_certificates(
15564        &self,
15565        _req: crate::model::target_https_proxies::SetSslCertificatesRequest,
15566        _options: crate::RequestOptions,
15567    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15568    {
15569        gaxi::unimplemented::unimplemented_stub()
15570    }
15571
15572    /// Implements [super::client::TargetHttpsProxies::set_ssl_policy].
15573    fn set_ssl_policy(
15574        &self,
15575        _req: crate::model::target_https_proxies::SetSslPolicyRequest,
15576        _options: crate::RequestOptions,
15577    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15578    {
15579        gaxi::unimplemented::unimplemented_stub()
15580    }
15581
15582    /// Implements [super::client::TargetHttpsProxies::set_url_map].
15583    fn set_url_map(
15584        &self,
15585        _req: crate::model::target_https_proxies::SetUrlMapRequest,
15586        _options: crate::RequestOptions,
15587    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15588    {
15589        gaxi::unimplemented::unimplemented_stub()
15590    }
15591
15592    /// Implements [super::client::TargetHttpsProxies::get_operation].
15593    fn get_operation(
15594        &self,
15595        _req: crate::model::global_operations::GetRequest,
15596        _options: crate::RequestOptions,
15597    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15598    {
15599        gaxi::unimplemented::unimplemented_stub()
15600    }
15601
15602    /// Returns the polling error policy.
15603    ///
15604    /// When mocking, this method is typically irrelevant. Do not try to verify
15605    /// it is called by your mocks.
15606    fn get_polling_error_policy(
15607        &self,
15608        _options: &crate::RequestOptions,
15609    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15610        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15611    }
15612
15613    /// Returns the polling backoff policy.
15614    ///
15615    /// When mocking, this method is typically irrelevant. Do not try to verify
15616    /// it is called by your mocks.
15617    fn get_polling_backoff_policy(
15618        &self,
15619        _options: &crate::RequestOptions,
15620    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15621        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15622    }
15623
15624    #[doc(hidden)]
15625    /// Returns the poller options.
15626    ///
15627    /// When mocking, this method is typically irrelevant. Do not try to verify
15628    /// it is called by your mocks.
15629    fn get_poller_options(
15630        &self,
15631        _options: &crate::RequestOptions,
15632    ) -> google_cloud_lro::PollerOptions {
15633        google_cloud_lro::PollerOptions::default()
15634    }
15635}
15636
15637/// Defines the trait used to implement [super::client::TargetInstances].
15638///
15639/// Application developers may need to implement this trait to mock
15640/// `client::TargetInstances`.  In other use-cases, application developers only
15641/// use `client::TargetInstances` and need not be concerned with this trait or
15642/// its implementations.
15643///
15644/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15645/// too. To avoid breaking applications the trait provides a default
15646/// implementation of each method. Most of these implementations just return an
15647/// error.
15648#[cfg(feature = "target-instances")]
15649#[cfg_attr(docsrs, doc(cfg(feature = "target-instances")))]
15650pub trait TargetInstances: std::fmt::Debug + Send + Sync {
15651    /// Implements [super::client::TargetInstances::aggregated_list].
15652    fn aggregated_list(
15653        &self,
15654        _req: crate::model::target_instances::AggregatedListRequest,
15655        _options: crate::RequestOptions,
15656    ) -> impl std::future::Future<
15657        Output = crate::Result<crate::Response<crate::model::TargetInstanceAggregatedList>>,
15658    > + Send {
15659        gaxi::unimplemented::unimplemented_stub()
15660    }
15661
15662    /// Implements [super::client::TargetInstances::delete].
15663    fn delete(
15664        &self,
15665        _req: crate::model::target_instances::DeleteRequest,
15666        _options: crate::RequestOptions,
15667    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15668    {
15669        gaxi::unimplemented::unimplemented_stub()
15670    }
15671
15672    /// Implements [super::client::TargetInstances::get].
15673    fn get(
15674        &self,
15675        _req: crate::model::target_instances::GetRequest,
15676        _options: crate::RequestOptions,
15677    ) -> impl std::future::Future<
15678        Output = crate::Result<crate::Response<crate::model::TargetInstance>>,
15679    > + Send {
15680        gaxi::unimplemented::unimplemented_stub()
15681    }
15682
15683    /// Implements [super::client::TargetInstances::insert].
15684    fn insert(
15685        &self,
15686        _req: crate::model::target_instances::InsertRequest,
15687        _options: crate::RequestOptions,
15688    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15689    {
15690        gaxi::unimplemented::unimplemented_stub()
15691    }
15692
15693    /// Implements [super::client::TargetInstances::list].
15694    fn list(
15695        &self,
15696        _req: crate::model::target_instances::ListRequest,
15697        _options: crate::RequestOptions,
15698    ) -> impl std::future::Future<
15699        Output = crate::Result<crate::Response<crate::model::TargetInstanceList>>,
15700    > + Send {
15701        gaxi::unimplemented::unimplemented_stub()
15702    }
15703
15704    /// Implements [super::client::TargetInstances::set_security_policy].
15705    fn set_security_policy(
15706        &self,
15707        _req: crate::model::target_instances::SetSecurityPolicyRequest,
15708        _options: crate::RequestOptions,
15709    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15710    {
15711        gaxi::unimplemented::unimplemented_stub()
15712    }
15713
15714    /// Implements [super::client::TargetInstances::test_iam_permissions].
15715    fn test_iam_permissions(
15716        &self,
15717        _req: crate::model::target_instances::TestIamPermissionsRequest,
15718        _options: crate::RequestOptions,
15719    ) -> impl std::future::Future<
15720        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
15721    > + Send {
15722        gaxi::unimplemented::unimplemented_stub()
15723    }
15724
15725    /// Implements [super::client::TargetInstances::get_operation].
15726    fn get_operation(
15727        &self,
15728        _req: crate::model::zone_operations::GetRequest,
15729        _options: crate::RequestOptions,
15730    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15731    {
15732        gaxi::unimplemented::unimplemented_stub()
15733    }
15734
15735    /// Returns the polling error policy.
15736    ///
15737    /// When mocking, this method is typically irrelevant. Do not try to verify
15738    /// it is called by your mocks.
15739    fn get_polling_error_policy(
15740        &self,
15741        _options: &crate::RequestOptions,
15742    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15743        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15744    }
15745
15746    /// Returns the polling backoff policy.
15747    ///
15748    /// When mocking, this method is typically irrelevant. Do not try to verify
15749    /// it is called by your mocks.
15750    fn get_polling_backoff_policy(
15751        &self,
15752        _options: &crate::RequestOptions,
15753    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15754        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15755    }
15756
15757    #[doc(hidden)]
15758    /// Returns the poller options.
15759    ///
15760    /// When mocking, this method is typically irrelevant. Do not try to verify
15761    /// it is called by your mocks.
15762    fn get_poller_options(
15763        &self,
15764        _options: &crate::RequestOptions,
15765    ) -> google_cloud_lro::PollerOptions {
15766        google_cloud_lro::PollerOptions::default()
15767    }
15768}
15769
15770/// Defines the trait used to implement [super::client::TargetPools].
15771///
15772/// Application developers may need to implement this trait to mock
15773/// `client::TargetPools`.  In other use-cases, application developers only
15774/// use `client::TargetPools` and need not be concerned with this trait or
15775/// its implementations.
15776///
15777/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15778/// too. To avoid breaking applications the trait provides a default
15779/// implementation of each method. Most of these implementations just return an
15780/// error.
15781#[cfg(feature = "target-pools")]
15782#[cfg_attr(docsrs, doc(cfg(feature = "target-pools")))]
15783pub trait TargetPools: std::fmt::Debug + Send + Sync {
15784    /// Implements [super::client::TargetPools::add_health_check].
15785    fn add_health_check(
15786        &self,
15787        _req: crate::model::target_pools::AddHealthCheckRequest,
15788        _options: crate::RequestOptions,
15789    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15790    {
15791        gaxi::unimplemented::unimplemented_stub()
15792    }
15793
15794    /// Implements [super::client::TargetPools::add_instance].
15795    fn add_instance(
15796        &self,
15797        _req: crate::model::target_pools::AddInstanceRequest,
15798        _options: crate::RequestOptions,
15799    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15800    {
15801        gaxi::unimplemented::unimplemented_stub()
15802    }
15803
15804    /// Implements [super::client::TargetPools::aggregated_list].
15805    fn aggregated_list(
15806        &self,
15807        _req: crate::model::target_pools::AggregatedListRequest,
15808        _options: crate::RequestOptions,
15809    ) -> impl std::future::Future<
15810        Output = crate::Result<crate::Response<crate::model::TargetPoolAggregatedList>>,
15811    > + Send {
15812        gaxi::unimplemented::unimplemented_stub()
15813    }
15814
15815    /// Implements [super::client::TargetPools::delete].
15816    fn delete(
15817        &self,
15818        _req: crate::model::target_pools::DeleteRequest,
15819        _options: crate::RequestOptions,
15820    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15821    {
15822        gaxi::unimplemented::unimplemented_stub()
15823    }
15824
15825    /// Implements [super::client::TargetPools::get].
15826    fn get(
15827        &self,
15828        _req: crate::model::target_pools::GetRequest,
15829        _options: crate::RequestOptions,
15830    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::TargetPool>>> + Send
15831    {
15832        gaxi::unimplemented::unimplemented_stub()
15833    }
15834
15835    /// Implements [super::client::TargetPools::get_health].
15836    fn get_health(
15837        &self,
15838        _req: crate::model::target_pools::GetHealthRequest,
15839        _options: crate::RequestOptions,
15840    ) -> impl std::future::Future<
15841        Output = crate::Result<crate::Response<crate::model::TargetPoolInstanceHealth>>,
15842    > + Send {
15843        gaxi::unimplemented::unimplemented_stub()
15844    }
15845
15846    /// Implements [super::client::TargetPools::insert].
15847    fn insert(
15848        &self,
15849        _req: crate::model::target_pools::InsertRequest,
15850        _options: crate::RequestOptions,
15851    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15852    {
15853        gaxi::unimplemented::unimplemented_stub()
15854    }
15855
15856    /// Implements [super::client::TargetPools::list].
15857    fn list(
15858        &self,
15859        _req: crate::model::target_pools::ListRequest,
15860        _options: crate::RequestOptions,
15861    ) -> impl std::future::Future<
15862        Output = crate::Result<crate::Response<crate::model::TargetPoolList>>,
15863    > + Send {
15864        gaxi::unimplemented::unimplemented_stub()
15865    }
15866
15867    /// Implements [super::client::TargetPools::remove_health_check].
15868    fn remove_health_check(
15869        &self,
15870        _req: crate::model::target_pools::RemoveHealthCheckRequest,
15871        _options: crate::RequestOptions,
15872    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15873    {
15874        gaxi::unimplemented::unimplemented_stub()
15875    }
15876
15877    /// Implements [super::client::TargetPools::remove_instance].
15878    fn remove_instance(
15879        &self,
15880        _req: crate::model::target_pools::RemoveInstanceRequest,
15881        _options: crate::RequestOptions,
15882    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15883    {
15884        gaxi::unimplemented::unimplemented_stub()
15885    }
15886
15887    /// Implements [super::client::TargetPools::set_backup].
15888    fn set_backup(
15889        &self,
15890        _req: crate::model::target_pools::SetBackupRequest,
15891        _options: crate::RequestOptions,
15892    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15893    {
15894        gaxi::unimplemented::unimplemented_stub()
15895    }
15896
15897    /// Implements [super::client::TargetPools::set_security_policy].
15898    fn set_security_policy(
15899        &self,
15900        _req: crate::model::target_pools::SetSecurityPolicyRequest,
15901        _options: crate::RequestOptions,
15902    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15903    {
15904        gaxi::unimplemented::unimplemented_stub()
15905    }
15906
15907    /// Implements [super::client::TargetPools::test_iam_permissions].
15908    fn test_iam_permissions(
15909        &self,
15910        _req: crate::model::target_pools::TestIamPermissionsRequest,
15911        _options: crate::RequestOptions,
15912    ) -> impl std::future::Future<
15913        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
15914    > + Send {
15915        gaxi::unimplemented::unimplemented_stub()
15916    }
15917
15918    /// Implements [super::client::TargetPools::get_operation].
15919    fn get_operation(
15920        &self,
15921        _req: crate::model::region_operations::GetRequest,
15922        _options: crate::RequestOptions,
15923    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15924    {
15925        gaxi::unimplemented::unimplemented_stub()
15926    }
15927
15928    /// Returns the polling error policy.
15929    ///
15930    /// When mocking, this method is typically irrelevant. Do not try to verify
15931    /// it is called by your mocks.
15932    fn get_polling_error_policy(
15933        &self,
15934        _options: &crate::RequestOptions,
15935    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
15936        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
15937    }
15938
15939    /// Returns the polling backoff policy.
15940    ///
15941    /// When mocking, this method is typically irrelevant. Do not try to verify
15942    /// it is called by your mocks.
15943    fn get_polling_backoff_policy(
15944        &self,
15945        _options: &crate::RequestOptions,
15946    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
15947        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
15948    }
15949
15950    #[doc(hidden)]
15951    /// Returns the poller options.
15952    ///
15953    /// When mocking, this method is typically irrelevant. Do not try to verify
15954    /// it is called by your mocks.
15955    fn get_poller_options(
15956        &self,
15957        _options: &crate::RequestOptions,
15958    ) -> google_cloud_lro::PollerOptions {
15959        google_cloud_lro::PollerOptions::default()
15960    }
15961}
15962
15963/// Defines the trait used to implement [super::client::TargetSslProxies].
15964///
15965/// Application developers may need to implement this trait to mock
15966/// `client::TargetSslProxies`.  In other use-cases, application developers only
15967/// use `client::TargetSslProxies` and need not be concerned with this trait or
15968/// its implementations.
15969///
15970/// Services gain new RPCs routinely. Consequently, this trait gains new methods
15971/// too. To avoid breaking applications the trait provides a default
15972/// implementation of each method. Most of these implementations just return an
15973/// error.
15974#[cfg(feature = "target-ssl-proxies")]
15975#[cfg_attr(docsrs, doc(cfg(feature = "target-ssl-proxies")))]
15976pub trait TargetSslProxies: std::fmt::Debug + Send + Sync {
15977    /// Implements [super::client::TargetSslProxies::delete].
15978    fn delete(
15979        &self,
15980        _req: crate::model::target_ssl_proxies::DeleteRequest,
15981        _options: crate::RequestOptions,
15982    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
15983    {
15984        gaxi::unimplemented::unimplemented_stub()
15985    }
15986
15987    /// Implements [super::client::TargetSslProxies::get].
15988    fn get(
15989        &self,
15990        _req: crate::model::target_ssl_proxies::GetRequest,
15991        _options: crate::RequestOptions,
15992    ) -> impl std::future::Future<
15993        Output = crate::Result<crate::Response<crate::model::TargetSslProxy>>,
15994    > + Send {
15995        gaxi::unimplemented::unimplemented_stub()
15996    }
15997
15998    /// Implements [super::client::TargetSslProxies::insert].
15999    fn insert(
16000        &self,
16001        _req: crate::model::target_ssl_proxies::InsertRequest,
16002        _options: crate::RequestOptions,
16003    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16004    {
16005        gaxi::unimplemented::unimplemented_stub()
16006    }
16007
16008    /// Implements [super::client::TargetSslProxies::list].
16009    fn list(
16010        &self,
16011        _req: crate::model::target_ssl_proxies::ListRequest,
16012        _options: crate::RequestOptions,
16013    ) -> impl std::future::Future<
16014        Output = crate::Result<crate::Response<crate::model::TargetSslProxyList>>,
16015    > + Send {
16016        gaxi::unimplemented::unimplemented_stub()
16017    }
16018
16019    /// Implements [super::client::TargetSslProxies::set_backend_service].
16020    fn set_backend_service(
16021        &self,
16022        _req: crate::model::target_ssl_proxies::SetBackendServiceRequest,
16023        _options: crate::RequestOptions,
16024    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16025    {
16026        gaxi::unimplemented::unimplemented_stub()
16027    }
16028
16029    /// Implements [super::client::TargetSslProxies::set_certificate_map].
16030    fn set_certificate_map(
16031        &self,
16032        _req: crate::model::target_ssl_proxies::SetCertificateMapRequest,
16033        _options: crate::RequestOptions,
16034    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16035    {
16036        gaxi::unimplemented::unimplemented_stub()
16037    }
16038
16039    /// Implements [super::client::TargetSslProxies::set_proxy_header].
16040    fn set_proxy_header(
16041        &self,
16042        _req: crate::model::target_ssl_proxies::SetProxyHeaderRequest,
16043        _options: crate::RequestOptions,
16044    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16045    {
16046        gaxi::unimplemented::unimplemented_stub()
16047    }
16048
16049    /// Implements [super::client::TargetSslProxies::set_ssl_certificates].
16050    fn set_ssl_certificates(
16051        &self,
16052        _req: crate::model::target_ssl_proxies::SetSslCertificatesRequest,
16053        _options: crate::RequestOptions,
16054    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16055    {
16056        gaxi::unimplemented::unimplemented_stub()
16057    }
16058
16059    /// Implements [super::client::TargetSslProxies::set_ssl_policy].
16060    fn set_ssl_policy(
16061        &self,
16062        _req: crate::model::target_ssl_proxies::SetSslPolicyRequest,
16063        _options: crate::RequestOptions,
16064    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16065    {
16066        gaxi::unimplemented::unimplemented_stub()
16067    }
16068
16069    /// Implements [super::client::TargetSslProxies::test_iam_permissions].
16070    fn test_iam_permissions(
16071        &self,
16072        _req: crate::model::target_ssl_proxies::TestIamPermissionsRequest,
16073        _options: crate::RequestOptions,
16074    ) -> impl std::future::Future<
16075        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
16076    > + Send {
16077        gaxi::unimplemented::unimplemented_stub()
16078    }
16079
16080    /// Implements [super::client::TargetSslProxies::get_operation].
16081    fn get_operation(
16082        &self,
16083        _req: crate::model::global_operations::GetRequest,
16084        _options: crate::RequestOptions,
16085    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16086    {
16087        gaxi::unimplemented::unimplemented_stub()
16088    }
16089
16090    /// Returns the polling error policy.
16091    ///
16092    /// When mocking, this method is typically irrelevant. Do not try to verify
16093    /// it is called by your mocks.
16094    fn get_polling_error_policy(
16095        &self,
16096        _options: &crate::RequestOptions,
16097    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16098        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16099    }
16100
16101    /// Returns the polling backoff policy.
16102    ///
16103    /// When mocking, this method is typically irrelevant. Do not try to verify
16104    /// it is called by your mocks.
16105    fn get_polling_backoff_policy(
16106        &self,
16107        _options: &crate::RequestOptions,
16108    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16109        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16110    }
16111
16112    #[doc(hidden)]
16113    /// Returns the poller options.
16114    ///
16115    /// When mocking, this method is typically irrelevant. Do not try to verify
16116    /// it is called by your mocks.
16117    fn get_poller_options(
16118        &self,
16119        _options: &crate::RequestOptions,
16120    ) -> google_cloud_lro::PollerOptions {
16121        google_cloud_lro::PollerOptions::default()
16122    }
16123}
16124
16125/// Defines the trait used to implement [super::client::TargetTcpProxies].
16126///
16127/// Application developers may need to implement this trait to mock
16128/// `client::TargetTcpProxies`.  In other use-cases, application developers only
16129/// use `client::TargetTcpProxies` and need not be concerned with this trait or
16130/// its implementations.
16131///
16132/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16133/// too. To avoid breaking applications the trait provides a default
16134/// implementation of each method. Most of these implementations just return an
16135/// error.
16136#[cfg(feature = "target-tcp-proxies")]
16137#[cfg_attr(docsrs, doc(cfg(feature = "target-tcp-proxies")))]
16138pub trait TargetTcpProxies: std::fmt::Debug + Send + Sync {
16139    /// Implements [super::client::TargetTcpProxies::aggregated_list].
16140    fn aggregated_list(
16141        &self,
16142        _req: crate::model::target_tcp_proxies::AggregatedListRequest,
16143        _options: crate::RequestOptions,
16144    ) -> impl std::future::Future<
16145        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyAggregatedList>>,
16146    > + Send {
16147        gaxi::unimplemented::unimplemented_stub()
16148    }
16149
16150    /// Implements [super::client::TargetTcpProxies::delete].
16151    fn delete(
16152        &self,
16153        _req: crate::model::target_tcp_proxies::DeleteRequest,
16154        _options: crate::RequestOptions,
16155    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16156    {
16157        gaxi::unimplemented::unimplemented_stub()
16158    }
16159
16160    /// Implements [super::client::TargetTcpProxies::get].
16161    fn get(
16162        &self,
16163        _req: crate::model::target_tcp_proxies::GetRequest,
16164        _options: crate::RequestOptions,
16165    ) -> impl std::future::Future<
16166        Output = crate::Result<crate::Response<crate::model::TargetTcpProxy>>,
16167    > + Send {
16168        gaxi::unimplemented::unimplemented_stub()
16169    }
16170
16171    /// Implements [super::client::TargetTcpProxies::insert].
16172    fn insert(
16173        &self,
16174        _req: crate::model::target_tcp_proxies::InsertRequest,
16175        _options: crate::RequestOptions,
16176    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16177    {
16178        gaxi::unimplemented::unimplemented_stub()
16179    }
16180
16181    /// Implements [super::client::TargetTcpProxies::list].
16182    fn list(
16183        &self,
16184        _req: crate::model::target_tcp_proxies::ListRequest,
16185        _options: crate::RequestOptions,
16186    ) -> impl std::future::Future<
16187        Output = crate::Result<crate::Response<crate::model::TargetTcpProxyList>>,
16188    > + Send {
16189        gaxi::unimplemented::unimplemented_stub()
16190    }
16191
16192    /// Implements [super::client::TargetTcpProxies::set_backend_service].
16193    fn set_backend_service(
16194        &self,
16195        _req: crate::model::target_tcp_proxies::SetBackendServiceRequest,
16196        _options: crate::RequestOptions,
16197    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16198    {
16199        gaxi::unimplemented::unimplemented_stub()
16200    }
16201
16202    /// Implements [super::client::TargetTcpProxies::set_proxy_header].
16203    fn set_proxy_header(
16204        &self,
16205        _req: crate::model::target_tcp_proxies::SetProxyHeaderRequest,
16206        _options: crate::RequestOptions,
16207    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16208    {
16209        gaxi::unimplemented::unimplemented_stub()
16210    }
16211
16212    /// Implements [super::client::TargetTcpProxies::test_iam_permissions].
16213    fn test_iam_permissions(
16214        &self,
16215        _req: crate::model::target_tcp_proxies::TestIamPermissionsRequest,
16216        _options: crate::RequestOptions,
16217    ) -> impl std::future::Future<
16218        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
16219    > + Send {
16220        gaxi::unimplemented::unimplemented_stub()
16221    }
16222
16223    /// Implements [super::client::TargetTcpProxies::get_operation].
16224    fn get_operation(
16225        &self,
16226        _req: crate::model::global_operations::GetRequest,
16227        _options: crate::RequestOptions,
16228    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16229    {
16230        gaxi::unimplemented::unimplemented_stub()
16231    }
16232
16233    /// Returns the polling error policy.
16234    ///
16235    /// When mocking, this method is typically irrelevant. Do not try to verify
16236    /// it is called by your mocks.
16237    fn get_polling_error_policy(
16238        &self,
16239        _options: &crate::RequestOptions,
16240    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16241        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16242    }
16243
16244    /// Returns the polling backoff policy.
16245    ///
16246    /// When mocking, this method is typically irrelevant. Do not try to verify
16247    /// it is called by your mocks.
16248    fn get_polling_backoff_policy(
16249        &self,
16250        _options: &crate::RequestOptions,
16251    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16252        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16253    }
16254
16255    #[doc(hidden)]
16256    /// Returns the poller options.
16257    ///
16258    /// When mocking, this method is typically irrelevant. Do not try to verify
16259    /// it is called by your mocks.
16260    fn get_poller_options(
16261        &self,
16262        _options: &crate::RequestOptions,
16263    ) -> google_cloud_lro::PollerOptions {
16264        google_cloud_lro::PollerOptions::default()
16265    }
16266}
16267
16268/// Defines the trait used to implement [super::client::TargetVpnGateways].
16269///
16270/// Application developers may need to implement this trait to mock
16271/// `client::TargetVpnGateways`.  In other use-cases, application developers only
16272/// use `client::TargetVpnGateways` and need not be concerned with this trait or
16273/// its implementations.
16274///
16275/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16276/// too. To avoid breaking applications the trait provides a default
16277/// implementation of each method. Most of these implementations just return an
16278/// error.
16279#[cfg(feature = "target-vpn-gateways")]
16280#[cfg_attr(docsrs, doc(cfg(feature = "target-vpn-gateways")))]
16281pub trait TargetVpnGateways: std::fmt::Debug + Send + Sync {
16282    /// Implements [super::client::TargetVpnGateways::aggregated_list].
16283    fn aggregated_list(
16284        &self,
16285        _req: crate::model::target_vpn_gateways::AggregatedListRequest,
16286        _options: crate::RequestOptions,
16287    ) -> impl std::future::Future<
16288        Output = crate::Result<crate::Response<crate::model::TargetVpnGatewayAggregatedList>>,
16289    > + Send {
16290        gaxi::unimplemented::unimplemented_stub()
16291    }
16292
16293    /// Implements [super::client::TargetVpnGateways::delete].
16294    fn delete(
16295        &self,
16296        _req: crate::model::target_vpn_gateways::DeleteRequest,
16297        _options: crate::RequestOptions,
16298    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16299    {
16300        gaxi::unimplemented::unimplemented_stub()
16301    }
16302
16303    /// Implements [super::client::TargetVpnGateways::get].
16304    fn get(
16305        &self,
16306        _req: crate::model::target_vpn_gateways::GetRequest,
16307        _options: crate::RequestOptions,
16308    ) -> impl std::future::Future<
16309        Output = crate::Result<crate::Response<crate::model::TargetVpnGateway>>,
16310    > + Send {
16311        gaxi::unimplemented::unimplemented_stub()
16312    }
16313
16314    /// Implements [super::client::TargetVpnGateways::insert].
16315    fn insert(
16316        &self,
16317        _req: crate::model::target_vpn_gateways::InsertRequest,
16318        _options: crate::RequestOptions,
16319    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16320    {
16321        gaxi::unimplemented::unimplemented_stub()
16322    }
16323
16324    /// Implements [super::client::TargetVpnGateways::list].
16325    fn list(
16326        &self,
16327        _req: crate::model::target_vpn_gateways::ListRequest,
16328        _options: crate::RequestOptions,
16329    ) -> impl std::future::Future<
16330        Output = crate::Result<crate::Response<crate::model::TargetVpnGatewayList>>,
16331    > + Send {
16332        gaxi::unimplemented::unimplemented_stub()
16333    }
16334
16335    /// Implements [super::client::TargetVpnGateways::set_labels].
16336    fn set_labels(
16337        &self,
16338        _req: crate::model::target_vpn_gateways::SetLabelsRequest,
16339        _options: crate::RequestOptions,
16340    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16341    {
16342        gaxi::unimplemented::unimplemented_stub()
16343    }
16344
16345    /// Implements [super::client::TargetVpnGateways::get_operation].
16346    fn get_operation(
16347        &self,
16348        _req: crate::model::region_operations::GetRequest,
16349        _options: crate::RequestOptions,
16350    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16351    {
16352        gaxi::unimplemented::unimplemented_stub()
16353    }
16354
16355    /// Returns the polling error policy.
16356    ///
16357    /// When mocking, this method is typically irrelevant. Do not try to verify
16358    /// it is called by your mocks.
16359    fn get_polling_error_policy(
16360        &self,
16361        _options: &crate::RequestOptions,
16362    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16363        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16364    }
16365
16366    /// Returns the polling backoff policy.
16367    ///
16368    /// When mocking, this method is typically irrelevant. Do not try to verify
16369    /// it is called by your mocks.
16370    fn get_polling_backoff_policy(
16371        &self,
16372        _options: &crate::RequestOptions,
16373    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16374        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16375    }
16376
16377    #[doc(hidden)]
16378    /// Returns the poller options.
16379    ///
16380    /// When mocking, this method is typically irrelevant. Do not try to verify
16381    /// it is called by your mocks.
16382    fn get_poller_options(
16383        &self,
16384        _options: &crate::RequestOptions,
16385    ) -> google_cloud_lro::PollerOptions {
16386        google_cloud_lro::PollerOptions::default()
16387    }
16388}
16389
16390/// Defines the trait used to implement [super::client::UrlMaps].
16391///
16392/// Application developers may need to implement this trait to mock
16393/// `client::UrlMaps`.  In other use-cases, application developers only
16394/// use `client::UrlMaps` and need not be concerned with this trait or
16395/// its implementations.
16396///
16397/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16398/// too. To avoid breaking applications the trait provides a default
16399/// implementation of each method. Most of these implementations just return an
16400/// error.
16401#[cfg(feature = "url-maps")]
16402#[cfg_attr(docsrs, doc(cfg(feature = "url-maps")))]
16403pub trait UrlMaps: std::fmt::Debug + Send + Sync {
16404    /// Implements [super::client::UrlMaps::aggregated_list].
16405    fn aggregated_list(
16406        &self,
16407        _req: crate::model::url_maps::AggregatedListRequest,
16408        _options: crate::RequestOptions,
16409    ) -> impl std::future::Future<
16410        Output = crate::Result<crate::Response<crate::model::UrlMapsAggregatedList>>,
16411    > + Send {
16412        gaxi::unimplemented::unimplemented_stub()
16413    }
16414
16415    /// Implements [super::client::UrlMaps::delete].
16416    fn delete(
16417        &self,
16418        _req: crate::model::url_maps::DeleteRequest,
16419        _options: crate::RequestOptions,
16420    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16421    {
16422        gaxi::unimplemented::unimplemented_stub()
16423    }
16424
16425    /// Implements [super::client::UrlMaps::get].
16426    fn get(
16427        &self,
16428        _req: crate::model::url_maps::GetRequest,
16429        _options: crate::RequestOptions,
16430    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMap>>> + Send
16431    {
16432        gaxi::unimplemented::unimplemented_stub()
16433    }
16434
16435    /// Implements [super::client::UrlMaps::insert].
16436    fn insert(
16437        &self,
16438        _req: crate::model::url_maps::InsertRequest,
16439        _options: crate::RequestOptions,
16440    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16441    {
16442        gaxi::unimplemented::unimplemented_stub()
16443    }
16444
16445    /// Implements [super::client::UrlMaps::invalidate_cache].
16446    fn invalidate_cache(
16447        &self,
16448        _req: crate::model::url_maps::InvalidateCacheRequest,
16449        _options: crate::RequestOptions,
16450    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16451    {
16452        gaxi::unimplemented::unimplemented_stub()
16453    }
16454
16455    /// Implements [super::client::UrlMaps::list].
16456    fn list(
16457        &self,
16458        _req: crate::model::url_maps::ListRequest,
16459        _options: crate::RequestOptions,
16460    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::UrlMapList>>> + Send
16461    {
16462        gaxi::unimplemented::unimplemented_stub()
16463    }
16464
16465    /// Implements [super::client::UrlMaps::patch].
16466    fn patch(
16467        &self,
16468        _req: crate::model::url_maps::PatchRequest,
16469        _options: crate::RequestOptions,
16470    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16471    {
16472        gaxi::unimplemented::unimplemented_stub()
16473    }
16474
16475    /// Implements [super::client::UrlMaps::test_iam_permissions].
16476    fn test_iam_permissions(
16477        &self,
16478        _req: crate::model::url_maps::TestIamPermissionsRequest,
16479        _options: crate::RequestOptions,
16480    ) -> impl std::future::Future<
16481        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
16482    > + Send {
16483        gaxi::unimplemented::unimplemented_stub()
16484    }
16485
16486    /// Implements [super::client::UrlMaps::update].
16487    fn update(
16488        &self,
16489        _req: crate::model::url_maps::UpdateRequest,
16490        _options: crate::RequestOptions,
16491    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16492    {
16493        gaxi::unimplemented::unimplemented_stub()
16494    }
16495
16496    /// Implements [super::client::UrlMaps::validate].
16497    fn validate(
16498        &self,
16499        _req: crate::model::url_maps::ValidateRequest,
16500        _options: crate::RequestOptions,
16501    ) -> impl std::future::Future<
16502        Output = crate::Result<crate::Response<crate::model::UrlMapsValidateResponse>>,
16503    > + Send {
16504        gaxi::unimplemented::unimplemented_stub()
16505    }
16506
16507    /// Implements [super::client::UrlMaps::get_operation].
16508    fn get_operation(
16509        &self,
16510        _req: crate::model::global_operations::GetRequest,
16511        _options: crate::RequestOptions,
16512    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16513    {
16514        gaxi::unimplemented::unimplemented_stub()
16515    }
16516
16517    /// Returns the polling error policy.
16518    ///
16519    /// When mocking, this method is typically irrelevant. Do not try to verify
16520    /// it is called by your mocks.
16521    fn get_polling_error_policy(
16522        &self,
16523        _options: &crate::RequestOptions,
16524    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16525        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16526    }
16527
16528    /// Returns the polling backoff policy.
16529    ///
16530    /// When mocking, this method is typically irrelevant. Do not try to verify
16531    /// it is called by your mocks.
16532    fn get_polling_backoff_policy(
16533        &self,
16534        _options: &crate::RequestOptions,
16535    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16536        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16537    }
16538
16539    #[doc(hidden)]
16540    /// Returns the poller options.
16541    ///
16542    /// When mocking, this method is typically irrelevant. Do not try to verify
16543    /// it is called by your mocks.
16544    fn get_poller_options(
16545        &self,
16546        _options: &crate::RequestOptions,
16547    ) -> google_cloud_lro::PollerOptions {
16548        google_cloud_lro::PollerOptions::default()
16549    }
16550}
16551
16552/// Defines the trait used to implement [super::client::VpnGateways].
16553///
16554/// Application developers may need to implement this trait to mock
16555/// `client::VpnGateways`.  In other use-cases, application developers only
16556/// use `client::VpnGateways` and need not be concerned with this trait or
16557/// its implementations.
16558///
16559/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16560/// too. To avoid breaking applications the trait provides a default
16561/// implementation of each method. Most of these implementations just return an
16562/// error.
16563#[cfg(feature = "vpn-gateways")]
16564#[cfg_attr(docsrs, doc(cfg(feature = "vpn-gateways")))]
16565pub trait VpnGateways: std::fmt::Debug + Send + Sync {
16566    /// Implements [super::client::VpnGateways::aggregated_list].
16567    fn aggregated_list(
16568        &self,
16569        _req: crate::model::vpn_gateways::AggregatedListRequest,
16570        _options: crate::RequestOptions,
16571    ) -> impl std::future::Future<
16572        Output = crate::Result<crate::Response<crate::model::VpnGatewayAggregatedList>>,
16573    > + Send {
16574        gaxi::unimplemented::unimplemented_stub()
16575    }
16576
16577    /// Implements [super::client::VpnGateways::delete].
16578    fn delete(
16579        &self,
16580        _req: crate::model::vpn_gateways::DeleteRequest,
16581        _options: crate::RequestOptions,
16582    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16583    {
16584        gaxi::unimplemented::unimplemented_stub()
16585    }
16586
16587    /// Implements [super::client::VpnGateways::get].
16588    fn get(
16589        &self,
16590        _req: crate::model::vpn_gateways::GetRequest,
16591        _options: crate::RequestOptions,
16592    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::VpnGateway>>> + Send
16593    {
16594        gaxi::unimplemented::unimplemented_stub()
16595    }
16596
16597    /// Implements [super::client::VpnGateways::get_status].
16598    fn get_status(
16599        &self,
16600        _req: crate::model::vpn_gateways::GetStatusRequest,
16601        _options: crate::RequestOptions,
16602    ) -> impl std::future::Future<
16603        Output = crate::Result<crate::Response<crate::model::VpnGatewaysGetStatusResponse>>,
16604    > + Send {
16605        gaxi::unimplemented::unimplemented_stub()
16606    }
16607
16608    /// Implements [super::client::VpnGateways::insert].
16609    fn insert(
16610        &self,
16611        _req: crate::model::vpn_gateways::InsertRequest,
16612        _options: crate::RequestOptions,
16613    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16614    {
16615        gaxi::unimplemented::unimplemented_stub()
16616    }
16617
16618    /// Implements [super::client::VpnGateways::list].
16619    fn list(
16620        &self,
16621        _req: crate::model::vpn_gateways::ListRequest,
16622        _options: crate::RequestOptions,
16623    ) -> impl std::future::Future<
16624        Output = crate::Result<crate::Response<crate::model::VpnGatewayList>>,
16625    > + Send {
16626        gaxi::unimplemented::unimplemented_stub()
16627    }
16628
16629    /// Implements [super::client::VpnGateways::set_labels].
16630    fn set_labels(
16631        &self,
16632        _req: crate::model::vpn_gateways::SetLabelsRequest,
16633        _options: crate::RequestOptions,
16634    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16635    {
16636        gaxi::unimplemented::unimplemented_stub()
16637    }
16638
16639    /// Implements [super::client::VpnGateways::test_iam_permissions].
16640    fn test_iam_permissions(
16641        &self,
16642        _req: crate::model::vpn_gateways::TestIamPermissionsRequest,
16643        _options: crate::RequestOptions,
16644    ) -> impl std::future::Future<
16645        Output = crate::Result<crate::Response<crate::model::TestPermissionsResponse>>,
16646    > + Send {
16647        gaxi::unimplemented::unimplemented_stub()
16648    }
16649
16650    /// Implements [super::client::VpnGateways::get_operation].
16651    fn get_operation(
16652        &self,
16653        _req: crate::model::region_operations::GetRequest,
16654        _options: crate::RequestOptions,
16655    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16656    {
16657        gaxi::unimplemented::unimplemented_stub()
16658    }
16659
16660    /// Returns the polling error policy.
16661    ///
16662    /// When mocking, this method is typically irrelevant. Do not try to verify
16663    /// it is called by your mocks.
16664    fn get_polling_error_policy(
16665        &self,
16666        _options: &crate::RequestOptions,
16667    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16668        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16669    }
16670
16671    /// Returns the polling backoff policy.
16672    ///
16673    /// When mocking, this method is typically irrelevant. Do not try to verify
16674    /// it is called by your mocks.
16675    fn get_polling_backoff_policy(
16676        &self,
16677        _options: &crate::RequestOptions,
16678    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16679        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16680    }
16681
16682    #[doc(hidden)]
16683    /// Returns the poller options.
16684    ///
16685    /// When mocking, this method is typically irrelevant. Do not try to verify
16686    /// it is called by your mocks.
16687    fn get_poller_options(
16688        &self,
16689        _options: &crate::RequestOptions,
16690    ) -> google_cloud_lro::PollerOptions {
16691        google_cloud_lro::PollerOptions::default()
16692    }
16693}
16694
16695/// Defines the trait used to implement [super::client::VpnTunnels].
16696///
16697/// Application developers may need to implement this trait to mock
16698/// `client::VpnTunnels`.  In other use-cases, application developers only
16699/// use `client::VpnTunnels` and need not be concerned with this trait or
16700/// its implementations.
16701///
16702/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16703/// too. To avoid breaking applications the trait provides a default
16704/// implementation of each method. Most of these implementations just return an
16705/// error.
16706#[cfg(feature = "vpn-tunnels")]
16707#[cfg_attr(docsrs, doc(cfg(feature = "vpn-tunnels")))]
16708pub trait VpnTunnels: std::fmt::Debug + Send + Sync {
16709    /// Implements [super::client::VpnTunnels::aggregated_list].
16710    fn aggregated_list(
16711        &self,
16712        _req: crate::model::vpn_tunnels::AggregatedListRequest,
16713        _options: crate::RequestOptions,
16714    ) -> impl std::future::Future<
16715        Output = crate::Result<crate::Response<crate::model::VpnTunnelAggregatedList>>,
16716    > + Send {
16717        gaxi::unimplemented::unimplemented_stub()
16718    }
16719
16720    /// Implements [super::client::VpnTunnels::delete].
16721    fn delete(
16722        &self,
16723        _req: crate::model::vpn_tunnels::DeleteRequest,
16724        _options: crate::RequestOptions,
16725    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16726    {
16727        gaxi::unimplemented::unimplemented_stub()
16728    }
16729
16730    /// Implements [super::client::VpnTunnels::get].
16731    fn get(
16732        &self,
16733        _req: crate::model::vpn_tunnels::GetRequest,
16734        _options: crate::RequestOptions,
16735    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::VpnTunnel>>> + Send
16736    {
16737        gaxi::unimplemented::unimplemented_stub()
16738    }
16739
16740    /// Implements [super::client::VpnTunnels::insert].
16741    fn insert(
16742        &self,
16743        _req: crate::model::vpn_tunnels::InsertRequest,
16744        _options: crate::RequestOptions,
16745    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16746    {
16747        gaxi::unimplemented::unimplemented_stub()
16748    }
16749
16750    /// Implements [super::client::VpnTunnels::list].
16751    fn list(
16752        &self,
16753        _req: crate::model::vpn_tunnels::ListRequest,
16754        _options: crate::RequestOptions,
16755    ) -> impl std::future::Future<
16756        Output = crate::Result<crate::Response<crate::model::VpnTunnelList>>,
16757    > + Send {
16758        gaxi::unimplemented::unimplemented_stub()
16759    }
16760
16761    /// Implements [super::client::VpnTunnels::set_labels].
16762    fn set_labels(
16763        &self,
16764        _req: crate::model::vpn_tunnels::SetLabelsRequest,
16765        _options: crate::RequestOptions,
16766    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16767    {
16768        gaxi::unimplemented::unimplemented_stub()
16769    }
16770
16771    /// Implements [super::client::VpnTunnels::get_operation].
16772    fn get_operation(
16773        &self,
16774        _req: crate::model::region_operations::GetRequest,
16775        _options: crate::RequestOptions,
16776    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16777    {
16778        gaxi::unimplemented::unimplemented_stub()
16779    }
16780
16781    /// Returns the polling error policy.
16782    ///
16783    /// When mocking, this method is typically irrelevant. Do not try to verify
16784    /// it is called by your mocks.
16785    fn get_polling_error_policy(
16786        &self,
16787        _options: &crate::RequestOptions,
16788    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16789        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16790    }
16791
16792    /// Returns the polling backoff policy.
16793    ///
16794    /// When mocking, this method is typically irrelevant. Do not try to verify
16795    /// it is called by your mocks.
16796    fn get_polling_backoff_policy(
16797        &self,
16798        _options: &crate::RequestOptions,
16799    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16800        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16801    }
16802
16803    #[doc(hidden)]
16804    /// Returns the poller options.
16805    ///
16806    /// When mocking, this method is typically irrelevant. Do not try to verify
16807    /// it is called by your mocks.
16808    fn get_poller_options(
16809        &self,
16810        _options: &crate::RequestOptions,
16811    ) -> google_cloud_lro::PollerOptions {
16812        google_cloud_lro::PollerOptions::default()
16813    }
16814}
16815
16816/// Defines the trait used to implement [super::client::WireGroups].
16817///
16818/// Application developers may need to implement this trait to mock
16819/// `client::WireGroups`.  In other use-cases, application developers only
16820/// use `client::WireGroups` and need not be concerned with this trait or
16821/// its implementations.
16822///
16823/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16824/// too. To avoid breaking applications the trait provides a default
16825/// implementation of each method. Most of these implementations just return an
16826/// error.
16827#[cfg(feature = "wire-groups")]
16828#[cfg_attr(docsrs, doc(cfg(feature = "wire-groups")))]
16829pub trait WireGroups: std::fmt::Debug + Send + Sync {
16830    /// Implements [super::client::WireGroups::delete].
16831    fn delete(
16832        &self,
16833        _req: crate::model::wire_groups::DeleteRequest,
16834        _options: crate::RequestOptions,
16835    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16836    {
16837        gaxi::unimplemented::unimplemented_stub()
16838    }
16839
16840    /// Implements [super::client::WireGroups::get].
16841    fn get(
16842        &self,
16843        _req: crate::model::wire_groups::GetRequest,
16844        _options: crate::RequestOptions,
16845    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::WireGroup>>> + Send
16846    {
16847        gaxi::unimplemented::unimplemented_stub()
16848    }
16849
16850    /// Implements [super::client::WireGroups::insert].
16851    fn insert(
16852        &self,
16853        _req: crate::model::wire_groups::InsertRequest,
16854        _options: crate::RequestOptions,
16855    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16856    {
16857        gaxi::unimplemented::unimplemented_stub()
16858    }
16859
16860    /// Implements [super::client::WireGroups::list].
16861    fn list(
16862        &self,
16863        _req: crate::model::wire_groups::ListRequest,
16864        _options: crate::RequestOptions,
16865    ) -> impl std::future::Future<
16866        Output = crate::Result<crate::Response<crate::model::WireGroupList>>,
16867    > + Send {
16868        gaxi::unimplemented::unimplemented_stub()
16869    }
16870
16871    /// Implements [super::client::WireGroups::patch].
16872    fn patch(
16873        &self,
16874        _req: crate::model::wire_groups::PatchRequest,
16875        _options: crate::RequestOptions,
16876    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16877    {
16878        gaxi::unimplemented::unimplemented_stub()
16879    }
16880
16881    /// Implements [super::client::WireGroups::get_operation].
16882    fn get_operation(
16883        &self,
16884        _req: crate::model::global_operations::GetRequest,
16885        _options: crate::RequestOptions,
16886    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16887    {
16888        gaxi::unimplemented::unimplemented_stub()
16889    }
16890
16891    /// Returns the polling error policy.
16892    ///
16893    /// When mocking, this method is typically irrelevant. Do not try to verify
16894    /// it is called by your mocks.
16895    fn get_polling_error_policy(
16896        &self,
16897        _options: &crate::RequestOptions,
16898    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
16899        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
16900    }
16901
16902    /// Returns the polling backoff policy.
16903    ///
16904    /// When mocking, this method is typically irrelevant. Do not try to verify
16905    /// it is called by your mocks.
16906    fn get_polling_backoff_policy(
16907        &self,
16908        _options: &crate::RequestOptions,
16909    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
16910        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
16911    }
16912
16913    #[doc(hidden)]
16914    /// Returns the poller options.
16915    ///
16916    /// When mocking, this method is typically irrelevant. Do not try to verify
16917    /// it is called by your mocks.
16918    fn get_poller_options(
16919        &self,
16920        _options: &crate::RequestOptions,
16921    ) -> google_cloud_lro::PollerOptions {
16922        google_cloud_lro::PollerOptions::default()
16923    }
16924}
16925
16926/// Defines the trait used to implement [super::client::ZoneOperations].
16927///
16928/// Application developers may need to implement this trait to mock
16929/// `client::ZoneOperations`.  In other use-cases, application developers only
16930/// use `client::ZoneOperations` and need not be concerned with this trait or
16931/// its implementations.
16932///
16933/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16934/// too. To avoid breaking applications the trait provides a default
16935/// implementation of each method. Most of these implementations just return an
16936/// error.
16937#[cfg(feature = "zone-operations")]
16938#[cfg_attr(docsrs, doc(cfg(feature = "zone-operations")))]
16939pub trait ZoneOperations: std::fmt::Debug + Send + Sync {
16940    /// Implements [super::client::ZoneOperations::delete].
16941    fn delete(
16942        &self,
16943        _req: crate::model::zone_operations::DeleteRequest,
16944        _options: crate::RequestOptions,
16945    ) -> impl std::future::Future<Output = crate::Result<crate::Response<()>>> + Send {
16946        gaxi::unimplemented::unimplemented_stub()
16947    }
16948
16949    /// Implements [super::client::ZoneOperations::get].
16950    fn get(
16951        &self,
16952        _req: crate::model::zone_operations::GetRequest,
16953        _options: crate::RequestOptions,
16954    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16955    {
16956        gaxi::unimplemented::unimplemented_stub()
16957    }
16958
16959    /// Implements [super::client::ZoneOperations::list].
16960    fn list(
16961        &self,
16962        _req: crate::model::zone_operations::ListRequest,
16963        _options: crate::RequestOptions,
16964    ) -> impl std::future::Future<
16965        Output = crate::Result<crate::Response<crate::model::OperationList>>,
16966    > + Send {
16967        gaxi::unimplemented::unimplemented_stub()
16968    }
16969
16970    /// Implements [super::client::ZoneOperations::wait].
16971    fn wait(
16972        &self,
16973        _req: crate::model::zone_operations::WaitRequest,
16974        _options: crate::RequestOptions,
16975    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
16976    {
16977        gaxi::unimplemented::unimplemented_stub()
16978    }
16979}
16980
16981/// Defines the trait used to implement [super::client::ZoneVmExtensionPolicies].
16982///
16983/// Application developers may need to implement this trait to mock
16984/// `client::ZoneVmExtensionPolicies`.  In other use-cases, application developers only
16985/// use `client::ZoneVmExtensionPolicies` and need not be concerned with this trait or
16986/// its implementations.
16987///
16988/// Services gain new RPCs routinely. Consequently, this trait gains new methods
16989/// too. To avoid breaking applications the trait provides a default
16990/// implementation of each method. Most of these implementations just return an
16991/// error.
16992#[cfg(feature = "zone-vm-extension-policies")]
16993#[cfg_attr(docsrs, doc(cfg(feature = "zone-vm-extension-policies")))]
16994pub trait ZoneVmExtensionPolicies: std::fmt::Debug + Send + Sync {
16995    /// Implements [super::client::ZoneVmExtensionPolicies::delete].
16996    fn delete(
16997        &self,
16998        _req: crate::model::zone_vm_extension_policies::DeleteRequest,
16999        _options: crate::RequestOptions,
17000    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
17001    {
17002        gaxi::unimplemented::unimplemented_stub()
17003    }
17004
17005    /// Implements [super::client::ZoneVmExtensionPolicies::get].
17006    fn get(
17007        &self,
17008        _req: crate::model::zone_vm_extension_policies::GetRequest,
17009        _options: crate::RequestOptions,
17010    ) -> impl std::future::Future<
17011        Output = crate::Result<crate::Response<crate::model::VmExtensionPolicy>>,
17012    > + Send {
17013        gaxi::unimplemented::unimplemented_stub()
17014    }
17015
17016    /// Implements [super::client::ZoneVmExtensionPolicies::insert].
17017    fn insert(
17018        &self,
17019        _req: crate::model::zone_vm_extension_policies::InsertRequest,
17020        _options: crate::RequestOptions,
17021    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
17022    {
17023        gaxi::unimplemented::unimplemented_stub()
17024    }
17025
17026    /// Implements [super::client::ZoneVmExtensionPolicies::list].
17027    fn list(
17028        &self,
17029        _req: crate::model::zone_vm_extension_policies::ListRequest,
17030        _options: crate::RequestOptions,
17031    ) -> impl std::future::Future<
17032        Output = crate::Result<crate::Response<crate::model::VmExtensionPolicyList>>,
17033    > + Send {
17034        gaxi::unimplemented::unimplemented_stub()
17035    }
17036
17037    /// Implements [super::client::ZoneVmExtensionPolicies::update].
17038    fn update(
17039        &self,
17040        _req: crate::model::zone_vm_extension_policies::UpdateRequest,
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::ZoneVmExtensionPolicies::get_operation].
17048    fn get_operation(
17049        &self,
17050        _req: crate::model::zone_operations::GetRequest,
17051        _options: crate::RequestOptions,
17052    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Operation>>> + Send
17053    {
17054        gaxi::unimplemented::unimplemented_stub()
17055    }
17056
17057    /// Returns the polling error policy.
17058    ///
17059    /// When mocking, this method is typically irrelevant. Do not try to verify
17060    /// it is called by your mocks.
17061    fn get_polling_error_policy(
17062        &self,
17063        _options: &crate::RequestOptions,
17064    ) -> std::sync::Arc<dyn google_cloud_gax::polling_error_policy::PollingErrorPolicy> {
17065        std::sync::Arc::new(google_cloud_gax::polling_error_policy::Aip194Strict)
17066    }
17067
17068    /// Returns the polling backoff policy.
17069    ///
17070    /// When mocking, this method is typically irrelevant. Do not try to verify
17071    /// it is called by your mocks.
17072    fn get_polling_backoff_policy(
17073        &self,
17074        _options: &crate::RequestOptions,
17075    ) -> std::sync::Arc<dyn google_cloud_gax::polling_backoff_policy::PollingBackoffPolicy> {
17076        std::sync::Arc::new(google_cloud_gax::exponential_backoff::ExponentialBackoff::default())
17077    }
17078
17079    #[doc(hidden)]
17080    /// Returns the poller options.
17081    ///
17082    /// When mocking, this method is typically irrelevant. Do not try to verify
17083    /// it is called by your mocks.
17084    fn get_poller_options(
17085        &self,
17086        _options: &crate::RequestOptions,
17087    ) -> google_cloud_lro::PollerOptions {
17088        google_cloud_lro::PollerOptions::default()
17089    }
17090}
17091
17092/// Defines the trait used to implement [super::client::Zones].
17093///
17094/// Application developers may need to implement this trait to mock
17095/// `client::Zones`.  In other use-cases, application developers only
17096/// use `client::Zones` and need not be concerned with this trait or
17097/// its implementations.
17098///
17099/// Services gain new RPCs routinely. Consequently, this trait gains new methods
17100/// too. To avoid breaking applications the trait provides a default
17101/// implementation of each method. Most of these implementations just return an
17102/// error.
17103#[cfg(feature = "zones")]
17104#[cfg_attr(docsrs, doc(cfg(feature = "zones")))]
17105pub trait Zones: std::fmt::Debug + Send + Sync {
17106    /// Implements [super::client::Zones::get].
17107    fn get(
17108        &self,
17109        _req: crate::model::zones::GetRequest,
17110        _options: crate::RequestOptions,
17111    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::Zone>>> + Send
17112    {
17113        gaxi::unimplemented::unimplemented_stub()
17114    }
17115
17116    /// Implements [super::client::Zones::list].
17117    fn list(
17118        &self,
17119        _req: crate::model::zones::ListRequest,
17120        _options: crate::RequestOptions,
17121    ) -> impl std::future::Future<Output = crate::Result<crate::Response<crate::model::ZoneList>>> + Send
17122    {
17123        gaxi::unimplemented::unimplemented_stub()
17124    }
17125}