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.HealthChecksClient.AggregatedListPagedResponse; 20 import static com.google.cloud.compute.v1.HealthChecksClient.ListPagedResponse; 21 22 import com.google.api.core.BetaApi; 23 import com.google.api.core.InternalApi; 24 import com.google.api.gax.core.BackgroundResource; 25 import com.google.api.gax.core.BackgroundResourceAggregation; 26 import com.google.api.gax.httpjson.ApiMethodDescriptor; 27 import com.google.api.gax.httpjson.HttpJsonCallSettings; 28 import com.google.api.gax.httpjson.HttpJsonOperationSnapshot; 29 import com.google.api.gax.httpjson.HttpJsonStubCallableFactory; 30 import com.google.api.gax.httpjson.ProtoMessageRequestFormatter; 31 import com.google.api.gax.httpjson.ProtoMessageResponseParser; 32 import com.google.api.gax.httpjson.ProtoRestSerializer; 33 import com.google.api.gax.rpc.ClientContext; 34 import com.google.api.gax.rpc.OperationCallable; 35 import com.google.api.gax.rpc.UnaryCallable; 36 import com.google.cloud.compute.v1.AggregatedListHealthChecksRequest; 37 import com.google.cloud.compute.v1.DeleteHealthCheckRequest; 38 import com.google.cloud.compute.v1.GetHealthCheckRequest; 39 import com.google.cloud.compute.v1.HealthCheck; 40 import com.google.cloud.compute.v1.HealthCheckList; 41 import com.google.cloud.compute.v1.HealthChecksAggregatedList; 42 import com.google.cloud.compute.v1.InsertHealthCheckRequest; 43 import com.google.cloud.compute.v1.ListHealthChecksRequest; 44 import com.google.cloud.compute.v1.Operation; 45 import com.google.cloud.compute.v1.Operation.Status; 46 import com.google.cloud.compute.v1.PatchHealthCheckRequest; 47 import com.google.cloud.compute.v1.UpdateHealthCheckRequest; 48 import com.google.protobuf.TypeRegistry; 49 import java.io.IOException; 50 import java.util.ArrayList; 51 import java.util.HashMap; 52 import java.util.List; 53 import java.util.Map; 54 import java.util.concurrent.TimeUnit; 55 import javax.annotation.Generated; 56 57 // AUTO-GENERATED DOCUMENTATION AND CLASS. 58 /** 59 * REST stub implementation for the HealthChecks service API. 60 * 61 * <p>This class is for advanced usage and reflects the underlying API directly. 62 */ 63 @Generated("by gapic-generator-java") 64 @BetaApi 65 public class HttpJsonHealthChecksStub extends HealthChecksStub { 66 private static final TypeRegistry typeRegistry = 67 TypeRegistry.newBuilder().add(Operation.getDescriptor()).build(); 68 69 private static final ApiMethodDescriptor< 70 AggregatedListHealthChecksRequest, HealthChecksAggregatedList> 71 aggregatedListMethodDescriptor = 72 ApiMethodDescriptor 73 .<AggregatedListHealthChecksRequest, HealthChecksAggregatedList>newBuilder() 74 .setFullMethodName("google.cloud.compute.v1.HealthChecks/AggregatedList") 75 .setHttpMethod("GET") 76 .setType(ApiMethodDescriptor.MethodType.UNARY) 77 .setRequestFormatter( 78 ProtoMessageRequestFormatter.<AggregatedListHealthChecksRequest>newBuilder() 79 .setPath( 80 "/compute/v1/projects/{project}/aggregated/healthChecks", 81 request -> { 82 Map<String, String> fields = new HashMap<>(); 83 ProtoRestSerializer<AggregatedListHealthChecksRequest> serializer = 84 ProtoRestSerializer.create(); 85 serializer.putPathParam(fields, "project", request.getProject()); 86 return fields; 87 }) 88 .setQueryParamsExtractor( 89 request -> { 90 Map<String, List<String>> fields = new HashMap<>(); 91 ProtoRestSerializer<AggregatedListHealthChecksRequest> serializer = 92 ProtoRestSerializer.create(); 93 if (request.hasFilter()) { 94 serializer.putQueryParam(fields, "filter", request.getFilter()); 95 } 96 if (request.hasIncludeAllScopes()) { 97 serializer.putQueryParam( 98 fields, "includeAllScopes", request.getIncludeAllScopes()); 99 } 100 if (request.hasMaxResults()) { 101 serializer.putQueryParam( 102 fields, "maxResults", request.getMaxResults()); 103 } 104 if (request.hasOrderBy()) { 105 serializer.putQueryParam(fields, "orderBy", request.getOrderBy()); 106 } 107 if (request.hasPageToken()) { 108 serializer.putQueryParam(fields, "pageToken", request.getPageToken()); 109 } 110 if (request.hasReturnPartialSuccess()) { 111 serializer.putQueryParam( 112 fields, 113 "returnPartialSuccess", 114 request.getReturnPartialSuccess()); 115 } 116 return fields; 117 }) 118 .setRequestBodyExtractor(request -> null) 119 .build()) 120 .setResponseParser( 121 ProtoMessageResponseParser.<HealthChecksAggregatedList>newBuilder() 122 .setDefaultInstance(HealthChecksAggregatedList.getDefaultInstance()) 123 .setDefaultTypeRegistry(typeRegistry) 124 .build()) 125 .build(); 126 127 private static final ApiMethodDescriptor<DeleteHealthCheckRequest, Operation> 128 deleteMethodDescriptor = 129 ApiMethodDescriptor.<DeleteHealthCheckRequest, Operation>newBuilder() 130 .setFullMethodName("google.cloud.compute.v1.HealthChecks/Delete") 131 .setHttpMethod("DELETE") 132 .setType(ApiMethodDescriptor.MethodType.UNARY) 133 .setRequestFormatter( 134 ProtoMessageRequestFormatter.<DeleteHealthCheckRequest>newBuilder() 135 .setPath( 136 "/compute/v1/projects/{project}/global/healthChecks/{healthCheck}", 137 request -> { 138 Map<String, String> fields = new HashMap<>(); 139 ProtoRestSerializer<DeleteHealthCheckRequest> serializer = 140 ProtoRestSerializer.create(); 141 serializer.putPathParam( 142 fields, "healthCheck", request.getHealthCheck()); 143 serializer.putPathParam(fields, "project", request.getProject()); 144 return fields; 145 }) 146 .setQueryParamsExtractor( 147 request -> { 148 Map<String, List<String>> fields = new HashMap<>(); 149 ProtoRestSerializer<DeleteHealthCheckRequest> serializer = 150 ProtoRestSerializer.create(); 151 if (request.hasRequestId()) { 152 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 153 } 154 return fields; 155 }) 156 .setRequestBodyExtractor(request -> null) 157 .build()) 158 .setResponseParser( 159 ProtoMessageResponseParser.<Operation>newBuilder() 160 .setDefaultInstance(Operation.getDefaultInstance()) 161 .setDefaultTypeRegistry(typeRegistry) 162 .build()) 163 .setOperationSnapshotFactory( 164 (DeleteHealthCheckRequest request, Operation response) -> { 165 StringBuilder opName = new StringBuilder(response.getName()); 166 opName.append(":").append(request.getProject()); 167 return HttpJsonOperationSnapshot.newBuilder() 168 .setName(opName.toString()) 169 .setMetadata(response) 170 .setDone(Status.DONE.equals(response.getStatus())) 171 .setResponse(response) 172 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 173 .build(); 174 }) 175 .build(); 176 177 private static final ApiMethodDescriptor<GetHealthCheckRequest, HealthCheck> getMethodDescriptor = 178 ApiMethodDescriptor.<GetHealthCheckRequest, HealthCheck>newBuilder() 179 .setFullMethodName("google.cloud.compute.v1.HealthChecks/Get") 180 .setHttpMethod("GET") 181 .setType(ApiMethodDescriptor.MethodType.UNARY) 182 .setRequestFormatter( 183 ProtoMessageRequestFormatter.<GetHealthCheckRequest>newBuilder() 184 .setPath( 185 "/compute/v1/projects/{project}/global/healthChecks/{healthCheck}", 186 request -> { 187 Map<String, String> fields = new HashMap<>(); 188 ProtoRestSerializer<GetHealthCheckRequest> serializer = 189 ProtoRestSerializer.create(); 190 serializer.putPathParam(fields, "healthCheck", request.getHealthCheck()); 191 serializer.putPathParam(fields, "project", request.getProject()); 192 return fields; 193 }) 194 .setQueryParamsExtractor( 195 request -> { 196 Map<String, List<String>> fields = new HashMap<>(); 197 ProtoRestSerializer<GetHealthCheckRequest> serializer = 198 ProtoRestSerializer.create(); 199 return fields; 200 }) 201 .setRequestBodyExtractor(request -> null) 202 .build()) 203 .setResponseParser( 204 ProtoMessageResponseParser.<HealthCheck>newBuilder() 205 .setDefaultInstance(HealthCheck.getDefaultInstance()) 206 .setDefaultTypeRegistry(typeRegistry) 207 .build()) 208 .build(); 209 210 private static final ApiMethodDescriptor<InsertHealthCheckRequest, Operation> 211 insertMethodDescriptor = 212 ApiMethodDescriptor.<InsertHealthCheckRequest, Operation>newBuilder() 213 .setFullMethodName("google.cloud.compute.v1.HealthChecks/Insert") 214 .setHttpMethod("POST") 215 .setType(ApiMethodDescriptor.MethodType.UNARY) 216 .setRequestFormatter( 217 ProtoMessageRequestFormatter.<InsertHealthCheckRequest>newBuilder() 218 .setPath( 219 "/compute/v1/projects/{project}/global/healthChecks", 220 request -> { 221 Map<String, String> fields = new HashMap<>(); 222 ProtoRestSerializer<InsertHealthCheckRequest> serializer = 223 ProtoRestSerializer.create(); 224 serializer.putPathParam(fields, "project", request.getProject()); 225 return fields; 226 }) 227 .setQueryParamsExtractor( 228 request -> { 229 Map<String, List<String>> fields = new HashMap<>(); 230 ProtoRestSerializer<InsertHealthCheckRequest> serializer = 231 ProtoRestSerializer.create(); 232 if (request.hasRequestId()) { 233 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 234 } 235 return fields; 236 }) 237 .setRequestBodyExtractor( 238 request -> 239 ProtoRestSerializer.create() 240 .toBody( 241 "healthCheckResource", 242 request.getHealthCheckResource(), 243 false)) 244 .build()) 245 .setResponseParser( 246 ProtoMessageResponseParser.<Operation>newBuilder() 247 .setDefaultInstance(Operation.getDefaultInstance()) 248 .setDefaultTypeRegistry(typeRegistry) 249 .build()) 250 .setOperationSnapshotFactory( 251 (InsertHealthCheckRequest request, Operation response) -> { 252 StringBuilder opName = new StringBuilder(response.getName()); 253 opName.append(":").append(request.getProject()); 254 return HttpJsonOperationSnapshot.newBuilder() 255 .setName(opName.toString()) 256 .setMetadata(response) 257 .setDone(Status.DONE.equals(response.getStatus())) 258 .setResponse(response) 259 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 260 .build(); 261 }) 262 .build(); 263 264 private static final ApiMethodDescriptor<ListHealthChecksRequest, HealthCheckList> 265 listMethodDescriptor = 266 ApiMethodDescriptor.<ListHealthChecksRequest, HealthCheckList>newBuilder() 267 .setFullMethodName("google.cloud.compute.v1.HealthChecks/List") 268 .setHttpMethod("GET") 269 .setType(ApiMethodDescriptor.MethodType.UNARY) 270 .setRequestFormatter( 271 ProtoMessageRequestFormatter.<ListHealthChecksRequest>newBuilder() 272 .setPath( 273 "/compute/v1/projects/{project}/global/healthChecks", 274 request -> { 275 Map<String, String> fields = new HashMap<>(); 276 ProtoRestSerializer<ListHealthChecksRequest> serializer = 277 ProtoRestSerializer.create(); 278 serializer.putPathParam(fields, "project", request.getProject()); 279 return fields; 280 }) 281 .setQueryParamsExtractor( 282 request -> { 283 Map<String, List<String>> fields = new HashMap<>(); 284 ProtoRestSerializer<ListHealthChecksRequest> serializer = 285 ProtoRestSerializer.create(); 286 if (request.hasFilter()) { 287 serializer.putQueryParam(fields, "filter", request.getFilter()); 288 } 289 if (request.hasMaxResults()) { 290 serializer.putQueryParam( 291 fields, "maxResults", request.getMaxResults()); 292 } 293 if (request.hasOrderBy()) { 294 serializer.putQueryParam(fields, "orderBy", request.getOrderBy()); 295 } 296 if (request.hasPageToken()) { 297 serializer.putQueryParam(fields, "pageToken", request.getPageToken()); 298 } 299 if (request.hasReturnPartialSuccess()) { 300 serializer.putQueryParam( 301 fields, 302 "returnPartialSuccess", 303 request.getReturnPartialSuccess()); 304 } 305 return fields; 306 }) 307 .setRequestBodyExtractor(request -> null) 308 .build()) 309 .setResponseParser( 310 ProtoMessageResponseParser.<HealthCheckList>newBuilder() 311 .setDefaultInstance(HealthCheckList.getDefaultInstance()) 312 .setDefaultTypeRegistry(typeRegistry) 313 .build()) 314 .build(); 315 316 private static final ApiMethodDescriptor<PatchHealthCheckRequest, Operation> 317 patchMethodDescriptor = 318 ApiMethodDescriptor.<PatchHealthCheckRequest, Operation>newBuilder() 319 .setFullMethodName("google.cloud.compute.v1.HealthChecks/Patch") 320 .setHttpMethod("PATCH") 321 .setType(ApiMethodDescriptor.MethodType.UNARY) 322 .setRequestFormatter( 323 ProtoMessageRequestFormatter.<PatchHealthCheckRequest>newBuilder() 324 .setPath( 325 "/compute/v1/projects/{project}/global/healthChecks/{healthCheck}", 326 request -> { 327 Map<String, String> fields = new HashMap<>(); 328 ProtoRestSerializer<PatchHealthCheckRequest> serializer = 329 ProtoRestSerializer.create(); 330 serializer.putPathParam( 331 fields, "healthCheck", request.getHealthCheck()); 332 serializer.putPathParam(fields, "project", request.getProject()); 333 return fields; 334 }) 335 .setQueryParamsExtractor( 336 request -> { 337 Map<String, List<String>> fields = new HashMap<>(); 338 ProtoRestSerializer<PatchHealthCheckRequest> serializer = 339 ProtoRestSerializer.create(); 340 if (request.hasRequestId()) { 341 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 342 } 343 return fields; 344 }) 345 .setRequestBodyExtractor( 346 request -> 347 ProtoRestSerializer.create() 348 .toBody( 349 "healthCheckResource", 350 request.getHealthCheckResource(), 351 false)) 352 .build()) 353 .setResponseParser( 354 ProtoMessageResponseParser.<Operation>newBuilder() 355 .setDefaultInstance(Operation.getDefaultInstance()) 356 .setDefaultTypeRegistry(typeRegistry) 357 .build()) 358 .setOperationSnapshotFactory( 359 (PatchHealthCheckRequest request, Operation response) -> { 360 StringBuilder opName = new StringBuilder(response.getName()); 361 opName.append(":").append(request.getProject()); 362 return HttpJsonOperationSnapshot.newBuilder() 363 .setName(opName.toString()) 364 .setMetadata(response) 365 .setDone(Status.DONE.equals(response.getStatus())) 366 .setResponse(response) 367 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 368 .build(); 369 }) 370 .build(); 371 372 private static final ApiMethodDescriptor<UpdateHealthCheckRequest, Operation> 373 updateMethodDescriptor = 374 ApiMethodDescriptor.<UpdateHealthCheckRequest, Operation>newBuilder() 375 .setFullMethodName("google.cloud.compute.v1.HealthChecks/Update") 376 .setHttpMethod("PUT") 377 .setType(ApiMethodDescriptor.MethodType.UNARY) 378 .setRequestFormatter( 379 ProtoMessageRequestFormatter.<UpdateHealthCheckRequest>newBuilder() 380 .setPath( 381 "/compute/v1/projects/{project}/global/healthChecks/{healthCheck}", 382 request -> { 383 Map<String, String> fields = new HashMap<>(); 384 ProtoRestSerializer<UpdateHealthCheckRequest> serializer = 385 ProtoRestSerializer.create(); 386 serializer.putPathParam( 387 fields, "healthCheck", request.getHealthCheck()); 388 serializer.putPathParam(fields, "project", request.getProject()); 389 return fields; 390 }) 391 .setQueryParamsExtractor( 392 request -> { 393 Map<String, List<String>> fields = new HashMap<>(); 394 ProtoRestSerializer<UpdateHealthCheckRequest> serializer = 395 ProtoRestSerializer.create(); 396 if (request.hasRequestId()) { 397 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 398 } 399 return fields; 400 }) 401 .setRequestBodyExtractor( 402 request -> 403 ProtoRestSerializer.create() 404 .toBody( 405 "healthCheckResource", 406 request.getHealthCheckResource(), 407 false)) 408 .build()) 409 .setResponseParser( 410 ProtoMessageResponseParser.<Operation>newBuilder() 411 .setDefaultInstance(Operation.getDefaultInstance()) 412 .setDefaultTypeRegistry(typeRegistry) 413 .build()) 414 .setOperationSnapshotFactory( 415 (UpdateHealthCheckRequest request, Operation response) -> { 416 StringBuilder opName = new StringBuilder(response.getName()); 417 opName.append(":").append(request.getProject()); 418 return HttpJsonOperationSnapshot.newBuilder() 419 .setName(opName.toString()) 420 .setMetadata(response) 421 .setDone(Status.DONE.equals(response.getStatus())) 422 .setResponse(response) 423 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 424 .build(); 425 }) 426 .build(); 427 428 private final UnaryCallable<AggregatedListHealthChecksRequest, HealthChecksAggregatedList> 429 aggregatedListCallable; 430 private final UnaryCallable<AggregatedListHealthChecksRequest, AggregatedListPagedResponse> 431 aggregatedListPagedCallable; 432 private final UnaryCallable<DeleteHealthCheckRequest, Operation> deleteCallable; 433 private final OperationCallable<DeleteHealthCheckRequest, Operation, Operation> 434 deleteOperationCallable; 435 private final UnaryCallable<GetHealthCheckRequest, HealthCheck> getCallable; 436 private final UnaryCallable<InsertHealthCheckRequest, Operation> insertCallable; 437 private final OperationCallable<InsertHealthCheckRequest, Operation, Operation> 438 insertOperationCallable; 439 private final UnaryCallable<ListHealthChecksRequest, HealthCheckList> listCallable; 440 private final UnaryCallable<ListHealthChecksRequest, ListPagedResponse> listPagedCallable; 441 private final UnaryCallable<PatchHealthCheckRequest, Operation> patchCallable; 442 private final OperationCallable<PatchHealthCheckRequest, Operation, Operation> 443 patchOperationCallable; 444 private final UnaryCallable<UpdateHealthCheckRequest, Operation> updateCallable; 445 private final OperationCallable<UpdateHealthCheckRequest, Operation, Operation> 446 updateOperationCallable; 447 448 private final BackgroundResource backgroundResources; 449 private final HttpJsonGlobalOperationsStub httpJsonOperationsStub; 450 private final HttpJsonStubCallableFactory callableFactory; 451 create(HealthChecksStubSettings settings)452 public static final HttpJsonHealthChecksStub create(HealthChecksStubSettings settings) 453 throws IOException { 454 return new HttpJsonHealthChecksStub(settings, ClientContext.create(settings)); 455 } 456 create(ClientContext clientContext)457 public static final HttpJsonHealthChecksStub create(ClientContext clientContext) 458 throws IOException { 459 return new HttpJsonHealthChecksStub( 460 HealthChecksStubSettings.newBuilder().build(), clientContext); 461 } 462 create( ClientContext clientContext, HttpJsonStubCallableFactory callableFactory)463 public static final HttpJsonHealthChecksStub create( 464 ClientContext clientContext, HttpJsonStubCallableFactory callableFactory) throws IOException { 465 return new HttpJsonHealthChecksStub( 466 HealthChecksStubSettings.newBuilder().build(), clientContext, callableFactory); 467 } 468 469 /** 470 * Constructs an instance of HttpJsonHealthChecksStub, using the given settings. This is protected 471 * so that it is easy to make a subclass, but otherwise, the static factory methods should be 472 * preferred. 473 */ HttpJsonHealthChecksStub(HealthChecksStubSettings settings, ClientContext clientContext)474 protected HttpJsonHealthChecksStub(HealthChecksStubSettings settings, ClientContext clientContext) 475 throws IOException { 476 this(settings, clientContext, new HttpJsonHealthChecksCallableFactory()); 477 } 478 479 /** 480 * Constructs an instance of HttpJsonHealthChecksStub, using the given settings. This is protected 481 * so that it is easy to make a subclass, but otherwise, the static factory methods should be 482 * preferred. 483 */ HttpJsonHealthChecksStub( HealthChecksStubSettings settings, ClientContext clientContext, HttpJsonStubCallableFactory callableFactory)484 protected HttpJsonHealthChecksStub( 485 HealthChecksStubSettings settings, 486 ClientContext clientContext, 487 HttpJsonStubCallableFactory callableFactory) 488 throws IOException { 489 this.callableFactory = callableFactory; 490 this.httpJsonOperationsStub = 491 HttpJsonGlobalOperationsStub.create(clientContext, callableFactory); 492 493 HttpJsonCallSettings<AggregatedListHealthChecksRequest, HealthChecksAggregatedList> 494 aggregatedListTransportSettings = 495 HttpJsonCallSettings 496 .<AggregatedListHealthChecksRequest, HealthChecksAggregatedList>newBuilder() 497 .setMethodDescriptor(aggregatedListMethodDescriptor) 498 .setTypeRegistry(typeRegistry) 499 .build(); 500 HttpJsonCallSettings<DeleteHealthCheckRequest, Operation> deleteTransportSettings = 501 HttpJsonCallSettings.<DeleteHealthCheckRequest, Operation>newBuilder() 502 .setMethodDescriptor(deleteMethodDescriptor) 503 .setTypeRegistry(typeRegistry) 504 .build(); 505 HttpJsonCallSettings<GetHealthCheckRequest, HealthCheck> getTransportSettings = 506 HttpJsonCallSettings.<GetHealthCheckRequest, HealthCheck>newBuilder() 507 .setMethodDescriptor(getMethodDescriptor) 508 .setTypeRegistry(typeRegistry) 509 .build(); 510 HttpJsonCallSettings<InsertHealthCheckRequest, Operation> insertTransportSettings = 511 HttpJsonCallSettings.<InsertHealthCheckRequest, Operation>newBuilder() 512 .setMethodDescriptor(insertMethodDescriptor) 513 .setTypeRegistry(typeRegistry) 514 .build(); 515 HttpJsonCallSettings<ListHealthChecksRequest, HealthCheckList> listTransportSettings = 516 HttpJsonCallSettings.<ListHealthChecksRequest, HealthCheckList>newBuilder() 517 .setMethodDescriptor(listMethodDescriptor) 518 .setTypeRegistry(typeRegistry) 519 .build(); 520 HttpJsonCallSettings<PatchHealthCheckRequest, Operation> patchTransportSettings = 521 HttpJsonCallSettings.<PatchHealthCheckRequest, Operation>newBuilder() 522 .setMethodDescriptor(patchMethodDescriptor) 523 .setTypeRegistry(typeRegistry) 524 .build(); 525 HttpJsonCallSettings<UpdateHealthCheckRequest, Operation> updateTransportSettings = 526 HttpJsonCallSettings.<UpdateHealthCheckRequest, Operation>newBuilder() 527 .setMethodDescriptor(updateMethodDescriptor) 528 .setTypeRegistry(typeRegistry) 529 .build(); 530 531 this.aggregatedListCallable = 532 callableFactory.createUnaryCallable( 533 aggregatedListTransportSettings, settings.aggregatedListSettings(), clientContext); 534 this.aggregatedListPagedCallable = 535 callableFactory.createPagedCallable( 536 aggregatedListTransportSettings, settings.aggregatedListSettings(), clientContext); 537 this.deleteCallable = 538 callableFactory.createUnaryCallable( 539 deleteTransportSettings, settings.deleteSettings(), clientContext); 540 this.deleteOperationCallable = 541 callableFactory.createOperationCallable( 542 deleteTransportSettings, 543 settings.deleteOperationSettings(), 544 clientContext, 545 httpJsonOperationsStub); 546 this.getCallable = 547 callableFactory.createUnaryCallable( 548 getTransportSettings, settings.getSettings(), clientContext); 549 this.insertCallable = 550 callableFactory.createUnaryCallable( 551 insertTransportSettings, settings.insertSettings(), clientContext); 552 this.insertOperationCallable = 553 callableFactory.createOperationCallable( 554 insertTransportSettings, 555 settings.insertOperationSettings(), 556 clientContext, 557 httpJsonOperationsStub); 558 this.listCallable = 559 callableFactory.createUnaryCallable( 560 listTransportSettings, settings.listSettings(), clientContext); 561 this.listPagedCallable = 562 callableFactory.createPagedCallable( 563 listTransportSettings, settings.listSettings(), clientContext); 564 this.patchCallable = 565 callableFactory.createUnaryCallable( 566 patchTransportSettings, settings.patchSettings(), clientContext); 567 this.patchOperationCallable = 568 callableFactory.createOperationCallable( 569 patchTransportSettings, 570 settings.patchOperationSettings(), 571 clientContext, 572 httpJsonOperationsStub); 573 this.updateCallable = 574 callableFactory.createUnaryCallable( 575 updateTransportSettings, settings.updateSettings(), clientContext); 576 this.updateOperationCallable = 577 callableFactory.createOperationCallable( 578 updateTransportSettings, 579 settings.updateOperationSettings(), 580 clientContext, 581 httpJsonOperationsStub); 582 583 this.backgroundResources = 584 new BackgroundResourceAggregation(clientContext.getBackgroundResources()); 585 } 586 587 @InternalApi getMethodDescriptors()588 public static List<ApiMethodDescriptor> getMethodDescriptors() { 589 List<ApiMethodDescriptor> methodDescriptors = new ArrayList<>(); 590 methodDescriptors.add(aggregatedListMethodDescriptor); 591 methodDescriptors.add(deleteMethodDescriptor); 592 methodDescriptors.add(getMethodDescriptor); 593 methodDescriptors.add(insertMethodDescriptor); 594 methodDescriptors.add(listMethodDescriptor); 595 methodDescriptors.add(patchMethodDescriptor); 596 methodDescriptors.add(updateMethodDescriptor); 597 return methodDescriptors; 598 } 599 600 @Override 601 public UnaryCallable<AggregatedListHealthChecksRequest, HealthChecksAggregatedList> aggregatedListCallable()602 aggregatedListCallable() { 603 return aggregatedListCallable; 604 } 605 606 @Override 607 public UnaryCallable<AggregatedListHealthChecksRequest, AggregatedListPagedResponse> aggregatedListPagedCallable()608 aggregatedListPagedCallable() { 609 return aggregatedListPagedCallable; 610 } 611 612 @Override deleteCallable()613 public UnaryCallable<DeleteHealthCheckRequest, Operation> deleteCallable() { 614 return deleteCallable; 615 } 616 617 @Override 618 public OperationCallable<DeleteHealthCheckRequest, Operation, Operation> deleteOperationCallable()619 deleteOperationCallable() { 620 return deleteOperationCallable; 621 } 622 623 @Override getCallable()624 public UnaryCallable<GetHealthCheckRequest, HealthCheck> getCallable() { 625 return getCallable; 626 } 627 628 @Override insertCallable()629 public UnaryCallable<InsertHealthCheckRequest, Operation> insertCallable() { 630 return insertCallable; 631 } 632 633 @Override 634 public OperationCallable<InsertHealthCheckRequest, Operation, Operation> insertOperationCallable()635 insertOperationCallable() { 636 return insertOperationCallable; 637 } 638 639 @Override listCallable()640 public UnaryCallable<ListHealthChecksRequest, HealthCheckList> listCallable() { 641 return listCallable; 642 } 643 644 @Override listPagedCallable()645 public UnaryCallable<ListHealthChecksRequest, ListPagedResponse> listPagedCallable() { 646 return listPagedCallable; 647 } 648 649 @Override patchCallable()650 public UnaryCallable<PatchHealthCheckRequest, Operation> patchCallable() { 651 return patchCallable; 652 } 653 654 @Override patchOperationCallable()655 public OperationCallable<PatchHealthCheckRequest, Operation, Operation> patchOperationCallable() { 656 return patchOperationCallable; 657 } 658 659 @Override updateCallable()660 public UnaryCallable<UpdateHealthCheckRequest, Operation> updateCallable() { 661 return updateCallable; 662 } 663 664 @Override 665 public OperationCallable<UpdateHealthCheckRequest, Operation, Operation> updateOperationCallable()666 updateOperationCallable() { 667 return updateOperationCallable; 668 } 669 670 @Override close()671 public final void close() { 672 try { 673 backgroundResources.close(); 674 } catch (RuntimeException e) { 675 throw e; 676 } catch (Exception e) { 677 throw new IllegalStateException("Failed to close resource", e); 678 } 679 } 680 681 @Override shutdown()682 public void shutdown() { 683 backgroundResources.shutdown(); 684 } 685 686 @Override isShutdown()687 public boolean isShutdown() { 688 return backgroundResources.isShutdown(); 689 } 690 691 @Override isTerminated()692 public boolean isTerminated() { 693 return backgroundResources.isTerminated(); 694 } 695 696 @Override shutdownNow()697 public void shutdownNow() { 698 backgroundResources.shutdownNow(); 699 } 700 701 @Override awaitTermination(long duration, TimeUnit unit)702 public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { 703 return backgroundResources.awaitTermination(duration, unit); 704 } 705 } 706