google_cloud_aiplatform_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
27#[cfg(any(
28    feature = "dataset-service",
29    feature = "deployment-resource-pool-service",
30    feature = "endpoint-service",
31    feature = "evaluation-service",
32    feature = "feature-online-store-admin-service",
33    feature = "feature-online-store-service",
34    feature = "feature-registry-service",
35    feature = "featurestore-online-serving-service",
36    feature = "featurestore-service",
37    feature = "gen-ai-cache-service",
38    feature = "gen-ai-tuning-service",
39    feature = "index-endpoint-service",
40    feature = "index-service",
41    feature = "job-service",
42    feature = "llm-utility-service",
43    feature = "match-service",
44    feature = "metadata-service",
45    feature = "migration-service",
46    feature = "model-garden-service",
47    feature = "model-service",
48    feature = "notebook-service",
49    feature = "persistent-resource-service",
50    feature = "pipeline-service",
51    feature = "prediction-service",
52    feature = "reasoning-engine-execution-service",
53    feature = "reasoning-engine-service",
54    feature = "schedule-service",
55    feature = "specialist-pool-service",
56    feature = "tensorboard-service",
57    feature = "vertex-rag-data-service",
58    feature = "vertex-rag-service",
59    feature = "vizier-service",
60))]
61use gax::error::Error;
62
63pub(crate) mod dynamic;
64
65/// Defines the trait used to implement [super::client::DatasetService].
66///
67/// Application developers may need to implement this trait to mock
68/// `client::DatasetService`.  In other use-cases, application developers only
69/// use `client::DatasetService` and need not be concerned with this trait or
70/// its implementations.
71///
72/// Services gain new RPCs routinely. Consequently, this trait gains new methods
73/// too. To avoid breaking applications the trait provides a default
74/// implementation of each method. Most of these implementations just return an
75/// error.
76#[cfg(feature = "dataset-service")]
77#[cfg_attr(docsrs, doc(cfg(feature = "dataset-service")))]
78pub trait DatasetService: std::fmt::Debug + Send + Sync {
79    /// Implements [super::client::DatasetService::create_dataset].
80    fn create_dataset(
81        &self,
82        _req: crate::model::CreateDatasetRequest,
83        _options: gax::options::RequestOptions,
84    ) -> impl std::future::Future<
85        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
86    > + Send {
87        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
88            Err(Error::other("unimplemented")),
89        )
90    }
91
92    /// Implements [super::client::DatasetService::get_dataset].
93    fn get_dataset(
94        &self,
95        _req: crate::model::GetDatasetRequest,
96        _options: gax::options::RequestOptions,
97    ) -> impl std::future::Future<
98        Output = crate::Result<gax::response::Response<crate::model::Dataset>>,
99    > + Send {
100        std::future::ready::<crate::Result<gax::response::Response<crate::model::Dataset>>>(Err(
101            Error::other("unimplemented"),
102        ))
103    }
104
105    /// Implements [super::client::DatasetService::update_dataset].
106    fn update_dataset(
107        &self,
108        _req: crate::model::UpdateDatasetRequest,
109        _options: gax::options::RequestOptions,
110    ) -> impl std::future::Future<
111        Output = crate::Result<gax::response::Response<crate::model::Dataset>>,
112    > + Send {
113        std::future::ready::<crate::Result<gax::response::Response<crate::model::Dataset>>>(Err(
114            Error::other("unimplemented"),
115        ))
116    }
117
118    /// Implements [super::client::DatasetService::list_datasets].
119    fn list_datasets(
120        &self,
121        _req: crate::model::ListDatasetsRequest,
122        _options: gax::options::RequestOptions,
123    ) -> impl std::future::Future<
124        Output = crate::Result<gax::response::Response<crate::model::ListDatasetsResponse>>,
125    > + Send {
126        std::future::ready::<
127            crate::Result<gax::response::Response<crate::model::ListDatasetsResponse>>,
128        >(Err(Error::other("unimplemented")))
129    }
130
131    /// Implements [super::client::DatasetService::delete_dataset].
132    fn delete_dataset(
133        &self,
134        _req: crate::model::DeleteDatasetRequest,
135        _options: gax::options::RequestOptions,
136    ) -> impl std::future::Future<
137        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
138    > + Send {
139        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
140            Err(Error::other("unimplemented")),
141        )
142    }
143
144    /// Implements [super::client::DatasetService::import_data].
145    fn import_data(
146        &self,
147        _req: crate::model::ImportDataRequest,
148        _options: gax::options::RequestOptions,
149    ) -> impl std::future::Future<
150        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
151    > + Send {
152        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
153            Err(Error::other("unimplemented")),
154        )
155    }
156
157    /// Implements [super::client::DatasetService::export_data].
158    fn export_data(
159        &self,
160        _req: crate::model::ExportDataRequest,
161        _options: gax::options::RequestOptions,
162    ) -> impl std::future::Future<
163        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
164    > + Send {
165        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
166            Err(Error::other("unimplemented")),
167        )
168    }
169
170    /// Implements [super::client::DatasetService::create_dataset_version].
171    fn create_dataset_version(
172        &self,
173        _req: crate::model::CreateDatasetVersionRequest,
174        _options: gax::options::RequestOptions,
175    ) -> impl std::future::Future<
176        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
177    > + Send {
178        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
179            Err(Error::other("unimplemented")),
180        )
181    }
182
183    /// Implements [super::client::DatasetService::update_dataset_version].
184    fn update_dataset_version(
185        &self,
186        _req: crate::model::UpdateDatasetVersionRequest,
187        _options: gax::options::RequestOptions,
188    ) -> impl std::future::Future<
189        Output = crate::Result<gax::response::Response<crate::model::DatasetVersion>>,
190    > + Send {
191        std::future::ready::<crate::Result<gax::response::Response<crate::model::DatasetVersion>>>(
192            Err(Error::other("unimplemented")),
193        )
194    }
195
196    /// Implements [super::client::DatasetService::delete_dataset_version].
197    fn delete_dataset_version(
198        &self,
199        _req: crate::model::DeleteDatasetVersionRequest,
200        _options: gax::options::RequestOptions,
201    ) -> impl std::future::Future<
202        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
203    > + Send {
204        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
205            Err(Error::other("unimplemented")),
206        )
207    }
208
209    /// Implements [super::client::DatasetService::get_dataset_version].
210    fn get_dataset_version(
211        &self,
212        _req: crate::model::GetDatasetVersionRequest,
213        _options: gax::options::RequestOptions,
214    ) -> impl std::future::Future<
215        Output = crate::Result<gax::response::Response<crate::model::DatasetVersion>>,
216    > + Send {
217        std::future::ready::<crate::Result<gax::response::Response<crate::model::DatasetVersion>>>(
218            Err(Error::other("unimplemented")),
219        )
220    }
221
222    /// Implements [super::client::DatasetService::list_dataset_versions].
223    fn list_dataset_versions(
224        &self,
225        _req: crate::model::ListDatasetVersionsRequest,
226        _options: gax::options::RequestOptions,
227    ) -> impl std::future::Future<
228        Output = crate::Result<gax::response::Response<crate::model::ListDatasetVersionsResponse>>,
229    > + Send {
230        std::future::ready::<
231            crate::Result<gax::response::Response<crate::model::ListDatasetVersionsResponse>>,
232        >(Err(Error::other("unimplemented")))
233    }
234
235    /// Implements [super::client::DatasetService::restore_dataset_version].
236    fn restore_dataset_version(
237        &self,
238        _req: crate::model::RestoreDatasetVersionRequest,
239        _options: gax::options::RequestOptions,
240    ) -> impl std::future::Future<
241        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
242    > + Send {
243        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
244            Err(Error::other("unimplemented")),
245        )
246    }
247
248    /// Implements [super::client::DatasetService::list_data_items].
249    fn list_data_items(
250        &self,
251        _req: crate::model::ListDataItemsRequest,
252        _options: gax::options::RequestOptions,
253    ) -> impl std::future::Future<
254        Output = crate::Result<gax::response::Response<crate::model::ListDataItemsResponse>>,
255    > + Send {
256        std::future::ready::<
257            crate::Result<gax::response::Response<crate::model::ListDataItemsResponse>>,
258        >(Err(Error::other("unimplemented")))
259    }
260
261    /// Implements [super::client::DatasetService::search_data_items].
262    fn search_data_items(
263        &self,
264        _req: crate::model::SearchDataItemsRequest,
265        _options: gax::options::RequestOptions,
266    ) -> impl std::future::Future<
267        Output = crate::Result<gax::response::Response<crate::model::SearchDataItemsResponse>>,
268    > + Send {
269        std::future::ready::<
270            crate::Result<gax::response::Response<crate::model::SearchDataItemsResponse>>,
271        >(Err(Error::other("unimplemented")))
272    }
273
274    /// Implements [super::client::DatasetService::list_saved_queries].
275    fn list_saved_queries(
276        &self,
277        _req: crate::model::ListSavedQueriesRequest,
278        _options: gax::options::RequestOptions,
279    ) -> impl std::future::Future<
280        Output = crate::Result<gax::response::Response<crate::model::ListSavedQueriesResponse>>,
281    > + Send {
282        std::future::ready::<
283            crate::Result<gax::response::Response<crate::model::ListSavedQueriesResponse>>,
284        >(Err(Error::other("unimplemented")))
285    }
286
287    /// Implements [super::client::DatasetService::delete_saved_query].
288    fn delete_saved_query(
289        &self,
290        _req: crate::model::DeleteSavedQueryRequest,
291        _options: gax::options::RequestOptions,
292    ) -> impl std::future::Future<
293        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
294    > + Send {
295        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
296            Err(Error::other("unimplemented")),
297        )
298    }
299
300    /// Implements [super::client::DatasetService::get_annotation_spec].
301    fn get_annotation_spec(
302        &self,
303        _req: crate::model::GetAnnotationSpecRequest,
304        _options: gax::options::RequestOptions,
305    ) -> impl std::future::Future<
306        Output = crate::Result<gax::response::Response<crate::model::AnnotationSpec>>,
307    > + Send {
308        std::future::ready::<crate::Result<gax::response::Response<crate::model::AnnotationSpec>>>(
309            Err(Error::other("unimplemented")),
310        )
311    }
312
313    /// Implements [super::client::DatasetService::list_annotations].
314    fn list_annotations(
315        &self,
316        _req: crate::model::ListAnnotationsRequest,
317        _options: gax::options::RequestOptions,
318    ) -> impl std::future::Future<
319        Output = crate::Result<gax::response::Response<crate::model::ListAnnotationsResponse>>,
320    > + Send {
321        std::future::ready::<
322            crate::Result<gax::response::Response<crate::model::ListAnnotationsResponse>>,
323        >(Err(Error::other("unimplemented")))
324    }
325
326    /// Implements [super::client::DatasetService::list_locations].
327    fn list_locations(
328        &self,
329        _req: location::model::ListLocationsRequest,
330        _options: gax::options::RequestOptions,
331    ) -> impl std::future::Future<
332        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
333    > + Send {
334        std::future::ready::<
335            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
336        >(Err(Error::other("unimplemented")))
337    }
338
339    /// Implements [super::client::DatasetService::get_location].
340    fn get_location(
341        &self,
342        _req: location::model::GetLocationRequest,
343        _options: gax::options::RequestOptions,
344    ) -> impl std::future::Future<
345        Output = crate::Result<gax::response::Response<location::model::Location>>,
346    > + Send {
347        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
348            Err(Error::other("unimplemented")),
349        )
350    }
351
352    /// Implements [super::client::DatasetService::set_iam_policy].
353    fn set_iam_policy(
354        &self,
355        _req: iam_v1::model::SetIamPolicyRequest,
356        _options: gax::options::RequestOptions,
357    ) -> impl std::future::Future<
358        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
359    > + Send {
360        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
361            Error::other("unimplemented"),
362        ))
363    }
364
365    /// Implements [super::client::DatasetService::get_iam_policy].
366    fn get_iam_policy(
367        &self,
368        _req: iam_v1::model::GetIamPolicyRequest,
369        _options: gax::options::RequestOptions,
370    ) -> impl std::future::Future<
371        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
372    > + Send {
373        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
374            Error::other("unimplemented"),
375        ))
376    }
377
378    /// Implements [super::client::DatasetService::test_iam_permissions].
379    fn test_iam_permissions(
380        &self,
381        _req: iam_v1::model::TestIamPermissionsRequest,
382        _options: gax::options::RequestOptions,
383    ) -> impl std::future::Future<
384        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
385    > + Send {
386        std::future::ready::<
387            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
388        >(Err(Error::other("unimplemented")))
389    }
390
391    /// Implements [super::client::DatasetService::list_operations].
392    fn list_operations(
393        &self,
394        _req: longrunning::model::ListOperationsRequest,
395        _options: gax::options::RequestOptions,
396    ) -> impl std::future::Future<
397        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
398    > + Send {
399        std::future::ready::<
400            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
401        >(Err(Error::other("unimplemented")))
402    }
403
404    /// Implements [super::client::DatasetService::get_operation].
405    fn get_operation(
406        &self,
407        _req: longrunning::model::GetOperationRequest,
408        _options: gax::options::RequestOptions,
409    ) -> impl std::future::Future<
410        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
411    > + Send {
412        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
413            Err(Error::other("unimplemented")),
414        )
415    }
416
417    /// Implements [super::client::DatasetService::delete_operation].
418    fn delete_operation(
419        &self,
420        _req: longrunning::model::DeleteOperationRequest,
421        _options: gax::options::RequestOptions,
422    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
423        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
424            "unimplemented",
425        )))
426    }
427
428    /// Implements [super::client::DatasetService::cancel_operation].
429    fn cancel_operation(
430        &self,
431        _req: longrunning::model::CancelOperationRequest,
432        _options: gax::options::RequestOptions,
433    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
434        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
435            "unimplemented",
436        )))
437    }
438
439    /// Implements [super::client::DatasetService::wait_operation].
440    fn wait_operation(
441        &self,
442        _req: longrunning::model::WaitOperationRequest,
443        _options: gax::options::RequestOptions,
444    ) -> impl std::future::Future<
445        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
446    > + Send {
447        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
448            Err(Error::other("unimplemented")),
449        )
450    }
451
452    /// Returns the polling error policy.
453    ///
454    /// When mocking, this method is typically irrelevant. Do not try to verify
455    /// it is called by your mocks.
456    fn get_polling_error_policy(
457        &self,
458        _options: &gax::options::RequestOptions,
459    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
460        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
461    }
462
463    /// Returns the polling backoff policy.
464    ///
465    /// When mocking, this method is typically irrelevant. Do not try to verify
466    /// it is called by your mocks.
467    fn get_polling_backoff_policy(
468        &self,
469        _options: &gax::options::RequestOptions,
470    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
471        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
472    }
473}
474
475/// Defines the trait used to implement [super::client::DeploymentResourcePoolService].
476///
477/// Application developers may need to implement this trait to mock
478/// `client::DeploymentResourcePoolService`.  In other use-cases, application developers only
479/// use `client::DeploymentResourcePoolService` and need not be concerned with this trait or
480/// its implementations.
481///
482/// Services gain new RPCs routinely. Consequently, this trait gains new methods
483/// too. To avoid breaking applications the trait provides a default
484/// implementation of each method. Most of these implementations just return an
485/// error.
486#[cfg(feature = "deployment-resource-pool-service")]
487#[cfg_attr(docsrs, doc(cfg(feature = "deployment-resource-pool-service")))]
488pub trait DeploymentResourcePoolService: std::fmt::Debug + Send + Sync {
489    /// Implements [super::client::DeploymentResourcePoolService::create_deployment_resource_pool].
490    fn create_deployment_resource_pool(
491        &self,
492        _req: crate::model::CreateDeploymentResourcePoolRequest,
493        _options: gax::options::RequestOptions,
494    ) -> impl std::future::Future<
495        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
496    > + Send {
497        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
498            Err(Error::other("unimplemented")),
499        )
500    }
501
502    /// Implements [super::client::DeploymentResourcePoolService::get_deployment_resource_pool].
503    fn get_deployment_resource_pool(
504        &self,
505        _req: crate::model::GetDeploymentResourcePoolRequest,
506        _options: gax::options::RequestOptions,
507    ) -> impl std::future::Future<
508        Output = crate::Result<gax::response::Response<crate::model::DeploymentResourcePool>>,
509    > + Send {
510        std::future::ready::<
511            crate::Result<gax::response::Response<crate::model::DeploymentResourcePool>>,
512        >(Err(Error::other("unimplemented")))
513    }
514
515    /// Implements [super::client::DeploymentResourcePoolService::list_deployment_resource_pools].
516    fn list_deployment_resource_pools(
517        &self,
518        _req: crate::model::ListDeploymentResourcePoolsRequest,
519        _options: gax::options::RequestOptions,
520    ) -> impl std::future::Future<
521        Output = crate::Result<
522            gax::response::Response<crate::model::ListDeploymentResourcePoolsResponse>,
523        >,
524    > + Send {
525        std::future::ready::<
526            crate::Result<
527                gax::response::Response<crate::model::ListDeploymentResourcePoolsResponse>,
528            >,
529        >(Err(Error::other("unimplemented")))
530    }
531
532    /// Implements [super::client::DeploymentResourcePoolService::update_deployment_resource_pool].
533    fn update_deployment_resource_pool(
534        &self,
535        _req: crate::model::UpdateDeploymentResourcePoolRequest,
536        _options: gax::options::RequestOptions,
537    ) -> impl std::future::Future<
538        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
539    > + Send {
540        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
541            Err(Error::other("unimplemented")),
542        )
543    }
544
545    /// Implements [super::client::DeploymentResourcePoolService::delete_deployment_resource_pool].
546    fn delete_deployment_resource_pool(
547        &self,
548        _req: crate::model::DeleteDeploymentResourcePoolRequest,
549        _options: gax::options::RequestOptions,
550    ) -> impl std::future::Future<
551        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
552    > + Send {
553        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
554            Err(Error::other("unimplemented")),
555        )
556    }
557
558    /// Implements [super::client::DeploymentResourcePoolService::query_deployed_models].
559    fn query_deployed_models(
560        &self,
561        _req: crate::model::QueryDeployedModelsRequest,
562        _options: gax::options::RequestOptions,
563    ) -> impl std::future::Future<
564        Output = crate::Result<gax::response::Response<crate::model::QueryDeployedModelsResponse>>,
565    > + Send {
566        std::future::ready::<
567            crate::Result<gax::response::Response<crate::model::QueryDeployedModelsResponse>>,
568        >(Err(Error::other("unimplemented")))
569    }
570
571    /// Implements [super::client::DeploymentResourcePoolService::list_locations].
572    fn list_locations(
573        &self,
574        _req: location::model::ListLocationsRequest,
575        _options: gax::options::RequestOptions,
576    ) -> impl std::future::Future<
577        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
578    > + Send {
579        std::future::ready::<
580            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
581        >(Err(Error::other("unimplemented")))
582    }
583
584    /// Implements [super::client::DeploymentResourcePoolService::get_location].
585    fn get_location(
586        &self,
587        _req: location::model::GetLocationRequest,
588        _options: gax::options::RequestOptions,
589    ) -> impl std::future::Future<
590        Output = crate::Result<gax::response::Response<location::model::Location>>,
591    > + Send {
592        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
593            Err(Error::other("unimplemented")),
594        )
595    }
596
597    /// Implements [super::client::DeploymentResourcePoolService::set_iam_policy].
598    fn set_iam_policy(
599        &self,
600        _req: iam_v1::model::SetIamPolicyRequest,
601        _options: gax::options::RequestOptions,
602    ) -> impl std::future::Future<
603        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
604    > + Send {
605        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
606            Error::other("unimplemented"),
607        ))
608    }
609
610    /// Implements [super::client::DeploymentResourcePoolService::get_iam_policy].
611    fn get_iam_policy(
612        &self,
613        _req: iam_v1::model::GetIamPolicyRequest,
614        _options: gax::options::RequestOptions,
615    ) -> impl std::future::Future<
616        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
617    > + Send {
618        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
619            Error::other("unimplemented"),
620        ))
621    }
622
623    /// Implements [super::client::DeploymentResourcePoolService::test_iam_permissions].
624    fn test_iam_permissions(
625        &self,
626        _req: iam_v1::model::TestIamPermissionsRequest,
627        _options: gax::options::RequestOptions,
628    ) -> impl std::future::Future<
629        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
630    > + Send {
631        std::future::ready::<
632            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
633        >(Err(Error::other("unimplemented")))
634    }
635
636    /// Implements [super::client::DeploymentResourcePoolService::list_operations].
637    fn list_operations(
638        &self,
639        _req: longrunning::model::ListOperationsRequest,
640        _options: gax::options::RequestOptions,
641    ) -> impl std::future::Future<
642        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
643    > + Send {
644        std::future::ready::<
645            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
646        >(Err(Error::other("unimplemented")))
647    }
648
649    /// Implements [super::client::DeploymentResourcePoolService::get_operation].
650    fn get_operation(
651        &self,
652        _req: longrunning::model::GetOperationRequest,
653        _options: gax::options::RequestOptions,
654    ) -> impl std::future::Future<
655        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
656    > + Send {
657        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
658            Err(Error::other("unimplemented")),
659        )
660    }
661
662    /// Implements [super::client::DeploymentResourcePoolService::delete_operation].
663    fn delete_operation(
664        &self,
665        _req: longrunning::model::DeleteOperationRequest,
666        _options: gax::options::RequestOptions,
667    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
668        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
669            "unimplemented",
670        )))
671    }
672
673    /// Implements [super::client::DeploymentResourcePoolService::cancel_operation].
674    fn cancel_operation(
675        &self,
676        _req: longrunning::model::CancelOperationRequest,
677        _options: gax::options::RequestOptions,
678    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
679        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
680            "unimplemented",
681        )))
682    }
683
684    /// Implements [super::client::DeploymentResourcePoolService::wait_operation].
685    fn wait_operation(
686        &self,
687        _req: longrunning::model::WaitOperationRequest,
688        _options: gax::options::RequestOptions,
689    ) -> impl std::future::Future<
690        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
691    > + Send {
692        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
693            Err(Error::other("unimplemented")),
694        )
695    }
696
697    /// Returns the polling error policy.
698    ///
699    /// When mocking, this method is typically irrelevant. Do not try to verify
700    /// it is called by your mocks.
701    fn get_polling_error_policy(
702        &self,
703        _options: &gax::options::RequestOptions,
704    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
705        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
706    }
707
708    /// Returns the polling backoff policy.
709    ///
710    /// When mocking, this method is typically irrelevant. Do not try to verify
711    /// it is called by your mocks.
712    fn get_polling_backoff_policy(
713        &self,
714        _options: &gax::options::RequestOptions,
715    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
716        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
717    }
718}
719
720/// Defines the trait used to implement [super::client::EndpointService].
721///
722/// Application developers may need to implement this trait to mock
723/// `client::EndpointService`.  In other use-cases, application developers only
724/// use `client::EndpointService` and need not be concerned with this trait or
725/// its implementations.
726///
727/// Services gain new RPCs routinely. Consequently, this trait gains new methods
728/// too. To avoid breaking applications the trait provides a default
729/// implementation of each method. Most of these implementations just return an
730/// error.
731#[cfg(feature = "endpoint-service")]
732#[cfg_attr(docsrs, doc(cfg(feature = "endpoint-service")))]
733pub trait EndpointService: std::fmt::Debug + Send + Sync {
734    /// Implements [super::client::EndpointService::create_endpoint].
735    fn create_endpoint(
736        &self,
737        _req: crate::model::CreateEndpointRequest,
738        _options: gax::options::RequestOptions,
739    ) -> impl std::future::Future<
740        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
741    > + Send {
742        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
743            Err(Error::other("unimplemented")),
744        )
745    }
746
747    /// Implements [super::client::EndpointService::get_endpoint].
748    fn get_endpoint(
749        &self,
750        _req: crate::model::GetEndpointRequest,
751        _options: gax::options::RequestOptions,
752    ) -> impl std::future::Future<
753        Output = crate::Result<gax::response::Response<crate::model::Endpoint>>,
754    > + Send {
755        std::future::ready::<crate::Result<gax::response::Response<crate::model::Endpoint>>>(Err(
756            Error::other("unimplemented"),
757        ))
758    }
759
760    /// Implements [super::client::EndpointService::list_endpoints].
761    fn list_endpoints(
762        &self,
763        _req: crate::model::ListEndpointsRequest,
764        _options: gax::options::RequestOptions,
765    ) -> impl std::future::Future<
766        Output = crate::Result<gax::response::Response<crate::model::ListEndpointsResponse>>,
767    > + Send {
768        std::future::ready::<
769            crate::Result<gax::response::Response<crate::model::ListEndpointsResponse>>,
770        >(Err(Error::other("unimplemented")))
771    }
772
773    /// Implements [super::client::EndpointService::update_endpoint].
774    fn update_endpoint(
775        &self,
776        _req: crate::model::UpdateEndpointRequest,
777        _options: gax::options::RequestOptions,
778    ) -> impl std::future::Future<
779        Output = crate::Result<gax::response::Response<crate::model::Endpoint>>,
780    > + Send {
781        std::future::ready::<crate::Result<gax::response::Response<crate::model::Endpoint>>>(Err(
782            Error::other("unimplemented"),
783        ))
784    }
785
786    /// Implements [super::client::EndpointService::update_endpoint_long_running].
787    fn update_endpoint_long_running(
788        &self,
789        _req: crate::model::UpdateEndpointLongRunningRequest,
790        _options: gax::options::RequestOptions,
791    ) -> impl std::future::Future<
792        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
793    > + Send {
794        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
795            Err(Error::other("unimplemented")),
796        )
797    }
798
799    /// Implements [super::client::EndpointService::delete_endpoint].
800    fn delete_endpoint(
801        &self,
802        _req: crate::model::DeleteEndpointRequest,
803        _options: gax::options::RequestOptions,
804    ) -> impl std::future::Future<
805        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
806    > + Send {
807        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
808            Err(Error::other("unimplemented")),
809        )
810    }
811
812    /// Implements [super::client::EndpointService::deploy_model].
813    fn deploy_model(
814        &self,
815        _req: crate::model::DeployModelRequest,
816        _options: gax::options::RequestOptions,
817    ) -> impl std::future::Future<
818        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
819    > + Send {
820        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
821            Err(Error::other("unimplemented")),
822        )
823    }
824
825    /// Implements [super::client::EndpointService::undeploy_model].
826    fn undeploy_model(
827        &self,
828        _req: crate::model::UndeployModelRequest,
829        _options: gax::options::RequestOptions,
830    ) -> impl std::future::Future<
831        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
832    > + Send {
833        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
834            Err(Error::other("unimplemented")),
835        )
836    }
837
838    /// Implements [super::client::EndpointService::mutate_deployed_model].
839    fn mutate_deployed_model(
840        &self,
841        _req: crate::model::MutateDeployedModelRequest,
842        _options: gax::options::RequestOptions,
843    ) -> impl std::future::Future<
844        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
845    > + Send {
846        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
847            Err(Error::other("unimplemented")),
848        )
849    }
850
851    /// Implements [super::client::EndpointService::list_locations].
852    fn list_locations(
853        &self,
854        _req: location::model::ListLocationsRequest,
855        _options: gax::options::RequestOptions,
856    ) -> impl std::future::Future<
857        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
858    > + Send {
859        std::future::ready::<
860            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
861        >(Err(Error::other("unimplemented")))
862    }
863
864    /// Implements [super::client::EndpointService::get_location].
865    fn get_location(
866        &self,
867        _req: location::model::GetLocationRequest,
868        _options: gax::options::RequestOptions,
869    ) -> impl std::future::Future<
870        Output = crate::Result<gax::response::Response<location::model::Location>>,
871    > + Send {
872        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
873            Err(Error::other("unimplemented")),
874        )
875    }
876
877    /// Implements [super::client::EndpointService::set_iam_policy].
878    fn set_iam_policy(
879        &self,
880        _req: iam_v1::model::SetIamPolicyRequest,
881        _options: gax::options::RequestOptions,
882    ) -> impl std::future::Future<
883        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
884    > + Send {
885        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
886            Error::other("unimplemented"),
887        ))
888    }
889
890    /// Implements [super::client::EndpointService::get_iam_policy].
891    fn get_iam_policy(
892        &self,
893        _req: iam_v1::model::GetIamPolicyRequest,
894        _options: gax::options::RequestOptions,
895    ) -> impl std::future::Future<
896        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
897    > + Send {
898        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
899            Error::other("unimplemented"),
900        ))
901    }
902
903    /// Implements [super::client::EndpointService::test_iam_permissions].
904    fn test_iam_permissions(
905        &self,
906        _req: iam_v1::model::TestIamPermissionsRequest,
907        _options: gax::options::RequestOptions,
908    ) -> impl std::future::Future<
909        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
910    > + Send {
911        std::future::ready::<
912            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
913        >(Err(Error::other("unimplemented")))
914    }
915
916    /// Implements [super::client::EndpointService::list_operations].
917    fn list_operations(
918        &self,
919        _req: longrunning::model::ListOperationsRequest,
920        _options: gax::options::RequestOptions,
921    ) -> impl std::future::Future<
922        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
923    > + Send {
924        std::future::ready::<
925            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
926        >(Err(Error::other("unimplemented")))
927    }
928
929    /// Implements [super::client::EndpointService::get_operation].
930    fn get_operation(
931        &self,
932        _req: longrunning::model::GetOperationRequest,
933        _options: gax::options::RequestOptions,
934    ) -> impl std::future::Future<
935        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
936    > + Send {
937        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
938            Err(Error::other("unimplemented")),
939        )
940    }
941
942    /// Implements [super::client::EndpointService::delete_operation].
943    fn delete_operation(
944        &self,
945        _req: longrunning::model::DeleteOperationRequest,
946        _options: gax::options::RequestOptions,
947    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
948        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
949            "unimplemented",
950        )))
951    }
952
953    /// Implements [super::client::EndpointService::cancel_operation].
954    fn cancel_operation(
955        &self,
956        _req: longrunning::model::CancelOperationRequest,
957        _options: gax::options::RequestOptions,
958    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
959        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
960            "unimplemented",
961        )))
962    }
963
964    /// Implements [super::client::EndpointService::wait_operation].
965    fn wait_operation(
966        &self,
967        _req: longrunning::model::WaitOperationRequest,
968        _options: gax::options::RequestOptions,
969    ) -> impl std::future::Future<
970        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
971    > + Send {
972        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
973            Err(Error::other("unimplemented")),
974        )
975    }
976
977    /// Returns the polling error policy.
978    ///
979    /// When mocking, this method is typically irrelevant. Do not try to verify
980    /// it is called by your mocks.
981    fn get_polling_error_policy(
982        &self,
983        _options: &gax::options::RequestOptions,
984    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
985        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
986    }
987
988    /// Returns the polling backoff policy.
989    ///
990    /// When mocking, this method is typically irrelevant. Do not try to verify
991    /// it is called by your mocks.
992    fn get_polling_backoff_policy(
993        &self,
994        _options: &gax::options::RequestOptions,
995    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
996        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
997    }
998}
999
1000/// Defines the trait used to implement [super::client::EvaluationService].
1001///
1002/// Application developers may need to implement this trait to mock
1003/// `client::EvaluationService`.  In other use-cases, application developers only
1004/// use `client::EvaluationService` and need not be concerned with this trait or
1005/// its implementations.
1006///
1007/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1008/// too. To avoid breaking applications the trait provides a default
1009/// implementation of each method. Most of these implementations just return an
1010/// error.
1011#[cfg(feature = "evaluation-service")]
1012#[cfg_attr(docsrs, doc(cfg(feature = "evaluation-service")))]
1013pub trait EvaluationService: std::fmt::Debug + Send + Sync {
1014    /// Implements [super::client::EvaluationService::evaluate_instances].
1015    fn evaluate_instances(
1016        &self,
1017        _req: crate::model::EvaluateInstancesRequest,
1018        _options: gax::options::RequestOptions,
1019    ) -> impl std::future::Future<
1020        Output = crate::Result<gax::response::Response<crate::model::EvaluateInstancesResponse>>,
1021    > + Send {
1022        std::future::ready::<
1023            crate::Result<gax::response::Response<crate::model::EvaluateInstancesResponse>>,
1024        >(Err(Error::other("unimplemented")))
1025    }
1026
1027    /// Implements [super::client::EvaluationService::list_locations].
1028    fn list_locations(
1029        &self,
1030        _req: location::model::ListLocationsRequest,
1031        _options: gax::options::RequestOptions,
1032    ) -> impl std::future::Future<
1033        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
1034    > + Send {
1035        std::future::ready::<
1036            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
1037        >(Err(Error::other("unimplemented")))
1038    }
1039
1040    /// Implements [super::client::EvaluationService::get_location].
1041    fn get_location(
1042        &self,
1043        _req: location::model::GetLocationRequest,
1044        _options: gax::options::RequestOptions,
1045    ) -> impl std::future::Future<
1046        Output = crate::Result<gax::response::Response<location::model::Location>>,
1047    > + Send {
1048        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
1049            Err(Error::other("unimplemented")),
1050        )
1051    }
1052
1053    /// Implements [super::client::EvaluationService::set_iam_policy].
1054    fn set_iam_policy(
1055        &self,
1056        _req: iam_v1::model::SetIamPolicyRequest,
1057        _options: gax::options::RequestOptions,
1058    ) -> impl std::future::Future<
1059        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
1060    > + Send {
1061        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
1062            Error::other("unimplemented"),
1063        ))
1064    }
1065
1066    /// Implements [super::client::EvaluationService::get_iam_policy].
1067    fn get_iam_policy(
1068        &self,
1069        _req: iam_v1::model::GetIamPolicyRequest,
1070        _options: gax::options::RequestOptions,
1071    ) -> impl std::future::Future<
1072        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
1073    > + Send {
1074        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
1075            Error::other("unimplemented"),
1076        ))
1077    }
1078
1079    /// Implements [super::client::EvaluationService::test_iam_permissions].
1080    fn test_iam_permissions(
1081        &self,
1082        _req: iam_v1::model::TestIamPermissionsRequest,
1083        _options: gax::options::RequestOptions,
1084    ) -> impl std::future::Future<
1085        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
1086    > + Send {
1087        std::future::ready::<
1088            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
1089        >(Err(Error::other("unimplemented")))
1090    }
1091
1092    /// Implements [super::client::EvaluationService::list_operations].
1093    fn list_operations(
1094        &self,
1095        _req: longrunning::model::ListOperationsRequest,
1096        _options: gax::options::RequestOptions,
1097    ) -> impl std::future::Future<
1098        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
1099    > + Send {
1100        std::future::ready::<
1101            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
1102        >(Err(Error::other("unimplemented")))
1103    }
1104
1105    /// Implements [super::client::EvaluationService::get_operation].
1106    fn get_operation(
1107        &self,
1108        _req: longrunning::model::GetOperationRequest,
1109        _options: gax::options::RequestOptions,
1110    ) -> impl std::future::Future<
1111        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1112    > + Send {
1113        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
1114            Err(Error::other("unimplemented")),
1115        )
1116    }
1117
1118    /// Implements [super::client::EvaluationService::delete_operation].
1119    fn delete_operation(
1120        &self,
1121        _req: longrunning::model::DeleteOperationRequest,
1122        _options: gax::options::RequestOptions,
1123    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
1124        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
1125            "unimplemented",
1126        )))
1127    }
1128
1129    /// Implements [super::client::EvaluationService::cancel_operation].
1130    fn cancel_operation(
1131        &self,
1132        _req: longrunning::model::CancelOperationRequest,
1133        _options: gax::options::RequestOptions,
1134    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
1135        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
1136            "unimplemented",
1137        )))
1138    }
1139
1140    /// Implements [super::client::EvaluationService::wait_operation].
1141    fn wait_operation(
1142        &self,
1143        _req: longrunning::model::WaitOperationRequest,
1144        _options: gax::options::RequestOptions,
1145    ) -> impl std::future::Future<
1146        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1147    > + Send {
1148        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
1149            Err(Error::other("unimplemented")),
1150        )
1151    }
1152}
1153
1154/// Defines the trait used to implement [super::client::FeatureOnlineStoreAdminService].
1155///
1156/// Application developers may need to implement this trait to mock
1157/// `client::FeatureOnlineStoreAdminService`.  In other use-cases, application developers only
1158/// use `client::FeatureOnlineStoreAdminService` and need not be concerned with this trait or
1159/// its implementations.
1160///
1161/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1162/// too. To avoid breaking applications the trait provides a default
1163/// implementation of each method. Most of these implementations just return an
1164/// error.
1165#[cfg(feature = "feature-online-store-admin-service")]
1166#[cfg_attr(docsrs, doc(cfg(feature = "feature-online-store-admin-service")))]
1167pub trait FeatureOnlineStoreAdminService: std::fmt::Debug + Send + Sync {
1168    /// Implements [super::client::FeatureOnlineStoreAdminService::create_feature_online_store].
1169    fn create_feature_online_store(
1170        &self,
1171        _req: crate::model::CreateFeatureOnlineStoreRequest,
1172        _options: gax::options::RequestOptions,
1173    ) -> impl std::future::Future<
1174        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1175    > + Send {
1176        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
1177            Err(Error::other("unimplemented")),
1178        )
1179    }
1180
1181    /// Implements [super::client::FeatureOnlineStoreAdminService::get_feature_online_store].
1182    fn get_feature_online_store(
1183        &self,
1184        _req: crate::model::GetFeatureOnlineStoreRequest,
1185        _options: gax::options::RequestOptions,
1186    ) -> impl std::future::Future<
1187        Output = crate::Result<gax::response::Response<crate::model::FeatureOnlineStore>>,
1188    > + Send {
1189        std::future::ready::<crate::Result<gax::response::Response<crate::model::FeatureOnlineStore>>>(
1190            Err(Error::other("unimplemented")),
1191        )
1192    }
1193
1194    /// Implements [super::client::FeatureOnlineStoreAdminService::list_feature_online_stores].
1195    fn list_feature_online_stores(
1196        &self,
1197        _req: crate::model::ListFeatureOnlineStoresRequest,
1198        _options: gax::options::RequestOptions,
1199    ) -> impl std::future::Future<
1200        Output = crate::Result<
1201            gax::response::Response<crate::model::ListFeatureOnlineStoresResponse>,
1202        >,
1203    > + Send {
1204        std::future::ready::<
1205            crate::Result<gax::response::Response<crate::model::ListFeatureOnlineStoresResponse>>,
1206        >(Err(Error::other("unimplemented")))
1207    }
1208
1209    /// Implements [super::client::FeatureOnlineStoreAdminService::update_feature_online_store].
1210    fn update_feature_online_store(
1211        &self,
1212        _req: crate::model::UpdateFeatureOnlineStoreRequest,
1213        _options: gax::options::RequestOptions,
1214    ) -> impl std::future::Future<
1215        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1216    > + Send {
1217        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
1218            Err(Error::other("unimplemented")),
1219        )
1220    }
1221
1222    /// Implements [super::client::FeatureOnlineStoreAdminService::delete_feature_online_store].
1223    fn delete_feature_online_store(
1224        &self,
1225        _req: crate::model::DeleteFeatureOnlineStoreRequest,
1226        _options: gax::options::RequestOptions,
1227    ) -> impl std::future::Future<
1228        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1229    > + Send {
1230        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
1231            Err(Error::other("unimplemented")),
1232        )
1233    }
1234
1235    /// Implements [super::client::FeatureOnlineStoreAdminService::create_feature_view].
1236    fn create_feature_view(
1237        &self,
1238        _req: crate::model::CreateFeatureViewRequest,
1239        _options: gax::options::RequestOptions,
1240    ) -> impl std::future::Future<
1241        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1242    > + Send {
1243        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
1244            Err(Error::other("unimplemented")),
1245        )
1246    }
1247
1248    /// Implements [super::client::FeatureOnlineStoreAdminService::get_feature_view].
1249    fn get_feature_view(
1250        &self,
1251        _req: crate::model::GetFeatureViewRequest,
1252        _options: gax::options::RequestOptions,
1253    ) -> impl std::future::Future<
1254        Output = crate::Result<gax::response::Response<crate::model::FeatureView>>,
1255    > + Send {
1256        std::future::ready::<crate::Result<gax::response::Response<crate::model::FeatureView>>>(
1257            Err(Error::other("unimplemented")),
1258        )
1259    }
1260
1261    /// Implements [super::client::FeatureOnlineStoreAdminService::list_feature_views].
1262    fn list_feature_views(
1263        &self,
1264        _req: crate::model::ListFeatureViewsRequest,
1265        _options: gax::options::RequestOptions,
1266    ) -> impl std::future::Future<
1267        Output = crate::Result<gax::response::Response<crate::model::ListFeatureViewsResponse>>,
1268    > + Send {
1269        std::future::ready::<
1270            crate::Result<gax::response::Response<crate::model::ListFeatureViewsResponse>>,
1271        >(Err(Error::other("unimplemented")))
1272    }
1273
1274    /// Implements [super::client::FeatureOnlineStoreAdminService::update_feature_view].
1275    fn update_feature_view(
1276        &self,
1277        _req: crate::model::UpdateFeatureViewRequest,
1278        _options: gax::options::RequestOptions,
1279    ) -> impl std::future::Future<
1280        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1281    > + Send {
1282        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
1283            Err(Error::other("unimplemented")),
1284        )
1285    }
1286
1287    /// Implements [super::client::FeatureOnlineStoreAdminService::delete_feature_view].
1288    fn delete_feature_view(
1289        &self,
1290        _req: crate::model::DeleteFeatureViewRequest,
1291        _options: gax::options::RequestOptions,
1292    ) -> impl std::future::Future<
1293        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1294    > + Send {
1295        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
1296            Err(Error::other("unimplemented")),
1297        )
1298    }
1299
1300    /// Implements [super::client::FeatureOnlineStoreAdminService::sync_feature_view].
1301    fn sync_feature_view(
1302        &self,
1303        _req: crate::model::SyncFeatureViewRequest,
1304        _options: gax::options::RequestOptions,
1305    ) -> impl std::future::Future<
1306        Output = crate::Result<gax::response::Response<crate::model::SyncFeatureViewResponse>>,
1307    > + Send {
1308        std::future::ready::<
1309            crate::Result<gax::response::Response<crate::model::SyncFeatureViewResponse>>,
1310        >(Err(Error::other("unimplemented")))
1311    }
1312
1313    /// Implements [super::client::FeatureOnlineStoreAdminService::get_feature_view_sync].
1314    fn get_feature_view_sync(
1315        &self,
1316        _req: crate::model::GetFeatureViewSyncRequest,
1317        _options: gax::options::RequestOptions,
1318    ) -> impl std::future::Future<
1319        Output = crate::Result<gax::response::Response<crate::model::FeatureViewSync>>,
1320    > + Send {
1321        std::future::ready::<crate::Result<gax::response::Response<crate::model::FeatureViewSync>>>(
1322            Err(Error::other("unimplemented")),
1323        )
1324    }
1325
1326    /// Implements [super::client::FeatureOnlineStoreAdminService::list_feature_view_syncs].
1327    fn list_feature_view_syncs(
1328        &self,
1329        _req: crate::model::ListFeatureViewSyncsRequest,
1330        _options: gax::options::RequestOptions,
1331    ) -> impl std::future::Future<
1332        Output = crate::Result<gax::response::Response<crate::model::ListFeatureViewSyncsResponse>>,
1333    > + Send {
1334        std::future::ready::<
1335            crate::Result<gax::response::Response<crate::model::ListFeatureViewSyncsResponse>>,
1336        >(Err(Error::other("unimplemented")))
1337    }
1338
1339    /// Implements [super::client::FeatureOnlineStoreAdminService::list_locations].
1340    fn list_locations(
1341        &self,
1342        _req: location::model::ListLocationsRequest,
1343        _options: gax::options::RequestOptions,
1344    ) -> impl std::future::Future<
1345        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
1346    > + Send {
1347        std::future::ready::<
1348            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
1349        >(Err(Error::other("unimplemented")))
1350    }
1351
1352    /// Implements [super::client::FeatureOnlineStoreAdminService::get_location].
1353    fn get_location(
1354        &self,
1355        _req: location::model::GetLocationRequest,
1356        _options: gax::options::RequestOptions,
1357    ) -> impl std::future::Future<
1358        Output = crate::Result<gax::response::Response<location::model::Location>>,
1359    > + Send {
1360        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
1361            Err(Error::other("unimplemented")),
1362        )
1363    }
1364
1365    /// Implements [super::client::FeatureOnlineStoreAdminService::set_iam_policy].
1366    fn set_iam_policy(
1367        &self,
1368        _req: iam_v1::model::SetIamPolicyRequest,
1369        _options: gax::options::RequestOptions,
1370    ) -> impl std::future::Future<
1371        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
1372    > + Send {
1373        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
1374            Error::other("unimplemented"),
1375        ))
1376    }
1377
1378    /// Implements [super::client::FeatureOnlineStoreAdminService::get_iam_policy].
1379    fn get_iam_policy(
1380        &self,
1381        _req: iam_v1::model::GetIamPolicyRequest,
1382        _options: gax::options::RequestOptions,
1383    ) -> impl std::future::Future<
1384        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
1385    > + Send {
1386        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
1387            Error::other("unimplemented"),
1388        ))
1389    }
1390
1391    /// Implements [super::client::FeatureOnlineStoreAdminService::test_iam_permissions].
1392    fn test_iam_permissions(
1393        &self,
1394        _req: iam_v1::model::TestIamPermissionsRequest,
1395        _options: gax::options::RequestOptions,
1396    ) -> impl std::future::Future<
1397        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
1398    > + Send {
1399        std::future::ready::<
1400            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
1401        >(Err(Error::other("unimplemented")))
1402    }
1403
1404    /// Implements [super::client::FeatureOnlineStoreAdminService::list_operations].
1405    fn list_operations(
1406        &self,
1407        _req: longrunning::model::ListOperationsRequest,
1408        _options: gax::options::RequestOptions,
1409    ) -> impl std::future::Future<
1410        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
1411    > + Send {
1412        std::future::ready::<
1413            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
1414        >(Err(Error::other("unimplemented")))
1415    }
1416
1417    /// Implements [super::client::FeatureOnlineStoreAdminService::get_operation].
1418    fn get_operation(
1419        &self,
1420        _req: longrunning::model::GetOperationRequest,
1421        _options: gax::options::RequestOptions,
1422    ) -> impl std::future::Future<
1423        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1424    > + Send {
1425        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
1426            Err(Error::other("unimplemented")),
1427        )
1428    }
1429
1430    /// Implements [super::client::FeatureOnlineStoreAdminService::delete_operation].
1431    fn delete_operation(
1432        &self,
1433        _req: longrunning::model::DeleteOperationRequest,
1434        _options: gax::options::RequestOptions,
1435    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
1436        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
1437            "unimplemented",
1438        )))
1439    }
1440
1441    /// Implements [super::client::FeatureOnlineStoreAdminService::cancel_operation].
1442    fn cancel_operation(
1443        &self,
1444        _req: longrunning::model::CancelOperationRequest,
1445        _options: gax::options::RequestOptions,
1446    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
1447        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
1448            "unimplemented",
1449        )))
1450    }
1451
1452    /// Implements [super::client::FeatureOnlineStoreAdminService::wait_operation].
1453    fn wait_operation(
1454        &self,
1455        _req: longrunning::model::WaitOperationRequest,
1456        _options: gax::options::RequestOptions,
1457    ) -> impl std::future::Future<
1458        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1459    > + Send {
1460        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
1461            Err(Error::other("unimplemented")),
1462        )
1463    }
1464
1465    /// Returns the polling error policy.
1466    ///
1467    /// When mocking, this method is typically irrelevant. Do not try to verify
1468    /// it is called by your mocks.
1469    fn get_polling_error_policy(
1470        &self,
1471        _options: &gax::options::RequestOptions,
1472    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
1473        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
1474    }
1475
1476    /// Returns the polling backoff policy.
1477    ///
1478    /// When mocking, this method is typically irrelevant. Do not try to verify
1479    /// it is called by your mocks.
1480    fn get_polling_backoff_policy(
1481        &self,
1482        _options: &gax::options::RequestOptions,
1483    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
1484        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
1485    }
1486}
1487
1488/// Defines the trait used to implement [super::client::FeatureOnlineStoreService].
1489///
1490/// Application developers may need to implement this trait to mock
1491/// `client::FeatureOnlineStoreService`.  In other use-cases, application developers only
1492/// use `client::FeatureOnlineStoreService` and need not be concerned with this trait or
1493/// its implementations.
1494///
1495/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1496/// too. To avoid breaking applications the trait provides a default
1497/// implementation of each method. Most of these implementations just return an
1498/// error.
1499#[cfg(feature = "feature-online-store-service")]
1500#[cfg_attr(docsrs, doc(cfg(feature = "feature-online-store-service")))]
1501pub trait FeatureOnlineStoreService: std::fmt::Debug + Send + Sync {
1502    /// Implements [super::client::FeatureOnlineStoreService::fetch_feature_values].
1503    fn fetch_feature_values(
1504        &self,
1505        _req: crate::model::FetchFeatureValuesRequest,
1506        _options: gax::options::RequestOptions,
1507    ) -> impl std::future::Future<
1508        Output = crate::Result<gax::response::Response<crate::model::FetchFeatureValuesResponse>>,
1509    > + Send {
1510        std::future::ready::<
1511            crate::Result<gax::response::Response<crate::model::FetchFeatureValuesResponse>>,
1512        >(Err(Error::other("unimplemented")))
1513    }
1514
1515    /// Implements [super::client::FeatureOnlineStoreService::search_nearest_entities].
1516    fn search_nearest_entities(
1517        &self,
1518        _req: crate::model::SearchNearestEntitiesRequest,
1519        _options: gax::options::RequestOptions,
1520    ) -> impl std::future::Future<
1521        Output = crate::Result<
1522            gax::response::Response<crate::model::SearchNearestEntitiesResponse>,
1523        >,
1524    > + Send {
1525        std::future::ready::<
1526            crate::Result<gax::response::Response<crate::model::SearchNearestEntitiesResponse>>,
1527        >(Err(Error::other("unimplemented")))
1528    }
1529
1530    /// Implements [super::client::FeatureOnlineStoreService::list_locations].
1531    fn list_locations(
1532        &self,
1533        _req: location::model::ListLocationsRequest,
1534        _options: gax::options::RequestOptions,
1535    ) -> impl std::future::Future<
1536        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
1537    > + Send {
1538        std::future::ready::<
1539            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
1540        >(Err(Error::other("unimplemented")))
1541    }
1542
1543    /// Implements [super::client::FeatureOnlineStoreService::get_location].
1544    fn get_location(
1545        &self,
1546        _req: location::model::GetLocationRequest,
1547        _options: gax::options::RequestOptions,
1548    ) -> impl std::future::Future<
1549        Output = crate::Result<gax::response::Response<location::model::Location>>,
1550    > + Send {
1551        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
1552            Err(Error::other("unimplemented")),
1553        )
1554    }
1555
1556    /// Implements [super::client::FeatureOnlineStoreService::set_iam_policy].
1557    fn set_iam_policy(
1558        &self,
1559        _req: iam_v1::model::SetIamPolicyRequest,
1560        _options: gax::options::RequestOptions,
1561    ) -> impl std::future::Future<
1562        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
1563    > + Send {
1564        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
1565            Error::other("unimplemented"),
1566        ))
1567    }
1568
1569    /// Implements [super::client::FeatureOnlineStoreService::get_iam_policy].
1570    fn get_iam_policy(
1571        &self,
1572        _req: iam_v1::model::GetIamPolicyRequest,
1573        _options: gax::options::RequestOptions,
1574    ) -> impl std::future::Future<
1575        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
1576    > + Send {
1577        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
1578            Error::other("unimplemented"),
1579        ))
1580    }
1581
1582    /// Implements [super::client::FeatureOnlineStoreService::test_iam_permissions].
1583    fn test_iam_permissions(
1584        &self,
1585        _req: iam_v1::model::TestIamPermissionsRequest,
1586        _options: gax::options::RequestOptions,
1587    ) -> impl std::future::Future<
1588        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
1589    > + Send {
1590        std::future::ready::<
1591            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
1592        >(Err(Error::other("unimplemented")))
1593    }
1594
1595    /// Implements [super::client::FeatureOnlineStoreService::list_operations].
1596    fn list_operations(
1597        &self,
1598        _req: longrunning::model::ListOperationsRequest,
1599        _options: gax::options::RequestOptions,
1600    ) -> impl std::future::Future<
1601        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
1602    > + Send {
1603        std::future::ready::<
1604            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
1605        >(Err(Error::other("unimplemented")))
1606    }
1607
1608    /// Implements [super::client::FeatureOnlineStoreService::get_operation].
1609    fn get_operation(
1610        &self,
1611        _req: longrunning::model::GetOperationRequest,
1612        _options: gax::options::RequestOptions,
1613    ) -> impl std::future::Future<
1614        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1615    > + Send {
1616        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
1617            Err(Error::other("unimplemented")),
1618        )
1619    }
1620
1621    /// Implements [super::client::FeatureOnlineStoreService::delete_operation].
1622    fn delete_operation(
1623        &self,
1624        _req: longrunning::model::DeleteOperationRequest,
1625        _options: gax::options::RequestOptions,
1626    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
1627        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
1628            "unimplemented",
1629        )))
1630    }
1631
1632    /// Implements [super::client::FeatureOnlineStoreService::cancel_operation].
1633    fn cancel_operation(
1634        &self,
1635        _req: longrunning::model::CancelOperationRequest,
1636        _options: gax::options::RequestOptions,
1637    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
1638        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
1639            "unimplemented",
1640        )))
1641    }
1642
1643    /// Implements [super::client::FeatureOnlineStoreService::wait_operation].
1644    fn wait_operation(
1645        &self,
1646        _req: longrunning::model::WaitOperationRequest,
1647        _options: gax::options::RequestOptions,
1648    ) -> impl std::future::Future<
1649        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1650    > + Send {
1651        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
1652            Err(Error::other("unimplemented")),
1653        )
1654    }
1655}
1656
1657/// Defines the trait used to implement [super::client::FeatureRegistryService].
1658///
1659/// Application developers may need to implement this trait to mock
1660/// `client::FeatureRegistryService`.  In other use-cases, application developers only
1661/// use `client::FeatureRegistryService` and need not be concerned with this trait or
1662/// its implementations.
1663///
1664/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1665/// too. To avoid breaking applications the trait provides a default
1666/// implementation of each method. Most of these implementations just return an
1667/// error.
1668#[cfg(feature = "feature-registry-service")]
1669#[cfg_attr(docsrs, doc(cfg(feature = "feature-registry-service")))]
1670pub trait FeatureRegistryService: std::fmt::Debug + Send + Sync {
1671    /// Implements [super::client::FeatureRegistryService::create_feature_group].
1672    fn create_feature_group(
1673        &self,
1674        _req: crate::model::CreateFeatureGroupRequest,
1675        _options: gax::options::RequestOptions,
1676    ) -> impl std::future::Future<
1677        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1678    > + Send {
1679        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
1680            Err(Error::other("unimplemented")),
1681        )
1682    }
1683
1684    /// Implements [super::client::FeatureRegistryService::get_feature_group].
1685    fn get_feature_group(
1686        &self,
1687        _req: crate::model::GetFeatureGroupRequest,
1688        _options: gax::options::RequestOptions,
1689    ) -> impl std::future::Future<
1690        Output = crate::Result<gax::response::Response<crate::model::FeatureGroup>>,
1691    > + Send {
1692        std::future::ready::<crate::Result<gax::response::Response<crate::model::FeatureGroup>>>(
1693            Err(Error::other("unimplemented")),
1694        )
1695    }
1696
1697    /// Implements [super::client::FeatureRegistryService::list_feature_groups].
1698    fn list_feature_groups(
1699        &self,
1700        _req: crate::model::ListFeatureGroupsRequest,
1701        _options: gax::options::RequestOptions,
1702    ) -> impl std::future::Future<
1703        Output = crate::Result<gax::response::Response<crate::model::ListFeatureGroupsResponse>>,
1704    > + Send {
1705        std::future::ready::<
1706            crate::Result<gax::response::Response<crate::model::ListFeatureGroupsResponse>>,
1707        >(Err(Error::other("unimplemented")))
1708    }
1709
1710    /// Implements [super::client::FeatureRegistryService::update_feature_group].
1711    fn update_feature_group(
1712        &self,
1713        _req: crate::model::UpdateFeatureGroupRequest,
1714        _options: gax::options::RequestOptions,
1715    ) -> impl std::future::Future<
1716        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1717    > + Send {
1718        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
1719            Err(Error::other("unimplemented")),
1720        )
1721    }
1722
1723    /// Implements [super::client::FeatureRegistryService::delete_feature_group].
1724    fn delete_feature_group(
1725        &self,
1726        _req: crate::model::DeleteFeatureGroupRequest,
1727        _options: gax::options::RequestOptions,
1728    ) -> impl std::future::Future<
1729        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1730    > + Send {
1731        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
1732            Err(Error::other("unimplemented")),
1733        )
1734    }
1735
1736    /// Implements [super::client::FeatureRegistryService::create_feature].
1737    fn create_feature(
1738        &self,
1739        _req: crate::model::CreateFeatureRequest,
1740        _options: gax::options::RequestOptions,
1741    ) -> impl std::future::Future<
1742        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1743    > + Send {
1744        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
1745            Err(Error::other("unimplemented")),
1746        )
1747    }
1748
1749    /// Implements [super::client::FeatureRegistryService::batch_create_features].
1750    fn batch_create_features(
1751        &self,
1752        _req: crate::model::BatchCreateFeaturesRequest,
1753        _options: gax::options::RequestOptions,
1754    ) -> impl std::future::Future<
1755        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1756    > + Send {
1757        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
1758            Err(Error::other("unimplemented")),
1759        )
1760    }
1761
1762    /// Implements [super::client::FeatureRegistryService::get_feature].
1763    fn get_feature(
1764        &self,
1765        _req: crate::model::GetFeatureRequest,
1766        _options: gax::options::RequestOptions,
1767    ) -> impl std::future::Future<
1768        Output = crate::Result<gax::response::Response<crate::model::Feature>>,
1769    > + Send {
1770        std::future::ready::<crate::Result<gax::response::Response<crate::model::Feature>>>(Err(
1771            Error::other("unimplemented"),
1772        ))
1773    }
1774
1775    /// Implements [super::client::FeatureRegistryService::list_features].
1776    fn list_features(
1777        &self,
1778        _req: crate::model::ListFeaturesRequest,
1779        _options: gax::options::RequestOptions,
1780    ) -> impl std::future::Future<
1781        Output = crate::Result<gax::response::Response<crate::model::ListFeaturesResponse>>,
1782    > + Send {
1783        std::future::ready::<
1784            crate::Result<gax::response::Response<crate::model::ListFeaturesResponse>>,
1785        >(Err(Error::other("unimplemented")))
1786    }
1787
1788    /// Implements [super::client::FeatureRegistryService::update_feature].
1789    fn update_feature(
1790        &self,
1791        _req: crate::model::UpdateFeatureRequest,
1792        _options: gax::options::RequestOptions,
1793    ) -> impl std::future::Future<
1794        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1795    > + Send {
1796        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
1797            Err(Error::other("unimplemented")),
1798        )
1799    }
1800
1801    /// Implements [super::client::FeatureRegistryService::delete_feature].
1802    fn delete_feature(
1803        &self,
1804        _req: crate::model::DeleteFeatureRequest,
1805        _options: gax::options::RequestOptions,
1806    ) -> impl std::future::Future<
1807        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1808    > + Send {
1809        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
1810            Err(Error::other("unimplemented")),
1811        )
1812    }
1813
1814    /// Implements [super::client::FeatureRegistryService::list_locations].
1815    fn list_locations(
1816        &self,
1817        _req: location::model::ListLocationsRequest,
1818        _options: gax::options::RequestOptions,
1819    ) -> impl std::future::Future<
1820        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
1821    > + Send {
1822        std::future::ready::<
1823            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
1824        >(Err(Error::other("unimplemented")))
1825    }
1826
1827    /// Implements [super::client::FeatureRegistryService::get_location].
1828    fn get_location(
1829        &self,
1830        _req: location::model::GetLocationRequest,
1831        _options: gax::options::RequestOptions,
1832    ) -> impl std::future::Future<
1833        Output = crate::Result<gax::response::Response<location::model::Location>>,
1834    > + Send {
1835        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
1836            Err(Error::other("unimplemented")),
1837        )
1838    }
1839
1840    /// Implements [super::client::FeatureRegistryService::set_iam_policy].
1841    fn set_iam_policy(
1842        &self,
1843        _req: iam_v1::model::SetIamPolicyRequest,
1844        _options: gax::options::RequestOptions,
1845    ) -> impl std::future::Future<
1846        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
1847    > + Send {
1848        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
1849            Error::other("unimplemented"),
1850        ))
1851    }
1852
1853    /// Implements [super::client::FeatureRegistryService::get_iam_policy].
1854    fn get_iam_policy(
1855        &self,
1856        _req: iam_v1::model::GetIamPolicyRequest,
1857        _options: gax::options::RequestOptions,
1858    ) -> impl std::future::Future<
1859        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
1860    > + Send {
1861        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
1862            Error::other("unimplemented"),
1863        ))
1864    }
1865
1866    /// Implements [super::client::FeatureRegistryService::test_iam_permissions].
1867    fn test_iam_permissions(
1868        &self,
1869        _req: iam_v1::model::TestIamPermissionsRequest,
1870        _options: gax::options::RequestOptions,
1871    ) -> impl std::future::Future<
1872        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
1873    > + Send {
1874        std::future::ready::<
1875            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
1876        >(Err(Error::other("unimplemented")))
1877    }
1878
1879    /// Implements [super::client::FeatureRegistryService::list_operations].
1880    fn list_operations(
1881        &self,
1882        _req: longrunning::model::ListOperationsRequest,
1883        _options: gax::options::RequestOptions,
1884    ) -> impl std::future::Future<
1885        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
1886    > + Send {
1887        std::future::ready::<
1888            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
1889        >(Err(Error::other("unimplemented")))
1890    }
1891
1892    /// Implements [super::client::FeatureRegistryService::get_operation].
1893    fn get_operation(
1894        &self,
1895        _req: longrunning::model::GetOperationRequest,
1896        _options: gax::options::RequestOptions,
1897    ) -> impl std::future::Future<
1898        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1899    > + Send {
1900        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
1901            Err(Error::other("unimplemented")),
1902        )
1903    }
1904
1905    /// Implements [super::client::FeatureRegistryService::delete_operation].
1906    fn delete_operation(
1907        &self,
1908        _req: longrunning::model::DeleteOperationRequest,
1909        _options: gax::options::RequestOptions,
1910    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
1911        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
1912            "unimplemented",
1913        )))
1914    }
1915
1916    /// Implements [super::client::FeatureRegistryService::cancel_operation].
1917    fn cancel_operation(
1918        &self,
1919        _req: longrunning::model::CancelOperationRequest,
1920        _options: gax::options::RequestOptions,
1921    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
1922        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
1923            "unimplemented",
1924        )))
1925    }
1926
1927    /// Implements [super::client::FeatureRegistryService::wait_operation].
1928    fn wait_operation(
1929        &self,
1930        _req: longrunning::model::WaitOperationRequest,
1931        _options: gax::options::RequestOptions,
1932    ) -> impl std::future::Future<
1933        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1934    > + Send {
1935        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
1936            Err(Error::other("unimplemented")),
1937        )
1938    }
1939
1940    /// Returns the polling error policy.
1941    ///
1942    /// When mocking, this method is typically irrelevant. Do not try to verify
1943    /// it is called by your mocks.
1944    fn get_polling_error_policy(
1945        &self,
1946        _options: &gax::options::RequestOptions,
1947    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
1948        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
1949    }
1950
1951    /// Returns the polling backoff policy.
1952    ///
1953    /// When mocking, this method is typically irrelevant. Do not try to verify
1954    /// it is called by your mocks.
1955    fn get_polling_backoff_policy(
1956        &self,
1957        _options: &gax::options::RequestOptions,
1958    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
1959        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
1960    }
1961}
1962
1963/// Defines the trait used to implement [super::client::FeaturestoreOnlineServingService].
1964///
1965/// Application developers may need to implement this trait to mock
1966/// `client::FeaturestoreOnlineServingService`.  In other use-cases, application developers only
1967/// use `client::FeaturestoreOnlineServingService` and need not be concerned with this trait or
1968/// its implementations.
1969///
1970/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1971/// too. To avoid breaking applications the trait provides a default
1972/// implementation of each method. Most of these implementations just return an
1973/// error.
1974#[cfg(feature = "featurestore-online-serving-service")]
1975#[cfg_attr(docsrs, doc(cfg(feature = "featurestore-online-serving-service")))]
1976pub trait FeaturestoreOnlineServingService: std::fmt::Debug + Send + Sync {
1977    /// Implements [super::client::FeaturestoreOnlineServingService::read_feature_values].
1978    fn read_feature_values(
1979        &self,
1980        _req: crate::model::ReadFeatureValuesRequest,
1981        _options: gax::options::RequestOptions,
1982    ) -> impl std::future::Future<
1983        Output = crate::Result<gax::response::Response<crate::model::ReadFeatureValuesResponse>>,
1984    > + Send {
1985        std::future::ready::<
1986            crate::Result<gax::response::Response<crate::model::ReadFeatureValuesResponse>>,
1987        >(Err(Error::other("unimplemented")))
1988    }
1989
1990    /// Implements [super::client::FeaturestoreOnlineServingService::write_feature_values].
1991    fn write_feature_values(
1992        &self,
1993        _req: crate::model::WriteFeatureValuesRequest,
1994        _options: gax::options::RequestOptions,
1995    ) -> impl std::future::Future<
1996        Output = crate::Result<gax::response::Response<crate::model::WriteFeatureValuesResponse>>,
1997    > + Send {
1998        std::future::ready::<
1999            crate::Result<gax::response::Response<crate::model::WriteFeatureValuesResponse>>,
2000        >(Err(Error::other("unimplemented")))
2001    }
2002
2003    /// Implements [super::client::FeaturestoreOnlineServingService::list_locations].
2004    fn list_locations(
2005        &self,
2006        _req: location::model::ListLocationsRequest,
2007        _options: gax::options::RequestOptions,
2008    ) -> impl std::future::Future<
2009        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
2010    > + Send {
2011        std::future::ready::<
2012            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
2013        >(Err(Error::other("unimplemented")))
2014    }
2015
2016    /// Implements [super::client::FeaturestoreOnlineServingService::get_location].
2017    fn get_location(
2018        &self,
2019        _req: location::model::GetLocationRequest,
2020        _options: gax::options::RequestOptions,
2021    ) -> impl std::future::Future<
2022        Output = crate::Result<gax::response::Response<location::model::Location>>,
2023    > + Send {
2024        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
2025            Err(Error::other("unimplemented")),
2026        )
2027    }
2028
2029    /// Implements [super::client::FeaturestoreOnlineServingService::set_iam_policy].
2030    fn set_iam_policy(
2031        &self,
2032        _req: iam_v1::model::SetIamPolicyRequest,
2033        _options: gax::options::RequestOptions,
2034    ) -> impl std::future::Future<
2035        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
2036    > + Send {
2037        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
2038            Error::other("unimplemented"),
2039        ))
2040    }
2041
2042    /// Implements [super::client::FeaturestoreOnlineServingService::get_iam_policy].
2043    fn get_iam_policy(
2044        &self,
2045        _req: iam_v1::model::GetIamPolicyRequest,
2046        _options: gax::options::RequestOptions,
2047    ) -> impl std::future::Future<
2048        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
2049    > + Send {
2050        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
2051            Error::other("unimplemented"),
2052        ))
2053    }
2054
2055    /// Implements [super::client::FeaturestoreOnlineServingService::test_iam_permissions].
2056    fn test_iam_permissions(
2057        &self,
2058        _req: iam_v1::model::TestIamPermissionsRequest,
2059        _options: gax::options::RequestOptions,
2060    ) -> impl std::future::Future<
2061        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
2062    > + Send {
2063        std::future::ready::<
2064            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
2065        >(Err(Error::other("unimplemented")))
2066    }
2067
2068    /// Implements [super::client::FeaturestoreOnlineServingService::list_operations].
2069    fn list_operations(
2070        &self,
2071        _req: longrunning::model::ListOperationsRequest,
2072        _options: gax::options::RequestOptions,
2073    ) -> impl std::future::Future<
2074        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
2075    > + Send {
2076        std::future::ready::<
2077            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
2078        >(Err(Error::other("unimplemented")))
2079    }
2080
2081    /// Implements [super::client::FeaturestoreOnlineServingService::get_operation].
2082    fn get_operation(
2083        &self,
2084        _req: longrunning::model::GetOperationRequest,
2085        _options: gax::options::RequestOptions,
2086    ) -> impl std::future::Future<
2087        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2088    > + Send {
2089        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
2090            Err(Error::other("unimplemented")),
2091        )
2092    }
2093
2094    /// Implements [super::client::FeaturestoreOnlineServingService::delete_operation].
2095    fn delete_operation(
2096        &self,
2097        _req: longrunning::model::DeleteOperationRequest,
2098        _options: gax::options::RequestOptions,
2099    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
2100        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
2101            "unimplemented",
2102        )))
2103    }
2104
2105    /// Implements [super::client::FeaturestoreOnlineServingService::cancel_operation].
2106    fn cancel_operation(
2107        &self,
2108        _req: longrunning::model::CancelOperationRequest,
2109        _options: gax::options::RequestOptions,
2110    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
2111        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
2112            "unimplemented",
2113        )))
2114    }
2115
2116    /// Implements [super::client::FeaturestoreOnlineServingService::wait_operation].
2117    fn wait_operation(
2118        &self,
2119        _req: longrunning::model::WaitOperationRequest,
2120        _options: gax::options::RequestOptions,
2121    ) -> impl std::future::Future<
2122        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2123    > + Send {
2124        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
2125            Err(Error::other("unimplemented")),
2126        )
2127    }
2128}
2129
2130/// Defines the trait used to implement [super::client::FeaturestoreService].
2131///
2132/// Application developers may need to implement this trait to mock
2133/// `client::FeaturestoreService`.  In other use-cases, application developers only
2134/// use `client::FeaturestoreService` and need not be concerned with this trait or
2135/// its implementations.
2136///
2137/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2138/// too. To avoid breaking applications the trait provides a default
2139/// implementation of each method. Most of these implementations just return an
2140/// error.
2141#[cfg(feature = "featurestore-service")]
2142#[cfg_attr(docsrs, doc(cfg(feature = "featurestore-service")))]
2143pub trait FeaturestoreService: std::fmt::Debug + Send + Sync {
2144    /// Implements [super::client::FeaturestoreService::create_featurestore].
2145    fn create_featurestore(
2146        &self,
2147        _req: crate::model::CreateFeaturestoreRequest,
2148        _options: gax::options::RequestOptions,
2149    ) -> impl std::future::Future<
2150        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2151    > + Send {
2152        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
2153            Err(Error::other("unimplemented")),
2154        )
2155    }
2156
2157    /// Implements [super::client::FeaturestoreService::get_featurestore].
2158    fn get_featurestore(
2159        &self,
2160        _req: crate::model::GetFeaturestoreRequest,
2161        _options: gax::options::RequestOptions,
2162    ) -> impl std::future::Future<
2163        Output = crate::Result<gax::response::Response<crate::model::Featurestore>>,
2164    > + Send {
2165        std::future::ready::<crate::Result<gax::response::Response<crate::model::Featurestore>>>(
2166            Err(Error::other("unimplemented")),
2167        )
2168    }
2169
2170    /// Implements [super::client::FeaturestoreService::list_featurestores].
2171    fn list_featurestores(
2172        &self,
2173        _req: crate::model::ListFeaturestoresRequest,
2174        _options: gax::options::RequestOptions,
2175    ) -> impl std::future::Future<
2176        Output = crate::Result<gax::response::Response<crate::model::ListFeaturestoresResponse>>,
2177    > + Send {
2178        std::future::ready::<
2179            crate::Result<gax::response::Response<crate::model::ListFeaturestoresResponse>>,
2180        >(Err(Error::other("unimplemented")))
2181    }
2182
2183    /// Implements [super::client::FeaturestoreService::update_featurestore].
2184    fn update_featurestore(
2185        &self,
2186        _req: crate::model::UpdateFeaturestoreRequest,
2187        _options: gax::options::RequestOptions,
2188    ) -> impl std::future::Future<
2189        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2190    > + Send {
2191        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
2192            Err(Error::other("unimplemented")),
2193        )
2194    }
2195
2196    /// Implements [super::client::FeaturestoreService::delete_featurestore].
2197    fn delete_featurestore(
2198        &self,
2199        _req: crate::model::DeleteFeaturestoreRequest,
2200        _options: gax::options::RequestOptions,
2201    ) -> impl std::future::Future<
2202        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2203    > + Send {
2204        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
2205            Err(Error::other("unimplemented")),
2206        )
2207    }
2208
2209    /// Implements [super::client::FeaturestoreService::create_entity_type].
2210    fn create_entity_type(
2211        &self,
2212        _req: crate::model::CreateEntityTypeRequest,
2213        _options: gax::options::RequestOptions,
2214    ) -> impl std::future::Future<
2215        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2216    > + Send {
2217        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
2218            Err(Error::other("unimplemented")),
2219        )
2220    }
2221
2222    /// Implements [super::client::FeaturestoreService::get_entity_type].
2223    fn get_entity_type(
2224        &self,
2225        _req: crate::model::GetEntityTypeRequest,
2226        _options: gax::options::RequestOptions,
2227    ) -> impl std::future::Future<
2228        Output = crate::Result<gax::response::Response<crate::model::EntityType>>,
2229    > + Send {
2230        std::future::ready::<crate::Result<gax::response::Response<crate::model::EntityType>>>(Err(
2231            Error::other("unimplemented"),
2232        ))
2233    }
2234
2235    /// Implements [super::client::FeaturestoreService::list_entity_types].
2236    fn list_entity_types(
2237        &self,
2238        _req: crate::model::ListEntityTypesRequest,
2239        _options: gax::options::RequestOptions,
2240    ) -> impl std::future::Future<
2241        Output = crate::Result<gax::response::Response<crate::model::ListEntityTypesResponse>>,
2242    > + Send {
2243        std::future::ready::<
2244            crate::Result<gax::response::Response<crate::model::ListEntityTypesResponse>>,
2245        >(Err(Error::other("unimplemented")))
2246    }
2247
2248    /// Implements [super::client::FeaturestoreService::update_entity_type].
2249    fn update_entity_type(
2250        &self,
2251        _req: crate::model::UpdateEntityTypeRequest,
2252        _options: gax::options::RequestOptions,
2253    ) -> impl std::future::Future<
2254        Output = crate::Result<gax::response::Response<crate::model::EntityType>>,
2255    > + Send {
2256        std::future::ready::<crate::Result<gax::response::Response<crate::model::EntityType>>>(Err(
2257            Error::other("unimplemented"),
2258        ))
2259    }
2260
2261    /// Implements [super::client::FeaturestoreService::delete_entity_type].
2262    fn delete_entity_type(
2263        &self,
2264        _req: crate::model::DeleteEntityTypeRequest,
2265        _options: gax::options::RequestOptions,
2266    ) -> impl std::future::Future<
2267        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2268    > + Send {
2269        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
2270            Err(Error::other("unimplemented")),
2271        )
2272    }
2273
2274    /// Implements [super::client::FeaturestoreService::create_feature].
2275    fn create_feature(
2276        &self,
2277        _req: crate::model::CreateFeatureRequest,
2278        _options: gax::options::RequestOptions,
2279    ) -> impl std::future::Future<
2280        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2281    > + Send {
2282        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
2283            Err(Error::other("unimplemented")),
2284        )
2285    }
2286
2287    /// Implements [super::client::FeaturestoreService::batch_create_features].
2288    fn batch_create_features(
2289        &self,
2290        _req: crate::model::BatchCreateFeaturesRequest,
2291        _options: gax::options::RequestOptions,
2292    ) -> impl std::future::Future<
2293        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2294    > + Send {
2295        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
2296            Err(Error::other("unimplemented")),
2297        )
2298    }
2299
2300    /// Implements [super::client::FeaturestoreService::get_feature].
2301    fn get_feature(
2302        &self,
2303        _req: crate::model::GetFeatureRequest,
2304        _options: gax::options::RequestOptions,
2305    ) -> impl std::future::Future<
2306        Output = crate::Result<gax::response::Response<crate::model::Feature>>,
2307    > + Send {
2308        std::future::ready::<crate::Result<gax::response::Response<crate::model::Feature>>>(Err(
2309            Error::other("unimplemented"),
2310        ))
2311    }
2312
2313    /// Implements [super::client::FeaturestoreService::list_features].
2314    fn list_features(
2315        &self,
2316        _req: crate::model::ListFeaturesRequest,
2317        _options: gax::options::RequestOptions,
2318    ) -> impl std::future::Future<
2319        Output = crate::Result<gax::response::Response<crate::model::ListFeaturesResponse>>,
2320    > + Send {
2321        std::future::ready::<
2322            crate::Result<gax::response::Response<crate::model::ListFeaturesResponse>>,
2323        >(Err(Error::other("unimplemented")))
2324    }
2325
2326    /// Implements [super::client::FeaturestoreService::update_feature].
2327    fn update_feature(
2328        &self,
2329        _req: crate::model::UpdateFeatureRequest,
2330        _options: gax::options::RequestOptions,
2331    ) -> impl std::future::Future<
2332        Output = crate::Result<gax::response::Response<crate::model::Feature>>,
2333    > + Send {
2334        std::future::ready::<crate::Result<gax::response::Response<crate::model::Feature>>>(Err(
2335            Error::other("unimplemented"),
2336        ))
2337    }
2338
2339    /// Implements [super::client::FeaturestoreService::delete_feature].
2340    fn delete_feature(
2341        &self,
2342        _req: crate::model::DeleteFeatureRequest,
2343        _options: gax::options::RequestOptions,
2344    ) -> impl std::future::Future<
2345        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2346    > + Send {
2347        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
2348            Err(Error::other("unimplemented")),
2349        )
2350    }
2351
2352    /// Implements [super::client::FeaturestoreService::import_feature_values].
2353    fn import_feature_values(
2354        &self,
2355        _req: crate::model::ImportFeatureValuesRequest,
2356        _options: gax::options::RequestOptions,
2357    ) -> impl std::future::Future<
2358        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2359    > + Send {
2360        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
2361            Err(Error::other("unimplemented")),
2362        )
2363    }
2364
2365    /// Implements [super::client::FeaturestoreService::batch_read_feature_values].
2366    fn batch_read_feature_values(
2367        &self,
2368        _req: crate::model::BatchReadFeatureValuesRequest,
2369        _options: gax::options::RequestOptions,
2370    ) -> impl std::future::Future<
2371        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2372    > + Send {
2373        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
2374            Err(Error::other("unimplemented")),
2375        )
2376    }
2377
2378    /// Implements [super::client::FeaturestoreService::export_feature_values].
2379    fn export_feature_values(
2380        &self,
2381        _req: crate::model::ExportFeatureValuesRequest,
2382        _options: gax::options::RequestOptions,
2383    ) -> impl std::future::Future<
2384        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2385    > + Send {
2386        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
2387            Err(Error::other("unimplemented")),
2388        )
2389    }
2390
2391    /// Implements [super::client::FeaturestoreService::delete_feature_values].
2392    fn delete_feature_values(
2393        &self,
2394        _req: crate::model::DeleteFeatureValuesRequest,
2395        _options: gax::options::RequestOptions,
2396    ) -> impl std::future::Future<
2397        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2398    > + Send {
2399        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
2400            Err(Error::other("unimplemented")),
2401        )
2402    }
2403
2404    /// Implements [super::client::FeaturestoreService::search_features].
2405    fn search_features(
2406        &self,
2407        _req: crate::model::SearchFeaturesRequest,
2408        _options: gax::options::RequestOptions,
2409    ) -> impl std::future::Future<
2410        Output = crate::Result<gax::response::Response<crate::model::SearchFeaturesResponse>>,
2411    > + Send {
2412        std::future::ready::<
2413            crate::Result<gax::response::Response<crate::model::SearchFeaturesResponse>>,
2414        >(Err(Error::other("unimplemented")))
2415    }
2416
2417    /// Implements [super::client::FeaturestoreService::list_locations].
2418    fn list_locations(
2419        &self,
2420        _req: location::model::ListLocationsRequest,
2421        _options: gax::options::RequestOptions,
2422    ) -> impl std::future::Future<
2423        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
2424    > + Send {
2425        std::future::ready::<
2426            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
2427        >(Err(Error::other("unimplemented")))
2428    }
2429
2430    /// Implements [super::client::FeaturestoreService::get_location].
2431    fn get_location(
2432        &self,
2433        _req: location::model::GetLocationRequest,
2434        _options: gax::options::RequestOptions,
2435    ) -> impl std::future::Future<
2436        Output = crate::Result<gax::response::Response<location::model::Location>>,
2437    > + Send {
2438        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
2439            Err(Error::other("unimplemented")),
2440        )
2441    }
2442
2443    /// Implements [super::client::FeaturestoreService::set_iam_policy].
2444    fn set_iam_policy(
2445        &self,
2446        _req: iam_v1::model::SetIamPolicyRequest,
2447        _options: gax::options::RequestOptions,
2448    ) -> impl std::future::Future<
2449        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
2450    > + Send {
2451        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
2452            Error::other("unimplemented"),
2453        ))
2454    }
2455
2456    /// Implements [super::client::FeaturestoreService::get_iam_policy].
2457    fn get_iam_policy(
2458        &self,
2459        _req: iam_v1::model::GetIamPolicyRequest,
2460        _options: gax::options::RequestOptions,
2461    ) -> impl std::future::Future<
2462        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
2463    > + Send {
2464        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
2465            Error::other("unimplemented"),
2466        ))
2467    }
2468
2469    /// Implements [super::client::FeaturestoreService::test_iam_permissions].
2470    fn test_iam_permissions(
2471        &self,
2472        _req: iam_v1::model::TestIamPermissionsRequest,
2473        _options: gax::options::RequestOptions,
2474    ) -> impl std::future::Future<
2475        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
2476    > + Send {
2477        std::future::ready::<
2478            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
2479        >(Err(Error::other("unimplemented")))
2480    }
2481
2482    /// Implements [super::client::FeaturestoreService::list_operations].
2483    fn list_operations(
2484        &self,
2485        _req: longrunning::model::ListOperationsRequest,
2486        _options: gax::options::RequestOptions,
2487    ) -> impl std::future::Future<
2488        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
2489    > + Send {
2490        std::future::ready::<
2491            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
2492        >(Err(Error::other("unimplemented")))
2493    }
2494
2495    /// Implements [super::client::FeaturestoreService::get_operation].
2496    fn get_operation(
2497        &self,
2498        _req: longrunning::model::GetOperationRequest,
2499        _options: gax::options::RequestOptions,
2500    ) -> impl std::future::Future<
2501        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2502    > + Send {
2503        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
2504            Err(Error::other("unimplemented")),
2505        )
2506    }
2507
2508    /// Implements [super::client::FeaturestoreService::delete_operation].
2509    fn delete_operation(
2510        &self,
2511        _req: longrunning::model::DeleteOperationRequest,
2512        _options: gax::options::RequestOptions,
2513    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
2514        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
2515            "unimplemented",
2516        )))
2517    }
2518
2519    /// Implements [super::client::FeaturestoreService::cancel_operation].
2520    fn cancel_operation(
2521        &self,
2522        _req: longrunning::model::CancelOperationRequest,
2523        _options: gax::options::RequestOptions,
2524    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
2525        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
2526            "unimplemented",
2527        )))
2528    }
2529
2530    /// Implements [super::client::FeaturestoreService::wait_operation].
2531    fn wait_operation(
2532        &self,
2533        _req: longrunning::model::WaitOperationRequest,
2534        _options: gax::options::RequestOptions,
2535    ) -> impl std::future::Future<
2536        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2537    > + Send {
2538        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
2539            Err(Error::other("unimplemented")),
2540        )
2541    }
2542
2543    /// Returns the polling error policy.
2544    ///
2545    /// When mocking, this method is typically irrelevant. Do not try to verify
2546    /// it is called by your mocks.
2547    fn get_polling_error_policy(
2548        &self,
2549        _options: &gax::options::RequestOptions,
2550    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
2551        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
2552    }
2553
2554    /// Returns the polling backoff policy.
2555    ///
2556    /// When mocking, this method is typically irrelevant. Do not try to verify
2557    /// it is called by your mocks.
2558    fn get_polling_backoff_policy(
2559        &self,
2560        _options: &gax::options::RequestOptions,
2561    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
2562        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
2563    }
2564}
2565
2566/// Defines the trait used to implement [super::client::GenAiCacheService].
2567///
2568/// Application developers may need to implement this trait to mock
2569/// `client::GenAiCacheService`.  In other use-cases, application developers only
2570/// use `client::GenAiCacheService` and need not be concerned with this trait or
2571/// its implementations.
2572///
2573/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2574/// too. To avoid breaking applications the trait provides a default
2575/// implementation of each method. Most of these implementations just return an
2576/// error.
2577#[cfg(feature = "gen-ai-cache-service")]
2578#[cfg_attr(docsrs, doc(cfg(feature = "gen-ai-cache-service")))]
2579pub trait GenAiCacheService: std::fmt::Debug + Send + Sync {
2580    /// Implements [super::client::GenAiCacheService::create_cached_content].
2581    fn create_cached_content(
2582        &self,
2583        _req: crate::model::CreateCachedContentRequest,
2584        _options: gax::options::RequestOptions,
2585    ) -> impl std::future::Future<
2586        Output = crate::Result<gax::response::Response<crate::model::CachedContent>>,
2587    > + Send {
2588        std::future::ready::<crate::Result<gax::response::Response<crate::model::CachedContent>>>(
2589            Err(Error::other("unimplemented")),
2590        )
2591    }
2592
2593    /// Implements [super::client::GenAiCacheService::get_cached_content].
2594    fn get_cached_content(
2595        &self,
2596        _req: crate::model::GetCachedContentRequest,
2597        _options: gax::options::RequestOptions,
2598    ) -> impl std::future::Future<
2599        Output = crate::Result<gax::response::Response<crate::model::CachedContent>>,
2600    > + Send {
2601        std::future::ready::<crate::Result<gax::response::Response<crate::model::CachedContent>>>(
2602            Err(Error::other("unimplemented")),
2603        )
2604    }
2605
2606    /// Implements [super::client::GenAiCacheService::update_cached_content].
2607    fn update_cached_content(
2608        &self,
2609        _req: crate::model::UpdateCachedContentRequest,
2610        _options: gax::options::RequestOptions,
2611    ) -> impl std::future::Future<
2612        Output = crate::Result<gax::response::Response<crate::model::CachedContent>>,
2613    > + Send {
2614        std::future::ready::<crate::Result<gax::response::Response<crate::model::CachedContent>>>(
2615            Err(Error::other("unimplemented")),
2616        )
2617    }
2618
2619    /// Implements [super::client::GenAiCacheService::delete_cached_content].
2620    fn delete_cached_content(
2621        &self,
2622        _req: crate::model::DeleteCachedContentRequest,
2623        _options: gax::options::RequestOptions,
2624    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
2625        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
2626            "unimplemented",
2627        )))
2628    }
2629
2630    /// Implements [super::client::GenAiCacheService::list_cached_contents].
2631    fn list_cached_contents(
2632        &self,
2633        _req: crate::model::ListCachedContentsRequest,
2634        _options: gax::options::RequestOptions,
2635    ) -> impl std::future::Future<
2636        Output = crate::Result<gax::response::Response<crate::model::ListCachedContentsResponse>>,
2637    > + Send {
2638        std::future::ready::<
2639            crate::Result<gax::response::Response<crate::model::ListCachedContentsResponse>>,
2640        >(Err(Error::other("unimplemented")))
2641    }
2642
2643    /// Implements [super::client::GenAiCacheService::list_locations].
2644    fn list_locations(
2645        &self,
2646        _req: location::model::ListLocationsRequest,
2647        _options: gax::options::RequestOptions,
2648    ) -> impl std::future::Future<
2649        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
2650    > + Send {
2651        std::future::ready::<
2652            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
2653        >(Err(Error::other("unimplemented")))
2654    }
2655
2656    /// Implements [super::client::GenAiCacheService::get_location].
2657    fn get_location(
2658        &self,
2659        _req: location::model::GetLocationRequest,
2660        _options: gax::options::RequestOptions,
2661    ) -> impl std::future::Future<
2662        Output = crate::Result<gax::response::Response<location::model::Location>>,
2663    > + Send {
2664        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
2665            Err(Error::other("unimplemented")),
2666        )
2667    }
2668
2669    /// Implements [super::client::GenAiCacheService::set_iam_policy].
2670    fn set_iam_policy(
2671        &self,
2672        _req: iam_v1::model::SetIamPolicyRequest,
2673        _options: gax::options::RequestOptions,
2674    ) -> impl std::future::Future<
2675        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
2676    > + Send {
2677        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
2678            Error::other("unimplemented"),
2679        ))
2680    }
2681
2682    /// Implements [super::client::GenAiCacheService::get_iam_policy].
2683    fn get_iam_policy(
2684        &self,
2685        _req: iam_v1::model::GetIamPolicyRequest,
2686        _options: gax::options::RequestOptions,
2687    ) -> impl std::future::Future<
2688        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
2689    > + Send {
2690        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
2691            Error::other("unimplemented"),
2692        ))
2693    }
2694
2695    /// Implements [super::client::GenAiCacheService::test_iam_permissions].
2696    fn test_iam_permissions(
2697        &self,
2698        _req: iam_v1::model::TestIamPermissionsRequest,
2699        _options: gax::options::RequestOptions,
2700    ) -> impl std::future::Future<
2701        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
2702    > + Send {
2703        std::future::ready::<
2704            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
2705        >(Err(Error::other("unimplemented")))
2706    }
2707
2708    /// Implements [super::client::GenAiCacheService::list_operations].
2709    fn list_operations(
2710        &self,
2711        _req: longrunning::model::ListOperationsRequest,
2712        _options: gax::options::RequestOptions,
2713    ) -> impl std::future::Future<
2714        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
2715    > + Send {
2716        std::future::ready::<
2717            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
2718        >(Err(Error::other("unimplemented")))
2719    }
2720
2721    /// Implements [super::client::GenAiCacheService::get_operation].
2722    fn get_operation(
2723        &self,
2724        _req: longrunning::model::GetOperationRequest,
2725        _options: gax::options::RequestOptions,
2726    ) -> impl std::future::Future<
2727        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2728    > + Send {
2729        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
2730            Err(Error::other("unimplemented")),
2731        )
2732    }
2733
2734    /// Implements [super::client::GenAiCacheService::delete_operation].
2735    fn delete_operation(
2736        &self,
2737        _req: longrunning::model::DeleteOperationRequest,
2738        _options: gax::options::RequestOptions,
2739    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
2740        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
2741            "unimplemented",
2742        )))
2743    }
2744
2745    /// Implements [super::client::GenAiCacheService::cancel_operation].
2746    fn cancel_operation(
2747        &self,
2748        _req: longrunning::model::CancelOperationRequest,
2749        _options: gax::options::RequestOptions,
2750    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
2751        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
2752            "unimplemented",
2753        )))
2754    }
2755
2756    /// Implements [super::client::GenAiCacheService::wait_operation].
2757    fn wait_operation(
2758        &self,
2759        _req: longrunning::model::WaitOperationRequest,
2760        _options: gax::options::RequestOptions,
2761    ) -> impl std::future::Future<
2762        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2763    > + Send {
2764        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
2765            Err(Error::other("unimplemented")),
2766        )
2767    }
2768}
2769
2770/// Defines the trait used to implement [super::client::GenAiTuningService].
2771///
2772/// Application developers may need to implement this trait to mock
2773/// `client::GenAiTuningService`.  In other use-cases, application developers only
2774/// use `client::GenAiTuningService` and need not be concerned with this trait or
2775/// its implementations.
2776///
2777/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2778/// too. To avoid breaking applications the trait provides a default
2779/// implementation of each method. Most of these implementations just return an
2780/// error.
2781#[cfg(feature = "gen-ai-tuning-service")]
2782#[cfg_attr(docsrs, doc(cfg(feature = "gen-ai-tuning-service")))]
2783pub trait GenAiTuningService: std::fmt::Debug + Send + Sync {
2784    /// Implements [super::client::GenAiTuningService::create_tuning_job].
2785    fn create_tuning_job(
2786        &self,
2787        _req: crate::model::CreateTuningJobRequest,
2788        _options: gax::options::RequestOptions,
2789    ) -> impl std::future::Future<
2790        Output = crate::Result<gax::response::Response<crate::model::TuningJob>>,
2791    > + Send {
2792        std::future::ready::<crate::Result<gax::response::Response<crate::model::TuningJob>>>(Err(
2793            Error::other("unimplemented"),
2794        ))
2795    }
2796
2797    /// Implements [super::client::GenAiTuningService::get_tuning_job].
2798    fn get_tuning_job(
2799        &self,
2800        _req: crate::model::GetTuningJobRequest,
2801        _options: gax::options::RequestOptions,
2802    ) -> impl std::future::Future<
2803        Output = crate::Result<gax::response::Response<crate::model::TuningJob>>,
2804    > + Send {
2805        std::future::ready::<crate::Result<gax::response::Response<crate::model::TuningJob>>>(Err(
2806            Error::other("unimplemented"),
2807        ))
2808    }
2809
2810    /// Implements [super::client::GenAiTuningService::list_tuning_jobs].
2811    fn list_tuning_jobs(
2812        &self,
2813        _req: crate::model::ListTuningJobsRequest,
2814        _options: gax::options::RequestOptions,
2815    ) -> impl std::future::Future<
2816        Output = crate::Result<gax::response::Response<crate::model::ListTuningJobsResponse>>,
2817    > + Send {
2818        std::future::ready::<
2819            crate::Result<gax::response::Response<crate::model::ListTuningJobsResponse>>,
2820        >(Err(Error::other("unimplemented")))
2821    }
2822
2823    /// Implements [super::client::GenAiTuningService::cancel_tuning_job].
2824    fn cancel_tuning_job(
2825        &self,
2826        _req: crate::model::CancelTuningJobRequest,
2827        _options: gax::options::RequestOptions,
2828    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
2829        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
2830            "unimplemented",
2831        )))
2832    }
2833
2834    /// Implements [super::client::GenAiTuningService::rebase_tuned_model].
2835    fn rebase_tuned_model(
2836        &self,
2837        _req: crate::model::RebaseTunedModelRequest,
2838        _options: gax::options::RequestOptions,
2839    ) -> impl std::future::Future<
2840        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2841    > + Send {
2842        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
2843            Err(Error::other("unimplemented")),
2844        )
2845    }
2846
2847    /// Implements [super::client::GenAiTuningService::list_locations].
2848    fn list_locations(
2849        &self,
2850        _req: location::model::ListLocationsRequest,
2851        _options: gax::options::RequestOptions,
2852    ) -> impl std::future::Future<
2853        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
2854    > + Send {
2855        std::future::ready::<
2856            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
2857        >(Err(Error::other("unimplemented")))
2858    }
2859
2860    /// Implements [super::client::GenAiTuningService::get_location].
2861    fn get_location(
2862        &self,
2863        _req: location::model::GetLocationRequest,
2864        _options: gax::options::RequestOptions,
2865    ) -> impl std::future::Future<
2866        Output = crate::Result<gax::response::Response<location::model::Location>>,
2867    > + Send {
2868        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
2869            Err(Error::other("unimplemented")),
2870        )
2871    }
2872
2873    /// Implements [super::client::GenAiTuningService::set_iam_policy].
2874    fn set_iam_policy(
2875        &self,
2876        _req: iam_v1::model::SetIamPolicyRequest,
2877        _options: gax::options::RequestOptions,
2878    ) -> impl std::future::Future<
2879        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
2880    > + Send {
2881        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
2882            Error::other("unimplemented"),
2883        ))
2884    }
2885
2886    /// Implements [super::client::GenAiTuningService::get_iam_policy].
2887    fn get_iam_policy(
2888        &self,
2889        _req: iam_v1::model::GetIamPolicyRequest,
2890        _options: gax::options::RequestOptions,
2891    ) -> impl std::future::Future<
2892        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
2893    > + Send {
2894        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
2895            Error::other("unimplemented"),
2896        ))
2897    }
2898
2899    /// Implements [super::client::GenAiTuningService::test_iam_permissions].
2900    fn test_iam_permissions(
2901        &self,
2902        _req: iam_v1::model::TestIamPermissionsRequest,
2903        _options: gax::options::RequestOptions,
2904    ) -> impl std::future::Future<
2905        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
2906    > + Send {
2907        std::future::ready::<
2908            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
2909        >(Err(Error::other("unimplemented")))
2910    }
2911
2912    /// Implements [super::client::GenAiTuningService::list_operations].
2913    fn list_operations(
2914        &self,
2915        _req: longrunning::model::ListOperationsRequest,
2916        _options: gax::options::RequestOptions,
2917    ) -> impl std::future::Future<
2918        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
2919    > + Send {
2920        std::future::ready::<
2921            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
2922        >(Err(Error::other("unimplemented")))
2923    }
2924
2925    /// Implements [super::client::GenAiTuningService::get_operation].
2926    fn get_operation(
2927        &self,
2928        _req: longrunning::model::GetOperationRequest,
2929        _options: gax::options::RequestOptions,
2930    ) -> impl std::future::Future<
2931        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2932    > + Send {
2933        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
2934            Err(Error::other("unimplemented")),
2935        )
2936    }
2937
2938    /// Implements [super::client::GenAiTuningService::delete_operation].
2939    fn delete_operation(
2940        &self,
2941        _req: longrunning::model::DeleteOperationRequest,
2942        _options: gax::options::RequestOptions,
2943    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
2944        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
2945            "unimplemented",
2946        )))
2947    }
2948
2949    /// Implements [super::client::GenAiTuningService::cancel_operation].
2950    fn cancel_operation(
2951        &self,
2952        _req: longrunning::model::CancelOperationRequest,
2953        _options: gax::options::RequestOptions,
2954    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
2955        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
2956            "unimplemented",
2957        )))
2958    }
2959
2960    /// Implements [super::client::GenAiTuningService::wait_operation].
2961    fn wait_operation(
2962        &self,
2963        _req: longrunning::model::WaitOperationRequest,
2964        _options: gax::options::RequestOptions,
2965    ) -> impl std::future::Future<
2966        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2967    > + Send {
2968        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
2969            Err(Error::other("unimplemented")),
2970        )
2971    }
2972
2973    /// Returns the polling error policy.
2974    ///
2975    /// When mocking, this method is typically irrelevant. Do not try to verify
2976    /// it is called by your mocks.
2977    fn get_polling_error_policy(
2978        &self,
2979        _options: &gax::options::RequestOptions,
2980    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
2981        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
2982    }
2983
2984    /// Returns the polling backoff policy.
2985    ///
2986    /// When mocking, this method is typically irrelevant. Do not try to verify
2987    /// it is called by your mocks.
2988    fn get_polling_backoff_policy(
2989        &self,
2990        _options: &gax::options::RequestOptions,
2991    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
2992        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
2993    }
2994}
2995
2996/// Defines the trait used to implement [super::client::IndexEndpointService].
2997///
2998/// Application developers may need to implement this trait to mock
2999/// `client::IndexEndpointService`.  In other use-cases, application developers only
3000/// use `client::IndexEndpointService` and need not be concerned with this trait or
3001/// its implementations.
3002///
3003/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3004/// too. To avoid breaking applications the trait provides a default
3005/// implementation of each method. Most of these implementations just return an
3006/// error.
3007#[cfg(feature = "index-endpoint-service")]
3008#[cfg_attr(docsrs, doc(cfg(feature = "index-endpoint-service")))]
3009pub trait IndexEndpointService: std::fmt::Debug + Send + Sync {
3010    /// Implements [super::client::IndexEndpointService::create_index_endpoint].
3011    fn create_index_endpoint(
3012        &self,
3013        _req: crate::model::CreateIndexEndpointRequest,
3014        _options: gax::options::RequestOptions,
3015    ) -> impl std::future::Future<
3016        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
3017    > + Send {
3018        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
3019            Err(Error::other("unimplemented")),
3020        )
3021    }
3022
3023    /// Implements [super::client::IndexEndpointService::get_index_endpoint].
3024    fn get_index_endpoint(
3025        &self,
3026        _req: crate::model::GetIndexEndpointRequest,
3027        _options: gax::options::RequestOptions,
3028    ) -> impl std::future::Future<
3029        Output = crate::Result<gax::response::Response<crate::model::IndexEndpoint>>,
3030    > + Send {
3031        std::future::ready::<crate::Result<gax::response::Response<crate::model::IndexEndpoint>>>(
3032            Err(Error::other("unimplemented")),
3033        )
3034    }
3035
3036    /// Implements [super::client::IndexEndpointService::list_index_endpoints].
3037    fn list_index_endpoints(
3038        &self,
3039        _req: crate::model::ListIndexEndpointsRequest,
3040        _options: gax::options::RequestOptions,
3041    ) -> impl std::future::Future<
3042        Output = crate::Result<gax::response::Response<crate::model::ListIndexEndpointsResponse>>,
3043    > + Send {
3044        std::future::ready::<
3045            crate::Result<gax::response::Response<crate::model::ListIndexEndpointsResponse>>,
3046        >(Err(Error::other("unimplemented")))
3047    }
3048
3049    /// Implements [super::client::IndexEndpointService::update_index_endpoint].
3050    fn update_index_endpoint(
3051        &self,
3052        _req: crate::model::UpdateIndexEndpointRequest,
3053        _options: gax::options::RequestOptions,
3054    ) -> impl std::future::Future<
3055        Output = crate::Result<gax::response::Response<crate::model::IndexEndpoint>>,
3056    > + Send {
3057        std::future::ready::<crate::Result<gax::response::Response<crate::model::IndexEndpoint>>>(
3058            Err(Error::other("unimplemented")),
3059        )
3060    }
3061
3062    /// Implements [super::client::IndexEndpointService::delete_index_endpoint].
3063    fn delete_index_endpoint(
3064        &self,
3065        _req: crate::model::DeleteIndexEndpointRequest,
3066        _options: gax::options::RequestOptions,
3067    ) -> impl std::future::Future<
3068        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
3069    > + Send {
3070        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
3071            Err(Error::other("unimplemented")),
3072        )
3073    }
3074
3075    /// Implements [super::client::IndexEndpointService::deploy_index].
3076    fn deploy_index(
3077        &self,
3078        _req: crate::model::DeployIndexRequest,
3079        _options: gax::options::RequestOptions,
3080    ) -> impl std::future::Future<
3081        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
3082    > + Send {
3083        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
3084            Err(Error::other("unimplemented")),
3085        )
3086    }
3087
3088    /// Implements [super::client::IndexEndpointService::undeploy_index].
3089    fn undeploy_index(
3090        &self,
3091        _req: crate::model::UndeployIndexRequest,
3092        _options: gax::options::RequestOptions,
3093    ) -> impl std::future::Future<
3094        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
3095    > + Send {
3096        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
3097            Err(Error::other("unimplemented")),
3098        )
3099    }
3100
3101    /// Implements [super::client::IndexEndpointService::mutate_deployed_index].
3102    fn mutate_deployed_index(
3103        &self,
3104        _req: crate::model::MutateDeployedIndexRequest,
3105        _options: gax::options::RequestOptions,
3106    ) -> impl std::future::Future<
3107        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
3108    > + Send {
3109        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
3110            Err(Error::other("unimplemented")),
3111        )
3112    }
3113
3114    /// Implements [super::client::IndexEndpointService::list_locations].
3115    fn list_locations(
3116        &self,
3117        _req: location::model::ListLocationsRequest,
3118        _options: gax::options::RequestOptions,
3119    ) -> impl std::future::Future<
3120        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
3121    > + Send {
3122        std::future::ready::<
3123            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
3124        >(Err(Error::other("unimplemented")))
3125    }
3126
3127    /// Implements [super::client::IndexEndpointService::get_location].
3128    fn get_location(
3129        &self,
3130        _req: location::model::GetLocationRequest,
3131        _options: gax::options::RequestOptions,
3132    ) -> impl std::future::Future<
3133        Output = crate::Result<gax::response::Response<location::model::Location>>,
3134    > + Send {
3135        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
3136            Err(Error::other("unimplemented")),
3137        )
3138    }
3139
3140    /// Implements [super::client::IndexEndpointService::set_iam_policy].
3141    fn set_iam_policy(
3142        &self,
3143        _req: iam_v1::model::SetIamPolicyRequest,
3144        _options: gax::options::RequestOptions,
3145    ) -> impl std::future::Future<
3146        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
3147    > + Send {
3148        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
3149            Error::other("unimplemented"),
3150        ))
3151    }
3152
3153    /// Implements [super::client::IndexEndpointService::get_iam_policy].
3154    fn get_iam_policy(
3155        &self,
3156        _req: iam_v1::model::GetIamPolicyRequest,
3157        _options: gax::options::RequestOptions,
3158    ) -> impl std::future::Future<
3159        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
3160    > + Send {
3161        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
3162            Error::other("unimplemented"),
3163        ))
3164    }
3165
3166    /// Implements [super::client::IndexEndpointService::test_iam_permissions].
3167    fn test_iam_permissions(
3168        &self,
3169        _req: iam_v1::model::TestIamPermissionsRequest,
3170        _options: gax::options::RequestOptions,
3171    ) -> impl std::future::Future<
3172        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
3173    > + Send {
3174        std::future::ready::<
3175            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
3176        >(Err(Error::other("unimplemented")))
3177    }
3178
3179    /// Implements [super::client::IndexEndpointService::list_operations].
3180    fn list_operations(
3181        &self,
3182        _req: longrunning::model::ListOperationsRequest,
3183        _options: gax::options::RequestOptions,
3184    ) -> impl std::future::Future<
3185        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
3186    > + Send {
3187        std::future::ready::<
3188            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
3189        >(Err(Error::other("unimplemented")))
3190    }
3191
3192    /// Implements [super::client::IndexEndpointService::get_operation].
3193    fn get_operation(
3194        &self,
3195        _req: longrunning::model::GetOperationRequest,
3196        _options: gax::options::RequestOptions,
3197    ) -> impl std::future::Future<
3198        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
3199    > + Send {
3200        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
3201            Err(Error::other("unimplemented")),
3202        )
3203    }
3204
3205    /// Implements [super::client::IndexEndpointService::delete_operation].
3206    fn delete_operation(
3207        &self,
3208        _req: longrunning::model::DeleteOperationRequest,
3209        _options: gax::options::RequestOptions,
3210    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
3211        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
3212            "unimplemented",
3213        )))
3214    }
3215
3216    /// Implements [super::client::IndexEndpointService::cancel_operation].
3217    fn cancel_operation(
3218        &self,
3219        _req: longrunning::model::CancelOperationRequest,
3220        _options: gax::options::RequestOptions,
3221    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
3222        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
3223            "unimplemented",
3224        )))
3225    }
3226
3227    /// Implements [super::client::IndexEndpointService::wait_operation].
3228    fn wait_operation(
3229        &self,
3230        _req: longrunning::model::WaitOperationRequest,
3231        _options: gax::options::RequestOptions,
3232    ) -> impl std::future::Future<
3233        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
3234    > + Send {
3235        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
3236            Err(Error::other("unimplemented")),
3237        )
3238    }
3239
3240    /// Returns the polling error policy.
3241    ///
3242    /// When mocking, this method is typically irrelevant. Do not try to verify
3243    /// it is called by your mocks.
3244    fn get_polling_error_policy(
3245        &self,
3246        _options: &gax::options::RequestOptions,
3247    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
3248        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
3249    }
3250
3251    /// Returns the polling backoff policy.
3252    ///
3253    /// When mocking, this method is typically irrelevant. Do not try to verify
3254    /// it is called by your mocks.
3255    fn get_polling_backoff_policy(
3256        &self,
3257        _options: &gax::options::RequestOptions,
3258    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
3259        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
3260    }
3261}
3262
3263/// Defines the trait used to implement [super::client::IndexService].
3264///
3265/// Application developers may need to implement this trait to mock
3266/// `client::IndexService`.  In other use-cases, application developers only
3267/// use `client::IndexService` and need not be concerned with this trait or
3268/// its implementations.
3269///
3270/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3271/// too. To avoid breaking applications the trait provides a default
3272/// implementation of each method. Most of these implementations just return an
3273/// error.
3274#[cfg(feature = "index-service")]
3275#[cfg_attr(docsrs, doc(cfg(feature = "index-service")))]
3276pub trait IndexService: std::fmt::Debug + Send + Sync {
3277    /// Implements [super::client::IndexService::create_index].
3278    fn create_index(
3279        &self,
3280        _req: crate::model::CreateIndexRequest,
3281        _options: gax::options::RequestOptions,
3282    ) -> impl std::future::Future<
3283        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
3284    > + Send {
3285        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
3286            Err(Error::other("unimplemented")),
3287        )
3288    }
3289
3290    /// Implements [super::client::IndexService::get_index].
3291    fn get_index(
3292        &self,
3293        _req: crate::model::GetIndexRequest,
3294        _options: gax::options::RequestOptions,
3295    ) -> impl std::future::Future<
3296        Output = crate::Result<gax::response::Response<crate::model::Index>>,
3297    > + Send {
3298        std::future::ready::<crate::Result<gax::response::Response<crate::model::Index>>>(Err(
3299            Error::other("unimplemented"),
3300        ))
3301    }
3302
3303    /// Implements [super::client::IndexService::list_indexes].
3304    fn list_indexes(
3305        &self,
3306        _req: crate::model::ListIndexesRequest,
3307        _options: gax::options::RequestOptions,
3308    ) -> impl std::future::Future<
3309        Output = crate::Result<gax::response::Response<crate::model::ListIndexesResponse>>,
3310    > + Send {
3311        std::future::ready::<
3312            crate::Result<gax::response::Response<crate::model::ListIndexesResponse>>,
3313        >(Err(Error::other("unimplemented")))
3314    }
3315
3316    /// Implements [super::client::IndexService::update_index].
3317    fn update_index(
3318        &self,
3319        _req: crate::model::UpdateIndexRequest,
3320        _options: gax::options::RequestOptions,
3321    ) -> impl std::future::Future<
3322        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
3323    > + Send {
3324        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
3325            Err(Error::other("unimplemented")),
3326        )
3327    }
3328
3329    /// Implements [super::client::IndexService::delete_index].
3330    fn delete_index(
3331        &self,
3332        _req: crate::model::DeleteIndexRequest,
3333        _options: gax::options::RequestOptions,
3334    ) -> impl std::future::Future<
3335        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
3336    > + Send {
3337        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
3338            Err(Error::other("unimplemented")),
3339        )
3340    }
3341
3342    /// Implements [super::client::IndexService::upsert_datapoints].
3343    fn upsert_datapoints(
3344        &self,
3345        _req: crate::model::UpsertDatapointsRequest,
3346        _options: gax::options::RequestOptions,
3347    ) -> impl std::future::Future<
3348        Output = crate::Result<gax::response::Response<crate::model::UpsertDatapointsResponse>>,
3349    > + Send {
3350        std::future::ready::<
3351            crate::Result<gax::response::Response<crate::model::UpsertDatapointsResponse>>,
3352        >(Err(Error::other("unimplemented")))
3353    }
3354
3355    /// Implements [super::client::IndexService::remove_datapoints].
3356    fn remove_datapoints(
3357        &self,
3358        _req: crate::model::RemoveDatapointsRequest,
3359        _options: gax::options::RequestOptions,
3360    ) -> impl std::future::Future<
3361        Output = crate::Result<gax::response::Response<crate::model::RemoveDatapointsResponse>>,
3362    > + Send {
3363        std::future::ready::<
3364            crate::Result<gax::response::Response<crate::model::RemoveDatapointsResponse>>,
3365        >(Err(Error::other("unimplemented")))
3366    }
3367
3368    /// Implements [super::client::IndexService::list_locations].
3369    fn list_locations(
3370        &self,
3371        _req: location::model::ListLocationsRequest,
3372        _options: gax::options::RequestOptions,
3373    ) -> impl std::future::Future<
3374        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
3375    > + Send {
3376        std::future::ready::<
3377            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
3378        >(Err(Error::other("unimplemented")))
3379    }
3380
3381    /// Implements [super::client::IndexService::get_location].
3382    fn get_location(
3383        &self,
3384        _req: location::model::GetLocationRequest,
3385        _options: gax::options::RequestOptions,
3386    ) -> impl std::future::Future<
3387        Output = crate::Result<gax::response::Response<location::model::Location>>,
3388    > + Send {
3389        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
3390            Err(Error::other("unimplemented")),
3391        )
3392    }
3393
3394    /// Implements [super::client::IndexService::set_iam_policy].
3395    fn set_iam_policy(
3396        &self,
3397        _req: iam_v1::model::SetIamPolicyRequest,
3398        _options: gax::options::RequestOptions,
3399    ) -> impl std::future::Future<
3400        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
3401    > + Send {
3402        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
3403            Error::other("unimplemented"),
3404        ))
3405    }
3406
3407    /// Implements [super::client::IndexService::get_iam_policy].
3408    fn get_iam_policy(
3409        &self,
3410        _req: iam_v1::model::GetIamPolicyRequest,
3411        _options: gax::options::RequestOptions,
3412    ) -> impl std::future::Future<
3413        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
3414    > + Send {
3415        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
3416            Error::other("unimplemented"),
3417        ))
3418    }
3419
3420    /// Implements [super::client::IndexService::test_iam_permissions].
3421    fn test_iam_permissions(
3422        &self,
3423        _req: iam_v1::model::TestIamPermissionsRequest,
3424        _options: gax::options::RequestOptions,
3425    ) -> impl std::future::Future<
3426        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
3427    > + Send {
3428        std::future::ready::<
3429            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
3430        >(Err(Error::other("unimplemented")))
3431    }
3432
3433    /// Implements [super::client::IndexService::list_operations].
3434    fn list_operations(
3435        &self,
3436        _req: longrunning::model::ListOperationsRequest,
3437        _options: gax::options::RequestOptions,
3438    ) -> impl std::future::Future<
3439        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
3440    > + Send {
3441        std::future::ready::<
3442            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
3443        >(Err(Error::other("unimplemented")))
3444    }
3445
3446    /// Implements [super::client::IndexService::get_operation].
3447    fn get_operation(
3448        &self,
3449        _req: longrunning::model::GetOperationRequest,
3450        _options: gax::options::RequestOptions,
3451    ) -> impl std::future::Future<
3452        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
3453    > + Send {
3454        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
3455            Err(Error::other("unimplemented")),
3456        )
3457    }
3458
3459    /// Implements [super::client::IndexService::delete_operation].
3460    fn delete_operation(
3461        &self,
3462        _req: longrunning::model::DeleteOperationRequest,
3463        _options: gax::options::RequestOptions,
3464    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
3465        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
3466            "unimplemented",
3467        )))
3468    }
3469
3470    /// Implements [super::client::IndexService::cancel_operation].
3471    fn cancel_operation(
3472        &self,
3473        _req: longrunning::model::CancelOperationRequest,
3474        _options: gax::options::RequestOptions,
3475    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
3476        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
3477            "unimplemented",
3478        )))
3479    }
3480
3481    /// Implements [super::client::IndexService::wait_operation].
3482    fn wait_operation(
3483        &self,
3484        _req: longrunning::model::WaitOperationRequest,
3485        _options: gax::options::RequestOptions,
3486    ) -> impl std::future::Future<
3487        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
3488    > + Send {
3489        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
3490            Err(Error::other("unimplemented")),
3491        )
3492    }
3493
3494    /// Returns the polling error policy.
3495    ///
3496    /// When mocking, this method is typically irrelevant. Do not try to verify
3497    /// it is called by your mocks.
3498    fn get_polling_error_policy(
3499        &self,
3500        _options: &gax::options::RequestOptions,
3501    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
3502        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
3503    }
3504
3505    /// Returns the polling backoff policy.
3506    ///
3507    /// When mocking, this method is typically irrelevant. Do not try to verify
3508    /// it is called by your mocks.
3509    fn get_polling_backoff_policy(
3510        &self,
3511        _options: &gax::options::RequestOptions,
3512    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
3513        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
3514    }
3515}
3516
3517/// Defines the trait used to implement [super::client::JobService].
3518///
3519/// Application developers may need to implement this trait to mock
3520/// `client::JobService`.  In other use-cases, application developers only
3521/// use `client::JobService` and need not be concerned with this trait or
3522/// its implementations.
3523///
3524/// Services gain new RPCs routinely. Consequently, this trait gains new methods
3525/// too. To avoid breaking applications the trait provides a default
3526/// implementation of each method. Most of these implementations just return an
3527/// error.
3528#[cfg(feature = "job-service")]
3529#[cfg_attr(docsrs, doc(cfg(feature = "job-service")))]
3530pub trait JobService: std::fmt::Debug + Send + Sync {
3531    /// Implements [super::client::JobService::create_custom_job].
3532    fn create_custom_job(
3533        &self,
3534        _req: crate::model::CreateCustomJobRequest,
3535        _options: gax::options::RequestOptions,
3536    ) -> impl std::future::Future<
3537        Output = crate::Result<gax::response::Response<crate::model::CustomJob>>,
3538    > + Send {
3539        std::future::ready::<crate::Result<gax::response::Response<crate::model::CustomJob>>>(Err(
3540            Error::other("unimplemented"),
3541        ))
3542    }
3543
3544    /// Implements [super::client::JobService::get_custom_job].
3545    fn get_custom_job(
3546        &self,
3547        _req: crate::model::GetCustomJobRequest,
3548        _options: gax::options::RequestOptions,
3549    ) -> impl std::future::Future<
3550        Output = crate::Result<gax::response::Response<crate::model::CustomJob>>,
3551    > + Send {
3552        std::future::ready::<crate::Result<gax::response::Response<crate::model::CustomJob>>>(Err(
3553            Error::other("unimplemented"),
3554        ))
3555    }
3556
3557    /// Implements [super::client::JobService::list_custom_jobs].
3558    fn list_custom_jobs(
3559        &self,
3560        _req: crate::model::ListCustomJobsRequest,
3561        _options: gax::options::RequestOptions,
3562    ) -> impl std::future::Future<
3563        Output = crate::Result<gax::response::Response<crate::model::ListCustomJobsResponse>>,
3564    > + Send {
3565        std::future::ready::<
3566            crate::Result<gax::response::Response<crate::model::ListCustomJobsResponse>>,
3567        >(Err(Error::other("unimplemented")))
3568    }
3569
3570    /// Implements [super::client::JobService::delete_custom_job].
3571    fn delete_custom_job(
3572        &self,
3573        _req: crate::model::DeleteCustomJobRequest,
3574        _options: gax::options::RequestOptions,
3575    ) -> impl std::future::Future<
3576        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
3577    > + Send {
3578        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
3579            Err(Error::other("unimplemented")),
3580        )
3581    }
3582
3583    /// Implements [super::client::JobService::cancel_custom_job].
3584    fn cancel_custom_job(
3585        &self,
3586        _req: crate::model::CancelCustomJobRequest,
3587        _options: gax::options::RequestOptions,
3588    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
3589        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
3590            "unimplemented",
3591        )))
3592    }
3593
3594    /// Implements [super::client::JobService::create_data_labeling_job].
3595    fn create_data_labeling_job(
3596        &self,
3597        _req: crate::model::CreateDataLabelingJobRequest,
3598        _options: gax::options::RequestOptions,
3599    ) -> impl std::future::Future<
3600        Output = crate::Result<gax::response::Response<crate::model::DataLabelingJob>>,
3601    > + Send {
3602        std::future::ready::<crate::Result<gax::response::Response<crate::model::DataLabelingJob>>>(
3603            Err(Error::other("unimplemented")),
3604        )
3605    }
3606
3607    /// Implements [super::client::JobService::get_data_labeling_job].
3608    fn get_data_labeling_job(
3609        &self,
3610        _req: crate::model::GetDataLabelingJobRequest,
3611        _options: gax::options::RequestOptions,
3612    ) -> impl std::future::Future<
3613        Output = crate::Result<gax::response::Response<crate::model::DataLabelingJob>>,
3614    > + Send {
3615        std::future::ready::<crate::Result<gax::response::Response<crate::model::DataLabelingJob>>>(
3616            Err(Error::other("unimplemented")),
3617        )
3618    }
3619
3620    /// Implements [super::client::JobService::list_data_labeling_jobs].
3621    fn list_data_labeling_jobs(
3622        &self,
3623        _req: crate::model::ListDataLabelingJobsRequest,
3624        _options: gax::options::RequestOptions,
3625    ) -> impl std::future::Future<
3626        Output = crate::Result<gax::response::Response<crate::model::ListDataLabelingJobsResponse>>,
3627    > + Send {
3628        std::future::ready::<
3629            crate::Result<gax::response::Response<crate::model::ListDataLabelingJobsResponse>>,
3630        >(Err(Error::other("unimplemented")))
3631    }
3632
3633    /// Implements [super::client::JobService::delete_data_labeling_job].
3634    fn delete_data_labeling_job(
3635        &self,
3636        _req: crate::model::DeleteDataLabelingJobRequest,
3637        _options: gax::options::RequestOptions,
3638    ) -> impl std::future::Future<
3639        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
3640    > + Send {
3641        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
3642            Err(Error::other("unimplemented")),
3643        )
3644    }
3645
3646    /// Implements [super::client::JobService::cancel_data_labeling_job].
3647    fn cancel_data_labeling_job(
3648        &self,
3649        _req: crate::model::CancelDataLabelingJobRequest,
3650        _options: gax::options::RequestOptions,
3651    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
3652        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
3653            "unimplemented",
3654        )))
3655    }
3656
3657    /// Implements [super::client::JobService::create_hyperparameter_tuning_job].
3658    fn create_hyperparameter_tuning_job(
3659        &self,
3660        _req: crate::model::CreateHyperparameterTuningJobRequest,
3661        _options: gax::options::RequestOptions,
3662    ) -> impl std::future::Future<
3663        Output = crate::Result<gax::response::Response<crate::model::HyperparameterTuningJob>>,
3664    > + Send {
3665        std::future::ready::<
3666            crate::Result<gax::response::Response<crate::model::HyperparameterTuningJob>>,
3667        >(Err(Error::other("unimplemented")))
3668    }
3669
3670    /// Implements [super::client::JobService::get_hyperparameter_tuning_job].
3671    fn get_hyperparameter_tuning_job(
3672        &self,
3673        _req: crate::model::GetHyperparameterTuningJobRequest,
3674        _options: gax::options::RequestOptions,
3675    ) -> impl std::future::Future<
3676        Output = crate::Result<gax::response::Response<crate::model::HyperparameterTuningJob>>,
3677    > + Send {
3678        std::future::ready::<
3679            crate::Result<gax::response::Response<crate::model::HyperparameterTuningJob>>,
3680        >(Err(Error::other("unimplemented")))
3681    }
3682
3683    /// Implements [super::client::JobService::list_hyperparameter_tuning_jobs].
3684    fn list_hyperparameter_tuning_jobs(
3685        &self,
3686        _req: crate::model::ListHyperparameterTuningJobsRequest,
3687        _options: gax::options::RequestOptions,
3688    ) -> impl std::future::Future<
3689        Output = crate::Result<
3690            gax::response::Response<crate::model::ListHyperparameterTuningJobsResponse>,
3691        >,
3692    > + Send {
3693        std::future::ready::<
3694            crate::Result<
3695                gax::response::Response<crate::model::ListHyperparameterTuningJobsResponse>,
3696            >,
3697        >(Err(Error::other("unimplemented")))
3698    }
3699
3700    /// Implements [super::client::JobService::delete_hyperparameter_tuning_job].
3701    fn delete_hyperparameter_tuning_job(
3702        &self,
3703        _req: crate::model::DeleteHyperparameterTuningJobRequest,
3704        _options: gax::options::RequestOptions,
3705    ) -> impl std::future::Future<
3706        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
3707    > + Send {
3708        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
3709            Err(Error::other("unimplemented")),
3710        )
3711    }
3712
3713    /// Implements [super::client::JobService::cancel_hyperparameter_tuning_job].
3714    fn cancel_hyperparameter_tuning_job(
3715        &self,
3716        _req: crate::model::CancelHyperparameterTuningJobRequest,
3717        _options: gax::options::RequestOptions,
3718    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
3719        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
3720            "unimplemented",
3721        )))
3722    }
3723
3724    /// Implements [super::client::JobService::create_nas_job].
3725    fn create_nas_job(
3726        &self,
3727        _req: crate::model::CreateNasJobRequest,
3728        _options: gax::options::RequestOptions,
3729    ) -> impl std::future::Future<
3730        Output = crate::Result<gax::response::Response<crate::model::NasJob>>,
3731    > + Send {
3732        std::future::ready::<crate::Result<gax::response::Response<crate::model::NasJob>>>(Err(
3733            Error::other("unimplemented"),
3734        ))
3735    }
3736
3737    /// Implements [super::client::JobService::get_nas_job].
3738    fn get_nas_job(
3739        &self,
3740        _req: crate::model::GetNasJobRequest,
3741        _options: gax::options::RequestOptions,
3742    ) -> impl std::future::Future<
3743        Output = crate::Result<gax::response::Response<crate::model::NasJob>>,
3744    > + Send {
3745        std::future::ready::<crate::Result<gax::response::Response<crate::model::NasJob>>>(Err(
3746            Error::other("unimplemented"),
3747        ))
3748    }
3749
3750    /// Implements [super::client::JobService::list_nas_jobs].
3751    fn list_nas_jobs(
3752        &self,
3753        _req: crate::model::ListNasJobsRequest,
3754        _options: gax::options::RequestOptions,
3755    ) -> impl std::future::Future<
3756        Output = crate::Result<gax::response::Response<crate::model::ListNasJobsResponse>>,
3757    > + Send {
3758        std::future::ready::<
3759            crate::Result<gax::response::Response<crate::model::ListNasJobsResponse>>,
3760        >(Err(Error::other("unimplemented")))
3761    }
3762
3763    /// Implements [super::client::JobService::delete_nas_job].
3764    fn delete_nas_job(
3765        &self,
3766        _req: crate::model::DeleteNasJobRequest,
3767        _options: gax::options::RequestOptions,
3768    ) -> impl std::future::Future<
3769        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
3770    > + Send {
3771        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
3772            Err(Error::other("unimplemented")),
3773        )
3774    }
3775
3776    /// Implements [super::client::JobService::cancel_nas_job].
3777    fn cancel_nas_job(
3778        &self,
3779        _req: crate::model::CancelNasJobRequest,
3780        _options: gax::options::RequestOptions,
3781    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
3782        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
3783            "unimplemented",
3784        )))
3785    }
3786
3787    /// Implements [super::client::JobService::get_nas_trial_detail].
3788    fn get_nas_trial_detail(
3789        &self,
3790        _req: crate::model::GetNasTrialDetailRequest,
3791        _options: gax::options::RequestOptions,
3792    ) -> impl std::future::Future<
3793        Output = crate::Result<gax::response::Response<crate::model::NasTrialDetail>>,
3794    > + Send {
3795        std::future::ready::<crate::Result<gax::response::Response<crate::model::NasTrialDetail>>>(
3796            Err(Error::other("unimplemented")),
3797        )
3798    }
3799
3800    /// Implements [super::client::JobService::list_nas_trial_details].
3801    fn list_nas_trial_details(
3802        &self,
3803        _req: crate::model::ListNasTrialDetailsRequest,
3804        _options: gax::options::RequestOptions,
3805    ) -> impl std::future::Future<
3806        Output = crate::Result<gax::response::Response<crate::model::ListNasTrialDetailsResponse>>,
3807    > + Send {
3808        std::future::ready::<
3809            crate::Result<gax::response::Response<crate::model::ListNasTrialDetailsResponse>>,
3810        >(Err(Error::other("unimplemented")))
3811    }
3812
3813    /// Implements [super::client::JobService::create_batch_prediction_job].
3814    fn create_batch_prediction_job(
3815        &self,
3816        _req: crate::model::CreateBatchPredictionJobRequest,
3817        _options: gax::options::RequestOptions,
3818    ) -> impl std::future::Future<
3819        Output = crate::Result<gax::response::Response<crate::model::BatchPredictionJob>>,
3820    > + Send {
3821        std::future::ready::<crate::Result<gax::response::Response<crate::model::BatchPredictionJob>>>(
3822            Err(Error::other("unimplemented")),
3823        )
3824    }
3825
3826    /// Implements [super::client::JobService::get_batch_prediction_job].
3827    fn get_batch_prediction_job(
3828        &self,
3829        _req: crate::model::GetBatchPredictionJobRequest,
3830        _options: gax::options::RequestOptions,
3831    ) -> impl std::future::Future<
3832        Output = crate::Result<gax::response::Response<crate::model::BatchPredictionJob>>,
3833    > + Send {
3834        std::future::ready::<crate::Result<gax::response::Response<crate::model::BatchPredictionJob>>>(
3835            Err(Error::other("unimplemented")),
3836        )
3837    }
3838
3839    /// Implements [super::client::JobService::list_batch_prediction_jobs].
3840    fn list_batch_prediction_jobs(
3841        &self,
3842        _req: crate::model::ListBatchPredictionJobsRequest,
3843        _options: gax::options::RequestOptions,
3844    ) -> impl std::future::Future<
3845        Output = crate::Result<
3846            gax::response::Response<crate::model::ListBatchPredictionJobsResponse>,
3847        >,
3848    > + Send {
3849        std::future::ready::<
3850            crate::Result<gax::response::Response<crate::model::ListBatchPredictionJobsResponse>>,
3851        >(Err(Error::other("unimplemented")))
3852    }
3853
3854    /// Implements [super::client::JobService::delete_batch_prediction_job].
3855    fn delete_batch_prediction_job(
3856        &self,
3857        _req: crate::model::DeleteBatchPredictionJobRequest,
3858        _options: gax::options::RequestOptions,
3859    ) -> impl std::future::Future<
3860        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
3861    > + Send {
3862        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
3863            Err(Error::other("unimplemented")),
3864        )
3865    }
3866
3867    /// Implements [super::client::JobService::cancel_batch_prediction_job].
3868    fn cancel_batch_prediction_job(
3869        &self,
3870        _req: crate::model::CancelBatchPredictionJobRequest,
3871        _options: gax::options::RequestOptions,
3872    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
3873        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
3874            "unimplemented",
3875        )))
3876    }
3877
3878    /// Implements [super::client::JobService::create_model_deployment_monitoring_job].
3879    fn create_model_deployment_monitoring_job(
3880        &self,
3881        _req: crate::model::CreateModelDeploymentMonitoringJobRequest,
3882        _options: gax::options::RequestOptions,
3883    ) -> impl std::future::Future<
3884        Output = crate::Result<gax::response::Response<crate::model::ModelDeploymentMonitoringJob>>,
3885    > + Send {
3886        std::future::ready::<
3887            crate::Result<gax::response::Response<crate::model::ModelDeploymentMonitoringJob>>,
3888        >(Err(Error::other("unimplemented")))
3889    }
3890
3891    /// Implements [super::client::JobService::search_model_deployment_monitoring_stats_anomalies].
3892    fn search_model_deployment_monitoring_stats_anomalies(
3893        &self,
3894        _req: crate::model::SearchModelDeploymentMonitoringStatsAnomaliesRequest,
3895        _options: gax::options::RequestOptions,
3896    ) -> impl std::future::Future<
3897        Output = crate::Result<
3898            gax::response::Response<
3899                crate::model::SearchModelDeploymentMonitoringStatsAnomaliesResponse,
3900            >,
3901        >,
3902    > + Send {
3903        std::future::ready::<
3904            crate::Result<
3905                gax::response::Response<
3906                    crate::model::SearchModelDeploymentMonitoringStatsAnomaliesResponse,
3907                >,
3908            >,
3909        >(Err(Error::other("unimplemented")))
3910    }
3911
3912    /// Implements [super::client::JobService::get_model_deployment_monitoring_job].
3913    fn get_model_deployment_monitoring_job(
3914        &self,
3915        _req: crate::model::GetModelDeploymentMonitoringJobRequest,
3916        _options: gax::options::RequestOptions,
3917    ) -> impl std::future::Future<
3918        Output = crate::Result<gax::response::Response<crate::model::ModelDeploymentMonitoringJob>>,
3919    > + Send {
3920        std::future::ready::<
3921            crate::Result<gax::response::Response<crate::model::ModelDeploymentMonitoringJob>>,
3922        >(Err(Error::other("unimplemented")))
3923    }
3924
3925    /// Implements [super::client::JobService::list_model_deployment_monitoring_jobs].
3926    fn list_model_deployment_monitoring_jobs(
3927        &self,
3928        _req: crate::model::ListModelDeploymentMonitoringJobsRequest,
3929        _options: gax::options::RequestOptions,
3930    ) -> impl std::future::Future<
3931        Output = crate::Result<
3932            gax::response::Response<crate::model::ListModelDeploymentMonitoringJobsResponse>,
3933        >,
3934    > + Send {
3935        std::future::ready::<
3936            crate::Result<
3937                gax::response::Response<crate::model::ListModelDeploymentMonitoringJobsResponse>,
3938            >,
3939        >(Err(Error::other("unimplemented")))
3940    }
3941
3942    /// Implements [super::client::JobService::update_model_deployment_monitoring_job].
3943    fn update_model_deployment_monitoring_job(
3944        &self,
3945        _req: crate::model::UpdateModelDeploymentMonitoringJobRequest,
3946        _options: gax::options::RequestOptions,
3947    ) -> impl std::future::Future<
3948        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
3949    > + Send {
3950        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
3951            Err(Error::other("unimplemented")),
3952        )
3953    }
3954
3955    /// Implements [super::client::JobService::delete_model_deployment_monitoring_job].
3956    fn delete_model_deployment_monitoring_job(
3957        &self,
3958        _req: crate::model::DeleteModelDeploymentMonitoringJobRequest,
3959        _options: gax::options::RequestOptions,
3960    ) -> impl std::future::Future<
3961        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
3962    > + Send {
3963        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
3964            Err(Error::other("unimplemented")),
3965        )
3966    }
3967
3968    /// Implements [super::client::JobService::pause_model_deployment_monitoring_job].
3969    fn pause_model_deployment_monitoring_job(
3970        &self,
3971        _req: crate::model::PauseModelDeploymentMonitoringJobRequest,
3972        _options: gax::options::RequestOptions,
3973    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
3974        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
3975            "unimplemented",
3976        )))
3977    }
3978
3979    /// Implements [super::client::JobService::resume_model_deployment_monitoring_job].
3980    fn resume_model_deployment_monitoring_job(
3981        &self,
3982        _req: crate::model::ResumeModelDeploymentMonitoringJobRequest,
3983        _options: gax::options::RequestOptions,
3984    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
3985        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
3986            "unimplemented",
3987        )))
3988    }
3989
3990    /// Implements [super::client::JobService::list_locations].
3991    fn list_locations(
3992        &self,
3993        _req: location::model::ListLocationsRequest,
3994        _options: gax::options::RequestOptions,
3995    ) -> impl std::future::Future<
3996        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
3997    > + Send {
3998        std::future::ready::<
3999            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
4000        >(Err(Error::other("unimplemented")))
4001    }
4002
4003    /// Implements [super::client::JobService::get_location].
4004    fn get_location(
4005        &self,
4006        _req: location::model::GetLocationRequest,
4007        _options: gax::options::RequestOptions,
4008    ) -> impl std::future::Future<
4009        Output = crate::Result<gax::response::Response<location::model::Location>>,
4010    > + Send {
4011        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
4012            Err(Error::other("unimplemented")),
4013        )
4014    }
4015
4016    /// Implements [super::client::JobService::set_iam_policy].
4017    fn set_iam_policy(
4018        &self,
4019        _req: iam_v1::model::SetIamPolicyRequest,
4020        _options: gax::options::RequestOptions,
4021    ) -> impl std::future::Future<
4022        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
4023    > + Send {
4024        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
4025            Error::other("unimplemented"),
4026        ))
4027    }
4028
4029    /// Implements [super::client::JobService::get_iam_policy].
4030    fn get_iam_policy(
4031        &self,
4032        _req: iam_v1::model::GetIamPolicyRequest,
4033        _options: gax::options::RequestOptions,
4034    ) -> impl std::future::Future<
4035        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
4036    > + Send {
4037        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
4038            Error::other("unimplemented"),
4039        ))
4040    }
4041
4042    /// Implements [super::client::JobService::test_iam_permissions].
4043    fn test_iam_permissions(
4044        &self,
4045        _req: iam_v1::model::TestIamPermissionsRequest,
4046        _options: gax::options::RequestOptions,
4047    ) -> impl std::future::Future<
4048        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
4049    > + Send {
4050        std::future::ready::<
4051            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
4052        >(Err(Error::other("unimplemented")))
4053    }
4054
4055    /// Implements [super::client::JobService::list_operations].
4056    fn list_operations(
4057        &self,
4058        _req: longrunning::model::ListOperationsRequest,
4059        _options: gax::options::RequestOptions,
4060    ) -> impl std::future::Future<
4061        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
4062    > + Send {
4063        std::future::ready::<
4064            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
4065        >(Err(Error::other("unimplemented")))
4066    }
4067
4068    /// Implements [super::client::JobService::get_operation].
4069    fn get_operation(
4070        &self,
4071        _req: longrunning::model::GetOperationRequest,
4072        _options: gax::options::RequestOptions,
4073    ) -> impl std::future::Future<
4074        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
4075    > + Send {
4076        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
4077            Err(Error::other("unimplemented")),
4078        )
4079    }
4080
4081    /// Implements [super::client::JobService::delete_operation].
4082    fn delete_operation(
4083        &self,
4084        _req: longrunning::model::DeleteOperationRequest,
4085        _options: gax::options::RequestOptions,
4086    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
4087        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
4088            "unimplemented",
4089        )))
4090    }
4091
4092    /// Implements [super::client::JobService::cancel_operation].
4093    fn cancel_operation(
4094        &self,
4095        _req: longrunning::model::CancelOperationRequest,
4096        _options: gax::options::RequestOptions,
4097    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
4098        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
4099            "unimplemented",
4100        )))
4101    }
4102
4103    /// Implements [super::client::JobService::wait_operation].
4104    fn wait_operation(
4105        &self,
4106        _req: longrunning::model::WaitOperationRequest,
4107        _options: gax::options::RequestOptions,
4108    ) -> impl std::future::Future<
4109        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
4110    > + Send {
4111        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
4112            Err(Error::other("unimplemented")),
4113        )
4114    }
4115
4116    /// Returns the polling error policy.
4117    ///
4118    /// When mocking, this method is typically irrelevant. Do not try to verify
4119    /// it is called by your mocks.
4120    fn get_polling_error_policy(
4121        &self,
4122        _options: &gax::options::RequestOptions,
4123    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
4124        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
4125    }
4126
4127    /// Returns the polling backoff policy.
4128    ///
4129    /// When mocking, this method is typically irrelevant. Do not try to verify
4130    /// it is called by your mocks.
4131    fn get_polling_backoff_policy(
4132        &self,
4133        _options: &gax::options::RequestOptions,
4134    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
4135        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
4136    }
4137}
4138
4139/// Defines the trait used to implement [super::client::LlmUtilityService].
4140///
4141/// Application developers may need to implement this trait to mock
4142/// `client::LlmUtilityService`.  In other use-cases, application developers only
4143/// use `client::LlmUtilityService` and need not be concerned with this trait or
4144/// its implementations.
4145///
4146/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4147/// too. To avoid breaking applications the trait provides a default
4148/// implementation of each method. Most of these implementations just return an
4149/// error.
4150#[cfg(feature = "llm-utility-service")]
4151#[cfg_attr(docsrs, doc(cfg(feature = "llm-utility-service")))]
4152pub trait LlmUtilityService: std::fmt::Debug + Send + Sync {
4153    /// Implements [super::client::LlmUtilityService::count_tokens].
4154    fn count_tokens(
4155        &self,
4156        _req: crate::model::CountTokensRequest,
4157        _options: gax::options::RequestOptions,
4158    ) -> impl std::future::Future<
4159        Output = crate::Result<gax::response::Response<crate::model::CountTokensResponse>>,
4160    > + Send {
4161        std::future::ready::<
4162            crate::Result<gax::response::Response<crate::model::CountTokensResponse>>,
4163        >(Err(Error::other("unimplemented")))
4164    }
4165
4166    /// Implements [super::client::LlmUtilityService::compute_tokens].
4167    fn compute_tokens(
4168        &self,
4169        _req: crate::model::ComputeTokensRequest,
4170        _options: gax::options::RequestOptions,
4171    ) -> impl std::future::Future<
4172        Output = crate::Result<gax::response::Response<crate::model::ComputeTokensResponse>>,
4173    > + Send {
4174        std::future::ready::<
4175            crate::Result<gax::response::Response<crate::model::ComputeTokensResponse>>,
4176        >(Err(Error::other("unimplemented")))
4177    }
4178
4179    /// Implements [super::client::LlmUtilityService::list_locations].
4180    fn list_locations(
4181        &self,
4182        _req: location::model::ListLocationsRequest,
4183        _options: gax::options::RequestOptions,
4184    ) -> impl std::future::Future<
4185        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
4186    > + Send {
4187        std::future::ready::<
4188            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
4189        >(Err(Error::other("unimplemented")))
4190    }
4191
4192    /// Implements [super::client::LlmUtilityService::get_location].
4193    fn get_location(
4194        &self,
4195        _req: location::model::GetLocationRequest,
4196        _options: gax::options::RequestOptions,
4197    ) -> impl std::future::Future<
4198        Output = crate::Result<gax::response::Response<location::model::Location>>,
4199    > + Send {
4200        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
4201            Err(Error::other("unimplemented")),
4202        )
4203    }
4204
4205    /// Implements [super::client::LlmUtilityService::set_iam_policy].
4206    fn set_iam_policy(
4207        &self,
4208        _req: iam_v1::model::SetIamPolicyRequest,
4209        _options: gax::options::RequestOptions,
4210    ) -> impl std::future::Future<
4211        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
4212    > + Send {
4213        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
4214            Error::other("unimplemented"),
4215        ))
4216    }
4217
4218    /// Implements [super::client::LlmUtilityService::get_iam_policy].
4219    fn get_iam_policy(
4220        &self,
4221        _req: iam_v1::model::GetIamPolicyRequest,
4222        _options: gax::options::RequestOptions,
4223    ) -> impl std::future::Future<
4224        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
4225    > + Send {
4226        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
4227            Error::other("unimplemented"),
4228        ))
4229    }
4230
4231    /// Implements [super::client::LlmUtilityService::test_iam_permissions].
4232    fn test_iam_permissions(
4233        &self,
4234        _req: iam_v1::model::TestIamPermissionsRequest,
4235        _options: gax::options::RequestOptions,
4236    ) -> impl std::future::Future<
4237        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
4238    > + Send {
4239        std::future::ready::<
4240            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
4241        >(Err(Error::other("unimplemented")))
4242    }
4243
4244    /// Implements [super::client::LlmUtilityService::list_operations].
4245    fn list_operations(
4246        &self,
4247        _req: longrunning::model::ListOperationsRequest,
4248        _options: gax::options::RequestOptions,
4249    ) -> impl std::future::Future<
4250        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
4251    > + Send {
4252        std::future::ready::<
4253            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
4254        >(Err(Error::other("unimplemented")))
4255    }
4256
4257    /// Implements [super::client::LlmUtilityService::get_operation].
4258    fn get_operation(
4259        &self,
4260        _req: longrunning::model::GetOperationRequest,
4261        _options: gax::options::RequestOptions,
4262    ) -> impl std::future::Future<
4263        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
4264    > + Send {
4265        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
4266            Err(Error::other("unimplemented")),
4267        )
4268    }
4269
4270    /// Implements [super::client::LlmUtilityService::delete_operation].
4271    fn delete_operation(
4272        &self,
4273        _req: longrunning::model::DeleteOperationRequest,
4274        _options: gax::options::RequestOptions,
4275    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
4276        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
4277            "unimplemented",
4278        )))
4279    }
4280
4281    /// Implements [super::client::LlmUtilityService::cancel_operation].
4282    fn cancel_operation(
4283        &self,
4284        _req: longrunning::model::CancelOperationRequest,
4285        _options: gax::options::RequestOptions,
4286    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
4287        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
4288            "unimplemented",
4289        )))
4290    }
4291
4292    /// Implements [super::client::LlmUtilityService::wait_operation].
4293    fn wait_operation(
4294        &self,
4295        _req: longrunning::model::WaitOperationRequest,
4296        _options: gax::options::RequestOptions,
4297    ) -> impl std::future::Future<
4298        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
4299    > + Send {
4300        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
4301            Err(Error::other("unimplemented")),
4302        )
4303    }
4304}
4305
4306/// Defines the trait used to implement [super::client::MatchService].
4307///
4308/// Application developers may need to implement this trait to mock
4309/// `client::MatchService`.  In other use-cases, application developers only
4310/// use `client::MatchService` and need not be concerned with this trait or
4311/// its implementations.
4312///
4313/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4314/// too. To avoid breaking applications the trait provides a default
4315/// implementation of each method. Most of these implementations just return an
4316/// error.
4317#[cfg(feature = "match-service")]
4318#[cfg_attr(docsrs, doc(cfg(feature = "match-service")))]
4319pub trait MatchService: std::fmt::Debug + Send + Sync {
4320    /// Implements [super::client::MatchService::find_neighbors].
4321    fn find_neighbors(
4322        &self,
4323        _req: crate::model::FindNeighborsRequest,
4324        _options: gax::options::RequestOptions,
4325    ) -> impl std::future::Future<
4326        Output = crate::Result<gax::response::Response<crate::model::FindNeighborsResponse>>,
4327    > + Send {
4328        std::future::ready::<
4329            crate::Result<gax::response::Response<crate::model::FindNeighborsResponse>>,
4330        >(Err(Error::other("unimplemented")))
4331    }
4332
4333    /// Implements [super::client::MatchService::read_index_datapoints].
4334    fn read_index_datapoints(
4335        &self,
4336        _req: crate::model::ReadIndexDatapointsRequest,
4337        _options: gax::options::RequestOptions,
4338    ) -> impl std::future::Future<
4339        Output = crate::Result<gax::response::Response<crate::model::ReadIndexDatapointsResponse>>,
4340    > + Send {
4341        std::future::ready::<
4342            crate::Result<gax::response::Response<crate::model::ReadIndexDatapointsResponse>>,
4343        >(Err(Error::other("unimplemented")))
4344    }
4345
4346    /// Implements [super::client::MatchService::list_locations].
4347    fn list_locations(
4348        &self,
4349        _req: location::model::ListLocationsRequest,
4350        _options: gax::options::RequestOptions,
4351    ) -> impl std::future::Future<
4352        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
4353    > + Send {
4354        std::future::ready::<
4355            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
4356        >(Err(Error::other("unimplemented")))
4357    }
4358
4359    /// Implements [super::client::MatchService::get_location].
4360    fn get_location(
4361        &self,
4362        _req: location::model::GetLocationRequest,
4363        _options: gax::options::RequestOptions,
4364    ) -> impl std::future::Future<
4365        Output = crate::Result<gax::response::Response<location::model::Location>>,
4366    > + Send {
4367        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
4368            Err(Error::other("unimplemented")),
4369        )
4370    }
4371
4372    /// Implements [super::client::MatchService::set_iam_policy].
4373    fn set_iam_policy(
4374        &self,
4375        _req: iam_v1::model::SetIamPolicyRequest,
4376        _options: gax::options::RequestOptions,
4377    ) -> impl std::future::Future<
4378        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
4379    > + Send {
4380        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
4381            Error::other("unimplemented"),
4382        ))
4383    }
4384
4385    /// Implements [super::client::MatchService::get_iam_policy].
4386    fn get_iam_policy(
4387        &self,
4388        _req: iam_v1::model::GetIamPolicyRequest,
4389        _options: gax::options::RequestOptions,
4390    ) -> impl std::future::Future<
4391        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
4392    > + Send {
4393        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
4394            Error::other("unimplemented"),
4395        ))
4396    }
4397
4398    /// Implements [super::client::MatchService::test_iam_permissions].
4399    fn test_iam_permissions(
4400        &self,
4401        _req: iam_v1::model::TestIamPermissionsRequest,
4402        _options: gax::options::RequestOptions,
4403    ) -> impl std::future::Future<
4404        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
4405    > + Send {
4406        std::future::ready::<
4407            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
4408        >(Err(Error::other("unimplemented")))
4409    }
4410
4411    /// Implements [super::client::MatchService::list_operations].
4412    fn list_operations(
4413        &self,
4414        _req: longrunning::model::ListOperationsRequest,
4415        _options: gax::options::RequestOptions,
4416    ) -> impl std::future::Future<
4417        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
4418    > + Send {
4419        std::future::ready::<
4420            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
4421        >(Err(Error::other("unimplemented")))
4422    }
4423
4424    /// Implements [super::client::MatchService::get_operation].
4425    fn get_operation(
4426        &self,
4427        _req: longrunning::model::GetOperationRequest,
4428        _options: gax::options::RequestOptions,
4429    ) -> impl std::future::Future<
4430        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
4431    > + Send {
4432        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
4433            Err(Error::other("unimplemented")),
4434        )
4435    }
4436
4437    /// Implements [super::client::MatchService::delete_operation].
4438    fn delete_operation(
4439        &self,
4440        _req: longrunning::model::DeleteOperationRequest,
4441        _options: gax::options::RequestOptions,
4442    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
4443        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
4444            "unimplemented",
4445        )))
4446    }
4447
4448    /// Implements [super::client::MatchService::cancel_operation].
4449    fn cancel_operation(
4450        &self,
4451        _req: longrunning::model::CancelOperationRequest,
4452        _options: gax::options::RequestOptions,
4453    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
4454        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
4455            "unimplemented",
4456        )))
4457    }
4458
4459    /// Implements [super::client::MatchService::wait_operation].
4460    fn wait_operation(
4461        &self,
4462        _req: longrunning::model::WaitOperationRequest,
4463        _options: gax::options::RequestOptions,
4464    ) -> impl std::future::Future<
4465        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
4466    > + Send {
4467        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
4468            Err(Error::other("unimplemented")),
4469        )
4470    }
4471}
4472
4473/// Defines the trait used to implement [super::client::MetadataService].
4474///
4475/// Application developers may need to implement this trait to mock
4476/// `client::MetadataService`.  In other use-cases, application developers only
4477/// use `client::MetadataService` and need not be concerned with this trait or
4478/// its implementations.
4479///
4480/// Services gain new RPCs routinely. Consequently, this trait gains new methods
4481/// too. To avoid breaking applications the trait provides a default
4482/// implementation of each method. Most of these implementations just return an
4483/// error.
4484#[cfg(feature = "metadata-service")]
4485#[cfg_attr(docsrs, doc(cfg(feature = "metadata-service")))]
4486pub trait MetadataService: std::fmt::Debug + Send + Sync {
4487    /// Implements [super::client::MetadataService::create_metadata_store].
4488    fn create_metadata_store(
4489        &self,
4490        _req: crate::model::CreateMetadataStoreRequest,
4491        _options: gax::options::RequestOptions,
4492    ) -> impl std::future::Future<
4493        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
4494    > + Send {
4495        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
4496            Err(Error::other("unimplemented")),
4497        )
4498    }
4499
4500    /// Implements [super::client::MetadataService::get_metadata_store].
4501    fn get_metadata_store(
4502        &self,
4503        _req: crate::model::GetMetadataStoreRequest,
4504        _options: gax::options::RequestOptions,
4505    ) -> impl std::future::Future<
4506        Output = crate::Result<gax::response::Response<crate::model::MetadataStore>>,
4507    > + Send {
4508        std::future::ready::<crate::Result<gax::response::Response<crate::model::MetadataStore>>>(
4509            Err(Error::other("unimplemented")),
4510        )
4511    }
4512
4513    /// Implements [super::client::MetadataService::list_metadata_stores].
4514    fn list_metadata_stores(
4515        &self,
4516        _req: crate::model::ListMetadataStoresRequest,
4517        _options: gax::options::RequestOptions,
4518    ) -> impl std::future::Future<
4519        Output = crate::Result<gax::response::Response<crate::model::ListMetadataStoresResponse>>,
4520    > + Send {
4521        std::future::ready::<
4522            crate::Result<gax::response::Response<crate::model::ListMetadataStoresResponse>>,
4523        >(Err(Error::other("unimplemented")))
4524    }
4525
4526    /// Implements [super::client::MetadataService::delete_metadata_store].
4527    fn delete_metadata_store(
4528        &self,
4529        _req: crate::model::DeleteMetadataStoreRequest,
4530        _options: gax::options::RequestOptions,
4531    ) -> impl std::future::Future<
4532        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
4533    > + Send {
4534        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
4535            Err(Error::other("unimplemented")),
4536        )
4537    }
4538
4539    /// Implements [super::client::MetadataService::create_artifact].
4540    fn create_artifact(
4541        &self,
4542        _req: crate::model::CreateArtifactRequest,
4543        _options: gax::options::RequestOptions,
4544    ) -> impl std::future::Future<
4545        Output = crate::Result<gax::response::Response<crate::model::Artifact>>,
4546    > + Send {
4547        std::future::ready::<crate::Result<gax::response::Response<crate::model::Artifact>>>(Err(
4548            Error::other("unimplemented"),
4549        ))
4550    }
4551
4552    /// Implements [super::client::MetadataService::get_artifact].
4553    fn get_artifact(
4554        &self,
4555        _req: crate::model::GetArtifactRequest,
4556        _options: gax::options::RequestOptions,
4557    ) -> impl std::future::Future<
4558        Output = crate::Result<gax::response::Response<crate::model::Artifact>>,
4559    > + Send {
4560        std::future::ready::<crate::Result<gax::response::Response<crate::model::Artifact>>>(Err(
4561            Error::other("unimplemented"),
4562        ))
4563    }
4564
4565    /// Implements [super::client::MetadataService::list_artifacts].
4566    fn list_artifacts(
4567        &self,
4568        _req: crate::model::ListArtifactsRequest,
4569        _options: gax::options::RequestOptions,
4570    ) -> impl std::future::Future<
4571        Output = crate::Result<gax::response::Response<crate::model::ListArtifactsResponse>>,
4572    > + Send {
4573        std::future::ready::<
4574            crate::Result<gax::response::Response<crate::model::ListArtifactsResponse>>,
4575        >(Err(Error::other("unimplemented")))
4576    }
4577
4578    /// Implements [super::client::MetadataService::update_artifact].
4579    fn update_artifact(
4580        &self,
4581        _req: crate::model::UpdateArtifactRequest,
4582        _options: gax::options::RequestOptions,
4583    ) -> impl std::future::Future<
4584        Output = crate::Result<gax::response::Response<crate::model::Artifact>>,
4585    > + Send {
4586        std::future::ready::<crate::Result<gax::response::Response<crate::model::Artifact>>>(Err(
4587            Error::other("unimplemented"),
4588        ))
4589    }
4590
4591    /// Implements [super::client::MetadataService::delete_artifact].
4592    fn delete_artifact(
4593        &self,
4594        _req: crate::model::DeleteArtifactRequest,
4595        _options: gax::options::RequestOptions,
4596    ) -> impl std::future::Future<
4597        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
4598    > + Send {
4599        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
4600            Err(Error::other("unimplemented")),
4601        )
4602    }
4603
4604    /// Implements [super::client::MetadataService::purge_artifacts].
4605    fn purge_artifacts(
4606        &self,
4607        _req: crate::model::PurgeArtifactsRequest,
4608        _options: gax::options::RequestOptions,
4609    ) -> impl std::future::Future<
4610        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
4611    > + Send {
4612        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
4613            Err(Error::other("unimplemented")),
4614        )
4615    }
4616
4617    /// Implements [super::client::MetadataService::create_context].
4618    fn create_context(
4619        &self,
4620        _req: crate::model::CreateContextRequest,
4621        _options: gax::options::RequestOptions,
4622    ) -> impl std::future::Future<
4623        Output = crate::Result<gax::response::Response<crate::model::Context>>,
4624    > + Send {
4625        std::future::ready::<crate::Result<gax::response::Response<crate::model::Context>>>(Err(
4626            Error::other("unimplemented"),
4627        ))
4628    }
4629
4630    /// Implements [super::client::MetadataService::get_context].
4631    fn get_context(
4632        &self,
4633        _req: crate::model::GetContextRequest,
4634        _options: gax::options::RequestOptions,
4635    ) -> impl std::future::Future<
4636        Output = crate::Result<gax::response::Response<crate::model::Context>>,
4637    > + Send {
4638        std::future::ready::<crate::Result<gax::response::Response<crate::model::Context>>>(Err(
4639            Error::other("unimplemented"),
4640        ))
4641    }
4642
4643    /// Implements [super::client::MetadataService::list_contexts].
4644    fn list_contexts(
4645        &self,
4646        _req: crate::model::ListContextsRequest,
4647        _options: gax::options::RequestOptions,
4648    ) -> impl std::future::Future<
4649        Output = crate::Result<gax::response::Response<crate::model::ListContextsResponse>>,
4650    > + Send {
4651        std::future::ready::<
4652            crate::Result<gax::response::Response<crate::model::ListContextsResponse>>,
4653        >(Err(Error::other("unimplemented")))
4654    }
4655
4656    /// Implements [super::client::MetadataService::update_context].
4657    fn update_context(
4658        &self,
4659        _req: crate::model::UpdateContextRequest,
4660        _options: gax::options::RequestOptions,
4661    ) -> impl std::future::Future<
4662        Output = crate::Result<gax::response::Response<crate::model::Context>>,
4663    > + Send {
4664        std::future::ready::<crate::Result<gax::response::Response<crate::model::Context>>>(Err(
4665            Error::other("unimplemented"),
4666        ))
4667    }
4668
4669    /// Implements [super::client::MetadataService::delete_context].
4670    fn delete_context(
4671        &self,
4672        _req: crate::model::DeleteContextRequest,
4673        _options: gax::options::RequestOptions,
4674    ) -> impl std::future::Future<
4675        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
4676    > + Send {
4677        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
4678            Err(Error::other("unimplemented")),
4679        )
4680    }
4681
4682    /// Implements [super::client::MetadataService::purge_contexts].
4683    fn purge_contexts(
4684        &self,
4685        _req: crate::model::PurgeContextsRequest,
4686        _options: gax::options::RequestOptions,
4687    ) -> impl std::future::Future<
4688        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
4689    > + Send {
4690        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
4691            Err(Error::other("unimplemented")),
4692        )
4693    }
4694
4695    /// Implements [super::client::MetadataService::add_context_artifacts_and_executions].
4696    fn add_context_artifacts_and_executions(
4697        &self,
4698        _req: crate::model::AddContextArtifactsAndExecutionsRequest,
4699        _options: gax::options::RequestOptions,
4700    ) -> impl std::future::Future<
4701        Output = crate::Result<
4702            gax::response::Response<crate::model::AddContextArtifactsAndExecutionsResponse>,
4703        >,
4704    > + Send {
4705        std::future::ready::<
4706            crate::Result<
4707                gax::response::Response<crate::model::AddContextArtifactsAndExecutionsResponse>,
4708            >,
4709        >(Err(Error::other("unimplemented")))
4710    }
4711
4712    /// Implements [super::client::MetadataService::add_context_children].
4713    fn add_context_children(
4714        &self,
4715        _req: crate::model::AddContextChildrenRequest,
4716        _options: gax::options::RequestOptions,
4717    ) -> impl std::future::Future<
4718        Output = crate::Result<gax::response::Response<crate::model::AddContextChildrenResponse>>,
4719    > + Send {
4720        std::future::ready::<
4721            crate::Result<gax::response::Response<crate::model::AddContextChildrenResponse>>,
4722        >(Err(Error::other("unimplemented")))
4723    }
4724
4725    /// Implements [super::client::MetadataService::remove_context_children].
4726    fn remove_context_children(
4727        &self,
4728        _req: crate::model::RemoveContextChildrenRequest,
4729        _options: gax::options::RequestOptions,
4730    ) -> impl std::future::Future<
4731        Output = crate::Result<
4732            gax::response::Response<crate::model::RemoveContextChildrenResponse>,
4733        >,
4734    > + Send {
4735        std::future::ready::<
4736            crate::Result<gax::response::Response<crate::model::RemoveContextChildrenResponse>>,
4737        >(Err(Error::other("unimplemented")))
4738    }
4739
4740    /// Implements [super::client::MetadataService::query_context_lineage_subgraph].
4741    fn query_context_lineage_subgraph(
4742        &self,
4743        _req: crate::model::QueryContextLineageSubgraphRequest,
4744        _options: gax::options::RequestOptions,
4745    ) -> impl std::future::Future<
4746        Output = crate::Result<gax::response::Response<crate::model::LineageSubgraph>>,
4747    > + Send {
4748        std::future::ready::<crate::Result<gax::response::Response<crate::model::LineageSubgraph>>>(
4749            Err(Error::other("unimplemented")),
4750        )
4751    }
4752
4753    /// Implements [super::client::MetadataService::create_execution].
4754    fn create_execution(
4755        &self,
4756        _req: crate::model::CreateExecutionRequest,
4757        _options: gax::options::RequestOptions,
4758    ) -> impl std::future::Future<
4759        Output = crate::Result<gax::response::Response<crate::model::Execution>>,
4760    > + Send {
4761        std::future::ready::<crate::Result<gax::response::Response<crate::model::Execution>>>(Err(
4762            Error::other("unimplemented"),
4763        ))
4764    }
4765
4766    /// Implements [super::client::MetadataService::get_execution].
4767    fn get_execution(
4768        &self,
4769        _req: crate::model::GetExecutionRequest,
4770        _options: gax::options::RequestOptions,
4771    ) -> impl std::future::Future<
4772        Output = crate::Result<gax::response::Response<crate::model::Execution>>,
4773    > + Send {
4774        std::future::ready::<crate::Result<gax::response::Response<crate::model::Execution>>>(Err(
4775            Error::other("unimplemented"),
4776        ))
4777    }
4778
4779    /// Implements [super::client::MetadataService::list_executions].
4780    fn list_executions(
4781        &self,
4782        _req: crate::model::ListExecutionsRequest,
4783        _options: gax::options::RequestOptions,
4784    ) -> impl std::future::Future<
4785        Output = crate::Result<gax::response::Response<crate::model::ListExecutionsResponse>>,
4786    > + Send {
4787        std::future::ready::<
4788            crate::Result<gax::response::Response<crate::model::ListExecutionsResponse>>,
4789        >(Err(Error::other("unimplemented")))
4790    }
4791
4792    /// Implements [super::client::MetadataService::update_execution].
4793    fn update_execution(
4794        &self,
4795        _req: crate::model::UpdateExecutionRequest,
4796        _options: gax::options::RequestOptions,
4797    ) -> impl std::future::Future<
4798        Output = crate::Result<gax::response::Response<crate::model::Execution>>,
4799    > + Send {
4800        std::future::ready::<crate::Result<gax::response::Response<crate::model::Execution>>>(Err(
4801            Error::other("unimplemented"),
4802        ))
4803    }
4804
4805    /// Implements [super::client::MetadataService::delete_execution].
4806    fn delete_execution(
4807        &self,
4808        _req: crate::model::DeleteExecutionRequest,
4809        _options: gax::options::RequestOptions,
4810    ) -> impl std::future::Future<
4811        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
4812    > + Send {
4813        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
4814            Err(Error::other("unimplemented")),
4815        )
4816    }
4817
4818    /// Implements [super::client::MetadataService::purge_executions].
4819    fn purge_executions(
4820        &self,
4821        _req: crate::model::PurgeExecutionsRequest,
4822        _options: gax::options::RequestOptions,
4823    ) -> impl std::future::Future<
4824        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
4825    > + Send {
4826        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
4827            Err(Error::other("unimplemented")),
4828        )
4829    }
4830
4831    /// Implements [super::client::MetadataService::add_execution_events].
4832    fn add_execution_events(
4833        &self,
4834        _req: crate::model::AddExecutionEventsRequest,
4835        _options: gax::options::RequestOptions,
4836    ) -> impl std::future::Future<
4837        Output = crate::Result<gax::response::Response<crate::model::AddExecutionEventsResponse>>,
4838    > + Send {
4839        std::future::ready::<
4840            crate::Result<gax::response::Response<crate::model::AddExecutionEventsResponse>>,
4841        >(Err(Error::other("unimplemented")))
4842    }
4843
4844    /// Implements [super::client::MetadataService::query_execution_inputs_and_outputs].
4845    fn query_execution_inputs_and_outputs(
4846        &self,
4847        _req: crate::model::QueryExecutionInputsAndOutputsRequest,
4848        _options: gax::options::RequestOptions,
4849    ) -> impl std::future::Future<
4850        Output = crate::Result<gax::response::Response<crate::model::LineageSubgraph>>,
4851    > + Send {
4852        std::future::ready::<crate::Result<gax::response::Response<crate::model::LineageSubgraph>>>(
4853            Err(Error::other("unimplemented")),
4854        )
4855    }
4856
4857    /// Implements [super::client::MetadataService::create_metadata_schema].
4858    fn create_metadata_schema(
4859        &self,
4860        _req: crate::model::CreateMetadataSchemaRequest,
4861        _options: gax::options::RequestOptions,
4862    ) -> impl std::future::Future<
4863        Output = crate::Result<gax::response::Response<crate::model::MetadataSchema>>,
4864    > + Send {
4865        std::future::ready::<crate::Result<gax::response::Response<crate::model::MetadataSchema>>>(
4866            Err(Error::other("unimplemented")),
4867        )
4868    }
4869
4870    /// Implements [super::client::MetadataService::get_metadata_schema].
4871    fn get_metadata_schema(
4872        &self,
4873        _req: crate::model::GetMetadataSchemaRequest,
4874        _options: gax::options::RequestOptions,
4875    ) -> impl std::future::Future<
4876        Output = crate::Result<gax::response::Response<crate::model::MetadataSchema>>,
4877    > + Send {
4878        std::future::ready::<crate::Result<gax::response::Response<crate::model::MetadataSchema>>>(
4879            Err(Error::other("unimplemented")),
4880        )
4881    }
4882
4883    /// Implements [super::client::MetadataService::list_metadata_schemas].
4884    fn list_metadata_schemas(
4885        &self,
4886        _req: crate::model::ListMetadataSchemasRequest,
4887        _options: gax::options::RequestOptions,
4888    ) -> impl std::future::Future<
4889        Output = crate::Result<gax::response::Response<crate::model::ListMetadataSchemasResponse>>,
4890    > + Send {
4891        std::future::ready::<
4892            crate::Result<gax::response::Response<crate::model::ListMetadataSchemasResponse>>,
4893        >(Err(Error::other("unimplemented")))
4894    }
4895
4896    /// Implements [super::client::MetadataService::query_artifact_lineage_subgraph].
4897    fn query_artifact_lineage_subgraph(
4898        &self,
4899        _req: crate::model::QueryArtifactLineageSubgraphRequest,
4900        _options: gax::options::RequestOptions,
4901    ) -> impl std::future::Future<
4902        Output = crate::Result<gax::response::Response<crate::model::LineageSubgraph>>,
4903    > + Send {
4904        std::future::ready::<crate::Result<gax::response::Response<crate::model::LineageSubgraph>>>(
4905            Err(Error::other("unimplemented")),
4906        )
4907    }
4908
4909    /// Implements [super::client::MetadataService::list_locations].
4910    fn list_locations(
4911        &self,
4912        _req: location::model::ListLocationsRequest,
4913        _options: gax::options::RequestOptions,
4914    ) -> impl std::future::Future<
4915        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
4916    > + Send {
4917        std::future::ready::<
4918            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
4919        >(Err(Error::other("unimplemented")))
4920    }
4921
4922    /// Implements [super::client::MetadataService::get_location].
4923    fn get_location(
4924        &self,
4925        _req: location::model::GetLocationRequest,
4926        _options: gax::options::RequestOptions,
4927    ) -> impl std::future::Future<
4928        Output = crate::Result<gax::response::Response<location::model::Location>>,
4929    > + Send {
4930        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
4931            Err(Error::other("unimplemented")),
4932        )
4933    }
4934
4935    /// Implements [super::client::MetadataService::set_iam_policy].
4936    fn set_iam_policy(
4937        &self,
4938        _req: iam_v1::model::SetIamPolicyRequest,
4939        _options: gax::options::RequestOptions,
4940    ) -> impl std::future::Future<
4941        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
4942    > + Send {
4943        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
4944            Error::other("unimplemented"),
4945        ))
4946    }
4947
4948    /// Implements [super::client::MetadataService::get_iam_policy].
4949    fn get_iam_policy(
4950        &self,
4951        _req: iam_v1::model::GetIamPolicyRequest,
4952        _options: gax::options::RequestOptions,
4953    ) -> impl std::future::Future<
4954        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
4955    > + Send {
4956        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
4957            Error::other("unimplemented"),
4958        ))
4959    }
4960
4961    /// Implements [super::client::MetadataService::test_iam_permissions].
4962    fn test_iam_permissions(
4963        &self,
4964        _req: iam_v1::model::TestIamPermissionsRequest,
4965        _options: gax::options::RequestOptions,
4966    ) -> impl std::future::Future<
4967        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
4968    > + Send {
4969        std::future::ready::<
4970            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
4971        >(Err(Error::other("unimplemented")))
4972    }
4973
4974    /// Implements [super::client::MetadataService::list_operations].
4975    fn list_operations(
4976        &self,
4977        _req: longrunning::model::ListOperationsRequest,
4978        _options: gax::options::RequestOptions,
4979    ) -> impl std::future::Future<
4980        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
4981    > + Send {
4982        std::future::ready::<
4983            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
4984        >(Err(Error::other("unimplemented")))
4985    }
4986
4987    /// Implements [super::client::MetadataService::get_operation].
4988    fn get_operation(
4989        &self,
4990        _req: longrunning::model::GetOperationRequest,
4991        _options: gax::options::RequestOptions,
4992    ) -> impl std::future::Future<
4993        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
4994    > + Send {
4995        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
4996            Err(Error::other("unimplemented")),
4997        )
4998    }
4999
5000    /// Implements [super::client::MetadataService::delete_operation].
5001    fn delete_operation(
5002        &self,
5003        _req: longrunning::model::DeleteOperationRequest,
5004        _options: gax::options::RequestOptions,
5005    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
5006        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
5007            "unimplemented",
5008        )))
5009    }
5010
5011    /// Implements [super::client::MetadataService::cancel_operation].
5012    fn cancel_operation(
5013        &self,
5014        _req: longrunning::model::CancelOperationRequest,
5015        _options: gax::options::RequestOptions,
5016    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
5017        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
5018            "unimplemented",
5019        )))
5020    }
5021
5022    /// Implements [super::client::MetadataService::wait_operation].
5023    fn wait_operation(
5024        &self,
5025        _req: longrunning::model::WaitOperationRequest,
5026        _options: gax::options::RequestOptions,
5027    ) -> impl std::future::Future<
5028        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
5029    > + Send {
5030        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
5031            Err(Error::other("unimplemented")),
5032        )
5033    }
5034
5035    /// Returns the polling error policy.
5036    ///
5037    /// When mocking, this method is typically irrelevant. Do not try to verify
5038    /// it is called by your mocks.
5039    fn get_polling_error_policy(
5040        &self,
5041        _options: &gax::options::RequestOptions,
5042    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
5043        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
5044    }
5045
5046    /// Returns the polling backoff policy.
5047    ///
5048    /// When mocking, this method is typically irrelevant. Do not try to verify
5049    /// it is called by your mocks.
5050    fn get_polling_backoff_policy(
5051        &self,
5052        _options: &gax::options::RequestOptions,
5053    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
5054        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
5055    }
5056}
5057
5058/// Defines the trait used to implement [super::client::MigrationService].
5059///
5060/// Application developers may need to implement this trait to mock
5061/// `client::MigrationService`.  In other use-cases, application developers only
5062/// use `client::MigrationService` and need not be concerned with this trait or
5063/// its implementations.
5064///
5065/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5066/// too. To avoid breaking applications the trait provides a default
5067/// implementation of each method. Most of these implementations just return an
5068/// error.
5069#[cfg(feature = "migration-service")]
5070#[cfg_attr(docsrs, doc(cfg(feature = "migration-service")))]
5071pub trait MigrationService: std::fmt::Debug + Send + Sync {
5072    /// Implements [super::client::MigrationService::search_migratable_resources].
5073    fn search_migratable_resources(
5074        &self,
5075        _req: crate::model::SearchMigratableResourcesRequest,
5076        _options: gax::options::RequestOptions,
5077    ) -> impl std::future::Future<
5078        Output = crate::Result<
5079            gax::response::Response<crate::model::SearchMigratableResourcesResponse>,
5080        >,
5081    > + Send {
5082        std::future::ready::<
5083            crate::Result<gax::response::Response<crate::model::SearchMigratableResourcesResponse>>,
5084        >(Err(Error::other("unimplemented")))
5085    }
5086
5087    /// Implements [super::client::MigrationService::batch_migrate_resources].
5088    fn batch_migrate_resources(
5089        &self,
5090        _req: crate::model::BatchMigrateResourcesRequest,
5091        _options: gax::options::RequestOptions,
5092    ) -> impl std::future::Future<
5093        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
5094    > + Send {
5095        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
5096            Err(Error::other("unimplemented")),
5097        )
5098    }
5099
5100    /// Implements [super::client::MigrationService::list_locations].
5101    fn list_locations(
5102        &self,
5103        _req: location::model::ListLocationsRequest,
5104        _options: gax::options::RequestOptions,
5105    ) -> impl std::future::Future<
5106        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
5107    > + Send {
5108        std::future::ready::<
5109            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
5110        >(Err(Error::other("unimplemented")))
5111    }
5112
5113    /// Implements [super::client::MigrationService::get_location].
5114    fn get_location(
5115        &self,
5116        _req: location::model::GetLocationRequest,
5117        _options: gax::options::RequestOptions,
5118    ) -> impl std::future::Future<
5119        Output = crate::Result<gax::response::Response<location::model::Location>>,
5120    > + Send {
5121        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
5122            Err(Error::other("unimplemented")),
5123        )
5124    }
5125
5126    /// Implements [super::client::MigrationService::set_iam_policy].
5127    fn set_iam_policy(
5128        &self,
5129        _req: iam_v1::model::SetIamPolicyRequest,
5130        _options: gax::options::RequestOptions,
5131    ) -> impl std::future::Future<
5132        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
5133    > + Send {
5134        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
5135            Error::other("unimplemented"),
5136        ))
5137    }
5138
5139    /// Implements [super::client::MigrationService::get_iam_policy].
5140    fn get_iam_policy(
5141        &self,
5142        _req: iam_v1::model::GetIamPolicyRequest,
5143        _options: gax::options::RequestOptions,
5144    ) -> impl std::future::Future<
5145        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
5146    > + Send {
5147        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
5148            Error::other("unimplemented"),
5149        ))
5150    }
5151
5152    /// Implements [super::client::MigrationService::test_iam_permissions].
5153    fn test_iam_permissions(
5154        &self,
5155        _req: iam_v1::model::TestIamPermissionsRequest,
5156        _options: gax::options::RequestOptions,
5157    ) -> impl std::future::Future<
5158        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
5159    > + Send {
5160        std::future::ready::<
5161            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
5162        >(Err(Error::other("unimplemented")))
5163    }
5164
5165    /// Implements [super::client::MigrationService::list_operations].
5166    fn list_operations(
5167        &self,
5168        _req: longrunning::model::ListOperationsRequest,
5169        _options: gax::options::RequestOptions,
5170    ) -> impl std::future::Future<
5171        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
5172    > + Send {
5173        std::future::ready::<
5174            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
5175        >(Err(Error::other("unimplemented")))
5176    }
5177
5178    /// Implements [super::client::MigrationService::get_operation].
5179    fn get_operation(
5180        &self,
5181        _req: longrunning::model::GetOperationRequest,
5182        _options: gax::options::RequestOptions,
5183    ) -> impl std::future::Future<
5184        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
5185    > + Send {
5186        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
5187            Err(Error::other("unimplemented")),
5188        )
5189    }
5190
5191    /// Implements [super::client::MigrationService::delete_operation].
5192    fn delete_operation(
5193        &self,
5194        _req: longrunning::model::DeleteOperationRequest,
5195        _options: gax::options::RequestOptions,
5196    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
5197        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
5198            "unimplemented",
5199        )))
5200    }
5201
5202    /// Implements [super::client::MigrationService::cancel_operation].
5203    fn cancel_operation(
5204        &self,
5205        _req: longrunning::model::CancelOperationRequest,
5206        _options: gax::options::RequestOptions,
5207    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
5208        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
5209            "unimplemented",
5210        )))
5211    }
5212
5213    /// Implements [super::client::MigrationService::wait_operation].
5214    fn wait_operation(
5215        &self,
5216        _req: longrunning::model::WaitOperationRequest,
5217        _options: gax::options::RequestOptions,
5218    ) -> impl std::future::Future<
5219        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
5220    > + Send {
5221        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
5222            Err(Error::other("unimplemented")),
5223        )
5224    }
5225
5226    /// Returns the polling error policy.
5227    ///
5228    /// When mocking, this method is typically irrelevant. Do not try to verify
5229    /// it is called by your mocks.
5230    fn get_polling_error_policy(
5231        &self,
5232        _options: &gax::options::RequestOptions,
5233    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
5234        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
5235    }
5236
5237    /// Returns the polling backoff policy.
5238    ///
5239    /// When mocking, this method is typically irrelevant. Do not try to verify
5240    /// it is called by your mocks.
5241    fn get_polling_backoff_policy(
5242        &self,
5243        _options: &gax::options::RequestOptions,
5244    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
5245        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
5246    }
5247}
5248
5249/// Defines the trait used to implement [super::client::ModelGardenService].
5250///
5251/// Application developers may need to implement this trait to mock
5252/// `client::ModelGardenService`.  In other use-cases, application developers only
5253/// use `client::ModelGardenService` and need not be concerned with this trait or
5254/// its implementations.
5255///
5256/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5257/// too. To avoid breaking applications the trait provides a default
5258/// implementation of each method. Most of these implementations just return an
5259/// error.
5260#[cfg(feature = "model-garden-service")]
5261#[cfg_attr(docsrs, doc(cfg(feature = "model-garden-service")))]
5262pub trait ModelGardenService: std::fmt::Debug + Send + Sync {
5263    /// Implements [super::client::ModelGardenService::get_publisher_model].
5264    fn get_publisher_model(
5265        &self,
5266        _req: crate::model::GetPublisherModelRequest,
5267        _options: gax::options::RequestOptions,
5268    ) -> impl std::future::Future<
5269        Output = crate::Result<gax::response::Response<crate::model::PublisherModel>>,
5270    > + Send {
5271        std::future::ready::<crate::Result<gax::response::Response<crate::model::PublisherModel>>>(
5272            Err(Error::other("unimplemented")),
5273        )
5274    }
5275
5276    /// Implements [super::client::ModelGardenService::list_locations].
5277    fn list_locations(
5278        &self,
5279        _req: location::model::ListLocationsRequest,
5280        _options: gax::options::RequestOptions,
5281    ) -> impl std::future::Future<
5282        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
5283    > + Send {
5284        std::future::ready::<
5285            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
5286        >(Err(Error::other("unimplemented")))
5287    }
5288
5289    /// Implements [super::client::ModelGardenService::get_location].
5290    fn get_location(
5291        &self,
5292        _req: location::model::GetLocationRequest,
5293        _options: gax::options::RequestOptions,
5294    ) -> impl std::future::Future<
5295        Output = crate::Result<gax::response::Response<location::model::Location>>,
5296    > + Send {
5297        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
5298            Err(Error::other("unimplemented")),
5299        )
5300    }
5301
5302    /// Implements [super::client::ModelGardenService::set_iam_policy].
5303    fn set_iam_policy(
5304        &self,
5305        _req: iam_v1::model::SetIamPolicyRequest,
5306        _options: gax::options::RequestOptions,
5307    ) -> impl std::future::Future<
5308        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
5309    > + Send {
5310        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
5311            Error::other("unimplemented"),
5312        ))
5313    }
5314
5315    /// Implements [super::client::ModelGardenService::get_iam_policy].
5316    fn get_iam_policy(
5317        &self,
5318        _req: iam_v1::model::GetIamPolicyRequest,
5319        _options: gax::options::RequestOptions,
5320    ) -> impl std::future::Future<
5321        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
5322    > + Send {
5323        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
5324            Error::other("unimplemented"),
5325        ))
5326    }
5327
5328    /// Implements [super::client::ModelGardenService::test_iam_permissions].
5329    fn test_iam_permissions(
5330        &self,
5331        _req: iam_v1::model::TestIamPermissionsRequest,
5332        _options: gax::options::RequestOptions,
5333    ) -> impl std::future::Future<
5334        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
5335    > + Send {
5336        std::future::ready::<
5337            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
5338        >(Err(Error::other("unimplemented")))
5339    }
5340
5341    /// Implements [super::client::ModelGardenService::list_operations].
5342    fn list_operations(
5343        &self,
5344        _req: longrunning::model::ListOperationsRequest,
5345        _options: gax::options::RequestOptions,
5346    ) -> impl std::future::Future<
5347        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
5348    > + Send {
5349        std::future::ready::<
5350            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
5351        >(Err(Error::other("unimplemented")))
5352    }
5353
5354    /// Implements [super::client::ModelGardenService::get_operation].
5355    fn get_operation(
5356        &self,
5357        _req: longrunning::model::GetOperationRequest,
5358        _options: gax::options::RequestOptions,
5359    ) -> impl std::future::Future<
5360        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
5361    > + Send {
5362        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
5363            Err(Error::other("unimplemented")),
5364        )
5365    }
5366
5367    /// Implements [super::client::ModelGardenService::delete_operation].
5368    fn delete_operation(
5369        &self,
5370        _req: longrunning::model::DeleteOperationRequest,
5371        _options: gax::options::RequestOptions,
5372    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
5373        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
5374            "unimplemented",
5375        )))
5376    }
5377
5378    /// Implements [super::client::ModelGardenService::cancel_operation].
5379    fn cancel_operation(
5380        &self,
5381        _req: longrunning::model::CancelOperationRequest,
5382        _options: gax::options::RequestOptions,
5383    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
5384        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
5385            "unimplemented",
5386        )))
5387    }
5388
5389    /// Implements [super::client::ModelGardenService::wait_operation].
5390    fn wait_operation(
5391        &self,
5392        _req: longrunning::model::WaitOperationRequest,
5393        _options: gax::options::RequestOptions,
5394    ) -> impl std::future::Future<
5395        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
5396    > + Send {
5397        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
5398            Err(Error::other("unimplemented")),
5399        )
5400    }
5401}
5402
5403/// Defines the trait used to implement [super::client::ModelService].
5404///
5405/// Application developers may need to implement this trait to mock
5406/// `client::ModelService`.  In other use-cases, application developers only
5407/// use `client::ModelService` and need not be concerned with this trait or
5408/// its implementations.
5409///
5410/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5411/// too. To avoid breaking applications the trait provides a default
5412/// implementation of each method. Most of these implementations just return an
5413/// error.
5414#[cfg(feature = "model-service")]
5415#[cfg_attr(docsrs, doc(cfg(feature = "model-service")))]
5416pub trait ModelService: std::fmt::Debug + Send + Sync {
5417    /// Implements [super::client::ModelService::upload_model].
5418    fn upload_model(
5419        &self,
5420        _req: crate::model::UploadModelRequest,
5421        _options: gax::options::RequestOptions,
5422    ) -> impl std::future::Future<
5423        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
5424    > + Send {
5425        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
5426            Err(Error::other("unimplemented")),
5427        )
5428    }
5429
5430    /// Implements [super::client::ModelService::get_model].
5431    fn get_model(
5432        &self,
5433        _req: crate::model::GetModelRequest,
5434        _options: gax::options::RequestOptions,
5435    ) -> impl std::future::Future<
5436        Output = crate::Result<gax::response::Response<crate::model::Model>>,
5437    > + Send {
5438        std::future::ready::<crate::Result<gax::response::Response<crate::model::Model>>>(Err(
5439            Error::other("unimplemented"),
5440        ))
5441    }
5442
5443    /// Implements [super::client::ModelService::list_models].
5444    fn list_models(
5445        &self,
5446        _req: crate::model::ListModelsRequest,
5447        _options: gax::options::RequestOptions,
5448    ) -> impl std::future::Future<
5449        Output = crate::Result<gax::response::Response<crate::model::ListModelsResponse>>,
5450    > + Send {
5451        std::future::ready::<crate::Result<gax::response::Response<crate::model::ListModelsResponse>>>(
5452            Err(Error::other("unimplemented")),
5453        )
5454    }
5455
5456    /// Implements [super::client::ModelService::list_model_versions].
5457    fn list_model_versions(
5458        &self,
5459        _req: crate::model::ListModelVersionsRequest,
5460        _options: gax::options::RequestOptions,
5461    ) -> impl std::future::Future<
5462        Output = crate::Result<gax::response::Response<crate::model::ListModelVersionsResponse>>,
5463    > + Send {
5464        std::future::ready::<
5465            crate::Result<gax::response::Response<crate::model::ListModelVersionsResponse>>,
5466        >(Err(Error::other("unimplemented")))
5467    }
5468
5469    /// Implements [super::client::ModelService::list_model_version_checkpoints].
5470    fn list_model_version_checkpoints(
5471        &self,
5472        _req: crate::model::ListModelVersionCheckpointsRequest,
5473        _options: gax::options::RequestOptions,
5474    ) -> impl std::future::Future<
5475        Output = crate::Result<
5476            gax::response::Response<crate::model::ListModelVersionCheckpointsResponse>,
5477        >,
5478    > + Send {
5479        std::future::ready::<
5480            crate::Result<
5481                gax::response::Response<crate::model::ListModelVersionCheckpointsResponse>,
5482            >,
5483        >(Err(Error::other("unimplemented")))
5484    }
5485
5486    /// Implements [super::client::ModelService::update_model].
5487    fn update_model(
5488        &self,
5489        _req: crate::model::UpdateModelRequest,
5490        _options: gax::options::RequestOptions,
5491    ) -> impl std::future::Future<
5492        Output = crate::Result<gax::response::Response<crate::model::Model>>,
5493    > + Send {
5494        std::future::ready::<crate::Result<gax::response::Response<crate::model::Model>>>(Err(
5495            Error::other("unimplemented"),
5496        ))
5497    }
5498
5499    /// Implements [super::client::ModelService::update_explanation_dataset].
5500    fn update_explanation_dataset(
5501        &self,
5502        _req: crate::model::UpdateExplanationDatasetRequest,
5503        _options: gax::options::RequestOptions,
5504    ) -> impl std::future::Future<
5505        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
5506    > + Send {
5507        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
5508            Err(Error::other("unimplemented")),
5509        )
5510    }
5511
5512    /// Implements [super::client::ModelService::delete_model].
5513    fn delete_model(
5514        &self,
5515        _req: crate::model::DeleteModelRequest,
5516        _options: gax::options::RequestOptions,
5517    ) -> impl std::future::Future<
5518        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
5519    > + Send {
5520        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
5521            Err(Error::other("unimplemented")),
5522        )
5523    }
5524
5525    /// Implements [super::client::ModelService::delete_model_version].
5526    fn delete_model_version(
5527        &self,
5528        _req: crate::model::DeleteModelVersionRequest,
5529        _options: gax::options::RequestOptions,
5530    ) -> impl std::future::Future<
5531        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
5532    > + Send {
5533        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
5534            Err(Error::other("unimplemented")),
5535        )
5536    }
5537
5538    /// Implements [super::client::ModelService::merge_version_aliases].
5539    fn merge_version_aliases(
5540        &self,
5541        _req: crate::model::MergeVersionAliasesRequest,
5542        _options: gax::options::RequestOptions,
5543    ) -> impl std::future::Future<
5544        Output = crate::Result<gax::response::Response<crate::model::Model>>,
5545    > + Send {
5546        std::future::ready::<crate::Result<gax::response::Response<crate::model::Model>>>(Err(
5547            Error::other("unimplemented"),
5548        ))
5549    }
5550
5551    /// Implements [super::client::ModelService::export_model].
5552    fn export_model(
5553        &self,
5554        _req: crate::model::ExportModelRequest,
5555        _options: gax::options::RequestOptions,
5556    ) -> impl std::future::Future<
5557        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
5558    > + Send {
5559        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
5560            Err(Error::other("unimplemented")),
5561        )
5562    }
5563
5564    /// Implements [super::client::ModelService::copy_model].
5565    fn copy_model(
5566        &self,
5567        _req: crate::model::CopyModelRequest,
5568        _options: gax::options::RequestOptions,
5569    ) -> impl std::future::Future<
5570        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
5571    > + Send {
5572        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
5573            Err(Error::other("unimplemented")),
5574        )
5575    }
5576
5577    /// Implements [super::client::ModelService::import_model_evaluation].
5578    fn import_model_evaluation(
5579        &self,
5580        _req: crate::model::ImportModelEvaluationRequest,
5581        _options: gax::options::RequestOptions,
5582    ) -> impl std::future::Future<
5583        Output = crate::Result<gax::response::Response<crate::model::ModelEvaluation>>,
5584    > + Send {
5585        std::future::ready::<crate::Result<gax::response::Response<crate::model::ModelEvaluation>>>(
5586            Err(Error::other("unimplemented")),
5587        )
5588    }
5589
5590    /// Implements [super::client::ModelService::batch_import_model_evaluation_slices].
5591    fn batch_import_model_evaluation_slices(
5592        &self,
5593        _req: crate::model::BatchImportModelEvaluationSlicesRequest,
5594        _options: gax::options::RequestOptions,
5595    ) -> impl std::future::Future<
5596        Output = crate::Result<
5597            gax::response::Response<crate::model::BatchImportModelEvaluationSlicesResponse>,
5598        >,
5599    > + Send {
5600        std::future::ready::<
5601            crate::Result<
5602                gax::response::Response<crate::model::BatchImportModelEvaluationSlicesResponse>,
5603            >,
5604        >(Err(Error::other("unimplemented")))
5605    }
5606
5607    /// Implements [super::client::ModelService::batch_import_evaluated_annotations].
5608    fn batch_import_evaluated_annotations(
5609        &self,
5610        _req: crate::model::BatchImportEvaluatedAnnotationsRequest,
5611        _options: gax::options::RequestOptions,
5612    ) -> impl std::future::Future<
5613        Output = crate::Result<
5614            gax::response::Response<crate::model::BatchImportEvaluatedAnnotationsResponse>,
5615        >,
5616    > + Send {
5617        std::future::ready::<
5618            crate::Result<
5619                gax::response::Response<crate::model::BatchImportEvaluatedAnnotationsResponse>,
5620            >,
5621        >(Err(Error::other("unimplemented")))
5622    }
5623
5624    /// Implements [super::client::ModelService::get_model_evaluation].
5625    fn get_model_evaluation(
5626        &self,
5627        _req: crate::model::GetModelEvaluationRequest,
5628        _options: gax::options::RequestOptions,
5629    ) -> impl std::future::Future<
5630        Output = crate::Result<gax::response::Response<crate::model::ModelEvaluation>>,
5631    > + Send {
5632        std::future::ready::<crate::Result<gax::response::Response<crate::model::ModelEvaluation>>>(
5633            Err(Error::other("unimplemented")),
5634        )
5635    }
5636
5637    /// Implements [super::client::ModelService::list_model_evaluations].
5638    fn list_model_evaluations(
5639        &self,
5640        _req: crate::model::ListModelEvaluationsRequest,
5641        _options: gax::options::RequestOptions,
5642    ) -> impl std::future::Future<
5643        Output = crate::Result<gax::response::Response<crate::model::ListModelEvaluationsResponse>>,
5644    > + Send {
5645        std::future::ready::<
5646            crate::Result<gax::response::Response<crate::model::ListModelEvaluationsResponse>>,
5647        >(Err(Error::other("unimplemented")))
5648    }
5649
5650    /// Implements [super::client::ModelService::get_model_evaluation_slice].
5651    fn get_model_evaluation_slice(
5652        &self,
5653        _req: crate::model::GetModelEvaluationSliceRequest,
5654        _options: gax::options::RequestOptions,
5655    ) -> impl std::future::Future<
5656        Output = crate::Result<gax::response::Response<crate::model::ModelEvaluationSlice>>,
5657    > + Send {
5658        std::future::ready::<
5659            crate::Result<gax::response::Response<crate::model::ModelEvaluationSlice>>,
5660        >(Err(Error::other("unimplemented")))
5661    }
5662
5663    /// Implements [super::client::ModelService::list_model_evaluation_slices].
5664    fn list_model_evaluation_slices(
5665        &self,
5666        _req: crate::model::ListModelEvaluationSlicesRequest,
5667        _options: gax::options::RequestOptions,
5668    ) -> impl std::future::Future<
5669        Output = crate::Result<
5670            gax::response::Response<crate::model::ListModelEvaluationSlicesResponse>,
5671        >,
5672    > + Send {
5673        std::future::ready::<
5674            crate::Result<gax::response::Response<crate::model::ListModelEvaluationSlicesResponse>>,
5675        >(Err(Error::other("unimplemented")))
5676    }
5677
5678    /// Implements [super::client::ModelService::list_locations].
5679    fn list_locations(
5680        &self,
5681        _req: location::model::ListLocationsRequest,
5682        _options: gax::options::RequestOptions,
5683    ) -> impl std::future::Future<
5684        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
5685    > + Send {
5686        std::future::ready::<
5687            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
5688        >(Err(Error::other("unimplemented")))
5689    }
5690
5691    /// Implements [super::client::ModelService::get_location].
5692    fn get_location(
5693        &self,
5694        _req: location::model::GetLocationRequest,
5695        _options: gax::options::RequestOptions,
5696    ) -> impl std::future::Future<
5697        Output = crate::Result<gax::response::Response<location::model::Location>>,
5698    > + Send {
5699        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
5700            Err(Error::other("unimplemented")),
5701        )
5702    }
5703
5704    /// Implements [super::client::ModelService::set_iam_policy].
5705    fn set_iam_policy(
5706        &self,
5707        _req: iam_v1::model::SetIamPolicyRequest,
5708        _options: gax::options::RequestOptions,
5709    ) -> impl std::future::Future<
5710        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
5711    > + Send {
5712        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
5713            Error::other("unimplemented"),
5714        ))
5715    }
5716
5717    /// Implements [super::client::ModelService::get_iam_policy].
5718    fn get_iam_policy(
5719        &self,
5720        _req: iam_v1::model::GetIamPolicyRequest,
5721        _options: gax::options::RequestOptions,
5722    ) -> impl std::future::Future<
5723        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
5724    > + Send {
5725        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
5726            Error::other("unimplemented"),
5727        ))
5728    }
5729
5730    /// Implements [super::client::ModelService::test_iam_permissions].
5731    fn test_iam_permissions(
5732        &self,
5733        _req: iam_v1::model::TestIamPermissionsRequest,
5734        _options: gax::options::RequestOptions,
5735    ) -> impl std::future::Future<
5736        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
5737    > + Send {
5738        std::future::ready::<
5739            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
5740        >(Err(Error::other("unimplemented")))
5741    }
5742
5743    /// Implements [super::client::ModelService::list_operations].
5744    fn list_operations(
5745        &self,
5746        _req: longrunning::model::ListOperationsRequest,
5747        _options: gax::options::RequestOptions,
5748    ) -> impl std::future::Future<
5749        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
5750    > + Send {
5751        std::future::ready::<
5752            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
5753        >(Err(Error::other("unimplemented")))
5754    }
5755
5756    /// Implements [super::client::ModelService::get_operation].
5757    fn get_operation(
5758        &self,
5759        _req: longrunning::model::GetOperationRequest,
5760        _options: gax::options::RequestOptions,
5761    ) -> impl std::future::Future<
5762        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
5763    > + Send {
5764        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
5765            Err(Error::other("unimplemented")),
5766        )
5767    }
5768
5769    /// Implements [super::client::ModelService::delete_operation].
5770    fn delete_operation(
5771        &self,
5772        _req: longrunning::model::DeleteOperationRequest,
5773        _options: gax::options::RequestOptions,
5774    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
5775        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
5776            "unimplemented",
5777        )))
5778    }
5779
5780    /// Implements [super::client::ModelService::cancel_operation].
5781    fn cancel_operation(
5782        &self,
5783        _req: longrunning::model::CancelOperationRequest,
5784        _options: gax::options::RequestOptions,
5785    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
5786        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
5787            "unimplemented",
5788        )))
5789    }
5790
5791    /// Implements [super::client::ModelService::wait_operation].
5792    fn wait_operation(
5793        &self,
5794        _req: longrunning::model::WaitOperationRequest,
5795        _options: gax::options::RequestOptions,
5796    ) -> impl std::future::Future<
5797        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
5798    > + Send {
5799        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
5800            Err(Error::other("unimplemented")),
5801        )
5802    }
5803
5804    /// Returns the polling error policy.
5805    ///
5806    /// When mocking, this method is typically irrelevant. Do not try to verify
5807    /// it is called by your mocks.
5808    fn get_polling_error_policy(
5809        &self,
5810        _options: &gax::options::RequestOptions,
5811    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
5812        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
5813    }
5814
5815    /// Returns the polling backoff policy.
5816    ///
5817    /// When mocking, this method is typically irrelevant. Do not try to verify
5818    /// it is called by your mocks.
5819    fn get_polling_backoff_policy(
5820        &self,
5821        _options: &gax::options::RequestOptions,
5822    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
5823        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
5824    }
5825}
5826
5827/// Defines the trait used to implement [super::client::NotebookService].
5828///
5829/// Application developers may need to implement this trait to mock
5830/// `client::NotebookService`.  In other use-cases, application developers only
5831/// use `client::NotebookService` and need not be concerned with this trait or
5832/// its implementations.
5833///
5834/// Services gain new RPCs routinely. Consequently, this trait gains new methods
5835/// too. To avoid breaking applications the trait provides a default
5836/// implementation of each method. Most of these implementations just return an
5837/// error.
5838#[cfg(feature = "notebook-service")]
5839#[cfg_attr(docsrs, doc(cfg(feature = "notebook-service")))]
5840pub trait NotebookService: std::fmt::Debug + Send + Sync {
5841    /// Implements [super::client::NotebookService::create_notebook_runtime_template].
5842    fn create_notebook_runtime_template(
5843        &self,
5844        _req: crate::model::CreateNotebookRuntimeTemplateRequest,
5845        _options: gax::options::RequestOptions,
5846    ) -> impl std::future::Future<
5847        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
5848    > + Send {
5849        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
5850            Err(Error::other("unimplemented")),
5851        )
5852    }
5853
5854    /// Implements [super::client::NotebookService::get_notebook_runtime_template].
5855    fn get_notebook_runtime_template(
5856        &self,
5857        _req: crate::model::GetNotebookRuntimeTemplateRequest,
5858        _options: gax::options::RequestOptions,
5859    ) -> impl std::future::Future<
5860        Output = crate::Result<gax::response::Response<crate::model::NotebookRuntimeTemplate>>,
5861    > + Send {
5862        std::future::ready::<
5863            crate::Result<gax::response::Response<crate::model::NotebookRuntimeTemplate>>,
5864        >(Err(Error::other("unimplemented")))
5865    }
5866
5867    /// Implements [super::client::NotebookService::list_notebook_runtime_templates].
5868    fn list_notebook_runtime_templates(
5869        &self,
5870        _req: crate::model::ListNotebookRuntimeTemplatesRequest,
5871        _options: gax::options::RequestOptions,
5872    ) -> impl std::future::Future<
5873        Output = crate::Result<
5874            gax::response::Response<crate::model::ListNotebookRuntimeTemplatesResponse>,
5875        >,
5876    > + Send {
5877        std::future::ready::<
5878            crate::Result<
5879                gax::response::Response<crate::model::ListNotebookRuntimeTemplatesResponse>,
5880            >,
5881        >(Err(Error::other("unimplemented")))
5882    }
5883
5884    /// Implements [super::client::NotebookService::delete_notebook_runtime_template].
5885    fn delete_notebook_runtime_template(
5886        &self,
5887        _req: crate::model::DeleteNotebookRuntimeTemplateRequest,
5888        _options: gax::options::RequestOptions,
5889    ) -> impl std::future::Future<
5890        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
5891    > + Send {
5892        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
5893            Err(Error::other("unimplemented")),
5894        )
5895    }
5896
5897    /// Implements [super::client::NotebookService::update_notebook_runtime_template].
5898    fn update_notebook_runtime_template(
5899        &self,
5900        _req: crate::model::UpdateNotebookRuntimeTemplateRequest,
5901        _options: gax::options::RequestOptions,
5902    ) -> impl std::future::Future<
5903        Output = crate::Result<gax::response::Response<crate::model::NotebookRuntimeTemplate>>,
5904    > + Send {
5905        std::future::ready::<
5906            crate::Result<gax::response::Response<crate::model::NotebookRuntimeTemplate>>,
5907        >(Err(Error::other("unimplemented")))
5908    }
5909
5910    /// Implements [super::client::NotebookService::assign_notebook_runtime].
5911    fn assign_notebook_runtime(
5912        &self,
5913        _req: crate::model::AssignNotebookRuntimeRequest,
5914        _options: gax::options::RequestOptions,
5915    ) -> impl std::future::Future<
5916        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
5917    > + Send {
5918        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
5919            Err(Error::other("unimplemented")),
5920        )
5921    }
5922
5923    /// Implements [super::client::NotebookService::get_notebook_runtime].
5924    fn get_notebook_runtime(
5925        &self,
5926        _req: crate::model::GetNotebookRuntimeRequest,
5927        _options: gax::options::RequestOptions,
5928    ) -> impl std::future::Future<
5929        Output = crate::Result<gax::response::Response<crate::model::NotebookRuntime>>,
5930    > + Send {
5931        std::future::ready::<crate::Result<gax::response::Response<crate::model::NotebookRuntime>>>(
5932            Err(Error::other("unimplemented")),
5933        )
5934    }
5935
5936    /// Implements [super::client::NotebookService::list_notebook_runtimes].
5937    fn list_notebook_runtimes(
5938        &self,
5939        _req: crate::model::ListNotebookRuntimesRequest,
5940        _options: gax::options::RequestOptions,
5941    ) -> impl std::future::Future<
5942        Output = crate::Result<gax::response::Response<crate::model::ListNotebookRuntimesResponse>>,
5943    > + Send {
5944        std::future::ready::<
5945            crate::Result<gax::response::Response<crate::model::ListNotebookRuntimesResponse>>,
5946        >(Err(Error::other("unimplemented")))
5947    }
5948
5949    /// Implements [super::client::NotebookService::delete_notebook_runtime].
5950    fn delete_notebook_runtime(
5951        &self,
5952        _req: crate::model::DeleteNotebookRuntimeRequest,
5953        _options: gax::options::RequestOptions,
5954    ) -> impl std::future::Future<
5955        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
5956    > + Send {
5957        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
5958            Err(Error::other("unimplemented")),
5959        )
5960    }
5961
5962    /// Implements [super::client::NotebookService::upgrade_notebook_runtime].
5963    fn upgrade_notebook_runtime(
5964        &self,
5965        _req: crate::model::UpgradeNotebookRuntimeRequest,
5966        _options: gax::options::RequestOptions,
5967    ) -> impl std::future::Future<
5968        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
5969    > + Send {
5970        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
5971            Err(Error::other("unimplemented")),
5972        )
5973    }
5974
5975    /// Implements [super::client::NotebookService::start_notebook_runtime].
5976    fn start_notebook_runtime(
5977        &self,
5978        _req: crate::model::StartNotebookRuntimeRequest,
5979        _options: gax::options::RequestOptions,
5980    ) -> impl std::future::Future<
5981        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
5982    > + Send {
5983        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
5984            Err(Error::other("unimplemented")),
5985        )
5986    }
5987
5988    /// Implements [super::client::NotebookService::stop_notebook_runtime].
5989    fn stop_notebook_runtime(
5990        &self,
5991        _req: crate::model::StopNotebookRuntimeRequest,
5992        _options: gax::options::RequestOptions,
5993    ) -> impl std::future::Future<
5994        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
5995    > + Send {
5996        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
5997            Err(Error::other("unimplemented")),
5998        )
5999    }
6000
6001    /// Implements [super::client::NotebookService::create_notebook_execution_job].
6002    fn create_notebook_execution_job(
6003        &self,
6004        _req: crate::model::CreateNotebookExecutionJobRequest,
6005        _options: gax::options::RequestOptions,
6006    ) -> impl std::future::Future<
6007        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
6008    > + Send {
6009        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
6010            Err(Error::other("unimplemented")),
6011        )
6012    }
6013
6014    /// Implements [super::client::NotebookService::get_notebook_execution_job].
6015    fn get_notebook_execution_job(
6016        &self,
6017        _req: crate::model::GetNotebookExecutionJobRequest,
6018        _options: gax::options::RequestOptions,
6019    ) -> impl std::future::Future<
6020        Output = crate::Result<gax::response::Response<crate::model::NotebookExecutionJob>>,
6021    > + Send {
6022        std::future::ready::<
6023            crate::Result<gax::response::Response<crate::model::NotebookExecutionJob>>,
6024        >(Err(Error::other("unimplemented")))
6025    }
6026
6027    /// Implements [super::client::NotebookService::list_notebook_execution_jobs].
6028    fn list_notebook_execution_jobs(
6029        &self,
6030        _req: crate::model::ListNotebookExecutionJobsRequest,
6031        _options: gax::options::RequestOptions,
6032    ) -> impl std::future::Future<
6033        Output = crate::Result<
6034            gax::response::Response<crate::model::ListNotebookExecutionJobsResponse>,
6035        >,
6036    > + Send {
6037        std::future::ready::<
6038            crate::Result<gax::response::Response<crate::model::ListNotebookExecutionJobsResponse>>,
6039        >(Err(Error::other("unimplemented")))
6040    }
6041
6042    /// Implements [super::client::NotebookService::delete_notebook_execution_job].
6043    fn delete_notebook_execution_job(
6044        &self,
6045        _req: crate::model::DeleteNotebookExecutionJobRequest,
6046        _options: gax::options::RequestOptions,
6047    ) -> impl std::future::Future<
6048        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
6049    > + Send {
6050        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
6051            Err(Error::other("unimplemented")),
6052        )
6053    }
6054
6055    /// Implements [super::client::NotebookService::list_locations].
6056    fn list_locations(
6057        &self,
6058        _req: location::model::ListLocationsRequest,
6059        _options: gax::options::RequestOptions,
6060    ) -> impl std::future::Future<
6061        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
6062    > + Send {
6063        std::future::ready::<
6064            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
6065        >(Err(Error::other("unimplemented")))
6066    }
6067
6068    /// Implements [super::client::NotebookService::get_location].
6069    fn get_location(
6070        &self,
6071        _req: location::model::GetLocationRequest,
6072        _options: gax::options::RequestOptions,
6073    ) -> impl std::future::Future<
6074        Output = crate::Result<gax::response::Response<location::model::Location>>,
6075    > + Send {
6076        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
6077            Err(Error::other("unimplemented")),
6078        )
6079    }
6080
6081    /// Implements [super::client::NotebookService::set_iam_policy].
6082    fn set_iam_policy(
6083        &self,
6084        _req: iam_v1::model::SetIamPolicyRequest,
6085        _options: gax::options::RequestOptions,
6086    ) -> impl std::future::Future<
6087        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
6088    > + Send {
6089        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
6090            Error::other("unimplemented"),
6091        ))
6092    }
6093
6094    /// Implements [super::client::NotebookService::get_iam_policy].
6095    fn get_iam_policy(
6096        &self,
6097        _req: iam_v1::model::GetIamPolicyRequest,
6098        _options: gax::options::RequestOptions,
6099    ) -> impl std::future::Future<
6100        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
6101    > + Send {
6102        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
6103            Error::other("unimplemented"),
6104        ))
6105    }
6106
6107    /// Implements [super::client::NotebookService::test_iam_permissions].
6108    fn test_iam_permissions(
6109        &self,
6110        _req: iam_v1::model::TestIamPermissionsRequest,
6111        _options: gax::options::RequestOptions,
6112    ) -> impl std::future::Future<
6113        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
6114    > + Send {
6115        std::future::ready::<
6116            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
6117        >(Err(Error::other("unimplemented")))
6118    }
6119
6120    /// Implements [super::client::NotebookService::list_operations].
6121    fn list_operations(
6122        &self,
6123        _req: longrunning::model::ListOperationsRequest,
6124        _options: gax::options::RequestOptions,
6125    ) -> impl std::future::Future<
6126        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
6127    > + Send {
6128        std::future::ready::<
6129            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
6130        >(Err(Error::other("unimplemented")))
6131    }
6132
6133    /// Implements [super::client::NotebookService::get_operation].
6134    fn get_operation(
6135        &self,
6136        _req: longrunning::model::GetOperationRequest,
6137        _options: gax::options::RequestOptions,
6138    ) -> impl std::future::Future<
6139        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
6140    > + Send {
6141        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
6142            Err(Error::other("unimplemented")),
6143        )
6144    }
6145
6146    /// Implements [super::client::NotebookService::delete_operation].
6147    fn delete_operation(
6148        &self,
6149        _req: longrunning::model::DeleteOperationRequest,
6150        _options: gax::options::RequestOptions,
6151    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
6152        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
6153            "unimplemented",
6154        )))
6155    }
6156
6157    /// Implements [super::client::NotebookService::cancel_operation].
6158    fn cancel_operation(
6159        &self,
6160        _req: longrunning::model::CancelOperationRequest,
6161        _options: gax::options::RequestOptions,
6162    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
6163        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
6164            "unimplemented",
6165        )))
6166    }
6167
6168    /// Implements [super::client::NotebookService::wait_operation].
6169    fn wait_operation(
6170        &self,
6171        _req: longrunning::model::WaitOperationRequest,
6172        _options: gax::options::RequestOptions,
6173    ) -> impl std::future::Future<
6174        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
6175    > + Send {
6176        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
6177            Err(Error::other("unimplemented")),
6178        )
6179    }
6180
6181    /// Returns the polling error policy.
6182    ///
6183    /// When mocking, this method is typically irrelevant. Do not try to verify
6184    /// it is called by your mocks.
6185    fn get_polling_error_policy(
6186        &self,
6187        _options: &gax::options::RequestOptions,
6188    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
6189        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
6190    }
6191
6192    /// Returns the polling backoff policy.
6193    ///
6194    /// When mocking, this method is typically irrelevant. Do not try to verify
6195    /// it is called by your mocks.
6196    fn get_polling_backoff_policy(
6197        &self,
6198        _options: &gax::options::RequestOptions,
6199    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
6200        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
6201    }
6202}
6203
6204/// Defines the trait used to implement [super::client::PersistentResourceService].
6205///
6206/// Application developers may need to implement this trait to mock
6207/// `client::PersistentResourceService`.  In other use-cases, application developers only
6208/// use `client::PersistentResourceService` and need not be concerned with this trait or
6209/// its implementations.
6210///
6211/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6212/// too. To avoid breaking applications the trait provides a default
6213/// implementation of each method. Most of these implementations just return an
6214/// error.
6215#[cfg(feature = "persistent-resource-service")]
6216#[cfg_attr(docsrs, doc(cfg(feature = "persistent-resource-service")))]
6217pub trait PersistentResourceService: std::fmt::Debug + Send + Sync {
6218    /// Implements [super::client::PersistentResourceService::create_persistent_resource].
6219    fn create_persistent_resource(
6220        &self,
6221        _req: crate::model::CreatePersistentResourceRequest,
6222        _options: gax::options::RequestOptions,
6223    ) -> impl std::future::Future<
6224        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
6225    > + Send {
6226        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
6227            Err(Error::other("unimplemented")),
6228        )
6229    }
6230
6231    /// Implements [super::client::PersistentResourceService::get_persistent_resource].
6232    fn get_persistent_resource(
6233        &self,
6234        _req: crate::model::GetPersistentResourceRequest,
6235        _options: gax::options::RequestOptions,
6236    ) -> impl std::future::Future<
6237        Output = crate::Result<gax::response::Response<crate::model::PersistentResource>>,
6238    > + Send {
6239        std::future::ready::<crate::Result<gax::response::Response<crate::model::PersistentResource>>>(
6240            Err(Error::other("unimplemented")),
6241        )
6242    }
6243
6244    /// Implements [super::client::PersistentResourceService::list_persistent_resources].
6245    fn list_persistent_resources(
6246        &self,
6247        _req: crate::model::ListPersistentResourcesRequest,
6248        _options: gax::options::RequestOptions,
6249    ) -> impl std::future::Future<
6250        Output = crate::Result<
6251            gax::response::Response<crate::model::ListPersistentResourcesResponse>,
6252        >,
6253    > + Send {
6254        std::future::ready::<
6255            crate::Result<gax::response::Response<crate::model::ListPersistentResourcesResponse>>,
6256        >(Err(Error::other("unimplemented")))
6257    }
6258
6259    /// Implements [super::client::PersistentResourceService::delete_persistent_resource].
6260    fn delete_persistent_resource(
6261        &self,
6262        _req: crate::model::DeletePersistentResourceRequest,
6263        _options: gax::options::RequestOptions,
6264    ) -> impl std::future::Future<
6265        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
6266    > + Send {
6267        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
6268            Err(Error::other("unimplemented")),
6269        )
6270    }
6271
6272    /// Implements [super::client::PersistentResourceService::update_persistent_resource].
6273    fn update_persistent_resource(
6274        &self,
6275        _req: crate::model::UpdatePersistentResourceRequest,
6276        _options: gax::options::RequestOptions,
6277    ) -> impl std::future::Future<
6278        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
6279    > + Send {
6280        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
6281            Err(Error::other("unimplemented")),
6282        )
6283    }
6284
6285    /// Implements [super::client::PersistentResourceService::reboot_persistent_resource].
6286    fn reboot_persistent_resource(
6287        &self,
6288        _req: crate::model::RebootPersistentResourceRequest,
6289        _options: gax::options::RequestOptions,
6290    ) -> impl std::future::Future<
6291        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
6292    > + Send {
6293        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
6294            Err(Error::other("unimplemented")),
6295        )
6296    }
6297
6298    /// Implements [super::client::PersistentResourceService::list_locations].
6299    fn list_locations(
6300        &self,
6301        _req: location::model::ListLocationsRequest,
6302        _options: gax::options::RequestOptions,
6303    ) -> impl std::future::Future<
6304        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
6305    > + Send {
6306        std::future::ready::<
6307            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
6308        >(Err(Error::other("unimplemented")))
6309    }
6310
6311    /// Implements [super::client::PersistentResourceService::get_location].
6312    fn get_location(
6313        &self,
6314        _req: location::model::GetLocationRequest,
6315        _options: gax::options::RequestOptions,
6316    ) -> impl std::future::Future<
6317        Output = crate::Result<gax::response::Response<location::model::Location>>,
6318    > + Send {
6319        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
6320            Err(Error::other("unimplemented")),
6321        )
6322    }
6323
6324    /// Implements [super::client::PersistentResourceService::set_iam_policy].
6325    fn set_iam_policy(
6326        &self,
6327        _req: iam_v1::model::SetIamPolicyRequest,
6328        _options: gax::options::RequestOptions,
6329    ) -> impl std::future::Future<
6330        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
6331    > + Send {
6332        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
6333            Error::other("unimplemented"),
6334        ))
6335    }
6336
6337    /// Implements [super::client::PersistentResourceService::get_iam_policy].
6338    fn get_iam_policy(
6339        &self,
6340        _req: iam_v1::model::GetIamPolicyRequest,
6341        _options: gax::options::RequestOptions,
6342    ) -> impl std::future::Future<
6343        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
6344    > + Send {
6345        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
6346            Error::other("unimplemented"),
6347        ))
6348    }
6349
6350    /// Implements [super::client::PersistentResourceService::test_iam_permissions].
6351    fn test_iam_permissions(
6352        &self,
6353        _req: iam_v1::model::TestIamPermissionsRequest,
6354        _options: gax::options::RequestOptions,
6355    ) -> impl std::future::Future<
6356        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
6357    > + Send {
6358        std::future::ready::<
6359            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
6360        >(Err(Error::other("unimplemented")))
6361    }
6362
6363    /// Implements [super::client::PersistentResourceService::list_operations].
6364    fn list_operations(
6365        &self,
6366        _req: longrunning::model::ListOperationsRequest,
6367        _options: gax::options::RequestOptions,
6368    ) -> impl std::future::Future<
6369        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
6370    > + Send {
6371        std::future::ready::<
6372            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
6373        >(Err(Error::other("unimplemented")))
6374    }
6375
6376    /// Implements [super::client::PersistentResourceService::get_operation].
6377    fn get_operation(
6378        &self,
6379        _req: longrunning::model::GetOperationRequest,
6380        _options: gax::options::RequestOptions,
6381    ) -> impl std::future::Future<
6382        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
6383    > + Send {
6384        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
6385            Err(Error::other("unimplemented")),
6386        )
6387    }
6388
6389    /// Implements [super::client::PersistentResourceService::delete_operation].
6390    fn delete_operation(
6391        &self,
6392        _req: longrunning::model::DeleteOperationRequest,
6393        _options: gax::options::RequestOptions,
6394    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
6395        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
6396            "unimplemented",
6397        )))
6398    }
6399
6400    /// Implements [super::client::PersistentResourceService::cancel_operation].
6401    fn cancel_operation(
6402        &self,
6403        _req: longrunning::model::CancelOperationRequest,
6404        _options: gax::options::RequestOptions,
6405    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
6406        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
6407            "unimplemented",
6408        )))
6409    }
6410
6411    /// Implements [super::client::PersistentResourceService::wait_operation].
6412    fn wait_operation(
6413        &self,
6414        _req: longrunning::model::WaitOperationRequest,
6415        _options: gax::options::RequestOptions,
6416    ) -> impl std::future::Future<
6417        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
6418    > + Send {
6419        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
6420            Err(Error::other("unimplemented")),
6421        )
6422    }
6423
6424    /// Returns the polling error policy.
6425    ///
6426    /// When mocking, this method is typically irrelevant. Do not try to verify
6427    /// it is called by your mocks.
6428    fn get_polling_error_policy(
6429        &self,
6430        _options: &gax::options::RequestOptions,
6431    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
6432        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
6433    }
6434
6435    /// Returns the polling backoff policy.
6436    ///
6437    /// When mocking, this method is typically irrelevant. Do not try to verify
6438    /// it is called by your mocks.
6439    fn get_polling_backoff_policy(
6440        &self,
6441        _options: &gax::options::RequestOptions,
6442    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
6443        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
6444    }
6445}
6446
6447/// Defines the trait used to implement [super::client::PipelineService].
6448///
6449/// Application developers may need to implement this trait to mock
6450/// `client::PipelineService`.  In other use-cases, application developers only
6451/// use `client::PipelineService` and need not be concerned with this trait or
6452/// its implementations.
6453///
6454/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6455/// too. To avoid breaking applications the trait provides a default
6456/// implementation of each method. Most of these implementations just return an
6457/// error.
6458#[cfg(feature = "pipeline-service")]
6459#[cfg_attr(docsrs, doc(cfg(feature = "pipeline-service")))]
6460pub trait PipelineService: std::fmt::Debug + Send + Sync {
6461    /// Implements [super::client::PipelineService::create_training_pipeline].
6462    fn create_training_pipeline(
6463        &self,
6464        _req: crate::model::CreateTrainingPipelineRequest,
6465        _options: gax::options::RequestOptions,
6466    ) -> impl std::future::Future<
6467        Output = crate::Result<gax::response::Response<crate::model::TrainingPipeline>>,
6468    > + Send {
6469        std::future::ready::<crate::Result<gax::response::Response<crate::model::TrainingPipeline>>>(
6470            Err(Error::other("unimplemented")),
6471        )
6472    }
6473
6474    /// Implements [super::client::PipelineService::get_training_pipeline].
6475    fn get_training_pipeline(
6476        &self,
6477        _req: crate::model::GetTrainingPipelineRequest,
6478        _options: gax::options::RequestOptions,
6479    ) -> impl std::future::Future<
6480        Output = crate::Result<gax::response::Response<crate::model::TrainingPipeline>>,
6481    > + Send {
6482        std::future::ready::<crate::Result<gax::response::Response<crate::model::TrainingPipeline>>>(
6483            Err(Error::other("unimplemented")),
6484        )
6485    }
6486
6487    /// Implements [super::client::PipelineService::list_training_pipelines].
6488    fn list_training_pipelines(
6489        &self,
6490        _req: crate::model::ListTrainingPipelinesRequest,
6491        _options: gax::options::RequestOptions,
6492    ) -> impl std::future::Future<
6493        Output = crate::Result<
6494            gax::response::Response<crate::model::ListTrainingPipelinesResponse>,
6495        >,
6496    > + Send {
6497        std::future::ready::<
6498            crate::Result<gax::response::Response<crate::model::ListTrainingPipelinesResponse>>,
6499        >(Err(Error::other("unimplemented")))
6500    }
6501
6502    /// Implements [super::client::PipelineService::delete_training_pipeline].
6503    fn delete_training_pipeline(
6504        &self,
6505        _req: crate::model::DeleteTrainingPipelineRequest,
6506        _options: gax::options::RequestOptions,
6507    ) -> impl std::future::Future<
6508        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
6509    > + Send {
6510        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
6511            Err(Error::other("unimplemented")),
6512        )
6513    }
6514
6515    /// Implements [super::client::PipelineService::cancel_training_pipeline].
6516    fn cancel_training_pipeline(
6517        &self,
6518        _req: crate::model::CancelTrainingPipelineRequest,
6519        _options: gax::options::RequestOptions,
6520    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
6521        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
6522            "unimplemented",
6523        )))
6524    }
6525
6526    /// Implements [super::client::PipelineService::create_pipeline_job].
6527    fn create_pipeline_job(
6528        &self,
6529        _req: crate::model::CreatePipelineJobRequest,
6530        _options: gax::options::RequestOptions,
6531    ) -> impl std::future::Future<
6532        Output = crate::Result<gax::response::Response<crate::model::PipelineJob>>,
6533    > + Send {
6534        std::future::ready::<crate::Result<gax::response::Response<crate::model::PipelineJob>>>(
6535            Err(Error::other("unimplemented")),
6536        )
6537    }
6538
6539    /// Implements [super::client::PipelineService::get_pipeline_job].
6540    fn get_pipeline_job(
6541        &self,
6542        _req: crate::model::GetPipelineJobRequest,
6543        _options: gax::options::RequestOptions,
6544    ) -> impl std::future::Future<
6545        Output = crate::Result<gax::response::Response<crate::model::PipelineJob>>,
6546    > + Send {
6547        std::future::ready::<crate::Result<gax::response::Response<crate::model::PipelineJob>>>(
6548            Err(Error::other("unimplemented")),
6549        )
6550    }
6551
6552    /// Implements [super::client::PipelineService::list_pipeline_jobs].
6553    fn list_pipeline_jobs(
6554        &self,
6555        _req: crate::model::ListPipelineJobsRequest,
6556        _options: gax::options::RequestOptions,
6557    ) -> impl std::future::Future<
6558        Output = crate::Result<gax::response::Response<crate::model::ListPipelineJobsResponse>>,
6559    > + Send {
6560        std::future::ready::<
6561            crate::Result<gax::response::Response<crate::model::ListPipelineJobsResponse>>,
6562        >(Err(Error::other("unimplemented")))
6563    }
6564
6565    /// Implements [super::client::PipelineService::delete_pipeline_job].
6566    fn delete_pipeline_job(
6567        &self,
6568        _req: crate::model::DeletePipelineJobRequest,
6569        _options: gax::options::RequestOptions,
6570    ) -> impl std::future::Future<
6571        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
6572    > + Send {
6573        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
6574            Err(Error::other("unimplemented")),
6575        )
6576    }
6577
6578    /// Implements [super::client::PipelineService::batch_delete_pipeline_jobs].
6579    fn batch_delete_pipeline_jobs(
6580        &self,
6581        _req: crate::model::BatchDeletePipelineJobsRequest,
6582        _options: gax::options::RequestOptions,
6583    ) -> impl std::future::Future<
6584        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
6585    > + Send {
6586        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
6587            Err(Error::other("unimplemented")),
6588        )
6589    }
6590
6591    /// Implements [super::client::PipelineService::cancel_pipeline_job].
6592    fn cancel_pipeline_job(
6593        &self,
6594        _req: crate::model::CancelPipelineJobRequest,
6595        _options: gax::options::RequestOptions,
6596    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
6597        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
6598            "unimplemented",
6599        )))
6600    }
6601
6602    /// Implements [super::client::PipelineService::batch_cancel_pipeline_jobs].
6603    fn batch_cancel_pipeline_jobs(
6604        &self,
6605        _req: crate::model::BatchCancelPipelineJobsRequest,
6606        _options: gax::options::RequestOptions,
6607    ) -> impl std::future::Future<
6608        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
6609    > + Send {
6610        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
6611            Err(Error::other("unimplemented")),
6612        )
6613    }
6614
6615    /// Implements [super::client::PipelineService::list_locations].
6616    fn list_locations(
6617        &self,
6618        _req: location::model::ListLocationsRequest,
6619        _options: gax::options::RequestOptions,
6620    ) -> impl std::future::Future<
6621        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
6622    > + Send {
6623        std::future::ready::<
6624            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
6625        >(Err(Error::other("unimplemented")))
6626    }
6627
6628    /// Implements [super::client::PipelineService::get_location].
6629    fn get_location(
6630        &self,
6631        _req: location::model::GetLocationRequest,
6632        _options: gax::options::RequestOptions,
6633    ) -> impl std::future::Future<
6634        Output = crate::Result<gax::response::Response<location::model::Location>>,
6635    > + Send {
6636        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
6637            Err(Error::other("unimplemented")),
6638        )
6639    }
6640
6641    /// Implements [super::client::PipelineService::set_iam_policy].
6642    fn set_iam_policy(
6643        &self,
6644        _req: iam_v1::model::SetIamPolicyRequest,
6645        _options: gax::options::RequestOptions,
6646    ) -> impl std::future::Future<
6647        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
6648    > + Send {
6649        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
6650            Error::other("unimplemented"),
6651        ))
6652    }
6653
6654    /// Implements [super::client::PipelineService::get_iam_policy].
6655    fn get_iam_policy(
6656        &self,
6657        _req: iam_v1::model::GetIamPolicyRequest,
6658        _options: gax::options::RequestOptions,
6659    ) -> impl std::future::Future<
6660        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
6661    > + Send {
6662        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
6663            Error::other("unimplemented"),
6664        ))
6665    }
6666
6667    /// Implements [super::client::PipelineService::test_iam_permissions].
6668    fn test_iam_permissions(
6669        &self,
6670        _req: iam_v1::model::TestIamPermissionsRequest,
6671        _options: gax::options::RequestOptions,
6672    ) -> impl std::future::Future<
6673        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
6674    > + Send {
6675        std::future::ready::<
6676            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
6677        >(Err(Error::other("unimplemented")))
6678    }
6679
6680    /// Implements [super::client::PipelineService::list_operations].
6681    fn list_operations(
6682        &self,
6683        _req: longrunning::model::ListOperationsRequest,
6684        _options: gax::options::RequestOptions,
6685    ) -> impl std::future::Future<
6686        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
6687    > + Send {
6688        std::future::ready::<
6689            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
6690        >(Err(Error::other("unimplemented")))
6691    }
6692
6693    /// Implements [super::client::PipelineService::get_operation].
6694    fn get_operation(
6695        &self,
6696        _req: longrunning::model::GetOperationRequest,
6697        _options: gax::options::RequestOptions,
6698    ) -> impl std::future::Future<
6699        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
6700    > + Send {
6701        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
6702            Err(Error::other("unimplemented")),
6703        )
6704    }
6705
6706    /// Implements [super::client::PipelineService::delete_operation].
6707    fn delete_operation(
6708        &self,
6709        _req: longrunning::model::DeleteOperationRequest,
6710        _options: gax::options::RequestOptions,
6711    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
6712        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
6713            "unimplemented",
6714        )))
6715    }
6716
6717    /// Implements [super::client::PipelineService::cancel_operation].
6718    fn cancel_operation(
6719        &self,
6720        _req: longrunning::model::CancelOperationRequest,
6721        _options: gax::options::RequestOptions,
6722    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
6723        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
6724            "unimplemented",
6725        )))
6726    }
6727
6728    /// Implements [super::client::PipelineService::wait_operation].
6729    fn wait_operation(
6730        &self,
6731        _req: longrunning::model::WaitOperationRequest,
6732        _options: gax::options::RequestOptions,
6733    ) -> impl std::future::Future<
6734        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
6735    > + Send {
6736        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
6737            Err(Error::other("unimplemented")),
6738        )
6739    }
6740
6741    /// Returns the polling error policy.
6742    ///
6743    /// When mocking, this method is typically irrelevant. Do not try to verify
6744    /// it is called by your mocks.
6745    fn get_polling_error_policy(
6746        &self,
6747        _options: &gax::options::RequestOptions,
6748    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
6749        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
6750    }
6751
6752    /// Returns the polling backoff policy.
6753    ///
6754    /// When mocking, this method is typically irrelevant. Do not try to verify
6755    /// it is called by your mocks.
6756    fn get_polling_backoff_policy(
6757        &self,
6758        _options: &gax::options::RequestOptions,
6759    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
6760        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
6761    }
6762}
6763
6764/// Defines the trait used to implement [super::client::PredictionService].
6765///
6766/// Application developers may need to implement this trait to mock
6767/// `client::PredictionService`.  In other use-cases, application developers only
6768/// use `client::PredictionService` and need not be concerned with this trait or
6769/// its implementations.
6770///
6771/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6772/// too. To avoid breaking applications the trait provides a default
6773/// implementation of each method. Most of these implementations just return an
6774/// error.
6775#[cfg(feature = "prediction-service")]
6776#[cfg_attr(docsrs, doc(cfg(feature = "prediction-service")))]
6777pub trait PredictionService: std::fmt::Debug + Send + Sync {
6778    /// Implements [super::client::PredictionService::predict].
6779    fn predict(
6780        &self,
6781        _req: crate::model::PredictRequest,
6782        _options: gax::options::RequestOptions,
6783    ) -> impl std::future::Future<
6784        Output = crate::Result<gax::response::Response<crate::model::PredictResponse>>,
6785    > + Send {
6786        std::future::ready::<crate::Result<gax::response::Response<crate::model::PredictResponse>>>(
6787            Err(Error::other("unimplemented")),
6788        )
6789    }
6790
6791    /// Implements [super::client::PredictionService::raw_predict].
6792    fn raw_predict(
6793        &self,
6794        _req: crate::model::RawPredictRequest,
6795        _options: gax::options::RequestOptions,
6796    ) -> impl std::future::Future<
6797        Output = crate::Result<gax::response::Response<api::model::HttpBody>>,
6798    > + Send {
6799        std::future::ready::<crate::Result<gax::response::Response<api::model::HttpBody>>>(Err(
6800            Error::other("unimplemented"),
6801        ))
6802    }
6803
6804    /// Implements [super::client::PredictionService::direct_predict].
6805    fn direct_predict(
6806        &self,
6807        _req: crate::model::DirectPredictRequest,
6808        _options: gax::options::RequestOptions,
6809    ) -> impl std::future::Future<
6810        Output = crate::Result<gax::response::Response<crate::model::DirectPredictResponse>>,
6811    > + Send {
6812        std::future::ready::<
6813            crate::Result<gax::response::Response<crate::model::DirectPredictResponse>>,
6814        >(Err(Error::other("unimplemented")))
6815    }
6816
6817    /// Implements [super::client::PredictionService::direct_raw_predict].
6818    fn direct_raw_predict(
6819        &self,
6820        _req: crate::model::DirectRawPredictRequest,
6821        _options: gax::options::RequestOptions,
6822    ) -> impl std::future::Future<
6823        Output = crate::Result<gax::response::Response<crate::model::DirectRawPredictResponse>>,
6824    > + Send {
6825        std::future::ready::<
6826            crate::Result<gax::response::Response<crate::model::DirectRawPredictResponse>>,
6827        >(Err(Error::other("unimplemented")))
6828    }
6829
6830    /// Implements [super::client::PredictionService::explain].
6831    fn explain(
6832        &self,
6833        _req: crate::model::ExplainRequest,
6834        _options: gax::options::RequestOptions,
6835    ) -> impl std::future::Future<
6836        Output = crate::Result<gax::response::Response<crate::model::ExplainResponse>>,
6837    > + Send {
6838        std::future::ready::<crate::Result<gax::response::Response<crate::model::ExplainResponse>>>(
6839            Err(Error::other("unimplemented")),
6840        )
6841    }
6842
6843    /// Implements [super::client::PredictionService::generate_content].
6844    fn generate_content(
6845        &self,
6846        _req: crate::model::GenerateContentRequest,
6847        _options: gax::options::RequestOptions,
6848    ) -> impl std::future::Future<
6849        Output = crate::Result<gax::response::Response<crate::model::GenerateContentResponse>>,
6850    > + Send {
6851        std::future::ready::<
6852            crate::Result<gax::response::Response<crate::model::GenerateContentResponse>>,
6853        >(Err(Error::other("unimplemented")))
6854    }
6855
6856    /// Implements [super::client::PredictionService::list_locations].
6857    fn list_locations(
6858        &self,
6859        _req: location::model::ListLocationsRequest,
6860        _options: gax::options::RequestOptions,
6861    ) -> impl std::future::Future<
6862        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
6863    > + Send {
6864        std::future::ready::<
6865            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
6866        >(Err(Error::other("unimplemented")))
6867    }
6868
6869    /// Implements [super::client::PredictionService::get_location].
6870    fn get_location(
6871        &self,
6872        _req: location::model::GetLocationRequest,
6873        _options: gax::options::RequestOptions,
6874    ) -> impl std::future::Future<
6875        Output = crate::Result<gax::response::Response<location::model::Location>>,
6876    > + Send {
6877        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
6878            Err(Error::other("unimplemented")),
6879        )
6880    }
6881
6882    /// Implements [super::client::PredictionService::set_iam_policy].
6883    fn set_iam_policy(
6884        &self,
6885        _req: iam_v1::model::SetIamPolicyRequest,
6886        _options: gax::options::RequestOptions,
6887    ) -> impl std::future::Future<
6888        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
6889    > + Send {
6890        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
6891            Error::other("unimplemented"),
6892        ))
6893    }
6894
6895    /// Implements [super::client::PredictionService::get_iam_policy].
6896    fn get_iam_policy(
6897        &self,
6898        _req: iam_v1::model::GetIamPolicyRequest,
6899        _options: gax::options::RequestOptions,
6900    ) -> impl std::future::Future<
6901        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
6902    > + Send {
6903        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
6904            Error::other("unimplemented"),
6905        ))
6906    }
6907
6908    /// Implements [super::client::PredictionService::test_iam_permissions].
6909    fn test_iam_permissions(
6910        &self,
6911        _req: iam_v1::model::TestIamPermissionsRequest,
6912        _options: gax::options::RequestOptions,
6913    ) -> impl std::future::Future<
6914        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
6915    > + Send {
6916        std::future::ready::<
6917            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
6918        >(Err(Error::other("unimplemented")))
6919    }
6920
6921    /// Implements [super::client::PredictionService::list_operations].
6922    fn list_operations(
6923        &self,
6924        _req: longrunning::model::ListOperationsRequest,
6925        _options: gax::options::RequestOptions,
6926    ) -> impl std::future::Future<
6927        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
6928    > + Send {
6929        std::future::ready::<
6930            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
6931        >(Err(Error::other("unimplemented")))
6932    }
6933
6934    /// Implements [super::client::PredictionService::get_operation].
6935    fn get_operation(
6936        &self,
6937        _req: longrunning::model::GetOperationRequest,
6938        _options: gax::options::RequestOptions,
6939    ) -> impl std::future::Future<
6940        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
6941    > + Send {
6942        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
6943            Err(Error::other("unimplemented")),
6944        )
6945    }
6946
6947    /// Implements [super::client::PredictionService::delete_operation].
6948    fn delete_operation(
6949        &self,
6950        _req: longrunning::model::DeleteOperationRequest,
6951        _options: gax::options::RequestOptions,
6952    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
6953        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
6954            "unimplemented",
6955        )))
6956    }
6957
6958    /// Implements [super::client::PredictionService::cancel_operation].
6959    fn cancel_operation(
6960        &self,
6961        _req: longrunning::model::CancelOperationRequest,
6962        _options: gax::options::RequestOptions,
6963    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
6964        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
6965            "unimplemented",
6966        )))
6967    }
6968
6969    /// Implements [super::client::PredictionService::wait_operation].
6970    fn wait_operation(
6971        &self,
6972        _req: longrunning::model::WaitOperationRequest,
6973        _options: gax::options::RequestOptions,
6974    ) -> impl std::future::Future<
6975        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
6976    > + Send {
6977        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
6978            Err(Error::other("unimplemented")),
6979        )
6980    }
6981}
6982
6983/// Defines the trait used to implement [super::client::ReasoningEngineExecutionService].
6984///
6985/// Application developers may need to implement this trait to mock
6986/// `client::ReasoningEngineExecutionService`.  In other use-cases, application developers only
6987/// use `client::ReasoningEngineExecutionService` and need not be concerned with this trait or
6988/// its implementations.
6989///
6990/// Services gain new RPCs routinely. Consequently, this trait gains new methods
6991/// too. To avoid breaking applications the trait provides a default
6992/// implementation of each method. Most of these implementations just return an
6993/// error.
6994#[cfg(feature = "reasoning-engine-execution-service")]
6995#[cfg_attr(docsrs, doc(cfg(feature = "reasoning-engine-execution-service")))]
6996pub trait ReasoningEngineExecutionService: std::fmt::Debug + Send + Sync {
6997    /// Implements [super::client::ReasoningEngineExecutionService::query_reasoning_engine].
6998    fn query_reasoning_engine(
6999        &self,
7000        _req: crate::model::QueryReasoningEngineRequest,
7001        _options: gax::options::RequestOptions,
7002    ) -> impl std::future::Future<
7003        Output = crate::Result<gax::response::Response<crate::model::QueryReasoningEngineResponse>>,
7004    > + Send {
7005        std::future::ready::<
7006            crate::Result<gax::response::Response<crate::model::QueryReasoningEngineResponse>>,
7007        >(Err(Error::other("unimplemented")))
7008    }
7009
7010    /// Implements [super::client::ReasoningEngineExecutionService::list_locations].
7011    fn list_locations(
7012        &self,
7013        _req: location::model::ListLocationsRequest,
7014        _options: gax::options::RequestOptions,
7015    ) -> impl std::future::Future<
7016        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
7017    > + Send {
7018        std::future::ready::<
7019            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
7020        >(Err(Error::other("unimplemented")))
7021    }
7022
7023    /// Implements [super::client::ReasoningEngineExecutionService::get_location].
7024    fn get_location(
7025        &self,
7026        _req: location::model::GetLocationRequest,
7027        _options: gax::options::RequestOptions,
7028    ) -> impl std::future::Future<
7029        Output = crate::Result<gax::response::Response<location::model::Location>>,
7030    > + Send {
7031        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
7032            Err(Error::other("unimplemented")),
7033        )
7034    }
7035
7036    /// Implements [super::client::ReasoningEngineExecutionService::set_iam_policy].
7037    fn set_iam_policy(
7038        &self,
7039        _req: iam_v1::model::SetIamPolicyRequest,
7040        _options: gax::options::RequestOptions,
7041    ) -> impl std::future::Future<
7042        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
7043    > + Send {
7044        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
7045            Error::other("unimplemented"),
7046        ))
7047    }
7048
7049    /// Implements [super::client::ReasoningEngineExecutionService::get_iam_policy].
7050    fn get_iam_policy(
7051        &self,
7052        _req: iam_v1::model::GetIamPolicyRequest,
7053        _options: gax::options::RequestOptions,
7054    ) -> impl std::future::Future<
7055        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
7056    > + Send {
7057        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
7058            Error::other("unimplemented"),
7059        ))
7060    }
7061
7062    /// Implements [super::client::ReasoningEngineExecutionService::test_iam_permissions].
7063    fn test_iam_permissions(
7064        &self,
7065        _req: iam_v1::model::TestIamPermissionsRequest,
7066        _options: gax::options::RequestOptions,
7067    ) -> impl std::future::Future<
7068        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
7069    > + Send {
7070        std::future::ready::<
7071            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
7072        >(Err(Error::other("unimplemented")))
7073    }
7074
7075    /// Implements [super::client::ReasoningEngineExecutionService::list_operations].
7076    fn list_operations(
7077        &self,
7078        _req: longrunning::model::ListOperationsRequest,
7079        _options: gax::options::RequestOptions,
7080    ) -> impl std::future::Future<
7081        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
7082    > + Send {
7083        std::future::ready::<
7084            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
7085        >(Err(Error::other("unimplemented")))
7086    }
7087
7088    /// Implements [super::client::ReasoningEngineExecutionService::get_operation].
7089    fn get_operation(
7090        &self,
7091        _req: longrunning::model::GetOperationRequest,
7092        _options: gax::options::RequestOptions,
7093    ) -> impl std::future::Future<
7094        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
7095    > + Send {
7096        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
7097            Err(Error::other("unimplemented")),
7098        )
7099    }
7100
7101    /// Implements [super::client::ReasoningEngineExecutionService::delete_operation].
7102    fn delete_operation(
7103        &self,
7104        _req: longrunning::model::DeleteOperationRequest,
7105        _options: gax::options::RequestOptions,
7106    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
7107        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
7108            "unimplemented",
7109        )))
7110    }
7111
7112    /// Implements [super::client::ReasoningEngineExecutionService::cancel_operation].
7113    fn cancel_operation(
7114        &self,
7115        _req: longrunning::model::CancelOperationRequest,
7116        _options: gax::options::RequestOptions,
7117    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
7118        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
7119            "unimplemented",
7120        )))
7121    }
7122
7123    /// Implements [super::client::ReasoningEngineExecutionService::wait_operation].
7124    fn wait_operation(
7125        &self,
7126        _req: longrunning::model::WaitOperationRequest,
7127        _options: gax::options::RequestOptions,
7128    ) -> impl std::future::Future<
7129        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
7130    > + Send {
7131        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
7132            Err(Error::other("unimplemented")),
7133        )
7134    }
7135}
7136
7137/// Defines the trait used to implement [super::client::ReasoningEngineService].
7138///
7139/// Application developers may need to implement this trait to mock
7140/// `client::ReasoningEngineService`.  In other use-cases, application developers only
7141/// use `client::ReasoningEngineService` and need not be concerned with this trait or
7142/// its implementations.
7143///
7144/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7145/// too. To avoid breaking applications the trait provides a default
7146/// implementation of each method. Most of these implementations just return an
7147/// error.
7148#[cfg(feature = "reasoning-engine-service")]
7149#[cfg_attr(docsrs, doc(cfg(feature = "reasoning-engine-service")))]
7150pub trait ReasoningEngineService: std::fmt::Debug + Send + Sync {
7151    /// Implements [super::client::ReasoningEngineService::create_reasoning_engine].
7152    fn create_reasoning_engine(
7153        &self,
7154        _req: crate::model::CreateReasoningEngineRequest,
7155        _options: gax::options::RequestOptions,
7156    ) -> impl std::future::Future<
7157        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
7158    > + Send {
7159        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
7160            Err(Error::other("unimplemented")),
7161        )
7162    }
7163
7164    /// Implements [super::client::ReasoningEngineService::get_reasoning_engine].
7165    fn get_reasoning_engine(
7166        &self,
7167        _req: crate::model::GetReasoningEngineRequest,
7168        _options: gax::options::RequestOptions,
7169    ) -> impl std::future::Future<
7170        Output = crate::Result<gax::response::Response<crate::model::ReasoningEngine>>,
7171    > + Send {
7172        std::future::ready::<crate::Result<gax::response::Response<crate::model::ReasoningEngine>>>(
7173            Err(Error::other("unimplemented")),
7174        )
7175    }
7176
7177    /// Implements [super::client::ReasoningEngineService::list_reasoning_engines].
7178    fn list_reasoning_engines(
7179        &self,
7180        _req: crate::model::ListReasoningEnginesRequest,
7181        _options: gax::options::RequestOptions,
7182    ) -> impl std::future::Future<
7183        Output = crate::Result<gax::response::Response<crate::model::ListReasoningEnginesResponse>>,
7184    > + Send {
7185        std::future::ready::<
7186            crate::Result<gax::response::Response<crate::model::ListReasoningEnginesResponse>>,
7187        >(Err(Error::other("unimplemented")))
7188    }
7189
7190    /// Implements [super::client::ReasoningEngineService::update_reasoning_engine].
7191    fn update_reasoning_engine(
7192        &self,
7193        _req: crate::model::UpdateReasoningEngineRequest,
7194        _options: gax::options::RequestOptions,
7195    ) -> impl std::future::Future<
7196        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
7197    > + Send {
7198        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
7199            Err(Error::other("unimplemented")),
7200        )
7201    }
7202
7203    /// Implements [super::client::ReasoningEngineService::delete_reasoning_engine].
7204    fn delete_reasoning_engine(
7205        &self,
7206        _req: crate::model::DeleteReasoningEngineRequest,
7207        _options: gax::options::RequestOptions,
7208    ) -> impl std::future::Future<
7209        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
7210    > + Send {
7211        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
7212            Err(Error::other("unimplemented")),
7213        )
7214    }
7215
7216    /// Implements [super::client::ReasoningEngineService::list_locations].
7217    fn list_locations(
7218        &self,
7219        _req: location::model::ListLocationsRequest,
7220        _options: gax::options::RequestOptions,
7221    ) -> impl std::future::Future<
7222        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
7223    > + Send {
7224        std::future::ready::<
7225            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
7226        >(Err(Error::other("unimplemented")))
7227    }
7228
7229    /// Implements [super::client::ReasoningEngineService::get_location].
7230    fn get_location(
7231        &self,
7232        _req: location::model::GetLocationRequest,
7233        _options: gax::options::RequestOptions,
7234    ) -> impl std::future::Future<
7235        Output = crate::Result<gax::response::Response<location::model::Location>>,
7236    > + Send {
7237        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
7238            Err(Error::other("unimplemented")),
7239        )
7240    }
7241
7242    /// Implements [super::client::ReasoningEngineService::set_iam_policy].
7243    fn set_iam_policy(
7244        &self,
7245        _req: iam_v1::model::SetIamPolicyRequest,
7246        _options: gax::options::RequestOptions,
7247    ) -> impl std::future::Future<
7248        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
7249    > + Send {
7250        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
7251            Error::other("unimplemented"),
7252        ))
7253    }
7254
7255    /// Implements [super::client::ReasoningEngineService::get_iam_policy].
7256    fn get_iam_policy(
7257        &self,
7258        _req: iam_v1::model::GetIamPolicyRequest,
7259        _options: gax::options::RequestOptions,
7260    ) -> impl std::future::Future<
7261        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
7262    > + Send {
7263        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
7264            Error::other("unimplemented"),
7265        ))
7266    }
7267
7268    /// Implements [super::client::ReasoningEngineService::test_iam_permissions].
7269    fn test_iam_permissions(
7270        &self,
7271        _req: iam_v1::model::TestIamPermissionsRequest,
7272        _options: gax::options::RequestOptions,
7273    ) -> impl std::future::Future<
7274        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
7275    > + Send {
7276        std::future::ready::<
7277            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
7278        >(Err(Error::other("unimplemented")))
7279    }
7280
7281    /// Implements [super::client::ReasoningEngineService::list_operations].
7282    fn list_operations(
7283        &self,
7284        _req: longrunning::model::ListOperationsRequest,
7285        _options: gax::options::RequestOptions,
7286    ) -> impl std::future::Future<
7287        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
7288    > + Send {
7289        std::future::ready::<
7290            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
7291        >(Err(Error::other("unimplemented")))
7292    }
7293
7294    /// Implements [super::client::ReasoningEngineService::get_operation].
7295    fn get_operation(
7296        &self,
7297        _req: longrunning::model::GetOperationRequest,
7298        _options: gax::options::RequestOptions,
7299    ) -> impl std::future::Future<
7300        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
7301    > + Send {
7302        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
7303            Err(Error::other("unimplemented")),
7304        )
7305    }
7306
7307    /// Implements [super::client::ReasoningEngineService::delete_operation].
7308    fn delete_operation(
7309        &self,
7310        _req: longrunning::model::DeleteOperationRequest,
7311        _options: gax::options::RequestOptions,
7312    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
7313        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
7314            "unimplemented",
7315        )))
7316    }
7317
7318    /// Implements [super::client::ReasoningEngineService::cancel_operation].
7319    fn cancel_operation(
7320        &self,
7321        _req: longrunning::model::CancelOperationRequest,
7322        _options: gax::options::RequestOptions,
7323    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
7324        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
7325            "unimplemented",
7326        )))
7327    }
7328
7329    /// Implements [super::client::ReasoningEngineService::wait_operation].
7330    fn wait_operation(
7331        &self,
7332        _req: longrunning::model::WaitOperationRequest,
7333        _options: gax::options::RequestOptions,
7334    ) -> impl std::future::Future<
7335        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
7336    > + Send {
7337        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
7338            Err(Error::other("unimplemented")),
7339        )
7340    }
7341
7342    /// Returns the polling error policy.
7343    ///
7344    /// When mocking, this method is typically irrelevant. Do not try to verify
7345    /// it is called by your mocks.
7346    fn get_polling_error_policy(
7347        &self,
7348        _options: &gax::options::RequestOptions,
7349    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
7350        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
7351    }
7352
7353    /// Returns the polling backoff policy.
7354    ///
7355    /// When mocking, this method is typically irrelevant. Do not try to verify
7356    /// it is called by your mocks.
7357    fn get_polling_backoff_policy(
7358        &self,
7359        _options: &gax::options::RequestOptions,
7360    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
7361        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
7362    }
7363}
7364
7365/// Defines the trait used to implement [super::client::ScheduleService].
7366///
7367/// Application developers may need to implement this trait to mock
7368/// `client::ScheduleService`.  In other use-cases, application developers only
7369/// use `client::ScheduleService` and need not be concerned with this trait or
7370/// its implementations.
7371///
7372/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7373/// too. To avoid breaking applications the trait provides a default
7374/// implementation of each method. Most of these implementations just return an
7375/// error.
7376#[cfg(feature = "schedule-service")]
7377#[cfg_attr(docsrs, doc(cfg(feature = "schedule-service")))]
7378pub trait ScheduleService: std::fmt::Debug + Send + Sync {
7379    /// Implements [super::client::ScheduleService::create_schedule].
7380    fn create_schedule(
7381        &self,
7382        _req: crate::model::CreateScheduleRequest,
7383        _options: gax::options::RequestOptions,
7384    ) -> impl std::future::Future<
7385        Output = crate::Result<gax::response::Response<crate::model::Schedule>>,
7386    > + Send {
7387        std::future::ready::<crate::Result<gax::response::Response<crate::model::Schedule>>>(Err(
7388            Error::other("unimplemented"),
7389        ))
7390    }
7391
7392    /// Implements [super::client::ScheduleService::delete_schedule].
7393    fn delete_schedule(
7394        &self,
7395        _req: crate::model::DeleteScheduleRequest,
7396        _options: gax::options::RequestOptions,
7397    ) -> impl std::future::Future<
7398        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
7399    > + Send {
7400        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
7401            Err(Error::other("unimplemented")),
7402        )
7403    }
7404
7405    /// Implements [super::client::ScheduleService::get_schedule].
7406    fn get_schedule(
7407        &self,
7408        _req: crate::model::GetScheduleRequest,
7409        _options: gax::options::RequestOptions,
7410    ) -> impl std::future::Future<
7411        Output = crate::Result<gax::response::Response<crate::model::Schedule>>,
7412    > + Send {
7413        std::future::ready::<crate::Result<gax::response::Response<crate::model::Schedule>>>(Err(
7414            Error::other("unimplemented"),
7415        ))
7416    }
7417
7418    /// Implements [super::client::ScheduleService::list_schedules].
7419    fn list_schedules(
7420        &self,
7421        _req: crate::model::ListSchedulesRequest,
7422        _options: gax::options::RequestOptions,
7423    ) -> impl std::future::Future<
7424        Output = crate::Result<gax::response::Response<crate::model::ListSchedulesResponse>>,
7425    > + Send {
7426        std::future::ready::<
7427            crate::Result<gax::response::Response<crate::model::ListSchedulesResponse>>,
7428        >(Err(Error::other("unimplemented")))
7429    }
7430
7431    /// Implements [super::client::ScheduleService::pause_schedule].
7432    fn pause_schedule(
7433        &self,
7434        _req: crate::model::PauseScheduleRequest,
7435        _options: gax::options::RequestOptions,
7436    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
7437        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
7438            "unimplemented",
7439        )))
7440    }
7441
7442    /// Implements [super::client::ScheduleService::resume_schedule].
7443    fn resume_schedule(
7444        &self,
7445        _req: crate::model::ResumeScheduleRequest,
7446        _options: gax::options::RequestOptions,
7447    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
7448        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
7449            "unimplemented",
7450        )))
7451    }
7452
7453    /// Implements [super::client::ScheduleService::update_schedule].
7454    fn update_schedule(
7455        &self,
7456        _req: crate::model::UpdateScheduleRequest,
7457        _options: gax::options::RequestOptions,
7458    ) -> impl std::future::Future<
7459        Output = crate::Result<gax::response::Response<crate::model::Schedule>>,
7460    > + Send {
7461        std::future::ready::<crate::Result<gax::response::Response<crate::model::Schedule>>>(Err(
7462            Error::other("unimplemented"),
7463        ))
7464    }
7465
7466    /// Implements [super::client::ScheduleService::list_locations].
7467    fn list_locations(
7468        &self,
7469        _req: location::model::ListLocationsRequest,
7470        _options: gax::options::RequestOptions,
7471    ) -> impl std::future::Future<
7472        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
7473    > + Send {
7474        std::future::ready::<
7475            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
7476        >(Err(Error::other("unimplemented")))
7477    }
7478
7479    /// Implements [super::client::ScheduleService::get_location].
7480    fn get_location(
7481        &self,
7482        _req: location::model::GetLocationRequest,
7483        _options: gax::options::RequestOptions,
7484    ) -> impl std::future::Future<
7485        Output = crate::Result<gax::response::Response<location::model::Location>>,
7486    > + Send {
7487        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
7488            Err(Error::other("unimplemented")),
7489        )
7490    }
7491
7492    /// Implements [super::client::ScheduleService::set_iam_policy].
7493    fn set_iam_policy(
7494        &self,
7495        _req: iam_v1::model::SetIamPolicyRequest,
7496        _options: gax::options::RequestOptions,
7497    ) -> impl std::future::Future<
7498        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
7499    > + Send {
7500        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
7501            Error::other("unimplemented"),
7502        ))
7503    }
7504
7505    /// Implements [super::client::ScheduleService::get_iam_policy].
7506    fn get_iam_policy(
7507        &self,
7508        _req: iam_v1::model::GetIamPolicyRequest,
7509        _options: gax::options::RequestOptions,
7510    ) -> impl std::future::Future<
7511        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
7512    > + Send {
7513        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
7514            Error::other("unimplemented"),
7515        ))
7516    }
7517
7518    /// Implements [super::client::ScheduleService::test_iam_permissions].
7519    fn test_iam_permissions(
7520        &self,
7521        _req: iam_v1::model::TestIamPermissionsRequest,
7522        _options: gax::options::RequestOptions,
7523    ) -> impl std::future::Future<
7524        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
7525    > + Send {
7526        std::future::ready::<
7527            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
7528        >(Err(Error::other("unimplemented")))
7529    }
7530
7531    /// Implements [super::client::ScheduleService::list_operations].
7532    fn list_operations(
7533        &self,
7534        _req: longrunning::model::ListOperationsRequest,
7535        _options: gax::options::RequestOptions,
7536    ) -> impl std::future::Future<
7537        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
7538    > + Send {
7539        std::future::ready::<
7540            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
7541        >(Err(Error::other("unimplemented")))
7542    }
7543
7544    /// Implements [super::client::ScheduleService::get_operation].
7545    fn get_operation(
7546        &self,
7547        _req: longrunning::model::GetOperationRequest,
7548        _options: gax::options::RequestOptions,
7549    ) -> impl std::future::Future<
7550        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
7551    > + Send {
7552        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
7553            Err(Error::other("unimplemented")),
7554        )
7555    }
7556
7557    /// Implements [super::client::ScheduleService::delete_operation].
7558    fn delete_operation(
7559        &self,
7560        _req: longrunning::model::DeleteOperationRequest,
7561        _options: gax::options::RequestOptions,
7562    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
7563        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
7564            "unimplemented",
7565        )))
7566    }
7567
7568    /// Implements [super::client::ScheduleService::cancel_operation].
7569    fn cancel_operation(
7570        &self,
7571        _req: longrunning::model::CancelOperationRequest,
7572        _options: gax::options::RequestOptions,
7573    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
7574        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
7575            "unimplemented",
7576        )))
7577    }
7578
7579    /// Implements [super::client::ScheduleService::wait_operation].
7580    fn wait_operation(
7581        &self,
7582        _req: longrunning::model::WaitOperationRequest,
7583        _options: gax::options::RequestOptions,
7584    ) -> impl std::future::Future<
7585        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
7586    > + Send {
7587        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
7588            Err(Error::other("unimplemented")),
7589        )
7590    }
7591
7592    /// Returns the polling error policy.
7593    ///
7594    /// When mocking, this method is typically irrelevant. Do not try to verify
7595    /// it is called by your mocks.
7596    fn get_polling_error_policy(
7597        &self,
7598        _options: &gax::options::RequestOptions,
7599    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
7600        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
7601    }
7602
7603    /// Returns the polling backoff policy.
7604    ///
7605    /// When mocking, this method is typically irrelevant. Do not try to verify
7606    /// it is called by your mocks.
7607    fn get_polling_backoff_policy(
7608        &self,
7609        _options: &gax::options::RequestOptions,
7610    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
7611        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
7612    }
7613}
7614
7615/// Defines the trait used to implement [super::client::SpecialistPoolService].
7616///
7617/// Application developers may need to implement this trait to mock
7618/// `client::SpecialistPoolService`.  In other use-cases, application developers only
7619/// use `client::SpecialistPoolService` and need not be concerned with this trait or
7620/// its implementations.
7621///
7622/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7623/// too. To avoid breaking applications the trait provides a default
7624/// implementation of each method. Most of these implementations just return an
7625/// error.
7626#[cfg(feature = "specialist-pool-service")]
7627#[cfg_attr(docsrs, doc(cfg(feature = "specialist-pool-service")))]
7628pub trait SpecialistPoolService: std::fmt::Debug + Send + Sync {
7629    /// Implements [super::client::SpecialistPoolService::create_specialist_pool].
7630    fn create_specialist_pool(
7631        &self,
7632        _req: crate::model::CreateSpecialistPoolRequest,
7633        _options: gax::options::RequestOptions,
7634    ) -> impl std::future::Future<
7635        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
7636    > + Send {
7637        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
7638            Err(Error::other("unimplemented")),
7639        )
7640    }
7641
7642    /// Implements [super::client::SpecialistPoolService::get_specialist_pool].
7643    fn get_specialist_pool(
7644        &self,
7645        _req: crate::model::GetSpecialistPoolRequest,
7646        _options: gax::options::RequestOptions,
7647    ) -> impl std::future::Future<
7648        Output = crate::Result<gax::response::Response<crate::model::SpecialistPool>>,
7649    > + Send {
7650        std::future::ready::<crate::Result<gax::response::Response<crate::model::SpecialistPool>>>(
7651            Err(Error::other("unimplemented")),
7652        )
7653    }
7654
7655    /// Implements [super::client::SpecialistPoolService::list_specialist_pools].
7656    fn list_specialist_pools(
7657        &self,
7658        _req: crate::model::ListSpecialistPoolsRequest,
7659        _options: gax::options::RequestOptions,
7660    ) -> impl std::future::Future<
7661        Output = crate::Result<gax::response::Response<crate::model::ListSpecialistPoolsResponse>>,
7662    > + Send {
7663        std::future::ready::<
7664            crate::Result<gax::response::Response<crate::model::ListSpecialistPoolsResponse>>,
7665        >(Err(Error::other("unimplemented")))
7666    }
7667
7668    /// Implements [super::client::SpecialistPoolService::delete_specialist_pool].
7669    fn delete_specialist_pool(
7670        &self,
7671        _req: crate::model::DeleteSpecialistPoolRequest,
7672        _options: gax::options::RequestOptions,
7673    ) -> impl std::future::Future<
7674        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
7675    > + Send {
7676        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
7677            Err(Error::other("unimplemented")),
7678        )
7679    }
7680
7681    /// Implements [super::client::SpecialistPoolService::update_specialist_pool].
7682    fn update_specialist_pool(
7683        &self,
7684        _req: crate::model::UpdateSpecialistPoolRequest,
7685        _options: gax::options::RequestOptions,
7686    ) -> impl std::future::Future<
7687        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
7688    > + Send {
7689        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
7690            Err(Error::other("unimplemented")),
7691        )
7692    }
7693
7694    /// Implements [super::client::SpecialistPoolService::list_locations].
7695    fn list_locations(
7696        &self,
7697        _req: location::model::ListLocationsRequest,
7698        _options: gax::options::RequestOptions,
7699    ) -> impl std::future::Future<
7700        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
7701    > + Send {
7702        std::future::ready::<
7703            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
7704        >(Err(Error::other("unimplemented")))
7705    }
7706
7707    /// Implements [super::client::SpecialistPoolService::get_location].
7708    fn get_location(
7709        &self,
7710        _req: location::model::GetLocationRequest,
7711        _options: gax::options::RequestOptions,
7712    ) -> impl std::future::Future<
7713        Output = crate::Result<gax::response::Response<location::model::Location>>,
7714    > + Send {
7715        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
7716            Err(Error::other("unimplemented")),
7717        )
7718    }
7719
7720    /// Implements [super::client::SpecialistPoolService::set_iam_policy].
7721    fn set_iam_policy(
7722        &self,
7723        _req: iam_v1::model::SetIamPolicyRequest,
7724        _options: gax::options::RequestOptions,
7725    ) -> impl std::future::Future<
7726        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
7727    > + Send {
7728        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
7729            Error::other("unimplemented"),
7730        ))
7731    }
7732
7733    /// Implements [super::client::SpecialistPoolService::get_iam_policy].
7734    fn get_iam_policy(
7735        &self,
7736        _req: iam_v1::model::GetIamPolicyRequest,
7737        _options: gax::options::RequestOptions,
7738    ) -> impl std::future::Future<
7739        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
7740    > + Send {
7741        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
7742            Error::other("unimplemented"),
7743        ))
7744    }
7745
7746    /// Implements [super::client::SpecialistPoolService::test_iam_permissions].
7747    fn test_iam_permissions(
7748        &self,
7749        _req: iam_v1::model::TestIamPermissionsRequest,
7750        _options: gax::options::RequestOptions,
7751    ) -> impl std::future::Future<
7752        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
7753    > + Send {
7754        std::future::ready::<
7755            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
7756        >(Err(Error::other("unimplemented")))
7757    }
7758
7759    /// Implements [super::client::SpecialistPoolService::list_operations].
7760    fn list_operations(
7761        &self,
7762        _req: longrunning::model::ListOperationsRequest,
7763        _options: gax::options::RequestOptions,
7764    ) -> impl std::future::Future<
7765        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
7766    > + Send {
7767        std::future::ready::<
7768            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
7769        >(Err(Error::other("unimplemented")))
7770    }
7771
7772    /// Implements [super::client::SpecialistPoolService::get_operation].
7773    fn get_operation(
7774        &self,
7775        _req: longrunning::model::GetOperationRequest,
7776        _options: gax::options::RequestOptions,
7777    ) -> impl std::future::Future<
7778        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
7779    > + Send {
7780        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
7781            Err(Error::other("unimplemented")),
7782        )
7783    }
7784
7785    /// Implements [super::client::SpecialistPoolService::delete_operation].
7786    fn delete_operation(
7787        &self,
7788        _req: longrunning::model::DeleteOperationRequest,
7789        _options: gax::options::RequestOptions,
7790    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
7791        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
7792            "unimplemented",
7793        )))
7794    }
7795
7796    /// Implements [super::client::SpecialistPoolService::cancel_operation].
7797    fn cancel_operation(
7798        &self,
7799        _req: longrunning::model::CancelOperationRequest,
7800        _options: gax::options::RequestOptions,
7801    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
7802        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
7803            "unimplemented",
7804        )))
7805    }
7806
7807    /// Implements [super::client::SpecialistPoolService::wait_operation].
7808    fn wait_operation(
7809        &self,
7810        _req: longrunning::model::WaitOperationRequest,
7811        _options: gax::options::RequestOptions,
7812    ) -> impl std::future::Future<
7813        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
7814    > + Send {
7815        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
7816            Err(Error::other("unimplemented")),
7817        )
7818    }
7819
7820    /// Returns the polling error policy.
7821    ///
7822    /// When mocking, this method is typically irrelevant. Do not try to verify
7823    /// it is called by your mocks.
7824    fn get_polling_error_policy(
7825        &self,
7826        _options: &gax::options::RequestOptions,
7827    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
7828        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
7829    }
7830
7831    /// Returns the polling backoff policy.
7832    ///
7833    /// When mocking, this method is typically irrelevant. Do not try to verify
7834    /// it is called by your mocks.
7835    fn get_polling_backoff_policy(
7836        &self,
7837        _options: &gax::options::RequestOptions,
7838    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
7839        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
7840    }
7841}
7842
7843/// Defines the trait used to implement [super::client::TensorboardService].
7844///
7845/// Application developers may need to implement this trait to mock
7846/// `client::TensorboardService`.  In other use-cases, application developers only
7847/// use `client::TensorboardService` and need not be concerned with this trait or
7848/// its implementations.
7849///
7850/// Services gain new RPCs routinely. Consequently, this trait gains new methods
7851/// too. To avoid breaking applications the trait provides a default
7852/// implementation of each method. Most of these implementations just return an
7853/// error.
7854#[cfg(feature = "tensorboard-service")]
7855#[cfg_attr(docsrs, doc(cfg(feature = "tensorboard-service")))]
7856pub trait TensorboardService: std::fmt::Debug + Send + Sync {
7857    /// Implements [super::client::TensorboardService::create_tensorboard].
7858    fn create_tensorboard(
7859        &self,
7860        _req: crate::model::CreateTensorboardRequest,
7861        _options: gax::options::RequestOptions,
7862    ) -> impl std::future::Future<
7863        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
7864    > + Send {
7865        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
7866            Err(Error::other("unimplemented")),
7867        )
7868    }
7869
7870    /// Implements [super::client::TensorboardService::get_tensorboard].
7871    fn get_tensorboard(
7872        &self,
7873        _req: crate::model::GetTensorboardRequest,
7874        _options: gax::options::RequestOptions,
7875    ) -> impl std::future::Future<
7876        Output = crate::Result<gax::response::Response<crate::model::Tensorboard>>,
7877    > + Send {
7878        std::future::ready::<crate::Result<gax::response::Response<crate::model::Tensorboard>>>(
7879            Err(Error::other("unimplemented")),
7880        )
7881    }
7882
7883    /// Implements [super::client::TensorboardService::update_tensorboard].
7884    fn update_tensorboard(
7885        &self,
7886        _req: crate::model::UpdateTensorboardRequest,
7887        _options: gax::options::RequestOptions,
7888    ) -> impl std::future::Future<
7889        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
7890    > + Send {
7891        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
7892            Err(Error::other("unimplemented")),
7893        )
7894    }
7895
7896    /// Implements [super::client::TensorboardService::list_tensorboards].
7897    fn list_tensorboards(
7898        &self,
7899        _req: crate::model::ListTensorboardsRequest,
7900        _options: gax::options::RequestOptions,
7901    ) -> impl std::future::Future<
7902        Output = crate::Result<gax::response::Response<crate::model::ListTensorboardsResponse>>,
7903    > + Send {
7904        std::future::ready::<
7905            crate::Result<gax::response::Response<crate::model::ListTensorboardsResponse>>,
7906        >(Err(Error::other("unimplemented")))
7907    }
7908
7909    /// Implements [super::client::TensorboardService::delete_tensorboard].
7910    fn delete_tensorboard(
7911        &self,
7912        _req: crate::model::DeleteTensorboardRequest,
7913        _options: gax::options::RequestOptions,
7914    ) -> impl std::future::Future<
7915        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
7916    > + Send {
7917        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
7918            Err(Error::other("unimplemented")),
7919        )
7920    }
7921
7922    /// Implements [super::client::TensorboardService::read_tensorboard_usage].
7923    fn read_tensorboard_usage(
7924        &self,
7925        _req: crate::model::ReadTensorboardUsageRequest,
7926        _options: gax::options::RequestOptions,
7927    ) -> impl std::future::Future<
7928        Output = crate::Result<gax::response::Response<crate::model::ReadTensorboardUsageResponse>>,
7929    > + Send {
7930        std::future::ready::<
7931            crate::Result<gax::response::Response<crate::model::ReadTensorboardUsageResponse>>,
7932        >(Err(Error::other("unimplemented")))
7933    }
7934
7935    /// Implements [super::client::TensorboardService::read_tensorboard_size].
7936    fn read_tensorboard_size(
7937        &self,
7938        _req: crate::model::ReadTensorboardSizeRequest,
7939        _options: gax::options::RequestOptions,
7940    ) -> impl std::future::Future<
7941        Output = crate::Result<gax::response::Response<crate::model::ReadTensorboardSizeResponse>>,
7942    > + Send {
7943        std::future::ready::<
7944            crate::Result<gax::response::Response<crate::model::ReadTensorboardSizeResponse>>,
7945        >(Err(Error::other("unimplemented")))
7946    }
7947
7948    /// Implements [super::client::TensorboardService::create_tensorboard_experiment].
7949    fn create_tensorboard_experiment(
7950        &self,
7951        _req: crate::model::CreateTensorboardExperimentRequest,
7952        _options: gax::options::RequestOptions,
7953    ) -> impl std::future::Future<
7954        Output = crate::Result<gax::response::Response<crate::model::TensorboardExperiment>>,
7955    > + Send {
7956        std::future::ready::<
7957            crate::Result<gax::response::Response<crate::model::TensorboardExperiment>>,
7958        >(Err(Error::other("unimplemented")))
7959    }
7960
7961    /// Implements [super::client::TensorboardService::get_tensorboard_experiment].
7962    fn get_tensorboard_experiment(
7963        &self,
7964        _req: crate::model::GetTensorboardExperimentRequest,
7965        _options: gax::options::RequestOptions,
7966    ) -> impl std::future::Future<
7967        Output = crate::Result<gax::response::Response<crate::model::TensorboardExperiment>>,
7968    > + Send {
7969        std::future::ready::<
7970            crate::Result<gax::response::Response<crate::model::TensorboardExperiment>>,
7971        >(Err(Error::other("unimplemented")))
7972    }
7973
7974    /// Implements [super::client::TensorboardService::update_tensorboard_experiment].
7975    fn update_tensorboard_experiment(
7976        &self,
7977        _req: crate::model::UpdateTensorboardExperimentRequest,
7978        _options: gax::options::RequestOptions,
7979    ) -> impl std::future::Future<
7980        Output = crate::Result<gax::response::Response<crate::model::TensorboardExperiment>>,
7981    > + Send {
7982        std::future::ready::<
7983            crate::Result<gax::response::Response<crate::model::TensorboardExperiment>>,
7984        >(Err(Error::other("unimplemented")))
7985    }
7986
7987    /// Implements [super::client::TensorboardService::list_tensorboard_experiments].
7988    fn list_tensorboard_experiments(
7989        &self,
7990        _req: crate::model::ListTensorboardExperimentsRequest,
7991        _options: gax::options::RequestOptions,
7992    ) -> impl std::future::Future<
7993        Output = crate::Result<
7994            gax::response::Response<crate::model::ListTensorboardExperimentsResponse>,
7995        >,
7996    > + Send {
7997        std::future::ready::<
7998            crate::Result<
7999                gax::response::Response<crate::model::ListTensorboardExperimentsResponse>,
8000            >,
8001        >(Err(Error::other("unimplemented")))
8002    }
8003
8004    /// Implements [super::client::TensorboardService::delete_tensorboard_experiment].
8005    fn delete_tensorboard_experiment(
8006        &self,
8007        _req: crate::model::DeleteTensorboardExperimentRequest,
8008        _options: gax::options::RequestOptions,
8009    ) -> impl std::future::Future<
8010        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
8011    > + Send {
8012        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
8013            Err(Error::other("unimplemented")),
8014        )
8015    }
8016
8017    /// Implements [super::client::TensorboardService::create_tensorboard_run].
8018    fn create_tensorboard_run(
8019        &self,
8020        _req: crate::model::CreateTensorboardRunRequest,
8021        _options: gax::options::RequestOptions,
8022    ) -> impl std::future::Future<
8023        Output = crate::Result<gax::response::Response<crate::model::TensorboardRun>>,
8024    > + Send {
8025        std::future::ready::<crate::Result<gax::response::Response<crate::model::TensorboardRun>>>(
8026            Err(Error::other("unimplemented")),
8027        )
8028    }
8029
8030    /// Implements [super::client::TensorboardService::batch_create_tensorboard_runs].
8031    fn batch_create_tensorboard_runs(
8032        &self,
8033        _req: crate::model::BatchCreateTensorboardRunsRequest,
8034        _options: gax::options::RequestOptions,
8035    ) -> impl std::future::Future<
8036        Output = crate::Result<
8037            gax::response::Response<crate::model::BatchCreateTensorboardRunsResponse>,
8038        >,
8039    > + Send {
8040        std::future::ready::<
8041            crate::Result<
8042                gax::response::Response<crate::model::BatchCreateTensorboardRunsResponse>,
8043            >,
8044        >(Err(Error::other("unimplemented")))
8045    }
8046
8047    /// Implements [super::client::TensorboardService::get_tensorboard_run].
8048    fn get_tensorboard_run(
8049        &self,
8050        _req: crate::model::GetTensorboardRunRequest,
8051        _options: gax::options::RequestOptions,
8052    ) -> impl std::future::Future<
8053        Output = crate::Result<gax::response::Response<crate::model::TensorboardRun>>,
8054    > + Send {
8055        std::future::ready::<crate::Result<gax::response::Response<crate::model::TensorboardRun>>>(
8056            Err(Error::other("unimplemented")),
8057        )
8058    }
8059
8060    /// Implements [super::client::TensorboardService::update_tensorboard_run].
8061    fn update_tensorboard_run(
8062        &self,
8063        _req: crate::model::UpdateTensorboardRunRequest,
8064        _options: gax::options::RequestOptions,
8065    ) -> impl std::future::Future<
8066        Output = crate::Result<gax::response::Response<crate::model::TensorboardRun>>,
8067    > + Send {
8068        std::future::ready::<crate::Result<gax::response::Response<crate::model::TensorboardRun>>>(
8069            Err(Error::other("unimplemented")),
8070        )
8071    }
8072
8073    /// Implements [super::client::TensorboardService::list_tensorboard_runs].
8074    fn list_tensorboard_runs(
8075        &self,
8076        _req: crate::model::ListTensorboardRunsRequest,
8077        _options: gax::options::RequestOptions,
8078    ) -> impl std::future::Future<
8079        Output = crate::Result<gax::response::Response<crate::model::ListTensorboardRunsResponse>>,
8080    > + Send {
8081        std::future::ready::<
8082            crate::Result<gax::response::Response<crate::model::ListTensorboardRunsResponse>>,
8083        >(Err(Error::other("unimplemented")))
8084    }
8085
8086    /// Implements [super::client::TensorboardService::delete_tensorboard_run].
8087    fn delete_tensorboard_run(
8088        &self,
8089        _req: crate::model::DeleteTensorboardRunRequest,
8090        _options: gax::options::RequestOptions,
8091    ) -> impl std::future::Future<
8092        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
8093    > + Send {
8094        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
8095            Err(Error::other("unimplemented")),
8096        )
8097    }
8098
8099    /// Implements [super::client::TensorboardService::batch_create_tensorboard_time_series].
8100    fn batch_create_tensorboard_time_series(
8101        &self,
8102        _req: crate::model::BatchCreateTensorboardTimeSeriesRequest,
8103        _options: gax::options::RequestOptions,
8104    ) -> impl std::future::Future<
8105        Output = crate::Result<
8106            gax::response::Response<crate::model::BatchCreateTensorboardTimeSeriesResponse>,
8107        >,
8108    > + Send {
8109        std::future::ready::<
8110            crate::Result<
8111                gax::response::Response<crate::model::BatchCreateTensorboardTimeSeriesResponse>,
8112            >,
8113        >(Err(Error::other("unimplemented")))
8114    }
8115
8116    /// Implements [super::client::TensorboardService::create_tensorboard_time_series].
8117    fn create_tensorboard_time_series(
8118        &self,
8119        _req: crate::model::CreateTensorboardTimeSeriesRequest,
8120        _options: gax::options::RequestOptions,
8121    ) -> impl std::future::Future<
8122        Output = crate::Result<gax::response::Response<crate::model::TensorboardTimeSeries>>,
8123    > + Send {
8124        std::future::ready::<
8125            crate::Result<gax::response::Response<crate::model::TensorboardTimeSeries>>,
8126        >(Err(Error::other("unimplemented")))
8127    }
8128
8129    /// Implements [super::client::TensorboardService::get_tensorboard_time_series].
8130    fn get_tensorboard_time_series(
8131        &self,
8132        _req: crate::model::GetTensorboardTimeSeriesRequest,
8133        _options: gax::options::RequestOptions,
8134    ) -> impl std::future::Future<
8135        Output = crate::Result<gax::response::Response<crate::model::TensorboardTimeSeries>>,
8136    > + Send {
8137        std::future::ready::<
8138            crate::Result<gax::response::Response<crate::model::TensorboardTimeSeries>>,
8139        >(Err(Error::other("unimplemented")))
8140    }
8141
8142    /// Implements [super::client::TensorboardService::update_tensorboard_time_series].
8143    fn update_tensorboard_time_series(
8144        &self,
8145        _req: crate::model::UpdateTensorboardTimeSeriesRequest,
8146        _options: gax::options::RequestOptions,
8147    ) -> impl std::future::Future<
8148        Output = crate::Result<gax::response::Response<crate::model::TensorboardTimeSeries>>,
8149    > + Send {
8150        std::future::ready::<
8151            crate::Result<gax::response::Response<crate::model::TensorboardTimeSeries>>,
8152        >(Err(Error::other("unimplemented")))
8153    }
8154
8155    /// Implements [super::client::TensorboardService::list_tensorboard_time_series].
8156    fn list_tensorboard_time_series(
8157        &self,
8158        _req: crate::model::ListTensorboardTimeSeriesRequest,
8159        _options: gax::options::RequestOptions,
8160    ) -> impl std::future::Future<
8161        Output = crate::Result<
8162            gax::response::Response<crate::model::ListTensorboardTimeSeriesResponse>,
8163        >,
8164    > + Send {
8165        std::future::ready::<
8166            crate::Result<gax::response::Response<crate::model::ListTensorboardTimeSeriesResponse>>,
8167        >(Err(Error::other("unimplemented")))
8168    }
8169
8170    /// Implements [super::client::TensorboardService::delete_tensorboard_time_series].
8171    fn delete_tensorboard_time_series(
8172        &self,
8173        _req: crate::model::DeleteTensorboardTimeSeriesRequest,
8174        _options: gax::options::RequestOptions,
8175    ) -> impl std::future::Future<
8176        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
8177    > + Send {
8178        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
8179            Err(Error::other("unimplemented")),
8180        )
8181    }
8182
8183    /// Implements [super::client::TensorboardService::batch_read_tensorboard_time_series_data].
8184    fn batch_read_tensorboard_time_series_data(
8185        &self,
8186        _req: crate::model::BatchReadTensorboardTimeSeriesDataRequest,
8187        _options: gax::options::RequestOptions,
8188    ) -> impl std::future::Future<
8189        Output = crate::Result<
8190            gax::response::Response<crate::model::BatchReadTensorboardTimeSeriesDataResponse>,
8191        >,
8192    > + Send {
8193        std::future::ready::<
8194            crate::Result<
8195                gax::response::Response<crate::model::BatchReadTensorboardTimeSeriesDataResponse>,
8196            >,
8197        >(Err(Error::other("unimplemented")))
8198    }
8199
8200    /// Implements [super::client::TensorboardService::read_tensorboard_time_series_data].
8201    fn read_tensorboard_time_series_data(
8202        &self,
8203        _req: crate::model::ReadTensorboardTimeSeriesDataRequest,
8204        _options: gax::options::RequestOptions,
8205    ) -> impl std::future::Future<
8206        Output = crate::Result<
8207            gax::response::Response<crate::model::ReadTensorboardTimeSeriesDataResponse>,
8208        >,
8209    > + Send {
8210        std::future::ready::<
8211            crate::Result<
8212                gax::response::Response<crate::model::ReadTensorboardTimeSeriesDataResponse>,
8213            >,
8214        >(Err(Error::other("unimplemented")))
8215    }
8216
8217    /// Implements [super::client::TensorboardService::write_tensorboard_experiment_data].
8218    fn write_tensorboard_experiment_data(
8219        &self,
8220        _req: crate::model::WriteTensorboardExperimentDataRequest,
8221        _options: gax::options::RequestOptions,
8222    ) -> impl std::future::Future<
8223        Output = crate::Result<
8224            gax::response::Response<crate::model::WriteTensorboardExperimentDataResponse>,
8225        >,
8226    > + Send {
8227        std::future::ready::<
8228            crate::Result<
8229                gax::response::Response<crate::model::WriteTensorboardExperimentDataResponse>,
8230            >,
8231        >(Err(Error::other("unimplemented")))
8232    }
8233
8234    /// Implements [super::client::TensorboardService::write_tensorboard_run_data].
8235    fn write_tensorboard_run_data(
8236        &self,
8237        _req: crate::model::WriteTensorboardRunDataRequest,
8238        _options: gax::options::RequestOptions,
8239    ) -> impl std::future::Future<
8240        Output = crate::Result<
8241            gax::response::Response<crate::model::WriteTensorboardRunDataResponse>,
8242        >,
8243    > + Send {
8244        std::future::ready::<
8245            crate::Result<gax::response::Response<crate::model::WriteTensorboardRunDataResponse>>,
8246        >(Err(Error::other("unimplemented")))
8247    }
8248
8249    /// Implements [super::client::TensorboardService::export_tensorboard_time_series_data].
8250    fn export_tensorboard_time_series_data(
8251        &self,
8252        _req: crate::model::ExportTensorboardTimeSeriesDataRequest,
8253        _options: gax::options::RequestOptions,
8254    ) -> impl std::future::Future<
8255        Output = crate::Result<
8256            gax::response::Response<crate::model::ExportTensorboardTimeSeriesDataResponse>,
8257        >,
8258    > + Send {
8259        std::future::ready::<
8260            crate::Result<
8261                gax::response::Response<crate::model::ExportTensorboardTimeSeriesDataResponse>,
8262            >,
8263        >(Err(Error::other("unimplemented")))
8264    }
8265
8266    /// Implements [super::client::TensorboardService::list_locations].
8267    fn list_locations(
8268        &self,
8269        _req: location::model::ListLocationsRequest,
8270        _options: gax::options::RequestOptions,
8271    ) -> impl std::future::Future<
8272        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
8273    > + Send {
8274        std::future::ready::<
8275            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
8276        >(Err(Error::other("unimplemented")))
8277    }
8278
8279    /// Implements [super::client::TensorboardService::get_location].
8280    fn get_location(
8281        &self,
8282        _req: location::model::GetLocationRequest,
8283        _options: gax::options::RequestOptions,
8284    ) -> impl std::future::Future<
8285        Output = crate::Result<gax::response::Response<location::model::Location>>,
8286    > + Send {
8287        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
8288            Err(Error::other("unimplemented")),
8289        )
8290    }
8291
8292    /// Implements [super::client::TensorboardService::set_iam_policy].
8293    fn set_iam_policy(
8294        &self,
8295        _req: iam_v1::model::SetIamPolicyRequest,
8296        _options: gax::options::RequestOptions,
8297    ) -> impl std::future::Future<
8298        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
8299    > + Send {
8300        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
8301            Error::other("unimplemented"),
8302        ))
8303    }
8304
8305    /// Implements [super::client::TensorboardService::get_iam_policy].
8306    fn get_iam_policy(
8307        &self,
8308        _req: iam_v1::model::GetIamPolicyRequest,
8309        _options: gax::options::RequestOptions,
8310    ) -> impl std::future::Future<
8311        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
8312    > + Send {
8313        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
8314            Error::other("unimplemented"),
8315        ))
8316    }
8317
8318    /// Implements [super::client::TensorboardService::test_iam_permissions].
8319    fn test_iam_permissions(
8320        &self,
8321        _req: iam_v1::model::TestIamPermissionsRequest,
8322        _options: gax::options::RequestOptions,
8323    ) -> impl std::future::Future<
8324        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
8325    > + Send {
8326        std::future::ready::<
8327            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
8328        >(Err(Error::other("unimplemented")))
8329    }
8330
8331    /// Implements [super::client::TensorboardService::list_operations].
8332    fn list_operations(
8333        &self,
8334        _req: longrunning::model::ListOperationsRequest,
8335        _options: gax::options::RequestOptions,
8336    ) -> impl std::future::Future<
8337        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
8338    > + Send {
8339        std::future::ready::<
8340            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
8341        >(Err(Error::other("unimplemented")))
8342    }
8343
8344    /// Implements [super::client::TensorboardService::get_operation].
8345    fn get_operation(
8346        &self,
8347        _req: longrunning::model::GetOperationRequest,
8348        _options: gax::options::RequestOptions,
8349    ) -> impl std::future::Future<
8350        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
8351    > + Send {
8352        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
8353            Err(Error::other("unimplemented")),
8354        )
8355    }
8356
8357    /// Implements [super::client::TensorboardService::delete_operation].
8358    fn delete_operation(
8359        &self,
8360        _req: longrunning::model::DeleteOperationRequest,
8361        _options: gax::options::RequestOptions,
8362    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
8363        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
8364            "unimplemented",
8365        )))
8366    }
8367
8368    /// Implements [super::client::TensorboardService::cancel_operation].
8369    fn cancel_operation(
8370        &self,
8371        _req: longrunning::model::CancelOperationRequest,
8372        _options: gax::options::RequestOptions,
8373    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
8374        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
8375            "unimplemented",
8376        )))
8377    }
8378
8379    /// Implements [super::client::TensorboardService::wait_operation].
8380    fn wait_operation(
8381        &self,
8382        _req: longrunning::model::WaitOperationRequest,
8383        _options: gax::options::RequestOptions,
8384    ) -> impl std::future::Future<
8385        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
8386    > + Send {
8387        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
8388            Err(Error::other("unimplemented")),
8389        )
8390    }
8391
8392    /// Returns the polling error policy.
8393    ///
8394    /// When mocking, this method is typically irrelevant. Do not try to verify
8395    /// it is called by your mocks.
8396    fn get_polling_error_policy(
8397        &self,
8398        _options: &gax::options::RequestOptions,
8399    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
8400        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
8401    }
8402
8403    /// Returns the polling backoff policy.
8404    ///
8405    /// When mocking, this method is typically irrelevant. Do not try to verify
8406    /// it is called by your mocks.
8407    fn get_polling_backoff_policy(
8408        &self,
8409        _options: &gax::options::RequestOptions,
8410    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
8411        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
8412    }
8413}
8414
8415/// Defines the trait used to implement [super::client::VertexRagDataService].
8416///
8417/// Application developers may need to implement this trait to mock
8418/// `client::VertexRagDataService`.  In other use-cases, application developers only
8419/// use `client::VertexRagDataService` and need not be concerned with this trait or
8420/// its implementations.
8421///
8422/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8423/// too. To avoid breaking applications the trait provides a default
8424/// implementation of each method. Most of these implementations just return an
8425/// error.
8426#[cfg(feature = "vertex-rag-data-service")]
8427#[cfg_attr(docsrs, doc(cfg(feature = "vertex-rag-data-service")))]
8428pub trait VertexRagDataService: std::fmt::Debug + Send + Sync {
8429    /// Implements [super::client::VertexRagDataService::create_rag_corpus].
8430    fn create_rag_corpus(
8431        &self,
8432        _req: crate::model::CreateRagCorpusRequest,
8433        _options: gax::options::RequestOptions,
8434    ) -> impl std::future::Future<
8435        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
8436    > + Send {
8437        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
8438            Err(Error::other("unimplemented")),
8439        )
8440    }
8441
8442    /// Implements [super::client::VertexRagDataService::update_rag_corpus].
8443    fn update_rag_corpus(
8444        &self,
8445        _req: crate::model::UpdateRagCorpusRequest,
8446        _options: gax::options::RequestOptions,
8447    ) -> impl std::future::Future<
8448        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
8449    > + Send {
8450        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
8451            Err(Error::other("unimplemented")),
8452        )
8453    }
8454
8455    /// Implements [super::client::VertexRagDataService::get_rag_corpus].
8456    fn get_rag_corpus(
8457        &self,
8458        _req: crate::model::GetRagCorpusRequest,
8459        _options: gax::options::RequestOptions,
8460    ) -> impl std::future::Future<
8461        Output = crate::Result<gax::response::Response<crate::model::RagCorpus>>,
8462    > + Send {
8463        std::future::ready::<crate::Result<gax::response::Response<crate::model::RagCorpus>>>(Err(
8464            Error::other("unimplemented"),
8465        ))
8466    }
8467
8468    /// Implements [super::client::VertexRagDataService::list_rag_corpora].
8469    fn list_rag_corpora(
8470        &self,
8471        _req: crate::model::ListRagCorporaRequest,
8472        _options: gax::options::RequestOptions,
8473    ) -> impl std::future::Future<
8474        Output = crate::Result<gax::response::Response<crate::model::ListRagCorporaResponse>>,
8475    > + Send {
8476        std::future::ready::<
8477            crate::Result<gax::response::Response<crate::model::ListRagCorporaResponse>>,
8478        >(Err(Error::other("unimplemented")))
8479    }
8480
8481    /// Implements [super::client::VertexRagDataService::delete_rag_corpus].
8482    fn delete_rag_corpus(
8483        &self,
8484        _req: crate::model::DeleteRagCorpusRequest,
8485        _options: gax::options::RequestOptions,
8486    ) -> impl std::future::Future<
8487        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
8488    > + Send {
8489        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
8490            Err(Error::other("unimplemented")),
8491        )
8492    }
8493
8494    /// Implements [super::client::VertexRagDataService::upload_rag_file].
8495    fn upload_rag_file(
8496        &self,
8497        _req: crate::model::UploadRagFileRequest,
8498        _options: gax::options::RequestOptions,
8499    ) -> impl std::future::Future<
8500        Output = crate::Result<gax::response::Response<crate::model::UploadRagFileResponse>>,
8501    > + Send {
8502        std::future::ready::<
8503            crate::Result<gax::response::Response<crate::model::UploadRagFileResponse>>,
8504        >(Err(Error::other("unimplemented")))
8505    }
8506
8507    /// Implements [super::client::VertexRagDataService::import_rag_files].
8508    fn import_rag_files(
8509        &self,
8510        _req: crate::model::ImportRagFilesRequest,
8511        _options: gax::options::RequestOptions,
8512    ) -> impl std::future::Future<
8513        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
8514    > + Send {
8515        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
8516            Err(Error::other("unimplemented")),
8517        )
8518    }
8519
8520    /// Implements [super::client::VertexRagDataService::get_rag_file].
8521    fn get_rag_file(
8522        &self,
8523        _req: crate::model::GetRagFileRequest,
8524        _options: gax::options::RequestOptions,
8525    ) -> impl std::future::Future<
8526        Output = crate::Result<gax::response::Response<crate::model::RagFile>>,
8527    > + Send {
8528        std::future::ready::<crate::Result<gax::response::Response<crate::model::RagFile>>>(Err(
8529            Error::other("unimplemented"),
8530        ))
8531    }
8532
8533    /// Implements [super::client::VertexRagDataService::list_rag_files].
8534    fn list_rag_files(
8535        &self,
8536        _req: crate::model::ListRagFilesRequest,
8537        _options: gax::options::RequestOptions,
8538    ) -> impl std::future::Future<
8539        Output = crate::Result<gax::response::Response<crate::model::ListRagFilesResponse>>,
8540    > + Send {
8541        std::future::ready::<
8542            crate::Result<gax::response::Response<crate::model::ListRagFilesResponse>>,
8543        >(Err(Error::other("unimplemented")))
8544    }
8545
8546    /// Implements [super::client::VertexRagDataService::delete_rag_file].
8547    fn delete_rag_file(
8548        &self,
8549        _req: crate::model::DeleteRagFileRequest,
8550        _options: gax::options::RequestOptions,
8551    ) -> impl std::future::Future<
8552        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
8553    > + Send {
8554        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
8555            Err(Error::other("unimplemented")),
8556        )
8557    }
8558
8559    /// Implements [super::client::VertexRagDataService::list_locations].
8560    fn list_locations(
8561        &self,
8562        _req: location::model::ListLocationsRequest,
8563        _options: gax::options::RequestOptions,
8564    ) -> impl std::future::Future<
8565        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
8566    > + Send {
8567        std::future::ready::<
8568            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
8569        >(Err(Error::other("unimplemented")))
8570    }
8571
8572    /// Implements [super::client::VertexRagDataService::get_location].
8573    fn get_location(
8574        &self,
8575        _req: location::model::GetLocationRequest,
8576        _options: gax::options::RequestOptions,
8577    ) -> impl std::future::Future<
8578        Output = crate::Result<gax::response::Response<location::model::Location>>,
8579    > + Send {
8580        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
8581            Err(Error::other("unimplemented")),
8582        )
8583    }
8584
8585    /// Implements [super::client::VertexRagDataService::set_iam_policy].
8586    fn set_iam_policy(
8587        &self,
8588        _req: iam_v1::model::SetIamPolicyRequest,
8589        _options: gax::options::RequestOptions,
8590    ) -> impl std::future::Future<
8591        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
8592    > + Send {
8593        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
8594            Error::other("unimplemented"),
8595        ))
8596    }
8597
8598    /// Implements [super::client::VertexRagDataService::get_iam_policy].
8599    fn get_iam_policy(
8600        &self,
8601        _req: iam_v1::model::GetIamPolicyRequest,
8602        _options: gax::options::RequestOptions,
8603    ) -> impl std::future::Future<
8604        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
8605    > + Send {
8606        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
8607            Error::other("unimplemented"),
8608        ))
8609    }
8610
8611    /// Implements [super::client::VertexRagDataService::test_iam_permissions].
8612    fn test_iam_permissions(
8613        &self,
8614        _req: iam_v1::model::TestIamPermissionsRequest,
8615        _options: gax::options::RequestOptions,
8616    ) -> impl std::future::Future<
8617        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
8618    > + Send {
8619        std::future::ready::<
8620            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
8621        >(Err(Error::other("unimplemented")))
8622    }
8623
8624    /// Implements [super::client::VertexRagDataService::list_operations].
8625    fn list_operations(
8626        &self,
8627        _req: longrunning::model::ListOperationsRequest,
8628        _options: gax::options::RequestOptions,
8629    ) -> impl std::future::Future<
8630        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
8631    > + Send {
8632        std::future::ready::<
8633            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
8634        >(Err(Error::other("unimplemented")))
8635    }
8636
8637    /// Implements [super::client::VertexRagDataService::get_operation].
8638    fn get_operation(
8639        &self,
8640        _req: longrunning::model::GetOperationRequest,
8641        _options: gax::options::RequestOptions,
8642    ) -> impl std::future::Future<
8643        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
8644    > + Send {
8645        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
8646            Err(Error::other("unimplemented")),
8647        )
8648    }
8649
8650    /// Implements [super::client::VertexRagDataService::delete_operation].
8651    fn delete_operation(
8652        &self,
8653        _req: longrunning::model::DeleteOperationRequest,
8654        _options: gax::options::RequestOptions,
8655    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
8656        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
8657            "unimplemented",
8658        )))
8659    }
8660
8661    /// Implements [super::client::VertexRagDataService::cancel_operation].
8662    fn cancel_operation(
8663        &self,
8664        _req: longrunning::model::CancelOperationRequest,
8665        _options: gax::options::RequestOptions,
8666    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
8667        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
8668            "unimplemented",
8669        )))
8670    }
8671
8672    /// Implements [super::client::VertexRagDataService::wait_operation].
8673    fn wait_operation(
8674        &self,
8675        _req: longrunning::model::WaitOperationRequest,
8676        _options: gax::options::RequestOptions,
8677    ) -> impl std::future::Future<
8678        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
8679    > + Send {
8680        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
8681            Err(Error::other("unimplemented")),
8682        )
8683    }
8684
8685    /// Returns the polling error policy.
8686    ///
8687    /// When mocking, this method is typically irrelevant. Do not try to verify
8688    /// it is called by your mocks.
8689    fn get_polling_error_policy(
8690        &self,
8691        _options: &gax::options::RequestOptions,
8692    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
8693        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
8694    }
8695
8696    /// Returns the polling backoff policy.
8697    ///
8698    /// When mocking, this method is typically irrelevant. Do not try to verify
8699    /// it is called by your mocks.
8700    fn get_polling_backoff_policy(
8701        &self,
8702        _options: &gax::options::RequestOptions,
8703    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
8704        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
8705    }
8706}
8707
8708/// Defines the trait used to implement [super::client::VertexRagService].
8709///
8710/// Application developers may need to implement this trait to mock
8711/// `client::VertexRagService`.  In other use-cases, application developers only
8712/// use `client::VertexRagService` and need not be concerned with this trait or
8713/// its implementations.
8714///
8715/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8716/// too. To avoid breaking applications the trait provides a default
8717/// implementation of each method. Most of these implementations just return an
8718/// error.
8719#[cfg(feature = "vertex-rag-service")]
8720#[cfg_attr(docsrs, doc(cfg(feature = "vertex-rag-service")))]
8721pub trait VertexRagService: std::fmt::Debug + Send + Sync {
8722    /// Implements [super::client::VertexRagService::retrieve_contexts].
8723    fn retrieve_contexts(
8724        &self,
8725        _req: crate::model::RetrieveContextsRequest,
8726        _options: gax::options::RequestOptions,
8727    ) -> impl std::future::Future<
8728        Output = crate::Result<gax::response::Response<crate::model::RetrieveContextsResponse>>,
8729    > + Send {
8730        std::future::ready::<
8731            crate::Result<gax::response::Response<crate::model::RetrieveContextsResponse>>,
8732        >(Err(Error::other("unimplemented")))
8733    }
8734
8735    /// Implements [super::client::VertexRagService::augment_prompt].
8736    fn augment_prompt(
8737        &self,
8738        _req: crate::model::AugmentPromptRequest,
8739        _options: gax::options::RequestOptions,
8740    ) -> impl std::future::Future<
8741        Output = crate::Result<gax::response::Response<crate::model::AugmentPromptResponse>>,
8742    > + Send {
8743        std::future::ready::<
8744            crate::Result<gax::response::Response<crate::model::AugmentPromptResponse>>,
8745        >(Err(Error::other("unimplemented")))
8746    }
8747
8748    /// Implements [super::client::VertexRagService::corroborate_content].
8749    fn corroborate_content(
8750        &self,
8751        _req: crate::model::CorroborateContentRequest,
8752        _options: gax::options::RequestOptions,
8753    ) -> impl std::future::Future<
8754        Output = crate::Result<gax::response::Response<crate::model::CorroborateContentResponse>>,
8755    > + Send {
8756        std::future::ready::<
8757            crate::Result<gax::response::Response<crate::model::CorroborateContentResponse>>,
8758        >(Err(Error::other("unimplemented")))
8759    }
8760
8761    /// Implements [super::client::VertexRagService::list_locations].
8762    fn list_locations(
8763        &self,
8764        _req: location::model::ListLocationsRequest,
8765        _options: gax::options::RequestOptions,
8766    ) -> impl std::future::Future<
8767        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
8768    > + Send {
8769        std::future::ready::<
8770            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
8771        >(Err(Error::other("unimplemented")))
8772    }
8773
8774    /// Implements [super::client::VertexRagService::get_location].
8775    fn get_location(
8776        &self,
8777        _req: location::model::GetLocationRequest,
8778        _options: gax::options::RequestOptions,
8779    ) -> impl std::future::Future<
8780        Output = crate::Result<gax::response::Response<location::model::Location>>,
8781    > + Send {
8782        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
8783            Err(Error::other("unimplemented")),
8784        )
8785    }
8786
8787    /// Implements [super::client::VertexRagService::set_iam_policy].
8788    fn set_iam_policy(
8789        &self,
8790        _req: iam_v1::model::SetIamPolicyRequest,
8791        _options: gax::options::RequestOptions,
8792    ) -> impl std::future::Future<
8793        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
8794    > + Send {
8795        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
8796            Error::other("unimplemented"),
8797        ))
8798    }
8799
8800    /// Implements [super::client::VertexRagService::get_iam_policy].
8801    fn get_iam_policy(
8802        &self,
8803        _req: iam_v1::model::GetIamPolicyRequest,
8804        _options: gax::options::RequestOptions,
8805    ) -> impl std::future::Future<
8806        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
8807    > + Send {
8808        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
8809            Error::other("unimplemented"),
8810        ))
8811    }
8812
8813    /// Implements [super::client::VertexRagService::test_iam_permissions].
8814    fn test_iam_permissions(
8815        &self,
8816        _req: iam_v1::model::TestIamPermissionsRequest,
8817        _options: gax::options::RequestOptions,
8818    ) -> impl std::future::Future<
8819        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
8820    > + Send {
8821        std::future::ready::<
8822            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
8823        >(Err(Error::other("unimplemented")))
8824    }
8825
8826    /// Implements [super::client::VertexRagService::list_operations].
8827    fn list_operations(
8828        &self,
8829        _req: longrunning::model::ListOperationsRequest,
8830        _options: gax::options::RequestOptions,
8831    ) -> impl std::future::Future<
8832        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
8833    > + Send {
8834        std::future::ready::<
8835            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
8836        >(Err(Error::other("unimplemented")))
8837    }
8838
8839    /// Implements [super::client::VertexRagService::get_operation].
8840    fn get_operation(
8841        &self,
8842        _req: longrunning::model::GetOperationRequest,
8843        _options: gax::options::RequestOptions,
8844    ) -> impl std::future::Future<
8845        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
8846    > + Send {
8847        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
8848            Err(Error::other("unimplemented")),
8849        )
8850    }
8851
8852    /// Implements [super::client::VertexRagService::delete_operation].
8853    fn delete_operation(
8854        &self,
8855        _req: longrunning::model::DeleteOperationRequest,
8856        _options: gax::options::RequestOptions,
8857    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
8858        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
8859            "unimplemented",
8860        )))
8861    }
8862
8863    /// Implements [super::client::VertexRagService::cancel_operation].
8864    fn cancel_operation(
8865        &self,
8866        _req: longrunning::model::CancelOperationRequest,
8867        _options: gax::options::RequestOptions,
8868    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
8869        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
8870            "unimplemented",
8871        )))
8872    }
8873
8874    /// Implements [super::client::VertexRagService::wait_operation].
8875    fn wait_operation(
8876        &self,
8877        _req: longrunning::model::WaitOperationRequest,
8878        _options: gax::options::RequestOptions,
8879    ) -> impl std::future::Future<
8880        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
8881    > + Send {
8882        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
8883            Err(Error::other("unimplemented")),
8884        )
8885    }
8886}
8887
8888/// Defines the trait used to implement [super::client::VizierService].
8889///
8890/// Application developers may need to implement this trait to mock
8891/// `client::VizierService`.  In other use-cases, application developers only
8892/// use `client::VizierService` and need not be concerned with this trait or
8893/// its implementations.
8894///
8895/// Services gain new RPCs routinely. Consequently, this trait gains new methods
8896/// too. To avoid breaking applications the trait provides a default
8897/// implementation of each method. Most of these implementations just return an
8898/// error.
8899#[cfg(feature = "vizier-service")]
8900#[cfg_attr(docsrs, doc(cfg(feature = "vizier-service")))]
8901pub trait VizierService: std::fmt::Debug + Send + Sync {
8902    /// Implements [super::client::VizierService::create_study].
8903    fn create_study(
8904        &self,
8905        _req: crate::model::CreateStudyRequest,
8906        _options: gax::options::RequestOptions,
8907    ) -> impl std::future::Future<
8908        Output = crate::Result<gax::response::Response<crate::model::Study>>,
8909    > + Send {
8910        std::future::ready::<crate::Result<gax::response::Response<crate::model::Study>>>(Err(
8911            Error::other("unimplemented"),
8912        ))
8913    }
8914
8915    /// Implements [super::client::VizierService::get_study].
8916    fn get_study(
8917        &self,
8918        _req: crate::model::GetStudyRequest,
8919        _options: gax::options::RequestOptions,
8920    ) -> impl std::future::Future<
8921        Output = crate::Result<gax::response::Response<crate::model::Study>>,
8922    > + Send {
8923        std::future::ready::<crate::Result<gax::response::Response<crate::model::Study>>>(Err(
8924            Error::other("unimplemented"),
8925        ))
8926    }
8927
8928    /// Implements [super::client::VizierService::list_studies].
8929    fn list_studies(
8930        &self,
8931        _req: crate::model::ListStudiesRequest,
8932        _options: gax::options::RequestOptions,
8933    ) -> impl std::future::Future<
8934        Output = crate::Result<gax::response::Response<crate::model::ListStudiesResponse>>,
8935    > + Send {
8936        std::future::ready::<
8937            crate::Result<gax::response::Response<crate::model::ListStudiesResponse>>,
8938        >(Err(Error::other("unimplemented")))
8939    }
8940
8941    /// Implements [super::client::VizierService::delete_study].
8942    fn delete_study(
8943        &self,
8944        _req: crate::model::DeleteStudyRequest,
8945        _options: gax::options::RequestOptions,
8946    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
8947        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
8948            "unimplemented",
8949        )))
8950    }
8951
8952    /// Implements [super::client::VizierService::lookup_study].
8953    fn lookup_study(
8954        &self,
8955        _req: crate::model::LookupStudyRequest,
8956        _options: gax::options::RequestOptions,
8957    ) -> impl std::future::Future<
8958        Output = crate::Result<gax::response::Response<crate::model::Study>>,
8959    > + Send {
8960        std::future::ready::<crate::Result<gax::response::Response<crate::model::Study>>>(Err(
8961            Error::other("unimplemented"),
8962        ))
8963    }
8964
8965    /// Implements [super::client::VizierService::suggest_trials].
8966    fn suggest_trials(
8967        &self,
8968        _req: crate::model::SuggestTrialsRequest,
8969        _options: gax::options::RequestOptions,
8970    ) -> impl std::future::Future<
8971        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
8972    > + Send {
8973        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
8974            Err(Error::other("unimplemented")),
8975        )
8976    }
8977
8978    /// Implements [super::client::VizierService::create_trial].
8979    fn create_trial(
8980        &self,
8981        _req: crate::model::CreateTrialRequest,
8982        _options: gax::options::RequestOptions,
8983    ) -> impl std::future::Future<
8984        Output = crate::Result<gax::response::Response<crate::model::Trial>>,
8985    > + Send {
8986        std::future::ready::<crate::Result<gax::response::Response<crate::model::Trial>>>(Err(
8987            Error::other("unimplemented"),
8988        ))
8989    }
8990
8991    /// Implements [super::client::VizierService::get_trial].
8992    fn get_trial(
8993        &self,
8994        _req: crate::model::GetTrialRequest,
8995        _options: gax::options::RequestOptions,
8996    ) -> impl std::future::Future<
8997        Output = crate::Result<gax::response::Response<crate::model::Trial>>,
8998    > + Send {
8999        std::future::ready::<crate::Result<gax::response::Response<crate::model::Trial>>>(Err(
9000            Error::other("unimplemented"),
9001        ))
9002    }
9003
9004    /// Implements [super::client::VizierService::list_trials].
9005    fn list_trials(
9006        &self,
9007        _req: crate::model::ListTrialsRequest,
9008        _options: gax::options::RequestOptions,
9009    ) -> impl std::future::Future<
9010        Output = crate::Result<gax::response::Response<crate::model::ListTrialsResponse>>,
9011    > + Send {
9012        std::future::ready::<crate::Result<gax::response::Response<crate::model::ListTrialsResponse>>>(
9013            Err(Error::other("unimplemented")),
9014        )
9015    }
9016
9017    /// Implements [super::client::VizierService::add_trial_measurement].
9018    fn add_trial_measurement(
9019        &self,
9020        _req: crate::model::AddTrialMeasurementRequest,
9021        _options: gax::options::RequestOptions,
9022    ) -> impl std::future::Future<
9023        Output = crate::Result<gax::response::Response<crate::model::Trial>>,
9024    > + Send {
9025        std::future::ready::<crate::Result<gax::response::Response<crate::model::Trial>>>(Err(
9026            Error::other("unimplemented"),
9027        ))
9028    }
9029
9030    /// Implements [super::client::VizierService::complete_trial].
9031    fn complete_trial(
9032        &self,
9033        _req: crate::model::CompleteTrialRequest,
9034        _options: gax::options::RequestOptions,
9035    ) -> impl std::future::Future<
9036        Output = crate::Result<gax::response::Response<crate::model::Trial>>,
9037    > + Send {
9038        std::future::ready::<crate::Result<gax::response::Response<crate::model::Trial>>>(Err(
9039            Error::other("unimplemented"),
9040        ))
9041    }
9042
9043    /// Implements [super::client::VizierService::delete_trial].
9044    fn delete_trial(
9045        &self,
9046        _req: crate::model::DeleteTrialRequest,
9047        _options: gax::options::RequestOptions,
9048    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
9049        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
9050            "unimplemented",
9051        )))
9052    }
9053
9054    /// Implements [super::client::VizierService::check_trial_early_stopping_state].
9055    fn check_trial_early_stopping_state(
9056        &self,
9057        _req: crate::model::CheckTrialEarlyStoppingStateRequest,
9058        _options: gax::options::RequestOptions,
9059    ) -> impl std::future::Future<
9060        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
9061    > + Send {
9062        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
9063            Err(Error::other("unimplemented")),
9064        )
9065    }
9066
9067    /// Implements [super::client::VizierService::stop_trial].
9068    fn stop_trial(
9069        &self,
9070        _req: crate::model::StopTrialRequest,
9071        _options: gax::options::RequestOptions,
9072    ) -> impl std::future::Future<
9073        Output = crate::Result<gax::response::Response<crate::model::Trial>>,
9074    > + Send {
9075        std::future::ready::<crate::Result<gax::response::Response<crate::model::Trial>>>(Err(
9076            Error::other("unimplemented"),
9077        ))
9078    }
9079
9080    /// Implements [super::client::VizierService::list_optimal_trials].
9081    fn list_optimal_trials(
9082        &self,
9083        _req: crate::model::ListOptimalTrialsRequest,
9084        _options: gax::options::RequestOptions,
9085    ) -> impl std::future::Future<
9086        Output = crate::Result<gax::response::Response<crate::model::ListOptimalTrialsResponse>>,
9087    > + Send {
9088        std::future::ready::<
9089            crate::Result<gax::response::Response<crate::model::ListOptimalTrialsResponse>>,
9090        >(Err(Error::other("unimplemented")))
9091    }
9092
9093    /// Implements [super::client::VizierService::list_locations].
9094    fn list_locations(
9095        &self,
9096        _req: location::model::ListLocationsRequest,
9097        _options: gax::options::RequestOptions,
9098    ) -> impl std::future::Future<
9099        Output = crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
9100    > + Send {
9101        std::future::ready::<
9102            crate::Result<gax::response::Response<location::model::ListLocationsResponse>>,
9103        >(Err(Error::other("unimplemented")))
9104    }
9105
9106    /// Implements [super::client::VizierService::get_location].
9107    fn get_location(
9108        &self,
9109        _req: location::model::GetLocationRequest,
9110        _options: gax::options::RequestOptions,
9111    ) -> impl std::future::Future<
9112        Output = crate::Result<gax::response::Response<location::model::Location>>,
9113    > + Send {
9114        std::future::ready::<crate::Result<gax::response::Response<location::model::Location>>>(
9115            Err(Error::other("unimplemented")),
9116        )
9117    }
9118
9119    /// Implements [super::client::VizierService::set_iam_policy].
9120    fn set_iam_policy(
9121        &self,
9122        _req: iam_v1::model::SetIamPolicyRequest,
9123        _options: gax::options::RequestOptions,
9124    ) -> impl std::future::Future<
9125        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
9126    > + Send {
9127        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
9128            Error::other("unimplemented"),
9129        ))
9130    }
9131
9132    /// Implements [super::client::VizierService::get_iam_policy].
9133    fn get_iam_policy(
9134        &self,
9135        _req: iam_v1::model::GetIamPolicyRequest,
9136        _options: gax::options::RequestOptions,
9137    ) -> impl std::future::Future<
9138        Output = crate::Result<gax::response::Response<iam_v1::model::Policy>>,
9139    > + Send {
9140        std::future::ready::<crate::Result<gax::response::Response<iam_v1::model::Policy>>>(Err(
9141            Error::other("unimplemented"),
9142        ))
9143    }
9144
9145    /// Implements [super::client::VizierService::test_iam_permissions].
9146    fn test_iam_permissions(
9147        &self,
9148        _req: iam_v1::model::TestIamPermissionsRequest,
9149        _options: gax::options::RequestOptions,
9150    ) -> impl std::future::Future<
9151        Output = crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
9152    > + Send {
9153        std::future::ready::<
9154            crate::Result<gax::response::Response<iam_v1::model::TestIamPermissionsResponse>>,
9155        >(Err(Error::other("unimplemented")))
9156    }
9157
9158    /// Implements [super::client::VizierService::list_operations].
9159    fn list_operations(
9160        &self,
9161        _req: longrunning::model::ListOperationsRequest,
9162        _options: gax::options::RequestOptions,
9163    ) -> impl std::future::Future<
9164        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
9165    > + Send {
9166        std::future::ready::<
9167            crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
9168        >(Err(Error::other("unimplemented")))
9169    }
9170
9171    /// Implements [super::client::VizierService::get_operation].
9172    fn get_operation(
9173        &self,
9174        _req: longrunning::model::GetOperationRequest,
9175        _options: gax::options::RequestOptions,
9176    ) -> impl std::future::Future<
9177        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
9178    > + Send {
9179        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
9180            Err(Error::other("unimplemented")),
9181        )
9182    }
9183
9184    /// Implements [super::client::VizierService::delete_operation].
9185    fn delete_operation(
9186        &self,
9187        _req: longrunning::model::DeleteOperationRequest,
9188        _options: gax::options::RequestOptions,
9189    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
9190        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
9191            "unimplemented",
9192        )))
9193    }
9194
9195    /// Implements [super::client::VizierService::cancel_operation].
9196    fn cancel_operation(
9197        &self,
9198        _req: longrunning::model::CancelOperationRequest,
9199        _options: gax::options::RequestOptions,
9200    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
9201        std::future::ready::<crate::Result<gax::response::Response<()>>>(Err(Error::other(
9202            "unimplemented",
9203        )))
9204    }
9205
9206    /// Implements [super::client::VizierService::wait_operation].
9207    fn wait_operation(
9208        &self,
9209        _req: longrunning::model::WaitOperationRequest,
9210        _options: gax::options::RequestOptions,
9211    ) -> impl std::future::Future<
9212        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
9213    > + Send {
9214        std::future::ready::<crate::Result<gax::response::Response<longrunning::model::Operation>>>(
9215            Err(Error::other("unimplemented")),
9216        )
9217    }
9218
9219    /// Returns the polling error policy.
9220    ///
9221    /// When mocking, this method is typically irrelevant. Do not try to verify
9222    /// it is called by your mocks.
9223    fn get_polling_error_policy(
9224        &self,
9225        _options: &gax::options::RequestOptions,
9226    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
9227        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
9228    }
9229
9230    /// Returns the polling backoff policy.
9231    ///
9232    /// When mocking, this method is typically irrelevant. Do not try to verify
9233    /// it is called by your mocks.
9234    fn get_polling_backoff_policy(
9235        &self,
9236        _options: &gax::options::RequestOptions,
9237    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
9238        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
9239    }
9240}