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