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.NodeGroupsClient.AggregatedListPagedResponse; 20 import static com.google.cloud.compute.v1.NodeGroupsClient.ListNodesPagedResponse; 21 import static com.google.cloud.compute.v1.NodeGroupsClient.ListPagedResponse; 22 23 import com.google.api.core.BetaApi; 24 import com.google.api.core.InternalApi; 25 import com.google.api.gax.core.BackgroundResource; 26 import com.google.api.gax.core.BackgroundResourceAggregation; 27 import com.google.api.gax.httpjson.ApiMethodDescriptor; 28 import com.google.api.gax.httpjson.HttpJsonCallSettings; 29 import com.google.api.gax.httpjson.HttpJsonOperationSnapshot; 30 import com.google.api.gax.httpjson.HttpJsonStubCallableFactory; 31 import com.google.api.gax.httpjson.ProtoMessageRequestFormatter; 32 import com.google.api.gax.httpjson.ProtoMessageResponseParser; 33 import com.google.api.gax.httpjson.ProtoRestSerializer; 34 import com.google.api.gax.rpc.ClientContext; 35 import com.google.api.gax.rpc.OperationCallable; 36 import com.google.api.gax.rpc.UnaryCallable; 37 import com.google.cloud.compute.v1.AddNodesNodeGroupRequest; 38 import com.google.cloud.compute.v1.AggregatedListNodeGroupsRequest; 39 import com.google.cloud.compute.v1.DeleteNodeGroupRequest; 40 import com.google.cloud.compute.v1.DeleteNodesNodeGroupRequest; 41 import com.google.cloud.compute.v1.GetIamPolicyNodeGroupRequest; 42 import com.google.cloud.compute.v1.GetNodeGroupRequest; 43 import com.google.cloud.compute.v1.InsertNodeGroupRequest; 44 import com.google.cloud.compute.v1.ListNodeGroupsRequest; 45 import com.google.cloud.compute.v1.ListNodesNodeGroupsRequest; 46 import com.google.cloud.compute.v1.NodeGroup; 47 import com.google.cloud.compute.v1.NodeGroupAggregatedList; 48 import com.google.cloud.compute.v1.NodeGroupList; 49 import com.google.cloud.compute.v1.NodeGroupsListNodes; 50 import com.google.cloud.compute.v1.Operation; 51 import com.google.cloud.compute.v1.Operation.Status; 52 import com.google.cloud.compute.v1.PatchNodeGroupRequest; 53 import com.google.cloud.compute.v1.Policy; 54 import com.google.cloud.compute.v1.SetIamPolicyNodeGroupRequest; 55 import com.google.cloud.compute.v1.SetNodeTemplateNodeGroupRequest; 56 import com.google.cloud.compute.v1.SimulateMaintenanceEventNodeGroupRequest; 57 import com.google.cloud.compute.v1.TestIamPermissionsNodeGroupRequest; 58 import com.google.cloud.compute.v1.TestPermissionsResponse; 59 import com.google.protobuf.TypeRegistry; 60 import java.io.IOException; 61 import java.util.ArrayList; 62 import java.util.HashMap; 63 import java.util.List; 64 import java.util.Map; 65 import java.util.concurrent.TimeUnit; 66 import javax.annotation.Generated; 67 68 // AUTO-GENERATED DOCUMENTATION AND CLASS. 69 /** 70 * REST stub implementation for the NodeGroups service API. 71 * 72 * <p>This class is for advanced usage and reflects the underlying API directly. 73 */ 74 @Generated("by gapic-generator-java") 75 @BetaApi 76 public class HttpJsonNodeGroupsStub extends NodeGroupsStub { 77 private static final TypeRegistry typeRegistry = 78 TypeRegistry.newBuilder().add(Operation.getDescriptor()).build(); 79 80 private static final ApiMethodDescriptor<AddNodesNodeGroupRequest, Operation> 81 addNodesMethodDescriptor = 82 ApiMethodDescriptor.<AddNodesNodeGroupRequest, Operation>newBuilder() 83 .setFullMethodName("google.cloud.compute.v1.NodeGroups/AddNodes") 84 .setHttpMethod("POST") 85 .setType(ApiMethodDescriptor.MethodType.UNARY) 86 .setRequestFormatter( 87 ProtoMessageRequestFormatter.<AddNodesNodeGroupRequest>newBuilder() 88 .setPath( 89 "/compute/v1/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes", 90 request -> { 91 Map<String, String> fields = new HashMap<>(); 92 ProtoRestSerializer<AddNodesNodeGroupRequest> serializer = 93 ProtoRestSerializer.create(); 94 serializer.putPathParam(fields, "nodeGroup", request.getNodeGroup()); 95 serializer.putPathParam(fields, "project", request.getProject()); 96 serializer.putPathParam(fields, "zone", request.getZone()); 97 return fields; 98 }) 99 .setQueryParamsExtractor( 100 request -> { 101 Map<String, List<String>> fields = new HashMap<>(); 102 ProtoRestSerializer<AddNodesNodeGroupRequest> serializer = 103 ProtoRestSerializer.create(); 104 if (request.hasRequestId()) { 105 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 106 } 107 return fields; 108 }) 109 .setRequestBodyExtractor( 110 request -> 111 ProtoRestSerializer.create() 112 .toBody( 113 "nodeGroupsAddNodesRequestResource", 114 request.getNodeGroupsAddNodesRequestResource(), 115 false)) 116 .build()) 117 .setResponseParser( 118 ProtoMessageResponseParser.<Operation>newBuilder() 119 .setDefaultInstance(Operation.getDefaultInstance()) 120 .setDefaultTypeRegistry(typeRegistry) 121 .build()) 122 .setOperationSnapshotFactory( 123 (AddNodesNodeGroupRequest request, Operation response) -> { 124 StringBuilder opName = new StringBuilder(response.getName()); 125 opName.append(":").append(request.getProject()); 126 opName.append(":").append(request.getZone()); 127 return HttpJsonOperationSnapshot.newBuilder() 128 .setName(opName.toString()) 129 .setMetadata(response) 130 .setDone(Status.DONE.equals(response.getStatus())) 131 .setResponse(response) 132 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 133 .build(); 134 }) 135 .build(); 136 137 private static final ApiMethodDescriptor<AggregatedListNodeGroupsRequest, NodeGroupAggregatedList> 138 aggregatedListMethodDescriptor = 139 ApiMethodDescriptor.<AggregatedListNodeGroupsRequest, NodeGroupAggregatedList>newBuilder() 140 .setFullMethodName("google.cloud.compute.v1.NodeGroups/AggregatedList") 141 .setHttpMethod("GET") 142 .setType(ApiMethodDescriptor.MethodType.UNARY) 143 .setRequestFormatter( 144 ProtoMessageRequestFormatter.<AggregatedListNodeGroupsRequest>newBuilder() 145 .setPath( 146 "/compute/v1/projects/{project}/aggregated/nodeGroups", 147 request -> { 148 Map<String, String> fields = new HashMap<>(); 149 ProtoRestSerializer<AggregatedListNodeGroupsRequest> serializer = 150 ProtoRestSerializer.create(); 151 serializer.putPathParam(fields, "project", request.getProject()); 152 return fields; 153 }) 154 .setQueryParamsExtractor( 155 request -> { 156 Map<String, List<String>> fields = new HashMap<>(); 157 ProtoRestSerializer<AggregatedListNodeGroupsRequest> serializer = 158 ProtoRestSerializer.create(); 159 if (request.hasFilter()) { 160 serializer.putQueryParam(fields, "filter", request.getFilter()); 161 } 162 if (request.hasIncludeAllScopes()) { 163 serializer.putQueryParam( 164 fields, "includeAllScopes", request.getIncludeAllScopes()); 165 } 166 if (request.hasMaxResults()) { 167 serializer.putQueryParam( 168 fields, "maxResults", request.getMaxResults()); 169 } 170 if (request.hasOrderBy()) { 171 serializer.putQueryParam(fields, "orderBy", request.getOrderBy()); 172 } 173 if (request.hasPageToken()) { 174 serializer.putQueryParam(fields, "pageToken", request.getPageToken()); 175 } 176 if (request.hasReturnPartialSuccess()) { 177 serializer.putQueryParam( 178 fields, 179 "returnPartialSuccess", 180 request.getReturnPartialSuccess()); 181 } 182 return fields; 183 }) 184 .setRequestBodyExtractor(request -> null) 185 .build()) 186 .setResponseParser( 187 ProtoMessageResponseParser.<NodeGroupAggregatedList>newBuilder() 188 .setDefaultInstance(NodeGroupAggregatedList.getDefaultInstance()) 189 .setDefaultTypeRegistry(typeRegistry) 190 .build()) 191 .build(); 192 193 private static final ApiMethodDescriptor<DeleteNodeGroupRequest, Operation> 194 deleteMethodDescriptor = 195 ApiMethodDescriptor.<DeleteNodeGroupRequest, Operation>newBuilder() 196 .setFullMethodName("google.cloud.compute.v1.NodeGroups/Delete") 197 .setHttpMethod("DELETE") 198 .setType(ApiMethodDescriptor.MethodType.UNARY) 199 .setRequestFormatter( 200 ProtoMessageRequestFormatter.<DeleteNodeGroupRequest>newBuilder() 201 .setPath( 202 "/compute/v1/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", 203 request -> { 204 Map<String, String> fields = new HashMap<>(); 205 ProtoRestSerializer<DeleteNodeGroupRequest> serializer = 206 ProtoRestSerializer.create(); 207 serializer.putPathParam(fields, "nodeGroup", request.getNodeGroup()); 208 serializer.putPathParam(fields, "project", request.getProject()); 209 serializer.putPathParam(fields, "zone", request.getZone()); 210 return fields; 211 }) 212 .setQueryParamsExtractor( 213 request -> { 214 Map<String, List<String>> fields = new HashMap<>(); 215 ProtoRestSerializer<DeleteNodeGroupRequest> serializer = 216 ProtoRestSerializer.create(); 217 if (request.hasRequestId()) { 218 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 219 } 220 return fields; 221 }) 222 .setRequestBodyExtractor(request -> null) 223 .build()) 224 .setResponseParser( 225 ProtoMessageResponseParser.<Operation>newBuilder() 226 .setDefaultInstance(Operation.getDefaultInstance()) 227 .setDefaultTypeRegistry(typeRegistry) 228 .build()) 229 .setOperationSnapshotFactory( 230 (DeleteNodeGroupRequest request, Operation response) -> { 231 StringBuilder opName = new StringBuilder(response.getName()); 232 opName.append(":").append(request.getProject()); 233 opName.append(":").append(request.getZone()); 234 return HttpJsonOperationSnapshot.newBuilder() 235 .setName(opName.toString()) 236 .setMetadata(response) 237 .setDone(Status.DONE.equals(response.getStatus())) 238 .setResponse(response) 239 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 240 .build(); 241 }) 242 .build(); 243 244 private static final ApiMethodDescriptor<DeleteNodesNodeGroupRequest, Operation> 245 deleteNodesMethodDescriptor = 246 ApiMethodDescriptor.<DeleteNodesNodeGroupRequest, Operation>newBuilder() 247 .setFullMethodName("google.cloud.compute.v1.NodeGroups/DeleteNodes") 248 .setHttpMethod("POST") 249 .setType(ApiMethodDescriptor.MethodType.UNARY) 250 .setRequestFormatter( 251 ProtoMessageRequestFormatter.<DeleteNodesNodeGroupRequest>newBuilder() 252 .setPath( 253 "/compute/v1/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes", 254 request -> { 255 Map<String, String> fields = new HashMap<>(); 256 ProtoRestSerializer<DeleteNodesNodeGroupRequest> serializer = 257 ProtoRestSerializer.create(); 258 serializer.putPathParam(fields, "nodeGroup", request.getNodeGroup()); 259 serializer.putPathParam(fields, "project", request.getProject()); 260 serializer.putPathParam(fields, "zone", request.getZone()); 261 return fields; 262 }) 263 .setQueryParamsExtractor( 264 request -> { 265 Map<String, List<String>> fields = new HashMap<>(); 266 ProtoRestSerializer<DeleteNodesNodeGroupRequest> serializer = 267 ProtoRestSerializer.create(); 268 if (request.hasRequestId()) { 269 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 270 } 271 return fields; 272 }) 273 .setRequestBodyExtractor( 274 request -> 275 ProtoRestSerializer.create() 276 .toBody( 277 "nodeGroupsDeleteNodesRequestResource", 278 request.getNodeGroupsDeleteNodesRequestResource(), 279 false)) 280 .build()) 281 .setResponseParser( 282 ProtoMessageResponseParser.<Operation>newBuilder() 283 .setDefaultInstance(Operation.getDefaultInstance()) 284 .setDefaultTypeRegistry(typeRegistry) 285 .build()) 286 .setOperationSnapshotFactory( 287 (DeleteNodesNodeGroupRequest request, Operation response) -> { 288 StringBuilder opName = new StringBuilder(response.getName()); 289 opName.append(":").append(request.getProject()); 290 opName.append(":").append(request.getZone()); 291 return HttpJsonOperationSnapshot.newBuilder() 292 .setName(opName.toString()) 293 .setMetadata(response) 294 .setDone(Status.DONE.equals(response.getStatus())) 295 .setResponse(response) 296 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 297 .build(); 298 }) 299 .build(); 300 301 private static final ApiMethodDescriptor<GetNodeGroupRequest, NodeGroup> getMethodDescriptor = 302 ApiMethodDescriptor.<GetNodeGroupRequest, NodeGroup>newBuilder() 303 .setFullMethodName("google.cloud.compute.v1.NodeGroups/Get") 304 .setHttpMethod("GET") 305 .setType(ApiMethodDescriptor.MethodType.UNARY) 306 .setRequestFormatter( 307 ProtoMessageRequestFormatter.<GetNodeGroupRequest>newBuilder() 308 .setPath( 309 "/compute/v1/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", 310 request -> { 311 Map<String, String> fields = new HashMap<>(); 312 ProtoRestSerializer<GetNodeGroupRequest> serializer = 313 ProtoRestSerializer.create(); 314 serializer.putPathParam(fields, "nodeGroup", request.getNodeGroup()); 315 serializer.putPathParam(fields, "project", request.getProject()); 316 serializer.putPathParam(fields, "zone", request.getZone()); 317 return fields; 318 }) 319 .setQueryParamsExtractor( 320 request -> { 321 Map<String, List<String>> fields = new HashMap<>(); 322 ProtoRestSerializer<GetNodeGroupRequest> serializer = 323 ProtoRestSerializer.create(); 324 return fields; 325 }) 326 .setRequestBodyExtractor(request -> null) 327 .build()) 328 .setResponseParser( 329 ProtoMessageResponseParser.<NodeGroup>newBuilder() 330 .setDefaultInstance(NodeGroup.getDefaultInstance()) 331 .setDefaultTypeRegistry(typeRegistry) 332 .build()) 333 .build(); 334 335 private static final ApiMethodDescriptor<GetIamPolicyNodeGroupRequest, Policy> 336 getIamPolicyMethodDescriptor = 337 ApiMethodDescriptor.<GetIamPolicyNodeGroupRequest, Policy>newBuilder() 338 .setFullMethodName("google.cloud.compute.v1.NodeGroups/GetIamPolicy") 339 .setHttpMethod("GET") 340 .setType(ApiMethodDescriptor.MethodType.UNARY) 341 .setRequestFormatter( 342 ProtoMessageRequestFormatter.<GetIamPolicyNodeGroupRequest>newBuilder() 343 .setPath( 344 "/compute/v1/projects/{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy", 345 request -> { 346 Map<String, String> fields = new HashMap<>(); 347 ProtoRestSerializer<GetIamPolicyNodeGroupRequest> serializer = 348 ProtoRestSerializer.create(); 349 serializer.putPathParam(fields, "project", request.getProject()); 350 serializer.putPathParam(fields, "resource", request.getResource()); 351 serializer.putPathParam(fields, "zone", request.getZone()); 352 return fields; 353 }) 354 .setQueryParamsExtractor( 355 request -> { 356 Map<String, List<String>> fields = new HashMap<>(); 357 ProtoRestSerializer<GetIamPolicyNodeGroupRequest> serializer = 358 ProtoRestSerializer.create(); 359 if (request.hasOptionsRequestedPolicyVersion()) { 360 serializer.putQueryParam( 361 fields, 362 "optionsRequestedPolicyVersion", 363 request.getOptionsRequestedPolicyVersion()); 364 } 365 return fields; 366 }) 367 .setRequestBodyExtractor(request -> null) 368 .build()) 369 .setResponseParser( 370 ProtoMessageResponseParser.<Policy>newBuilder() 371 .setDefaultInstance(Policy.getDefaultInstance()) 372 .setDefaultTypeRegistry(typeRegistry) 373 .build()) 374 .build(); 375 376 private static final ApiMethodDescriptor<InsertNodeGroupRequest, Operation> 377 insertMethodDescriptor = 378 ApiMethodDescriptor.<InsertNodeGroupRequest, Operation>newBuilder() 379 .setFullMethodName("google.cloud.compute.v1.NodeGroups/Insert") 380 .setHttpMethod("POST") 381 .setType(ApiMethodDescriptor.MethodType.UNARY) 382 .setRequestFormatter( 383 ProtoMessageRequestFormatter.<InsertNodeGroupRequest>newBuilder() 384 .setPath( 385 "/compute/v1/projects/{project}/zones/{zone}/nodeGroups", 386 request -> { 387 Map<String, String> fields = new HashMap<>(); 388 ProtoRestSerializer<InsertNodeGroupRequest> serializer = 389 ProtoRestSerializer.create(); 390 serializer.putPathParam(fields, "project", request.getProject()); 391 serializer.putPathParam(fields, "zone", request.getZone()); 392 return fields; 393 }) 394 .setQueryParamsExtractor( 395 request -> { 396 Map<String, List<String>> fields = new HashMap<>(); 397 ProtoRestSerializer<InsertNodeGroupRequest> serializer = 398 ProtoRestSerializer.create(); 399 serializer.putQueryParam( 400 fields, "initialNodeCount", request.getInitialNodeCount()); 401 if (request.hasRequestId()) { 402 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 403 } 404 return fields; 405 }) 406 .setRequestBodyExtractor( 407 request -> 408 ProtoRestSerializer.create() 409 .toBody( 410 "nodeGroupResource", request.getNodeGroupResource(), false)) 411 .build()) 412 .setResponseParser( 413 ProtoMessageResponseParser.<Operation>newBuilder() 414 .setDefaultInstance(Operation.getDefaultInstance()) 415 .setDefaultTypeRegistry(typeRegistry) 416 .build()) 417 .setOperationSnapshotFactory( 418 (InsertNodeGroupRequest request, Operation response) -> { 419 StringBuilder opName = new StringBuilder(response.getName()); 420 opName.append(":").append(request.getProject()); 421 opName.append(":").append(request.getZone()); 422 return HttpJsonOperationSnapshot.newBuilder() 423 .setName(opName.toString()) 424 .setMetadata(response) 425 .setDone(Status.DONE.equals(response.getStatus())) 426 .setResponse(response) 427 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 428 .build(); 429 }) 430 .build(); 431 432 private static final ApiMethodDescriptor<ListNodeGroupsRequest, NodeGroupList> 433 listMethodDescriptor = 434 ApiMethodDescriptor.<ListNodeGroupsRequest, NodeGroupList>newBuilder() 435 .setFullMethodName("google.cloud.compute.v1.NodeGroups/List") 436 .setHttpMethod("GET") 437 .setType(ApiMethodDescriptor.MethodType.UNARY) 438 .setRequestFormatter( 439 ProtoMessageRequestFormatter.<ListNodeGroupsRequest>newBuilder() 440 .setPath( 441 "/compute/v1/projects/{project}/zones/{zone}/nodeGroups", 442 request -> { 443 Map<String, String> fields = new HashMap<>(); 444 ProtoRestSerializer<ListNodeGroupsRequest> serializer = 445 ProtoRestSerializer.create(); 446 serializer.putPathParam(fields, "project", request.getProject()); 447 serializer.putPathParam(fields, "zone", request.getZone()); 448 return fields; 449 }) 450 .setQueryParamsExtractor( 451 request -> { 452 Map<String, List<String>> fields = new HashMap<>(); 453 ProtoRestSerializer<ListNodeGroupsRequest> serializer = 454 ProtoRestSerializer.create(); 455 if (request.hasFilter()) { 456 serializer.putQueryParam(fields, "filter", request.getFilter()); 457 } 458 if (request.hasMaxResults()) { 459 serializer.putQueryParam( 460 fields, "maxResults", request.getMaxResults()); 461 } 462 if (request.hasOrderBy()) { 463 serializer.putQueryParam(fields, "orderBy", request.getOrderBy()); 464 } 465 if (request.hasPageToken()) { 466 serializer.putQueryParam(fields, "pageToken", request.getPageToken()); 467 } 468 if (request.hasReturnPartialSuccess()) { 469 serializer.putQueryParam( 470 fields, 471 "returnPartialSuccess", 472 request.getReturnPartialSuccess()); 473 } 474 return fields; 475 }) 476 .setRequestBodyExtractor(request -> null) 477 .build()) 478 .setResponseParser( 479 ProtoMessageResponseParser.<NodeGroupList>newBuilder() 480 .setDefaultInstance(NodeGroupList.getDefaultInstance()) 481 .setDefaultTypeRegistry(typeRegistry) 482 .build()) 483 .build(); 484 485 private static final ApiMethodDescriptor<ListNodesNodeGroupsRequest, NodeGroupsListNodes> 486 listNodesMethodDescriptor = 487 ApiMethodDescriptor.<ListNodesNodeGroupsRequest, NodeGroupsListNodes>newBuilder() 488 .setFullMethodName("google.cloud.compute.v1.NodeGroups/ListNodes") 489 .setHttpMethod("POST") 490 .setType(ApiMethodDescriptor.MethodType.UNARY) 491 .setRequestFormatter( 492 ProtoMessageRequestFormatter.<ListNodesNodeGroupsRequest>newBuilder() 493 .setPath( 494 "/compute/v1/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes", 495 request -> { 496 Map<String, String> fields = new HashMap<>(); 497 ProtoRestSerializer<ListNodesNodeGroupsRequest> serializer = 498 ProtoRestSerializer.create(); 499 serializer.putPathParam(fields, "nodeGroup", request.getNodeGroup()); 500 serializer.putPathParam(fields, "project", request.getProject()); 501 serializer.putPathParam(fields, "zone", request.getZone()); 502 return fields; 503 }) 504 .setQueryParamsExtractor( 505 request -> { 506 Map<String, List<String>> fields = new HashMap<>(); 507 ProtoRestSerializer<ListNodesNodeGroupsRequest> serializer = 508 ProtoRestSerializer.create(); 509 if (request.hasFilter()) { 510 serializer.putQueryParam(fields, "filter", request.getFilter()); 511 } 512 if (request.hasMaxResults()) { 513 serializer.putQueryParam( 514 fields, "maxResults", request.getMaxResults()); 515 } 516 if (request.hasOrderBy()) { 517 serializer.putQueryParam(fields, "orderBy", request.getOrderBy()); 518 } 519 if (request.hasPageToken()) { 520 serializer.putQueryParam(fields, "pageToken", request.getPageToken()); 521 } 522 if (request.hasReturnPartialSuccess()) { 523 serializer.putQueryParam( 524 fields, 525 "returnPartialSuccess", 526 request.getReturnPartialSuccess()); 527 } 528 return fields; 529 }) 530 .setRequestBodyExtractor(request -> null) 531 .build()) 532 .setResponseParser( 533 ProtoMessageResponseParser.<NodeGroupsListNodes>newBuilder() 534 .setDefaultInstance(NodeGroupsListNodes.getDefaultInstance()) 535 .setDefaultTypeRegistry(typeRegistry) 536 .build()) 537 .build(); 538 539 private static final ApiMethodDescriptor<PatchNodeGroupRequest, Operation> patchMethodDescriptor = 540 ApiMethodDescriptor.<PatchNodeGroupRequest, Operation>newBuilder() 541 .setFullMethodName("google.cloud.compute.v1.NodeGroups/Patch") 542 .setHttpMethod("PATCH") 543 .setType(ApiMethodDescriptor.MethodType.UNARY) 544 .setRequestFormatter( 545 ProtoMessageRequestFormatter.<PatchNodeGroupRequest>newBuilder() 546 .setPath( 547 "/compute/v1/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", 548 request -> { 549 Map<String, String> fields = new HashMap<>(); 550 ProtoRestSerializer<PatchNodeGroupRequest> serializer = 551 ProtoRestSerializer.create(); 552 serializer.putPathParam(fields, "nodeGroup", request.getNodeGroup()); 553 serializer.putPathParam(fields, "project", request.getProject()); 554 serializer.putPathParam(fields, "zone", request.getZone()); 555 return fields; 556 }) 557 .setQueryParamsExtractor( 558 request -> { 559 Map<String, List<String>> fields = new HashMap<>(); 560 ProtoRestSerializer<PatchNodeGroupRequest> serializer = 561 ProtoRestSerializer.create(); 562 if (request.hasRequestId()) { 563 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 564 } 565 return fields; 566 }) 567 .setRequestBodyExtractor( 568 request -> 569 ProtoRestSerializer.create() 570 .toBody("nodeGroupResource", request.getNodeGroupResource(), false)) 571 .build()) 572 .setResponseParser( 573 ProtoMessageResponseParser.<Operation>newBuilder() 574 .setDefaultInstance(Operation.getDefaultInstance()) 575 .setDefaultTypeRegistry(typeRegistry) 576 .build()) 577 .setOperationSnapshotFactory( 578 (PatchNodeGroupRequest request, Operation response) -> { 579 StringBuilder opName = new StringBuilder(response.getName()); 580 opName.append(":").append(request.getProject()); 581 opName.append(":").append(request.getZone()); 582 return HttpJsonOperationSnapshot.newBuilder() 583 .setName(opName.toString()) 584 .setMetadata(response) 585 .setDone(Status.DONE.equals(response.getStatus())) 586 .setResponse(response) 587 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 588 .build(); 589 }) 590 .build(); 591 592 private static final ApiMethodDescriptor<SetIamPolicyNodeGroupRequest, Policy> 593 setIamPolicyMethodDescriptor = 594 ApiMethodDescriptor.<SetIamPolicyNodeGroupRequest, Policy>newBuilder() 595 .setFullMethodName("google.cloud.compute.v1.NodeGroups/SetIamPolicy") 596 .setHttpMethod("POST") 597 .setType(ApiMethodDescriptor.MethodType.UNARY) 598 .setRequestFormatter( 599 ProtoMessageRequestFormatter.<SetIamPolicyNodeGroupRequest>newBuilder() 600 .setPath( 601 "/compute/v1/projects/{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy", 602 request -> { 603 Map<String, String> fields = new HashMap<>(); 604 ProtoRestSerializer<SetIamPolicyNodeGroupRequest> serializer = 605 ProtoRestSerializer.create(); 606 serializer.putPathParam(fields, "project", request.getProject()); 607 serializer.putPathParam(fields, "resource", request.getResource()); 608 serializer.putPathParam(fields, "zone", request.getZone()); 609 return fields; 610 }) 611 .setQueryParamsExtractor( 612 request -> { 613 Map<String, List<String>> fields = new HashMap<>(); 614 ProtoRestSerializer<SetIamPolicyNodeGroupRequest> serializer = 615 ProtoRestSerializer.create(); 616 return fields; 617 }) 618 .setRequestBodyExtractor( 619 request -> 620 ProtoRestSerializer.create() 621 .toBody( 622 "zoneSetPolicyRequestResource", 623 request.getZoneSetPolicyRequestResource(), 624 false)) 625 .build()) 626 .setResponseParser( 627 ProtoMessageResponseParser.<Policy>newBuilder() 628 .setDefaultInstance(Policy.getDefaultInstance()) 629 .setDefaultTypeRegistry(typeRegistry) 630 .build()) 631 .build(); 632 633 private static final ApiMethodDescriptor<SetNodeTemplateNodeGroupRequest, Operation> 634 setNodeTemplateMethodDescriptor = 635 ApiMethodDescriptor.<SetNodeTemplateNodeGroupRequest, Operation>newBuilder() 636 .setFullMethodName("google.cloud.compute.v1.NodeGroups/SetNodeTemplate") 637 .setHttpMethod("POST") 638 .setType(ApiMethodDescriptor.MethodType.UNARY) 639 .setRequestFormatter( 640 ProtoMessageRequestFormatter.<SetNodeTemplateNodeGroupRequest>newBuilder() 641 .setPath( 642 "/compute/v1/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate", 643 request -> { 644 Map<String, String> fields = new HashMap<>(); 645 ProtoRestSerializer<SetNodeTemplateNodeGroupRequest> serializer = 646 ProtoRestSerializer.create(); 647 serializer.putPathParam(fields, "nodeGroup", request.getNodeGroup()); 648 serializer.putPathParam(fields, "project", request.getProject()); 649 serializer.putPathParam(fields, "zone", request.getZone()); 650 return fields; 651 }) 652 .setQueryParamsExtractor( 653 request -> { 654 Map<String, List<String>> fields = new HashMap<>(); 655 ProtoRestSerializer<SetNodeTemplateNodeGroupRequest> serializer = 656 ProtoRestSerializer.create(); 657 if (request.hasRequestId()) { 658 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 659 } 660 return fields; 661 }) 662 .setRequestBodyExtractor( 663 request -> 664 ProtoRestSerializer.create() 665 .toBody( 666 "nodeGroupsSetNodeTemplateRequestResource", 667 request.getNodeGroupsSetNodeTemplateRequestResource(), 668 false)) 669 .build()) 670 .setResponseParser( 671 ProtoMessageResponseParser.<Operation>newBuilder() 672 .setDefaultInstance(Operation.getDefaultInstance()) 673 .setDefaultTypeRegistry(typeRegistry) 674 .build()) 675 .setOperationSnapshotFactory( 676 (SetNodeTemplateNodeGroupRequest request, Operation response) -> { 677 StringBuilder opName = new StringBuilder(response.getName()); 678 opName.append(":").append(request.getProject()); 679 opName.append(":").append(request.getZone()); 680 return HttpJsonOperationSnapshot.newBuilder() 681 .setName(opName.toString()) 682 .setMetadata(response) 683 .setDone(Status.DONE.equals(response.getStatus())) 684 .setResponse(response) 685 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 686 .build(); 687 }) 688 .build(); 689 690 private static final ApiMethodDescriptor<SimulateMaintenanceEventNodeGroupRequest, Operation> 691 simulateMaintenanceEventMethodDescriptor = 692 ApiMethodDescriptor.<SimulateMaintenanceEventNodeGroupRequest, Operation>newBuilder() 693 .setFullMethodName("google.cloud.compute.v1.NodeGroups/SimulateMaintenanceEvent") 694 .setHttpMethod("POST") 695 .setType(ApiMethodDescriptor.MethodType.UNARY) 696 .setRequestFormatter( 697 ProtoMessageRequestFormatter 698 .<SimulateMaintenanceEventNodeGroupRequest>newBuilder() 699 .setPath( 700 "/compute/v1/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent", 701 request -> { 702 Map<String, String> fields = new HashMap<>(); 703 ProtoRestSerializer<SimulateMaintenanceEventNodeGroupRequest> 704 serializer = ProtoRestSerializer.create(); 705 serializer.putPathParam(fields, "nodeGroup", request.getNodeGroup()); 706 serializer.putPathParam(fields, "project", request.getProject()); 707 serializer.putPathParam(fields, "zone", request.getZone()); 708 return fields; 709 }) 710 .setQueryParamsExtractor( 711 request -> { 712 Map<String, List<String>> fields = new HashMap<>(); 713 ProtoRestSerializer<SimulateMaintenanceEventNodeGroupRequest> 714 serializer = ProtoRestSerializer.create(); 715 if (request.hasRequestId()) { 716 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 717 } 718 return fields; 719 }) 720 .setRequestBodyExtractor( 721 request -> 722 ProtoRestSerializer.create() 723 .toBody( 724 "nodeGroupsSimulateMaintenanceEventRequestResource", 725 request 726 .getNodeGroupsSimulateMaintenanceEventRequestResource(), 727 false)) 728 .build()) 729 .setResponseParser( 730 ProtoMessageResponseParser.<Operation>newBuilder() 731 .setDefaultInstance(Operation.getDefaultInstance()) 732 .setDefaultTypeRegistry(typeRegistry) 733 .build()) 734 .setOperationSnapshotFactory( 735 (SimulateMaintenanceEventNodeGroupRequest request, Operation response) -> { 736 StringBuilder opName = new StringBuilder(response.getName()); 737 opName.append(":").append(request.getProject()); 738 opName.append(":").append(request.getZone()); 739 return HttpJsonOperationSnapshot.newBuilder() 740 .setName(opName.toString()) 741 .setMetadata(response) 742 .setDone(Status.DONE.equals(response.getStatus())) 743 .setResponse(response) 744 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 745 .build(); 746 }) 747 .build(); 748 749 private static final ApiMethodDescriptor< 750 TestIamPermissionsNodeGroupRequest, TestPermissionsResponse> 751 testIamPermissionsMethodDescriptor = 752 ApiMethodDescriptor 753 .<TestIamPermissionsNodeGroupRequest, TestPermissionsResponse>newBuilder() 754 .setFullMethodName("google.cloud.compute.v1.NodeGroups/TestIamPermissions") 755 .setHttpMethod("POST") 756 .setType(ApiMethodDescriptor.MethodType.UNARY) 757 .setRequestFormatter( 758 ProtoMessageRequestFormatter.<TestIamPermissionsNodeGroupRequest>newBuilder() 759 .setPath( 760 "/compute/v1/projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions", 761 request -> { 762 Map<String, String> fields = new HashMap<>(); 763 ProtoRestSerializer<TestIamPermissionsNodeGroupRequest> serializer = 764 ProtoRestSerializer.create(); 765 serializer.putPathParam(fields, "project", request.getProject()); 766 serializer.putPathParam(fields, "resource", request.getResource()); 767 serializer.putPathParam(fields, "zone", request.getZone()); 768 return fields; 769 }) 770 .setQueryParamsExtractor( 771 request -> { 772 Map<String, List<String>> fields = new HashMap<>(); 773 ProtoRestSerializer<TestIamPermissionsNodeGroupRequest> serializer = 774 ProtoRestSerializer.create(); 775 return fields; 776 }) 777 .setRequestBodyExtractor( 778 request -> 779 ProtoRestSerializer.create() 780 .toBody( 781 "testPermissionsRequestResource", 782 request.getTestPermissionsRequestResource(), 783 false)) 784 .build()) 785 .setResponseParser( 786 ProtoMessageResponseParser.<TestPermissionsResponse>newBuilder() 787 .setDefaultInstance(TestPermissionsResponse.getDefaultInstance()) 788 .setDefaultTypeRegistry(typeRegistry) 789 .build()) 790 .build(); 791 792 private final UnaryCallable<AddNodesNodeGroupRequest, Operation> addNodesCallable; 793 private final OperationCallable<AddNodesNodeGroupRequest, Operation, Operation> 794 addNodesOperationCallable; 795 private final UnaryCallable<AggregatedListNodeGroupsRequest, NodeGroupAggregatedList> 796 aggregatedListCallable; 797 private final UnaryCallable<AggregatedListNodeGroupsRequest, AggregatedListPagedResponse> 798 aggregatedListPagedCallable; 799 private final UnaryCallable<DeleteNodeGroupRequest, Operation> deleteCallable; 800 private final OperationCallable<DeleteNodeGroupRequest, Operation, Operation> 801 deleteOperationCallable; 802 private final UnaryCallable<DeleteNodesNodeGroupRequest, Operation> deleteNodesCallable; 803 private final OperationCallable<DeleteNodesNodeGroupRequest, Operation, Operation> 804 deleteNodesOperationCallable; 805 private final UnaryCallable<GetNodeGroupRequest, NodeGroup> getCallable; 806 private final UnaryCallable<GetIamPolicyNodeGroupRequest, Policy> getIamPolicyCallable; 807 private final UnaryCallable<InsertNodeGroupRequest, Operation> insertCallable; 808 private final OperationCallable<InsertNodeGroupRequest, Operation, Operation> 809 insertOperationCallable; 810 private final UnaryCallable<ListNodeGroupsRequest, NodeGroupList> listCallable; 811 private final UnaryCallable<ListNodeGroupsRequest, ListPagedResponse> listPagedCallable; 812 private final UnaryCallable<ListNodesNodeGroupsRequest, NodeGroupsListNodes> listNodesCallable; 813 private final UnaryCallable<ListNodesNodeGroupsRequest, ListNodesPagedResponse> 814 listNodesPagedCallable; 815 private final UnaryCallable<PatchNodeGroupRequest, Operation> patchCallable; 816 private final OperationCallable<PatchNodeGroupRequest, Operation, Operation> 817 patchOperationCallable; 818 private final UnaryCallable<SetIamPolicyNodeGroupRequest, Policy> setIamPolicyCallable; 819 private final UnaryCallable<SetNodeTemplateNodeGroupRequest, Operation> setNodeTemplateCallable; 820 private final OperationCallable<SetNodeTemplateNodeGroupRequest, Operation, Operation> 821 setNodeTemplateOperationCallable; 822 private final UnaryCallable<SimulateMaintenanceEventNodeGroupRequest, Operation> 823 simulateMaintenanceEventCallable; 824 private final OperationCallable<SimulateMaintenanceEventNodeGroupRequest, Operation, Operation> 825 simulateMaintenanceEventOperationCallable; 826 private final UnaryCallable<TestIamPermissionsNodeGroupRequest, TestPermissionsResponse> 827 testIamPermissionsCallable; 828 829 private final BackgroundResource backgroundResources; 830 private final HttpJsonZoneOperationsStub httpJsonOperationsStub; 831 private final HttpJsonStubCallableFactory callableFactory; 832 create(NodeGroupsStubSettings settings)833 public static final HttpJsonNodeGroupsStub create(NodeGroupsStubSettings settings) 834 throws IOException { 835 return new HttpJsonNodeGroupsStub(settings, ClientContext.create(settings)); 836 } 837 create(ClientContext clientContext)838 public static final HttpJsonNodeGroupsStub create(ClientContext clientContext) 839 throws IOException { 840 return new HttpJsonNodeGroupsStub(NodeGroupsStubSettings.newBuilder().build(), clientContext); 841 } 842 create( ClientContext clientContext, HttpJsonStubCallableFactory callableFactory)843 public static final HttpJsonNodeGroupsStub create( 844 ClientContext clientContext, HttpJsonStubCallableFactory callableFactory) throws IOException { 845 return new HttpJsonNodeGroupsStub( 846 NodeGroupsStubSettings.newBuilder().build(), clientContext, callableFactory); 847 } 848 849 /** 850 * Constructs an instance of HttpJsonNodeGroupsStub, using the given settings. This is protected 851 * so that it is easy to make a subclass, but otherwise, the static factory methods should be 852 * preferred. 853 */ HttpJsonNodeGroupsStub(NodeGroupsStubSettings settings, ClientContext clientContext)854 protected HttpJsonNodeGroupsStub(NodeGroupsStubSettings settings, ClientContext clientContext) 855 throws IOException { 856 this(settings, clientContext, new HttpJsonNodeGroupsCallableFactory()); 857 } 858 859 /** 860 * Constructs an instance of HttpJsonNodeGroupsStub, using the given settings. This is protected 861 * so that it is easy to make a subclass, but otherwise, the static factory methods should be 862 * preferred. 863 */ HttpJsonNodeGroupsStub( NodeGroupsStubSettings settings, ClientContext clientContext, HttpJsonStubCallableFactory callableFactory)864 protected HttpJsonNodeGroupsStub( 865 NodeGroupsStubSettings settings, 866 ClientContext clientContext, 867 HttpJsonStubCallableFactory callableFactory) 868 throws IOException { 869 this.callableFactory = callableFactory; 870 this.httpJsonOperationsStub = HttpJsonZoneOperationsStub.create(clientContext, callableFactory); 871 872 HttpJsonCallSettings<AddNodesNodeGroupRequest, Operation> addNodesTransportSettings = 873 HttpJsonCallSettings.<AddNodesNodeGroupRequest, Operation>newBuilder() 874 .setMethodDescriptor(addNodesMethodDescriptor) 875 .setTypeRegistry(typeRegistry) 876 .build(); 877 HttpJsonCallSettings<AggregatedListNodeGroupsRequest, NodeGroupAggregatedList> 878 aggregatedListTransportSettings = 879 HttpJsonCallSettings 880 .<AggregatedListNodeGroupsRequest, NodeGroupAggregatedList>newBuilder() 881 .setMethodDescriptor(aggregatedListMethodDescriptor) 882 .setTypeRegistry(typeRegistry) 883 .build(); 884 HttpJsonCallSettings<DeleteNodeGroupRequest, Operation> deleteTransportSettings = 885 HttpJsonCallSettings.<DeleteNodeGroupRequest, Operation>newBuilder() 886 .setMethodDescriptor(deleteMethodDescriptor) 887 .setTypeRegistry(typeRegistry) 888 .build(); 889 HttpJsonCallSettings<DeleteNodesNodeGroupRequest, Operation> deleteNodesTransportSettings = 890 HttpJsonCallSettings.<DeleteNodesNodeGroupRequest, Operation>newBuilder() 891 .setMethodDescriptor(deleteNodesMethodDescriptor) 892 .setTypeRegistry(typeRegistry) 893 .build(); 894 HttpJsonCallSettings<GetNodeGroupRequest, NodeGroup> getTransportSettings = 895 HttpJsonCallSettings.<GetNodeGroupRequest, NodeGroup>newBuilder() 896 .setMethodDescriptor(getMethodDescriptor) 897 .setTypeRegistry(typeRegistry) 898 .build(); 899 HttpJsonCallSettings<GetIamPolicyNodeGroupRequest, Policy> getIamPolicyTransportSettings = 900 HttpJsonCallSettings.<GetIamPolicyNodeGroupRequest, Policy>newBuilder() 901 .setMethodDescriptor(getIamPolicyMethodDescriptor) 902 .setTypeRegistry(typeRegistry) 903 .build(); 904 HttpJsonCallSettings<InsertNodeGroupRequest, Operation> insertTransportSettings = 905 HttpJsonCallSettings.<InsertNodeGroupRequest, Operation>newBuilder() 906 .setMethodDescriptor(insertMethodDescriptor) 907 .setTypeRegistry(typeRegistry) 908 .build(); 909 HttpJsonCallSettings<ListNodeGroupsRequest, NodeGroupList> listTransportSettings = 910 HttpJsonCallSettings.<ListNodeGroupsRequest, NodeGroupList>newBuilder() 911 .setMethodDescriptor(listMethodDescriptor) 912 .setTypeRegistry(typeRegistry) 913 .build(); 914 HttpJsonCallSettings<ListNodesNodeGroupsRequest, NodeGroupsListNodes> 915 listNodesTransportSettings = 916 HttpJsonCallSettings.<ListNodesNodeGroupsRequest, NodeGroupsListNodes>newBuilder() 917 .setMethodDescriptor(listNodesMethodDescriptor) 918 .setTypeRegistry(typeRegistry) 919 .build(); 920 HttpJsonCallSettings<PatchNodeGroupRequest, Operation> patchTransportSettings = 921 HttpJsonCallSettings.<PatchNodeGroupRequest, Operation>newBuilder() 922 .setMethodDescriptor(patchMethodDescriptor) 923 .setTypeRegistry(typeRegistry) 924 .build(); 925 HttpJsonCallSettings<SetIamPolicyNodeGroupRequest, Policy> setIamPolicyTransportSettings = 926 HttpJsonCallSettings.<SetIamPolicyNodeGroupRequest, Policy>newBuilder() 927 .setMethodDescriptor(setIamPolicyMethodDescriptor) 928 .setTypeRegistry(typeRegistry) 929 .build(); 930 HttpJsonCallSettings<SetNodeTemplateNodeGroupRequest, Operation> 931 setNodeTemplateTransportSettings = 932 HttpJsonCallSettings.<SetNodeTemplateNodeGroupRequest, Operation>newBuilder() 933 .setMethodDescriptor(setNodeTemplateMethodDescriptor) 934 .setTypeRegistry(typeRegistry) 935 .build(); 936 HttpJsonCallSettings<SimulateMaintenanceEventNodeGroupRequest, Operation> 937 simulateMaintenanceEventTransportSettings = 938 HttpJsonCallSettings.<SimulateMaintenanceEventNodeGroupRequest, Operation>newBuilder() 939 .setMethodDescriptor(simulateMaintenanceEventMethodDescriptor) 940 .setTypeRegistry(typeRegistry) 941 .build(); 942 HttpJsonCallSettings<TestIamPermissionsNodeGroupRequest, TestPermissionsResponse> 943 testIamPermissionsTransportSettings = 944 HttpJsonCallSettings 945 .<TestIamPermissionsNodeGroupRequest, TestPermissionsResponse>newBuilder() 946 .setMethodDescriptor(testIamPermissionsMethodDescriptor) 947 .setTypeRegistry(typeRegistry) 948 .build(); 949 950 this.addNodesCallable = 951 callableFactory.createUnaryCallable( 952 addNodesTransportSettings, settings.addNodesSettings(), clientContext); 953 this.addNodesOperationCallable = 954 callableFactory.createOperationCallable( 955 addNodesTransportSettings, 956 settings.addNodesOperationSettings(), 957 clientContext, 958 httpJsonOperationsStub); 959 this.aggregatedListCallable = 960 callableFactory.createUnaryCallable( 961 aggregatedListTransportSettings, settings.aggregatedListSettings(), clientContext); 962 this.aggregatedListPagedCallable = 963 callableFactory.createPagedCallable( 964 aggregatedListTransportSettings, settings.aggregatedListSettings(), clientContext); 965 this.deleteCallable = 966 callableFactory.createUnaryCallable( 967 deleteTransportSettings, settings.deleteSettings(), clientContext); 968 this.deleteOperationCallable = 969 callableFactory.createOperationCallable( 970 deleteTransportSettings, 971 settings.deleteOperationSettings(), 972 clientContext, 973 httpJsonOperationsStub); 974 this.deleteNodesCallable = 975 callableFactory.createUnaryCallable( 976 deleteNodesTransportSettings, settings.deleteNodesSettings(), clientContext); 977 this.deleteNodesOperationCallable = 978 callableFactory.createOperationCallable( 979 deleteNodesTransportSettings, 980 settings.deleteNodesOperationSettings(), 981 clientContext, 982 httpJsonOperationsStub); 983 this.getCallable = 984 callableFactory.createUnaryCallable( 985 getTransportSettings, settings.getSettings(), clientContext); 986 this.getIamPolicyCallable = 987 callableFactory.createUnaryCallable( 988 getIamPolicyTransportSettings, settings.getIamPolicySettings(), clientContext); 989 this.insertCallable = 990 callableFactory.createUnaryCallable( 991 insertTransportSettings, settings.insertSettings(), clientContext); 992 this.insertOperationCallable = 993 callableFactory.createOperationCallable( 994 insertTransportSettings, 995 settings.insertOperationSettings(), 996 clientContext, 997 httpJsonOperationsStub); 998 this.listCallable = 999 callableFactory.createUnaryCallable( 1000 listTransportSettings, settings.listSettings(), clientContext); 1001 this.listPagedCallable = 1002 callableFactory.createPagedCallable( 1003 listTransportSettings, settings.listSettings(), clientContext); 1004 this.listNodesCallable = 1005 callableFactory.createUnaryCallable( 1006 listNodesTransportSettings, settings.listNodesSettings(), clientContext); 1007 this.listNodesPagedCallable = 1008 callableFactory.createPagedCallable( 1009 listNodesTransportSettings, settings.listNodesSettings(), clientContext); 1010 this.patchCallable = 1011 callableFactory.createUnaryCallable( 1012 patchTransportSettings, settings.patchSettings(), clientContext); 1013 this.patchOperationCallable = 1014 callableFactory.createOperationCallable( 1015 patchTransportSettings, 1016 settings.patchOperationSettings(), 1017 clientContext, 1018 httpJsonOperationsStub); 1019 this.setIamPolicyCallable = 1020 callableFactory.createUnaryCallable( 1021 setIamPolicyTransportSettings, settings.setIamPolicySettings(), clientContext); 1022 this.setNodeTemplateCallable = 1023 callableFactory.createUnaryCallable( 1024 setNodeTemplateTransportSettings, settings.setNodeTemplateSettings(), clientContext); 1025 this.setNodeTemplateOperationCallable = 1026 callableFactory.createOperationCallable( 1027 setNodeTemplateTransportSettings, 1028 settings.setNodeTemplateOperationSettings(), 1029 clientContext, 1030 httpJsonOperationsStub); 1031 this.simulateMaintenanceEventCallable = 1032 callableFactory.createUnaryCallable( 1033 simulateMaintenanceEventTransportSettings, 1034 settings.simulateMaintenanceEventSettings(), 1035 clientContext); 1036 this.simulateMaintenanceEventOperationCallable = 1037 callableFactory.createOperationCallable( 1038 simulateMaintenanceEventTransportSettings, 1039 settings.simulateMaintenanceEventOperationSettings(), 1040 clientContext, 1041 httpJsonOperationsStub); 1042 this.testIamPermissionsCallable = 1043 callableFactory.createUnaryCallable( 1044 testIamPermissionsTransportSettings, 1045 settings.testIamPermissionsSettings(), 1046 clientContext); 1047 1048 this.backgroundResources = 1049 new BackgroundResourceAggregation(clientContext.getBackgroundResources()); 1050 } 1051 1052 @InternalApi getMethodDescriptors()1053 public static List<ApiMethodDescriptor> getMethodDescriptors() { 1054 List<ApiMethodDescriptor> methodDescriptors = new ArrayList<>(); 1055 methodDescriptors.add(addNodesMethodDescriptor); 1056 methodDescriptors.add(aggregatedListMethodDescriptor); 1057 methodDescriptors.add(deleteMethodDescriptor); 1058 methodDescriptors.add(deleteNodesMethodDescriptor); 1059 methodDescriptors.add(getMethodDescriptor); 1060 methodDescriptors.add(getIamPolicyMethodDescriptor); 1061 methodDescriptors.add(insertMethodDescriptor); 1062 methodDescriptors.add(listMethodDescriptor); 1063 methodDescriptors.add(listNodesMethodDescriptor); 1064 methodDescriptors.add(patchMethodDescriptor); 1065 methodDescriptors.add(setIamPolicyMethodDescriptor); 1066 methodDescriptors.add(setNodeTemplateMethodDescriptor); 1067 methodDescriptors.add(simulateMaintenanceEventMethodDescriptor); 1068 methodDescriptors.add(testIamPermissionsMethodDescriptor); 1069 return methodDescriptors; 1070 } 1071 1072 @Override addNodesCallable()1073 public UnaryCallable<AddNodesNodeGroupRequest, Operation> addNodesCallable() { 1074 return addNodesCallable; 1075 } 1076 1077 @Override 1078 public OperationCallable<AddNodesNodeGroupRequest, Operation, Operation> addNodesOperationCallable()1079 addNodesOperationCallable() { 1080 return addNodesOperationCallable; 1081 } 1082 1083 @Override 1084 public UnaryCallable<AggregatedListNodeGroupsRequest, NodeGroupAggregatedList> aggregatedListCallable()1085 aggregatedListCallable() { 1086 return aggregatedListCallable; 1087 } 1088 1089 @Override 1090 public UnaryCallable<AggregatedListNodeGroupsRequest, AggregatedListPagedResponse> aggregatedListPagedCallable()1091 aggregatedListPagedCallable() { 1092 return aggregatedListPagedCallable; 1093 } 1094 1095 @Override deleteCallable()1096 public UnaryCallable<DeleteNodeGroupRequest, Operation> deleteCallable() { 1097 return deleteCallable; 1098 } 1099 1100 @Override deleteOperationCallable()1101 public OperationCallable<DeleteNodeGroupRequest, Operation, Operation> deleteOperationCallable() { 1102 return deleteOperationCallable; 1103 } 1104 1105 @Override deleteNodesCallable()1106 public UnaryCallable<DeleteNodesNodeGroupRequest, Operation> deleteNodesCallable() { 1107 return deleteNodesCallable; 1108 } 1109 1110 @Override 1111 public OperationCallable<DeleteNodesNodeGroupRequest, Operation, Operation> deleteNodesOperationCallable()1112 deleteNodesOperationCallable() { 1113 return deleteNodesOperationCallable; 1114 } 1115 1116 @Override getCallable()1117 public UnaryCallable<GetNodeGroupRequest, NodeGroup> getCallable() { 1118 return getCallable; 1119 } 1120 1121 @Override getIamPolicyCallable()1122 public UnaryCallable<GetIamPolicyNodeGroupRequest, Policy> getIamPolicyCallable() { 1123 return getIamPolicyCallable; 1124 } 1125 1126 @Override insertCallable()1127 public UnaryCallable<InsertNodeGroupRequest, Operation> insertCallable() { 1128 return insertCallable; 1129 } 1130 1131 @Override insertOperationCallable()1132 public OperationCallable<InsertNodeGroupRequest, Operation, Operation> insertOperationCallable() { 1133 return insertOperationCallable; 1134 } 1135 1136 @Override listCallable()1137 public UnaryCallable<ListNodeGroupsRequest, NodeGroupList> listCallable() { 1138 return listCallable; 1139 } 1140 1141 @Override listPagedCallable()1142 public UnaryCallable<ListNodeGroupsRequest, ListPagedResponse> listPagedCallable() { 1143 return listPagedCallable; 1144 } 1145 1146 @Override listNodesCallable()1147 public UnaryCallable<ListNodesNodeGroupsRequest, NodeGroupsListNodes> listNodesCallable() { 1148 return listNodesCallable; 1149 } 1150 1151 @Override 1152 public UnaryCallable<ListNodesNodeGroupsRequest, ListNodesPagedResponse> listNodesPagedCallable()1153 listNodesPagedCallable() { 1154 return listNodesPagedCallable; 1155 } 1156 1157 @Override patchCallable()1158 public UnaryCallable<PatchNodeGroupRequest, Operation> patchCallable() { 1159 return patchCallable; 1160 } 1161 1162 @Override patchOperationCallable()1163 public OperationCallable<PatchNodeGroupRequest, Operation, Operation> patchOperationCallable() { 1164 return patchOperationCallable; 1165 } 1166 1167 @Override setIamPolicyCallable()1168 public UnaryCallable<SetIamPolicyNodeGroupRequest, Policy> setIamPolicyCallable() { 1169 return setIamPolicyCallable; 1170 } 1171 1172 @Override setNodeTemplateCallable()1173 public UnaryCallable<SetNodeTemplateNodeGroupRequest, Operation> setNodeTemplateCallable() { 1174 return setNodeTemplateCallable; 1175 } 1176 1177 @Override 1178 public OperationCallable<SetNodeTemplateNodeGroupRequest, Operation, Operation> setNodeTemplateOperationCallable()1179 setNodeTemplateOperationCallable() { 1180 return setNodeTemplateOperationCallable; 1181 } 1182 1183 @Override 1184 public UnaryCallable<SimulateMaintenanceEventNodeGroupRequest, Operation> simulateMaintenanceEventCallable()1185 simulateMaintenanceEventCallable() { 1186 return simulateMaintenanceEventCallable; 1187 } 1188 1189 @Override 1190 public OperationCallable<SimulateMaintenanceEventNodeGroupRequest, Operation, Operation> simulateMaintenanceEventOperationCallable()1191 simulateMaintenanceEventOperationCallable() { 1192 return simulateMaintenanceEventOperationCallable; 1193 } 1194 1195 @Override 1196 public UnaryCallable<TestIamPermissionsNodeGroupRequest, TestPermissionsResponse> testIamPermissionsCallable()1197 testIamPermissionsCallable() { 1198 return testIamPermissionsCallable; 1199 } 1200 1201 @Override close()1202 public final void close() { 1203 try { 1204 backgroundResources.close(); 1205 } catch (RuntimeException e) { 1206 throw e; 1207 } catch (Exception e) { 1208 throw new IllegalStateException("Failed to close resource", e); 1209 } 1210 } 1211 1212 @Override shutdown()1213 public void shutdown() { 1214 backgroundResources.shutdown(); 1215 } 1216 1217 @Override isShutdown()1218 public boolean isShutdown() { 1219 return backgroundResources.isShutdown(); 1220 } 1221 1222 @Override isTerminated()1223 public boolean isTerminated() { 1224 return backgroundResources.isTerminated(); 1225 } 1226 1227 @Override shutdownNow()1228 public void shutdownNow() { 1229 backgroundResources.shutdownNow(); 1230 } 1231 1232 @Override awaitTermination(long duration, TimeUnit unit)1233 public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { 1234 return backgroundResources.awaitTermination(duration, unit); 1235 } 1236 } 1237