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.AutoscalersClient.AggregatedListPagedResponse; 20 import static com.google.cloud.compute.v1.AutoscalersClient.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.AggregatedListAutoscalersRequest; 49 import com.google.cloud.compute.v1.Autoscaler; 50 import com.google.cloud.compute.v1.AutoscalerAggregatedList; 51 import com.google.cloud.compute.v1.AutoscalerList; 52 import com.google.cloud.compute.v1.AutoscalersScopedList; 53 import com.google.cloud.compute.v1.DeleteAutoscalerRequest; 54 import com.google.cloud.compute.v1.GetAutoscalerRequest; 55 import com.google.cloud.compute.v1.InsertAutoscalerRequest; 56 import com.google.cloud.compute.v1.ListAutoscalersRequest; 57 import com.google.cloud.compute.v1.Operation; 58 import com.google.cloud.compute.v1.PatchAutoscalerRequest; 59 import com.google.cloud.compute.v1.UpdateAutoscalerRequest; 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 AutoscalersStub}. 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 * AutoscalersStubSettings.Builder autoscalersSettingsBuilder = 95 * AutoscalersStubSettings.newBuilder(); 96 * autoscalersSettingsBuilder 97 * .getSettings() 98 * .setRetrySettings( 99 * autoscalersSettingsBuilder 100 * .getSettings() 101 * .getRetrySettings() 102 * .toBuilder() 103 * .setTotalTimeout(Duration.ofSeconds(30)) 104 * .build()); 105 * AutoscalersStubSettings autoscalersSettings = autoscalersSettingsBuilder.build(); 106 * }</pre> 107 */ 108 @Generated("by gapic-generator-java") 109 public class AutoscalersStubSettings extends StubSettings<AutoscalersStubSettings> { 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 AggregatedListAutoscalersRequest, AutoscalerAggregatedList, AggregatedListPagedResponse> 119 aggregatedListSettings; 120 private final UnaryCallSettings<DeleteAutoscalerRequest, Operation> deleteSettings; 121 private final OperationCallSettings<DeleteAutoscalerRequest, Operation, Operation> 122 deleteOperationSettings; 123 private final UnaryCallSettings<GetAutoscalerRequest, Autoscaler> getSettings; 124 private final UnaryCallSettings<InsertAutoscalerRequest, Operation> insertSettings; 125 private final OperationCallSettings<InsertAutoscalerRequest, Operation, Operation> 126 insertOperationSettings; 127 private final PagedCallSettings<ListAutoscalersRequest, AutoscalerList, ListPagedResponse> 128 listSettings; 129 private final UnaryCallSettings<PatchAutoscalerRequest, Operation> patchSettings; 130 private final OperationCallSettings<PatchAutoscalerRequest, Operation, Operation> 131 patchOperationSettings; 132 private final UnaryCallSettings<UpdateAutoscalerRequest, Operation> updateSettings; 133 private final OperationCallSettings<UpdateAutoscalerRequest, Operation, Operation> 134 updateOperationSettings; 135 136 private static final PagedListDescriptor< 137 AggregatedListAutoscalersRequest, 138 AutoscalerAggregatedList, 139 Map.Entry<String, AutoscalersScopedList>> 140 AGGREGATED_LIST_PAGE_STR_DESC = 141 new PagedListDescriptor< 142 AggregatedListAutoscalersRequest, 143 AutoscalerAggregatedList, 144 Map.Entry<String, AutoscalersScopedList>>() { 145 @Override 146 public String emptyToken() { 147 return ""; 148 } 149 150 @Override 151 public AggregatedListAutoscalersRequest injectToken( 152 AggregatedListAutoscalersRequest payload, String token) { 153 return AggregatedListAutoscalersRequest.newBuilder(payload) 154 .setPageToken(token) 155 .build(); 156 } 157 158 @Override 159 public AggregatedListAutoscalersRequest injectPageSize( 160 AggregatedListAutoscalersRequest payload, int pageSize) { 161 return AggregatedListAutoscalersRequest.newBuilder(payload) 162 .setMaxResults(pageSize) 163 .build(); 164 } 165 166 @Override 167 public Integer extractPageSize(AggregatedListAutoscalersRequest payload) { 168 return payload.getMaxResults(); 169 } 170 171 @Override 172 public String extractNextToken(AutoscalerAggregatedList payload) { 173 return payload.getNextPageToken(); 174 } 175 176 @Override 177 public Iterable<Map.Entry<String, AutoscalersScopedList>> extractResources( 178 AutoscalerAggregatedList payload) { 179 return payload.getItemsMap() == null 180 ? Collections.<Map.Entry<String, AutoscalersScopedList>>emptySet() 181 : payload.getItemsMap().entrySet(); 182 } 183 }; 184 185 private static final PagedListDescriptor<ListAutoscalersRequest, AutoscalerList, Autoscaler> 186 LIST_PAGE_STR_DESC = 187 new PagedListDescriptor<ListAutoscalersRequest, AutoscalerList, Autoscaler>() { 188 @Override 189 public String emptyToken() { 190 return ""; 191 } 192 193 @Override 194 public ListAutoscalersRequest injectToken( 195 ListAutoscalersRequest payload, String token) { 196 return ListAutoscalersRequest.newBuilder(payload).setPageToken(token).build(); 197 } 198 199 @Override 200 public ListAutoscalersRequest injectPageSize( 201 ListAutoscalersRequest payload, int pageSize) { 202 return ListAutoscalersRequest.newBuilder(payload).setMaxResults(pageSize).build(); 203 } 204 205 @Override 206 public Integer extractPageSize(ListAutoscalersRequest payload) { 207 return payload.getMaxResults(); 208 } 209 210 @Override 211 public String extractNextToken(AutoscalerList payload) { 212 return payload.getNextPageToken(); 213 } 214 215 @Override 216 public Iterable<Autoscaler> extractResources(AutoscalerList payload) { 217 return payload.getItemsList() == null 218 ? ImmutableList.<Autoscaler>of() 219 : payload.getItemsList(); 220 } 221 }; 222 223 private static final PagedListResponseFactory< 224 AggregatedListAutoscalersRequest, AutoscalerAggregatedList, AggregatedListPagedResponse> 225 AGGREGATED_LIST_PAGE_STR_FACT = 226 new PagedListResponseFactory< 227 AggregatedListAutoscalersRequest, 228 AutoscalerAggregatedList, 229 AggregatedListPagedResponse>() { 230 @Override 231 public ApiFuture<AggregatedListPagedResponse> getFuturePagedResponse( 232 UnaryCallable<AggregatedListAutoscalersRequest, AutoscalerAggregatedList> callable, 233 AggregatedListAutoscalersRequest request, 234 ApiCallContext context, 235 ApiFuture<AutoscalerAggregatedList> futureResponse) { 236 PageContext< 237 AggregatedListAutoscalersRequest, 238 AutoscalerAggregatedList, 239 Map.Entry<String, AutoscalersScopedList>> 240 pageContext = 241 PageContext.create(callable, AGGREGATED_LIST_PAGE_STR_DESC, request, context); 242 return AggregatedListPagedResponse.createAsync(pageContext, futureResponse); 243 } 244 }; 245 246 private static final PagedListResponseFactory< 247 ListAutoscalersRequest, AutoscalerList, ListPagedResponse> 248 LIST_PAGE_STR_FACT = 249 new PagedListResponseFactory< 250 ListAutoscalersRequest, AutoscalerList, ListPagedResponse>() { 251 @Override 252 public ApiFuture<ListPagedResponse> getFuturePagedResponse( 253 UnaryCallable<ListAutoscalersRequest, AutoscalerList> callable, 254 ListAutoscalersRequest request, 255 ApiCallContext context, 256 ApiFuture<AutoscalerList> futureResponse) { 257 PageContext<ListAutoscalersRequest, AutoscalerList, Autoscaler> pageContext = 258 PageContext.create(callable, LIST_PAGE_STR_DESC, request, context); 259 return ListPagedResponse.createAsync(pageContext, futureResponse); 260 } 261 }; 262 263 /** Returns the object with the settings used for calls to aggregatedList. */ 264 public PagedCallSettings< 265 AggregatedListAutoscalersRequest, AutoscalerAggregatedList, AggregatedListPagedResponse> aggregatedListSettings()266 aggregatedListSettings() { 267 return aggregatedListSettings; 268 } 269 270 /** Returns the object with the settings used for calls to delete. */ deleteSettings()271 public UnaryCallSettings<DeleteAutoscalerRequest, Operation> deleteSettings() { 272 return deleteSettings; 273 } 274 275 /** Returns the object with the settings used for calls to delete. */ 276 public OperationCallSettings<DeleteAutoscalerRequest, Operation, Operation> deleteOperationSettings()277 deleteOperationSettings() { 278 return deleteOperationSettings; 279 } 280 281 /** Returns the object with the settings used for calls to get. */ getSettings()282 public UnaryCallSettings<GetAutoscalerRequest, Autoscaler> getSettings() { 283 return getSettings; 284 } 285 286 /** Returns the object with the settings used for calls to insert. */ insertSettings()287 public UnaryCallSettings<InsertAutoscalerRequest, Operation> insertSettings() { 288 return insertSettings; 289 } 290 291 /** Returns the object with the settings used for calls to insert. */ 292 public OperationCallSettings<InsertAutoscalerRequest, Operation, Operation> insertOperationSettings()293 insertOperationSettings() { 294 return insertOperationSettings; 295 } 296 297 /** Returns the object with the settings used for calls to list. */ 298 public PagedCallSettings<ListAutoscalersRequest, AutoscalerList, ListPagedResponse> listSettings()299 listSettings() { 300 return listSettings; 301 } 302 303 /** Returns the object with the settings used for calls to patch. */ patchSettings()304 public UnaryCallSettings<PatchAutoscalerRequest, Operation> patchSettings() { 305 return patchSettings; 306 } 307 308 /** Returns the object with the settings used for calls to patch. */ 309 public OperationCallSettings<PatchAutoscalerRequest, Operation, Operation> patchOperationSettings()310 patchOperationSettings() { 311 return patchOperationSettings; 312 } 313 314 /** Returns the object with the settings used for calls to update. */ updateSettings()315 public UnaryCallSettings<UpdateAutoscalerRequest, Operation> updateSettings() { 316 return updateSettings; 317 } 318 319 /** Returns the object with the settings used for calls to update. */ 320 public OperationCallSettings<UpdateAutoscalerRequest, Operation, Operation> updateOperationSettings()321 updateOperationSettings() { 322 return updateOperationSettings; 323 } 324 createStub()325 public AutoscalersStub createStub() throws IOException { 326 if (getTransportChannelProvider() 327 .getTransportName() 328 .equals(HttpJsonTransportChannel.getHttpJsonTransportName())) { 329 return HttpJsonAutoscalersStub.create(this); 330 } 331 throw new UnsupportedOperationException( 332 String.format( 333 "Transport not supported: %s", getTransportChannelProvider().getTransportName())); 334 } 335 336 /** Returns a builder for the default ExecutorProvider for this service. */ defaultExecutorProviderBuilder()337 public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { 338 return InstantiatingExecutorProvider.newBuilder(); 339 } 340 341 /** Returns the default service endpoint. */ getDefaultEndpoint()342 public static String getDefaultEndpoint() { 343 return "compute.googleapis.com:443"; 344 } 345 346 /** Returns the default mTLS service endpoint. */ getDefaultMtlsEndpoint()347 public static String getDefaultMtlsEndpoint() { 348 return "compute.mtls.googleapis.com:443"; 349 } 350 351 /** Returns the default service scopes. */ getDefaultServiceScopes()352 public static List<String> getDefaultServiceScopes() { 353 return DEFAULT_SERVICE_SCOPES; 354 } 355 356 /** Returns a builder for the default credentials for this service. */ defaultCredentialsProviderBuilder()357 public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { 358 return GoogleCredentialsProvider.newBuilder() 359 .setScopesToApply(DEFAULT_SERVICE_SCOPES) 360 .setUseJwtAccessWithScope(true); 361 } 362 363 /** Returns a builder for the default ChannelProvider for this service. */ 364 public static InstantiatingHttpJsonChannelProvider.Builder defaultHttpJsonTransportProviderBuilder()365 defaultHttpJsonTransportProviderBuilder() { 366 return InstantiatingHttpJsonChannelProvider.newBuilder(); 367 } 368 defaultTransportChannelProvider()369 public static TransportChannelProvider defaultTransportChannelProvider() { 370 return defaultHttpJsonTransportProviderBuilder().build(); 371 } 372 373 @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") defaultApiClientHeaderProviderBuilder()374 public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { 375 return ApiClientHeaderProvider.newBuilder() 376 .setGeneratedLibToken( 377 "gapic", GaxProperties.getLibraryVersion(AutoscalersStubSettings.class)) 378 .setTransportToken( 379 GaxHttpJsonProperties.getHttpJsonTokenName(), 380 GaxHttpJsonProperties.getHttpJsonVersion()); 381 } 382 383 /** Returns a new builder for this class. */ newBuilder()384 public static Builder newBuilder() { 385 return Builder.createDefault(); 386 } 387 388 /** Returns a new builder for this class. */ newBuilder(ClientContext clientContext)389 public static Builder newBuilder(ClientContext clientContext) { 390 return new Builder(clientContext); 391 } 392 393 /** Returns a builder containing all the values of this settings class. */ toBuilder()394 public Builder toBuilder() { 395 return new Builder(this); 396 } 397 AutoscalersStubSettings(Builder settingsBuilder)398 protected AutoscalersStubSettings(Builder settingsBuilder) throws IOException { 399 super(settingsBuilder); 400 401 aggregatedListSettings = settingsBuilder.aggregatedListSettings().build(); 402 deleteSettings = settingsBuilder.deleteSettings().build(); 403 deleteOperationSettings = settingsBuilder.deleteOperationSettings().build(); 404 getSettings = settingsBuilder.getSettings().build(); 405 insertSettings = settingsBuilder.insertSettings().build(); 406 insertOperationSettings = settingsBuilder.insertOperationSettings().build(); 407 listSettings = settingsBuilder.listSettings().build(); 408 patchSettings = settingsBuilder.patchSettings().build(); 409 patchOperationSettings = settingsBuilder.patchOperationSettings().build(); 410 updateSettings = settingsBuilder.updateSettings().build(); 411 updateOperationSettings = settingsBuilder.updateOperationSettings().build(); 412 } 413 414 /** Builder for AutoscalersStubSettings. */ 415 public static class Builder extends StubSettings.Builder<AutoscalersStubSettings, Builder> { 416 private final ImmutableList<UnaryCallSettings.Builder<?, ?>> unaryMethodSettingsBuilders; 417 private final PagedCallSettings.Builder< 418 AggregatedListAutoscalersRequest, AutoscalerAggregatedList, AggregatedListPagedResponse> 419 aggregatedListSettings; 420 private final UnaryCallSettings.Builder<DeleteAutoscalerRequest, Operation> deleteSettings; 421 private final OperationCallSettings.Builder<DeleteAutoscalerRequest, Operation, Operation> 422 deleteOperationSettings; 423 private final UnaryCallSettings.Builder<GetAutoscalerRequest, Autoscaler> getSettings; 424 private final UnaryCallSettings.Builder<InsertAutoscalerRequest, Operation> insertSettings; 425 private final OperationCallSettings.Builder<InsertAutoscalerRequest, Operation, Operation> 426 insertOperationSettings; 427 private final PagedCallSettings.Builder< 428 ListAutoscalersRequest, AutoscalerList, ListPagedResponse> 429 listSettings; 430 private final UnaryCallSettings.Builder<PatchAutoscalerRequest, Operation> patchSettings; 431 private final OperationCallSettings.Builder<PatchAutoscalerRequest, Operation, Operation> 432 patchOperationSettings; 433 private final UnaryCallSettings.Builder<UpdateAutoscalerRequest, Operation> updateSettings; 434 private final OperationCallSettings.Builder<UpdateAutoscalerRequest, Operation, Operation> 435 updateOperationSettings; 436 private static final ImmutableMap<String, ImmutableSet<StatusCode.Code>> 437 RETRYABLE_CODE_DEFINITIONS; 438 439 static { 440 ImmutableMap.Builder<String, ImmutableSet<StatusCode.Code>> definitions = 441 ImmutableMap.builder(); 442 definitions.put( 443 "retry_policy_0_codes", 444 ImmutableSet.copyOf( 445 Lists.<StatusCode.Code>newArrayList( 446 StatusCode.Code.DEADLINE_EXCEEDED, StatusCode.Code.UNAVAILABLE))); 447 definitions.put( 448 "no_retry_1_codes", ImmutableSet.copyOf(Lists.<StatusCode.Code>newArrayList())); 449 RETRYABLE_CODE_DEFINITIONS = definitions.build(); 450 } 451 452 private static final ImmutableMap<String, RetrySettings> RETRY_PARAM_DEFINITIONS; 453 454 static { 455 ImmutableMap.Builder<String, RetrySettings> definitions = ImmutableMap.builder(); 456 RetrySettings settings = null; 457 settings = 458 RetrySettings.newBuilder() 459 .setInitialRetryDelay(Duration.ofMillis(100L)) 460 .setRetryDelayMultiplier(1.3) 461 .setMaxRetryDelay(Duration.ofMillis(60000L)) 462 .setInitialRpcTimeout(Duration.ofMillis(600000L)) 463 .setRpcTimeoutMultiplier(1.0) 464 .setMaxRpcTimeout(Duration.ofMillis(600000L)) 465 .setTotalTimeout(Duration.ofMillis(600000L)) 466 .build(); 467 definitions.put("retry_policy_0_params", settings); 468 settings = 469 RetrySettings.newBuilder() 470 .setInitialRpcTimeout(Duration.ofMillis(600000L)) 471 .setRpcTimeoutMultiplier(1.0) 472 .setMaxRpcTimeout(Duration.ofMillis(600000L)) 473 .setTotalTimeout(Duration.ofMillis(600000L)) 474 .build(); 475 definitions.put("no_retry_1_params", settings); 476 RETRY_PARAM_DEFINITIONS = definitions.build(); 477 } 478 Builder()479 protected Builder() { 480 this(((ClientContext) null)); 481 } 482 Builder(ClientContext clientContext)483 protected Builder(ClientContext clientContext) { 484 super(clientContext); 485 486 aggregatedListSettings = PagedCallSettings.newBuilder(AGGREGATED_LIST_PAGE_STR_FACT); 487 deleteSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 488 deleteOperationSettings = OperationCallSettings.newBuilder(); 489 getSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 490 insertSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 491 insertOperationSettings = OperationCallSettings.newBuilder(); 492 listSettings = PagedCallSettings.newBuilder(LIST_PAGE_STR_FACT); 493 patchSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 494 patchOperationSettings = OperationCallSettings.newBuilder(); 495 updateSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 496 updateOperationSettings = OperationCallSettings.newBuilder(); 497 498 unaryMethodSettingsBuilders = 499 ImmutableList.<UnaryCallSettings.Builder<?, ?>>of( 500 aggregatedListSettings, 501 deleteSettings, 502 getSettings, 503 insertSettings, 504 listSettings, 505 patchSettings, 506 updateSettings); 507 initDefaults(this); 508 } 509 Builder(AutoscalersStubSettings settings)510 protected Builder(AutoscalersStubSettings settings) { 511 super(settings); 512 513 aggregatedListSettings = settings.aggregatedListSettings.toBuilder(); 514 deleteSettings = settings.deleteSettings.toBuilder(); 515 deleteOperationSettings = settings.deleteOperationSettings.toBuilder(); 516 getSettings = settings.getSettings.toBuilder(); 517 insertSettings = settings.insertSettings.toBuilder(); 518 insertOperationSettings = settings.insertOperationSettings.toBuilder(); 519 listSettings = settings.listSettings.toBuilder(); 520 patchSettings = settings.patchSettings.toBuilder(); 521 patchOperationSettings = settings.patchOperationSettings.toBuilder(); 522 updateSettings = settings.updateSettings.toBuilder(); 523 updateOperationSettings = settings.updateOperationSettings.toBuilder(); 524 525 unaryMethodSettingsBuilders = 526 ImmutableList.<UnaryCallSettings.Builder<?, ?>>of( 527 aggregatedListSettings, 528 deleteSettings, 529 getSettings, 530 insertSettings, 531 listSettings, 532 patchSettings, 533 updateSettings); 534 } 535 createDefault()536 private static Builder createDefault() { 537 Builder builder = new Builder(((ClientContext) null)); 538 539 builder.setTransportChannelProvider(defaultTransportChannelProvider()); 540 builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); 541 builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build()); 542 builder.setEndpoint(getDefaultEndpoint()); 543 builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); 544 builder.setSwitchToMtlsEndpointAllowed(true); 545 546 return initDefaults(builder); 547 } 548 initDefaults(Builder builder)549 private static Builder initDefaults(Builder builder) { 550 builder 551 .aggregatedListSettings() 552 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 553 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 554 555 builder 556 .deleteSettings() 557 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 558 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 559 560 builder 561 .getSettings() 562 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 563 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 564 565 builder 566 .insertSettings() 567 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 568 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 569 570 builder 571 .listSettings() 572 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 573 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 574 575 builder 576 .patchSettings() 577 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 578 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 579 580 builder 581 .updateSettings() 582 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 583 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 584 585 builder 586 .deleteOperationSettings() 587 .setInitialCallSettings( 588 UnaryCallSettings 589 .<DeleteAutoscalerRequest, OperationSnapshot>newUnaryCallSettingsBuilder() 590 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 591 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 592 .build()) 593 .setResponseTransformer( 594 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 595 .setMetadataTransformer( 596 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 597 .setPollingAlgorithm( 598 OperationTimedPollAlgorithm.create( 599 RetrySettings.newBuilder() 600 .setInitialRetryDelay(Duration.ofMillis(500L)) 601 .setRetryDelayMultiplier(1.5) 602 .setMaxRetryDelay(Duration.ofMillis(20000L)) 603 .setInitialRpcTimeout(Duration.ZERO) 604 .setRpcTimeoutMultiplier(1.0) 605 .setMaxRpcTimeout(Duration.ZERO) 606 .setTotalTimeout(Duration.ofMillis(600000L)) 607 .build())); 608 609 builder 610 .insertOperationSettings() 611 .setInitialCallSettings( 612 UnaryCallSettings 613 .<InsertAutoscalerRequest, OperationSnapshot>newUnaryCallSettingsBuilder() 614 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 615 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 616 .build()) 617 .setResponseTransformer( 618 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 619 .setMetadataTransformer( 620 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 621 .setPollingAlgorithm( 622 OperationTimedPollAlgorithm.create( 623 RetrySettings.newBuilder() 624 .setInitialRetryDelay(Duration.ofMillis(500L)) 625 .setRetryDelayMultiplier(1.5) 626 .setMaxRetryDelay(Duration.ofMillis(20000L)) 627 .setInitialRpcTimeout(Duration.ZERO) 628 .setRpcTimeoutMultiplier(1.0) 629 .setMaxRpcTimeout(Duration.ZERO) 630 .setTotalTimeout(Duration.ofMillis(600000L)) 631 .build())); 632 633 builder 634 .patchOperationSettings() 635 .setInitialCallSettings( 636 UnaryCallSettings 637 .<PatchAutoscalerRequest, OperationSnapshot>newUnaryCallSettingsBuilder() 638 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 639 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 640 .build()) 641 .setResponseTransformer( 642 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 643 .setMetadataTransformer( 644 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 645 .setPollingAlgorithm( 646 OperationTimedPollAlgorithm.create( 647 RetrySettings.newBuilder() 648 .setInitialRetryDelay(Duration.ofMillis(500L)) 649 .setRetryDelayMultiplier(1.5) 650 .setMaxRetryDelay(Duration.ofMillis(20000L)) 651 .setInitialRpcTimeout(Duration.ZERO) 652 .setRpcTimeoutMultiplier(1.0) 653 .setMaxRpcTimeout(Duration.ZERO) 654 .setTotalTimeout(Duration.ofMillis(600000L)) 655 .build())); 656 657 builder 658 .updateOperationSettings() 659 .setInitialCallSettings( 660 UnaryCallSettings 661 .<UpdateAutoscalerRequest, OperationSnapshot>newUnaryCallSettingsBuilder() 662 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 663 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 664 .build()) 665 .setResponseTransformer( 666 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 667 .setMetadataTransformer( 668 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 669 .setPollingAlgorithm( 670 OperationTimedPollAlgorithm.create( 671 RetrySettings.newBuilder() 672 .setInitialRetryDelay(Duration.ofMillis(500L)) 673 .setRetryDelayMultiplier(1.5) 674 .setMaxRetryDelay(Duration.ofMillis(20000L)) 675 .setInitialRpcTimeout(Duration.ZERO) 676 .setRpcTimeoutMultiplier(1.0) 677 .setMaxRpcTimeout(Duration.ZERO) 678 .setTotalTimeout(Duration.ofMillis(600000L)) 679 .build())); 680 681 return builder; 682 } 683 684 /** 685 * Applies the given settings updater function to all of the unary API methods in this service. 686 * 687 * <p>Note: This method does not support applying settings to streaming methods. 688 */ applyToAllUnaryMethods( ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater)689 public Builder applyToAllUnaryMethods( 690 ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater) { 691 super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater); 692 return this; 693 } 694 unaryMethodSettingsBuilders()695 public ImmutableList<UnaryCallSettings.Builder<?, ?>> unaryMethodSettingsBuilders() { 696 return unaryMethodSettingsBuilders; 697 } 698 699 /** Returns the builder for the settings used for calls to aggregatedList. */ 700 public PagedCallSettings.Builder< 701 AggregatedListAutoscalersRequest, AutoscalerAggregatedList, AggregatedListPagedResponse> aggregatedListSettings()702 aggregatedListSettings() { 703 return aggregatedListSettings; 704 } 705 706 /** Returns the builder for the settings used for calls to delete. */ deleteSettings()707 public UnaryCallSettings.Builder<DeleteAutoscalerRequest, Operation> deleteSettings() { 708 return deleteSettings; 709 } 710 711 /** Returns the builder for the settings used for calls to delete. */ 712 @BetaApi( 713 "The surface for use by generated code is not stable yet and may change in the future.") 714 public OperationCallSettings.Builder<DeleteAutoscalerRequest, Operation, Operation> deleteOperationSettings()715 deleteOperationSettings() { 716 return deleteOperationSettings; 717 } 718 719 /** Returns the builder for the settings used for calls to get. */ getSettings()720 public UnaryCallSettings.Builder<GetAutoscalerRequest, Autoscaler> getSettings() { 721 return getSettings; 722 } 723 724 /** Returns the builder for the settings used for calls to insert. */ insertSettings()725 public UnaryCallSettings.Builder<InsertAutoscalerRequest, Operation> insertSettings() { 726 return insertSettings; 727 } 728 729 /** Returns the builder for the settings used for calls to insert. */ 730 @BetaApi( 731 "The surface for use by generated code is not stable yet and may change in the future.") 732 public OperationCallSettings.Builder<InsertAutoscalerRequest, Operation, Operation> insertOperationSettings()733 insertOperationSettings() { 734 return insertOperationSettings; 735 } 736 737 /** Returns the builder for the settings used for calls to list. */ 738 public PagedCallSettings.Builder<ListAutoscalersRequest, AutoscalerList, ListPagedResponse> listSettings()739 listSettings() { 740 return listSettings; 741 } 742 743 /** Returns the builder for the settings used for calls to patch. */ patchSettings()744 public UnaryCallSettings.Builder<PatchAutoscalerRequest, Operation> patchSettings() { 745 return patchSettings; 746 } 747 748 /** Returns the builder for the settings used for calls to patch. */ 749 @BetaApi( 750 "The surface for use by generated code is not stable yet and may change in the future.") 751 public OperationCallSettings.Builder<PatchAutoscalerRequest, Operation, Operation> patchOperationSettings()752 patchOperationSettings() { 753 return patchOperationSettings; 754 } 755 756 /** Returns the builder for the settings used for calls to update. */ updateSettings()757 public UnaryCallSettings.Builder<UpdateAutoscalerRequest, Operation> updateSettings() { 758 return updateSettings; 759 } 760 761 /** Returns the builder for the settings used for calls to update. */ 762 @BetaApi( 763 "The surface for use by generated code is not stable yet and may change in the future.") 764 public OperationCallSettings.Builder<UpdateAutoscalerRequest, Operation, Operation> updateOperationSettings()765 updateOperationSettings() { 766 return updateOperationSettings; 767 } 768 769 @Override build()770 public AutoscalersStubSettings build() throws IOException { 771 return new AutoscalersStubSettings(this); 772 } 773 } 774 } 775