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.ProjectsClient.GetXpnResourcesPagedResponse; 20 import static com.google.cloud.compute.v1.ProjectsClient.ListXpnHostsPagedResponse; 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.DisableXpnHostProjectRequest; 49 import com.google.cloud.compute.v1.DisableXpnResourceProjectRequest; 50 import com.google.cloud.compute.v1.EnableXpnHostProjectRequest; 51 import com.google.cloud.compute.v1.EnableXpnResourceProjectRequest; 52 import com.google.cloud.compute.v1.GetProjectRequest; 53 import com.google.cloud.compute.v1.GetXpnHostProjectRequest; 54 import com.google.cloud.compute.v1.GetXpnResourcesProjectsRequest; 55 import com.google.cloud.compute.v1.ListXpnHostsProjectsRequest; 56 import com.google.cloud.compute.v1.MoveDiskProjectRequest; 57 import com.google.cloud.compute.v1.MoveInstanceProjectRequest; 58 import com.google.cloud.compute.v1.Operation; 59 import com.google.cloud.compute.v1.Project; 60 import com.google.cloud.compute.v1.ProjectsGetXpnResources; 61 import com.google.cloud.compute.v1.SetCommonInstanceMetadataProjectRequest; 62 import com.google.cloud.compute.v1.SetDefaultNetworkTierProjectRequest; 63 import com.google.cloud.compute.v1.SetUsageExportBucketProjectRequest; 64 import com.google.cloud.compute.v1.XpnHostList; 65 import com.google.cloud.compute.v1.XpnResourceId; 66 import com.google.common.collect.ImmutableList; 67 import com.google.common.collect.ImmutableMap; 68 import com.google.common.collect.ImmutableSet; 69 import com.google.common.collect.Lists; 70 import java.io.IOException; 71 import java.util.List; 72 import javax.annotation.Generated; 73 import org.threeten.bp.Duration; 74 75 // AUTO-GENERATED DOCUMENTATION AND CLASS. 76 /** 77 * Settings class to configure an instance of {@link ProjectsStub}. 78 * 79 * <p>The default instance has everything set to sensible defaults: 80 * 81 * <ul> 82 * <li>The default service address (compute.googleapis.com) and default port (443) are used. 83 * <li>Credentials are acquired automatically through Application Default Credentials. 84 * <li>Retries are configured for idempotent methods but not for non-idempotent methods. 85 * </ul> 86 * 87 * <p>The builder of this class is recursive, so contained classes are themselves builders. When 88 * build() is called, the tree of builders is called to create the complete settings object. 89 * 90 * <p>For example, to set the total timeout of get to 30 seconds: 91 * 92 * <pre>{@code 93 * // This snippet has been automatically generated and should be regarded as a code template only. 94 * // It will require modifications to work: 95 * // - It may require correct/in-range values for request initialization. 96 * // - It may require specifying regional endpoints when creating the service client as shown in 97 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 98 * ProjectsStubSettings.Builder projectsSettingsBuilder = ProjectsStubSettings.newBuilder(); 99 * projectsSettingsBuilder 100 * .getSettings() 101 * .setRetrySettings( 102 * projectsSettingsBuilder 103 * .getSettings() 104 * .getRetrySettings() 105 * .toBuilder() 106 * .setTotalTimeout(Duration.ofSeconds(30)) 107 * .build()); 108 * ProjectsStubSettings projectsSettings = projectsSettingsBuilder.build(); 109 * }</pre> 110 */ 111 @Generated("by gapic-generator-java") 112 public class ProjectsStubSettings extends StubSettings<ProjectsStubSettings> { 113 /** The default scopes of the service. */ 114 private static final ImmutableList<String> DEFAULT_SERVICE_SCOPES = 115 ImmutableList.<String>builder() 116 .add("https://www.googleapis.com/auth/compute") 117 .add("https://www.googleapis.com/auth/cloud-platform") 118 .build(); 119 120 private final UnaryCallSettings<DisableXpnHostProjectRequest, Operation> disableXpnHostSettings; 121 private final OperationCallSettings<DisableXpnHostProjectRequest, Operation, Operation> 122 disableXpnHostOperationSettings; 123 private final UnaryCallSettings<DisableXpnResourceProjectRequest, Operation> 124 disableXpnResourceSettings; 125 private final OperationCallSettings<DisableXpnResourceProjectRequest, Operation, Operation> 126 disableXpnResourceOperationSettings; 127 private final UnaryCallSettings<EnableXpnHostProjectRequest, Operation> enableXpnHostSettings; 128 private final OperationCallSettings<EnableXpnHostProjectRequest, Operation, Operation> 129 enableXpnHostOperationSettings; 130 private final UnaryCallSettings<EnableXpnResourceProjectRequest, Operation> 131 enableXpnResourceSettings; 132 private final OperationCallSettings<EnableXpnResourceProjectRequest, Operation, Operation> 133 enableXpnResourceOperationSettings; 134 private final UnaryCallSettings<GetProjectRequest, Project> getSettings; 135 private final UnaryCallSettings<GetXpnHostProjectRequest, Project> getXpnHostSettings; 136 private final PagedCallSettings< 137 GetXpnResourcesProjectsRequest, ProjectsGetXpnResources, GetXpnResourcesPagedResponse> 138 getXpnResourcesSettings; 139 private final PagedCallSettings< 140 ListXpnHostsProjectsRequest, XpnHostList, ListXpnHostsPagedResponse> 141 listXpnHostsSettings; 142 private final UnaryCallSettings<MoveDiskProjectRequest, Operation> moveDiskSettings; 143 private final OperationCallSettings<MoveDiskProjectRequest, Operation, Operation> 144 moveDiskOperationSettings; 145 private final UnaryCallSettings<MoveInstanceProjectRequest, Operation> moveInstanceSettings; 146 private final OperationCallSettings<MoveInstanceProjectRequest, Operation, Operation> 147 moveInstanceOperationSettings; 148 private final UnaryCallSettings<SetCommonInstanceMetadataProjectRequest, Operation> 149 setCommonInstanceMetadataSettings; 150 private final OperationCallSettings<SetCommonInstanceMetadataProjectRequest, Operation, Operation> 151 setCommonInstanceMetadataOperationSettings; 152 private final UnaryCallSettings<SetDefaultNetworkTierProjectRequest, Operation> 153 setDefaultNetworkTierSettings; 154 private final OperationCallSettings<SetDefaultNetworkTierProjectRequest, Operation, Operation> 155 setDefaultNetworkTierOperationSettings; 156 private final UnaryCallSettings<SetUsageExportBucketProjectRequest, Operation> 157 setUsageExportBucketSettings; 158 private final OperationCallSettings<SetUsageExportBucketProjectRequest, Operation, Operation> 159 setUsageExportBucketOperationSettings; 160 161 private static final PagedListDescriptor< 162 GetXpnResourcesProjectsRequest, ProjectsGetXpnResources, XpnResourceId> 163 GET_XPN_RESOURCES_PAGE_STR_DESC = 164 new PagedListDescriptor< 165 GetXpnResourcesProjectsRequest, ProjectsGetXpnResources, XpnResourceId>() { 166 @Override 167 public String emptyToken() { 168 return ""; 169 } 170 171 @Override 172 public GetXpnResourcesProjectsRequest injectToken( 173 GetXpnResourcesProjectsRequest payload, String token) { 174 return GetXpnResourcesProjectsRequest.newBuilder(payload).setPageToken(token).build(); 175 } 176 177 @Override 178 public GetXpnResourcesProjectsRequest injectPageSize( 179 GetXpnResourcesProjectsRequest payload, int pageSize) { 180 return GetXpnResourcesProjectsRequest.newBuilder(payload) 181 .setMaxResults(pageSize) 182 .build(); 183 } 184 185 @Override 186 public Integer extractPageSize(GetXpnResourcesProjectsRequest payload) { 187 return payload.getMaxResults(); 188 } 189 190 @Override 191 public String extractNextToken(ProjectsGetXpnResources payload) { 192 return payload.getNextPageToken(); 193 } 194 195 @Override 196 public Iterable<XpnResourceId> extractResources(ProjectsGetXpnResources payload) { 197 return payload.getResourcesList() == null 198 ? ImmutableList.<XpnResourceId>of() 199 : payload.getResourcesList(); 200 } 201 }; 202 203 private static final PagedListDescriptor<ListXpnHostsProjectsRequest, XpnHostList, Project> 204 LIST_XPN_HOSTS_PAGE_STR_DESC = 205 new PagedListDescriptor<ListXpnHostsProjectsRequest, XpnHostList, Project>() { 206 @Override 207 public String emptyToken() { 208 return ""; 209 } 210 211 @Override 212 public ListXpnHostsProjectsRequest injectToken( 213 ListXpnHostsProjectsRequest payload, String token) { 214 return ListXpnHostsProjectsRequest.newBuilder(payload).setPageToken(token).build(); 215 } 216 217 @Override 218 public ListXpnHostsProjectsRequest injectPageSize( 219 ListXpnHostsProjectsRequest payload, int pageSize) { 220 return ListXpnHostsProjectsRequest.newBuilder(payload) 221 .setMaxResults(pageSize) 222 .build(); 223 } 224 225 @Override 226 public Integer extractPageSize(ListXpnHostsProjectsRequest payload) { 227 return payload.getMaxResults(); 228 } 229 230 @Override 231 public String extractNextToken(XpnHostList payload) { 232 return payload.getNextPageToken(); 233 } 234 235 @Override 236 public Iterable<Project> extractResources(XpnHostList payload) { 237 return payload.getItemsList() == null 238 ? ImmutableList.<Project>of() 239 : payload.getItemsList(); 240 } 241 }; 242 243 private static final PagedListResponseFactory< 244 GetXpnResourcesProjectsRequest, ProjectsGetXpnResources, GetXpnResourcesPagedResponse> 245 GET_XPN_RESOURCES_PAGE_STR_FACT = 246 new PagedListResponseFactory< 247 GetXpnResourcesProjectsRequest, 248 ProjectsGetXpnResources, 249 GetXpnResourcesPagedResponse>() { 250 @Override 251 public ApiFuture<GetXpnResourcesPagedResponse> getFuturePagedResponse( 252 UnaryCallable<GetXpnResourcesProjectsRequest, ProjectsGetXpnResources> callable, 253 GetXpnResourcesProjectsRequest request, 254 ApiCallContext context, 255 ApiFuture<ProjectsGetXpnResources> futureResponse) { 256 PageContext<GetXpnResourcesProjectsRequest, ProjectsGetXpnResources, XpnResourceId> 257 pageContext = 258 PageContext.create( 259 callable, GET_XPN_RESOURCES_PAGE_STR_DESC, request, context); 260 return GetXpnResourcesPagedResponse.createAsync(pageContext, futureResponse); 261 } 262 }; 263 264 private static final PagedListResponseFactory< 265 ListXpnHostsProjectsRequest, XpnHostList, ListXpnHostsPagedResponse> 266 LIST_XPN_HOSTS_PAGE_STR_FACT = 267 new PagedListResponseFactory< 268 ListXpnHostsProjectsRequest, XpnHostList, ListXpnHostsPagedResponse>() { 269 @Override 270 public ApiFuture<ListXpnHostsPagedResponse> getFuturePagedResponse( 271 UnaryCallable<ListXpnHostsProjectsRequest, XpnHostList> callable, 272 ListXpnHostsProjectsRequest request, 273 ApiCallContext context, 274 ApiFuture<XpnHostList> futureResponse) { 275 PageContext<ListXpnHostsProjectsRequest, XpnHostList, Project> pageContext = 276 PageContext.create(callable, LIST_XPN_HOSTS_PAGE_STR_DESC, request, context); 277 return ListXpnHostsPagedResponse.createAsync(pageContext, futureResponse); 278 } 279 }; 280 281 /** Returns the object with the settings used for calls to disableXpnHost. */ disableXpnHostSettings()282 public UnaryCallSettings<DisableXpnHostProjectRequest, Operation> disableXpnHostSettings() { 283 return disableXpnHostSettings; 284 } 285 286 /** Returns the object with the settings used for calls to disableXpnHost. */ 287 public OperationCallSettings<DisableXpnHostProjectRequest, Operation, Operation> disableXpnHostOperationSettings()288 disableXpnHostOperationSettings() { 289 return disableXpnHostOperationSettings; 290 } 291 292 /** Returns the object with the settings used for calls to disableXpnResource. */ 293 public UnaryCallSettings<DisableXpnResourceProjectRequest, Operation> disableXpnResourceSettings()294 disableXpnResourceSettings() { 295 return disableXpnResourceSettings; 296 } 297 298 /** Returns the object with the settings used for calls to disableXpnResource. */ 299 public OperationCallSettings<DisableXpnResourceProjectRequest, Operation, Operation> disableXpnResourceOperationSettings()300 disableXpnResourceOperationSettings() { 301 return disableXpnResourceOperationSettings; 302 } 303 304 /** Returns the object with the settings used for calls to enableXpnHost. */ enableXpnHostSettings()305 public UnaryCallSettings<EnableXpnHostProjectRequest, Operation> enableXpnHostSettings() { 306 return enableXpnHostSettings; 307 } 308 309 /** Returns the object with the settings used for calls to enableXpnHost. */ 310 public OperationCallSettings<EnableXpnHostProjectRequest, Operation, Operation> enableXpnHostOperationSettings()311 enableXpnHostOperationSettings() { 312 return enableXpnHostOperationSettings; 313 } 314 315 /** Returns the object with the settings used for calls to enableXpnResource. */ enableXpnResourceSettings()316 public UnaryCallSettings<EnableXpnResourceProjectRequest, Operation> enableXpnResourceSettings() { 317 return enableXpnResourceSettings; 318 } 319 320 /** Returns the object with the settings used for calls to enableXpnResource. */ 321 public OperationCallSettings<EnableXpnResourceProjectRequest, Operation, Operation> enableXpnResourceOperationSettings()322 enableXpnResourceOperationSettings() { 323 return enableXpnResourceOperationSettings; 324 } 325 326 /** Returns the object with the settings used for calls to get. */ getSettings()327 public UnaryCallSettings<GetProjectRequest, Project> getSettings() { 328 return getSettings; 329 } 330 331 /** Returns the object with the settings used for calls to getXpnHost. */ getXpnHostSettings()332 public UnaryCallSettings<GetXpnHostProjectRequest, Project> getXpnHostSettings() { 333 return getXpnHostSettings; 334 } 335 336 /** Returns the object with the settings used for calls to getXpnResources. */ 337 public PagedCallSettings< 338 GetXpnResourcesProjectsRequest, ProjectsGetXpnResources, GetXpnResourcesPagedResponse> getXpnResourcesSettings()339 getXpnResourcesSettings() { 340 return getXpnResourcesSettings; 341 } 342 343 /** Returns the object with the settings used for calls to listXpnHosts. */ 344 public PagedCallSettings<ListXpnHostsProjectsRequest, XpnHostList, ListXpnHostsPagedResponse> listXpnHostsSettings()345 listXpnHostsSettings() { 346 return listXpnHostsSettings; 347 } 348 349 /** Returns the object with the settings used for calls to moveDisk. */ moveDiskSettings()350 public UnaryCallSettings<MoveDiskProjectRequest, Operation> moveDiskSettings() { 351 return moveDiskSettings; 352 } 353 354 /** Returns the object with the settings used for calls to moveDisk. */ 355 public OperationCallSettings<MoveDiskProjectRequest, Operation, Operation> moveDiskOperationSettings()356 moveDiskOperationSettings() { 357 return moveDiskOperationSettings; 358 } 359 360 /** Returns the object with the settings used for calls to moveInstance. */ moveInstanceSettings()361 public UnaryCallSettings<MoveInstanceProjectRequest, Operation> moveInstanceSettings() { 362 return moveInstanceSettings; 363 } 364 365 /** Returns the object with the settings used for calls to moveInstance. */ 366 public OperationCallSettings<MoveInstanceProjectRequest, Operation, Operation> moveInstanceOperationSettings()367 moveInstanceOperationSettings() { 368 return moveInstanceOperationSettings; 369 } 370 371 /** Returns the object with the settings used for calls to setCommonInstanceMetadata. */ 372 public UnaryCallSettings<SetCommonInstanceMetadataProjectRequest, Operation> setCommonInstanceMetadataSettings()373 setCommonInstanceMetadataSettings() { 374 return setCommonInstanceMetadataSettings; 375 } 376 377 /** Returns the object with the settings used for calls to setCommonInstanceMetadata. */ 378 public OperationCallSettings<SetCommonInstanceMetadataProjectRequest, Operation, Operation> setCommonInstanceMetadataOperationSettings()379 setCommonInstanceMetadataOperationSettings() { 380 return setCommonInstanceMetadataOperationSettings; 381 } 382 383 /** Returns the object with the settings used for calls to setDefaultNetworkTier. */ 384 public UnaryCallSettings<SetDefaultNetworkTierProjectRequest, Operation> setDefaultNetworkTierSettings()385 setDefaultNetworkTierSettings() { 386 return setDefaultNetworkTierSettings; 387 } 388 389 /** Returns the object with the settings used for calls to setDefaultNetworkTier. */ 390 public OperationCallSettings<SetDefaultNetworkTierProjectRequest, Operation, Operation> setDefaultNetworkTierOperationSettings()391 setDefaultNetworkTierOperationSettings() { 392 return setDefaultNetworkTierOperationSettings; 393 } 394 395 /** Returns the object with the settings used for calls to setUsageExportBucket. */ 396 public UnaryCallSettings<SetUsageExportBucketProjectRequest, Operation> setUsageExportBucketSettings()397 setUsageExportBucketSettings() { 398 return setUsageExportBucketSettings; 399 } 400 401 /** Returns the object with the settings used for calls to setUsageExportBucket. */ 402 public OperationCallSettings<SetUsageExportBucketProjectRequest, Operation, Operation> setUsageExportBucketOperationSettings()403 setUsageExportBucketOperationSettings() { 404 return setUsageExportBucketOperationSettings; 405 } 406 createStub()407 public ProjectsStub createStub() throws IOException { 408 if (getTransportChannelProvider() 409 .getTransportName() 410 .equals(HttpJsonTransportChannel.getHttpJsonTransportName())) { 411 return HttpJsonProjectsStub.create(this); 412 } 413 throw new UnsupportedOperationException( 414 String.format( 415 "Transport not supported: %s", getTransportChannelProvider().getTransportName())); 416 } 417 418 /** Returns a builder for the default ExecutorProvider for this service. */ defaultExecutorProviderBuilder()419 public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { 420 return InstantiatingExecutorProvider.newBuilder(); 421 } 422 423 /** Returns the default service endpoint. */ getDefaultEndpoint()424 public static String getDefaultEndpoint() { 425 return "compute.googleapis.com:443"; 426 } 427 428 /** Returns the default mTLS service endpoint. */ getDefaultMtlsEndpoint()429 public static String getDefaultMtlsEndpoint() { 430 return "compute.mtls.googleapis.com:443"; 431 } 432 433 /** Returns the default service scopes. */ getDefaultServiceScopes()434 public static List<String> getDefaultServiceScopes() { 435 return DEFAULT_SERVICE_SCOPES; 436 } 437 438 /** Returns a builder for the default credentials for this service. */ defaultCredentialsProviderBuilder()439 public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { 440 return GoogleCredentialsProvider.newBuilder() 441 .setScopesToApply(DEFAULT_SERVICE_SCOPES) 442 .setUseJwtAccessWithScope(true); 443 } 444 445 /** Returns a builder for the default ChannelProvider for this service. */ 446 public static InstantiatingHttpJsonChannelProvider.Builder defaultHttpJsonTransportProviderBuilder()447 defaultHttpJsonTransportProviderBuilder() { 448 return InstantiatingHttpJsonChannelProvider.newBuilder(); 449 } 450 defaultTransportChannelProvider()451 public static TransportChannelProvider defaultTransportChannelProvider() { 452 return defaultHttpJsonTransportProviderBuilder().build(); 453 } 454 455 @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") defaultApiClientHeaderProviderBuilder()456 public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { 457 return ApiClientHeaderProvider.newBuilder() 458 .setGeneratedLibToken("gapic", GaxProperties.getLibraryVersion(ProjectsStubSettings.class)) 459 .setTransportToken( 460 GaxHttpJsonProperties.getHttpJsonTokenName(), 461 GaxHttpJsonProperties.getHttpJsonVersion()); 462 } 463 464 /** Returns a new builder for this class. */ newBuilder()465 public static Builder newBuilder() { 466 return Builder.createDefault(); 467 } 468 469 /** Returns a new builder for this class. */ newBuilder(ClientContext clientContext)470 public static Builder newBuilder(ClientContext clientContext) { 471 return new Builder(clientContext); 472 } 473 474 /** Returns a builder containing all the values of this settings class. */ toBuilder()475 public Builder toBuilder() { 476 return new Builder(this); 477 } 478 ProjectsStubSettings(Builder settingsBuilder)479 protected ProjectsStubSettings(Builder settingsBuilder) throws IOException { 480 super(settingsBuilder); 481 482 disableXpnHostSettings = settingsBuilder.disableXpnHostSettings().build(); 483 disableXpnHostOperationSettings = settingsBuilder.disableXpnHostOperationSettings().build(); 484 disableXpnResourceSettings = settingsBuilder.disableXpnResourceSettings().build(); 485 disableXpnResourceOperationSettings = 486 settingsBuilder.disableXpnResourceOperationSettings().build(); 487 enableXpnHostSettings = settingsBuilder.enableXpnHostSettings().build(); 488 enableXpnHostOperationSettings = settingsBuilder.enableXpnHostOperationSettings().build(); 489 enableXpnResourceSettings = settingsBuilder.enableXpnResourceSettings().build(); 490 enableXpnResourceOperationSettings = 491 settingsBuilder.enableXpnResourceOperationSettings().build(); 492 getSettings = settingsBuilder.getSettings().build(); 493 getXpnHostSettings = settingsBuilder.getXpnHostSettings().build(); 494 getXpnResourcesSettings = settingsBuilder.getXpnResourcesSettings().build(); 495 listXpnHostsSettings = settingsBuilder.listXpnHostsSettings().build(); 496 moveDiskSettings = settingsBuilder.moveDiskSettings().build(); 497 moveDiskOperationSettings = settingsBuilder.moveDiskOperationSettings().build(); 498 moveInstanceSettings = settingsBuilder.moveInstanceSettings().build(); 499 moveInstanceOperationSettings = settingsBuilder.moveInstanceOperationSettings().build(); 500 setCommonInstanceMetadataSettings = settingsBuilder.setCommonInstanceMetadataSettings().build(); 501 setCommonInstanceMetadataOperationSettings = 502 settingsBuilder.setCommonInstanceMetadataOperationSettings().build(); 503 setDefaultNetworkTierSettings = settingsBuilder.setDefaultNetworkTierSettings().build(); 504 setDefaultNetworkTierOperationSettings = 505 settingsBuilder.setDefaultNetworkTierOperationSettings().build(); 506 setUsageExportBucketSettings = settingsBuilder.setUsageExportBucketSettings().build(); 507 setUsageExportBucketOperationSettings = 508 settingsBuilder.setUsageExportBucketOperationSettings().build(); 509 } 510 511 /** Builder for ProjectsStubSettings. */ 512 public static class Builder extends StubSettings.Builder<ProjectsStubSettings, Builder> { 513 private final ImmutableList<UnaryCallSettings.Builder<?, ?>> unaryMethodSettingsBuilders; 514 private final UnaryCallSettings.Builder<DisableXpnHostProjectRequest, Operation> 515 disableXpnHostSettings; 516 private final OperationCallSettings.Builder<DisableXpnHostProjectRequest, Operation, Operation> 517 disableXpnHostOperationSettings; 518 private final UnaryCallSettings.Builder<DisableXpnResourceProjectRequest, Operation> 519 disableXpnResourceSettings; 520 private final OperationCallSettings.Builder< 521 DisableXpnResourceProjectRequest, Operation, Operation> 522 disableXpnResourceOperationSettings; 523 private final UnaryCallSettings.Builder<EnableXpnHostProjectRequest, Operation> 524 enableXpnHostSettings; 525 private final OperationCallSettings.Builder<EnableXpnHostProjectRequest, Operation, Operation> 526 enableXpnHostOperationSettings; 527 private final UnaryCallSettings.Builder<EnableXpnResourceProjectRequest, Operation> 528 enableXpnResourceSettings; 529 private final OperationCallSettings.Builder< 530 EnableXpnResourceProjectRequest, Operation, Operation> 531 enableXpnResourceOperationSettings; 532 private final UnaryCallSettings.Builder<GetProjectRequest, Project> getSettings; 533 private final UnaryCallSettings.Builder<GetXpnHostProjectRequest, Project> getXpnHostSettings; 534 private final PagedCallSettings.Builder< 535 GetXpnResourcesProjectsRequest, ProjectsGetXpnResources, GetXpnResourcesPagedResponse> 536 getXpnResourcesSettings; 537 private final PagedCallSettings.Builder< 538 ListXpnHostsProjectsRequest, XpnHostList, ListXpnHostsPagedResponse> 539 listXpnHostsSettings; 540 private final UnaryCallSettings.Builder<MoveDiskProjectRequest, Operation> moveDiskSettings; 541 private final OperationCallSettings.Builder<MoveDiskProjectRequest, Operation, Operation> 542 moveDiskOperationSettings; 543 private final UnaryCallSettings.Builder<MoveInstanceProjectRequest, Operation> 544 moveInstanceSettings; 545 private final OperationCallSettings.Builder<MoveInstanceProjectRequest, Operation, Operation> 546 moveInstanceOperationSettings; 547 private final UnaryCallSettings.Builder<SetCommonInstanceMetadataProjectRequest, Operation> 548 setCommonInstanceMetadataSettings; 549 private final OperationCallSettings.Builder< 550 SetCommonInstanceMetadataProjectRequest, Operation, Operation> 551 setCommonInstanceMetadataOperationSettings; 552 private final UnaryCallSettings.Builder<SetDefaultNetworkTierProjectRequest, Operation> 553 setDefaultNetworkTierSettings; 554 private final OperationCallSettings.Builder< 555 SetDefaultNetworkTierProjectRequest, Operation, Operation> 556 setDefaultNetworkTierOperationSettings; 557 private final UnaryCallSettings.Builder<SetUsageExportBucketProjectRequest, Operation> 558 setUsageExportBucketSettings; 559 private final OperationCallSettings.Builder< 560 SetUsageExportBucketProjectRequest, Operation, Operation> 561 setUsageExportBucketOperationSettings; 562 private static final ImmutableMap<String, ImmutableSet<StatusCode.Code>> 563 RETRYABLE_CODE_DEFINITIONS; 564 565 static { 566 ImmutableMap.Builder<String, ImmutableSet<StatusCode.Code>> definitions = 567 ImmutableMap.builder(); 568 definitions.put( 569 "no_retry_1_codes", ImmutableSet.copyOf(Lists.<StatusCode.Code>newArrayList())); 570 definitions.put( 571 "retry_policy_0_codes", 572 ImmutableSet.copyOf( 573 Lists.<StatusCode.Code>newArrayList( 574 StatusCode.Code.DEADLINE_EXCEEDED, StatusCode.Code.UNAVAILABLE))); 575 RETRYABLE_CODE_DEFINITIONS = definitions.build(); 576 } 577 578 private static final ImmutableMap<String, RetrySettings> RETRY_PARAM_DEFINITIONS; 579 580 static { 581 ImmutableMap.Builder<String, RetrySettings> definitions = ImmutableMap.builder(); 582 RetrySettings settings = null; 583 settings = 584 RetrySettings.newBuilder() 585 .setInitialRpcTimeout(Duration.ofMillis(600000L)) 586 .setRpcTimeoutMultiplier(1.0) 587 .setMaxRpcTimeout(Duration.ofMillis(600000L)) 588 .setTotalTimeout(Duration.ofMillis(600000L)) 589 .build(); 590 definitions.put("no_retry_1_params", settings); 591 settings = 592 RetrySettings.newBuilder() 593 .setInitialRetryDelay(Duration.ofMillis(100L)) 594 .setRetryDelayMultiplier(1.3) 595 .setMaxRetryDelay(Duration.ofMillis(60000L)) 596 .setInitialRpcTimeout(Duration.ofMillis(600000L)) 597 .setRpcTimeoutMultiplier(1.0) 598 .setMaxRpcTimeout(Duration.ofMillis(600000L)) 599 .setTotalTimeout(Duration.ofMillis(600000L)) 600 .build(); 601 definitions.put("retry_policy_0_params", settings); 602 RETRY_PARAM_DEFINITIONS = definitions.build(); 603 } 604 Builder()605 protected Builder() { 606 this(((ClientContext) null)); 607 } 608 Builder(ClientContext clientContext)609 protected Builder(ClientContext clientContext) { 610 super(clientContext); 611 612 disableXpnHostSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 613 disableXpnHostOperationSettings = OperationCallSettings.newBuilder(); 614 disableXpnResourceSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 615 disableXpnResourceOperationSettings = OperationCallSettings.newBuilder(); 616 enableXpnHostSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 617 enableXpnHostOperationSettings = OperationCallSettings.newBuilder(); 618 enableXpnResourceSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 619 enableXpnResourceOperationSettings = OperationCallSettings.newBuilder(); 620 getSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 621 getXpnHostSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 622 getXpnResourcesSettings = PagedCallSettings.newBuilder(GET_XPN_RESOURCES_PAGE_STR_FACT); 623 listXpnHostsSettings = PagedCallSettings.newBuilder(LIST_XPN_HOSTS_PAGE_STR_FACT); 624 moveDiskSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 625 moveDiskOperationSettings = OperationCallSettings.newBuilder(); 626 moveInstanceSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 627 moveInstanceOperationSettings = OperationCallSettings.newBuilder(); 628 setCommonInstanceMetadataSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 629 setCommonInstanceMetadataOperationSettings = OperationCallSettings.newBuilder(); 630 setDefaultNetworkTierSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 631 setDefaultNetworkTierOperationSettings = OperationCallSettings.newBuilder(); 632 setUsageExportBucketSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 633 setUsageExportBucketOperationSettings = OperationCallSettings.newBuilder(); 634 635 unaryMethodSettingsBuilders = 636 ImmutableList.<UnaryCallSettings.Builder<?, ?>>of( 637 disableXpnHostSettings, 638 disableXpnResourceSettings, 639 enableXpnHostSettings, 640 enableXpnResourceSettings, 641 getSettings, 642 getXpnHostSettings, 643 getXpnResourcesSettings, 644 listXpnHostsSettings, 645 moveDiskSettings, 646 moveInstanceSettings, 647 setCommonInstanceMetadataSettings, 648 setDefaultNetworkTierSettings, 649 setUsageExportBucketSettings); 650 initDefaults(this); 651 } 652 Builder(ProjectsStubSettings settings)653 protected Builder(ProjectsStubSettings settings) { 654 super(settings); 655 656 disableXpnHostSettings = settings.disableXpnHostSettings.toBuilder(); 657 disableXpnHostOperationSettings = settings.disableXpnHostOperationSettings.toBuilder(); 658 disableXpnResourceSettings = settings.disableXpnResourceSettings.toBuilder(); 659 disableXpnResourceOperationSettings = 660 settings.disableXpnResourceOperationSettings.toBuilder(); 661 enableXpnHostSettings = settings.enableXpnHostSettings.toBuilder(); 662 enableXpnHostOperationSettings = settings.enableXpnHostOperationSettings.toBuilder(); 663 enableXpnResourceSettings = settings.enableXpnResourceSettings.toBuilder(); 664 enableXpnResourceOperationSettings = settings.enableXpnResourceOperationSettings.toBuilder(); 665 getSettings = settings.getSettings.toBuilder(); 666 getXpnHostSettings = settings.getXpnHostSettings.toBuilder(); 667 getXpnResourcesSettings = settings.getXpnResourcesSettings.toBuilder(); 668 listXpnHostsSettings = settings.listXpnHostsSettings.toBuilder(); 669 moveDiskSettings = settings.moveDiskSettings.toBuilder(); 670 moveDiskOperationSettings = settings.moveDiskOperationSettings.toBuilder(); 671 moveInstanceSettings = settings.moveInstanceSettings.toBuilder(); 672 moveInstanceOperationSettings = settings.moveInstanceOperationSettings.toBuilder(); 673 setCommonInstanceMetadataSettings = settings.setCommonInstanceMetadataSettings.toBuilder(); 674 setCommonInstanceMetadataOperationSettings = 675 settings.setCommonInstanceMetadataOperationSettings.toBuilder(); 676 setDefaultNetworkTierSettings = settings.setDefaultNetworkTierSettings.toBuilder(); 677 setDefaultNetworkTierOperationSettings = 678 settings.setDefaultNetworkTierOperationSettings.toBuilder(); 679 setUsageExportBucketSettings = settings.setUsageExportBucketSettings.toBuilder(); 680 setUsageExportBucketOperationSettings = 681 settings.setUsageExportBucketOperationSettings.toBuilder(); 682 683 unaryMethodSettingsBuilders = 684 ImmutableList.<UnaryCallSettings.Builder<?, ?>>of( 685 disableXpnHostSettings, 686 disableXpnResourceSettings, 687 enableXpnHostSettings, 688 enableXpnResourceSettings, 689 getSettings, 690 getXpnHostSettings, 691 getXpnResourcesSettings, 692 listXpnHostsSettings, 693 moveDiskSettings, 694 moveInstanceSettings, 695 setCommonInstanceMetadataSettings, 696 setDefaultNetworkTierSettings, 697 setUsageExportBucketSettings); 698 } 699 createDefault()700 private static Builder createDefault() { 701 Builder builder = new Builder(((ClientContext) null)); 702 703 builder.setTransportChannelProvider(defaultTransportChannelProvider()); 704 builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); 705 builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build()); 706 builder.setEndpoint(getDefaultEndpoint()); 707 builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); 708 builder.setSwitchToMtlsEndpointAllowed(true); 709 710 return initDefaults(builder); 711 } 712 initDefaults(Builder builder)713 private static Builder initDefaults(Builder builder) { 714 builder 715 .disableXpnHostSettings() 716 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 717 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 718 719 builder 720 .disableXpnResourceSettings() 721 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 722 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 723 724 builder 725 .enableXpnHostSettings() 726 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 727 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 728 729 builder 730 .enableXpnResourceSettings() 731 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 732 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 733 734 builder 735 .getSettings() 736 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 737 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 738 739 builder 740 .getXpnHostSettings() 741 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 742 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 743 744 builder 745 .getXpnResourcesSettings() 746 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 747 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 748 749 builder 750 .listXpnHostsSettings() 751 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 752 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 753 754 builder 755 .moveDiskSettings() 756 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 757 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 758 759 builder 760 .moveInstanceSettings() 761 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 762 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 763 764 builder 765 .setCommonInstanceMetadataSettings() 766 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 767 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 768 769 builder 770 .setDefaultNetworkTierSettings() 771 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 772 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 773 774 builder 775 .setUsageExportBucketSettings() 776 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 777 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); 778 779 builder 780 .disableXpnHostOperationSettings() 781 .setInitialCallSettings( 782 UnaryCallSettings 783 .<DisableXpnHostProjectRequest, OperationSnapshot>newUnaryCallSettingsBuilder() 784 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 785 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 786 .build()) 787 .setResponseTransformer( 788 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 789 .setMetadataTransformer( 790 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 791 .setPollingAlgorithm( 792 OperationTimedPollAlgorithm.create( 793 RetrySettings.newBuilder() 794 .setInitialRetryDelay(Duration.ofMillis(500L)) 795 .setRetryDelayMultiplier(1.5) 796 .setMaxRetryDelay(Duration.ofMillis(20000L)) 797 .setInitialRpcTimeout(Duration.ZERO) 798 .setRpcTimeoutMultiplier(1.0) 799 .setMaxRpcTimeout(Duration.ZERO) 800 .setTotalTimeout(Duration.ofMillis(600000L)) 801 .build())); 802 803 builder 804 .disableXpnResourceOperationSettings() 805 .setInitialCallSettings( 806 UnaryCallSettings 807 .<DisableXpnResourceProjectRequest, OperationSnapshot> 808 newUnaryCallSettingsBuilder() 809 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 810 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 811 .build()) 812 .setResponseTransformer( 813 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 814 .setMetadataTransformer( 815 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 816 .setPollingAlgorithm( 817 OperationTimedPollAlgorithm.create( 818 RetrySettings.newBuilder() 819 .setInitialRetryDelay(Duration.ofMillis(500L)) 820 .setRetryDelayMultiplier(1.5) 821 .setMaxRetryDelay(Duration.ofMillis(20000L)) 822 .setInitialRpcTimeout(Duration.ZERO) 823 .setRpcTimeoutMultiplier(1.0) 824 .setMaxRpcTimeout(Duration.ZERO) 825 .setTotalTimeout(Duration.ofMillis(600000L)) 826 .build())); 827 828 builder 829 .enableXpnHostOperationSettings() 830 .setInitialCallSettings( 831 UnaryCallSettings 832 .<EnableXpnHostProjectRequest, OperationSnapshot>newUnaryCallSettingsBuilder() 833 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 834 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 835 .build()) 836 .setResponseTransformer( 837 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 838 .setMetadataTransformer( 839 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 840 .setPollingAlgorithm( 841 OperationTimedPollAlgorithm.create( 842 RetrySettings.newBuilder() 843 .setInitialRetryDelay(Duration.ofMillis(500L)) 844 .setRetryDelayMultiplier(1.5) 845 .setMaxRetryDelay(Duration.ofMillis(20000L)) 846 .setInitialRpcTimeout(Duration.ZERO) 847 .setRpcTimeoutMultiplier(1.0) 848 .setMaxRpcTimeout(Duration.ZERO) 849 .setTotalTimeout(Duration.ofMillis(600000L)) 850 .build())); 851 852 builder 853 .enableXpnResourceOperationSettings() 854 .setInitialCallSettings( 855 UnaryCallSettings 856 .<EnableXpnResourceProjectRequest, OperationSnapshot>newUnaryCallSettingsBuilder() 857 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 858 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 859 .build()) 860 .setResponseTransformer( 861 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 862 .setMetadataTransformer( 863 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 864 .setPollingAlgorithm( 865 OperationTimedPollAlgorithm.create( 866 RetrySettings.newBuilder() 867 .setInitialRetryDelay(Duration.ofMillis(500L)) 868 .setRetryDelayMultiplier(1.5) 869 .setMaxRetryDelay(Duration.ofMillis(20000L)) 870 .setInitialRpcTimeout(Duration.ZERO) 871 .setRpcTimeoutMultiplier(1.0) 872 .setMaxRpcTimeout(Duration.ZERO) 873 .setTotalTimeout(Duration.ofMillis(600000L)) 874 .build())); 875 876 builder 877 .moveDiskOperationSettings() 878 .setInitialCallSettings( 879 UnaryCallSettings 880 .<MoveDiskProjectRequest, OperationSnapshot>newUnaryCallSettingsBuilder() 881 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 882 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 883 .build()) 884 .setResponseTransformer( 885 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 886 .setMetadataTransformer( 887 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 888 .setPollingAlgorithm( 889 OperationTimedPollAlgorithm.create( 890 RetrySettings.newBuilder() 891 .setInitialRetryDelay(Duration.ofMillis(500L)) 892 .setRetryDelayMultiplier(1.5) 893 .setMaxRetryDelay(Duration.ofMillis(20000L)) 894 .setInitialRpcTimeout(Duration.ZERO) 895 .setRpcTimeoutMultiplier(1.0) 896 .setMaxRpcTimeout(Duration.ZERO) 897 .setTotalTimeout(Duration.ofMillis(600000L)) 898 .build())); 899 900 builder 901 .moveInstanceOperationSettings() 902 .setInitialCallSettings( 903 UnaryCallSettings 904 .<MoveInstanceProjectRequest, OperationSnapshot>newUnaryCallSettingsBuilder() 905 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 906 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 907 .build()) 908 .setResponseTransformer( 909 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 910 .setMetadataTransformer( 911 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 912 .setPollingAlgorithm( 913 OperationTimedPollAlgorithm.create( 914 RetrySettings.newBuilder() 915 .setInitialRetryDelay(Duration.ofMillis(500L)) 916 .setRetryDelayMultiplier(1.5) 917 .setMaxRetryDelay(Duration.ofMillis(20000L)) 918 .setInitialRpcTimeout(Duration.ZERO) 919 .setRpcTimeoutMultiplier(1.0) 920 .setMaxRpcTimeout(Duration.ZERO) 921 .setTotalTimeout(Duration.ofMillis(600000L)) 922 .build())); 923 924 builder 925 .setCommonInstanceMetadataOperationSettings() 926 .setInitialCallSettings( 927 UnaryCallSettings 928 .<SetCommonInstanceMetadataProjectRequest, OperationSnapshot> 929 newUnaryCallSettingsBuilder() 930 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 931 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 932 .build()) 933 .setResponseTransformer( 934 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 935 .setMetadataTransformer( 936 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 937 .setPollingAlgorithm( 938 OperationTimedPollAlgorithm.create( 939 RetrySettings.newBuilder() 940 .setInitialRetryDelay(Duration.ofMillis(500L)) 941 .setRetryDelayMultiplier(1.5) 942 .setMaxRetryDelay(Duration.ofMillis(20000L)) 943 .setInitialRpcTimeout(Duration.ZERO) 944 .setRpcTimeoutMultiplier(1.0) 945 .setMaxRpcTimeout(Duration.ZERO) 946 .setTotalTimeout(Duration.ofMillis(600000L)) 947 .build())); 948 949 builder 950 .setDefaultNetworkTierOperationSettings() 951 .setInitialCallSettings( 952 UnaryCallSettings 953 .<SetDefaultNetworkTierProjectRequest, OperationSnapshot> 954 newUnaryCallSettingsBuilder() 955 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 956 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 957 .build()) 958 .setResponseTransformer( 959 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 960 .setMetadataTransformer( 961 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 962 .setPollingAlgorithm( 963 OperationTimedPollAlgorithm.create( 964 RetrySettings.newBuilder() 965 .setInitialRetryDelay(Duration.ofMillis(500L)) 966 .setRetryDelayMultiplier(1.5) 967 .setMaxRetryDelay(Duration.ofMillis(20000L)) 968 .setInitialRpcTimeout(Duration.ZERO) 969 .setRpcTimeoutMultiplier(1.0) 970 .setMaxRpcTimeout(Duration.ZERO) 971 .setTotalTimeout(Duration.ofMillis(600000L)) 972 .build())); 973 974 builder 975 .setUsageExportBucketOperationSettings() 976 .setInitialCallSettings( 977 UnaryCallSettings 978 .<SetUsageExportBucketProjectRequest, OperationSnapshot> 979 newUnaryCallSettingsBuilder() 980 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) 981 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) 982 .build()) 983 .setResponseTransformer( 984 ProtoOperationTransformers.ResponseTransformer.create(Operation.class)) 985 .setMetadataTransformer( 986 ProtoOperationTransformers.MetadataTransformer.create(Operation.class)) 987 .setPollingAlgorithm( 988 OperationTimedPollAlgorithm.create( 989 RetrySettings.newBuilder() 990 .setInitialRetryDelay(Duration.ofMillis(500L)) 991 .setRetryDelayMultiplier(1.5) 992 .setMaxRetryDelay(Duration.ofMillis(20000L)) 993 .setInitialRpcTimeout(Duration.ZERO) 994 .setRpcTimeoutMultiplier(1.0) 995 .setMaxRpcTimeout(Duration.ZERO) 996 .setTotalTimeout(Duration.ofMillis(600000L)) 997 .build())); 998 999 return builder; 1000 } 1001 1002 /** 1003 * Applies the given settings updater function to all of the unary API methods in this service. 1004 * 1005 * <p>Note: This method does not support applying settings to streaming methods. 1006 */ applyToAllUnaryMethods( ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater)1007 public Builder applyToAllUnaryMethods( 1008 ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater) { 1009 super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater); 1010 return this; 1011 } 1012 unaryMethodSettingsBuilders()1013 public ImmutableList<UnaryCallSettings.Builder<?, ?>> unaryMethodSettingsBuilders() { 1014 return unaryMethodSettingsBuilders; 1015 } 1016 1017 /** Returns the builder for the settings used for calls to disableXpnHost. */ 1018 public UnaryCallSettings.Builder<DisableXpnHostProjectRequest, Operation> disableXpnHostSettings()1019 disableXpnHostSettings() { 1020 return disableXpnHostSettings; 1021 } 1022 1023 /** Returns the builder for the settings used for calls to disableXpnHost. */ 1024 @BetaApi( 1025 "The surface for use by generated code is not stable yet and may change in the future.") 1026 public OperationCallSettings.Builder<DisableXpnHostProjectRequest, Operation, Operation> disableXpnHostOperationSettings()1027 disableXpnHostOperationSettings() { 1028 return disableXpnHostOperationSettings; 1029 } 1030 1031 /** Returns the builder for the settings used for calls to disableXpnResource. */ 1032 public UnaryCallSettings.Builder<DisableXpnResourceProjectRequest, Operation> disableXpnResourceSettings()1033 disableXpnResourceSettings() { 1034 return disableXpnResourceSettings; 1035 } 1036 1037 /** Returns the builder for the settings used for calls to disableXpnResource. */ 1038 @BetaApi( 1039 "The surface for use by generated code is not stable yet and may change in the future.") 1040 public OperationCallSettings.Builder<DisableXpnResourceProjectRequest, Operation, Operation> disableXpnResourceOperationSettings()1041 disableXpnResourceOperationSettings() { 1042 return disableXpnResourceOperationSettings; 1043 } 1044 1045 /** Returns the builder for the settings used for calls to enableXpnHost. */ 1046 public UnaryCallSettings.Builder<EnableXpnHostProjectRequest, Operation> enableXpnHostSettings()1047 enableXpnHostSettings() { 1048 return enableXpnHostSettings; 1049 } 1050 1051 /** Returns the builder for the settings used for calls to enableXpnHost. */ 1052 @BetaApi( 1053 "The surface for use by generated code is not stable yet and may change in the future.") 1054 public OperationCallSettings.Builder<EnableXpnHostProjectRequest, Operation, Operation> enableXpnHostOperationSettings()1055 enableXpnHostOperationSettings() { 1056 return enableXpnHostOperationSettings; 1057 } 1058 1059 /** Returns the builder for the settings used for calls to enableXpnResource. */ 1060 public UnaryCallSettings.Builder<EnableXpnResourceProjectRequest, Operation> enableXpnResourceSettings()1061 enableXpnResourceSettings() { 1062 return enableXpnResourceSettings; 1063 } 1064 1065 /** Returns the builder for the settings used for calls to enableXpnResource. */ 1066 @BetaApi( 1067 "The surface for use by generated code is not stable yet and may change in the future.") 1068 public OperationCallSettings.Builder<EnableXpnResourceProjectRequest, Operation, Operation> enableXpnResourceOperationSettings()1069 enableXpnResourceOperationSettings() { 1070 return enableXpnResourceOperationSettings; 1071 } 1072 1073 /** Returns the builder for the settings used for calls to get. */ getSettings()1074 public UnaryCallSettings.Builder<GetProjectRequest, Project> getSettings() { 1075 return getSettings; 1076 } 1077 1078 /** Returns the builder for the settings used for calls to getXpnHost. */ getXpnHostSettings()1079 public UnaryCallSettings.Builder<GetXpnHostProjectRequest, Project> getXpnHostSettings() { 1080 return getXpnHostSettings; 1081 } 1082 1083 /** Returns the builder for the settings used for calls to getXpnResources. */ 1084 public PagedCallSettings.Builder< 1085 GetXpnResourcesProjectsRequest, ProjectsGetXpnResources, GetXpnResourcesPagedResponse> getXpnResourcesSettings()1086 getXpnResourcesSettings() { 1087 return getXpnResourcesSettings; 1088 } 1089 1090 /** Returns the builder for the settings used for calls to listXpnHosts. */ 1091 public PagedCallSettings.Builder< 1092 ListXpnHostsProjectsRequest, XpnHostList, ListXpnHostsPagedResponse> listXpnHostsSettings()1093 listXpnHostsSettings() { 1094 return listXpnHostsSettings; 1095 } 1096 1097 /** Returns the builder for the settings used for calls to moveDisk. */ moveDiskSettings()1098 public UnaryCallSettings.Builder<MoveDiskProjectRequest, Operation> moveDiskSettings() { 1099 return moveDiskSettings; 1100 } 1101 1102 /** Returns the builder for the settings used for calls to moveDisk. */ 1103 @BetaApi( 1104 "The surface for use by generated code is not stable yet and may change in the future.") 1105 public OperationCallSettings.Builder<MoveDiskProjectRequest, Operation, Operation> moveDiskOperationSettings()1106 moveDiskOperationSettings() { 1107 return moveDiskOperationSettings; 1108 } 1109 1110 /** Returns the builder for the settings used for calls to moveInstance. */ moveInstanceSettings()1111 public UnaryCallSettings.Builder<MoveInstanceProjectRequest, Operation> moveInstanceSettings() { 1112 return moveInstanceSettings; 1113 } 1114 1115 /** Returns the builder for the settings used for calls to moveInstance. */ 1116 @BetaApi( 1117 "The surface for use by generated code is not stable yet and may change in the future.") 1118 public OperationCallSettings.Builder<MoveInstanceProjectRequest, Operation, Operation> moveInstanceOperationSettings()1119 moveInstanceOperationSettings() { 1120 return moveInstanceOperationSettings; 1121 } 1122 1123 /** Returns the builder for the settings used for calls to setCommonInstanceMetadata. */ 1124 public UnaryCallSettings.Builder<SetCommonInstanceMetadataProjectRequest, Operation> setCommonInstanceMetadataSettings()1125 setCommonInstanceMetadataSettings() { 1126 return setCommonInstanceMetadataSettings; 1127 } 1128 1129 /** Returns the builder for the settings used for calls to setCommonInstanceMetadata. */ 1130 @BetaApi( 1131 "The surface for use by generated code is not stable yet and may change in the future.") 1132 public OperationCallSettings.Builder< 1133 SetCommonInstanceMetadataProjectRequest, Operation, Operation> setCommonInstanceMetadataOperationSettings()1134 setCommonInstanceMetadataOperationSettings() { 1135 return setCommonInstanceMetadataOperationSettings; 1136 } 1137 1138 /** Returns the builder for the settings used for calls to setDefaultNetworkTier. */ 1139 public UnaryCallSettings.Builder<SetDefaultNetworkTierProjectRequest, Operation> setDefaultNetworkTierSettings()1140 setDefaultNetworkTierSettings() { 1141 return setDefaultNetworkTierSettings; 1142 } 1143 1144 /** Returns the builder for the settings used for calls to setDefaultNetworkTier. */ 1145 @BetaApi( 1146 "The surface for use by generated code is not stable yet and may change in the future.") 1147 public OperationCallSettings.Builder<SetDefaultNetworkTierProjectRequest, Operation, Operation> setDefaultNetworkTierOperationSettings()1148 setDefaultNetworkTierOperationSettings() { 1149 return setDefaultNetworkTierOperationSettings; 1150 } 1151 1152 /** Returns the builder for the settings used for calls to setUsageExportBucket. */ 1153 public UnaryCallSettings.Builder<SetUsageExportBucketProjectRequest, Operation> setUsageExportBucketSettings()1154 setUsageExportBucketSettings() { 1155 return setUsageExportBucketSettings; 1156 } 1157 1158 /** Returns the builder for the settings used for calls to setUsageExportBucket. */ 1159 @BetaApi( 1160 "The surface for use by generated code is not stable yet and may change in the future.") 1161 public OperationCallSettings.Builder<SetUsageExportBucketProjectRequest, Operation, Operation> setUsageExportBucketOperationSettings()1162 setUsageExportBucketOperationSettings() { 1163 return setUsageExportBucketOperationSettings; 1164 } 1165 1166 @Override build()1167 public ProjectsStubSettings build() throws IOException { 1168 return new ProjectsStubSettings(this); 1169 } 1170 } 1171 } 1172