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