• 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.compute.v1.stub;
18 
19 import static com.google.cloud.compute.v1.DisksClient.AggregatedListPagedResponse;
20 import static com.google.cloud.compute.v1.DisksClient.ListPagedResponse;
21 
22 import com.google.api.core.ApiFunction;
23 import com.google.api.core.ApiFuture;
24 import com.google.api.core.BetaApi;
25 import com.google.api.gax.core.GaxProperties;
26 import com.google.api.gax.core.GoogleCredentialsProvider;
27 import com.google.api.gax.core.InstantiatingExecutorProvider;
28 import com.google.api.gax.httpjson.GaxHttpJsonProperties;
29 import com.google.api.gax.httpjson.HttpJsonTransportChannel;
30 import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
31 import com.google.api.gax.httpjson.ProtoOperationTransformers;
32 import com.google.api.gax.longrunning.OperationSnapshot;
33 import com.google.api.gax.longrunning.OperationTimedPollAlgorithm;
34 import com.google.api.gax.retrying.RetrySettings;
35 import com.google.api.gax.rpc.ApiCallContext;
36 import com.google.api.gax.rpc.ApiClientHeaderProvider;
37 import com.google.api.gax.rpc.ClientContext;
38 import com.google.api.gax.rpc.OperationCallSettings;
39 import com.google.api.gax.rpc.PageContext;
40 import com.google.api.gax.rpc.PagedCallSettings;
41 import com.google.api.gax.rpc.PagedListDescriptor;
42 import com.google.api.gax.rpc.PagedListResponseFactory;
43 import com.google.api.gax.rpc.StatusCode;
44 import com.google.api.gax.rpc.StubSettings;
45 import com.google.api.gax.rpc.TransportChannelProvider;
46 import com.google.api.gax.rpc.UnaryCallSettings;
47 import com.google.api.gax.rpc.UnaryCallable;
48 import com.google.cloud.compute.v1.AddResourcePoliciesDiskRequest;
49 import com.google.cloud.compute.v1.AggregatedListDisksRequest;
50 import com.google.cloud.compute.v1.CreateSnapshotDiskRequest;
51 import com.google.cloud.compute.v1.DeleteDiskRequest;
52 import com.google.cloud.compute.v1.Disk;
53 import com.google.cloud.compute.v1.DiskAggregatedList;
54 import com.google.cloud.compute.v1.DiskList;
55 import com.google.cloud.compute.v1.DisksScopedList;
56 import com.google.cloud.compute.v1.GetDiskRequest;
57 import com.google.cloud.compute.v1.GetIamPolicyDiskRequest;
58 import com.google.cloud.compute.v1.InsertDiskRequest;
59 import com.google.cloud.compute.v1.ListDisksRequest;
60 import com.google.cloud.compute.v1.Operation;
61 import com.google.cloud.compute.v1.Policy;
62 import com.google.cloud.compute.v1.RemoveResourcePoliciesDiskRequest;
63 import com.google.cloud.compute.v1.ResizeDiskRequest;
64 import com.google.cloud.compute.v1.SetIamPolicyDiskRequest;
65 import com.google.cloud.compute.v1.SetLabelsDiskRequest;
66 import com.google.cloud.compute.v1.TestIamPermissionsDiskRequest;
67 import com.google.cloud.compute.v1.TestPermissionsResponse;
68 import com.google.cloud.compute.v1.UpdateDiskRequest;
69 import com.google.common.collect.ImmutableList;
70 import com.google.common.collect.ImmutableMap;
71 import com.google.common.collect.ImmutableSet;
72 import com.google.common.collect.Lists;
73 import java.io.IOException;
74 import java.util.Collections;
75 import java.util.List;
76 import java.util.Map;
77 import javax.annotation.Generated;
78 import org.threeten.bp.Duration;
79 
80 // AUTO-GENERATED DOCUMENTATION AND CLASS.
81 /**
82  * Settings class to configure an instance of {@link DisksStub}.
83  *
84  * <p>The default instance has everything set to sensible defaults:
85  *
86  * <ul>
87  *   <li>The default service address (compute.googleapis.com) and default port (443) are used.
88  *   <li>Credentials are acquired automatically through Application Default Credentials.
89  *   <li>Retries are configured for idempotent methods but not for non-idempotent methods.
90  * </ul>
91  *
92  * <p>The builder of this class is recursive, so contained classes are themselves builders. When
93  * build() is called, the tree of builders is called to create the complete settings object.
94  *
95  * <p>For example, to set the total timeout of get to 30 seconds:
96  *
97  * <pre>{@code
98  * // This snippet has been automatically generated and should be regarded as a code template only.
99  * // It will require modifications to work:
100  * // - It may require correct/in-range values for request initialization.
101  * // - It may require specifying regional endpoints when creating the service client as shown in
102  * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
103  * DisksStubSettings.Builder disksSettingsBuilder = DisksStubSettings.newBuilder();
104  * disksSettingsBuilder
105  *     .getSettings()
106  *     .setRetrySettings(
107  *         disksSettingsBuilder
108  *             .getSettings()
109  *             .getRetrySettings()
110  *             .toBuilder()
111  *             .setTotalTimeout(Duration.ofSeconds(30))
112  *             .build());
113  * DisksStubSettings disksSettings = disksSettingsBuilder.build();
114  * }</pre>
115  */
116 @Generated("by gapic-generator-java")
117 public class DisksStubSettings extends StubSettings<DisksStubSettings> {
118   /** The default scopes of the service. */
119   private static final ImmutableList<String> DEFAULT_SERVICE_SCOPES =
120       ImmutableList.<String>builder()
121           .add("https://www.googleapis.com/auth/compute")
122           .add("https://www.googleapis.com/auth/cloud-platform")
123           .build();
124 
125   private final UnaryCallSettings<AddResourcePoliciesDiskRequest, Operation>
126       addResourcePoliciesSettings;
127   private final OperationCallSettings<AddResourcePoliciesDiskRequest, Operation, Operation>
128       addResourcePoliciesOperationSettings;
129   private final PagedCallSettings<
130           AggregatedListDisksRequest, DiskAggregatedList, AggregatedListPagedResponse>
131       aggregatedListSettings;
132   private final UnaryCallSettings<CreateSnapshotDiskRequest, Operation> createSnapshotSettings;
133   private final OperationCallSettings<CreateSnapshotDiskRequest, Operation, Operation>
134       createSnapshotOperationSettings;
135   private final UnaryCallSettings<DeleteDiskRequest, Operation> deleteSettings;
136   private final OperationCallSettings<DeleteDiskRequest, Operation, Operation>
137       deleteOperationSettings;
138   private final UnaryCallSettings<GetDiskRequest, Disk> getSettings;
139   private final UnaryCallSettings<GetIamPolicyDiskRequest, Policy> getIamPolicySettings;
140   private final UnaryCallSettings<InsertDiskRequest, Operation> insertSettings;
141   private final OperationCallSettings<InsertDiskRequest, Operation, Operation>
142       insertOperationSettings;
143   private final PagedCallSettings<ListDisksRequest, DiskList, ListPagedResponse> listSettings;
144   private final UnaryCallSettings<RemoveResourcePoliciesDiskRequest, Operation>
145       removeResourcePoliciesSettings;
146   private final OperationCallSettings<RemoveResourcePoliciesDiskRequest, Operation, Operation>
147       removeResourcePoliciesOperationSettings;
148   private final UnaryCallSettings<ResizeDiskRequest, Operation> resizeSettings;
149   private final OperationCallSettings<ResizeDiskRequest, Operation, Operation>
150       resizeOperationSettings;
151   private final UnaryCallSettings<SetIamPolicyDiskRequest, Policy> setIamPolicySettings;
152   private final UnaryCallSettings<SetLabelsDiskRequest, Operation> setLabelsSettings;
153   private final OperationCallSettings<SetLabelsDiskRequest, Operation, Operation>
154       setLabelsOperationSettings;
155   private final UnaryCallSettings<TestIamPermissionsDiskRequest, TestPermissionsResponse>
156       testIamPermissionsSettings;
157   private final UnaryCallSettings<UpdateDiskRequest, Operation> updateSettings;
158   private final OperationCallSettings<UpdateDiskRequest, Operation, Operation>
159       updateOperationSettings;
160 
161   private static final PagedListDescriptor<
162           AggregatedListDisksRequest, DiskAggregatedList, Map.Entry<String, DisksScopedList>>
163       AGGREGATED_LIST_PAGE_STR_DESC =
164           new PagedListDescriptor<
165               AggregatedListDisksRequest,
166               DiskAggregatedList,
167               Map.Entry<String, DisksScopedList>>() {
168             @Override
169             public String emptyToken() {
170               return "";
171             }
172 
173             @Override
174             public AggregatedListDisksRequest injectToken(
175                 AggregatedListDisksRequest payload, String token) {
176               return AggregatedListDisksRequest.newBuilder(payload).setPageToken(token).build();
177             }
178 
179             @Override
180             public AggregatedListDisksRequest injectPageSize(
181                 AggregatedListDisksRequest payload, int pageSize) {
182               return AggregatedListDisksRequest.newBuilder(payload).setMaxResults(pageSize).build();
183             }
184 
185             @Override
186             public Integer extractPageSize(AggregatedListDisksRequest payload) {
187               return payload.getMaxResults();
188             }
189 
190             @Override
191             public String extractNextToken(DiskAggregatedList payload) {
192               return payload.getNextPageToken();
193             }
194 
195             @Override
196             public Iterable<Map.Entry<String, DisksScopedList>> extractResources(
197                 DiskAggregatedList payload) {
198               return payload.getItemsMap() == null
199                   ? Collections.<Map.Entry<String, DisksScopedList>>emptySet()
200                   : payload.getItemsMap().entrySet();
201             }
202           };
203 
204   private static final PagedListDescriptor<ListDisksRequest, DiskList, Disk> LIST_PAGE_STR_DESC =
205       new PagedListDescriptor<ListDisksRequest, DiskList, Disk>() {
206         @Override
207         public String emptyToken() {
208           return "";
209         }
210 
211         @Override
212         public ListDisksRequest injectToken(ListDisksRequest payload, String token) {
213           return ListDisksRequest.newBuilder(payload).setPageToken(token).build();
214         }
215 
216         @Override
217         public ListDisksRequest injectPageSize(ListDisksRequest payload, int pageSize) {
218           return ListDisksRequest.newBuilder(payload).setMaxResults(pageSize).build();
219         }
220 
221         @Override
222         public Integer extractPageSize(ListDisksRequest payload) {
223           return payload.getMaxResults();
224         }
225 
226         @Override
227         public String extractNextToken(DiskList payload) {
228           return payload.getNextPageToken();
229         }
230 
231         @Override
232         public Iterable<Disk> extractResources(DiskList payload) {
233           return payload.getItemsList() == null ? ImmutableList.<Disk>of() : payload.getItemsList();
234         }
235       };
236 
237   private static final PagedListResponseFactory<
238           AggregatedListDisksRequest, DiskAggregatedList, AggregatedListPagedResponse>
239       AGGREGATED_LIST_PAGE_STR_FACT =
240           new PagedListResponseFactory<
241               AggregatedListDisksRequest, DiskAggregatedList, AggregatedListPagedResponse>() {
242             @Override
243             public ApiFuture<AggregatedListPagedResponse> getFuturePagedResponse(
244                 UnaryCallable<AggregatedListDisksRequest, DiskAggregatedList> callable,
245                 AggregatedListDisksRequest request,
246                 ApiCallContext context,
247                 ApiFuture<DiskAggregatedList> futureResponse) {
248               PageContext<
249                       AggregatedListDisksRequest,
250                       DiskAggregatedList,
251                       Map.Entry<String, DisksScopedList>>
252                   pageContext =
253                       PageContext.create(callable, AGGREGATED_LIST_PAGE_STR_DESC, request, context);
254               return AggregatedListPagedResponse.createAsync(pageContext, futureResponse);
255             }
256           };
257 
258   private static final PagedListResponseFactory<ListDisksRequest, DiskList, ListPagedResponse>
259       LIST_PAGE_STR_FACT =
260           new PagedListResponseFactory<ListDisksRequest, DiskList, ListPagedResponse>() {
261             @Override
262             public ApiFuture<ListPagedResponse> getFuturePagedResponse(
263                 UnaryCallable<ListDisksRequest, DiskList> callable,
264                 ListDisksRequest request,
265                 ApiCallContext context,
266                 ApiFuture<DiskList> futureResponse) {
267               PageContext<ListDisksRequest, DiskList, Disk> pageContext =
268                   PageContext.create(callable, LIST_PAGE_STR_DESC, request, context);
269               return ListPagedResponse.createAsync(pageContext, futureResponse);
270             }
271           };
272 
273   /** Returns the object with the settings used for calls to addResourcePolicies. */
274   public UnaryCallSettings<AddResourcePoliciesDiskRequest, Operation>
addResourcePoliciesSettings()275       addResourcePoliciesSettings() {
276     return addResourcePoliciesSettings;
277   }
278 
279   /** Returns the object with the settings used for calls to addResourcePolicies. */
280   public OperationCallSettings<AddResourcePoliciesDiskRequest, Operation, Operation>
addResourcePoliciesOperationSettings()281       addResourcePoliciesOperationSettings() {
282     return addResourcePoliciesOperationSettings;
283   }
284 
285   /** Returns the object with the settings used for calls to aggregatedList. */
286   public PagedCallSettings<
287           AggregatedListDisksRequest, DiskAggregatedList, AggregatedListPagedResponse>
aggregatedListSettings()288       aggregatedListSettings() {
289     return aggregatedListSettings;
290   }
291 
292   /** Returns the object with the settings used for calls to createSnapshot. */
createSnapshotSettings()293   public UnaryCallSettings<CreateSnapshotDiskRequest, Operation> createSnapshotSettings() {
294     return createSnapshotSettings;
295   }
296 
297   /** Returns the object with the settings used for calls to createSnapshot. */
298   public OperationCallSettings<CreateSnapshotDiskRequest, Operation, Operation>
createSnapshotOperationSettings()299       createSnapshotOperationSettings() {
300     return createSnapshotOperationSettings;
301   }
302 
303   /** Returns the object with the settings used for calls to delete. */
deleteSettings()304   public UnaryCallSettings<DeleteDiskRequest, Operation> deleteSettings() {
305     return deleteSettings;
306   }
307 
308   /** Returns the object with the settings used for calls to delete. */
deleteOperationSettings()309   public OperationCallSettings<DeleteDiskRequest, Operation, Operation> deleteOperationSettings() {
310     return deleteOperationSettings;
311   }
312 
313   /** Returns the object with the settings used for calls to get. */
getSettings()314   public UnaryCallSettings<GetDiskRequest, Disk> getSettings() {
315     return getSettings;
316   }
317 
318   /** Returns the object with the settings used for calls to getIamPolicy. */
getIamPolicySettings()319   public UnaryCallSettings<GetIamPolicyDiskRequest, Policy> getIamPolicySettings() {
320     return getIamPolicySettings;
321   }
322 
323   /** Returns the object with the settings used for calls to insert. */
insertSettings()324   public UnaryCallSettings<InsertDiskRequest, Operation> insertSettings() {
325     return insertSettings;
326   }
327 
328   /** Returns the object with the settings used for calls to insert. */
insertOperationSettings()329   public OperationCallSettings<InsertDiskRequest, Operation, Operation> insertOperationSettings() {
330     return insertOperationSettings;
331   }
332 
333   /** Returns the object with the settings used for calls to list. */
listSettings()334   public PagedCallSettings<ListDisksRequest, DiskList, ListPagedResponse> listSettings() {
335     return listSettings;
336   }
337 
338   /** Returns the object with the settings used for calls to removeResourcePolicies. */
339   public UnaryCallSettings<RemoveResourcePoliciesDiskRequest, Operation>
removeResourcePoliciesSettings()340       removeResourcePoliciesSettings() {
341     return removeResourcePoliciesSettings;
342   }
343 
344   /** Returns the object with the settings used for calls to removeResourcePolicies. */
345   public OperationCallSettings<RemoveResourcePoliciesDiskRequest, Operation, Operation>
removeResourcePoliciesOperationSettings()346       removeResourcePoliciesOperationSettings() {
347     return removeResourcePoliciesOperationSettings;
348   }
349 
350   /** Returns the object with the settings used for calls to resize. */
resizeSettings()351   public UnaryCallSettings<ResizeDiskRequest, Operation> resizeSettings() {
352     return resizeSettings;
353   }
354 
355   /** Returns the object with the settings used for calls to resize. */
resizeOperationSettings()356   public OperationCallSettings<ResizeDiskRequest, Operation, Operation> resizeOperationSettings() {
357     return resizeOperationSettings;
358   }
359 
360   /** Returns the object with the settings used for calls to setIamPolicy. */
setIamPolicySettings()361   public UnaryCallSettings<SetIamPolicyDiskRequest, Policy> setIamPolicySettings() {
362     return setIamPolicySettings;
363   }
364 
365   /** Returns the object with the settings used for calls to setLabels. */
setLabelsSettings()366   public UnaryCallSettings<SetLabelsDiskRequest, Operation> setLabelsSettings() {
367     return setLabelsSettings;
368   }
369 
370   /** Returns the object with the settings used for calls to setLabels. */
371   public OperationCallSettings<SetLabelsDiskRequest, Operation, Operation>
setLabelsOperationSettings()372       setLabelsOperationSettings() {
373     return setLabelsOperationSettings;
374   }
375 
376   /** Returns the object with the settings used for calls to testIamPermissions. */
377   public UnaryCallSettings<TestIamPermissionsDiskRequest, TestPermissionsResponse>
testIamPermissionsSettings()378       testIamPermissionsSettings() {
379     return testIamPermissionsSettings;
380   }
381 
382   /** Returns the object with the settings used for calls to update. */
updateSettings()383   public UnaryCallSettings<UpdateDiskRequest, Operation> updateSettings() {
384     return updateSettings;
385   }
386 
387   /** Returns the object with the settings used for calls to update. */
updateOperationSettings()388   public OperationCallSettings<UpdateDiskRequest, Operation, Operation> updateOperationSettings() {
389     return updateOperationSettings;
390   }
391 
createStub()392   public DisksStub createStub() throws IOException {
393     if (getTransportChannelProvider()
394         .getTransportName()
395         .equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
396       return HttpJsonDisksStub.create(this);
397     }
398     throw new UnsupportedOperationException(
399         String.format(
400             "Transport not supported: %s", getTransportChannelProvider().getTransportName()));
401   }
402 
403   /** Returns a builder for the default ExecutorProvider for this service. */
defaultExecutorProviderBuilder()404   public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() {
405     return InstantiatingExecutorProvider.newBuilder();
406   }
407 
408   /** Returns the default service endpoint. */
getDefaultEndpoint()409   public static String getDefaultEndpoint() {
410     return "compute.googleapis.com:443";
411   }
412 
413   /** Returns the default mTLS service endpoint. */
getDefaultMtlsEndpoint()414   public static String getDefaultMtlsEndpoint() {
415     return "compute.mtls.googleapis.com:443";
416   }
417 
418   /** Returns the default service scopes. */
getDefaultServiceScopes()419   public static List<String> getDefaultServiceScopes() {
420     return DEFAULT_SERVICE_SCOPES;
421   }
422 
423   /** Returns a builder for the default credentials for this service. */
defaultCredentialsProviderBuilder()424   public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() {
425     return GoogleCredentialsProvider.newBuilder()
426         .setScopesToApply(DEFAULT_SERVICE_SCOPES)
427         .setUseJwtAccessWithScope(true);
428   }
429 
430   /** Returns a builder for the default ChannelProvider for this service. */
431   public static InstantiatingHttpJsonChannelProvider.Builder
defaultHttpJsonTransportProviderBuilder()432       defaultHttpJsonTransportProviderBuilder() {
433     return InstantiatingHttpJsonChannelProvider.newBuilder();
434   }
435 
defaultTransportChannelProvider()436   public static TransportChannelProvider defaultTransportChannelProvider() {
437     return defaultHttpJsonTransportProviderBuilder().build();
438   }
439 
440   @BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
defaultApiClientHeaderProviderBuilder()441   public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
442     return ApiClientHeaderProvider.newBuilder()
443         .setGeneratedLibToken("gapic", GaxProperties.getLibraryVersion(DisksStubSettings.class))
444         .setTransportToken(
445             GaxHttpJsonProperties.getHttpJsonTokenName(),
446             GaxHttpJsonProperties.getHttpJsonVersion());
447   }
448 
449   /** Returns a new builder for this class. */
newBuilder()450   public static Builder newBuilder() {
451     return Builder.createDefault();
452   }
453 
454   /** Returns a new builder for this class. */
newBuilder(ClientContext clientContext)455   public static Builder newBuilder(ClientContext clientContext) {
456     return new Builder(clientContext);
457   }
458 
459   /** Returns a builder containing all the values of this settings class. */
toBuilder()460   public Builder toBuilder() {
461     return new Builder(this);
462   }
463 
DisksStubSettings(Builder settingsBuilder)464   protected DisksStubSettings(Builder settingsBuilder) throws IOException {
465     super(settingsBuilder);
466 
467     addResourcePoliciesSettings = settingsBuilder.addResourcePoliciesSettings().build();
468     addResourcePoliciesOperationSettings =
469         settingsBuilder.addResourcePoliciesOperationSettings().build();
470     aggregatedListSettings = settingsBuilder.aggregatedListSettings().build();
471     createSnapshotSettings = settingsBuilder.createSnapshotSettings().build();
472     createSnapshotOperationSettings = settingsBuilder.createSnapshotOperationSettings().build();
473     deleteSettings = settingsBuilder.deleteSettings().build();
474     deleteOperationSettings = settingsBuilder.deleteOperationSettings().build();
475     getSettings = settingsBuilder.getSettings().build();
476     getIamPolicySettings = settingsBuilder.getIamPolicySettings().build();
477     insertSettings = settingsBuilder.insertSettings().build();
478     insertOperationSettings = settingsBuilder.insertOperationSettings().build();
479     listSettings = settingsBuilder.listSettings().build();
480     removeResourcePoliciesSettings = settingsBuilder.removeResourcePoliciesSettings().build();
481     removeResourcePoliciesOperationSettings =
482         settingsBuilder.removeResourcePoliciesOperationSettings().build();
483     resizeSettings = settingsBuilder.resizeSettings().build();
484     resizeOperationSettings = settingsBuilder.resizeOperationSettings().build();
485     setIamPolicySettings = settingsBuilder.setIamPolicySettings().build();
486     setLabelsSettings = settingsBuilder.setLabelsSettings().build();
487     setLabelsOperationSettings = settingsBuilder.setLabelsOperationSettings().build();
488     testIamPermissionsSettings = settingsBuilder.testIamPermissionsSettings().build();
489     updateSettings = settingsBuilder.updateSettings().build();
490     updateOperationSettings = settingsBuilder.updateOperationSettings().build();
491   }
492 
493   /** Builder for DisksStubSettings. */
494   public static class Builder extends StubSettings.Builder<DisksStubSettings, Builder> {
495     private final ImmutableList<UnaryCallSettings.Builder<?, ?>> unaryMethodSettingsBuilders;
496     private final UnaryCallSettings.Builder<AddResourcePoliciesDiskRequest, Operation>
497         addResourcePoliciesSettings;
498     private final OperationCallSettings.Builder<
499             AddResourcePoliciesDiskRequest, Operation, Operation>
500         addResourcePoliciesOperationSettings;
501     private final PagedCallSettings.Builder<
502             AggregatedListDisksRequest, DiskAggregatedList, AggregatedListPagedResponse>
503         aggregatedListSettings;
504     private final UnaryCallSettings.Builder<CreateSnapshotDiskRequest, Operation>
505         createSnapshotSettings;
506     private final OperationCallSettings.Builder<CreateSnapshotDiskRequest, Operation, Operation>
507         createSnapshotOperationSettings;
508     private final UnaryCallSettings.Builder<DeleteDiskRequest, Operation> deleteSettings;
509     private final OperationCallSettings.Builder<DeleteDiskRequest, Operation, Operation>
510         deleteOperationSettings;
511     private final UnaryCallSettings.Builder<GetDiskRequest, Disk> getSettings;
512     private final UnaryCallSettings.Builder<GetIamPolicyDiskRequest, Policy> getIamPolicySettings;
513     private final UnaryCallSettings.Builder<InsertDiskRequest, Operation> insertSettings;
514     private final OperationCallSettings.Builder<InsertDiskRequest, Operation, Operation>
515         insertOperationSettings;
516     private final PagedCallSettings.Builder<ListDisksRequest, DiskList, ListPagedResponse>
517         listSettings;
518     private final UnaryCallSettings.Builder<RemoveResourcePoliciesDiskRequest, Operation>
519         removeResourcePoliciesSettings;
520     private final OperationCallSettings.Builder<
521             RemoveResourcePoliciesDiskRequest, Operation, Operation>
522         removeResourcePoliciesOperationSettings;
523     private final UnaryCallSettings.Builder<ResizeDiskRequest, Operation> resizeSettings;
524     private final OperationCallSettings.Builder<ResizeDiskRequest, Operation, Operation>
525         resizeOperationSettings;
526     private final UnaryCallSettings.Builder<SetIamPolicyDiskRequest, Policy> setIamPolicySettings;
527     private final UnaryCallSettings.Builder<SetLabelsDiskRequest, Operation> setLabelsSettings;
528     private final OperationCallSettings.Builder<SetLabelsDiskRequest, Operation, Operation>
529         setLabelsOperationSettings;
530     private final UnaryCallSettings.Builder<TestIamPermissionsDiskRequest, TestPermissionsResponse>
531         testIamPermissionsSettings;
532     private final UnaryCallSettings.Builder<UpdateDiskRequest, Operation> updateSettings;
533     private final OperationCallSettings.Builder<UpdateDiskRequest, Operation, Operation>
534         updateOperationSettings;
535     private static final ImmutableMap<String, ImmutableSet<StatusCode.Code>>
536         RETRYABLE_CODE_DEFINITIONS;
537 
538     static {
539       ImmutableMap.Builder<String, ImmutableSet<StatusCode.Code>> definitions =
540           ImmutableMap.builder();
541       definitions.put(
542           "no_retry_1_codes", ImmutableSet.copyOf(Lists.<StatusCode.Code>newArrayList()));
543       definitions.put(
544           "retry_policy_0_codes",
545           ImmutableSet.copyOf(
546               Lists.<StatusCode.Code>newArrayList(
547                   StatusCode.Code.DEADLINE_EXCEEDED, StatusCode.Code.UNAVAILABLE)));
548       RETRYABLE_CODE_DEFINITIONS = definitions.build();
549     }
550 
551     private static final ImmutableMap<String, RetrySettings> RETRY_PARAM_DEFINITIONS;
552 
553     static {
554       ImmutableMap.Builder<String, RetrySettings> definitions = ImmutableMap.builder();
555       RetrySettings settings = null;
556       settings =
557           RetrySettings.newBuilder()
558               .setInitialRpcTimeout(Duration.ofMillis(600000L))
559               .setRpcTimeoutMultiplier(1.0)
560               .setMaxRpcTimeout(Duration.ofMillis(600000L))
561               .setTotalTimeout(Duration.ofMillis(600000L))
562               .build();
563       definitions.put("no_retry_1_params", settings);
564       settings =
565           RetrySettings.newBuilder()
566               .setInitialRetryDelay(Duration.ofMillis(100L))
567               .setRetryDelayMultiplier(1.3)
568               .setMaxRetryDelay(Duration.ofMillis(60000L))
569               .setInitialRpcTimeout(Duration.ofMillis(600000L))
570               .setRpcTimeoutMultiplier(1.0)
571               .setMaxRpcTimeout(Duration.ofMillis(600000L))
572               .setTotalTimeout(Duration.ofMillis(600000L))
573               .build();
574       definitions.put("retry_policy_0_params", settings);
575       RETRY_PARAM_DEFINITIONS = definitions.build();
576     }
577 
Builder()578     protected Builder() {
579       this(((ClientContext) null));
580     }
581 
Builder(ClientContext clientContext)582     protected Builder(ClientContext clientContext) {
583       super(clientContext);
584 
585       addResourcePoliciesSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
586       addResourcePoliciesOperationSettings = OperationCallSettings.newBuilder();
587       aggregatedListSettings = PagedCallSettings.newBuilder(AGGREGATED_LIST_PAGE_STR_FACT);
588       createSnapshotSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
589       createSnapshotOperationSettings = OperationCallSettings.newBuilder();
590       deleteSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
591       deleteOperationSettings = OperationCallSettings.newBuilder();
592       getSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
593       getIamPolicySettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
594       insertSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
595       insertOperationSettings = OperationCallSettings.newBuilder();
596       listSettings = PagedCallSettings.newBuilder(LIST_PAGE_STR_FACT);
597       removeResourcePoliciesSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
598       removeResourcePoliciesOperationSettings = OperationCallSettings.newBuilder();
599       resizeSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
600       resizeOperationSettings = OperationCallSettings.newBuilder();
601       setIamPolicySettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
602       setLabelsSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
603       setLabelsOperationSettings = OperationCallSettings.newBuilder();
604       testIamPermissionsSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
605       updateSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
606       updateOperationSettings = OperationCallSettings.newBuilder();
607 
608       unaryMethodSettingsBuilders =
609           ImmutableList.<UnaryCallSettings.Builder<?, ?>>of(
610               addResourcePoliciesSettings,
611               aggregatedListSettings,
612               createSnapshotSettings,
613               deleteSettings,
614               getSettings,
615               getIamPolicySettings,
616               insertSettings,
617               listSettings,
618               removeResourcePoliciesSettings,
619               resizeSettings,
620               setIamPolicySettings,
621               setLabelsSettings,
622               testIamPermissionsSettings,
623               updateSettings);
624       initDefaults(this);
625     }
626 
Builder(DisksStubSettings settings)627     protected Builder(DisksStubSettings settings) {
628       super(settings);
629 
630       addResourcePoliciesSettings = settings.addResourcePoliciesSettings.toBuilder();
631       addResourcePoliciesOperationSettings =
632           settings.addResourcePoliciesOperationSettings.toBuilder();
633       aggregatedListSettings = settings.aggregatedListSettings.toBuilder();
634       createSnapshotSettings = settings.createSnapshotSettings.toBuilder();
635       createSnapshotOperationSettings = settings.createSnapshotOperationSettings.toBuilder();
636       deleteSettings = settings.deleteSettings.toBuilder();
637       deleteOperationSettings = settings.deleteOperationSettings.toBuilder();
638       getSettings = settings.getSettings.toBuilder();
639       getIamPolicySettings = settings.getIamPolicySettings.toBuilder();
640       insertSettings = settings.insertSettings.toBuilder();
641       insertOperationSettings = settings.insertOperationSettings.toBuilder();
642       listSettings = settings.listSettings.toBuilder();
643       removeResourcePoliciesSettings = settings.removeResourcePoliciesSettings.toBuilder();
644       removeResourcePoliciesOperationSettings =
645           settings.removeResourcePoliciesOperationSettings.toBuilder();
646       resizeSettings = settings.resizeSettings.toBuilder();
647       resizeOperationSettings = settings.resizeOperationSettings.toBuilder();
648       setIamPolicySettings = settings.setIamPolicySettings.toBuilder();
649       setLabelsSettings = settings.setLabelsSettings.toBuilder();
650       setLabelsOperationSettings = settings.setLabelsOperationSettings.toBuilder();
651       testIamPermissionsSettings = settings.testIamPermissionsSettings.toBuilder();
652       updateSettings = settings.updateSettings.toBuilder();
653       updateOperationSettings = settings.updateOperationSettings.toBuilder();
654 
655       unaryMethodSettingsBuilders =
656           ImmutableList.<UnaryCallSettings.Builder<?, ?>>of(
657               addResourcePoliciesSettings,
658               aggregatedListSettings,
659               createSnapshotSettings,
660               deleteSettings,
661               getSettings,
662               getIamPolicySettings,
663               insertSettings,
664               listSettings,
665               removeResourcePoliciesSettings,
666               resizeSettings,
667               setIamPolicySettings,
668               setLabelsSettings,
669               testIamPermissionsSettings,
670               updateSettings);
671     }
672 
createDefault()673     private static Builder createDefault() {
674       Builder builder = new Builder(((ClientContext) null));
675 
676       builder.setTransportChannelProvider(defaultTransportChannelProvider());
677       builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
678       builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build());
679       builder.setEndpoint(getDefaultEndpoint());
680       builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
681       builder.setSwitchToMtlsEndpointAllowed(true);
682 
683       return initDefaults(builder);
684     }
685 
initDefaults(Builder builder)686     private static Builder initDefaults(Builder builder) {
687       builder
688           .addResourcePoliciesSettings()
689           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
690           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
691 
692       builder
693           .aggregatedListSettings()
694           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
695           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));
696 
697       builder
698           .createSnapshotSettings()
699           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
700           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
701 
702       builder
703           .deleteSettings()
704           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
705           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
706 
707       builder
708           .getSettings()
709           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
710           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));
711 
712       builder
713           .getIamPolicySettings()
714           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
715           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));
716 
717       builder
718           .insertSettings()
719           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
720           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
721 
722       builder
723           .listSettings()
724           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
725           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));
726 
727       builder
728           .removeResourcePoliciesSettings()
729           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
730           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
731 
732       builder
733           .resizeSettings()
734           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
735           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
736 
737       builder
738           .setIamPolicySettings()
739           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
740           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
741 
742       builder
743           .setLabelsSettings()
744           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
745           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
746 
747       builder
748           .testIamPermissionsSettings()
749           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
750           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
751 
752       builder
753           .updateSettings()
754           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
755           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
756 
757       builder
758           .addResourcePoliciesOperationSettings()
759           .setInitialCallSettings(
760               UnaryCallSettings
761                   .<AddResourcePoliciesDiskRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
762                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
763                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
764                   .build())
765           .setResponseTransformer(
766               ProtoOperationTransformers.ResponseTransformer.create(Operation.class))
767           .setMetadataTransformer(
768               ProtoOperationTransformers.MetadataTransformer.create(Operation.class))
769           .setPollingAlgorithm(
770               OperationTimedPollAlgorithm.create(
771                   RetrySettings.newBuilder()
772                       .setInitialRetryDelay(Duration.ofMillis(500L))
773                       .setRetryDelayMultiplier(1.5)
774                       .setMaxRetryDelay(Duration.ofMillis(20000L))
775                       .setInitialRpcTimeout(Duration.ZERO)
776                       .setRpcTimeoutMultiplier(1.0)
777                       .setMaxRpcTimeout(Duration.ZERO)
778                       .setTotalTimeout(Duration.ofMillis(600000L))
779                       .build()));
780 
781       builder
782           .createSnapshotOperationSettings()
783           .setInitialCallSettings(
784               UnaryCallSettings
785                   .<CreateSnapshotDiskRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
786                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
787                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
788                   .build())
789           .setResponseTransformer(
790               ProtoOperationTransformers.ResponseTransformer.create(Operation.class))
791           .setMetadataTransformer(
792               ProtoOperationTransformers.MetadataTransformer.create(Operation.class))
793           .setPollingAlgorithm(
794               OperationTimedPollAlgorithm.create(
795                   RetrySettings.newBuilder()
796                       .setInitialRetryDelay(Duration.ofMillis(500L))
797                       .setRetryDelayMultiplier(1.5)
798                       .setMaxRetryDelay(Duration.ofMillis(20000L))
799                       .setInitialRpcTimeout(Duration.ZERO)
800                       .setRpcTimeoutMultiplier(1.0)
801                       .setMaxRpcTimeout(Duration.ZERO)
802                       .setTotalTimeout(Duration.ofMillis(600000L))
803                       .build()));
804 
805       builder
806           .deleteOperationSettings()
807           .setInitialCallSettings(
808               UnaryCallSettings.<DeleteDiskRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
809                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
810                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
811                   .build())
812           .setResponseTransformer(
813               ProtoOperationTransformers.ResponseTransformer.create(Operation.class))
814           .setMetadataTransformer(
815               ProtoOperationTransformers.MetadataTransformer.create(Operation.class))
816           .setPollingAlgorithm(
817               OperationTimedPollAlgorithm.create(
818                   RetrySettings.newBuilder()
819                       .setInitialRetryDelay(Duration.ofMillis(500L))
820                       .setRetryDelayMultiplier(1.5)
821                       .setMaxRetryDelay(Duration.ofMillis(20000L))
822                       .setInitialRpcTimeout(Duration.ZERO)
823                       .setRpcTimeoutMultiplier(1.0)
824                       .setMaxRpcTimeout(Duration.ZERO)
825                       .setTotalTimeout(Duration.ofMillis(600000L))
826                       .build()));
827 
828       builder
829           .insertOperationSettings()
830           .setInitialCallSettings(
831               UnaryCallSettings.<InsertDiskRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
832                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
833                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
834                   .build())
835           .setResponseTransformer(
836               ProtoOperationTransformers.ResponseTransformer.create(Operation.class))
837           .setMetadataTransformer(
838               ProtoOperationTransformers.MetadataTransformer.create(Operation.class))
839           .setPollingAlgorithm(
840               OperationTimedPollAlgorithm.create(
841                   RetrySettings.newBuilder()
842                       .setInitialRetryDelay(Duration.ofMillis(500L))
843                       .setRetryDelayMultiplier(1.5)
844                       .setMaxRetryDelay(Duration.ofMillis(20000L))
845                       .setInitialRpcTimeout(Duration.ZERO)
846                       .setRpcTimeoutMultiplier(1.0)
847                       .setMaxRpcTimeout(Duration.ZERO)
848                       .setTotalTimeout(Duration.ofMillis(600000L))
849                       .build()));
850 
851       builder
852           .removeResourcePoliciesOperationSettings()
853           .setInitialCallSettings(
854               UnaryCallSettings
855                   .<RemoveResourcePoliciesDiskRequest, OperationSnapshot>
856                       newUnaryCallSettingsBuilder()
857                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
858                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
859                   .build())
860           .setResponseTransformer(
861               ProtoOperationTransformers.ResponseTransformer.create(Operation.class))
862           .setMetadataTransformer(
863               ProtoOperationTransformers.MetadataTransformer.create(Operation.class))
864           .setPollingAlgorithm(
865               OperationTimedPollAlgorithm.create(
866                   RetrySettings.newBuilder()
867                       .setInitialRetryDelay(Duration.ofMillis(500L))
868                       .setRetryDelayMultiplier(1.5)
869                       .setMaxRetryDelay(Duration.ofMillis(20000L))
870                       .setInitialRpcTimeout(Duration.ZERO)
871                       .setRpcTimeoutMultiplier(1.0)
872                       .setMaxRpcTimeout(Duration.ZERO)
873                       .setTotalTimeout(Duration.ofMillis(600000L))
874                       .build()));
875 
876       builder
877           .resizeOperationSettings()
878           .setInitialCallSettings(
879               UnaryCallSettings.<ResizeDiskRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
880                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
881                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
882                   .build())
883           .setResponseTransformer(
884               ProtoOperationTransformers.ResponseTransformer.create(Operation.class))
885           .setMetadataTransformer(
886               ProtoOperationTransformers.MetadataTransformer.create(Operation.class))
887           .setPollingAlgorithm(
888               OperationTimedPollAlgorithm.create(
889                   RetrySettings.newBuilder()
890                       .setInitialRetryDelay(Duration.ofMillis(500L))
891                       .setRetryDelayMultiplier(1.5)
892                       .setMaxRetryDelay(Duration.ofMillis(20000L))
893                       .setInitialRpcTimeout(Duration.ZERO)
894                       .setRpcTimeoutMultiplier(1.0)
895                       .setMaxRpcTimeout(Duration.ZERO)
896                       .setTotalTimeout(Duration.ofMillis(600000L))
897                       .build()));
898 
899       builder
900           .setLabelsOperationSettings()
901           .setInitialCallSettings(
902               UnaryCallSettings
903                   .<SetLabelsDiskRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
904                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
905                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
906                   .build())
907           .setResponseTransformer(
908               ProtoOperationTransformers.ResponseTransformer.create(Operation.class))
909           .setMetadataTransformer(
910               ProtoOperationTransformers.MetadataTransformer.create(Operation.class))
911           .setPollingAlgorithm(
912               OperationTimedPollAlgorithm.create(
913                   RetrySettings.newBuilder()
914                       .setInitialRetryDelay(Duration.ofMillis(500L))
915                       .setRetryDelayMultiplier(1.5)
916                       .setMaxRetryDelay(Duration.ofMillis(20000L))
917                       .setInitialRpcTimeout(Duration.ZERO)
918                       .setRpcTimeoutMultiplier(1.0)
919                       .setMaxRpcTimeout(Duration.ZERO)
920                       .setTotalTimeout(Duration.ofMillis(600000L))
921                       .build()));
922 
923       builder
924           .updateOperationSettings()
925           .setInitialCallSettings(
926               UnaryCallSettings.<UpdateDiskRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
927                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
928                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
929                   .build())
930           .setResponseTransformer(
931               ProtoOperationTransformers.ResponseTransformer.create(Operation.class))
932           .setMetadataTransformer(
933               ProtoOperationTransformers.MetadataTransformer.create(Operation.class))
934           .setPollingAlgorithm(
935               OperationTimedPollAlgorithm.create(
936                   RetrySettings.newBuilder()
937                       .setInitialRetryDelay(Duration.ofMillis(500L))
938                       .setRetryDelayMultiplier(1.5)
939                       .setMaxRetryDelay(Duration.ofMillis(20000L))
940                       .setInitialRpcTimeout(Duration.ZERO)
941                       .setRpcTimeoutMultiplier(1.0)
942                       .setMaxRpcTimeout(Duration.ZERO)
943                       .setTotalTimeout(Duration.ofMillis(600000L))
944                       .build()));
945 
946       return builder;
947     }
948 
949     /**
950      * Applies the given settings updater function to all of the unary API methods in this service.
951      *
952      * <p>Note: This method does not support applying settings to streaming methods.
953      */
applyToAllUnaryMethods( ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater)954     public Builder applyToAllUnaryMethods(
955         ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater) {
956       super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater);
957       return this;
958     }
959 
unaryMethodSettingsBuilders()960     public ImmutableList<UnaryCallSettings.Builder<?, ?>> unaryMethodSettingsBuilders() {
961       return unaryMethodSettingsBuilders;
962     }
963 
964     /** Returns the builder for the settings used for calls to addResourcePolicies. */
965     public UnaryCallSettings.Builder<AddResourcePoliciesDiskRequest, Operation>
addResourcePoliciesSettings()966         addResourcePoliciesSettings() {
967       return addResourcePoliciesSettings;
968     }
969 
970     /** Returns the builder for the settings used for calls to addResourcePolicies. */
971     @BetaApi(
972         "The surface for use by generated code is not stable yet and may change in the future.")
973     public OperationCallSettings.Builder<AddResourcePoliciesDiskRequest, Operation, Operation>
addResourcePoliciesOperationSettings()974         addResourcePoliciesOperationSettings() {
975       return addResourcePoliciesOperationSettings;
976     }
977 
978     /** Returns the builder for the settings used for calls to aggregatedList. */
979     public PagedCallSettings.Builder<
980             AggregatedListDisksRequest, DiskAggregatedList, AggregatedListPagedResponse>
aggregatedListSettings()981         aggregatedListSettings() {
982       return aggregatedListSettings;
983     }
984 
985     /** Returns the builder for the settings used for calls to createSnapshot. */
986     public UnaryCallSettings.Builder<CreateSnapshotDiskRequest, Operation>
createSnapshotSettings()987         createSnapshotSettings() {
988       return createSnapshotSettings;
989     }
990 
991     /** Returns the builder for the settings used for calls to createSnapshot. */
992     @BetaApi(
993         "The surface for use by generated code is not stable yet and may change in the future.")
994     public OperationCallSettings.Builder<CreateSnapshotDiskRequest, Operation, Operation>
createSnapshotOperationSettings()995         createSnapshotOperationSettings() {
996       return createSnapshotOperationSettings;
997     }
998 
999     /** Returns the builder for the settings used for calls to delete. */
deleteSettings()1000     public UnaryCallSettings.Builder<DeleteDiskRequest, Operation> deleteSettings() {
1001       return deleteSettings;
1002     }
1003 
1004     /** Returns the builder for the settings used for calls to delete. */
1005     @BetaApi(
1006         "The surface for use by generated code is not stable yet and may change in the future.")
1007     public OperationCallSettings.Builder<DeleteDiskRequest, Operation, Operation>
deleteOperationSettings()1008         deleteOperationSettings() {
1009       return deleteOperationSettings;
1010     }
1011 
1012     /** Returns the builder for the settings used for calls to get. */
getSettings()1013     public UnaryCallSettings.Builder<GetDiskRequest, Disk> getSettings() {
1014       return getSettings;
1015     }
1016 
1017     /** Returns the builder for the settings used for calls to getIamPolicy. */
getIamPolicySettings()1018     public UnaryCallSettings.Builder<GetIamPolicyDiskRequest, Policy> getIamPolicySettings() {
1019       return getIamPolicySettings;
1020     }
1021 
1022     /** Returns the builder for the settings used for calls to insert. */
insertSettings()1023     public UnaryCallSettings.Builder<InsertDiskRequest, Operation> insertSettings() {
1024       return insertSettings;
1025     }
1026 
1027     /** Returns the builder for the settings used for calls to insert. */
1028     @BetaApi(
1029         "The surface for use by generated code is not stable yet and may change in the future.")
1030     public OperationCallSettings.Builder<InsertDiskRequest, Operation, Operation>
insertOperationSettings()1031         insertOperationSettings() {
1032       return insertOperationSettings;
1033     }
1034 
1035     /** Returns the builder for the settings used for calls to list. */
listSettings()1036     public PagedCallSettings.Builder<ListDisksRequest, DiskList, ListPagedResponse> listSettings() {
1037       return listSettings;
1038     }
1039 
1040     /** Returns the builder for the settings used for calls to removeResourcePolicies. */
1041     public UnaryCallSettings.Builder<RemoveResourcePoliciesDiskRequest, Operation>
removeResourcePoliciesSettings()1042         removeResourcePoliciesSettings() {
1043       return removeResourcePoliciesSettings;
1044     }
1045 
1046     /** Returns the builder for the settings used for calls to removeResourcePolicies. */
1047     @BetaApi(
1048         "The surface for use by generated code is not stable yet and may change in the future.")
1049     public OperationCallSettings.Builder<RemoveResourcePoliciesDiskRequest, Operation, Operation>
removeResourcePoliciesOperationSettings()1050         removeResourcePoliciesOperationSettings() {
1051       return removeResourcePoliciesOperationSettings;
1052     }
1053 
1054     /** Returns the builder for the settings used for calls to resize. */
resizeSettings()1055     public UnaryCallSettings.Builder<ResizeDiskRequest, Operation> resizeSettings() {
1056       return resizeSettings;
1057     }
1058 
1059     /** Returns the builder for the settings used for calls to resize. */
1060     @BetaApi(
1061         "The surface for use by generated code is not stable yet and may change in the future.")
1062     public OperationCallSettings.Builder<ResizeDiskRequest, Operation, Operation>
resizeOperationSettings()1063         resizeOperationSettings() {
1064       return resizeOperationSettings;
1065     }
1066 
1067     /** Returns the builder for the settings used for calls to setIamPolicy. */
setIamPolicySettings()1068     public UnaryCallSettings.Builder<SetIamPolicyDiskRequest, Policy> setIamPolicySettings() {
1069       return setIamPolicySettings;
1070     }
1071 
1072     /** Returns the builder for the settings used for calls to setLabels. */
setLabelsSettings()1073     public UnaryCallSettings.Builder<SetLabelsDiskRequest, Operation> setLabelsSettings() {
1074       return setLabelsSettings;
1075     }
1076 
1077     /** Returns the builder for the settings used for calls to setLabels. */
1078     @BetaApi(
1079         "The surface for use by generated code is not stable yet and may change in the future.")
1080     public OperationCallSettings.Builder<SetLabelsDiskRequest, Operation, Operation>
setLabelsOperationSettings()1081         setLabelsOperationSettings() {
1082       return setLabelsOperationSettings;
1083     }
1084 
1085     /** Returns the builder for the settings used for calls to testIamPermissions. */
1086     public UnaryCallSettings.Builder<TestIamPermissionsDiskRequest, TestPermissionsResponse>
testIamPermissionsSettings()1087         testIamPermissionsSettings() {
1088       return testIamPermissionsSettings;
1089     }
1090 
1091     /** Returns the builder for the settings used for calls to update. */
updateSettings()1092     public UnaryCallSettings.Builder<UpdateDiskRequest, Operation> updateSettings() {
1093       return updateSettings;
1094     }
1095 
1096     /** Returns the builder for the settings used for calls to update. */
1097     @BetaApi(
1098         "The surface for use by generated code is not stable yet and may change in the future.")
1099     public OperationCallSettings.Builder<UpdateDiskRequest, Operation, Operation>
updateOperationSettings()1100         updateOperationSettings() {
1101       return updateOperationSettings;
1102     }
1103 
1104     @Override
build()1105     public DisksStubSettings build() throws IOException {
1106       return new DisksStubSettings(this);
1107     }
1108   }
1109 }
1110