• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2022 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.google.cloud.automl.v1beta1.stub;
18 
19 import static com.google.cloud.automl.v1beta1.AutoMlClient.ListColumnSpecsPagedResponse;
20 import static com.google.cloud.automl.v1beta1.AutoMlClient.ListDatasetsPagedResponse;
21 import static com.google.cloud.automl.v1beta1.AutoMlClient.ListModelEvaluationsPagedResponse;
22 import static com.google.cloud.automl.v1beta1.AutoMlClient.ListModelsPagedResponse;
23 import static com.google.cloud.automl.v1beta1.AutoMlClient.ListTableSpecsPagedResponse;
24 
25 import com.google.api.core.ApiFunction;
26 import com.google.api.core.ApiFuture;
27 import com.google.api.core.BetaApi;
28 import com.google.api.gax.core.GaxProperties;
29 import com.google.api.gax.core.GoogleCredentialsProvider;
30 import com.google.api.gax.core.InstantiatingExecutorProvider;
31 import com.google.api.gax.grpc.GaxGrpcProperties;
32 import com.google.api.gax.grpc.GrpcTransportChannel;
33 import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
34 import com.google.api.gax.grpc.ProtoOperationTransformers;
35 import com.google.api.gax.httpjson.GaxHttpJsonProperties;
36 import com.google.api.gax.httpjson.HttpJsonTransportChannel;
37 import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
38 import com.google.api.gax.longrunning.OperationSnapshot;
39 import com.google.api.gax.longrunning.OperationTimedPollAlgorithm;
40 import com.google.api.gax.retrying.RetrySettings;
41 import com.google.api.gax.rpc.ApiCallContext;
42 import com.google.api.gax.rpc.ApiClientHeaderProvider;
43 import com.google.api.gax.rpc.ClientContext;
44 import com.google.api.gax.rpc.OperationCallSettings;
45 import com.google.api.gax.rpc.PageContext;
46 import com.google.api.gax.rpc.PagedCallSettings;
47 import com.google.api.gax.rpc.PagedListDescriptor;
48 import com.google.api.gax.rpc.PagedListResponseFactory;
49 import com.google.api.gax.rpc.StatusCode;
50 import com.google.api.gax.rpc.StubSettings;
51 import com.google.api.gax.rpc.TransportChannelProvider;
52 import com.google.api.gax.rpc.UnaryCallSettings;
53 import com.google.api.gax.rpc.UnaryCallable;
54 import com.google.cloud.automl.v1beta1.AnnotationSpec;
55 import com.google.cloud.automl.v1beta1.ColumnSpec;
56 import com.google.cloud.automl.v1beta1.CreateDatasetRequest;
57 import com.google.cloud.automl.v1beta1.CreateModelRequest;
58 import com.google.cloud.automl.v1beta1.Dataset;
59 import com.google.cloud.automl.v1beta1.DeleteDatasetRequest;
60 import com.google.cloud.automl.v1beta1.DeleteModelRequest;
61 import com.google.cloud.automl.v1beta1.DeployModelRequest;
62 import com.google.cloud.automl.v1beta1.ExportDataRequest;
63 import com.google.cloud.automl.v1beta1.ExportEvaluatedExamplesRequest;
64 import com.google.cloud.automl.v1beta1.ExportModelRequest;
65 import com.google.cloud.automl.v1beta1.GetAnnotationSpecRequest;
66 import com.google.cloud.automl.v1beta1.GetColumnSpecRequest;
67 import com.google.cloud.automl.v1beta1.GetDatasetRequest;
68 import com.google.cloud.automl.v1beta1.GetModelEvaluationRequest;
69 import com.google.cloud.automl.v1beta1.GetModelRequest;
70 import com.google.cloud.automl.v1beta1.GetTableSpecRequest;
71 import com.google.cloud.automl.v1beta1.ImportDataRequest;
72 import com.google.cloud.automl.v1beta1.ListColumnSpecsRequest;
73 import com.google.cloud.automl.v1beta1.ListColumnSpecsResponse;
74 import com.google.cloud.automl.v1beta1.ListDatasetsRequest;
75 import com.google.cloud.automl.v1beta1.ListDatasetsResponse;
76 import com.google.cloud.automl.v1beta1.ListModelEvaluationsRequest;
77 import com.google.cloud.automl.v1beta1.ListModelEvaluationsResponse;
78 import com.google.cloud.automl.v1beta1.ListModelsRequest;
79 import com.google.cloud.automl.v1beta1.ListModelsResponse;
80 import com.google.cloud.automl.v1beta1.ListTableSpecsRequest;
81 import com.google.cloud.automl.v1beta1.ListTableSpecsResponse;
82 import com.google.cloud.automl.v1beta1.Model;
83 import com.google.cloud.automl.v1beta1.ModelEvaluation;
84 import com.google.cloud.automl.v1beta1.OperationMetadata;
85 import com.google.cloud.automl.v1beta1.TableSpec;
86 import com.google.cloud.automl.v1beta1.UndeployModelRequest;
87 import com.google.cloud.automl.v1beta1.UpdateColumnSpecRequest;
88 import com.google.cloud.automl.v1beta1.UpdateDatasetRequest;
89 import com.google.cloud.automl.v1beta1.UpdateTableSpecRequest;
90 import com.google.common.collect.ImmutableList;
91 import com.google.common.collect.ImmutableMap;
92 import com.google.common.collect.ImmutableSet;
93 import com.google.common.collect.Lists;
94 import com.google.longrunning.Operation;
95 import com.google.protobuf.Empty;
96 import java.io.IOException;
97 import java.util.List;
98 import javax.annotation.Generated;
99 import org.threeten.bp.Duration;
100 
101 // AUTO-GENERATED DOCUMENTATION AND CLASS.
102 /**
103  * Settings class to configure an instance of {@link AutoMlStub}.
104  *
105  * <p>The default instance has everything set to sensible defaults:
106  *
107  * <ul>
108  *   <li>The default service address (automl.googleapis.com) and default port (443) are used.
109  *   <li>Credentials are acquired automatically through Application Default Credentials.
110  *   <li>Retries are configured for idempotent methods but not for non-idempotent methods.
111  * </ul>
112  *
113  * <p>The builder of this class is recursive, so contained classes are themselves builders. When
114  * build() is called, the tree of builders is called to create the complete settings object.
115  *
116  * <p>For example, to set the total timeout of createDataset to 30 seconds:
117  *
118  * <pre>{@code
119  * // This snippet has been automatically generated and should be regarded as a code template only.
120  * // It will require modifications to work:
121  * // - It may require correct/in-range values for request initialization.
122  * // - It may require specifying regional endpoints when creating the service client as shown in
123  * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
124  * AutoMlStubSettings.Builder autoMlSettingsBuilder = AutoMlStubSettings.newBuilder();
125  * autoMlSettingsBuilder
126  *     .createDatasetSettings()
127  *     .setRetrySettings(
128  *         autoMlSettingsBuilder
129  *             .createDatasetSettings()
130  *             .getRetrySettings()
131  *             .toBuilder()
132  *             .setTotalTimeout(Duration.ofSeconds(30))
133  *             .build());
134  * AutoMlStubSettings autoMlSettings = autoMlSettingsBuilder.build();
135  * }</pre>
136  */
137 @BetaApi
138 @Generated("by gapic-generator-java")
139 public class AutoMlStubSettings extends StubSettings<AutoMlStubSettings> {
140   /** The default scopes of the service. */
141   private static final ImmutableList<String> DEFAULT_SERVICE_SCOPES =
142       ImmutableList.<String>builder().add("https://www.googleapis.com/auth/cloud-platform").build();
143 
144   private final UnaryCallSettings<CreateDatasetRequest, Dataset> createDatasetSettings;
145   private final UnaryCallSettings<GetDatasetRequest, Dataset> getDatasetSettings;
146   private final PagedCallSettings<
147           ListDatasetsRequest, ListDatasetsResponse, ListDatasetsPagedResponse>
148       listDatasetsSettings;
149   private final UnaryCallSettings<UpdateDatasetRequest, Dataset> updateDatasetSettings;
150   private final UnaryCallSettings<DeleteDatasetRequest, Operation> deleteDatasetSettings;
151   private final OperationCallSettings<DeleteDatasetRequest, Empty, OperationMetadata>
152       deleteDatasetOperationSettings;
153   private final UnaryCallSettings<ImportDataRequest, Operation> importDataSettings;
154   private final OperationCallSettings<ImportDataRequest, Empty, OperationMetadata>
155       importDataOperationSettings;
156   private final UnaryCallSettings<ExportDataRequest, Operation> exportDataSettings;
157   private final OperationCallSettings<ExportDataRequest, Empty, OperationMetadata>
158       exportDataOperationSettings;
159   private final UnaryCallSettings<GetAnnotationSpecRequest, AnnotationSpec>
160       getAnnotationSpecSettings;
161   private final UnaryCallSettings<GetTableSpecRequest, TableSpec> getTableSpecSettings;
162   private final PagedCallSettings<
163           ListTableSpecsRequest, ListTableSpecsResponse, ListTableSpecsPagedResponse>
164       listTableSpecsSettings;
165   private final UnaryCallSettings<UpdateTableSpecRequest, TableSpec> updateTableSpecSettings;
166   private final UnaryCallSettings<GetColumnSpecRequest, ColumnSpec> getColumnSpecSettings;
167   private final PagedCallSettings<
168           ListColumnSpecsRequest, ListColumnSpecsResponse, ListColumnSpecsPagedResponse>
169       listColumnSpecsSettings;
170   private final UnaryCallSettings<UpdateColumnSpecRequest, ColumnSpec> updateColumnSpecSettings;
171   private final UnaryCallSettings<CreateModelRequest, Operation> createModelSettings;
172   private final OperationCallSettings<CreateModelRequest, Model, OperationMetadata>
173       createModelOperationSettings;
174   private final UnaryCallSettings<GetModelRequest, Model> getModelSettings;
175   private final PagedCallSettings<ListModelsRequest, ListModelsResponse, ListModelsPagedResponse>
176       listModelsSettings;
177   private final UnaryCallSettings<DeleteModelRequest, Operation> deleteModelSettings;
178   private final OperationCallSettings<DeleteModelRequest, Empty, OperationMetadata>
179       deleteModelOperationSettings;
180   private final UnaryCallSettings<DeployModelRequest, Operation> deployModelSettings;
181   private final OperationCallSettings<DeployModelRequest, Empty, OperationMetadata>
182       deployModelOperationSettings;
183   private final UnaryCallSettings<UndeployModelRequest, Operation> undeployModelSettings;
184   private final OperationCallSettings<UndeployModelRequest, Empty, OperationMetadata>
185       undeployModelOperationSettings;
186   private final UnaryCallSettings<ExportModelRequest, Operation> exportModelSettings;
187   private final OperationCallSettings<ExportModelRequest, Empty, OperationMetadata>
188       exportModelOperationSettings;
189   private final UnaryCallSettings<ExportEvaluatedExamplesRequest, Operation>
190       exportEvaluatedExamplesSettings;
191   private final OperationCallSettings<ExportEvaluatedExamplesRequest, Empty, OperationMetadata>
192       exportEvaluatedExamplesOperationSettings;
193   private final UnaryCallSettings<GetModelEvaluationRequest, ModelEvaluation>
194       getModelEvaluationSettings;
195   private final PagedCallSettings<
196           ListModelEvaluationsRequest,
197           ListModelEvaluationsResponse,
198           ListModelEvaluationsPagedResponse>
199       listModelEvaluationsSettings;
200 
201   private static final PagedListDescriptor<ListDatasetsRequest, ListDatasetsResponse, Dataset>
202       LIST_DATASETS_PAGE_STR_DESC =
203           new PagedListDescriptor<ListDatasetsRequest, ListDatasetsResponse, Dataset>() {
204             @Override
205             public String emptyToken() {
206               return "";
207             }
208 
209             @Override
210             public ListDatasetsRequest injectToken(ListDatasetsRequest payload, String token) {
211               return ListDatasetsRequest.newBuilder(payload).setPageToken(token).build();
212             }
213 
214             @Override
215             public ListDatasetsRequest injectPageSize(ListDatasetsRequest payload, int pageSize) {
216               return ListDatasetsRequest.newBuilder(payload).setPageSize(pageSize).build();
217             }
218 
219             @Override
220             public Integer extractPageSize(ListDatasetsRequest payload) {
221               return payload.getPageSize();
222             }
223 
224             @Override
225             public String extractNextToken(ListDatasetsResponse payload) {
226               return payload.getNextPageToken();
227             }
228 
229             @Override
230             public Iterable<Dataset> extractResources(ListDatasetsResponse payload) {
231               return payload.getDatasetsList() == null
232                   ? ImmutableList.<Dataset>of()
233                   : payload.getDatasetsList();
234             }
235           };
236 
237   private static final PagedListDescriptor<ListTableSpecsRequest, ListTableSpecsResponse, TableSpec>
238       LIST_TABLE_SPECS_PAGE_STR_DESC =
239           new PagedListDescriptor<ListTableSpecsRequest, ListTableSpecsResponse, TableSpec>() {
240             @Override
241             public String emptyToken() {
242               return "";
243             }
244 
245             @Override
246             public ListTableSpecsRequest injectToken(ListTableSpecsRequest payload, String token) {
247               return ListTableSpecsRequest.newBuilder(payload).setPageToken(token).build();
248             }
249 
250             @Override
251             public ListTableSpecsRequest injectPageSize(
252                 ListTableSpecsRequest payload, int pageSize) {
253               return ListTableSpecsRequest.newBuilder(payload).setPageSize(pageSize).build();
254             }
255 
256             @Override
257             public Integer extractPageSize(ListTableSpecsRequest payload) {
258               return payload.getPageSize();
259             }
260 
261             @Override
262             public String extractNextToken(ListTableSpecsResponse payload) {
263               return payload.getNextPageToken();
264             }
265 
266             @Override
267             public Iterable<TableSpec> extractResources(ListTableSpecsResponse payload) {
268               return payload.getTableSpecsList() == null
269                   ? ImmutableList.<TableSpec>of()
270                   : payload.getTableSpecsList();
271             }
272           };
273 
274   private static final PagedListDescriptor<
275           ListColumnSpecsRequest, ListColumnSpecsResponse, ColumnSpec>
276       LIST_COLUMN_SPECS_PAGE_STR_DESC =
277           new PagedListDescriptor<ListColumnSpecsRequest, ListColumnSpecsResponse, ColumnSpec>() {
278             @Override
279             public String emptyToken() {
280               return "";
281             }
282 
283             @Override
284             public ListColumnSpecsRequest injectToken(
285                 ListColumnSpecsRequest payload, String token) {
286               return ListColumnSpecsRequest.newBuilder(payload).setPageToken(token).build();
287             }
288 
289             @Override
290             public ListColumnSpecsRequest injectPageSize(
291                 ListColumnSpecsRequest payload, int pageSize) {
292               return ListColumnSpecsRequest.newBuilder(payload).setPageSize(pageSize).build();
293             }
294 
295             @Override
296             public Integer extractPageSize(ListColumnSpecsRequest payload) {
297               return payload.getPageSize();
298             }
299 
300             @Override
301             public String extractNextToken(ListColumnSpecsResponse payload) {
302               return payload.getNextPageToken();
303             }
304 
305             @Override
306             public Iterable<ColumnSpec> extractResources(ListColumnSpecsResponse payload) {
307               return payload.getColumnSpecsList() == null
308                   ? ImmutableList.<ColumnSpec>of()
309                   : payload.getColumnSpecsList();
310             }
311           };
312 
313   private static final PagedListDescriptor<ListModelsRequest, ListModelsResponse, Model>
314       LIST_MODELS_PAGE_STR_DESC =
315           new PagedListDescriptor<ListModelsRequest, ListModelsResponse, Model>() {
316             @Override
317             public String emptyToken() {
318               return "";
319             }
320 
321             @Override
322             public ListModelsRequest injectToken(ListModelsRequest payload, String token) {
323               return ListModelsRequest.newBuilder(payload).setPageToken(token).build();
324             }
325 
326             @Override
327             public ListModelsRequest injectPageSize(ListModelsRequest payload, int pageSize) {
328               return ListModelsRequest.newBuilder(payload).setPageSize(pageSize).build();
329             }
330 
331             @Override
332             public Integer extractPageSize(ListModelsRequest payload) {
333               return payload.getPageSize();
334             }
335 
336             @Override
337             public String extractNextToken(ListModelsResponse payload) {
338               return payload.getNextPageToken();
339             }
340 
341             @Override
342             public Iterable<Model> extractResources(ListModelsResponse payload) {
343               return payload.getModelList() == null
344                   ? ImmutableList.<Model>of()
345                   : payload.getModelList();
346             }
347           };
348 
349   private static final PagedListDescriptor<
350           ListModelEvaluationsRequest, ListModelEvaluationsResponse, ModelEvaluation>
351       LIST_MODEL_EVALUATIONS_PAGE_STR_DESC =
352           new PagedListDescriptor<
353               ListModelEvaluationsRequest, ListModelEvaluationsResponse, ModelEvaluation>() {
354             @Override
355             public String emptyToken() {
356               return "";
357             }
358 
359             @Override
360             public ListModelEvaluationsRequest injectToken(
361                 ListModelEvaluationsRequest payload, String token) {
362               return ListModelEvaluationsRequest.newBuilder(payload).setPageToken(token).build();
363             }
364 
365             @Override
366             public ListModelEvaluationsRequest injectPageSize(
367                 ListModelEvaluationsRequest payload, int pageSize) {
368               return ListModelEvaluationsRequest.newBuilder(payload).setPageSize(pageSize).build();
369             }
370 
371             @Override
372             public Integer extractPageSize(ListModelEvaluationsRequest payload) {
373               return payload.getPageSize();
374             }
375 
376             @Override
377             public String extractNextToken(ListModelEvaluationsResponse payload) {
378               return payload.getNextPageToken();
379             }
380 
381             @Override
382             public Iterable<ModelEvaluation> extractResources(
383                 ListModelEvaluationsResponse payload) {
384               return payload.getModelEvaluationList() == null
385                   ? ImmutableList.<ModelEvaluation>of()
386                   : payload.getModelEvaluationList();
387             }
388           };
389 
390   private static final PagedListResponseFactory<
391           ListDatasetsRequest, ListDatasetsResponse, ListDatasetsPagedResponse>
392       LIST_DATASETS_PAGE_STR_FACT =
393           new PagedListResponseFactory<
394               ListDatasetsRequest, ListDatasetsResponse, ListDatasetsPagedResponse>() {
395             @Override
396             public ApiFuture<ListDatasetsPagedResponse> getFuturePagedResponse(
397                 UnaryCallable<ListDatasetsRequest, ListDatasetsResponse> callable,
398                 ListDatasetsRequest request,
399                 ApiCallContext context,
400                 ApiFuture<ListDatasetsResponse> futureResponse) {
401               PageContext<ListDatasetsRequest, ListDatasetsResponse, Dataset> pageContext =
402                   PageContext.create(callable, LIST_DATASETS_PAGE_STR_DESC, request, context);
403               return ListDatasetsPagedResponse.createAsync(pageContext, futureResponse);
404             }
405           };
406 
407   private static final PagedListResponseFactory<
408           ListTableSpecsRequest, ListTableSpecsResponse, ListTableSpecsPagedResponse>
409       LIST_TABLE_SPECS_PAGE_STR_FACT =
410           new PagedListResponseFactory<
411               ListTableSpecsRequest, ListTableSpecsResponse, ListTableSpecsPagedResponse>() {
412             @Override
413             public ApiFuture<ListTableSpecsPagedResponse> getFuturePagedResponse(
414                 UnaryCallable<ListTableSpecsRequest, ListTableSpecsResponse> callable,
415                 ListTableSpecsRequest request,
416                 ApiCallContext context,
417                 ApiFuture<ListTableSpecsResponse> futureResponse) {
418               PageContext<ListTableSpecsRequest, ListTableSpecsResponse, TableSpec> pageContext =
419                   PageContext.create(callable, LIST_TABLE_SPECS_PAGE_STR_DESC, request, context);
420               return ListTableSpecsPagedResponse.createAsync(pageContext, futureResponse);
421             }
422           };
423 
424   private static final PagedListResponseFactory<
425           ListColumnSpecsRequest, ListColumnSpecsResponse, ListColumnSpecsPagedResponse>
426       LIST_COLUMN_SPECS_PAGE_STR_FACT =
427           new PagedListResponseFactory<
428               ListColumnSpecsRequest, ListColumnSpecsResponse, ListColumnSpecsPagedResponse>() {
429             @Override
430             public ApiFuture<ListColumnSpecsPagedResponse> getFuturePagedResponse(
431                 UnaryCallable<ListColumnSpecsRequest, ListColumnSpecsResponse> callable,
432                 ListColumnSpecsRequest request,
433                 ApiCallContext context,
434                 ApiFuture<ListColumnSpecsResponse> futureResponse) {
435               PageContext<ListColumnSpecsRequest, ListColumnSpecsResponse, ColumnSpec> pageContext =
436                   PageContext.create(callable, LIST_COLUMN_SPECS_PAGE_STR_DESC, request, context);
437               return ListColumnSpecsPagedResponse.createAsync(pageContext, futureResponse);
438             }
439           };
440 
441   private static final PagedListResponseFactory<
442           ListModelsRequest, ListModelsResponse, ListModelsPagedResponse>
443       LIST_MODELS_PAGE_STR_FACT =
444           new PagedListResponseFactory<
445               ListModelsRequest, ListModelsResponse, ListModelsPagedResponse>() {
446             @Override
447             public ApiFuture<ListModelsPagedResponse> getFuturePagedResponse(
448                 UnaryCallable<ListModelsRequest, ListModelsResponse> callable,
449                 ListModelsRequest request,
450                 ApiCallContext context,
451                 ApiFuture<ListModelsResponse> futureResponse) {
452               PageContext<ListModelsRequest, ListModelsResponse, Model> pageContext =
453                   PageContext.create(callable, LIST_MODELS_PAGE_STR_DESC, request, context);
454               return ListModelsPagedResponse.createAsync(pageContext, futureResponse);
455             }
456           };
457 
458   private static final PagedListResponseFactory<
459           ListModelEvaluationsRequest,
460           ListModelEvaluationsResponse,
461           ListModelEvaluationsPagedResponse>
462       LIST_MODEL_EVALUATIONS_PAGE_STR_FACT =
463           new PagedListResponseFactory<
464               ListModelEvaluationsRequest,
465               ListModelEvaluationsResponse,
466               ListModelEvaluationsPagedResponse>() {
467             @Override
468             public ApiFuture<ListModelEvaluationsPagedResponse> getFuturePagedResponse(
469                 UnaryCallable<ListModelEvaluationsRequest, ListModelEvaluationsResponse> callable,
470                 ListModelEvaluationsRequest request,
471                 ApiCallContext context,
472                 ApiFuture<ListModelEvaluationsResponse> futureResponse) {
473               PageContext<
474                       ListModelEvaluationsRequest, ListModelEvaluationsResponse, ModelEvaluation>
475                   pageContext =
476                       PageContext.create(
477                           callable, LIST_MODEL_EVALUATIONS_PAGE_STR_DESC, request, context);
478               return ListModelEvaluationsPagedResponse.createAsync(pageContext, futureResponse);
479             }
480           };
481 
482   /** Returns the object with the settings used for calls to createDataset. */
createDatasetSettings()483   public UnaryCallSettings<CreateDatasetRequest, Dataset> createDatasetSettings() {
484     return createDatasetSettings;
485   }
486 
487   /** Returns the object with the settings used for calls to getDataset. */
getDatasetSettings()488   public UnaryCallSettings<GetDatasetRequest, Dataset> getDatasetSettings() {
489     return getDatasetSettings;
490   }
491 
492   /** Returns the object with the settings used for calls to listDatasets. */
493   public PagedCallSettings<ListDatasetsRequest, ListDatasetsResponse, ListDatasetsPagedResponse>
listDatasetsSettings()494       listDatasetsSettings() {
495     return listDatasetsSettings;
496   }
497 
498   /** Returns the object with the settings used for calls to updateDataset. */
updateDatasetSettings()499   public UnaryCallSettings<UpdateDatasetRequest, Dataset> updateDatasetSettings() {
500     return updateDatasetSettings;
501   }
502 
503   /** Returns the object with the settings used for calls to deleteDataset. */
deleteDatasetSettings()504   public UnaryCallSettings<DeleteDatasetRequest, Operation> deleteDatasetSettings() {
505     return deleteDatasetSettings;
506   }
507 
508   /** Returns the object with the settings used for calls to deleteDataset. */
509   public OperationCallSettings<DeleteDatasetRequest, Empty, OperationMetadata>
deleteDatasetOperationSettings()510       deleteDatasetOperationSettings() {
511     return deleteDatasetOperationSettings;
512   }
513 
514   /** Returns the object with the settings used for calls to importData. */
importDataSettings()515   public UnaryCallSettings<ImportDataRequest, Operation> importDataSettings() {
516     return importDataSettings;
517   }
518 
519   /** Returns the object with the settings used for calls to importData. */
520   public OperationCallSettings<ImportDataRequest, Empty, OperationMetadata>
importDataOperationSettings()521       importDataOperationSettings() {
522     return importDataOperationSettings;
523   }
524 
525   /** Returns the object with the settings used for calls to exportData. */
exportDataSettings()526   public UnaryCallSettings<ExportDataRequest, Operation> exportDataSettings() {
527     return exportDataSettings;
528   }
529 
530   /** Returns the object with the settings used for calls to exportData. */
531   public OperationCallSettings<ExportDataRequest, Empty, OperationMetadata>
exportDataOperationSettings()532       exportDataOperationSettings() {
533     return exportDataOperationSettings;
534   }
535 
536   /** Returns the object with the settings used for calls to getAnnotationSpec. */
getAnnotationSpecSettings()537   public UnaryCallSettings<GetAnnotationSpecRequest, AnnotationSpec> getAnnotationSpecSettings() {
538     return getAnnotationSpecSettings;
539   }
540 
541   /** Returns the object with the settings used for calls to getTableSpec. */
getTableSpecSettings()542   public UnaryCallSettings<GetTableSpecRequest, TableSpec> getTableSpecSettings() {
543     return getTableSpecSettings;
544   }
545 
546   /** Returns the object with the settings used for calls to listTableSpecs. */
547   public PagedCallSettings<
548           ListTableSpecsRequest, ListTableSpecsResponse, ListTableSpecsPagedResponse>
listTableSpecsSettings()549       listTableSpecsSettings() {
550     return listTableSpecsSettings;
551   }
552 
553   /** Returns the object with the settings used for calls to updateTableSpec. */
updateTableSpecSettings()554   public UnaryCallSettings<UpdateTableSpecRequest, TableSpec> updateTableSpecSettings() {
555     return updateTableSpecSettings;
556   }
557 
558   /** Returns the object with the settings used for calls to getColumnSpec. */
getColumnSpecSettings()559   public UnaryCallSettings<GetColumnSpecRequest, ColumnSpec> getColumnSpecSettings() {
560     return getColumnSpecSettings;
561   }
562 
563   /** Returns the object with the settings used for calls to listColumnSpecs. */
564   public PagedCallSettings<
565           ListColumnSpecsRequest, ListColumnSpecsResponse, ListColumnSpecsPagedResponse>
listColumnSpecsSettings()566       listColumnSpecsSettings() {
567     return listColumnSpecsSettings;
568   }
569 
570   /** Returns the object with the settings used for calls to updateColumnSpec. */
updateColumnSpecSettings()571   public UnaryCallSettings<UpdateColumnSpecRequest, ColumnSpec> updateColumnSpecSettings() {
572     return updateColumnSpecSettings;
573   }
574 
575   /** Returns the object with the settings used for calls to createModel. */
createModelSettings()576   public UnaryCallSettings<CreateModelRequest, Operation> createModelSettings() {
577     return createModelSettings;
578   }
579 
580   /** Returns the object with the settings used for calls to createModel. */
581   public OperationCallSettings<CreateModelRequest, Model, OperationMetadata>
createModelOperationSettings()582       createModelOperationSettings() {
583     return createModelOperationSettings;
584   }
585 
586   /** Returns the object with the settings used for calls to getModel. */
getModelSettings()587   public UnaryCallSettings<GetModelRequest, Model> getModelSettings() {
588     return getModelSettings;
589   }
590 
591   /** Returns the object with the settings used for calls to listModels. */
592   public PagedCallSettings<ListModelsRequest, ListModelsResponse, ListModelsPagedResponse>
listModelsSettings()593       listModelsSettings() {
594     return listModelsSettings;
595   }
596 
597   /** Returns the object with the settings used for calls to deleteModel. */
deleteModelSettings()598   public UnaryCallSettings<DeleteModelRequest, Operation> deleteModelSettings() {
599     return deleteModelSettings;
600   }
601 
602   /** Returns the object with the settings used for calls to deleteModel. */
603   public OperationCallSettings<DeleteModelRequest, Empty, OperationMetadata>
deleteModelOperationSettings()604       deleteModelOperationSettings() {
605     return deleteModelOperationSettings;
606   }
607 
608   /** Returns the object with the settings used for calls to deployModel. */
deployModelSettings()609   public UnaryCallSettings<DeployModelRequest, Operation> deployModelSettings() {
610     return deployModelSettings;
611   }
612 
613   /** Returns the object with the settings used for calls to deployModel. */
614   public OperationCallSettings<DeployModelRequest, Empty, OperationMetadata>
deployModelOperationSettings()615       deployModelOperationSettings() {
616     return deployModelOperationSettings;
617   }
618 
619   /** Returns the object with the settings used for calls to undeployModel. */
undeployModelSettings()620   public UnaryCallSettings<UndeployModelRequest, Operation> undeployModelSettings() {
621     return undeployModelSettings;
622   }
623 
624   /** Returns the object with the settings used for calls to undeployModel. */
625   public OperationCallSettings<UndeployModelRequest, Empty, OperationMetadata>
undeployModelOperationSettings()626       undeployModelOperationSettings() {
627     return undeployModelOperationSettings;
628   }
629 
630   /** Returns the object with the settings used for calls to exportModel. */
exportModelSettings()631   public UnaryCallSettings<ExportModelRequest, Operation> exportModelSettings() {
632     return exportModelSettings;
633   }
634 
635   /** Returns the object with the settings used for calls to exportModel. */
636   public OperationCallSettings<ExportModelRequest, Empty, OperationMetadata>
exportModelOperationSettings()637       exportModelOperationSettings() {
638     return exportModelOperationSettings;
639   }
640 
641   /** Returns the object with the settings used for calls to exportEvaluatedExamples. */
642   public UnaryCallSettings<ExportEvaluatedExamplesRequest, Operation>
exportEvaluatedExamplesSettings()643       exportEvaluatedExamplesSettings() {
644     return exportEvaluatedExamplesSettings;
645   }
646 
647   /** Returns the object with the settings used for calls to exportEvaluatedExamples. */
648   public OperationCallSettings<ExportEvaluatedExamplesRequest, Empty, OperationMetadata>
exportEvaluatedExamplesOperationSettings()649       exportEvaluatedExamplesOperationSettings() {
650     return exportEvaluatedExamplesOperationSettings;
651   }
652 
653   /** Returns the object with the settings used for calls to getModelEvaluation. */
654   public UnaryCallSettings<GetModelEvaluationRequest, ModelEvaluation>
getModelEvaluationSettings()655       getModelEvaluationSettings() {
656     return getModelEvaluationSettings;
657   }
658 
659   /** Returns the object with the settings used for calls to listModelEvaluations. */
660   public PagedCallSettings<
661           ListModelEvaluationsRequest,
662           ListModelEvaluationsResponse,
663           ListModelEvaluationsPagedResponse>
listModelEvaluationsSettings()664       listModelEvaluationsSettings() {
665     return listModelEvaluationsSettings;
666   }
667 
createStub()668   public AutoMlStub createStub() throws IOException {
669     if (getTransportChannelProvider()
670         .getTransportName()
671         .equals(GrpcTransportChannel.getGrpcTransportName())) {
672       return GrpcAutoMlStub.create(this);
673     }
674     if (getTransportChannelProvider()
675         .getTransportName()
676         .equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
677       return HttpJsonAutoMlStub.create(this);
678     }
679     throw new UnsupportedOperationException(
680         String.format(
681             "Transport not supported: %s", getTransportChannelProvider().getTransportName()));
682   }
683 
684   /** Returns a builder for the default ExecutorProvider for this service. */
defaultExecutorProviderBuilder()685   public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() {
686     return InstantiatingExecutorProvider.newBuilder();
687   }
688 
689   /** Returns the default service endpoint. */
getDefaultEndpoint()690   public static String getDefaultEndpoint() {
691     return "automl.googleapis.com:443";
692   }
693 
694   /** Returns the default mTLS service endpoint. */
getDefaultMtlsEndpoint()695   public static String getDefaultMtlsEndpoint() {
696     return "automl.mtls.googleapis.com:443";
697   }
698 
699   /** Returns the default service scopes. */
getDefaultServiceScopes()700   public static List<String> getDefaultServiceScopes() {
701     return DEFAULT_SERVICE_SCOPES;
702   }
703 
704   /** Returns a builder for the default credentials for this service. */
defaultCredentialsProviderBuilder()705   public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() {
706     return GoogleCredentialsProvider.newBuilder()
707         .setScopesToApply(DEFAULT_SERVICE_SCOPES)
708         .setUseJwtAccessWithScope(true);
709   }
710 
711   /** Returns a builder for the default gRPC ChannelProvider for this service. */
defaultGrpcTransportProviderBuilder()712   public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
713     return InstantiatingGrpcChannelProvider.newBuilder()
714         .setMaxInboundMessageSize(Integer.MAX_VALUE);
715   }
716 
717   /** Returns a builder for the default REST ChannelProvider for this service. */
718   @BetaApi
719   public static InstantiatingHttpJsonChannelProvider.Builder
defaultHttpJsonTransportProviderBuilder()720       defaultHttpJsonTransportProviderBuilder() {
721     return InstantiatingHttpJsonChannelProvider.newBuilder();
722   }
723 
defaultTransportChannelProvider()724   public static TransportChannelProvider defaultTransportChannelProvider() {
725     return defaultGrpcTransportProviderBuilder().build();
726   }
727 
728   @BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
defaultGrpcApiClientHeaderProviderBuilder()729   public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() {
730     return ApiClientHeaderProvider.newBuilder()
731         .setGeneratedLibToken("gapic", GaxProperties.getLibraryVersion(AutoMlStubSettings.class))
732         .setTransportToken(
733             GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion());
734   }
735 
736   @BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
defaultHttpJsonApiClientHeaderProviderBuilder()737   public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() {
738     return ApiClientHeaderProvider.newBuilder()
739         .setGeneratedLibToken("gapic", GaxProperties.getLibraryVersion(AutoMlStubSettings.class))
740         .setTransportToken(
741             GaxHttpJsonProperties.getHttpJsonTokenName(),
742             GaxHttpJsonProperties.getHttpJsonVersion());
743   }
744 
defaultApiClientHeaderProviderBuilder()745   public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
746     return AutoMlStubSettings.defaultGrpcApiClientHeaderProviderBuilder();
747   }
748 
749   /** Returns a new gRPC builder for this class. */
newBuilder()750   public static Builder newBuilder() {
751     return Builder.createDefault();
752   }
753 
754   /** Returns a new REST builder for this class. */
newHttpJsonBuilder()755   public static Builder newHttpJsonBuilder() {
756     return Builder.createHttpJsonDefault();
757   }
758 
759   /** Returns a new builder for this class. */
newBuilder(ClientContext clientContext)760   public static Builder newBuilder(ClientContext clientContext) {
761     return new Builder(clientContext);
762   }
763 
764   /** Returns a builder containing all the values of this settings class. */
toBuilder()765   public Builder toBuilder() {
766     return new Builder(this);
767   }
768 
AutoMlStubSettings(Builder settingsBuilder)769   protected AutoMlStubSettings(Builder settingsBuilder) throws IOException {
770     super(settingsBuilder);
771 
772     createDatasetSettings = settingsBuilder.createDatasetSettings().build();
773     getDatasetSettings = settingsBuilder.getDatasetSettings().build();
774     listDatasetsSettings = settingsBuilder.listDatasetsSettings().build();
775     updateDatasetSettings = settingsBuilder.updateDatasetSettings().build();
776     deleteDatasetSettings = settingsBuilder.deleteDatasetSettings().build();
777     deleteDatasetOperationSettings = settingsBuilder.deleteDatasetOperationSettings().build();
778     importDataSettings = settingsBuilder.importDataSettings().build();
779     importDataOperationSettings = settingsBuilder.importDataOperationSettings().build();
780     exportDataSettings = settingsBuilder.exportDataSettings().build();
781     exportDataOperationSettings = settingsBuilder.exportDataOperationSettings().build();
782     getAnnotationSpecSettings = settingsBuilder.getAnnotationSpecSettings().build();
783     getTableSpecSettings = settingsBuilder.getTableSpecSettings().build();
784     listTableSpecsSettings = settingsBuilder.listTableSpecsSettings().build();
785     updateTableSpecSettings = settingsBuilder.updateTableSpecSettings().build();
786     getColumnSpecSettings = settingsBuilder.getColumnSpecSettings().build();
787     listColumnSpecsSettings = settingsBuilder.listColumnSpecsSettings().build();
788     updateColumnSpecSettings = settingsBuilder.updateColumnSpecSettings().build();
789     createModelSettings = settingsBuilder.createModelSettings().build();
790     createModelOperationSettings = settingsBuilder.createModelOperationSettings().build();
791     getModelSettings = settingsBuilder.getModelSettings().build();
792     listModelsSettings = settingsBuilder.listModelsSettings().build();
793     deleteModelSettings = settingsBuilder.deleteModelSettings().build();
794     deleteModelOperationSettings = settingsBuilder.deleteModelOperationSettings().build();
795     deployModelSettings = settingsBuilder.deployModelSettings().build();
796     deployModelOperationSettings = settingsBuilder.deployModelOperationSettings().build();
797     undeployModelSettings = settingsBuilder.undeployModelSettings().build();
798     undeployModelOperationSettings = settingsBuilder.undeployModelOperationSettings().build();
799     exportModelSettings = settingsBuilder.exportModelSettings().build();
800     exportModelOperationSettings = settingsBuilder.exportModelOperationSettings().build();
801     exportEvaluatedExamplesSettings = settingsBuilder.exportEvaluatedExamplesSettings().build();
802     exportEvaluatedExamplesOperationSettings =
803         settingsBuilder.exportEvaluatedExamplesOperationSettings().build();
804     getModelEvaluationSettings = settingsBuilder.getModelEvaluationSettings().build();
805     listModelEvaluationsSettings = settingsBuilder.listModelEvaluationsSettings().build();
806   }
807 
808   /** Builder for AutoMlStubSettings. */
809   public static class Builder extends StubSettings.Builder<AutoMlStubSettings, Builder> {
810     private final ImmutableList<UnaryCallSettings.Builder<?, ?>> unaryMethodSettingsBuilders;
811     private final UnaryCallSettings.Builder<CreateDatasetRequest, Dataset> createDatasetSettings;
812     private final UnaryCallSettings.Builder<GetDatasetRequest, Dataset> getDatasetSettings;
813     private final PagedCallSettings.Builder<
814             ListDatasetsRequest, ListDatasetsResponse, ListDatasetsPagedResponse>
815         listDatasetsSettings;
816     private final UnaryCallSettings.Builder<UpdateDatasetRequest, Dataset> updateDatasetSettings;
817     private final UnaryCallSettings.Builder<DeleteDatasetRequest, Operation> deleteDatasetSettings;
818     private final OperationCallSettings.Builder<DeleteDatasetRequest, Empty, OperationMetadata>
819         deleteDatasetOperationSettings;
820     private final UnaryCallSettings.Builder<ImportDataRequest, Operation> importDataSettings;
821     private final OperationCallSettings.Builder<ImportDataRequest, Empty, OperationMetadata>
822         importDataOperationSettings;
823     private final UnaryCallSettings.Builder<ExportDataRequest, Operation> exportDataSettings;
824     private final OperationCallSettings.Builder<ExportDataRequest, Empty, OperationMetadata>
825         exportDataOperationSettings;
826     private final UnaryCallSettings.Builder<GetAnnotationSpecRequest, AnnotationSpec>
827         getAnnotationSpecSettings;
828     private final UnaryCallSettings.Builder<GetTableSpecRequest, TableSpec> getTableSpecSettings;
829     private final PagedCallSettings.Builder<
830             ListTableSpecsRequest, ListTableSpecsResponse, ListTableSpecsPagedResponse>
831         listTableSpecsSettings;
832     private final UnaryCallSettings.Builder<UpdateTableSpecRequest, TableSpec>
833         updateTableSpecSettings;
834     private final UnaryCallSettings.Builder<GetColumnSpecRequest, ColumnSpec> getColumnSpecSettings;
835     private final PagedCallSettings.Builder<
836             ListColumnSpecsRequest, ListColumnSpecsResponse, ListColumnSpecsPagedResponse>
837         listColumnSpecsSettings;
838     private final UnaryCallSettings.Builder<UpdateColumnSpecRequest, ColumnSpec>
839         updateColumnSpecSettings;
840     private final UnaryCallSettings.Builder<CreateModelRequest, Operation> createModelSettings;
841     private final OperationCallSettings.Builder<CreateModelRequest, Model, OperationMetadata>
842         createModelOperationSettings;
843     private final UnaryCallSettings.Builder<GetModelRequest, Model> getModelSettings;
844     private final PagedCallSettings.Builder<
845             ListModelsRequest, ListModelsResponse, ListModelsPagedResponse>
846         listModelsSettings;
847     private final UnaryCallSettings.Builder<DeleteModelRequest, Operation> deleteModelSettings;
848     private final OperationCallSettings.Builder<DeleteModelRequest, Empty, OperationMetadata>
849         deleteModelOperationSettings;
850     private final UnaryCallSettings.Builder<DeployModelRequest, Operation> deployModelSettings;
851     private final OperationCallSettings.Builder<DeployModelRequest, Empty, OperationMetadata>
852         deployModelOperationSettings;
853     private final UnaryCallSettings.Builder<UndeployModelRequest, Operation> undeployModelSettings;
854     private final OperationCallSettings.Builder<UndeployModelRequest, Empty, OperationMetadata>
855         undeployModelOperationSettings;
856     private final UnaryCallSettings.Builder<ExportModelRequest, Operation> exportModelSettings;
857     private final OperationCallSettings.Builder<ExportModelRequest, Empty, OperationMetadata>
858         exportModelOperationSettings;
859     private final UnaryCallSettings.Builder<ExportEvaluatedExamplesRequest, Operation>
860         exportEvaluatedExamplesSettings;
861     private final OperationCallSettings.Builder<
862             ExportEvaluatedExamplesRequest, Empty, OperationMetadata>
863         exportEvaluatedExamplesOperationSettings;
864     private final UnaryCallSettings.Builder<GetModelEvaluationRequest, ModelEvaluation>
865         getModelEvaluationSettings;
866     private final PagedCallSettings.Builder<
867             ListModelEvaluationsRequest,
868             ListModelEvaluationsResponse,
869             ListModelEvaluationsPagedResponse>
870         listModelEvaluationsSettings;
871     private static final ImmutableMap<String, ImmutableSet<StatusCode.Code>>
872         RETRYABLE_CODE_DEFINITIONS;
873 
874     static {
875       ImmutableMap.Builder<String, ImmutableSet<StatusCode.Code>> definitions =
876           ImmutableMap.builder();
877       definitions.put(
878           "no_retry_1_codes", ImmutableSet.copyOf(Lists.<StatusCode.Code>newArrayList()));
879       definitions.put(
880           "retry_policy_2_codes",
881           ImmutableSet.copyOf(
882               Lists.<StatusCode.Code>newArrayList(
883                   StatusCode.Code.UNAVAILABLE, StatusCode.Code.DEADLINE_EXCEEDED)));
884       RETRYABLE_CODE_DEFINITIONS = definitions.build();
885     }
886 
887     private static final ImmutableMap<String, RetrySettings> RETRY_PARAM_DEFINITIONS;
888 
889     static {
890       ImmutableMap.Builder<String, RetrySettings> definitions = ImmutableMap.builder();
891       RetrySettings settings = null;
892       settings =
893           RetrySettings.newBuilder()
894               .setInitialRpcTimeout(Duration.ofMillis(5000L))
895               .setRpcTimeoutMultiplier(1.0)
896               .setMaxRpcTimeout(Duration.ofMillis(5000L))
897               .setTotalTimeout(Duration.ofMillis(5000L))
898               .build();
899       definitions.put("no_retry_1_params", settings);
900       settings =
901           RetrySettings.newBuilder()
902               .setInitialRetryDelay(Duration.ofMillis(100L))
903               .setRetryDelayMultiplier(1.3)
904               .setMaxRetryDelay(Duration.ofMillis(60000L))
905               .setInitialRpcTimeout(Duration.ofMillis(5000L))
906               .setRpcTimeoutMultiplier(1.0)
907               .setMaxRpcTimeout(Duration.ofMillis(5000L))
908               .setTotalTimeout(Duration.ofMillis(5000L))
909               .build();
910       definitions.put("retry_policy_2_params", settings);
911       RETRY_PARAM_DEFINITIONS = definitions.build();
912     }
913 
Builder()914     protected Builder() {
915       this(((ClientContext) null));
916     }
917 
Builder(ClientContext clientContext)918     protected Builder(ClientContext clientContext) {
919       super(clientContext);
920 
921       createDatasetSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
922       getDatasetSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
923       listDatasetsSettings = PagedCallSettings.newBuilder(LIST_DATASETS_PAGE_STR_FACT);
924       updateDatasetSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
925       deleteDatasetSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
926       deleteDatasetOperationSettings = OperationCallSettings.newBuilder();
927       importDataSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
928       importDataOperationSettings = OperationCallSettings.newBuilder();
929       exportDataSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
930       exportDataOperationSettings = OperationCallSettings.newBuilder();
931       getAnnotationSpecSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
932       getTableSpecSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
933       listTableSpecsSettings = PagedCallSettings.newBuilder(LIST_TABLE_SPECS_PAGE_STR_FACT);
934       updateTableSpecSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
935       getColumnSpecSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
936       listColumnSpecsSettings = PagedCallSettings.newBuilder(LIST_COLUMN_SPECS_PAGE_STR_FACT);
937       updateColumnSpecSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
938       createModelSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
939       createModelOperationSettings = OperationCallSettings.newBuilder();
940       getModelSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
941       listModelsSettings = PagedCallSettings.newBuilder(LIST_MODELS_PAGE_STR_FACT);
942       deleteModelSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
943       deleteModelOperationSettings = OperationCallSettings.newBuilder();
944       deployModelSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
945       deployModelOperationSettings = OperationCallSettings.newBuilder();
946       undeployModelSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
947       undeployModelOperationSettings = OperationCallSettings.newBuilder();
948       exportModelSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
949       exportModelOperationSettings = OperationCallSettings.newBuilder();
950       exportEvaluatedExamplesSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
951       exportEvaluatedExamplesOperationSettings = OperationCallSettings.newBuilder();
952       getModelEvaluationSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
953       listModelEvaluationsSettings =
954           PagedCallSettings.newBuilder(LIST_MODEL_EVALUATIONS_PAGE_STR_FACT);
955 
956       unaryMethodSettingsBuilders =
957           ImmutableList.<UnaryCallSettings.Builder<?, ?>>of(
958               createDatasetSettings,
959               getDatasetSettings,
960               listDatasetsSettings,
961               updateDatasetSettings,
962               deleteDatasetSettings,
963               importDataSettings,
964               exportDataSettings,
965               getAnnotationSpecSettings,
966               getTableSpecSettings,
967               listTableSpecsSettings,
968               updateTableSpecSettings,
969               getColumnSpecSettings,
970               listColumnSpecsSettings,
971               updateColumnSpecSettings,
972               createModelSettings,
973               getModelSettings,
974               listModelsSettings,
975               deleteModelSettings,
976               deployModelSettings,
977               undeployModelSettings,
978               exportModelSettings,
979               exportEvaluatedExamplesSettings,
980               getModelEvaluationSettings,
981               listModelEvaluationsSettings);
982       initDefaults(this);
983     }
984 
Builder(AutoMlStubSettings settings)985     protected Builder(AutoMlStubSettings settings) {
986       super(settings);
987 
988       createDatasetSettings = settings.createDatasetSettings.toBuilder();
989       getDatasetSettings = settings.getDatasetSettings.toBuilder();
990       listDatasetsSettings = settings.listDatasetsSettings.toBuilder();
991       updateDatasetSettings = settings.updateDatasetSettings.toBuilder();
992       deleteDatasetSettings = settings.deleteDatasetSettings.toBuilder();
993       deleteDatasetOperationSettings = settings.deleteDatasetOperationSettings.toBuilder();
994       importDataSettings = settings.importDataSettings.toBuilder();
995       importDataOperationSettings = settings.importDataOperationSettings.toBuilder();
996       exportDataSettings = settings.exportDataSettings.toBuilder();
997       exportDataOperationSettings = settings.exportDataOperationSettings.toBuilder();
998       getAnnotationSpecSettings = settings.getAnnotationSpecSettings.toBuilder();
999       getTableSpecSettings = settings.getTableSpecSettings.toBuilder();
1000       listTableSpecsSettings = settings.listTableSpecsSettings.toBuilder();
1001       updateTableSpecSettings = settings.updateTableSpecSettings.toBuilder();
1002       getColumnSpecSettings = settings.getColumnSpecSettings.toBuilder();
1003       listColumnSpecsSettings = settings.listColumnSpecsSettings.toBuilder();
1004       updateColumnSpecSettings = settings.updateColumnSpecSettings.toBuilder();
1005       createModelSettings = settings.createModelSettings.toBuilder();
1006       createModelOperationSettings = settings.createModelOperationSettings.toBuilder();
1007       getModelSettings = settings.getModelSettings.toBuilder();
1008       listModelsSettings = settings.listModelsSettings.toBuilder();
1009       deleteModelSettings = settings.deleteModelSettings.toBuilder();
1010       deleteModelOperationSettings = settings.deleteModelOperationSettings.toBuilder();
1011       deployModelSettings = settings.deployModelSettings.toBuilder();
1012       deployModelOperationSettings = settings.deployModelOperationSettings.toBuilder();
1013       undeployModelSettings = settings.undeployModelSettings.toBuilder();
1014       undeployModelOperationSettings = settings.undeployModelOperationSettings.toBuilder();
1015       exportModelSettings = settings.exportModelSettings.toBuilder();
1016       exportModelOperationSettings = settings.exportModelOperationSettings.toBuilder();
1017       exportEvaluatedExamplesSettings = settings.exportEvaluatedExamplesSettings.toBuilder();
1018       exportEvaluatedExamplesOperationSettings =
1019           settings.exportEvaluatedExamplesOperationSettings.toBuilder();
1020       getModelEvaluationSettings = settings.getModelEvaluationSettings.toBuilder();
1021       listModelEvaluationsSettings = settings.listModelEvaluationsSettings.toBuilder();
1022 
1023       unaryMethodSettingsBuilders =
1024           ImmutableList.<UnaryCallSettings.Builder<?, ?>>of(
1025               createDatasetSettings,
1026               getDatasetSettings,
1027               listDatasetsSettings,
1028               updateDatasetSettings,
1029               deleteDatasetSettings,
1030               importDataSettings,
1031               exportDataSettings,
1032               getAnnotationSpecSettings,
1033               getTableSpecSettings,
1034               listTableSpecsSettings,
1035               updateTableSpecSettings,
1036               getColumnSpecSettings,
1037               listColumnSpecsSettings,
1038               updateColumnSpecSettings,
1039               createModelSettings,
1040               getModelSettings,
1041               listModelsSettings,
1042               deleteModelSettings,
1043               deployModelSettings,
1044               undeployModelSettings,
1045               exportModelSettings,
1046               exportEvaluatedExamplesSettings,
1047               getModelEvaluationSettings,
1048               listModelEvaluationsSettings);
1049     }
1050 
createDefault()1051     private static Builder createDefault() {
1052       Builder builder = new Builder(((ClientContext) null));
1053 
1054       builder.setTransportChannelProvider(defaultTransportChannelProvider());
1055       builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
1056       builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build());
1057       builder.setEndpoint(getDefaultEndpoint());
1058       builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
1059       builder.setSwitchToMtlsEndpointAllowed(true);
1060 
1061       return initDefaults(builder);
1062     }
1063 
createHttpJsonDefault()1064     private static Builder createHttpJsonDefault() {
1065       Builder builder = new Builder(((ClientContext) null));
1066 
1067       builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build());
1068       builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
1069       builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build());
1070       builder.setEndpoint(getDefaultEndpoint());
1071       builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
1072       builder.setSwitchToMtlsEndpointAllowed(true);
1073 
1074       return initDefaults(builder);
1075     }
1076 
initDefaults(Builder builder)1077     private static Builder initDefaults(Builder builder) {
1078       builder
1079           .createDatasetSettings()
1080           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
1081           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
1082 
1083       builder
1084           .getDatasetSettings()
1085           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_2_codes"))
1086           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_2_params"));
1087 
1088       builder
1089           .listDatasetsSettings()
1090           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_2_codes"))
1091           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_2_params"));
1092 
1093       builder
1094           .updateDatasetSettings()
1095           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
1096           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
1097 
1098       builder
1099           .deleteDatasetSettings()
1100           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_2_codes"))
1101           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_2_params"));
1102 
1103       builder
1104           .importDataSettings()
1105           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
1106           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
1107 
1108       builder
1109           .exportDataSettings()
1110           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
1111           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
1112 
1113       builder
1114           .getAnnotationSpecSettings()
1115           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_2_codes"))
1116           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_2_params"));
1117 
1118       builder
1119           .getTableSpecSettings()
1120           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_2_codes"))
1121           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_2_params"));
1122 
1123       builder
1124           .listTableSpecsSettings()
1125           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_2_codes"))
1126           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_2_params"));
1127 
1128       builder
1129           .updateTableSpecSettings()
1130           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
1131           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
1132 
1133       builder
1134           .getColumnSpecSettings()
1135           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_2_codes"))
1136           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_2_params"));
1137 
1138       builder
1139           .listColumnSpecsSettings()
1140           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_2_codes"))
1141           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_2_params"));
1142 
1143       builder
1144           .updateColumnSpecSettings()
1145           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
1146           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
1147 
1148       builder
1149           .createModelSettings()
1150           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
1151           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
1152 
1153       builder
1154           .getModelSettings()
1155           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_2_codes"))
1156           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_2_params"));
1157 
1158       builder
1159           .listModelsSettings()
1160           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_2_codes"))
1161           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_2_params"));
1162 
1163       builder
1164           .deleteModelSettings()
1165           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_2_codes"))
1166           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_2_params"));
1167 
1168       builder
1169           .deployModelSettings()
1170           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
1171           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
1172 
1173       builder
1174           .undeployModelSettings()
1175           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
1176           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
1177 
1178       builder
1179           .exportModelSettings()
1180           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
1181           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
1182 
1183       builder
1184           .exportEvaluatedExamplesSettings()
1185           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
1186           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
1187 
1188       builder
1189           .getModelEvaluationSettings()
1190           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_2_codes"))
1191           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_2_params"));
1192 
1193       builder
1194           .listModelEvaluationsSettings()
1195           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
1196           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
1197 
1198       builder
1199           .deleteDatasetOperationSettings()
1200           .setInitialCallSettings(
1201               UnaryCallSettings
1202                   .<DeleteDatasetRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
1203                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_2_codes"))
1204                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_2_params"))
1205                   .build())
1206           .setResponseTransformer(
1207               ProtoOperationTransformers.ResponseTransformer.create(Empty.class))
1208           .setMetadataTransformer(
1209               ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class))
1210           .setPollingAlgorithm(
1211               OperationTimedPollAlgorithm.create(
1212                   RetrySettings.newBuilder()
1213                       .setInitialRetryDelay(Duration.ofMillis(5000L))
1214                       .setRetryDelayMultiplier(1.5)
1215                       .setMaxRetryDelay(Duration.ofMillis(45000L))
1216                       .setInitialRpcTimeout(Duration.ZERO)
1217                       .setRpcTimeoutMultiplier(1.0)
1218                       .setMaxRpcTimeout(Duration.ZERO)
1219                       .setTotalTimeout(Duration.ofMillis(300000L))
1220                       .build()));
1221 
1222       builder
1223           .importDataOperationSettings()
1224           .setInitialCallSettings(
1225               UnaryCallSettings.<ImportDataRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
1226                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
1227                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
1228                   .build())
1229           .setResponseTransformer(
1230               ProtoOperationTransformers.ResponseTransformer.create(Empty.class))
1231           .setMetadataTransformer(
1232               ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class))
1233           .setPollingAlgorithm(
1234               OperationTimedPollAlgorithm.create(
1235                   RetrySettings.newBuilder()
1236                       .setInitialRetryDelay(Duration.ofMillis(5000L))
1237                       .setRetryDelayMultiplier(1.5)
1238                       .setMaxRetryDelay(Duration.ofMillis(45000L))
1239                       .setInitialRpcTimeout(Duration.ZERO)
1240                       .setRpcTimeoutMultiplier(1.0)
1241                       .setMaxRpcTimeout(Duration.ZERO)
1242                       .setTotalTimeout(Duration.ofMillis(300000L))
1243                       .build()));
1244 
1245       builder
1246           .exportDataOperationSettings()
1247           .setInitialCallSettings(
1248               UnaryCallSettings.<ExportDataRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
1249                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
1250                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
1251                   .build())
1252           .setResponseTransformer(
1253               ProtoOperationTransformers.ResponseTransformer.create(Empty.class))
1254           .setMetadataTransformer(
1255               ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class))
1256           .setPollingAlgorithm(
1257               OperationTimedPollAlgorithm.create(
1258                   RetrySettings.newBuilder()
1259                       .setInitialRetryDelay(Duration.ofMillis(5000L))
1260                       .setRetryDelayMultiplier(1.5)
1261                       .setMaxRetryDelay(Duration.ofMillis(45000L))
1262                       .setInitialRpcTimeout(Duration.ZERO)
1263                       .setRpcTimeoutMultiplier(1.0)
1264                       .setMaxRpcTimeout(Duration.ZERO)
1265                       .setTotalTimeout(Duration.ofMillis(300000L))
1266                       .build()));
1267 
1268       builder
1269           .createModelOperationSettings()
1270           .setInitialCallSettings(
1271               UnaryCallSettings.<CreateModelRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
1272                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
1273                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
1274                   .build())
1275           .setResponseTransformer(
1276               ProtoOperationTransformers.ResponseTransformer.create(Model.class))
1277           .setMetadataTransformer(
1278               ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class))
1279           .setPollingAlgorithm(
1280               OperationTimedPollAlgorithm.create(
1281                   RetrySettings.newBuilder()
1282                       .setInitialRetryDelay(Duration.ofMillis(5000L))
1283                       .setRetryDelayMultiplier(1.5)
1284                       .setMaxRetryDelay(Duration.ofMillis(45000L))
1285                       .setInitialRpcTimeout(Duration.ZERO)
1286                       .setRpcTimeoutMultiplier(1.0)
1287                       .setMaxRpcTimeout(Duration.ZERO)
1288                       .setTotalTimeout(Duration.ofMillis(300000L))
1289                       .build()));
1290 
1291       builder
1292           .deleteModelOperationSettings()
1293           .setInitialCallSettings(
1294               UnaryCallSettings.<DeleteModelRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
1295                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_2_codes"))
1296                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_2_params"))
1297                   .build())
1298           .setResponseTransformer(
1299               ProtoOperationTransformers.ResponseTransformer.create(Empty.class))
1300           .setMetadataTransformer(
1301               ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class))
1302           .setPollingAlgorithm(
1303               OperationTimedPollAlgorithm.create(
1304                   RetrySettings.newBuilder()
1305                       .setInitialRetryDelay(Duration.ofMillis(5000L))
1306                       .setRetryDelayMultiplier(1.5)
1307                       .setMaxRetryDelay(Duration.ofMillis(45000L))
1308                       .setInitialRpcTimeout(Duration.ZERO)
1309                       .setRpcTimeoutMultiplier(1.0)
1310                       .setMaxRpcTimeout(Duration.ZERO)
1311                       .setTotalTimeout(Duration.ofMillis(300000L))
1312                       .build()));
1313 
1314       builder
1315           .deployModelOperationSettings()
1316           .setInitialCallSettings(
1317               UnaryCallSettings.<DeployModelRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
1318                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
1319                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
1320                   .build())
1321           .setResponseTransformer(
1322               ProtoOperationTransformers.ResponseTransformer.create(Empty.class))
1323           .setMetadataTransformer(
1324               ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class))
1325           .setPollingAlgorithm(
1326               OperationTimedPollAlgorithm.create(
1327                   RetrySettings.newBuilder()
1328                       .setInitialRetryDelay(Duration.ofMillis(5000L))
1329                       .setRetryDelayMultiplier(1.5)
1330                       .setMaxRetryDelay(Duration.ofMillis(45000L))
1331                       .setInitialRpcTimeout(Duration.ZERO)
1332                       .setRpcTimeoutMultiplier(1.0)
1333                       .setMaxRpcTimeout(Duration.ZERO)
1334                       .setTotalTimeout(Duration.ofMillis(300000L))
1335                       .build()));
1336 
1337       builder
1338           .undeployModelOperationSettings()
1339           .setInitialCallSettings(
1340               UnaryCallSettings
1341                   .<UndeployModelRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
1342                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
1343                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
1344                   .build())
1345           .setResponseTransformer(
1346               ProtoOperationTransformers.ResponseTransformer.create(Empty.class))
1347           .setMetadataTransformer(
1348               ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class))
1349           .setPollingAlgorithm(
1350               OperationTimedPollAlgorithm.create(
1351                   RetrySettings.newBuilder()
1352                       .setInitialRetryDelay(Duration.ofMillis(5000L))
1353                       .setRetryDelayMultiplier(1.5)
1354                       .setMaxRetryDelay(Duration.ofMillis(45000L))
1355                       .setInitialRpcTimeout(Duration.ZERO)
1356                       .setRpcTimeoutMultiplier(1.0)
1357                       .setMaxRpcTimeout(Duration.ZERO)
1358                       .setTotalTimeout(Duration.ofMillis(300000L))
1359                       .build()));
1360 
1361       builder
1362           .exportModelOperationSettings()
1363           .setInitialCallSettings(
1364               UnaryCallSettings.<ExportModelRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
1365                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
1366                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
1367                   .build())
1368           .setResponseTransformer(
1369               ProtoOperationTransformers.ResponseTransformer.create(Empty.class))
1370           .setMetadataTransformer(
1371               ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class))
1372           .setPollingAlgorithm(
1373               OperationTimedPollAlgorithm.create(
1374                   RetrySettings.newBuilder()
1375                       .setInitialRetryDelay(Duration.ofMillis(5000L))
1376                       .setRetryDelayMultiplier(1.5)
1377                       .setMaxRetryDelay(Duration.ofMillis(45000L))
1378                       .setInitialRpcTimeout(Duration.ZERO)
1379                       .setRpcTimeoutMultiplier(1.0)
1380                       .setMaxRpcTimeout(Duration.ZERO)
1381                       .setTotalTimeout(Duration.ofMillis(300000L))
1382                       .build()));
1383 
1384       builder
1385           .exportEvaluatedExamplesOperationSettings()
1386           .setInitialCallSettings(
1387               UnaryCallSettings
1388                   .<ExportEvaluatedExamplesRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
1389                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
1390                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
1391                   .build())
1392           .setResponseTransformer(
1393               ProtoOperationTransformers.ResponseTransformer.create(Empty.class))
1394           .setMetadataTransformer(
1395               ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class))
1396           .setPollingAlgorithm(
1397               OperationTimedPollAlgorithm.create(
1398                   RetrySettings.newBuilder()
1399                       .setInitialRetryDelay(Duration.ofMillis(5000L))
1400                       .setRetryDelayMultiplier(1.5)
1401                       .setMaxRetryDelay(Duration.ofMillis(45000L))
1402                       .setInitialRpcTimeout(Duration.ZERO)
1403                       .setRpcTimeoutMultiplier(1.0)
1404                       .setMaxRpcTimeout(Duration.ZERO)
1405                       .setTotalTimeout(Duration.ofMillis(300000L))
1406                       .build()));
1407 
1408       return builder;
1409     }
1410 
1411     /**
1412      * Applies the given settings updater function to all of the unary API methods in this service.
1413      *
1414      * <p>Note: This method does not support applying settings to streaming methods.
1415      */
applyToAllUnaryMethods( ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater)1416     public Builder applyToAllUnaryMethods(
1417         ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater) {
1418       super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater);
1419       return this;
1420     }
1421 
unaryMethodSettingsBuilders()1422     public ImmutableList<UnaryCallSettings.Builder<?, ?>> unaryMethodSettingsBuilders() {
1423       return unaryMethodSettingsBuilders;
1424     }
1425 
1426     /** Returns the builder for the settings used for calls to createDataset. */
createDatasetSettings()1427     public UnaryCallSettings.Builder<CreateDatasetRequest, Dataset> createDatasetSettings() {
1428       return createDatasetSettings;
1429     }
1430 
1431     /** Returns the builder for the settings used for calls to getDataset. */
getDatasetSettings()1432     public UnaryCallSettings.Builder<GetDatasetRequest, Dataset> getDatasetSettings() {
1433       return getDatasetSettings;
1434     }
1435 
1436     /** Returns the builder for the settings used for calls to listDatasets. */
1437     public PagedCallSettings.Builder<
1438             ListDatasetsRequest, ListDatasetsResponse, ListDatasetsPagedResponse>
listDatasetsSettings()1439         listDatasetsSettings() {
1440       return listDatasetsSettings;
1441     }
1442 
1443     /** Returns the builder for the settings used for calls to updateDataset. */
updateDatasetSettings()1444     public UnaryCallSettings.Builder<UpdateDatasetRequest, Dataset> updateDatasetSettings() {
1445       return updateDatasetSettings;
1446     }
1447 
1448     /** Returns the builder for the settings used for calls to deleteDataset. */
deleteDatasetSettings()1449     public UnaryCallSettings.Builder<DeleteDatasetRequest, Operation> deleteDatasetSettings() {
1450       return deleteDatasetSettings;
1451     }
1452 
1453     /** Returns the builder for the settings used for calls to deleteDataset. */
1454     @BetaApi(
1455         "The surface for use by generated code is not stable yet and may change in the future.")
1456     public OperationCallSettings.Builder<DeleteDatasetRequest, Empty, OperationMetadata>
deleteDatasetOperationSettings()1457         deleteDatasetOperationSettings() {
1458       return deleteDatasetOperationSettings;
1459     }
1460 
1461     /** Returns the builder for the settings used for calls to importData. */
importDataSettings()1462     public UnaryCallSettings.Builder<ImportDataRequest, Operation> importDataSettings() {
1463       return importDataSettings;
1464     }
1465 
1466     /** Returns the builder for the settings used for calls to importData. */
1467     @BetaApi(
1468         "The surface for use by generated code is not stable yet and may change in the future.")
1469     public OperationCallSettings.Builder<ImportDataRequest, Empty, OperationMetadata>
importDataOperationSettings()1470         importDataOperationSettings() {
1471       return importDataOperationSettings;
1472     }
1473 
1474     /** Returns the builder for the settings used for calls to exportData. */
exportDataSettings()1475     public UnaryCallSettings.Builder<ExportDataRequest, Operation> exportDataSettings() {
1476       return exportDataSettings;
1477     }
1478 
1479     /** Returns the builder for the settings used for calls to exportData. */
1480     @BetaApi(
1481         "The surface for use by generated code is not stable yet and may change in the future.")
1482     public OperationCallSettings.Builder<ExportDataRequest, Empty, OperationMetadata>
exportDataOperationSettings()1483         exportDataOperationSettings() {
1484       return exportDataOperationSettings;
1485     }
1486 
1487     /** Returns the builder for the settings used for calls to getAnnotationSpec. */
1488     public UnaryCallSettings.Builder<GetAnnotationSpecRequest, AnnotationSpec>
getAnnotationSpecSettings()1489         getAnnotationSpecSettings() {
1490       return getAnnotationSpecSettings;
1491     }
1492 
1493     /** Returns the builder for the settings used for calls to getTableSpec. */
getTableSpecSettings()1494     public UnaryCallSettings.Builder<GetTableSpecRequest, TableSpec> getTableSpecSettings() {
1495       return getTableSpecSettings;
1496     }
1497 
1498     /** Returns the builder for the settings used for calls to listTableSpecs. */
1499     public PagedCallSettings.Builder<
1500             ListTableSpecsRequest, ListTableSpecsResponse, ListTableSpecsPagedResponse>
listTableSpecsSettings()1501         listTableSpecsSettings() {
1502       return listTableSpecsSettings;
1503     }
1504 
1505     /** Returns the builder for the settings used for calls to updateTableSpec. */
updateTableSpecSettings()1506     public UnaryCallSettings.Builder<UpdateTableSpecRequest, TableSpec> updateTableSpecSettings() {
1507       return updateTableSpecSettings;
1508     }
1509 
1510     /** Returns the builder for the settings used for calls to getColumnSpec. */
getColumnSpecSettings()1511     public UnaryCallSettings.Builder<GetColumnSpecRequest, ColumnSpec> getColumnSpecSettings() {
1512       return getColumnSpecSettings;
1513     }
1514 
1515     /** Returns the builder for the settings used for calls to listColumnSpecs. */
1516     public PagedCallSettings.Builder<
1517             ListColumnSpecsRequest, ListColumnSpecsResponse, ListColumnSpecsPagedResponse>
listColumnSpecsSettings()1518         listColumnSpecsSettings() {
1519       return listColumnSpecsSettings;
1520     }
1521 
1522     /** Returns the builder for the settings used for calls to updateColumnSpec. */
1523     public UnaryCallSettings.Builder<UpdateColumnSpecRequest, ColumnSpec>
updateColumnSpecSettings()1524         updateColumnSpecSettings() {
1525       return updateColumnSpecSettings;
1526     }
1527 
1528     /** Returns the builder for the settings used for calls to createModel. */
createModelSettings()1529     public UnaryCallSettings.Builder<CreateModelRequest, Operation> createModelSettings() {
1530       return createModelSettings;
1531     }
1532 
1533     /** Returns the builder for the settings used for calls to createModel. */
1534     @BetaApi(
1535         "The surface for use by generated code is not stable yet and may change in the future.")
1536     public OperationCallSettings.Builder<CreateModelRequest, Model, OperationMetadata>
createModelOperationSettings()1537         createModelOperationSettings() {
1538       return createModelOperationSettings;
1539     }
1540 
1541     /** Returns the builder for the settings used for calls to getModel. */
getModelSettings()1542     public UnaryCallSettings.Builder<GetModelRequest, Model> getModelSettings() {
1543       return getModelSettings;
1544     }
1545 
1546     /** Returns the builder for the settings used for calls to listModels. */
1547     public PagedCallSettings.Builder<ListModelsRequest, ListModelsResponse, ListModelsPagedResponse>
listModelsSettings()1548         listModelsSettings() {
1549       return listModelsSettings;
1550     }
1551 
1552     /** Returns the builder for the settings used for calls to deleteModel. */
deleteModelSettings()1553     public UnaryCallSettings.Builder<DeleteModelRequest, Operation> deleteModelSettings() {
1554       return deleteModelSettings;
1555     }
1556 
1557     /** Returns the builder for the settings used for calls to deleteModel. */
1558     @BetaApi(
1559         "The surface for use by generated code is not stable yet and may change in the future.")
1560     public OperationCallSettings.Builder<DeleteModelRequest, Empty, OperationMetadata>
deleteModelOperationSettings()1561         deleteModelOperationSettings() {
1562       return deleteModelOperationSettings;
1563     }
1564 
1565     /** Returns the builder for the settings used for calls to deployModel. */
deployModelSettings()1566     public UnaryCallSettings.Builder<DeployModelRequest, Operation> deployModelSettings() {
1567       return deployModelSettings;
1568     }
1569 
1570     /** Returns the builder for the settings used for calls to deployModel. */
1571     @BetaApi(
1572         "The surface for use by generated code is not stable yet and may change in the future.")
1573     public OperationCallSettings.Builder<DeployModelRequest, Empty, OperationMetadata>
deployModelOperationSettings()1574         deployModelOperationSettings() {
1575       return deployModelOperationSettings;
1576     }
1577 
1578     /** Returns the builder for the settings used for calls to undeployModel. */
undeployModelSettings()1579     public UnaryCallSettings.Builder<UndeployModelRequest, Operation> undeployModelSettings() {
1580       return undeployModelSettings;
1581     }
1582 
1583     /** Returns the builder for the settings used for calls to undeployModel. */
1584     @BetaApi(
1585         "The surface for use by generated code is not stable yet and may change in the future.")
1586     public OperationCallSettings.Builder<UndeployModelRequest, Empty, OperationMetadata>
undeployModelOperationSettings()1587         undeployModelOperationSettings() {
1588       return undeployModelOperationSettings;
1589     }
1590 
1591     /** Returns the builder for the settings used for calls to exportModel. */
exportModelSettings()1592     public UnaryCallSettings.Builder<ExportModelRequest, Operation> exportModelSettings() {
1593       return exportModelSettings;
1594     }
1595 
1596     /** Returns the builder for the settings used for calls to exportModel. */
1597     @BetaApi(
1598         "The surface for use by generated code is not stable yet and may change in the future.")
1599     public OperationCallSettings.Builder<ExportModelRequest, Empty, OperationMetadata>
exportModelOperationSettings()1600         exportModelOperationSettings() {
1601       return exportModelOperationSettings;
1602     }
1603 
1604     /** Returns the builder for the settings used for calls to exportEvaluatedExamples. */
1605     public UnaryCallSettings.Builder<ExportEvaluatedExamplesRequest, Operation>
exportEvaluatedExamplesSettings()1606         exportEvaluatedExamplesSettings() {
1607       return exportEvaluatedExamplesSettings;
1608     }
1609 
1610     /** Returns the builder for the settings used for calls to exportEvaluatedExamples. */
1611     @BetaApi(
1612         "The surface for use by generated code is not stable yet and may change in the future.")
1613     public OperationCallSettings.Builder<ExportEvaluatedExamplesRequest, Empty, OperationMetadata>
exportEvaluatedExamplesOperationSettings()1614         exportEvaluatedExamplesOperationSettings() {
1615       return exportEvaluatedExamplesOperationSettings;
1616     }
1617 
1618     /** Returns the builder for the settings used for calls to getModelEvaluation. */
1619     public UnaryCallSettings.Builder<GetModelEvaluationRequest, ModelEvaluation>
getModelEvaluationSettings()1620         getModelEvaluationSettings() {
1621       return getModelEvaluationSettings;
1622     }
1623 
1624     /** Returns the builder for the settings used for calls to listModelEvaluations. */
1625     public PagedCallSettings.Builder<
1626             ListModelEvaluationsRequest,
1627             ListModelEvaluationsResponse,
1628             ListModelEvaluationsPagedResponse>
listModelEvaluationsSettings()1629         listModelEvaluationsSettings() {
1630       return listModelEvaluationsSettings;
1631     }
1632 
1633     @Override
build()1634     public AutoMlStubSettings build() throws IOException {
1635       return new AutoMlStubSettings(this);
1636     }
1637   }
1638 }
1639