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