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.BackendBucketsClient.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.AddSignedUrlKeyBackendBucketRequest; 48 import com.google.cloud.compute.v1.BackendBucket; 49 import com.google.cloud.compute.v1.BackendBucketList; 50 import com.google.cloud.compute.v1.DeleteBackendBucketRequest; 51 import com.google.cloud.compute.v1.DeleteSignedUrlKeyBackendBucketRequest; 52 import com.google.cloud.compute.v1.GetBackendBucketRequest; 53 import com.google.cloud.compute.v1.InsertBackendBucketRequest; 54 import com.google.cloud.compute.v1.ListBackendBucketsRequest; 55 import com.google.cloud.compute.v1.Operation; 56 import com.google.cloud.compute.v1.PatchBackendBucketRequest; 57 import com.google.cloud.compute.v1.SetEdgeSecurityPolicyBackendBucketRequest; 58 import com.google.cloud.compute.v1.UpdateBackendBucketRequest; 59 import com.google.common.collect.ImmutableList; 60 import com.google.common.collect.ImmutableMap; 61 import com.google.common.collect.ImmutableSet; 62 import com.google.common.collect.Lists; 63 import java.io.IOException; 64 import java.util.List; 65 import javax.annotation.Generated; 66 import org.threeten.bp.Duration; 67 68 // AUTO-GENERATED DOCUMENTATION AND CLASS. 69 /** 70 * Settings class to configure an instance of {@link BackendBucketsStub}. 71 * 72 * <p>The default instance has everything set to sensible defaults: 73 * 74 * <ul> 75 * <li>The default service address (compute.googleapis.com) and default port (443) are used. 76 * <li>Credentials are acquired automatically through Application Default Credentials. 77 * <li>Retries are configured for idempotent methods but not for non-idempotent methods. 78 * </ul> 79 * 80 * <p>The builder of this class is recursive, so contained classes are themselves builders. When 81 * build() is called, the tree of builders is called to create the complete settings object. 82 * 83 * <p>For example, to set the total timeout of get to 30 seconds: 84 * 85 * <pre>{@code 86 * // This snippet has been automatically generated and should be regarded as a code template only. 87 * // It will require modifications to work: 88 * // - It may require correct/in-range values for request initialization. 89 * // - It may require specifying regional endpoints when creating the service client as shown in 90 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 91 * BackendBucketsStubSettings.Builder backendBucketsSettingsBuilder = 92 * BackendBucketsStubSettings.newBuilder(); 93 * backendBucketsSettingsBuilder 94 * .getSettings() 95 * .setRetrySettings( 96 * backendBucketsSettingsBuilder 97 * .getSettings() 98 * .getRetrySettings() 99 * .toBuilder() 100 * .setTotalTimeout(Duration.ofSeconds(30)) 101 * .build()); 102 * BackendBucketsStubSettings backendBucketsSettings = backendBucketsSettingsBuilder.build(); 103 * }</pre> 104 */ 105 @Generated("by gapic-generator-java") 106 public class BackendBucketsStubSettings extends StubSettings<BackendBucketsStubSettings> { 107 /** The default scopes of the service. */ 108 private static final ImmutableList<String> DEFAULT_SERVICE_SCOPES = 109 ImmutableList.<String>builder() 110 .add("https://www.googleapis.com/auth/compute") 111 .add("https://www.googleapis.com/auth/cloud-platform") 112 .build(); 113 114 private final UnaryCallSettings<AddSignedUrlKeyBackendBucketRequest, Operation> 115 addSignedUrlKeySettings; 116 private final OperationCallSettings<AddSignedUrlKeyBackendBucketRequest, Operation, Operation> 117 addSignedUrlKeyOperationSettings; 118 private final UnaryCallSettings<DeleteBackendBucketRequest, Operation> deleteSettings; 119 private final OperationCallSettings<DeleteBackendBucketRequest, Operation, Operation> 120 deleteOperationSettings; 121 private final UnaryCallSettings<DeleteSignedUrlKeyBackendBucketRequest, Operation> 122 deleteSignedUrlKeySettings; 123 private final OperationCallSettings<DeleteSignedUrlKeyBackendBucketRequest, Operation, Operation> 124 deleteSignedUrlKeyOperationSettings; 125 private final UnaryCallSettings<GetBackendBucketRequest, BackendBucket> getSettings; 126 private final UnaryCallSettings<InsertBackendBucketRequest, Operation> insertSettings; 127 private final OperationCallSettings<InsertBackendBucketRequest, Operation, Operation> 128 insertOperationSettings; 129 private final PagedCallSettings<ListBackendBucketsRequest, BackendBucketList, ListPagedResponse> 130 listSettings; 131 private final UnaryCallSettings<PatchBackendBucketRequest, Operation> patchSettings; 132 private final OperationCallSettings<PatchBackendBucketRequest, Operation, Operation> 133 patchOperationSettings; 134 private final UnaryCallSettings<SetEdgeSecurityPolicyBackendBucketRequest, Operation> 135 setEdgeSecurityPolicySettings; 136 private final OperationCallSettings< 137 SetEdgeSecurityPolicyBackendBucketRequest, Operation, Operation> 138 setEdgeSecurityPolicyOperationSettings; 139 private final UnaryCallSettings<UpdateBackendBucketRequest, Operation> updateSettings; 140 private final OperationCallSettings<UpdateBackendBucketRequest, Operation, Operation> 141 updateOperationSettings; 142 143 private static final PagedListDescriptor< 144 ListBackendBucketsRequest, BackendBucketList, BackendBucket> 145 LIST_PAGE_STR_DESC = 146 new PagedListDescriptor<ListBackendBucketsRequest, BackendBucketList, BackendBucket>() { 147 @Override 148 public String emptyToken() { 149 return ""; 150 } 151 152 @Override 153 public ListBackendBucketsRequest injectToken( 154 ListBackendBucketsRequest payload, String token) { 155 return ListBackendBucketsRequest.newBuilder(payload).setPageToken(token).build(); 156 } 157 158 @Override 159 public ListBackendBucketsRequest injectPageSize( 160 ListBackendBucketsRequest payload, int pageSize) { 161 return ListBackendBucketsRequest.newBuilder(payload).setMaxResults(pageSize).build(); 162 } 163 164 @Override 165 public Integer extractPageSize(ListBackendBucketsRequest payload) { 166 return payload.getMaxResults(); 167 } 168 169 @Override 170 public String extractNextToken(BackendBucketList payload) { 171 return payload.getNextPageToken(); 172 } 173 174 @Override 175 public Iterable<BackendBucket> extractResources(BackendBucketList payload) { 176 return payload.getItemsList() == null 177 ? ImmutableList.<BackendBucket>of() 178 : payload.getItemsList(); 179 } 180 }; 181 182 private static final PagedListResponseFactory< 183 ListBackendBucketsRequest, BackendBucketList, ListPagedResponse> 184 LIST_PAGE_STR_FACT = 185 new PagedListResponseFactory< 186 ListBackendBucketsRequest, BackendBucketList, ListPagedResponse>() { 187 @Override 188 public ApiFuture<ListPagedResponse> getFuturePagedResponse( 189 UnaryCallable<ListBackendBucketsRequest, BackendBucketList> callable, 190 ListBackendBucketsRequest request, 191 ApiCallContext context, 192 ApiFuture<BackendBucketList> futureResponse) { 193 PageContext<ListBackendBucketsRequest, BackendBucketList, BackendBucket> pageContext = 194 PageContext.create(callable, LIST_PAGE_STR_DESC, request, context); 195 return ListPagedResponse.createAsync(pageContext, futureResponse); 196 } 197 }; 198 199 /** Returns the object with the settings used for calls to addSignedUrlKey. */ 200 public UnaryCallSettings<AddSignedUrlKeyBackendBucketRequest, Operation> addSignedUrlKeySettings()201 addSignedUrlKeySettings() { 202 return addSignedUrlKeySettings; 203 } 204 205 /** Returns the object with the settings used for calls to addSignedUrlKey. */ 206 public OperationCallSettings<AddSignedUrlKeyBackendBucketRequest, Operation, Operation> addSignedUrlKeyOperationSettings()207 addSignedUrlKeyOperationSettings() { 208 return addSignedUrlKeyOperationSettings; 209 } 210 211 /** Returns the object with the settings used for calls to delete. */ deleteSettings()212 public UnaryCallSettings<DeleteBackendBucketRequest, Operation> deleteSettings() { 213 return deleteSettings; 214 } 215 216 /** Returns the object with the settings used for calls to delete. */ 217 public OperationCallSettings<DeleteBackendBucketRequest, Operation, Operation> deleteOperationSettings()218 deleteOperationSettings() { 219 return deleteOperationSettings; 220 } 221 222 /** Returns the object with the settings used for calls to deleteSignedUrlKey. */ 223 public UnaryCallSettings<DeleteSignedUrlKeyBackendBucketRequest, Operation> deleteSignedUrlKeySettings()224 deleteSignedUrlKeySettings() { 225 return deleteSignedUrlKeySettings; 226 } 227 228 /** Returns the object with the settings used for calls to deleteSignedUrlKey. */ 229 public OperationCallSettings<DeleteSignedUrlKeyBackendBucketRequest, Operation, Operation> deleteSignedUrlKeyOperationSettings()230 deleteSignedUrlKeyOperationSettings() { 231 return deleteSignedUrlKeyOperationSettings; 232 } 233 234 /** Returns the object with the settings used for calls to get. */ getSettings()235 public UnaryCallSettings<GetBackendBucketRequest, BackendBucket> getSettings() { 236 return getSettings; 237 } 238 239 /** Returns the object with the settings used for calls to insert. */ insertSettings()240 public UnaryCallSettings<InsertBackendBucketRequest, Operation> insertSettings() { 241 return insertSettings; 242 } 243 244 /** Returns the object with the settings used for calls to insert. */ 245 public OperationCallSettings<InsertBackendBucketRequest, Operation, Operation> insertOperationSettings()246 insertOperationSettings() { 247 return insertOperationSettings; 248 } 249 250 /** Returns the object with the settings used for calls to list. */ 251 public PagedCallSettings<ListBackendBucketsRequest, BackendBucketList, ListPagedResponse> listSettings()252 listSettings() { 253 return listSettings; 254 } 255 256 /** Returns the object with the settings used for calls to patch. */ patchSettings()257 public UnaryCallSettings<PatchBackendBucketRequest, Operation> patchSettings() { 258 return patchSettings; 259 } 260 261 /** Returns the object with the settings used for calls to patch. */ 262 public OperationCallSettings<PatchBackendBucketRequest, Operation, Operation> patchOperationSettings()263 patchOperationSettings() { 264 return patchOperationSettings; 265 } 266 267 /** Returns the object with the settings used for calls to setEdgeSecurityPolicy. */ 268 public UnaryCallSettings<SetEdgeSecurityPolicyBackendBucketRequest, Operation> setEdgeSecurityPolicySettings()269 setEdgeSecurityPolicySettings() { 270 return setEdgeSecurityPolicySettings; 271 } 272 273 /** Returns the object with the settings used for calls to setEdgeSecurityPolicy. */ 274 public OperationCallSettings<SetEdgeSecurityPolicyBackendBucketRequest, Operation, Operation> setEdgeSecurityPolicyOperationSettings()275 setEdgeSecurityPolicyOperationSettings() { 276 return setEdgeSecurityPolicyOperationSettings; 277 } 278 279 /** Returns the object with the settings used for calls to update. */ updateSettings()280 public UnaryCallSettings<UpdateBackendBucketRequest, Operation> updateSettings() { 281 return updateSettings; 282 } 283 284 /** Returns the object with the settings used for calls to update. */ 285 public OperationCallSettings<UpdateBackendBucketRequest, Operation, Operation> updateOperationSettings()286 updateOperationSettings() { 287 return updateOperationSettings; 288 } 289 createStub()290 public BackendBucketsStub createStub() throws IOException { 291 if (getTransportChannelProvider() 292 .getTransportName() 293 .equals(HttpJsonTransportChannel.getHttpJsonTransportName())) { 294 return HttpJsonBackendBucketsStub.create(this); 295 } 296 throw new UnsupportedOperationException( 297 String.format( 298 "Transport not supported: %s", getTransportChannelProvider().getTransportName())); 299 } 300 301 /** Returns a builder for the default ExecutorProvider for this service. */ defaultExecutorProviderBuilder()302 public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { 303 return InstantiatingExecutorProvider.newBuilder(); 304 } 305 306 /** Returns the default service endpoint. */ getDefaultEndpoint()307 public static String getDefaultEndpoint() { 308 return "compute.googleapis.com:443"; 309 } 310 311 /** Returns the default mTLS service endpoint. */ getDefaultMtlsEndpoint()312 public static String getDefaultMtlsEndpoint() { 313 return "compute.mtls.googleapis.com:443"; 314 } 315 316 /** Returns the default service scopes. */ getDefaultServiceScopes()317 public static List<String> getDefaultServiceScopes() { 318 return DEFAULT_SERVICE_SCOPES; 319 } 320 321 /** Returns a builder for the default credentials for this service. */ defaultCredentialsProviderBuilder()322 public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { 323 return GoogleCredentialsProvider.newBuilder() 324 .setScopesToApply(DEFAULT_SERVICE_SCOPES) 325 .setUseJwtAccessWithScope(true); 326 } 327 328 /** Returns a builder for the default ChannelProvider for this service. */ 329 public static InstantiatingHttpJsonChannelProvider.Builder defaultHttpJsonTransportProviderBuilder()330 defaultHttpJsonTransportProviderBuilder() { 331 return InstantiatingHttpJsonChannelProvider.newBuilder(); 332 } 333 defaultTransportChannelProvider()334 public static TransportChannelProvider defaultTransportChannelProvider() { 335 return defaultHttpJsonTransportProviderBuilder().build(); 336 } 337 338 @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") defaultApiClientHeaderProviderBuilder()339 public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { 340 return ApiClientHeaderProvider.newBuilder() 341 .setGeneratedLibToken( 342 "gapic", GaxProperties.getLibraryVersion(BackendBucketsStubSettings.class)) 343 .setTransportToken( 344 GaxHttpJsonProperties.getHttpJsonTokenName(), 345 GaxHttpJsonProperties.getHttpJsonVersion()); 346 } 347 348 /** Returns a new builder for this class. */ newBuilder()349 public static Builder newBuilder() { 350 return Builder.createDefault(); 351 } 352 353 /** Returns a new builder for this class. */ newBuilder(ClientContext clientContext)354 public static Builder newBuilder(ClientContext clientContext) { 355 return new Builder(clientContext); 356 } 357 358 /** Returns a builder containing all the values of this settings class. */ toBuilder()359 public Builder toBuilder() { 360 return new Builder(this); 361 } 362 BackendBucketsStubSettings(Builder settingsBuilder)363 protected BackendBucketsStubSettings(Builder settingsBuilder) throws IOException { 364 super(settingsBuilder); 365 366 addSignedUrlKeySettings = settingsBuilder.addSignedUrlKeySettings().build(); 367 addSignedUrlKeyOperationSettings = settingsBuilder.addSignedUrlKeyOperationSettings().build(); 368 deleteSettings = settingsBuilder.deleteSettings().build(); 369 deleteOperationSettings = settingsBuilder.deleteOperationSettings().build(); 370 deleteSignedUrlKeySettings = settingsBuilder.deleteSignedUrlKeySettings().build(); 371 deleteSignedUrlKeyOperationSettings = 372 settingsBuilder.deleteSignedUrlKeyOperationSettings().build(); 373 getSettings = settingsBuilder.getSettings().build(); 374 insertSettings = settingsBuilder.insertSettings().build(); 375 insertOperationSettings = settingsBuilder.insertOperationSettings().build(); 376 listSettings = settingsBuilder.listSettings().build(); 377 patchSettings = settingsBuilder.patchSettings().build(); 378 patchOperationSettings = settingsBuilder.patchOperationSettings().build(); 379 setEdgeSecurityPolicySettings = settingsBuilder.setEdgeSecurityPolicySettings().build(); 380 setEdgeSecurityPolicyOperationSettings = 381 settingsBuilder.setEdgeSecurityPolicyOperationSettings().build(); 382 updateSettings = settingsBuilder.updateSettings().build(); 383 updateOperationSettings = settingsBuilder.updateOperationSettings().build(); 384 } 385 386 /** Builder for BackendBucketsStubSettings. */ 387 public static class Builder extends StubSettings.Builder<BackendBucketsStubSettings, Builder> { 388 private final ImmutableList<UnaryCallSettings.Builder<?, ?>> unaryMethodSettingsBuilders; 389 private final UnaryCallSettings.Builder<AddSignedUrlKeyBackendBucketRequest, Operation> 390 addSignedUrlKeySettings; 391 private final OperationCallSettings.Builder< 392 AddSignedUrlKeyBackendBucketRequest, Operation, Operation> 393 addSignedUrlKeyOperationSettings; 394 private final UnaryCallSettings.Builder<DeleteBackendBucketRequest, Operation> deleteSettings; 395 private final OperationCallSettings.Builder<DeleteBackendBucketRequest, Operation, Operation> 396 deleteOperationSettings; 397 private final UnaryCallSettings.Builder<DeleteSignedUrlKeyBackendBucketRequest, Operation> 398 deleteSignedUrlKeySettings; 399 private final OperationCallSettings.Builder< 400 DeleteSignedUrlKeyBackendBucketRequest, Operation, Operation> 401 deleteSignedUrlKeyOperationSettings; 402 private final UnaryCallSettings.Builder<GetBackendBucketRequest, BackendBucket> getSettings; 403 private final UnaryCallSettings.Builder<InsertBackendBucketRequest, Operation> insertSettings; 404 private final OperationCallSettings.Builder<InsertBackendBucketRequest, Operation, Operation> 405 insertOperationSettings; 406 private final PagedCallSettings.Builder< 407 ListBackendBucketsRequest, BackendBucketList, ListPagedResponse> 408 listSettings; 409 private final UnaryCallSettings.Builder<PatchBackendBucketRequest, Operation> patchSettings; 410 private final OperationCallSettings.Builder<PatchBackendBucketRequest, Operation, Operation> 411 patchOperationSettings; 412 private final UnaryCallSettings.Builder<SetEdgeSecurityPolicyBackendBucketRequest, Operation> 413 setEdgeSecurityPolicySettings; 414 private final OperationCallSettings.Builder< 415 SetEdgeSecurityPolicyBackendBucketRequest, Operation, Operation> 416 setEdgeSecurityPolicyOperationSettings; 417 private final UnaryCallSettings.Builder<UpdateBackendBucketRequest, Operation> updateSettings; 418 private final OperationCallSettings.Builder<UpdateBackendBucketRequest, Operation, Operation> 419 updateOperationSettings; 420 private static final ImmutableMap<String, ImmutableSet<StatusCode.Code>> 421 RETRYABLE_CODE_DEFINITIONS; 422 423 static { 424 ImmutableMap.Builder<String, ImmutableSet<StatusCode.Code>> definitions = 425 ImmutableMap.builder(); 426 definitions.put( 427 "no_retry_1_codes", ImmutableSet.copyOf(Lists.<StatusCode.Code>newArrayList())); 428 definitions.put( 429 "retry_policy_0_codes", 430 ImmutableSet.copyOf( 431 Lists.<StatusCode.Code>newArrayList( 432 StatusCode.Code.DEADLINE_EXCEEDED, StatusCode.Code.UNAVAILABLE))); 433 RETRYABLE_CODE_DEFINITIONS = definitions.build(); 434 } 435 436 private static final ImmutableMap<String, RetrySettings> RETRY_PARAM_DEFINITIONS; 437 438 static { 439 ImmutableMap.Builder<String, RetrySettings> definitions = ImmutableMap.builder(); 440 RetrySettings settings = null; 441 settings = 442 RetrySettings.newBuilder() 443 .setInitialRpcTimeout(Duration.ofMillis(600000L)) 444 .setRpcTimeoutMultiplier(1.0) 445 .setMaxRpcTimeout(Duration.ofMillis(600000L)) 446 .setTotalTimeout(Duration.ofMillis(600000L)) 447 .build(); 448 definitions.put("no_retry_1_params", settings); 449 settings = 450 RetrySettings.newBuilder() 451 .setInitialRetryDelay(Duration.ofMillis(100L)) 452 .setRetryDelayMultiplier(1.3) 453 .setMaxRetryDelay(Duration.ofMillis(60000L)) 454 .setInitialRpcTimeout(Duration.ofMillis(600000L)) 455 .setRpcTimeoutMultiplier(1.0) 456 .setMaxRpcTimeout(Duration.ofMillis(600000L)) 457 .setTotalTimeout(Duration.ofMillis(600000L)) 458 .build(); 459 definitions.put("retry_policy_0_params", settings); 460 RETRY_PARAM_DEFINITIONS = definitions.build(); 461 } 462 Builder()463 protected Builder() { 464 this(((ClientContext) null)); 465 } 466 Builder(ClientContext clientContext)467 protected Builder(ClientContext clientContext) { 468 super(clientContext); 469 470 addSignedUrlKeySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 471 addSignedUrlKeyOperationSettings = OperationCallSettings.newBuilder(); 472 deleteSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 473 deleteOperationSettings = OperationCallSettings.newBuilder(); 474 deleteSignedUrlKeySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 475 deleteSignedUrlKeyOperationSettings = OperationCallSettings.newBuilder(); 476 getSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 477 insertSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 478 insertOperationSettings = OperationCallSettings.newBuilder(); 479 listSettings = PagedCallSettings.newBuilder(LIST_PAGE_STR_FACT); 480 patchSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 481 patchOperationSettings = OperationCallSettings.newBuilder(); 482 setEdgeSecurityPolicySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 483 setEdgeSecurityPolicyOperationSettings = OperationCallSettings.newBuilder(); 484 updateSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 485 updateOperationSettings = OperationCallSettings.newBuilder(); 486 487 unaryMethodSettingsBuilders = 488 ImmutableList.<UnaryCallSettings.Builder<?, ?>>of( 489 addSignedUrlKeySettings, 490 deleteSettings, 491 deleteSignedUrlKeySettings, 492 getSettings, 493 insertSettings, 494 listSettings, 495 patchSettings, 496 setEdgeSecurityPolicySettings, 497 updateSettings); 498 initDefaults(this); 499 } 500 Builder(BackendBucketsStubSettings settings)501 protected Builder(BackendBucketsStubSettings settings) { 502 super(settings); 503 504 addSignedUrlKeySettings = settings.addSignedUrlKeySettings.toBuilder(); 505 addSignedUrlKeyOperationSettings = settings.addSignedUrlKeyOperationSettings.toBuilder(); 506 deleteSettings = settings.deleteSettings.toBuilder(); 507 deleteOperationSettings = settings.deleteOperationSettings.toBuilder(); 508 deleteSignedUrlKeySettings = settings.deleteSignedUrlKeySettings.toBuilder(); 509 deleteSignedUrlKeyOperationSettings = 510 settings.deleteSignedUrlKeyOperationSettings.toBuilder(); 511 getSettings = settings.getSettings.toBuilder(); 512 insertSettings = settings.insertSettings.toBuilder(); 513 insertOperationSettings = settings.insertOperationSettings.toBuilder(); 514 listSettings = settings.listSettings.toBuilder(); 515 patchSettings = settings.patchSettings.toBuilder(); 516 patchOperationSettings = settings.patchOperationSettings.toBuilder(); 517 setEdgeSecurityPolicySettings = settings.setEdgeSecurityPolicySettings.toBuilder(); 518 setEdgeSecurityPolicyOperationSettings = 519 settings.setEdgeSecurityPolicyOperationSettings.toBuilder(); 520 updateSettings = settings.updateSettings.toBuilder(); 521 updateOperationSettings = settings.updateOperationSettings.toBuilder(); 522 523 unaryMethodSettingsBuilders = 524 ImmutableList.<UnaryCallSettings.Builder<?, ?>>of( 525 addSignedUrlKeySettings, 526 deleteSettings, 527 deleteSignedUrlKeySettings, 528 getSettings, 529 insertSettings, 530 listSettings, 531 patchSettings, 532 setEdgeSecurityPolicySettings, 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 .addSignedUrlKeySettings() 552 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 553 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_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 .deleteSignedUrlKeySettings() 562 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 563 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 564 565 builder 566 .getSettings() 567 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 568 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 569 570 builder 571 .insertSettings() 572 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 573 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 574 575 builder 576 .listSettings() 577 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 578 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 579 580 builder 581 .patchSettings() 582 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 583 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 584 585 builder 586 .setEdgeSecurityPolicySettings() 587 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 588 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 589 590 builder 591 .updateSettings() 592 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 593 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 594 595 builder 596 .addSignedUrlKeyOperationSettings() 597 .setInitialCallSettings( 598 UnaryCallSettings 599 .<AddSignedUrlKeyBackendBucketRequest, OperationSnapshot> 600 newUnaryCallSettingsBuilder() 601 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 602 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 603 .build()) 604 .setResponseTransformer( 605 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 606 .setMetadataTransformer( 607 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 608 .setPollingAlgorithm( 609 OperationTimedPollAlgorithm.create( 610 RetrySettings.newBuilder() 611 .setInitialRetryDelay(Duration.ofMillis(500L)) 612 .setRetryDelayMultiplier(1.5) 613 .setMaxRetryDelay(Duration.ofMillis(20000L)) 614 .setInitialRpcTimeout(Duration.ZERO) 615 .setRpcTimeoutMultiplier(1.0) 616 .setMaxRpcTimeout(Duration.ZERO) 617 .setTotalTimeout(Duration.ofMillis(600000L)) 618 .build())); 619 620 builder 621 .deleteOperationSettings() 622 .setInitialCallSettings( 623 UnaryCallSettings 624 .<DeleteBackendBucketRequest, OperationSnapshot>newUnaryCallSettingsBuilder() 625 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 626 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 627 .build()) 628 .setResponseTransformer( 629 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 630 .setMetadataTransformer( 631 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 632 .setPollingAlgorithm( 633 OperationTimedPollAlgorithm.create( 634 RetrySettings.newBuilder() 635 .setInitialRetryDelay(Duration.ofMillis(500L)) 636 .setRetryDelayMultiplier(1.5) 637 .setMaxRetryDelay(Duration.ofMillis(20000L)) 638 .setInitialRpcTimeout(Duration.ZERO) 639 .setRpcTimeoutMultiplier(1.0) 640 .setMaxRpcTimeout(Duration.ZERO) 641 .setTotalTimeout(Duration.ofMillis(600000L)) 642 .build())); 643 644 builder 645 .deleteSignedUrlKeyOperationSettings() 646 .setInitialCallSettings( 647 UnaryCallSettings 648 .<DeleteSignedUrlKeyBackendBucketRequest, OperationSnapshot> 649 newUnaryCallSettingsBuilder() 650 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 651 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 652 .build()) 653 .setResponseTransformer( 654 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 655 .setMetadataTransformer( 656 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 657 .setPollingAlgorithm( 658 OperationTimedPollAlgorithm.create( 659 RetrySettings.newBuilder() 660 .setInitialRetryDelay(Duration.ofMillis(500L)) 661 .setRetryDelayMultiplier(1.5) 662 .setMaxRetryDelay(Duration.ofMillis(20000L)) 663 .setInitialRpcTimeout(Duration.ZERO) 664 .setRpcTimeoutMultiplier(1.0) 665 .setMaxRpcTimeout(Duration.ZERO) 666 .setTotalTimeout(Duration.ofMillis(600000L)) 667 .build())); 668 669 builder 670 .insertOperationSettings() 671 .setInitialCallSettings( 672 UnaryCallSettings 673 .<InsertBackendBucketRequest, OperationSnapshot>newUnaryCallSettingsBuilder() 674 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 675 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 676 .build()) 677 .setResponseTransformer( 678 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 679 .setMetadataTransformer( 680 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 681 .setPollingAlgorithm( 682 OperationTimedPollAlgorithm.create( 683 RetrySettings.newBuilder() 684 .setInitialRetryDelay(Duration.ofMillis(500L)) 685 .setRetryDelayMultiplier(1.5) 686 .setMaxRetryDelay(Duration.ofMillis(20000L)) 687 .setInitialRpcTimeout(Duration.ZERO) 688 .setRpcTimeoutMultiplier(1.0) 689 .setMaxRpcTimeout(Duration.ZERO) 690 .setTotalTimeout(Duration.ofMillis(600000L)) 691 .build())); 692 693 builder 694 .patchOperationSettings() 695 .setInitialCallSettings( 696 UnaryCallSettings 697 .<PatchBackendBucketRequest, OperationSnapshot>newUnaryCallSettingsBuilder() 698 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 699 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 700 .build()) 701 .setResponseTransformer( 702 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 703 .setMetadataTransformer( 704 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 705 .setPollingAlgorithm( 706 OperationTimedPollAlgorithm.create( 707 RetrySettings.newBuilder() 708 .setInitialRetryDelay(Duration.ofMillis(500L)) 709 .setRetryDelayMultiplier(1.5) 710 .setMaxRetryDelay(Duration.ofMillis(20000L)) 711 .setInitialRpcTimeout(Duration.ZERO) 712 .setRpcTimeoutMultiplier(1.0) 713 .setMaxRpcTimeout(Duration.ZERO) 714 .setTotalTimeout(Duration.ofMillis(600000L)) 715 .build())); 716 717 builder 718 .setEdgeSecurityPolicyOperationSettings() 719 .setInitialCallSettings( 720 UnaryCallSettings 721 .<SetEdgeSecurityPolicyBackendBucketRequest, OperationSnapshot> 722 newUnaryCallSettingsBuilder() 723 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 724 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 725 .build()) 726 .setResponseTransformer( 727 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 728 .setMetadataTransformer( 729 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 730 .setPollingAlgorithm( 731 OperationTimedPollAlgorithm.create( 732 RetrySettings.newBuilder() 733 .setInitialRetryDelay(Duration.ofMillis(500L)) 734 .setRetryDelayMultiplier(1.5) 735 .setMaxRetryDelay(Duration.ofMillis(20000L)) 736 .setInitialRpcTimeout(Duration.ZERO) 737 .setRpcTimeoutMultiplier(1.0) 738 .setMaxRpcTimeout(Duration.ZERO) 739 .setTotalTimeout(Duration.ofMillis(600000L)) 740 .build())); 741 742 builder 743 .updateOperationSettings() 744 .setInitialCallSettings( 745 UnaryCallSettings 746 .<UpdateBackendBucketRequest, OperationSnapshot>newUnaryCallSettingsBuilder() 747 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 748 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 749 .build()) 750 .setResponseTransformer( 751 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 752 .setMetadataTransformer( 753 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 754 .setPollingAlgorithm( 755 OperationTimedPollAlgorithm.create( 756 RetrySettings.newBuilder() 757 .setInitialRetryDelay(Duration.ofMillis(500L)) 758 .setRetryDelayMultiplier(1.5) 759 .setMaxRetryDelay(Duration.ofMillis(20000L)) 760 .setInitialRpcTimeout(Duration.ZERO) 761 .setRpcTimeoutMultiplier(1.0) 762 .setMaxRpcTimeout(Duration.ZERO) 763 .setTotalTimeout(Duration.ofMillis(600000L)) 764 .build())); 765 766 return builder; 767 } 768 769 /** 770 * Applies the given settings updater function to all of the unary API methods in this service. 771 * 772 * <p>Note: This method does not support applying settings to streaming methods. 773 */ applyToAllUnaryMethods( ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater)774 public Builder applyToAllUnaryMethods( 775 ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater) { 776 super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater); 777 return this; 778 } 779 unaryMethodSettingsBuilders()780 public ImmutableList<UnaryCallSettings.Builder<?, ?>> unaryMethodSettingsBuilders() { 781 return unaryMethodSettingsBuilders; 782 } 783 784 /** Returns the builder for the settings used for calls to addSignedUrlKey. */ 785 public UnaryCallSettings.Builder<AddSignedUrlKeyBackendBucketRequest, Operation> addSignedUrlKeySettings()786 addSignedUrlKeySettings() { 787 return addSignedUrlKeySettings; 788 } 789 790 /** Returns the builder for the settings used for calls to addSignedUrlKey. */ 791 @BetaApi( 792 "The surface for use by generated code is not stable yet and may change in the future.") 793 public OperationCallSettings.Builder<AddSignedUrlKeyBackendBucketRequest, Operation, Operation> addSignedUrlKeyOperationSettings()794 addSignedUrlKeyOperationSettings() { 795 return addSignedUrlKeyOperationSettings; 796 } 797 798 /** Returns the builder for the settings used for calls to delete. */ deleteSettings()799 public UnaryCallSettings.Builder<DeleteBackendBucketRequest, Operation> deleteSettings() { 800 return deleteSettings; 801 } 802 803 /** Returns the builder for the settings used for calls to delete. */ 804 @BetaApi( 805 "The surface for use by generated code is not stable yet and may change in the future.") 806 public OperationCallSettings.Builder<DeleteBackendBucketRequest, Operation, Operation> deleteOperationSettings()807 deleteOperationSettings() { 808 return deleteOperationSettings; 809 } 810 811 /** Returns the builder for the settings used for calls to deleteSignedUrlKey. */ 812 public UnaryCallSettings.Builder<DeleteSignedUrlKeyBackendBucketRequest, Operation> deleteSignedUrlKeySettings()813 deleteSignedUrlKeySettings() { 814 return deleteSignedUrlKeySettings; 815 } 816 817 /** Returns the builder for the settings used for calls to deleteSignedUrlKey. */ 818 @BetaApi( 819 "The surface for use by generated code is not stable yet and may change in the future.") 820 public OperationCallSettings.Builder< 821 DeleteSignedUrlKeyBackendBucketRequest, Operation, Operation> deleteSignedUrlKeyOperationSettings()822 deleteSignedUrlKeyOperationSettings() { 823 return deleteSignedUrlKeyOperationSettings; 824 } 825 826 /** Returns the builder for the settings used for calls to get. */ getSettings()827 public UnaryCallSettings.Builder<GetBackendBucketRequest, BackendBucket> getSettings() { 828 return getSettings; 829 } 830 831 /** Returns the builder for the settings used for calls to insert. */ insertSettings()832 public UnaryCallSettings.Builder<InsertBackendBucketRequest, Operation> insertSettings() { 833 return insertSettings; 834 } 835 836 /** Returns the builder for the settings used for calls to insert. */ 837 @BetaApi( 838 "The surface for use by generated code is not stable yet and may change in the future.") 839 public OperationCallSettings.Builder<InsertBackendBucketRequest, Operation, Operation> insertOperationSettings()840 insertOperationSettings() { 841 return insertOperationSettings; 842 } 843 844 /** Returns the builder for the settings used for calls to list. */ 845 public PagedCallSettings.Builder< 846 ListBackendBucketsRequest, BackendBucketList, ListPagedResponse> listSettings()847 listSettings() { 848 return listSettings; 849 } 850 851 /** Returns the builder for the settings used for calls to patch. */ patchSettings()852 public UnaryCallSettings.Builder<PatchBackendBucketRequest, Operation> patchSettings() { 853 return patchSettings; 854 } 855 856 /** Returns the builder for the settings used for calls to patch. */ 857 @BetaApi( 858 "The surface for use by generated code is not stable yet and may change in the future.") 859 public OperationCallSettings.Builder<PatchBackendBucketRequest, Operation, Operation> patchOperationSettings()860 patchOperationSettings() { 861 return patchOperationSettings; 862 } 863 864 /** Returns the builder for the settings used for calls to setEdgeSecurityPolicy. */ 865 public UnaryCallSettings.Builder<SetEdgeSecurityPolicyBackendBucketRequest, Operation> setEdgeSecurityPolicySettings()866 setEdgeSecurityPolicySettings() { 867 return setEdgeSecurityPolicySettings; 868 } 869 870 /** Returns the builder for the settings used for calls to setEdgeSecurityPolicy. */ 871 @BetaApi( 872 "The surface for use by generated code is not stable yet and may change in the future.") 873 public OperationCallSettings.Builder< 874 SetEdgeSecurityPolicyBackendBucketRequest, Operation, Operation> setEdgeSecurityPolicyOperationSettings()875 setEdgeSecurityPolicyOperationSettings() { 876 return setEdgeSecurityPolicyOperationSettings; 877 } 878 879 /** Returns the builder for the settings used for calls to update. */ updateSettings()880 public UnaryCallSettings.Builder<UpdateBackendBucketRequest, Operation> updateSettings() { 881 return updateSettings; 882 } 883 884 /** Returns the builder for the settings used for calls to update. */ 885 @BetaApi( 886 "The surface for use by generated code is not stable yet and may change in the future.") 887 public OperationCallSettings.Builder<UpdateBackendBucketRequest, Operation, Operation> updateOperationSettings()888 updateOperationSettings() { 889 return updateOperationSettings; 890 } 891 892 @Override build()893 public BackendBucketsStubSettings build() throws IOException { 894 return new BackendBucketsStubSettings(this); 895 } 896 } 897 } 898