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.dialogflow.v2.stub; 18 19 import static com.google.cloud.dialogflow.v2.VersionsClient.ListLocationsPagedResponse; 20 import static com.google.cloud.dialogflow.v2.VersionsClient.ListVersionsPagedResponse; 21 22 import com.google.api.core.ApiFunction; 23 import com.google.api.core.ApiFuture; 24 import com.google.api.core.BetaApi; 25 import com.google.api.gax.core.GaxProperties; 26 import com.google.api.gax.core.GoogleCredentialsProvider; 27 import com.google.api.gax.core.InstantiatingExecutorProvider; 28 import com.google.api.gax.grpc.GaxGrpcProperties; 29 import com.google.api.gax.grpc.GrpcTransportChannel; 30 import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; 31 import com.google.api.gax.httpjson.GaxHttpJsonProperties; 32 import com.google.api.gax.httpjson.HttpJsonTransportChannel; 33 import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider; 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.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.dialogflow.v2.CreateVersionRequest; 48 import com.google.cloud.dialogflow.v2.DeleteVersionRequest; 49 import com.google.cloud.dialogflow.v2.GetVersionRequest; 50 import com.google.cloud.dialogflow.v2.ListVersionsRequest; 51 import com.google.cloud.dialogflow.v2.ListVersionsResponse; 52 import com.google.cloud.dialogflow.v2.UpdateVersionRequest; 53 import com.google.cloud.dialogflow.v2.Version; 54 import com.google.cloud.location.GetLocationRequest; 55 import com.google.cloud.location.ListLocationsRequest; 56 import com.google.cloud.location.ListLocationsResponse; 57 import com.google.cloud.location.Location; 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 com.google.protobuf.Empty; 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 VersionsStub}. 71 * 72 * <p>The default instance has everything set to sensible defaults: 73 * 74 * <ul> 75 * <li>The default service address (dialogflow.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 getVersion 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 * VersionsStubSettings.Builder versionsSettingsBuilder = VersionsStubSettings.newBuilder(); 92 * versionsSettingsBuilder 93 * .getVersionSettings() 94 * .setRetrySettings( 95 * versionsSettingsBuilder 96 * .getVersionSettings() 97 * .getRetrySettings() 98 * .toBuilder() 99 * .setTotalTimeout(Duration.ofSeconds(30)) 100 * .build()); 101 * VersionsStubSettings versionsSettings = versionsSettingsBuilder.build(); 102 * }</pre> 103 */ 104 @Generated("by gapic-generator-java") 105 public class VersionsStubSettings extends StubSettings<VersionsStubSettings> { 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/cloud-platform") 110 .add("https://www.googleapis.com/auth/dialogflow") 111 .build(); 112 113 private final PagedCallSettings< 114 ListVersionsRequest, ListVersionsResponse, ListVersionsPagedResponse> 115 listVersionsSettings; 116 private final UnaryCallSettings<GetVersionRequest, Version> getVersionSettings; 117 private final UnaryCallSettings<CreateVersionRequest, Version> createVersionSettings; 118 private final UnaryCallSettings<UpdateVersionRequest, Version> updateVersionSettings; 119 private final UnaryCallSettings<DeleteVersionRequest, Empty> deleteVersionSettings; 120 private final PagedCallSettings< 121 ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> 122 listLocationsSettings; 123 private final UnaryCallSettings<GetLocationRequest, Location> getLocationSettings; 124 125 private static final PagedListDescriptor<ListVersionsRequest, ListVersionsResponse, Version> 126 LIST_VERSIONS_PAGE_STR_DESC = 127 new PagedListDescriptor<ListVersionsRequest, ListVersionsResponse, Version>() { 128 @Override 129 public String emptyToken() { 130 return ""; 131 } 132 133 @Override 134 public ListVersionsRequest injectToken(ListVersionsRequest payload, String token) { 135 return ListVersionsRequest.newBuilder(payload).setPageToken(token).build(); 136 } 137 138 @Override 139 public ListVersionsRequest injectPageSize(ListVersionsRequest payload, int pageSize) { 140 return ListVersionsRequest.newBuilder(payload).setPageSize(pageSize).build(); 141 } 142 143 @Override 144 public Integer extractPageSize(ListVersionsRequest payload) { 145 return payload.getPageSize(); 146 } 147 148 @Override 149 public String extractNextToken(ListVersionsResponse payload) { 150 return payload.getNextPageToken(); 151 } 152 153 @Override 154 public Iterable<Version> extractResources(ListVersionsResponse payload) { 155 return payload.getVersionsList() == null 156 ? ImmutableList.<Version>of() 157 : payload.getVersionsList(); 158 } 159 }; 160 161 private static final PagedListDescriptor<ListLocationsRequest, ListLocationsResponse, Location> 162 LIST_LOCATIONS_PAGE_STR_DESC = 163 new PagedListDescriptor<ListLocationsRequest, ListLocationsResponse, Location>() { 164 @Override 165 public String emptyToken() { 166 return ""; 167 } 168 169 @Override 170 public ListLocationsRequest injectToken(ListLocationsRequest payload, String token) { 171 return ListLocationsRequest.newBuilder(payload).setPageToken(token).build(); 172 } 173 174 @Override 175 public ListLocationsRequest injectPageSize(ListLocationsRequest payload, int pageSize) { 176 return ListLocationsRequest.newBuilder(payload).setPageSize(pageSize).build(); 177 } 178 179 @Override 180 public Integer extractPageSize(ListLocationsRequest payload) { 181 return payload.getPageSize(); 182 } 183 184 @Override 185 public String extractNextToken(ListLocationsResponse payload) { 186 return payload.getNextPageToken(); 187 } 188 189 @Override 190 public Iterable<Location> extractResources(ListLocationsResponse payload) { 191 return payload.getLocationsList() == null 192 ? ImmutableList.<Location>of() 193 : payload.getLocationsList(); 194 } 195 }; 196 197 private static final PagedListResponseFactory< 198 ListVersionsRequest, ListVersionsResponse, ListVersionsPagedResponse> 199 LIST_VERSIONS_PAGE_STR_FACT = 200 new PagedListResponseFactory< 201 ListVersionsRequest, ListVersionsResponse, ListVersionsPagedResponse>() { 202 @Override 203 public ApiFuture<ListVersionsPagedResponse> getFuturePagedResponse( 204 UnaryCallable<ListVersionsRequest, ListVersionsResponse> callable, 205 ListVersionsRequest request, 206 ApiCallContext context, 207 ApiFuture<ListVersionsResponse> futureResponse) { 208 PageContext<ListVersionsRequest, ListVersionsResponse, Version> pageContext = 209 PageContext.create(callable, LIST_VERSIONS_PAGE_STR_DESC, request, context); 210 return ListVersionsPagedResponse.createAsync(pageContext, futureResponse); 211 } 212 }; 213 214 private static final PagedListResponseFactory< 215 ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> 216 LIST_LOCATIONS_PAGE_STR_FACT = 217 new PagedListResponseFactory< 218 ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse>() { 219 @Override 220 public ApiFuture<ListLocationsPagedResponse> getFuturePagedResponse( 221 UnaryCallable<ListLocationsRequest, ListLocationsResponse> callable, 222 ListLocationsRequest request, 223 ApiCallContext context, 224 ApiFuture<ListLocationsResponse> futureResponse) { 225 PageContext<ListLocationsRequest, ListLocationsResponse, Location> pageContext = 226 PageContext.create(callable, LIST_LOCATIONS_PAGE_STR_DESC, request, context); 227 return ListLocationsPagedResponse.createAsync(pageContext, futureResponse); 228 } 229 }; 230 231 /** Returns the object with the settings used for calls to listVersions. */ 232 public PagedCallSettings<ListVersionsRequest, ListVersionsResponse, ListVersionsPagedResponse> listVersionsSettings()233 listVersionsSettings() { 234 return listVersionsSettings; 235 } 236 237 /** Returns the object with the settings used for calls to getVersion. */ getVersionSettings()238 public UnaryCallSettings<GetVersionRequest, Version> getVersionSettings() { 239 return getVersionSettings; 240 } 241 242 /** Returns the object with the settings used for calls to createVersion. */ createVersionSettings()243 public UnaryCallSettings<CreateVersionRequest, Version> createVersionSettings() { 244 return createVersionSettings; 245 } 246 247 /** Returns the object with the settings used for calls to updateVersion. */ updateVersionSettings()248 public UnaryCallSettings<UpdateVersionRequest, Version> updateVersionSettings() { 249 return updateVersionSettings; 250 } 251 252 /** Returns the object with the settings used for calls to deleteVersion. */ deleteVersionSettings()253 public UnaryCallSettings<DeleteVersionRequest, Empty> deleteVersionSettings() { 254 return deleteVersionSettings; 255 } 256 257 /** Returns the object with the settings used for calls to listLocations. */ 258 public PagedCallSettings<ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> listLocationsSettings()259 listLocationsSettings() { 260 return listLocationsSettings; 261 } 262 263 /** Returns the object with the settings used for calls to getLocation. */ getLocationSettings()264 public UnaryCallSettings<GetLocationRequest, Location> getLocationSettings() { 265 return getLocationSettings; 266 } 267 createStub()268 public VersionsStub createStub() throws IOException { 269 if (getTransportChannelProvider() 270 .getTransportName() 271 .equals(GrpcTransportChannel.getGrpcTransportName())) { 272 return GrpcVersionsStub.create(this); 273 } 274 if (getTransportChannelProvider() 275 .getTransportName() 276 .equals(HttpJsonTransportChannel.getHttpJsonTransportName())) { 277 return HttpJsonVersionsStub.create(this); 278 } 279 throw new UnsupportedOperationException( 280 String.format( 281 "Transport not supported: %s", getTransportChannelProvider().getTransportName())); 282 } 283 284 /** Returns a builder for the default ExecutorProvider for this service. */ defaultExecutorProviderBuilder()285 public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { 286 return InstantiatingExecutorProvider.newBuilder(); 287 } 288 289 /** Returns the default service endpoint. */ getDefaultEndpoint()290 public static String getDefaultEndpoint() { 291 return "dialogflow.googleapis.com:443"; 292 } 293 294 /** Returns the default mTLS service endpoint. */ getDefaultMtlsEndpoint()295 public static String getDefaultMtlsEndpoint() { 296 return "dialogflow.mtls.googleapis.com:443"; 297 } 298 299 /** Returns the default service scopes. */ getDefaultServiceScopes()300 public static List<String> getDefaultServiceScopes() { 301 return DEFAULT_SERVICE_SCOPES; 302 } 303 304 /** Returns a builder for the default credentials for this service. */ defaultCredentialsProviderBuilder()305 public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { 306 return GoogleCredentialsProvider.newBuilder() 307 .setScopesToApply(DEFAULT_SERVICE_SCOPES) 308 .setUseJwtAccessWithScope(true); 309 } 310 311 /** Returns a builder for the default gRPC ChannelProvider for this service. */ defaultGrpcTransportProviderBuilder()312 public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { 313 return InstantiatingGrpcChannelProvider.newBuilder() 314 .setMaxInboundMessageSize(Integer.MAX_VALUE); 315 } 316 317 /** Returns a builder for the default REST ChannelProvider for this service. */ 318 @BetaApi 319 public static InstantiatingHttpJsonChannelProvider.Builder defaultHttpJsonTransportProviderBuilder()320 defaultHttpJsonTransportProviderBuilder() { 321 return InstantiatingHttpJsonChannelProvider.newBuilder(); 322 } 323 defaultTransportChannelProvider()324 public static TransportChannelProvider defaultTransportChannelProvider() { 325 return defaultGrpcTransportProviderBuilder().build(); 326 } 327 328 @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") defaultGrpcApiClientHeaderProviderBuilder()329 public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() { 330 return ApiClientHeaderProvider.newBuilder() 331 .setGeneratedLibToken("gapic", GaxProperties.getLibraryVersion(VersionsStubSettings.class)) 332 .setTransportToken( 333 GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion()); 334 } 335 336 @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") defaultHttpJsonApiClientHeaderProviderBuilder()337 public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() { 338 return ApiClientHeaderProvider.newBuilder() 339 .setGeneratedLibToken("gapic", GaxProperties.getLibraryVersion(VersionsStubSettings.class)) 340 .setTransportToken( 341 GaxHttpJsonProperties.getHttpJsonTokenName(), 342 GaxHttpJsonProperties.getHttpJsonVersion()); 343 } 344 defaultApiClientHeaderProviderBuilder()345 public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { 346 return VersionsStubSettings.defaultGrpcApiClientHeaderProviderBuilder(); 347 } 348 349 /** Returns a new gRPC builder for this class. */ newBuilder()350 public static Builder newBuilder() { 351 return Builder.createDefault(); 352 } 353 354 /** Returns a new REST builder for this class. */ newHttpJsonBuilder()355 public static Builder newHttpJsonBuilder() { 356 return Builder.createHttpJsonDefault(); 357 } 358 359 /** Returns a new builder for this class. */ newBuilder(ClientContext clientContext)360 public static Builder newBuilder(ClientContext clientContext) { 361 return new Builder(clientContext); 362 } 363 364 /** Returns a builder containing all the values of this settings class. */ toBuilder()365 public Builder toBuilder() { 366 return new Builder(this); 367 } 368 VersionsStubSettings(Builder settingsBuilder)369 protected VersionsStubSettings(Builder settingsBuilder) throws IOException { 370 super(settingsBuilder); 371 372 listVersionsSettings = settingsBuilder.listVersionsSettings().build(); 373 getVersionSettings = settingsBuilder.getVersionSettings().build(); 374 createVersionSettings = settingsBuilder.createVersionSettings().build(); 375 updateVersionSettings = settingsBuilder.updateVersionSettings().build(); 376 deleteVersionSettings = settingsBuilder.deleteVersionSettings().build(); 377 listLocationsSettings = settingsBuilder.listLocationsSettings().build(); 378 getLocationSettings = settingsBuilder.getLocationSettings().build(); 379 } 380 381 /** Builder for VersionsStubSettings. */ 382 public static class Builder extends StubSettings.Builder<VersionsStubSettings, Builder> { 383 private final ImmutableList<UnaryCallSettings.Builder<?, ?>> unaryMethodSettingsBuilders; 384 private final PagedCallSettings.Builder< 385 ListVersionsRequest, ListVersionsResponse, ListVersionsPagedResponse> 386 listVersionsSettings; 387 private final UnaryCallSettings.Builder<GetVersionRequest, Version> getVersionSettings; 388 private final UnaryCallSettings.Builder<CreateVersionRequest, Version> createVersionSettings; 389 private final UnaryCallSettings.Builder<UpdateVersionRequest, Version> updateVersionSettings; 390 private final UnaryCallSettings.Builder<DeleteVersionRequest, Empty> deleteVersionSettings; 391 private final PagedCallSettings.Builder< 392 ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> 393 listLocationsSettings; 394 private final UnaryCallSettings.Builder<GetLocationRequest, Location> getLocationSettings; 395 private static final ImmutableMap<String, ImmutableSet<StatusCode.Code>> 396 RETRYABLE_CODE_DEFINITIONS; 397 398 static { 399 ImmutableMap.Builder<String, ImmutableSet<StatusCode.Code>> definitions = 400 ImmutableMap.builder(); 401 definitions.put( 402 "retry_policy_0_codes", 403 ImmutableSet.copyOf(Lists.<StatusCode.Code>newArrayList(StatusCode.Code.UNAVAILABLE))); 404 RETRYABLE_CODE_DEFINITIONS = definitions.build(); 405 } 406 407 private static final ImmutableMap<String, RetrySettings> RETRY_PARAM_DEFINITIONS; 408 409 static { 410 ImmutableMap.Builder<String, RetrySettings> definitions = ImmutableMap.builder(); 411 RetrySettings settings = null; 412 settings = 413 RetrySettings.newBuilder() 414 .setInitialRetryDelay(Duration.ofMillis(100L)) 415 .setRetryDelayMultiplier(1.3) 416 .setMaxRetryDelay(Duration.ofMillis(60000L)) 417 .setInitialRpcTimeout(Duration.ofMillis(60000L)) 418 .setRpcTimeoutMultiplier(1.0) 419 .setMaxRpcTimeout(Duration.ofMillis(60000L)) 420 .setTotalTimeout(Duration.ofMillis(60000L)) 421 .build(); 422 definitions.put("retry_policy_0_params", settings); 423 RETRY_PARAM_DEFINITIONS = definitions.build(); 424 } 425 Builder()426 protected Builder() { 427 this(((ClientContext) null)); 428 } 429 Builder(ClientContext clientContext)430 protected Builder(ClientContext clientContext) { 431 super(clientContext); 432 433 listVersionsSettings = PagedCallSettings.newBuilder(LIST_VERSIONS_PAGE_STR_FACT); 434 getVersionSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 435 createVersionSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 436 updateVersionSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 437 deleteVersionSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 438 listLocationsSettings = PagedCallSettings.newBuilder(LIST_LOCATIONS_PAGE_STR_FACT); 439 getLocationSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 440 441 unaryMethodSettingsBuilders = 442 ImmutableList.<UnaryCallSettings.Builder<?, ?>>of( 443 listVersionsSettings, 444 getVersionSettings, 445 createVersionSettings, 446 updateVersionSettings, 447 deleteVersionSettings, 448 listLocationsSettings, 449 getLocationSettings); 450 initDefaults(this); 451 } 452 Builder(VersionsStubSettings settings)453 protected Builder(VersionsStubSettings settings) { 454 super(settings); 455 456 listVersionsSettings = settings.listVersionsSettings.toBuilder(); 457 getVersionSettings = settings.getVersionSettings.toBuilder(); 458 createVersionSettings = settings.createVersionSettings.toBuilder(); 459 updateVersionSettings = settings.updateVersionSettings.toBuilder(); 460 deleteVersionSettings = settings.deleteVersionSettings.toBuilder(); 461 listLocationsSettings = settings.listLocationsSettings.toBuilder(); 462 getLocationSettings = settings.getLocationSettings.toBuilder(); 463 464 unaryMethodSettingsBuilders = 465 ImmutableList.<UnaryCallSettings.Builder<?, ?>>of( 466 listVersionsSettings, 467 getVersionSettings, 468 createVersionSettings, 469 updateVersionSettings, 470 deleteVersionSettings, 471 listLocationsSettings, 472 getLocationSettings); 473 } 474 createDefault()475 private static Builder createDefault() { 476 Builder builder = new Builder(((ClientContext) null)); 477 478 builder.setTransportChannelProvider(defaultTransportChannelProvider()); 479 builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); 480 builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build()); 481 builder.setEndpoint(getDefaultEndpoint()); 482 builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); 483 builder.setSwitchToMtlsEndpointAllowed(true); 484 485 return initDefaults(builder); 486 } 487 createHttpJsonDefault()488 private static Builder createHttpJsonDefault() { 489 Builder builder = new Builder(((ClientContext) null)); 490 491 builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build()); 492 builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); 493 builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build()); 494 builder.setEndpoint(getDefaultEndpoint()); 495 builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); 496 builder.setSwitchToMtlsEndpointAllowed(true); 497 498 return initDefaults(builder); 499 } 500 initDefaults(Builder builder)501 private static Builder initDefaults(Builder builder) { 502 builder 503 .listVersionsSettings() 504 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 505 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 506 507 builder 508 .getVersionSettings() 509 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 510 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 511 512 builder 513 .createVersionSettings() 514 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 515 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 516 517 builder 518 .updateVersionSettings() 519 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 520 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 521 522 builder 523 .deleteVersionSettings() 524 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 525 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 526 527 builder 528 .listLocationsSettings() 529 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 530 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 531 532 builder 533 .getLocationSettings() 534 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 535 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 536 537 return builder; 538 } 539 540 /** 541 * Applies the given settings updater function to all of the unary API methods in this service. 542 * 543 * <p>Note: This method does not support applying settings to streaming methods. 544 */ applyToAllUnaryMethods( ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater)545 public Builder applyToAllUnaryMethods( 546 ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater) { 547 super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater); 548 return this; 549 } 550 unaryMethodSettingsBuilders()551 public ImmutableList<UnaryCallSettings.Builder<?, ?>> unaryMethodSettingsBuilders() { 552 return unaryMethodSettingsBuilders; 553 } 554 555 /** Returns the builder for the settings used for calls to listVersions. */ 556 public PagedCallSettings.Builder< 557 ListVersionsRequest, ListVersionsResponse, ListVersionsPagedResponse> listVersionsSettings()558 listVersionsSettings() { 559 return listVersionsSettings; 560 } 561 562 /** Returns the builder for the settings used for calls to getVersion. */ getVersionSettings()563 public UnaryCallSettings.Builder<GetVersionRequest, Version> getVersionSettings() { 564 return getVersionSettings; 565 } 566 567 /** Returns the builder for the settings used for calls to createVersion. */ createVersionSettings()568 public UnaryCallSettings.Builder<CreateVersionRequest, Version> createVersionSettings() { 569 return createVersionSettings; 570 } 571 572 /** Returns the builder for the settings used for calls to updateVersion. */ updateVersionSettings()573 public UnaryCallSettings.Builder<UpdateVersionRequest, Version> updateVersionSettings() { 574 return updateVersionSettings; 575 } 576 577 /** Returns the builder for the settings used for calls to deleteVersion. */ deleteVersionSettings()578 public UnaryCallSettings.Builder<DeleteVersionRequest, Empty> deleteVersionSettings() { 579 return deleteVersionSettings; 580 } 581 582 /** Returns the builder for the settings used for calls to listLocations. */ 583 public PagedCallSettings.Builder< 584 ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> listLocationsSettings()585 listLocationsSettings() { 586 return listLocationsSettings; 587 } 588 589 /** Returns the builder for the settings used for calls to getLocation. */ getLocationSettings()590 public UnaryCallSettings.Builder<GetLocationRequest, Location> getLocationSettings() { 591 return getLocationSettings; 592 } 593 594 @Override build()595 public VersionsStubSettings build() throws IOException { 596 return new VersionsStubSettings(this); 597 } 598 } 599 } 600