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; 18 19 import com.google.api.core.ApiFuture; 20 import com.google.api.core.ApiFutures; 21 import com.google.api.core.BetaApi; 22 import com.google.api.gax.core.BackgroundResource; 23 import com.google.api.gax.longrunning.OperationFuture; 24 import com.google.api.gax.paging.AbstractFixedSizeCollection; 25 import com.google.api.gax.paging.AbstractPage; 26 import com.google.api.gax.paging.AbstractPagedListResponse; 27 import com.google.api.gax.rpc.OperationCallable; 28 import com.google.api.gax.rpc.PageContext; 29 import com.google.api.gax.rpc.UnaryCallable; 30 import com.google.cloud.compute.v1.stub.RegionBackendServicesStub; 31 import com.google.cloud.compute.v1.stub.RegionBackendServicesStubSettings; 32 import com.google.common.util.concurrent.MoreExecutors; 33 import java.io.IOException; 34 import java.util.List; 35 import java.util.concurrent.TimeUnit; 36 import javax.annotation.Generated; 37 38 // AUTO-GENERATED DOCUMENTATION AND CLASS. 39 /** 40 * Service Description: The RegionBackendServices API. 41 * 42 * <p>This class provides the ability to make remote calls to the backing service through method 43 * calls that map to API methods. Sample code to get started: 44 * 45 * <pre>{@code 46 * // This snippet has been automatically generated and should be regarded as a code template only. 47 * // It will require modifications to work: 48 * // - It may require correct/in-range values for request initialization. 49 * // - It may require specifying regional endpoints when creating the service client as shown in 50 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 51 * try (RegionBackendServicesClient regionBackendServicesClient = 52 * RegionBackendServicesClient.create()) { 53 * String project = "project-309310695"; 54 * String region = "region-934795532"; 55 * String backendService = "backendService-1884714623"; 56 * BackendService response = regionBackendServicesClient.get(project, region, backendService); 57 * } 58 * }</pre> 59 * 60 * <p>Note: close() needs to be called on the RegionBackendServicesClient object to clean up 61 * resources such as threads. In the example above, try-with-resources is used, which automatically 62 * calls close(). 63 * 64 * <p>The surface of this class includes several types of Java methods for each of the API's 65 * methods: 66 * 67 * <ol> 68 * <li>A "flattened" method. With this type of method, the fields of the request type have been 69 * converted into function parameters. It may be the case that not all fields are available as 70 * parameters, and not every API method will have a flattened method entry point. 71 * <li>A "request object" method. This type of method only takes one parameter, a request object, 72 * which must be constructed before the call. Not every API method will have a request object 73 * method. 74 * <li>A "callable" method. This type of method takes no parameters and returns an immutable API 75 * callable object, which can be used to initiate calls to the service. 76 * </ol> 77 * 78 * <p>See the individual methods for example code. 79 * 80 * <p>Many parameters require resource names to be formatted in a particular way. To assist with 81 * these names, this class includes a format method for each type of name, and additionally a parse 82 * method to extract the individual identifiers contained within names that are returned. 83 * 84 * <p>This class can be customized by passing in a custom instance of RegionBackendServicesSettings 85 * to create(). For example: 86 * 87 * <p>To customize credentials: 88 * 89 * <pre>{@code 90 * // This snippet has been automatically generated and should be regarded as a code template only. 91 * // It will require modifications to work: 92 * // - It may require correct/in-range values for request initialization. 93 * // - It may require specifying regional endpoints when creating the service client as shown in 94 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 95 * RegionBackendServicesSettings regionBackendServicesSettings = 96 * RegionBackendServicesSettings.newBuilder() 97 * .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)) 98 * .build(); 99 * RegionBackendServicesClient regionBackendServicesClient = 100 * RegionBackendServicesClient.create(regionBackendServicesSettings); 101 * }</pre> 102 * 103 * <p>To customize the endpoint: 104 * 105 * <pre>{@code 106 * // This snippet has been automatically generated and should be regarded as a code template only. 107 * // It will require modifications to work: 108 * // - It may require correct/in-range values for request initialization. 109 * // - It may require specifying regional endpoints when creating the service client as shown in 110 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 111 * RegionBackendServicesSettings regionBackendServicesSettings = 112 * RegionBackendServicesSettings.newBuilder().setEndpoint(myEndpoint).build(); 113 * RegionBackendServicesClient regionBackendServicesClient = 114 * RegionBackendServicesClient.create(regionBackendServicesSettings); 115 * }</pre> 116 * 117 * <p>Please refer to the GitHub repository's samples for more quickstart code snippets. 118 */ 119 @Generated("by gapic-generator-java") 120 public class RegionBackendServicesClient implements BackgroundResource { 121 private final RegionBackendServicesSettings settings; 122 private final RegionBackendServicesStub stub; 123 124 /** Constructs an instance of RegionBackendServicesClient with default settings. */ create()125 public static final RegionBackendServicesClient create() throws IOException { 126 return create(RegionBackendServicesSettings.newBuilder().build()); 127 } 128 129 /** 130 * Constructs an instance of RegionBackendServicesClient, using the given settings. The channels 131 * are created based on the settings passed in, or defaults for any settings that are not set. 132 */ create(RegionBackendServicesSettings settings)133 public static final RegionBackendServicesClient create(RegionBackendServicesSettings settings) 134 throws IOException { 135 return new RegionBackendServicesClient(settings); 136 } 137 138 /** 139 * Constructs an instance of RegionBackendServicesClient, using the given stub for making calls. 140 * This is for advanced usage - prefer using create(RegionBackendServicesSettings). 141 */ create(RegionBackendServicesStub stub)142 public static final RegionBackendServicesClient create(RegionBackendServicesStub stub) { 143 return new RegionBackendServicesClient(stub); 144 } 145 146 /** 147 * Constructs an instance of RegionBackendServicesClient, using the given settings. This is 148 * protected so that it is easy to make a subclass, but otherwise, the static factory methods 149 * should be preferred. 150 */ RegionBackendServicesClient(RegionBackendServicesSettings settings)151 protected RegionBackendServicesClient(RegionBackendServicesSettings settings) throws IOException { 152 this.settings = settings; 153 this.stub = ((RegionBackendServicesStubSettings) settings.getStubSettings()).createStub(); 154 } 155 RegionBackendServicesClient(RegionBackendServicesStub stub)156 protected RegionBackendServicesClient(RegionBackendServicesStub stub) { 157 this.settings = null; 158 this.stub = stub; 159 } 160 getSettings()161 public final RegionBackendServicesSettings getSettings() { 162 return settings; 163 } 164 getStub()165 public RegionBackendServicesStub getStub() { 166 return stub; 167 } 168 169 // AUTO-GENERATED DOCUMENTATION AND METHOD. 170 /** 171 * Deletes the specified regional BackendService resource. 172 * 173 * <p>Sample code: 174 * 175 * <pre>{@code 176 * // This snippet has been automatically generated and should be regarded as a code template only. 177 * // It will require modifications to work: 178 * // - It may require correct/in-range values for request initialization. 179 * // - It may require specifying regional endpoints when creating the service client as shown in 180 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 181 * try (RegionBackendServicesClient regionBackendServicesClient = 182 * RegionBackendServicesClient.create()) { 183 * String project = "project-309310695"; 184 * String region = "region-934795532"; 185 * String backendService = "backendService-1884714623"; 186 * Operation response = 187 * regionBackendServicesClient.deleteAsync(project, region, backendService).get(); 188 * } 189 * }</pre> 190 * 191 * @param project Project ID for this request. 192 * @param region Name of the region scoping this request. 193 * @param backendService Name of the BackendService resource to delete. 194 * @throws com.google.api.gax.rpc.ApiException if the remote call fails 195 */ deleteAsync( String project, String region, String backendService)196 public final OperationFuture<Operation, Operation> deleteAsync( 197 String project, String region, String backendService) { 198 DeleteRegionBackendServiceRequest request = 199 DeleteRegionBackendServiceRequest.newBuilder() 200 .setProject(project) 201 .setRegion(region) 202 .setBackendService(backendService) 203 .build(); 204 return deleteAsync(request); 205 } 206 207 // AUTO-GENERATED DOCUMENTATION AND METHOD. 208 /** 209 * Deletes the specified regional BackendService resource. 210 * 211 * <p>Sample code: 212 * 213 * <pre>{@code 214 * // This snippet has been automatically generated and should be regarded as a code template only. 215 * // It will require modifications to work: 216 * // - It may require correct/in-range values for request initialization. 217 * // - It may require specifying regional endpoints when creating the service client as shown in 218 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 219 * try (RegionBackendServicesClient regionBackendServicesClient = 220 * RegionBackendServicesClient.create()) { 221 * DeleteRegionBackendServiceRequest request = 222 * DeleteRegionBackendServiceRequest.newBuilder() 223 * .setBackendService("backendService-1884714623") 224 * .setProject("project-309310695") 225 * .setRegion("region-934795532") 226 * .setRequestId("requestId693933066") 227 * .build(); 228 * Operation response = regionBackendServicesClient.deleteAsync(request).get(); 229 * } 230 * }</pre> 231 * 232 * @param request The request object containing all of the parameters for the API call. 233 * @throws com.google.api.gax.rpc.ApiException if the remote call fails 234 */ 235 @BetaApi( 236 "The surface for long-running operations is not stable yet and may change in the future.") deleteAsync( DeleteRegionBackendServiceRequest request)237 public final OperationFuture<Operation, Operation> deleteAsync( 238 DeleteRegionBackendServiceRequest request) { 239 return deleteOperationCallable().futureCall(request); 240 } 241 242 // AUTO-GENERATED DOCUMENTATION AND METHOD. 243 /** 244 * Deletes the specified regional BackendService resource. 245 * 246 * <p>Sample code: 247 * 248 * <pre>{@code 249 * // This snippet has been automatically generated and should be regarded as a code template only. 250 * // It will require modifications to work: 251 * // - It may require correct/in-range values for request initialization. 252 * // - It may require specifying regional endpoints when creating the service client as shown in 253 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 254 * try (RegionBackendServicesClient regionBackendServicesClient = 255 * RegionBackendServicesClient.create()) { 256 * DeleteRegionBackendServiceRequest request = 257 * DeleteRegionBackendServiceRequest.newBuilder() 258 * .setBackendService("backendService-1884714623") 259 * .setProject("project-309310695") 260 * .setRegion("region-934795532") 261 * .setRequestId("requestId693933066") 262 * .build(); 263 * OperationFuture<Operation, Operation> future = 264 * regionBackendServicesClient.deleteOperationCallable().futureCall(request); 265 * // Do something. 266 * Operation response = future.get(); 267 * } 268 * }</pre> 269 */ 270 public final OperationCallable<DeleteRegionBackendServiceRequest, Operation, Operation> deleteOperationCallable()271 deleteOperationCallable() { 272 return stub.deleteOperationCallable(); 273 } 274 275 // AUTO-GENERATED DOCUMENTATION AND METHOD. 276 /** 277 * Deletes the specified regional BackendService resource. 278 * 279 * <p>Sample code: 280 * 281 * <pre>{@code 282 * // This snippet has been automatically generated and should be regarded as a code template only. 283 * // It will require modifications to work: 284 * // - It may require correct/in-range values for request initialization. 285 * // - It may require specifying regional endpoints when creating the service client as shown in 286 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 287 * try (RegionBackendServicesClient regionBackendServicesClient = 288 * RegionBackendServicesClient.create()) { 289 * DeleteRegionBackendServiceRequest request = 290 * DeleteRegionBackendServiceRequest.newBuilder() 291 * .setBackendService("backendService-1884714623") 292 * .setProject("project-309310695") 293 * .setRegion("region-934795532") 294 * .setRequestId("requestId693933066") 295 * .build(); 296 * ApiFuture<Operation> future = 297 * regionBackendServicesClient.deleteCallable().futureCall(request); 298 * // Do something. 299 * Operation response = future.get(); 300 * } 301 * }</pre> 302 */ deleteCallable()303 public final UnaryCallable<DeleteRegionBackendServiceRequest, Operation> deleteCallable() { 304 return stub.deleteCallable(); 305 } 306 307 // AUTO-GENERATED DOCUMENTATION AND METHOD. 308 /** 309 * Returns the specified regional BackendService resource. 310 * 311 * <p>Sample code: 312 * 313 * <pre>{@code 314 * // This snippet has been automatically generated and should be regarded as a code template only. 315 * // It will require modifications to work: 316 * // - It may require correct/in-range values for request initialization. 317 * // - It may require specifying regional endpoints when creating the service client as shown in 318 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 319 * try (RegionBackendServicesClient regionBackendServicesClient = 320 * RegionBackendServicesClient.create()) { 321 * String project = "project-309310695"; 322 * String region = "region-934795532"; 323 * String backendService = "backendService-1884714623"; 324 * BackendService response = regionBackendServicesClient.get(project, region, backendService); 325 * } 326 * }</pre> 327 * 328 * @param project Project ID for this request. 329 * @param region Name of the region scoping this request. 330 * @param backendService Name of the BackendService resource to return. 331 * @throws com.google.api.gax.rpc.ApiException if the remote call fails 332 */ get(String project, String region, String backendService)333 public final BackendService get(String project, String region, String backendService) { 334 GetRegionBackendServiceRequest request = 335 GetRegionBackendServiceRequest.newBuilder() 336 .setProject(project) 337 .setRegion(region) 338 .setBackendService(backendService) 339 .build(); 340 return get(request); 341 } 342 343 // AUTO-GENERATED DOCUMENTATION AND METHOD. 344 /** 345 * Returns the specified regional BackendService resource. 346 * 347 * <p>Sample code: 348 * 349 * <pre>{@code 350 * // This snippet has been automatically generated and should be regarded as a code template only. 351 * // It will require modifications to work: 352 * // - It may require correct/in-range values for request initialization. 353 * // - It may require specifying regional endpoints when creating the service client as shown in 354 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 355 * try (RegionBackendServicesClient regionBackendServicesClient = 356 * RegionBackendServicesClient.create()) { 357 * GetRegionBackendServiceRequest request = 358 * GetRegionBackendServiceRequest.newBuilder() 359 * .setBackendService("backendService-1884714623") 360 * .setProject("project-309310695") 361 * .setRegion("region-934795532") 362 * .build(); 363 * BackendService response = regionBackendServicesClient.get(request); 364 * } 365 * }</pre> 366 * 367 * @param request The request object containing all of the parameters for the API call. 368 * @throws com.google.api.gax.rpc.ApiException if the remote call fails 369 */ get(GetRegionBackendServiceRequest request)370 public final BackendService get(GetRegionBackendServiceRequest request) { 371 return getCallable().call(request); 372 } 373 374 // AUTO-GENERATED DOCUMENTATION AND METHOD. 375 /** 376 * Returns the specified regional BackendService resource. 377 * 378 * <p>Sample code: 379 * 380 * <pre>{@code 381 * // This snippet has been automatically generated and should be regarded as a code template only. 382 * // It will require modifications to work: 383 * // - It may require correct/in-range values for request initialization. 384 * // - It may require specifying regional endpoints when creating the service client as shown in 385 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 386 * try (RegionBackendServicesClient regionBackendServicesClient = 387 * RegionBackendServicesClient.create()) { 388 * GetRegionBackendServiceRequest request = 389 * GetRegionBackendServiceRequest.newBuilder() 390 * .setBackendService("backendService-1884714623") 391 * .setProject("project-309310695") 392 * .setRegion("region-934795532") 393 * .build(); 394 * ApiFuture<BackendService> future = 395 * regionBackendServicesClient.getCallable().futureCall(request); 396 * // Do something. 397 * BackendService response = future.get(); 398 * } 399 * }</pre> 400 */ getCallable()401 public final UnaryCallable<GetRegionBackendServiceRequest, BackendService> getCallable() { 402 return stub.getCallable(); 403 } 404 405 // AUTO-GENERATED DOCUMENTATION AND METHOD. 406 /** 407 * Gets the most recent health check results for this regional BackendService. 408 * 409 * <p>Sample code: 410 * 411 * <pre>{@code 412 * // This snippet has been automatically generated and should be regarded as a code template only. 413 * // It will require modifications to work: 414 * // - It may require correct/in-range values for request initialization. 415 * // - It may require specifying regional endpoints when creating the service client as shown in 416 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 417 * try (RegionBackendServicesClient regionBackendServicesClient = 418 * RegionBackendServicesClient.create()) { 419 * String project = "project-309310695"; 420 * String region = "region-934795532"; 421 * String backendService = "backendService-1884714623"; 422 * ResourceGroupReference resourceGroupReferenceResource = 423 * ResourceGroupReference.newBuilder().build(); 424 * BackendServiceGroupHealth response = 425 * regionBackendServicesClient.getHealth( 426 * project, region, backendService, resourceGroupReferenceResource); 427 * } 428 * }</pre> 429 * 430 * @param project 431 * @param region Name of the region scoping this request. 432 * @param backendService Name of the BackendService resource for which to get health. 433 * @param resourceGroupReferenceResource The body resource for this request 434 * @throws com.google.api.gax.rpc.ApiException if the remote call fails 435 */ getHealth( String project, String region, String backendService, ResourceGroupReference resourceGroupReferenceResource)436 public final BackendServiceGroupHealth getHealth( 437 String project, 438 String region, 439 String backendService, 440 ResourceGroupReference resourceGroupReferenceResource) { 441 GetHealthRegionBackendServiceRequest request = 442 GetHealthRegionBackendServiceRequest.newBuilder() 443 .setProject(project) 444 .setRegion(region) 445 .setBackendService(backendService) 446 .setResourceGroupReferenceResource(resourceGroupReferenceResource) 447 .build(); 448 return getHealth(request); 449 } 450 451 // AUTO-GENERATED DOCUMENTATION AND METHOD. 452 /** 453 * Gets the most recent health check results for this regional BackendService. 454 * 455 * <p>Sample code: 456 * 457 * <pre>{@code 458 * // This snippet has been automatically generated and should be regarded as a code template only. 459 * // It will require modifications to work: 460 * // - It may require correct/in-range values for request initialization. 461 * // - It may require specifying regional endpoints when creating the service client as shown in 462 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 463 * try (RegionBackendServicesClient regionBackendServicesClient = 464 * RegionBackendServicesClient.create()) { 465 * GetHealthRegionBackendServiceRequest request = 466 * GetHealthRegionBackendServiceRequest.newBuilder() 467 * .setBackendService("backendService-1884714623") 468 * .setProject("project-309310695") 469 * .setRegion("region-934795532") 470 * .setResourceGroupReferenceResource(ResourceGroupReference.newBuilder().build()) 471 * .build(); 472 * BackendServiceGroupHealth response = regionBackendServicesClient.getHealth(request); 473 * } 474 * }</pre> 475 * 476 * @param request The request object containing all of the parameters for the API call. 477 * @throws com.google.api.gax.rpc.ApiException if the remote call fails 478 */ getHealth(GetHealthRegionBackendServiceRequest request)479 public final BackendServiceGroupHealth getHealth(GetHealthRegionBackendServiceRequest request) { 480 return getHealthCallable().call(request); 481 } 482 483 // AUTO-GENERATED DOCUMENTATION AND METHOD. 484 /** 485 * Gets the most recent health check results for this regional BackendService. 486 * 487 * <p>Sample code: 488 * 489 * <pre>{@code 490 * // This snippet has been automatically generated and should be regarded as a code template only. 491 * // It will require modifications to work: 492 * // - It may require correct/in-range values for request initialization. 493 * // - It may require specifying regional endpoints when creating the service client as shown in 494 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 495 * try (RegionBackendServicesClient regionBackendServicesClient = 496 * RegionBackendServicesClient.create()) { 497 * GetHealthRegionBackendServiceRequest request = 498 * GetHealthRegionBackendServiceRequest.newBuilder() 499 * .setBackendService("backendService-1884714623") 500 * .setProject("project-309310695") 501 * .setRegion("region-934795532") 502 * .setResourceGroupReferenceResource(ResourceGroupReference.newBuilder().build()) 503 * .build(); 504 * ApiFuture<BackendServiceGroupHealth> future = 505 * regionBackendServicesClient.getHealthCallable().futureCall(request); 506 * // Do something. 507 * BackendServiceGroupHealth response = future.get(); 508 * } 509 * }</pre> 510 */ 511 public final UnaryCallable<GetHealthRegionBackendServiceRequest, BackendServiceGroupHealth> getHealthCallable()512 getHealthCallable() { 513 return stub.getHealthCallable(); 514 } 515 516 // AUTO-GENERATED DOCUMENTATION AND METHOD. 517 /** 518 * Gets the access control policy for a resource. May be empty if no such policy or resource 519 * exists. 520 * 521 * <p>Sample code: 522 * 523 * <pre>{@code 524 * // This snippet has been automatically generated and should be regarded as a code template only. 525 * // It will require modifications to work: 526 * // - It may require correct/in-range values for request initialization. 527 * // - It may require specifying regional endpoints when creating the service client as shown in 528 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 529 * try (RegionBackendServicesClient regionBackendServicesClient = 530 * RegionBackendServicesClient.create()) { 531 * String project = "project-309310695"; 532 * String region = "region-934795532"; 533 * String resource = "resource-341064690"; 534 * Policy response = regionBackendServicesClient.getIamPolicy(project, region, resource); 535 * } 536 * }</pre> 537 * 538 * @param project Project ID for this request. 539 * @param region The name of the region for this request. 540 * @param resource Name or id of the resource for this request. 541 * @throws com.google.api.gax.rpc.ApiException if the remote call fails 542 */ getIamPolicy(String project, String region, String resource)543 public final Policy getIamPolicy(String project, String region, String resource) { 544 GetIamPolicyRegionBackendServiceRequest request = 545 GetIamPolicyRegionBackendServiceRequest.newBuilder() 546 .setProject(project) 547 .setRegion(region) 548 .setResource(resource) 549 .build(); 550 return getIamPolicy(request); 551 } 552 553 // AUTO-GENERATED DOCUMENTATION AND METHOD. 554 /** 555 * Gets the access control policy for a resource. May be empty if no such policy or resource 556 * exists. 557 * 558 * <p>Sample code: 559 * 560 * <pre>{@code 561 * // This snippet has been automatically generated and should be regarded as a code template only. 562 * // It will require modifications to work: 563 * // - It may require correct/in-range values for request initialization. 564 * // - It may require specifying regional endpoints when creating the service client as shown in 565 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 566 * try (RegionBackendServicesClient regionBackendServicesClient = 567 * RegionBackendServicesClient.create()) { 568 * GetIamPolicyRegionBackendServiceRequest request = 569 * GetIamPolicyRegionBackendServiceRequest.newBuilder() 570 * .setOptionsRequestedPolicyVersion(-574521795) 571 * .setProject("project-309310695") 572 * .setRegion("region-934795532") 573 * .setResource("resource-341064690") 574 * .build(); 575 * Policy response = regionBackendServicesClient.getIamPolicy(request); 576 * } 577 * }</pre> 578 * 579 * @param request The request object containing all of the parameters for the API call. 580 * @throws com.google.api.gax.rpc.ApiException if the remote call fails 581 */ getIamPolicy(GetIamPolicyRegionBackendServiceRequest request)582 public final Policy getIamPolicy(GetIamPolicyRegionBackendServiceRequest request) { 583 return getIamPolicyCallable().call(request); 584 } 585 586 // AUTO-GENERATED DOCUMENTATION AND METHOD. 587 /** 588 * Gets the access control policy for a resource. May be empty if no such policy or resource 589 * exists. 590 * 591 * <p>Sample code: 592 * 593 * <pre>{@code 594 * // This snippet has been automatically generated and should be regarded as a code template only. 595 * // It will require modifications to work: 596 * // - It may require correct/in-range values for request initialization. 597 * // - It may require specifying regional endpoints when creating the service client as shown in 598 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 599 * try (RegionBackendServicesClient regionBackendServicesClient = 600 * RegionBackendServicesClient.create()) { 601 * GetIamPolicyRegionBackendServiceRequest request = 602 * GetIamPolicyRegionBackendServiceRequest.newBuilder() 603 * .setOptionsRequestedPolicyVersion(-574521795) 604 * .setProject("project-309310695") 605 * .setRegion("region-934795532") 606 * .setResource("resource-341064690") 607 * .build(); 608 * ApiFuture<Policy> future = 609 * regionBackendServicesClient.getIamPolicyCallable().futureCall(request); 610 * // Do something. 611 * Policy response = future.get(); 612 * } 613 * }</pre> 614 */ 615 public final UnaryCallable<GetIamPolicyRegionBackendServiceRequest, Policy> getIamPolicyCallable()616 getIamPolicyCallable() { 617 return stub.getIamPolicyCallable(); 618 } 619 620 // AUTO-GENERATED DOCUMENTATION AND METHOD. 621 /** 622 * Creates a regional BackendService resource in the specified project using the data included in 623 * the request. For more information, see Backend services overview. 624 * 625 * <p>Sample code: 626 * 627 * <pre>{@code 628 * // This snippet has been automatically generated and should be regarded as a code template only. 629 * // It will require modifications to work: 630 * // - It may require correct/in-range values for request initialization. 631 * // - It may require specifying regional endpoints when creating the service client as shown in 632 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 633 * try (RegionBackendServicesClient regionBackendServicesClient = 634 * RegionBackendServicesClient.create()) { 635 * String project = "project-309310695"; 636 * String region = "region-934795532"; 637 * BackendService backendServiceResource = BackendService.newBuilder().build(); 638 * Operation response = 639 * regionBackendServicesClient.insertAsync(project, region, backendServiceResource).get(); 640 * } 641 * }</pre> 642 * 643 * @param project Project ID for this request. 644 * @param region Name of the region scoping this request. 645 * @param backendServiceResource The body resource for this request 646 * @throws com.google.api.gax.rpc.ApiException if the remote call fails 647 */ insertAsync( String project, String region, BackendService backendServiceResource)648 public final OperationFuture<Operation, Operation> insertAsync( 649 String project, String region, BackendService backendServiceResource) { 650 InsertRegionBackendServiceRequest request = 651 InsertRegionBackendServiceRequest.newBuilder() 652 .setProject(project) 653 .setRegion(region) 654 .setBackendServiceResource(backendServiceResource) 655 .build(); 656 return insertAsync(request); 657 } 658 659 // AUTO-GENERATED DOCUMENTATION AND METHOD. 660 /** 661 * Creates a regional BackendService resource in the specified project using the data included in 662 * the request. For more information, see Backend services overview. 663 * 664 * <p>Sample code: 665 * 666 * <pre>{@code 667 * // This snippet has been automatically generated and should be regarded as a code template only. 668 * // It will require modifications to work: 669 * // - It may require correct/in-range values for request initialization. 670 * // - It may require specifying regional endpoints when creating the service client as shown in 671 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 672 * try (RegionBackendServicesClient regionBackendServicesClient = 673 * RegionBackendServicesClient.create()) { 674 * InsertRegionBackendServiceRequest request = 675 * InsertRegionBackendServiceRequest.newBuilder() 676 * .setBackendServiceResource(BackendService.newBuilder().build()) 677 * .setProject("project-309310695") 678 * .setRegion("region-934795532") 679 * .setRequestId("requestId693933066") 680 * .build(); 681 * Operation response = regionBackendServicesClient.insertAsync(request).get(); 682 * } 683 * }</pre> 684 * 685 * @param request The request object containing all of the parameters for the API call. 686 * @throws com.google.api.gax.rpc.ApiException if the remote call fails 687 */ 688 @BetaApi( 689 "The surface for long-running operations is not stable yet and may change in the future.") insertAsync( InsertRegionBackendServiceRequest request)690 public final OperationFuture<Operation, Operation> insertAsync( 691 InsertRegionBackendServiceRequest request) { 692 return insertOperationCallable().futureCall(request); 693 } 694 695 // AUTO-GENERATED DOCUMENTATION AND METHOD. 696 /** 697 * Creates a regional BackendService resource in the specified project using the data included in 698 * the request. For more information, see Backend services overview. 699 * 700 * <p>Sample code: 701 * 702 * <pre>{@code 703 * // This snippet has been automatically generated and should be regarded as a code template only. 704 * // It will require modifications to work: 705 * // - It may require correct/in-range values for request initialization. 706 * // - It may require specifying regional endpoints when creating the service client as shown in 707 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 708 * try (RegionBackendServicesClient regionBackendServicesClient = 709 * RegionBackendServicesClient.create()) { 710 * InsertRegionBackendServiceRequest request = 711 * InsertRegionBackendServiceRequest.newBuilder() 712 * .setBackendServiceResource(BackendService.newBuilder().build()) 713 * .setProject("project-309310695") 714 * .setRegion("region-934795532") 715 * .setRequestId("requestId693933066") 716 * .build(); 717 * OperationFuture<Operation, Operation> future = 718 * regionBackendServicesClient.insertOperationCallable().futureCall(request); 719 * // Do something. 720 * Operation response = future.get(); 721 * } 722 * }</pre> 723 */ 724 public final OperationCallable<InsertRegionBackendServiceRequest, Operation, Operation> insertOperationCallable()725 insertOperationCallable() { 726 return stub.insertOperationCallable(); 727 } 728 729 // AUTO-GENERATED DOCUMENTATION AND METHOD. 730 /** 731 * Creates a regional BackendService resource in the specified project using the data included in 732 * the request. For more information, see Backend services overview. 733 * 734 * <p>Sample code: 735 * 736 * <pre>{@code 737 * // This snippet has been automatically generated and should be regarded as a code template only. 738 * // It will require modifications to work: 739 * // - It may require correct/in-range values for request initialization. 740 * // - It may require specifying regional endpoints when creating the service client as shown in 741 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 742 * try (RegionBackendServicesClient regionBackendServicesClient = 743 * RegionBackendServicesClient.create()) { 744 * InsertRegionBackendServiceRequest request = 745 * InsertRegionBackendServiceRequest.newBuilder() 746 * .setBackendServiceResource(BackendService.newBuilder().build()) 747 * .setProject("project-309310695") 748 * .setRegion("region-934795532") 749 * .setRequestId("requestId693933066") 750 * .build(); 751 * ApiFuture<Operation> future = 752 * regionBackendServicesClient.insertCallable().futureCall(request); 753 * // Do something. 754 * Operation response = future.get(); 755 * } 756 * }</pre> 757 */ insertCallable()758 public final UnaryCallable<InsertRegionBackendServiceRequest, Operation> insertCallable() { 759 return stub.insertCallable(); 760 } 761 762 // AUTO-GENERATED DOCUMENTATION AND METHOD. 763 /** 764 * Retrieves the list of regional BackendService resources available to the specified project in 765 * the given region. 766 * 767 * <p>Sample code: 768 * 769 * <pre>{@code 770 * // This snippet has been automatically generated and should be regarded as a code template only. 771 * // It will require modifications to work: 772 * // - It may require correct/in-range values for request initialization. 773 * // - It may require specifying regional endpoints when creating the service client as shown in 774 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 775 * try (RegionBackendServicesClient regionBackendServicesClient = 776 * RegionBackendServicesClient.create()) { 777 * String project = "project-309310695"; 778 * String region = "region-934795532"; 779 * for (BackendService element : 780 * regionBackendServicesClient.list(project, region).iterateAll()) { 781 * // doThingsWith(element); 782 * } 783 * } 784 * }</pre> 785 * 786 * @param project Project ID for this request. 787 * @param region Name of the region scoping this request. 788 * @throws com.google.api.gax.rpc.ApiException if the remote call fails 789 */ list(String project, String region)790 public final ListPagedResponse list(String project, String region) { 791 ListRegionBackendServicesRequest request = 792 ListRegionBackendServicesRequest.newBuilder().setProject(project).setRegion(region).build(); 793 return list(request); 794 } 795 796 // AUTO-GENERATED DOCUMENTATION AND METHOD. 797 /** 798 * Retrieves the list of regional BackendService resources available to the specified project in 799 * the given region. 800 * 801 * <p>Sample code: 802 * 803 * <pre>{@code 804 * // This snippet has been automatically generated and should be regarded as a code template only. 805 * // It will require modifications to work: 806 * // - It may require correct/in-range values for request initialization. 807 * // - It may require specifying regional endpoints when creating the service client as shown in 808 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 809 * try (RegionBackendServicesClient regionBackendServicesClient = 810 * RegionBackendServicesClient.create()) { 811 * ListRegionBackendServicesRequest request = 812 * ListRegionBackendServicesRequest.newBuilder() 813 * .setFilter("filter-1274492040") 814 * .setMaxResults(1128457243) 815 * .setOrderBy("orderBy-1207110587") 816 * .setPageToken("pageToken873572522") 817 * .setProject("project-309310695") 818 * .setRegion("region-934795532") 819 * .setReturnPartialSuccess(true) 820 * .build(); 821 * for (BackendService element : regionBackendServicesClient.list(request).iterateAll()) { 822 * // doThingsWith(element); 823 * } 824 * } 825 * }</pre> 826 * 827 * @param request The request object containing all of the parameters for the API call. 828 * @throws com.google.api.gax.rpc.ApiException if the remote call fails 829 */ list(ListRegionBackendServicesRequest request)830 public final ListPagedResponse list(ListRegionBackendServicesRequest request) { 831 return listPagedCallable().call(request); 832 } 833 834 // AUTO-GENERATED DOCUMENTATION AND METHOD. 835 /** 836 * Retrieves the list of regional BackendService resources available to the specified project in 837 * the given region. 838 * 839 * <p>Sample code: 840 * 841 * <pre>{@code 842 * // This snippet has been automatically generated and should be regarded as a code template only. 843 * // It will require modifications to work: 844 * // - It may require correct/in-range values for request initialization. 845 * // - It may require specifying regional endpoints when creating the service client as shown in 846 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 847 * try (RegionBackendServicesClient regionBackendServicesClient = 848 * RegionBackendServicesClient.create()) { 849 * ListRegionBackendServicesRequest request = 850 * ListRegionBackendServicesRequest.newBuilder() 851 * .setFilter("filter-1274492040") 852 * .setMaxResults(1128457243) 853 * .setOrderBy("orderBy-1207110587") 854 * .setPageToken("pageToken873572522") 855 * .setProject("project-309310695") 856 * .setRegion("region-934795532") 857 * .setReturnPartialSuccess(true) 858 * .build(); 859 * ApiFuture<BackendService> future = 860 * regionBackendServicesClient.listPagedCallable().futureCall(request); 861 * // Do something. 862 * for (BackendService element : future.get().iterateAll()) { 863 * // doThingsWith(element); 864 * } 865 * } 866 * }</pre> 867 */ 868 public final UnaryCallable<ListRegionBackendServicesRequest, ListPagedResponse> listPagedCallable()869 listPagedCallable() { 870 return stub.listPagedCallable(); 871 } 872 873 // AUTO-GENERATED DOCUMENTATION AND METHOD. 874 /** 875 * Retrieves the list of regional BackendService resources available to the specified project in 876 * the given region. 877 * 878 * <p>Sample code: 879 * 880 * <pre>{@code 881 * // This snippet has been automatically generated and should be regarded as a code template only. 882 * // It will require modifications to work: 883 * // - It may require correct/in-range values for request initialization. 884 * // - It may require specifying regional endpoints when creating the service client as shown in 885 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 886 * try (RegionBackendServicesClient regionBackendServicesClient = 887 * RegionBackendServicesClient.create()) { 888 * ListRegionBackendServicesRequest request = 889 * ListRegionBackendServicesRequest.newBuilder() 890 * .setFilter("filter-1274492040") 891 * .setMaxResults(1128457243) 892 * .setOrderBy("orderBy-1207110587") 893 * .setPageToken("pageToken873572522") 894 * .setProject("project-309310695") 895 * .setRegion("region-934795532") 896 * .setReturnPartialSuccess(true) 897 * .build(); 898 * while (true) { 899 * BackendServiceList response = regionBackendServicesClient.listCallable().call(request); 900 * for (BackendService element : response.getItemsList()) { 901 * // doThingsWith(element); 902 * } 903 * String nextPageToken = response.getNextPageToken(); 904 * if (!Strings.isNullOrEmpty(nextPageToken)) { 905 * request = request.toBuilder().setPageToken(nextPageToken).build(); 906 * } else { 907 * break; 908 * } 909 * } 910 * } 911 * }</pre> 912 */ listCallable()913 public final UnaryCallable<ListRegionBackendServicesRequest, BackendServiceList> listCallable() { 914 return stub.listCallable(); 915 } 916 917 // AUTO-GENERATED DOCUMENTATION AND METHOD. 918 /** 919 * Updates the specified regional BackendService resource with the data included in the request. 920 * For more information, see Understanding backend services This method supports PATCH semantics 921 * and uses the JSON merge patch format and processing rules. 922 * 923 * <p>Sample code: 924 * 925 * <pre>{@code 926 * // This snippet has been automatically generated and should be regarded as a code template only. 927 * // It will require modifications to work: 928 * // - It may require correct/in-range values for request initialization. 929 * // - It may require specifying regional endpoints when creating the service client as shown in 930 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 931 * try (RegionBackendServicesClient regionBackendServicesClient = 932 * RegionBackendServicesClient.create()) { 933 * String project = "project-309310695"; 934 * String region = "region-934795532"; 935 * String backendService = "backendService-1884714623"; 936 * BackendService backendServiceResource = BackendService.newBuilder().build(); 937 * Operation response = 938 * regionBackendServicesClient 939 * .patchAsync(project, region, backendService, backendServiceResource) 940 * .get(); 941 * } 942 * }</pre> 943 * 944 * @param project Project ID for this request. 945 * @param region Name of the region scoping this request. 946 * @param backendService Name of the BackendService resource to patch. 947 * @param backendServiceResource The body resource for this request 948 * @throws com.google.api.gax.rpc.ApiException if the remote call fails 949 */ patchAsync( String project, String region, String backendService, BackendService backendServiceResource)950 public final OperationFuture<Operation, Operation> patchAsync( 951 String project, String region, String backendService, BackendService backendServiceResource) { 952 PatchRegionBackendServiceRequest request = 953 PatchRegionBackendServiceRequest.newBuilder() 954 .setProject(project) 955 .setRegion(region) 956 .setBackendService(backendService) 957 .setBackendServiceResource(backendServiceResource) 958 .build(); 959 return patchAsync(request); 960 } 961 962 // AUTO-GENERATED DOCUMENTATION AND METHOD. 963 /** 964 * Updates the specified regional BackendService resource with the data included in the request. 965 * For more information, see Understanding backend services This method supports PATCH semantics 966 * and uses the JSON merge patch format and processing rules. 967 * 968 * <p>Sample code: 969 * 970 * <pre>{@code 971 * // This snippet has been automatically generated and should be regarded as a code template only. 972 * // It will require modifications to work: 973 * // - It may require correct/in-range values for request initialization. 974 * // - It may require specifying regional endpoints when creating the service client as shown in 975 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 976 * try (RegionBackendServicesClient regionBackendServicesClient = 977 * RegionBackendServicesClient.create()) { 978 * PatchRegionBackendServiceRequest request = 979 * PatchRegionBackendServiceRequest.newBuilder() 980 * .setBackendService("backendService-1884714623") 981 * .setBackendServiceResource(BackendService.newBuilder().build()) 982 * .setProject("project-309310695") 983 * .setRegion("region-934795532") 984 * .setRequestId("requestId693933066") 985 * .build(); 986 * Operation response = regionBackendServicesClient.patchAsync(request).get(); 987 * } 988 * }</pre> 989 * 990 * @param request The request object containing all of the parameters for the API call. 991 * @throws com.google.api.gax.rpc.ApiException if the remote call fails 992 */ 993 @BetaApi( 994 "The surface for long-running operations is not stable yet and may change in the future.") patchAsync( PatchRegionBackendServiceRequest request)995 public final OperationFuture<Operation, Operation> patchAsync( 996 PatchRegionBackendServiceRequest request) { 997 return patchOperationCallable().futureCall(request); 998 } 999 1000 // AUTO-GENERATED DOCUMENTATION AND METHOD. 1001 /** 1002 * Updates the specified regional BackendService resource with the data included in the request. 1003 * For more information, see Understanding backend services This method supports PATCH semantics 1004 * and uses the JSON merge patch format and processing rules. 1005 * 1006 * <p>Sample code: 1007 * 1008 * <pre>{@code 1009 * // This snippet has been automatically generated and should be regarded as a code template only. 1010 * // It will require modifications to work: 1011 * // - It may require correct/in-range values for request initialization. 1012 * // - It may require specifying regional endpoints when creating the service client as shown in 1013 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 1014 * try (RegionBackendServicesClient regionBackendServicesClient = 1015 * RegionBackendServicesClient.create()) { 1016 * PatchRegionBackendServiceRequest request = 1017 * PatchRegionBackendServiceRequest.newBuilder() 1018 * .setBackendService("backendService-1884714623") 1019 * .setBackendServiceResource(BackendService.newBuilder().build()) 1020 * .setProject("project-309310695") 1021 * .setRegion("region-934795532") 1022 * .setRequestId("requestId693933066") 1023 * .build(); 1024 * OperationFuture<Operation, Operation> future = 1025 * regionBackendServicesClient.patchOperationCallable().futureCall(request); 1026 * // Do something. 1027 * Operation response = future.get(); 1028 * } 1029 * }</pre> 1030 */ 1031 public final OperationCallable<PatchRegionBackendServiceRequest, Operation, Operation> patchOperationCallable()1032 patchOperationCallable() { 1033 return stub.patchOperationCallable(); 1034 } 1035 1036 // AUTO-GENERATED DOCUMENTATION AND METHOD. 1037 /** 1038 * Updates the specified regional BackendService resource with the data included in the request. 1039 * For more information, see Understanding backend services This method supports PATCH semantics 1040 * and uses the JSON merge patch format and processing rules. 1041 * 1042 * <p>Sample code: 1043 * 1044 * <pre>{@code 1045 * // This snippet has been automatically generated and should be regarded as a code template only. 1046 * // It will require modifications to work: 1047 * // - It may require correct/in-range values for request initialization. 1048 * // - It may require specifying regional endpoints when creating the service client as shown in 1049 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 1050 * try (RegionBackendServicesClient regionBackendServicesClient = 1051 * RegionBackendServicesClient.create()) { 1052 * PatchRegionBackendServiceRequest request = 1053 * PatchRegionBackendServiceRequest.newBuilder() 1054 * .setBackendService("backendService-1884714623") 1055 * .setBackendServiceResource(BackendService.newBuilder().build()) 1056 * .setProject("project-309310695") 1057 * .setRegion("region-934795532") 1058 * .setRequestId("requestId693933066") 1059 * .build(); 1060 * ApiFuture<Operation> future = regionBackendServicesClient.patchCallable().futureCall(request); 1061 * // Do something. 1062 * Operation response = future.get(); 1063 * } 1064 * }</pre> 1065 */ patchCallable()1066 public final UnaryCallable<PatchRegionBackendServiceRequest, Operation> patchCallable() { 1067 return stub.patchCallable(); 1068 } 1069 1070 // AUTO-GENERATED DOCUMENTATION AND METHOD. 1071 /** 1072 * Sets the access control policy on the specified resource. Replaces any existing policy. 1073 * 1074 * <p>Sample code: 1075 * 1076 * <pre>{@code 1077 * // This snippet has been automatically generated and should be regarded as a code template only. 1078 * // It will require modifications to work: 1079 * // - It may require correct/in-range values for request initialization. 1080 * // - It may require specifying regional endpoints when creating the service client as shown in 1081 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 1082 * try (RegionBackendServicesClient regionBackendServicesClient = 1083 * RegionBackendServicesClient.create()) { 1084 * String project = "project-309310695"; 1085 * String region = "region-934795532"; 1086 * String resource = "resource-341064690"; 1087 * RegionSetPolicyRequest regionSetPolicyRequestResource = 1088 * RegionSetPolicyRequest.newBuilder().build(); 1089 * Policy response = 1090 * regionBackendServicesClient.setIamPolicy( 1091 * project, region, resource, regionSetPolicyRequestResource); 1092 * } 1093 * }</pre> 1094 * 1095 * @param project Project ID for this request. 1096 * @param region The name of the region for this request. 1097 * @param resource Name or id of the resource for this request. 1098 * @param regionSetPolicyRequestResource The body resource for this request 1099 * @throws com.google.api.gax.rpc.ApiException if the remote call fails 1100 */ setIamPolicy( String project, String region, String resource, RegionSetPolicyRequest regionSetPolicyRequestResource)1101 public final Policy setIamPolicy( 1102 String project, 1103 String region, 1104 String resource, 1105 RegionSetPolicyRequest regionSetPolicyRequestResource) { 1106 SetIamPolicyRegionBackendServiceRequest request = 1107 SetIamPolicyRegionBackendServiceRequest.newBuilder() 1108 .setProject(project) 1109 .setRegion(region) 1110 .setResource(resource) 1111 .setRegionSetPolicyRequestResource(regionSetPolicyRequestResource) 1112 .build(); 1113 return setIamPolicy(request); 1114 } 1115 1116 // AUTO-GENERATED DOCUMENTATION AND METHOD. 1117 /** 1118 * Sets the access control policy on the specified resource. Replaces any existing policy. 1119 * 1120 * <p>Sample code: 1121 * 1122 * <pre>{@code 1123 * // This snippet has been automatically generated and should be regarded as a code template only. 1124 * // It will require modifications to work: 1125 * // - It may require correct/in-range values for request initialization. 1126 * // - It may require specifying regional endpoints when creating the service client as shown in 1127 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 1128 * try (RegionBackendServicesClient regionBackendServicesClient = 1129 * RegionBackendServicesClient.create()) { 1130 * SetIamPolicyRegionBackendServiceRequest request = 1131 * SetIamPolicyRegionBackendServiceRequest.newBuilder() 1132 * .setProject("project-309310695") 1133 * .setRegion("region-934795532") 1134 * .setRegionSetPolicyRequestResource(RegionSetPolicyRequest.newBuilder().build()) 1135 * .setResource("resource-341064690") 1136 * .build(); 1137 * Policy response = regionBackendServicesClient.setIamPolicy(request); 1138 * } 1139 * }</pre> 1140 * 1141 * @param request The request object containing all of the parameters for the API call. 1142 * @throws com.google.api.gax.rpc.ApiException if the remote call fails 1143 */ setIamPolicy(SetIamPolicyRegionBackendServiceRequest request)1144 public final Policy setIamPolicy(SetIamPolicyRegionBackendServiceRequest request) { 1145 return setIamPolicyCallable().call(request); 1146 } 1147 1148 // AUTO-GENERATED DOCUMENTATION AND METHOD. 1149 /** 1150 * Sets the access control policy on the specified resource. Replaces any existing policy. 1151 * 1152 * <p>Sample code: 1153 * 1154 * <pre>{@code 1155 * // This snippet has been automatically generated and should be regarded as a code template only. 1156 * // It will require modifications to work: 1157 * // - It may require correct/in-range values for request initialization. 1158 * // - It may require specifying regional endpoints when creating the service client as shown in 1159 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 1160 * try (RegionBackendServicesClient regionBackendServicesClient = 1161 * RegionBackendServicesClient.create()) { 1162 * SetIamPolicyRegionBackendServiceRequest request = 1163 * SetIamPolicyRegionBackendServiceRequest.newBuilder() 1164 * .setProject("project-309310695") 1165 * .setRegion("region-934795532") 1166 * .setRegionSetPolicyRequestResource(RegionSetPolicyRequest.newBuilder().build()) 1167 * .setResource("resource-341064690") 1168 * .build(); 1169 * ApiFuture<Policy> future = 1170 * regionBackendServicesClient.setIamPolicyCallable().futureCall(request); 1171 * // Do something. 1172 * Policy response = future.get(); 1173 * } 1174 * }</pre> 1175 */ 1176 public final UnaryCallable<SetIamPolicyRegionBackendServiceRequest, Policy> setIamPolicyCallable()1177 setIamPolicyCallable() { 1178 return stub.setIamPolicyCallable(); 1179 } 1180 1181 // AUTO-GENERATED DOCUMENTATION AND METHOD. 1182 /** 1183 * Updates the specified regional BackendService resource with the data included in the request. 1184 * For more information, see Backend services overview . 1185 * 1186 * <p>Sample code: 1187 * 1188 * <pre>{@code 1189 * // This snippet has been automatically generated and should be regarded as a code template only. 1190 * // It will require modifications to work: 1191 * // - It may require correct/in-range values for request initialization. 1192 * // - It may require specifying regional endpoints when creating the service client as shown in 1193 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 1194 * try (RegionBackendServicesClient regionBackendServicesClient = 1195 * RegionBackendServicesClient.create()) { 1196 * String project = "project-309310695"; 1197 * String region = "region-934795532"; 1198 * String backendService = "backendService-1884714623"; 1199 * BackendService backendServiceResource = BackendService.newBuilder().build(); 1200 * Operation response = 1201 * regionBackendServicesClient 1202 * .updateAsync(project, region, backendService, backendServiceResource) 1203 * .get(); 1204 * } 1205 * }</pre> 1206 * 1207 * @param project Project ID for this request. 1208 * @param region Name of the region scoping this request. 1209 * @param backendService Name of the BackendService resource to update. 1210 * @param backendServiceResource The body resource for this request 1211 * @throws com.google.api.gax.rpc.ApiException if the remote call fails 1212 */ updateAsync( String project, String region, String backendService, BackendService backendServiceResource)1213 public final OperationFuture<Operation, Operation> updateAsync( 1214 String project, String region, String backendService, BackendService backendServiceResource) { 1215 UpdateRegionBackendServiceRequest request = 1216 UpdateRegionBackendServiceRequest.newBuilder() 1217 .setProject(project) 1218 .setRegion(region) 1219 .setBackendService(backendService) 1220 .setBackendServiceResource(backendServiceResource) 1221 .build(); 1222 return updateAsync(request); 1223 } 1224 1225 // AUTO-GENERATED DOCUMENTATION AND METHOD. 1226 /** 1227 * Updates the specified regional BackendService resource with the data included in the request. 1228 * For more information, see Backend services overview . 1229 * 1230 * <p>Sample code: 1231 * 1232 * <pre>{@code 1233 * // This snippet has been automatically generated and should be regarded as a code template only. 1234 * // It will require modifications to work: 1235 * // - It may require correct/in-range values for request initialization. 1236 * // - It may require specifying regional endpoints when creating the service client as shown in 1237 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 1238 * try (RegionBackendServicesClient regionBackendServicesClient = 1239 * RegionBackendServicesClient.create()) { 1240 * UpdateRegionBackendServiceRequest request = 1241 * UpdateRegionBackendServiceRequest.newBuilder() 1242 * .setBackendService("backendService-1884714623") 1243 * .setBackendServiceResource(BackendService.newBuilder().build()) 1244 * .setProject("project-309310695") 1245 * .setRegion("region-934795532") 1246 * .setRequestId("requestId693933066") 1247 * .build(); 1248 * Operation response = regionBackendServicesClient.updateAsync(request).get(); 1249 * } 1250 * }</pre> 1251 * 1252 * @param request The request object containing all of the parameters for the API call. 1253 * @throws com.google.api.gax.rpc.ApiException if the remote call fails 1254 */ 1255 @BetaApi( 1256 "The surface for long-running operations is not stable yet and may change in the future.") updateAsync( UpdateRegionBackendServiceRequest request)1257 public final OperationFuture<Operation, Operation> updateAsync( 1258 UpdateRegionBackendServiceRequest request) { 1259 return updateOperationCallable().futureCall(request); 1260 } 1261 1262 // AUTO-GENERATED DOCUMENTATION AND METHOD. 1263 /** 1264 * Updates the specified regional BackendService resource with the data included in the request. 1265 * For more information, see Backend services overview . 1266 * 1267 * <p>Sample code: 1268 * 1269 * <pre>{@code 1270 * // This snippet has been automatically generated and should be regarded as a code template only. 1271 * // It will require modifications to work: 1272 * // - It may require correct/in-range values for request initialization. 1273 * // - It may require specifying regional endpoints when creating the service client as shown in 1274 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 1275 * try (RegionBackendServicesClient regionBackendServicesClient = 1276 * RegionBackendServicesClient.create()) { 1277 * UpdateRegionBackendServiceRequest request = 1278 * UpdateRegionBackendServiceRequest.newBuilder() 1279 * .setBackendService("backendService-1884714623") 1280 * .setBackendServiceResource(BackendService.newBuilder().build()) 1281 * .setProject("project-309310695") 1282 * .setRegion("region-934795532") 1283 * .setRequestId("requestId693933066") 1284 * .build(); 1285 * OperationFuture<Operation, Operation> future = 1286 * regionBackendServicesClient.updateOperationCallable().futureCall(request); 1287 * // Do something. 1288 * Operation response = future.get(); 1289 * } 1290 * }</pre> 1291 */ 1292 public final OperationCallable<UpdateRegionBackendServiceRequest, Operation, Operation> updateOperationCallable()1293 updateOperationCallable() { 1294 return stub.updateOperationCallable(); 1295 } 1296 1297 // AUTO-GENERATED DOCUMENTATION AND METHOD. 1298 /** 1299 * Updates the specified regional BackendService resource with the data included in the request. 1300 * For more information, see Backend services overview . 1301 * 1302 * <p>Sample code: 1303 * 1304 * <pre>{@code 1305 * // This snippet has been automatically generated and should be regarded as a code template only. 1306 * // It will require modifications to work: 1307 * // - It may require correct/in-range values for request initialization. 1308 * // - It may require specifying regional endpoints when creating the service client as shown in 1309 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 1310 * try (RegionBackendServicesClient regionBackendServicesClient = 1311 * RegionBackendServicesClient.create()) { 1312 * UpdateRegionBackendServiceRequest request = 1313 * UpdateRegionBackendServiceRequest.newBuilder() 1314 * .setBackendService("backendService-1884714623") 1315 * .setBackendServiceResource(BackendService.newBuilder().build()) 1316 * .setProject("project-309310695") 1317 * .setRegion("region-934795532") 1318 * .setRequestId("requestId693933066") 1319 * .build(); 1320 * ApiFuture<Operation> future = 1321 * regionBackendServicesClient.updateCallable().futureCall(request); 1322 * // Do something. 1323 * Operation response = future.get(); 1324 * } 1325 * }</pre> 1326 */ updateCallable()1327 public final UnaryCallable<UpdateRegionBackendServiceRequest, Operation> updateCallable() { 1328 return stub.updateCallable(); 1329 } 1330 1331 @Override close()1332 public final void close() { 1333 stub.close(); 1334 } 1335 1336 @Override shutdown()1337 public void shutdown() { 1338 stub.shutdown(); 1339 } 1340 1341 @Override isShutdown()1342 public boolean isShutdown() { 1343 return stub.isShutdown(); 1344 } 1345 1346 @Override isTerminated()1347 public boolean isTerminated() { 1348 return stub.isTerminated(); 1349 } 1350 1351 @Override shutdownNow()1352 public void shutdownNow() { 1353 stub.shutdownNow(); 1354 } 1355 1356 @Override awaitTermination(long duration, TimeUnit unit)1357 public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { 1358 return stub.awaitTermination(duration, unit); 1359 } 1360 1361 public static class ListPagedResponse 1362 extends AbstractPagedListResponse< 1363 ListRegionBackendServicesRequest, 1364 BackendServiceList, 1365 BackendService, 1366 ListPage, 1367 ListFixedSizeCollection> { 1368 createAsync( PageContext<ListRegionBackendServicesRequest, BackendServiceList, BackendService> context, ApiFuture<BackendServiceList> futureResponse)1369 public static ApiFuture<ListPagedResponse> createAsync( 1370 PageContext<ListRegionBackendServicesRequest, BackendServiceList, BackendService> context, 1371 ApiFuture<BackendServiceList> futureResponse) { 1372 ApiFuture<ListPage> futurePage = 1373 ListPage.createEmptyPage().createPageAsync(context, futureResponse); 1374 return ApiFutures.transform( 1375 futurePage, input -> new ListPagedResponse(input), MoreExecutors.directExecutor()); 1376 } 1377 ListPagedResponse(ListPage page)1378 private ListPagedResponse(ListPage page) { 1379 super(page, ListFixedSizeCollection.createEmptyCollection()); 1380 } 1381 } 1382 1383 public static class ListPage 1384 extends AbstractPage< 1385 ListRegionBackendServicesRequest, BackendServiceList, BackendService, ListPage> { 1386 ListPage( PageContext<ListRegionBackendServicesRequest, BackendServiceList, BackendService> context, BackendServiceList response)1387 private ListPage( 1388 PageContext<ListRegionBackendServicesRequest, BackendServiceList, BackendService> context, 1389 BackendServiceList response) { 1390 super(context, response); 1391 } 1392 createEmptyPage()1393 private static ListPage createEmptyPage() { 1394 return new ListPage(null, null); 1395 } 1396 1397 @Override createPage( PageContext<ListRegionBackendServicesRequest, BackendServiceList, BackendService> context, BackendServiceList response)1398 protected ListPage createPage( 1399 PageContext<ListRegionBackendServicesRequest, BackendServiceList, BackendService> context, 1400 BackendServiceList response) { 1401 return new ListPage(context, response); 1402 } 1403 1404 @Override createPageAsync( PageContext<ListRegionBackendServicesRequest, BackendServiceList, BackendService> context, ApiFuture<BackendServiceList> futureResponse)1405 public ApiFuture<ListPage> createPageAsync( 1406 PageContext<ListRegionBackendServicesRequest, BackendServiceList, BackendService> context, 1407 ApiFuture<BackendServiceList> futureResponse) { 1408 return super.createPageAsync(context, futureResponse); 1409 } 1410 } 1411 1412 public static class ListFixedSizeCollection 1413 extends AbstractFixedSizeCollection< 1414 ListRegionBackendServicesRequest, 1415 BackendServiceList, 1416 BackendService, 1417 ListPage, 1418 ListFixedSizeCollection> { 1419 ListFixedSizeCollection(List<ListPage> pages, int collectionSize)1420 private ListFixedSizeCollection(List<ListPage> pages, int collectionSize) { 1421 super(pages, collectionSize); 1422 } 1423 createEmptyCollection()1424 private static ListFixedSizeCollection createEmptyCollection() { 1425 return new ListFixedSizeCollection(null, 0); 1426 } 1427 1428 @Override createCollection(List<ListPage> pages, int collectionSize)1429 protected ListFixedSizeCollection createCollection(List<ListPage> pages, int collectionSize) { 1430 return new ListFixedSizeCollection(pages, collectionSize); 1431 } 1432 } 1433 } 1434