1 /* 2 * Copyright 2022 Google LLC 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * https://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.google.cloud.compute.v1.stub; 18 19 import static com.google.cloud.compute.v1.HealthChecksClient.AggregatedListPagedResponse; 20 import static com.google.cloud.compute.v1.HealthChecksClient.ListPagedResponse; 21 22 import com.google.api.core.ApiFunction; 23 import com.google.api.core.ApiFuture; 24 import com.google.api.core.BetaApi; 25 import com.google.api.gax.core.GaxProperties; 26 import com.google.api.gax.core.GoogleCredentialsProvider; 27 import com.google.api.gax.core.InstantiatingExecutorProvider; 28 import com.google.api.gax.httpjson.GaxHttpJsonProperties; 29 import com.google.api.gax.httpjson.HttpJsonTransportChannel; 30 import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider; 31 import com.google.api.gax.httpjson.ProtoOperationTransformers; 32 import com.google.api.gax.longrunning.OperationSnapshot; 33 import com.google.api.gax.longrunning.OperationTimedPollAlgorithm; 34 import com.google.api.gax.retrying.RetrySettings; 35 import com.google.api.gax.rpc.ApiCallContext; 36 import com.google.api.gax.rpc.ApiClientHeaderProvider; 37 import com.google.api.gax.rpc.ClientContext; 38 import com.google.api.gax.rpc.OperationCallSettings; 39 import com.google.api.gax.rpc.PageContext; 40 import com.google.api.gax.rpc.PagedCallSettings; 41 import com.google.api.gax.rpc.PagedListDescriptor; 42 import com.google.api.gax.rpc.PagedListResponseFactory; 43 import com.google.api.gax.rpc.StatusCode; 44 import com.google.api.gax.rpc.StubSettings; 45 import com.google.api.gax.rpc.TransportChannelProvider; 46 import com.google.api.gax.rpc.UnaryCallSettings; 47 import com.google.api.gax.rpc.UnaryCallable; 48 import com.google.cloud.compute.v1.AggregatedListHealthChecksRequest; 49 import com.google.cloud.compute.v1.DeleteHealthCheckRequest; 50 import com.google.cloud.compute.v1.GetHealthCheckRequest; 51 import com.google.cloud.compute.v1.HealthCheck; 52 import com.google.cloud.compute.v1.HealthCheckList; 53 import com.google.cloud.compute.v1.HealthChecksAggregatedList; 54 import com.google.cloud.compute.v1.HealthChecksScopedList; 55 import com.google.cloud.compute.v1.InsertHealthCheckRequest; 56 import com.google.cloud.compute.v1.ListHealthChecksRequest; 57 import com.google.cloud.compute.v1.Operation; 58 import com.google.cloud.compute.v1.PatchHealthCheckRequest; 59 import com.google.cloud.compute.v1.UpdateHealthCheckRequest; 60 import com.google.common.collect.ImmutableList; 61 import com.google.common.collect.ImmutableMap; 62 import com.google.common.collect.ImmutableSet; 63 import com.google.common.collect.Lists; 64 import java.io.IOException; 65 import java.util.Collections; 66 import java.util.List; 67 import java.util.Map; 68 import javax.annotation.Generated; 69 import org.threeten.bp.Duration; 70 71 // AUTO-GENERATED DOCUMENTATION AND CLASS. 72 /** 73 * Settings class to configure an instance of {@link HealthChecksStub}. 74 * 75 * <p>The default instance has everything set to sensible defaults: 76 * 77 * <ul> 78 * <li>The default service address (compute.googleapis.com) and default port (443) are used. 79 * <li>Credentials are acquired automatically through Application Default Credentials. 80 * <li>Retries are configured for idempotent methods but not for non-idempotent methods. 81 * </ul> 82 * 83 * <p>The builder of this class is recursive, so contained classes are themselves builders. When 84 * build() is called, the tree of builders is called to create the complete settings object. 85 * 86 * <p>For example, to set the total timeout of get to 30 seconds: 87 * 88 * <pre>{@code 89 * // This snippet has been automatically generated and should be regarded as a code template only. 90 * // It will require modifications to work: 91 * // - It may require correct/in-range values for request initialization. 92 * // - It may require specifying regional endpoints when creating the service client as shown in 93 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 94 * HealthChecksStubSettings.Builder healthChecksSettingsBuilder = 95 * HealthChecksStubSettings.newBuilder(); 96 * healthChecksSettingsBuilder 97 * .getSettings() 98 * .setRetrySettings( 99 * healthChecksSettingsBuilder 100 * .getSettings() 101 * .getRetrySettings() 102 * .toBuilder() 103 * .setTotalTimeout(Duration.ofSeconds(30)) 104 * .build()); 105 * HealthChecksStubSettings healthChecksSettings = healthChecksSettingsBuilder.build(); 106 * }</pre> 107 */ 108 @Generated("by gapic-generator-java") 109 public class HealthChecksStubSettings extends StubSettings<HealthChecksStubSettings> { 110 /** The default scopes of the service. */ 111 private static final ImmutableList<String> DEFAULT_SERVICE_SCOPES = 112 ImmutableList.<String>builder() 113 .add("https://www.googleapis.com/auth/compute") 114 .add("https://www.googleapis.com/auth/cloud-platform") 115 .build(); 116 117 private final PagedCallSettings< 118 AggregatedListHealthChecksRequest, 119 HealthChecksAggregatedList, 120 AggregatedListPagedResponse> 121 aggregatedListSettings; 122 private final UnaryCallSettings<DeleteHealthCheckRequest, Operation> deleteSettings; 123 private final OperationCallSettings<DeleteHealthCheckRequest, Operation, Operation> 124 deleteOperationSettings; 125 private final UnaryCallSettings<GetHealthCheckRequest, HealthCheck> getSettings; 126 private final UnaryCallSettings<InsertHealthCheckRequest, Operation> insertSettings; 127 private final OperationCallSettings<InsertHealthCheckRequest, Operation, Operation> 128 insertOperationSettings; 129 private final PagedCallSettings<ListHealthChecksRequest, HealthCheckList, ListPagedResponse> 130 listSettings; 131 private final UnaryCallSettings<PatchHealthCheckRequest, Operation> patchSettings; 132 private final OperationCallSettings<PatchHealthCheckRequest, Operation, Operation> 133 patchOperationSettings; 134 private final UnaryCallSettings<UpdateHealthCheckRequest, Operation> updateSettings; 135 private final OperationCallSettings<UpdateHealthCheckRequest, Operation, Operation> 136 updateOperationSettings; 137 138 private static final PagedListDescriptor< 139 AggregatedListHealthChecksRequest, 140 HealthChecksAggregatedList, 141 Map.Entry<String, HealthChecksScopedList>> 142 AGGREGATED_LIST_PAGE_STR_DESC = 143 new PagedListDescriptor< 144 AggregatedListHealthChecksRequest, 145 HealthChecksAggregatedList, 146 Map.Entry<String, HealthChecksScopedList>>() { 147 @Override 148 public String emptyToken() { 149 return ""; 150 } 151 152 @Override 153 public AggregatedListHealthChecksRequest injectToken( 154 AggregatedListHealthChecksRequest payload, String token) { 155 return AggregatedListHealthChecksRequest.newBuilder(payload) 156 .setPageToken(token) 157 .build(); 158 } 159 160 @Override 161 public AggregatedListHealthChecksRequest injectPageSize( 162 AggregatedListHealthChecksRequest payload, int pageSize) { 163 return AggregatedListHealthChecksRequest.newBuilder(payload) 164 .setMaxResults(pageSize) 165 .build(); 166 } 167 168 @Override 169 public Integer extractPageSize(AggregatedListHealthChecksRequest payload) { 170 return payload.getMaxResults(); 171 } 172 173 @Override 174 public String extractNextToken(HealthChecksAggregatedList payload) { 175 return payload.getNextPageToken(); 176 } 177 178 @Override 179 public Iterable<Map.Entry<String, HealthChecksScopedList>> extractResources( 180 HealthChecksAggregatedList payload) { 181 return payload.getItemsMap() == null 182 ? Collections.<Map.Entry<String, HealthChecksScopedList>>emptySet() 183 : payload.getItemsMap().entrySet(); 184 } 185 }; 186 187 private static final PagedListDescriptor<ListHealthChecksRequest, HealthCheckList, HealthCheck> 188 LIST_PAGE_STR_DESC = 189 new PagedListDescriptor<ListHealthChecksRequest, HealthCheckList, HealthCheck>() { 190 @Override 191 public String emptyToken() { 192 return ""; 193 } 194 195 @Override 196 public ListHealthChecksRequest injectToken( 197 ListHealthChecksRequest payload, String token) { 198 return ListHealthChecksRequest.newBuilder(payload).setPageToken(token).build(); 199 } 200 201 @Override 202 public ListHealthChecksRequest injectPageSize( 203 ListHealthChecksRequest payload, int pageSize) { 204 return ListHealthChecksRequest.newBuilder(payload).setMaxResults(pageSize).build(); 205 } 206 207 @Override 208 public Integer extractPageSize(ListHealthChecksRequest payload) { 209 return payload.getMaxResults(); 210 } 211 212 @Override 213 public String extractNextToken(HealthCheckList payload) { 214 return payload.getNextPageToken(); 215 } 216 217 @Override 218 public Iterable<HealthCheck> extractResources(HealthCheckList payload) { 219 return payload.getItemsList() == null 220 ? ImmutableList.<HealthCheck>of() 221 : payload.getItemsList(); 222 } 223 }; 224 225 private static final PagedListResponseFactory< 226 AggregatedListHealthChecksRequest, 227 HealthChecksAggregatedList, 228 AggregatedListPagedResponse> 229 AGGREGATED_LIST_PAGE_STR_FACT = 230 new PagedListResponseFactory< 231 AggregatedListHealthChecksRequest, 232 HealthChecksAggregatedList, 233 AggregatedListPagedResponse>() { 234 @Override 235 public ApiFuture<AggregatedListPagedResponse> getFuturePagedResponse( 236 UnaryCallable<AggregatedListHealthChecksRequest, HealthChecksAggregatedList> 237 callable, 238 AggregatedListHealthChecksRequest request, 239 ApiCallContext context, 240 ApiFuture<HealthChecksAggregatedList> futureResponse) { 241 PageContext< 242 AggregatedListHealthChecksRequest, 243 HealthChecksAggregatedList, 244 Map.Entry<String, HealthChecksScopedList>> 245 pageContext = 246 PageContext.create(callable, AGGREGATED_LIST_PAGE_STR_DESC, request, context); 247 return AggregatedListPagedResponse.createAsync(pageContext, futureResponse); 248 } 249 }; 250 251 private static final PagedListResponseFactory< 252 ListHealthChecksRequest, HealthCheckList, ListPagedResponse> 253 LIST_PAGE_STR_FACT = 254 new PagedListResponseFactory< 255 ListHealthChecksRequest, HealthCheckList, ListPagedResponse>() { 256 @Override 257 public ApiFuture<ListPagedResponse> getFuturePagedResponse( 258 UnaryCallable<ListHealthChecksRequest, HealthCheckList> callable, 259 ListHealthChecksRequest request, 260 ApiCallContext context, 261 ApiFuture<HealthCheckList> futureResponse) { 262 PageContext<ListHealthChecksRequest, HealthCheckList, HealthCheck> pageContext = 263 PageContext.create(callable, LIST_PAGE_STR_DESC, request, context); 264 return ListPagedResponse.createAsync(pageContext, futureResponse); 265 } 266 }; 267 268 /** Returns the object with the settings used for calls to aggregatedList. */ 269 public PagedCallSettings< 270 AggregatedListHealthChecksRequest, 271 HealthChecksAggregatedList, 272 AggregatedListPagedResponse> aggregatedListSettings()273 aggregatedListSettings() { 274 return aggregatedListSettings; 275 } 276 277 /** Returns the object with the settings used for calls to delete. */ deleteSettings()278 public UnaryCallSettings<DeleteHealthCheckRequest, Operation> deleteSettings() { 279 return deleteSettings; 280 } 281 282 /** Returns the object with the settings used for calls to delete. */ 283 public OperationCallSettings<DeleteHealthCheckRequest, Operation, Operation> deleteOperationSettings()284 deleteOperationSettings() { 285 return deleteOperationSettings; 286 } 287 288 /** Returns the object with the settings used for calls to get. */ getSettings()289 public UnaryCallSettings<GetHealthCheckRequest, HealthCheck> getSettings() { 290 return getSettings; 291 } 292 293 /** Returns the object with the settings used for calls to insert. */ insertSettings()294 public UnaryCallSettings<InsertHealthCheckRequest, Operation> insertSettings() { 295 return insertSettings; 296 } 297 298 /** Returns the object with the settings used for calls to insert. */ 299 public OperationCallSettings<InsertHealthCheckRequest, Operation, Operation> insertOperationSettings()300 insertOperationSettings() { 301 return insertOperationSettings; 302 } 303 304 /** Returns the object with the settings used for calls to list. */ 305 public PagedCallSettings<ListHealthChecksRequest, HealthCheckList, ListPagedResponse> listSettings()306 listSettings() { 307 return listSettings; 308 } 309 310 /** Returns the object with the settings used for calls to patch. */ patchSettings()311 public UnaryCallSettings<PatchHealthCheckRequest, Operation> patchSettings() { 312 return patchSettings; 313 } 314 315 /** Returns the object with the settings used for calls to patch. */ 316 public OperationCallSettings<PatchHealthCheckRequest, Operation, Operation> patchOperationSettings()317 patchOperationSettings() { 318 return patchOperationSettings; 319 } 320 321 /** Returns the object with the settings used for calls to update. */ updateSettings()322 public UnaryCallSettings<UpdateHealthCheckRequest, Operation> updateSettings() { 323 return updateSettings; 324 } 325 326 /** Returns the object with the settings used for calls to update. */ 327 public OperationCallSettings<UpdateHealthCheckRequest, Operation, Operation> updateOperationSettings()328 updateOperationSettings() { 329 return updateOperationSettings; 330 } 331 createStub()332 public HealthChecksStub createStub() throws IOException { 333 if (getTransportChannelProvider() 334 .getTransportName() 335 .equals(HttpJsonTransportChannel.getHttpJsonTransportName())) { 336 return HttpJsonHealthChecksStub.create(this); 337 } 338 throw new UnsupportedOperationException( 339 String.format( 340 "Transport not supported: %s", getTransportChannelProvider().getTransportName())); 341 } 342 343 /** Returns a builder for the default ExecutorProvider for this service. */ defaultExecutorProviderBuilder()344 public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { 345 return InstantiatingExecutorProvider.newBuilder(); 346 } 347 348 /** Returns the default service endpoint. */ getDefaultEndpoint()349 public static String getDefaultEndpoint() { 350 return "compute.googleapis.com:443"; 351 } 352 353 /** Returns the default mTLS service endpoint. */ getDefaultMtlsEndpoint()354 public static String getDefaultMtlsEndpoint() { 355 return "compute.mtls.googleapis.com:443"; 356 } 357 358 /** Returns the default service scopes. */ getDefaultServiceScopes()359 public static List<String> getDefaultServiceScopes() { 360 return DEFAULT_SERVICE_SCOPES; 361 } 362 363 /** Returns a builder for the default credentials for this service. */ defaultCredentialsProviderBuilder()364 public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { 365 return GoogleCredentialsProvider.newBuilder() 366 .setScopesToApply(DEFAULT_SERVICE_SCOPES) 367 .setUseJwtAccessWithScope(true); 368 } 369 370 /** Returns a builder for the default ChannelProvider for this service. */ 371 public static InstantiatingHttpJsonChannelProvider.Builder defaultHttpJsonTransportProviderBuilder()372 defaultHttpJsonTransportProviderBuilder() { 373 return InstantiatingHttpJsonChannelProvider.newBuilder(); 374 } 375 defaultTransportChannelProvider()376 public static TransportChannelProvider defaultTransportChannelProvider() { 377 return defaultHttpJsonTransportProviderBuilder().build(); 378 } 379 380 @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") defaultApiClientHeaderProviderBuilder()381 public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { 382 return ApiClientHeaderProvider.newBuilder() 383 .setGeneratedLibToken( 384 "gapic", GaxProperties.getLibraryVersion(HealthChecksStubSettings.class)) 385 .setTransportToken( 386 GaxHttpJsonProperties.getHttpJsonTokenName(), 387 GaxHttpJsonProperties.getHttpJsonVersion()); 388 } 389 390 /** Returns a new builder for this class. */ newBuilder()391 public static Builder newBuilder() { 392 return Builder.createDefault(); 393 } 394 395 /** Returns a new builder for this class. */ newBuilder(ClientContext clientContext)396 public static Builder newBuilder(ClientContext clientContext) { 397 return new Builder(clientContext); 398 } 399 400 /** Returns a builder containing all the values of this settings class. */ toBuilder()401 public Builder toBuilder() { 402 return new Builder(this); 403 } 404 HealthChecksStubSettings(Builder settingsBuilder)405 protected HealthChecksStubSettings(Builder settingsBuilder) throws IOException { 406 super(settingsBuilder); 407 408 aggregatedListSettings = settingsBuilder.aggregatedListSettings().build(); 409 deleteSettings = settingsBuilder.deleteSettings().build(); 410 deleteOperationSettings = settingsBuilder.deleteOperationSettings().build(); 411 getSettings = settingsBuilder.getSettings().build(); 412 insertSettings = settingsBuilder.insertSettings().build(); 413 insertOperationSettings = settingsBuilder.insertOperationSettings().build(); 414 listSettings = settingsBuilder.listSettings().build(); 415 patchSettings = settingsBuilder.patchSettings().build(); 416 patchOperationSettings = settingsBuilder.patchOperationSettings().build(); 417 updateSettings = settingsBuilder.updateSettings().build(); 418 updateOperationSettings = settingsBuilder.updateOperationSettings().build(); 419 } 420 421 /** Builder for HealthChecksStubSettings. */ 422 public static class Builder extends StubSettings.Builder<HealthChecksStubSettings, Builder> { 423 private final ImmutableList<UnaryCallSettings.Builder<?, ?>> unaryMethodSettingsBuilders; 424 private final PagedCallSettings.Builder< 425 AggregatedListHealthChecksRequest, 426 HealthChecksAggregatedList, 427 AggregatedListPagedResponse> 428 aggregatedListSettings; 429 private final UnaryCallSettings.Builder<DeleteHealthCheckRequest, Operation> deleteSettings; 430 private final OperationCallSettings.Builder<DeleteHealthCheckRequest, Operation, Operation> 431 deleteOperationSettings; 432 private final UnaryCallSettings.Builder<GetHealthCheckRequest, HealthCheck> getSettings; 433 private final UnaryCallSettings.Builder<InsertHealthCheckRequest, Operation> insertSettings; 434 private final OperationCallSettings.Builder<InsertHealthCheckRequest, Operation, Operation> 435 insertOperationSettings; 436 private final PagedCallSettings.Builder< 437 ListHealthChecksRequest, HealthCheckList, ListPagedResponse> 438 listSettings; 439 private final UnaryCallSettings.Builder<PatchHealthCheckRequest, Operation> patchSettings; 440 private final OperationCallSettings.Builder<PatchHealthCheckRequest, Operation, Operation> 441 patchOperationSettings; 442 private final UnaryCallSettings.Builder<UpdateHealthCheckRequest, Operation> updateSettings; 443 private final OperationCallSettings.Builder<UpdateHealthCheckRequest, Operation, Operation> 444 updateOperationSettings; 445 private static final ImmutableMap<String, ImmutableSet<StatusCode.Code>> 446 RETRYABLE_CODE_DEFINITIONS; 447 448 static { 449 ImmutableMap.Builder<String, ImmutableSet<StatusCode.Code>> definitions = 450 ImmutableMap.builder(); 451 definitions.put( 452 "retry_policy_0_codes", 453 ImmutableSet.copyOf( 454 Lists.<StatusCode.Code>newArrayList( 455 StatusCode.Code.DEADLINE_EXCEEDED, StatusCode.Code.UNAVAILABLE))); 456 definitions.put( 457 "no_retry_1_codes", ImmutableSet.copyOf(Lists.<StatusCode.Code>newArrayList())); 458 RETRYABLE_CODE_DEFINITIONS = definitions.build(); 459 } 460 461 private static final ImmutableMap<String, RetrySettings> RETRY_PARAM_DEFINITIONS; 462 463 static { 464 ImmutableMap.Builder<String, RetrySettings> definitions = ImmutableMap.builder(); 465 RetrySettings settings = null; 466 settings = 467 RetrySettings.newBuilder() 468 .setInitialRetryDelay(Duration.ofMillis(100L)) 469 .setRetryDelayMultiplier(1.3) 470 .setMaxRetryDelay(Duration.ofMillis(60000L)) 471 .setInitialRpcTimeout(Duration.ofMillis(600000L)) 472 .setRpcTimeoutMultiplier(1.0) 473 .setMaxRpcTimeout(Duration.ofMillis(600000L)) 474 .setTotalTimeout(Duration.ofMillis(600000L)) 475 .build(); 476 definitions.put("retry_policy_0_params", settings); 477 settings = 478 RetrySettings.newBuilder() 479 .setInitialRpcTimeout(Duration.ofMillis(600000L)) 480 .setRpcTimeoutMultiplier(1.0) 481 .setMaxRpcTimeout(Duration.ofMillis(600000L)) 482 .setTotalTimeout(Duration.ofMillis(600000L)) 483 .build(); 484 definitions.put("no_retry_1_params", settings); 485 RETRY_PARAM_DEFINITIONS = definitions.build(); 486 } 487 Builder()488 protected Builder() { 489 this(((ClientContext) null)); 490 } 491 Builder(ClientContext clientContext)492 protected Builder(ClientContext clientContext) { 493 super(clientContext); 494 495 aggregatedListSettings = PagedCallSettings.newBuilder(AGGREGATED_LIST_PAGE_STR_FACT); 496 deleteSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 497 deleteOperationSettings = OperationCallSettings.newBuilder(); 498 getSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 499 insertSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 500 insertOperationSettings = OperationCallSettings.newBuilder(); 501 listSettings = PagedCallSettings.newBuilder(LIST_PAGE_STR_FACT); 502 patchSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 503 patchOperationSettings = OperationCallSettings.newBuilder(); 504 updateSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 505 updateOperationSettings = OperationCallSettings.newBuilder(); 506 507 unaryMethodSettingsBuilders = 508 ImmutableList.<UnaryCallSettings.Builder<?, ?>>of( 509 aggregatedListSettings, 510 deleteSettings, 511 getSettings, 512 insertSettings, 513 listSettings, 514 patchSettings, 515 updateSettings); 516 initDefaults(this); 517 } 518 Builder(HealthChecksStubSettings settings)519 protected Builder(HealthChecksStubSettings settings) { 520 super(settings); 521 522 aggregatedListSettings = settings.aggregatedListSettings.toBuilder(); 523 deleteSettings = settings.deleteSettings.toBuilder(); 524 deleteOperationSettings = settings.deleteOperationSettings.toBuilder(); 525 getSettings = settings.getSettings.toBuilder(); 526 insertSettings = settings.insertSettings.toBuilder(); 527 insertOperationSettings = settings.insertOperationSettings.toBuilder(); 528 listSettings = settings.listSettings.toBuilder(); 529 patchSettings = settings.patchSettings.toBuilder(); 530 patchOperationSettings = settings.patchOperationSettings.toBuilder(); 531 updateSettings = settings.updateSettings.toBuilder(); 532 updateOperationSettings = settings.updateOperationSettings.toBuilder(); 533 534 unaryMethodSettingsBuilders = 535 ImmutableList.<UnaryCallSettings.Builder<?, ?>>of( 536 aggregatedListSettings, 537 deleteSettings, 538 getSettings, 539 insertSettings, 540 listSettings, 541 patchSettings, 542 updateSettings); 543 } 544 createDefault()545 private static Builder createDefault() { 546 Builder builder = new Builder(((ClientContext) null)); 547 548 builder.setTransportChannelProvider(defaultTransportChannelProvider()); 549 builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); 550 builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build()); 551 builder.setEndpoint(getDefaultEndpoint()); 552 builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); 553 builder.setSwitchToMtlsEndpointAllowed(true); 554 555 return initDefaults(builder); 556 } 557 initDefaults(Builder builder)558 private static Builder initDefaults(Builder builder) { 559 builder 560 .aggregatedListSettings() 561 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 562 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 563 564 builder 565 .deleteSettings() 566 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 567 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 568 569 builder 570 .getSettings() 571 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 572 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 573 574 builder 575 .insertSettings() 576 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 577 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 578 579 builder 580 .listSettings() 581 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 582 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 583 584 builder 585 .patchSettings() 586 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 587 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 588 589 builder 590 .updateSettings() 591 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 592 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 593 594 builder 595 .deleteOperationSettings() 596 .setInitialCallSettings( 597 UnaryCallSettings 598 .<DeleteHealthCheckRequest, OperationSnapshot>newUnaryCallSettingsBuilder() 599 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 600 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 601 .build()) 602 .setResponseTransformer( 603 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 604 .setMetadataTransformer( 605 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 606 .setPollingAlgorithm( 607 OperationTimedPollAlgorithm.create( 608 RetrySettings.newBuilder() 609 .setInitialRetryDelay(Duration.ofMillis(500L)) 610 .setRetryDelayMultiplier(1.5) 611 .setMaxRetryDelay(Duration.ofMillis(20000L)) 612 .setInitialRpcTimeout(Duration.ZERO) 613 .setRpcTimeoutMultiplier(1.0) 614 .setMaxRpcTimeout(Duration.ZERO) 615 .setTotalTimeout(Duration.ofMillis(600000L)) 616 .build())); 617 618 builder 619 .insertOperationSettings() 620 .setInitialCallSettings( 621 UnaryCallSettings 622 .<InsertHealthCheckRequest, OperationSnapshot>newUnaryCallSettingsBuilder() 623 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 624 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 625 .build()) 626 .setResponseTransformer( 627 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 628 .setMetadataTransformer( 629 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 630 .setPollingAlgorithm( 631 OperationTimedPollAlgorithm.create( 632 RetrySettings.newBuilder() 633 .setInitialRetryDelay(Duration.ofMillis(500L)) 634 .setRetryDelayMultiplier(1.5) 635 .setMaxRetryDelay(Duration.ofMillis(20000L)) 636 .setInitialRpcTimeout(Duration.ZERO) 637 .setRpcTimeoutMultiplier(1.0) 638 .setMaxRpcTimeout(Duration.ZERO) 639 .setTotalTimeout(Duration.ofMillis(600000L)) 640 .build())); 641 642 builder 643 .patchOperationSettings() 644 .setInitialCallSettings( 645 UnaryCallSettings 646 .<PatchHealthCheckRequest, OperationSnapshot>newUnaryCallSettingsBuilder() 647 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 648 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 649 .build()) 650 .setResponseTransformer( 651 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 652 .setMetadataTransformer( 653 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 654 .setPollingAlgorithm( 655 OperationTimedPollAlgorithm.create( 656 RetrySettings.newBuilder() 657 .setInitialRetryDelay(Duration.ofMillis(500L)) 658 .setRetryDelayMultiplier(1.5) 659 .setMaxRetryDelay(Duration.ofMillis(20000L)) 660 .setInitialRpcTimeout(Duration.ZERO) 661 .setRpcTimeoutMultiplier(1.0) 662 .setMaxRpcTimeout(Duration.ZERO) 663 .setTotalTimeout(Duration.ofMillis(600000L)) 664 .build())); 665 666 builder 667 .updateOperationSettings() 668 .setInitialCallSettings( 669 UnaryCallSettings 670 .<UpdateHealthCheckRequest, OperationSnapshot>newUnaryCallSettingsBuilder() 671 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 672 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 673 .build()) 674 .setResponseTransformer( 675 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 676 .setMetadataTransformer( 677 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 678 .setPollingAlgorithm( 679 OperationTimedPollAlgorithm.create( 680 RetrySettings.newBuilder() 681 .setInitialRetryDelay(Duration.ofMillis(500L)) 682 .setRetryDelayMultiplier(1.5) 683 .setMaxRetryDelay(Duration.ofMillis(20000L)) 684 .setInitialRpcTimeout(Duration.ZERO) 685 .setRpcTimeoutMultiplier(1.0) 686 .setMaxRpcTimeout(Duration.ZERO) 687 .setTotalTimeout(Duration.ofMillis(600000L)) 688 .build())); 689 690 return builder; 691 } 692 693 /** 694 * Applies the given settings updater function to all of the unary API methods in this service. 695 * 696 * <p>Note: This method does not support applying settings to streaming methods. 697 */ applyToAllUnaryMethods( ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater)698 public Builder applyToAllUnaryMethods( 699 ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater) { 700 super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater); 701 return this; 702 } 703 unaryMethodSettingsBuilders()704 public ImmutableList<UnaryCallSettings.Builder<?, ?>> unaryMethodSettingsBuilders() { 705 return unaryMethodSettingsBuilders; 706 } 707 708 /** Returns the builder for the settings used for calls to aggregatedList. */ 709 public PagedCallSettings.Builder< 710 AggregatedListHealthChecksRequest, 711 HealthChecksAggregatedList, 712 AggregatedListPagedResponse> aggregatedListSettings()713 aggregatedListSettings() { 714 return aggregatedListSettings; 715 } 716 717 /** Returns the builder for the settings used for calls to delete. */ deleteSettings()718 public UnaryCallSettings.Builder<DeleteHealthCheckRequest, Operation> deleteSettings() { 719 return deleteSettings; 720 } 721 722 /** Returns the builder for the settings used for calls to delete. */ 723 @BetaApi( 724 "The surface for use by generated code is not stable yet and may change in the future.") 725 public OperationCallSettings.Builder<DeleteHealthCheckRequest, Operation, Operation> deleteOperationSettings()726 deleteOperationSettings() { 727 return deleteOperationSettings; 728 } 729 730 /** Returns the builder for the settings used for calls to get. */ getSettings()731 public UnaryCallSettings.Builder<GetHealthCheckRequest, HealthCheck> getSettings() { 732 return getSettings; 733 } 734 735 /** Returns the builder for the settings used for calls to insert. */ insertSettings()736 public UnaryCallSettings.Builder<InsertHealthCheckRequest, Operation> insertSettings() { 737 return insertSettings; 738 } 739 740 /** Returns the builder for the settings used for calls to insert. */ 741 @BetaApi( 742 "The surface for use by generated code is not stable yet and may change in the future.") 743 public OperationCallSettings.Builder<InsertHealthCheckRequest, Operation, Operation> insertOperationSettings()744 insertOperationSettings() { 745 return insertOperationSettings; 746 } 747 748 /** Returns the builder for the settings used for calls to list. */ 749 public PagedCallSettings.Builder<ListHealthChecksRequest, HealthCheckList, ListPagedResponse> listSettings()750 listSettings() { 751 return listSettings; 752 } 753 754 /** Returns the builder for the settings used for calls to patch. */ patchSettings()755 public UnaryCallSettings.Builder<PatchHealthCheckRequest, Operation> patchSettings() { 756 return patchSettings; 757 } 758 759 /** Returns the builder for the settings used for calls to patch. */ 760 @BetaApi( 761 "The surface for use by generated code is not stable yet and may change in the future.") 762 public OperationCallSettings.Builder<PatchHealthCheckRequest, Operation, Operation> patchOperationSettings()763 patchOperationSettings() { 764 return patchOperationSettings; 765 } 766 767 /** Returns the builder for the settings used for calls to update. */ updateSettings()768 public UnaryCallSettings.Builder<UpdateHealthCheckRequest, Operation> updateSettings() { 769 return updateSettings; 770 } 771 772 /** Returns the builder for the settings used for calls to update. */ 773 @BetaApi( 774 "The surface for use by generated code is not stable yet and may change in the future.") 775 public OperationCallSettings.Builder<UpdateHealthCheckRequest, Operation, Operation> updateOperationSettings()776 updateOperationSettings() { 777 return updateOperationSettings; 778 } 779 780 @Override build()781 public HealthChecksStubSettings build() throws IOException { 782 return new HealthChecksStubSettings(this); 783 } 784 } 785 } 786