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