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