1 /* 2 * Copyright 2022 Google LLC 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * https://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.google.cloud.compute.v1.stub; 18 19 import static com.google.cloud.compute.v1.ProjectsClient.GetXpnResourcesPagedResponse; 20 import static com.google.cloud.compute.v1.ProjectsClient.ListXpnHostsPagedResponse; 21 22 import com.google.api.core.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.DisableXpnHostProjectRequest; 37 import com.google.cloud.compute.v1.DisableXpnResourceProjectRequest; 38 import com.google.cloud.compute.v1.EnableXpnHostProjectRequest; 39 import com.google.cloud.compute.v1.EnableXpnResourceProjectRequest; 40 import com.google.cloud.compute.v1.GetProjectRequest; 41 import com.google.cloud.compute.v1.GetXpnHostProjectRequest; 42 import com.google.cloud.compute.v1.GetXpnResourcesProjectsRequest; 43 import com.google.cloud.compute.v1.ListXpnHostsProjectsRequest; 44 import com.google.cloud.compute.v1.MoveDiskProjectRequest; 45 import com.google.cloud.compute.v1.MoveInstanceProjectRequest; 46 import com.google.cloud.compute.v1.Operation; 47 import com.google.cloud.compute.v1.Operation.Status; 48 import com.google.cloud.compute.v1.Project; 49 import com.google.cloud.compute.v1.ProjectsGetXpnResources; 50 import com.google.cloud.compute.v1.SetCommonInstanceMetadataProjectRequest; 51 import com.google.cloud.compute.v1.SetDefaultNetworkTierProjectRequest; 52 import com.google.cloud.compute.v1.SetUsageExportBucketProjectRequest; 53 import com.google.cloud.compute.v1.XpnHostList; 54 import com.google.protobuf.TypeRegistry; 55 import java.io.IOException; 56 import java.util.ArrayList; 57 import java.util.HashMap; 58 import java.util.List; 59 import java.util.Map; 60 import java.util.concurrent.TimeUnit; 61 import javax.annotation.Generated; 62 63 // AUTO-GENERATED DOCUMENTATION AND CLASS. 64 /** 65 * REST stub implementation for the Projects service API. 66 * 67 * <p>This class is for advanced usage and reflects the underlying API directly. 68 */ 69 @Generated("by gapic-generator-java") 70 @BetaApi 71 public class HttpJsonProjectsStub extends ProjectsStub { 72 private static final TypeRegistry typeRegistry = 73 TypeRegistry.newBuilder().add(Operation.getDescriptor()).build(); 74 75 private static final ApiMethodDescriptor<DisableXpnHostProjectRequest, Operation> 76 disableXpnHostMethodDescriptor = 77 ApiMethodDescriptor.<DisableXpnHostProjectRequest, Operation>newBuilder() 78 .setFullMethodName("google.cloud.compute.v1.Projects/DisableXpnHost") 79 .setHttpMethod("POST") 80 .setType(ApiMethodDescriptor.MethodType.UNARY) 81 .setRequestFormatter( 82 ProtoMessageRequestFormatter.<DisableXpnHostProjectRequest>newBuilder() 83 .setPath( 84 "/compute/v1/projects/{project}/disableXpnHost", 85 request -> { 86 Map<String, String> fields = new HashMap<>(); 87 ProtoRestSerializer<DisableXpnHostProjectRequest> serializer = 88 ProtoRestSerializer.create(); 89 serializer.putPathParam(fields, "project", request.getProject()); 90 return fields; 91 }) 92 .setQueryParamsExtractor( 93 request -> { 94 Map<String, List<String>> fields = new HashMap<>(); 95 ProtoRestSerializer<DisableXpnHostProjectRequest> serializer = 96 ProtoRestSerializer.create(); 97 if (request.hasRequestId()) { 98 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 99 } 100 return fields; 101 }) 102 .setRequestBodyExtractor(request -> null) 103 .build()) 104 .setResponseParser( 105 ProtoMessageResponseParser.<Operation>newBuilder() 106 .setDefaultInstance(Operation.getDefaultInstance()) 107 .setDefaultTypeRegistry(typeRegistry) 108 .build()) 109 .setOperationSnapshotFactory( 110 (DisableXpnHostProjectRequest request, Operation response) -> { 111 StringBuilder opName = new StringBuilder(response.getName()); 112 opName.append(":").append(request.getProject()); 113 return HttpJsonOperationSnapshot.newBuilder() 114 .setName(opName.toString()) 115 .setMetadata(response) 116 .setDone(Status.DONE.equals(response.getStatus())) 117 .setResponse(response) 118 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 119 .build(); 120 }) 121 .build(); 122 123 private static final ApiMethodDescriptor<DisableXpnResourceProjectRequest, Operation> 124 disableXpnResourceMethodDescriptor = 125 ApiMethodDescriptor.<DisableXpnResourceProjectRequest, Operation>newBuilder() 126 .setFullMethodName("google.cloud.compute.v1.Projects/DisableXpnResource") 127 .setHttpMethod("POST") 128 .setType(ApiMethodDescriptor.MethodType.UNARY) 129 .setRequestFormatter( 130 ProtoMessageRequestFormatter.<DisableXpnResourceProjectRequest>newBuilder() 131 .setPath( 132 "/compute/v1/projects/{project}/disableXpnResource", 133 request -> { 134 Map<String, String> fields = new HashMap<>(); 135 ProtoRestSerializer<DisableXpnResourceProjectRequest> serializer = 136 ProtoRestSerializer.create(); 137 serializer.putPathParam(fields, "project", request.getProject()); 138 return fields; 139 }) 140 .setQueryParamsExtractor( 141 request -> { 142 Map<String, List<String>> fields = new HashMap<>(); 143 ProtoRestSerializer<DisableXpnResourceProjectRequest> serializer = 144 ProtoRestSerializer.create(); 145 if (request.hasRequestId()) { 146 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 147 } 148 return fields; 149 }) 150 .setRequestBodyExtractor( 151 request -> 152 ProtoRestSerializer.create() 153 .toBody( 154 "projectsDisableXpnResourceRequestResource", 155 request.getProjectsDisableXpnResourceRequestResource(), 156 false)) 157 .build()) 158 .setResponseParser( 159 ProtoMessageResponseParser.<Operation>newBuilder() 160 .setDefaultInstance(Operation.getDefaultInstance()) 161 .setDefaultTypeRegistry(typeRegistry) 162 .build()) 163 .setOperationSnapshotFactory( 164 (DisableXpnResourceProjectRequest 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<EnableXpnHostProjectRequest, Operation> 178 enableXpnHostMethodDescriptor = 179 ApiMethodDescriptor.<EnableXpnHostProjectRequest, Operation>newBuilder() 180 .setFullMethodName("google.cloud.compute.v1.Projects/EnableXpnHost") 181 .setHttpMethod("POST") 182 .setType(ApiMethodDescriptor.MethodType.UNARY) 183 .setRequestFormatter( 184 ProtoMessageRequestFormatter.<EnableXpnHostProjectRequest>newBuilder() 185 .setPath( 186 "/compute/v1/projects/{project}/enableXpnHost", 187 request -> { 188 Map<String, String> fields = new HashMap<>(); 189 ProtoRestSerializer<EnableXpnHostProjectRequest> serializer = 190 ProtoRestSerializer.create(); 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<EnableXpnHostProjectRequest> serializer = 198 ProtoRestSerializer.create(); 199 if (request.hasRequestId()) { 200 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 201 } 202 return fields; 203 }) 204 .setRequestBodyExtractor(request -> null) 205 .build()) 206 .setResponseParser( 207 ProtoMessageResponseParser.<Operation>newBuilder() 208 .setDefaultInstance(Operation.getDefaultInstance()) 209 .setDefaultTypeRegistry(typeRegistry) 210 .build()) 211 .setOperationSnapshotFactory( 212 (EnableXpnHostProjectRequest request, Operation response) -> { 213 StringBuilder opName = new StringBuilder(response.getName()); 214 opName.append(":").append(request.getProject()); 215 return HttpJsonOperationSnapshot.newBuilder() 216 .setName(opName.toString()) 217 .setMetadata(response) 218 .setDone(Status.DONE.equals(response.getStatus())) 219 .setResponse(response) 220 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 221 .build(); 222 }) 223 .build(); 224 225 private static final ApiMethodDescriptor<EnableXpnResourceProjectRequest, Operation> 226 enableXpnResourceMethodDescriptor = 227 ApiMethodDescriptor.<EnableXpnResourceProjectRequest, Operation>newBuilder() 228 .setFullMethodName("google.cloud.compute.v1.Projects/EnableXpnResource") 229 .setHttpMethod("POST") 230 .setType(ApiMethodDescriptor.MethodType.UNARY) 231 .setRequestFormatter( 232 ProtoMessageRequestFormatter.<EnableXpnResourceProjectRequest>newBuilder() 233 .setPath( 234 "/compute/v1/projects/{project}/enableXpnResource", 235 request -> { 236 Map<String, String> fields = new HashMap<>(); 237 ProtoRestSerializer<EnableXpnResourceProjectRequest> serializer = 238 ProtoRestSerializer.create(); 239 serializer.putPathParam(fields, "project", request.getProject()); 240 return fields; 241 }) 242 .setQueryParamsExtractor( 243 request -> { 244 Map<String, List<String>> fields = new HashMap<>(); 245 ProtoRestSerializer<EnableXpnResourceProjectRequest> serializer = 246 ProtoRestSerializer.create(); 247 if (request.hasRequestId()) { 248 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 249 } 250 return fields; 251 }) 252 .setRequestBodyExtractor( 253 request -> 254 ProtoRestSerializer.create() 255 .toBody( 256 "projectsEnableXpnResourceRequestResource", 257 request.getProjectsEnableXpnResourceRequestResource(), 258 false)) 259 .build()) 260 .setResponseParser( 261 ProtoMessageResponseParser.<Operation>newBuilder() 262 .setDefaultInstance(Operation.getDefaultInstance()) 263 .setDefaultTypeRegistry(typeRegistry) 264 .build()) 265 .setOperationSnapshotFactory( 266 (EnableXpnResourceProjectRequest request, Operation response) -> { 267 StringBuilder opName = new StringBuilder(response.getName()); 268 opName.append(":").append(request.getProject()); 269 return HttpJsonOperationSnapshot.newBuilder() 270 .setName(opName.toString()) 271 .setMetadata(response) 272 .setDone(Status.DONE.equals(response.getStatus())) 273 .setResponse(response) 274 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 275 .build(); 276 }) 277 .build(); 278 279 private static final ApiMethodDescriptor<GetProjectRequest, Project> getMethodDescriptor = 280 ApiMethodDescriptor.<GetProjectRequest, Project>newBuilder() 281 .setFullMethodName("google.cloud.compute.v1.Projects/Get") 282 .setHttpMethod("GET") 283 .setType(ApiMethodDescriptor.MethodType.UNARY) 284 .setRequestFormatter( 285 ProtoMessageRequestFormatter.<GetProjectRequest>newBuilder() 286 .setPath( 287 "/compute/v1/projects/{project}", 288 request -> { 289 Map<String, String> fields = new HashMap<>(); 290 ProtoRestSerializer<GetProjectRequest> serializer = 291 ProtoRestSerializer.create(); 292 serializer.putPathParam(fields, "project", request.getProject()); 293 return fields; 294 }) 295 .setQueryParamsExtractor( 296 request -> { 297 Map<String, List<String>> fields = new HashMap<>(); 298 ProtoRestSerializer<GetProjectRequest> serializer = 299 ProtoRestSerializer.create(); 300 return fields; 301 }) 302 .setRequestBodyExtractor(request -> null) 303 .build()) 304 .setResponseParser( 305 ProtoMessageResponseParser.<Project>newBuilder() 306 .setDefaultInstance(Project.getDefaultInstance()) 307 .setDefaultTypeRegistry(typeRegistry) 308 .build()) 309 .build(); 310 311 private static final ApiMethodDescriptor<GetXpnHostProjectRequest, Project> 312 getXpnHostMethodDescriptor = 313 ApiMethodDescriptor.<GetXpnHostProjectRequest, Project>newBuilder() 314 .setFullMethodName("google.cloud.compute.v1.Projects/GetXpnHost") 315 .setHttpMethod("GET") 316 .setType(ApiMethodDescriptor.MethodType.UNARY) 317 .setRequestFormatter( 318 ProtoMessageRequestFormatter.<GetXpnHostProjectRequest>newBuilder() 319 .setPath( 320 "/compute/v1/projects/{project}/getXpnHost", 321 request -> { 322 Map<String, String> fields = new HashMap<>(); 323 ProtoRestSerializer<GetXpnHostProjectRequest> serializer = 324 ProtoRestSerializer.create(); 325 serializer.putPathParam(fields, "project", request.getProject()); 326 return fields; 327 }) 328 .setQueryParamsExtractor( 329 request -> { 330 Map<String, List<String>> fields = new HashMap<>(); 331 ProtoRestSerializer<GetXpnHostProjectRequest> serializer = 332 ProtoRestSerializer.create(); 333 return fields; 334 }) 335 .setRequestBodyExtractor(request -> null) 336 .build()) 337 .setResponseParser( 338 ProtoMessageResponseParser.<Project>newBuilder() 339 .setDefaultInstance(Project.getDefaultInstance()) 340 .setDefaultTypeRegistry(typeRegistry) 341 .build()) 342 .build(); 343 344 private static final ApiMethodDescriptor<GetXpnResourcesProjectsRequest, ProjectsGetXpnResources> 345 getXpnResourcesMethodDescriptor = 346 ApiMethodDescriptor.<GetXpnResourcesProjectsRequest, ProjectsGetXpnResources>newBuilder() 347 .setFullMethodName("google.cloud.compute.v1.Projects/GetXpnResources") 348 .setHttpMethod("GET") 349 .setType(ApiMethodDescriptor.MethodType.UNARY) 350 .setRequestFormatter( 351 ProtoMessageRequestFormatter.<GetXpnResourcesProjectsRequest>newBuilder() 352 .setPath( 353 "/compute/v1/projects/{project}/getXpnResources", 354 request -> { 355 Map<String, String> fields = new HashMap<>(); 356 ProtoRestSerializer<GetXpnResourcesProjectsRequest> serializer = 357 ProtoRestSerializer.create(); 358 serializer.putPathParam(fields, "project", request.getProject()); 359 return fields; 360 }) 361 .setQueryParamsExtractor( 362 request -> { 363 Map<String, List<String>> fields = new HashMap<>(); 364 ProtoRestSerializer<GetXpnResourcesProjectsRequest> serializer = 365 ProtoRestSerializer.create(); 366 if (request.hasFilter()) { 367 serializer.putQueryParam(fields, "filter", request.getFilter()); 368 } 369 if (request.hasMaxResults()) { 370 serializer.putQueryParam( 371 fields, "maxResults", request.getMaxResults()); 372 } 373 if (request.hasOrderBy()) { 374 serializer.putQueryParam(fields, "orderBy", request.getOrderBy()); 375 } 376 if (request.hasPageToken()) { 377 serializer.putQueryParam(fields, "pageToken", request.getPageToken()); 378 } 379 if (request.hasReturnPartialSuccess()) { 380 serializer.putQueryParam( 381 fields, 382 "returnPartialSuccess", 383 request.getReturnPartialSuccess()); 384 } 385 return fields; 386 }) 387 .setRequestBodyExtractor(request -> null) 388 .build()) 389 .setResponseParser( 390 ProtoMessageResponseParser.<ProjectsGetXpnResources>newBuilder() 391 .setDefaultInstance(ProjectsGetXpnResources.getDefaultInstance()) 392 .setDefaultTypeRegistry(typeRegistry) 393 .build()) 394 .build(); 395 396 private static final ApiMethodDescriptor<ListXpnHostsProjectsRequest, XpnHostList> 397 listXpnHostsMethodDescriptor = 398 ApiMethodDescriptor.<ListXpnHostsProjectsRequest, XpnHostList>newBuilder() 399 .setFullMethodName("google.cloud.compute.v1.Projects/ListXpnHosts") 400 .setHttpMethod("POST") 401 .setType(ApiMethodDescriptor.MethodType.UNARY) 402 .setRequestFormatter( 403 ProtoMessageRequestFormatter.<ListXpnHostsProjectsRequest>newBuilder() 404 .setPath( 405 "/compute/v1/projects/{project}/listXpnHosts", 406 request -> { 407 Map<String, String> fields = new HashMap<>(); 408 ProtoRestSerializer<ListXpnHostsProjectsRequest> serializer = 409 ProtoRestSerializer.create(); 410 serializer.putPathParam(fields, "project", request.getProject()); 411 return fields; 412 }) 413 .setQueryParamsExtractor( 414 request -> { 415 Map<String, List<String>> fields = new HashMap<>(); 416 ProtoRestSerializer<ListXpnHostsProjectsRequest> serializer = 417 ProtoRestSerializer.create(); 418 if (request.hasFilter()) { 419 serializer.putQueryParam(fields, "filter", request.getFilter()); 420 } 421 if (request.hasMaxResults()) { 422 serializer.putQueryParam( 423 fields, "maxResults", request.getMaxResults()); 424 } 425 if (request.hasOrderBy()) { 426 serializer.putQueryParam(fields, "orderBy", request.getOrderBy()); 427 } 428 if (request.hasPageToken()) { 429 serializer.putQueryParam(fields, "pageToken", request.getPageToken()); 430 } 431 if (request.hasReturnPartialSuccess()) { 432 serializer.putQueryParam( 433 fields, 434 "returnPartialSuccess", 435 request.getReturnPartialSuccess()); 436 } 437 return fields; 438 }) 439 .setRequestBodyExtractor( 440 request -> 441 ProtoRestSerializer.create() 442 .toBody( 443 "projectsListXpnHostsRequestResource", 444 request.getProjectsListXpnHostsRequestResource(), 445 false)) 446 .build()) 447 .setResponseParser( 448 ProtoMessageResponseParser.<XpnHostList>newBuilder() 449 .setDefaultInstance(XpnHostList.getDefaultInstance()) 450 .setDefaultTypeRegistry(typeRegistry) 451 .build()) 452 .build(); 453 454 private static final ApiMethodDescriptor<MoveDiskProjectRequest, Operation> 455 moveDiskMethodDescriptor = 456 ApiMethodDescriptor.<MoveDiskProjectRequest, Operation>newBuilder() 457 .setFullMethodName("google.cloud.compute.v1.Projects/MoveDisk") 458 .setHttpMethod("POST") 459 .setType(ApiMethodDescriptor.MethodType.UNARY) 460 .setRequestFormatter( 461 ProtoMessageRequestFormatter.<MoveDiskProjectRequest>newBuilder() 462 .setPath( 463 "/compute/v1/projects/{project}/moveDisk", 464 request -> { 465 Map<String, String> fields = new HashMap<>(); 466 ProtoRestSerializer<MoveDiskProjectRequest> serializer = 467 ProtoRestSerializer.create(); 468 serializer.putPathParam(fields, "project", request.getProject()); 469 return fields; 470 }) 471 .setQueryParamsExtractor( 472 request -> { 473 Map<String, List<String>> fields = new HashMap<>(); 474 ProtoRestSerializer<MoveDiskProjectRequest> serializer = 475 ProtoRestSerializer.create(); 476 if (request.hasRequestId()) { 477 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 478 } 479 return fields; 480 }) 481 .setRequestBodyExtractor( 482 request -> 483 ProtoRestSerializer.create() 484 .toBody( 485 "diskMoveRequestResource", 486 request.getDiskMoveRequestResource(), 487 false)) 488 .build()) 489 .setResponseParser( 490 ProtoMessageResponseParser.<Operation>newBuilder() 491 .setDefaultInstance(Operation.getDefaultInstance()) 492 .setDefaultTypeRegistry(typeRegistry) 493 .build()) 494 .setOperationSnapshotFactory( 495 (MoveDiskProjectRequest request, Operation response) -> { 496 StringBuilder opName = new StringBuilder(response.getName()); 497 opName.append(":").append(request.getProject()); 498 return HttpJsonOperationSnapshot.newBuilder() 499 .setName(opName.toString()) 500 .setMetadata(response) 501 .setDone(Status.DONE.equals(response.getStatus())) 502 .setResponse(response) 503 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 504 .build(); 505 }) 506 .build(); 507 508 private static final ApiMethodDescriptor<MoveInstanceProjectRequest, Operation> 509 moveInstanceMethodDescriptor = 510 ApiMethodDescriptor.<MoveInstanceProjectRequest, Operation>newBuilder() 511 .setFullMethodName("google.cloud.compute.v1.Projects/MoveInstance") 512 .setHttpMethod("POST") 513 .setType(ApiMethodDescriptor.MethodType.UNARY) 514 .setRequestFormatter( 515 ProtoMessageRequestFormatter.<MoveInstanceProjectRequest>newBuilder() 516 .setPath( 517 "/compute/v1/projects/{project}/moveInstance", 518 request -> { 519 Map<String, String> fields = new HashMap<>(); 520 ProtoRestSerializer<MoveInstanceProjectRequest> serializer = 521 ProtoRestSerializer.create(); 522 serializer.putPathParam(fields, "project", request.getProject()); 523 return fields; 524 }) 525 .setQueryParamsExtractor( 526 request -> { 527 Map<String, List<String>> fields = new HashMap<>(); 528 ProtoRestSerializer<MoveInstanceProjectRequest> serializer = 529 ProtoRestSerializer.create(); 530 if (request.hasRequestId()) { 531 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 532 } 533 return fields; 534 }) 535 .setRequestBodyExtractor( 536 request -> 537 ProtoRestSerializer.create() 538 .toBody( 539 "instanceMoveRequestResource", 540 request.getInstanceMoveRequestResource(), 541 false)) 542 .build()) 543 .setResponseParser( 544 ProtoMessageResponseParser.<Operation>newBuilder() 545 .setDefaultInstance(Operation.getDefaultInstance()) 546 .setDefaultTypeRegistry(typeRegistry) 547 .build()) 548 .setOperationSnapshotFactory( 549 (MoveInstanceProjectRequest request, Operation response) -> { 550 StringBuilder opName = new StringBuilder(response.getName()); 551 opName.append(":").append(request.getProject()); 552 return HttpJsonOperationSnapshot.newBuilder() 553 .setName(opName.toString()) 554 .setMetadata(response) 555 .setDone(Status.DONE.equals(response.getStatus())) 556 .setResponse(response) 557 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 558 .build(); 559 }) 560 .build(); 561 562 private static final ApiMethodDescriptor<SetCommonInstanceMetadataProjectRequest, Operation> 563 setCommonInstanceMetadataMethodDescriptor = 564 ApiMethodDescriptor.<SetCommonInstanceMetadataProjectRequest, Operation>newBuilder() 565 .setFullMethodName("google.cloud.compute.v1.Projects/SetCommonInstanceMetadata") 566 .setHttpMethod("POST") 567 .setType(ApiMethodDescriptor.MethodType.UNARY) 568 .setRequestFormatter( 569 ProtoMessageRequestFormatter.<SetCommonInstanceMetadataProjectRequest>newBuilder() 570 .setPath( 571 "/compute/v1/projects/{project}/setCommonInstanceMetadata", 572 request -> { 573 Map<String, String> fields = new HashMap<>(); 574 ProtoRestSerializer<SetCommonInstanceMetadataProjectRequest> 575 serializer = ProtoRestSerializer.create(); 576 serializer.putPathParam(fields, "project", request.getProject()); 577 return fields; 578 }) 579 .setQueryParamsExtractor( 580 request -> { 581 Map<String, List<String>> fields = new HashMap<>(); 582 ProtoRestSerializer<SetCommonInstanceMetadataProjectRequest> 583 serializer = ProtoRestSerializer.create(); 584 if (request.hasRequestId()) { 585 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 586 } 587 return fields; 588 }) 589 .setRequestBodyExtractor( 590 request -> 591 ProtoRestSerializer.create() 592 .toBody("metadataResource", request.getMetadataResource(), false)) 593 .build()) 594 .setResponseParser( 595 ProtoMessageResponseParser.<Operation>newBuilder() 596 .setDefaultInstance(Operation.getDefaultInstance()) 597 .setDefaultTypeRegistry(typeRegistry) 598 .build()) 599 .setOperationSnapshotFactory( 600 (SetCommonInstanceMetadataProjectRequest request, Operation response) -> { 601 StringBuilder opName = new StringBuilder(response.getName()); 602 opName.append(":").append(request.getProject()); 603 return HttpJsonOperationSnapshot.newBuilder() 604 .setName(opName.toString()) 605 .setMetadata(response) 606 .setDone(Status.DONE.equals(response.getStatus())) 607 .setResponse(response) 608 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 609 .build(); 610 }) 611 .build(); 612 613 private static final ApiMethodDescriptor<SetDefaultNetworkTierProjectRequest, Operation> 614 setDefaultNetworkTierMethodDescriptor = 615 ApiMethodDescriptor.<SetDefaultNetworkTierProjectRequest, Operation>newBuilder() 616 .setFullMethodName("google.cloud.compute.v1.Projects/SetDefaultNetworkTier") 617 .setHttpMethod("POST") 618 .setType(ApiMethodDescriptor.MethodType.UNARY) 619 .setRequestFormatter( 620 ProtoMessageRequestFormatter.<SetDefaultNetworkTierProjectRequest>newBuilder() 621 .setPath( 622 "/compute/v1/projects/{project}/setDefaultNetworkTier", 623 request -> { 624 Map<String, String> fields = new HashMap<>(); 625 ProtoRestSerializer<SetDefaultNetworkTierProjectRequest> serializer = 626 ProtoRestSerializer.create(); 627 serializer.putPathParam(fields, "project", request.getProject()); 628 return fields; 629 }) 630 .setQueryParamsExtractor( 631 request -> { 632 Map<String, List<String>> fields = new HashMap<>(); 633 ProtoRestSerializer<SetDefaultNetworkTierProjectRequest> serializer = 634 ProtoRestSerializer.create(); 635 if (request.hasRequestId()) { 636 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 637 } 638 return fields; 639 }) 640 .setRequestBodyExtractor( 641 request -> 642 ProtoRestSerializer.create() 643 .toBody( 644 "projectsSetDefaultNetworkTierRequestResource", 645 request.getProjectsSetDefaultNetworkTierRequestResource(), 646 false)) 647 .build()) 648 .setResponseParser( 649 ProtoMessageResponseParser.<Operation>newBuilder() 650 .setDefaultInstance(Operation.getDefaultInstance()) 651 .setDefaultTypeRegistry(typeRegistry) 652 .build()) 653 .setOperationSnapshotFactory( 654 (SetDefaultNetworkTierProjectRequest request, Operation response) -> { 655 StringBuilder opName = new StringBuilder(response.getName()); 656 opName.append(":").append(request.getProject()); 657 return HttpJsonOperationSnapshot.newBuilder() 658 .setName(opName.toString()) 659 .setMetadata(response) 660 .setDone(Status.DONE.equals(response.getStatus())) 661 .setResponse(response) 662 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 663 .build(); 664 }) 665 .build(); 666 667 private static final ApiMethodDescriptor<SetUsageExportBucketProjectRequest, Operation> 668 setUsageExportBucketMethodDescriptor = 669 ApiMethodDescriptor.<SetUsageExportBucketProjectRequest, Operation>newBuilder() 670 .setFullMethodName("google.cloud.compute.v1.Projects/SetUsageExportBucket") 671 .setHttpMethod("POST") 672 .setType(ApiMethodDescriptor.MethodType.UNARY) 673 .setRequestFormatter( 674 ProtoMessageRequestFormatter.<SetUsageExportBucketProjectRequest>newBuilder() 675 .setPath( 676 "/compute/v1/projects/{project}/setUsageExportBucket", 677 request -> { 678 Map<String, String> fields = new HashMap<>(); 679 ProtoRestSerializer<SetUsageExportBucketProjectRequest> serializer = 680 ProtoRestSerializer.create(); 681 serializer.putPathParam(fields, "project", request.getProject()); 682 return fields; 683 }) 684 .setQueryParamsExtractor( 685 request -> { 686 Map<String, List<String>> fields = new HashMap<>(); 687 ProtoRestSerializer<SetUsageExportBucketProjectRequest> serializer = 688 ProtoRestSerializer.create(); 689 if (request.hasRequestId()) { 690 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 691 } 692 return fields; 693 }) 694 .setRequestBodyExtractor( 695 request -> 696 ProtoRestSerializer.create() 697 .toBody( 698 "usageExportLocationResource", 699 request.getUsageExportLocationResource(), 700 false)) 701 .build()) 702 .setResponseParser( 703 ProtoMessageResponseParser.<Operation>newBuilder() 704 .setDefaultInstance(Operation.getDefaultInstance()) 705 .setDefaultTypeRegistry(typeRegistry) 706 .build()) 707 .setOperationSnapshotFactory( 708 (SetUsageExportBucketProjectRequest request, Operation response) -> { 709 StringBuilder opName = new StringBuilder(response.getName()); 710 opName.append(":").append(request.getProject()); 711 return HttpJsonOperationSnapshot.newBuilder() 712 .setName(opName.toString()) 713 .setMetadata(response) 714 .setDone(Status.DONE.equals(response.getStatus())) 715 .setResponse(response) 716 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 717 .build(); 718 }) 719 .build(); 720 721 private final UnaryCallable<DisableXpnHostProjectRequest, Operation> disableXpnHostCallable; 722 private final OperationCallable<DisableXpnHostProjectRequest, Operation, Operation> 723 disableXpnHostOperationCallable; 724 private final UnaryCallable<DisableXpnResourceProjectRequest, Operation> 725 disableXpnResourceCallable; 726 private final OperationCallable<DisableXpnResourceProjectRequest, Operation, Operation> 727 disableXpnResourceOperationCallable; 728 private final UnaryCallable<EnableXpnHostProjectRequest, Operation> enableXpnHostCallable; 729 private final OperationCallable<EnableXpnHostProjectRequest, Operation, Operation> 730 enableXpnHostOperationCallable; 731 private final UnaryCallable<EnableXpnResourceProjectRequest, Operation> enableXpnResourceCallable; 732 private final OperationCallable<EnableXpnResourceProjectRequest, Operation, Operation> 733 enableXpnResourceOperationCallable; 734 private final UnaryCallable<GetProjectRequest, Project> getCallable; 735 private final UnaryCallable<GetXpnHostProjectRequest, Project> getXpnHostCallable; 736 private final UnaryCallable<GetXpnResourcesProjectsRequest, ProjectsGetXpnResources> 737 getXpnResourcesCallable; 738 private final UnaryCallable<GetXpnResourcesProjectsRequest, GetXpnResourcesPagedResponse> 739 getXpnResourcesPagedCallable; 740 private final UnaryCallable<ListXpnHostsProjectsRequest, XpnHostList> listXpnHostsCallable; 741 private final UnaryCallable<ListXpnHostsProjectsRequest, ListXpnHostsPagedResponse> 742 listXpnHostsPagedCallable; 743 private final UnaryCallable<MoveDiskProjectRequest, Operation> moveDiskCallable; 744 private final OperationCallable<MoveDiskProjectRequest, Operation, Operation> 745 moveDiskOperationCallable; 746 private final UnaryCallable<MoveInstanceProjectRequest, Operation> moveInstanceCallable; 747 private final OperationCallable<MoveInstanceProjectRequest, Operation, Operation> 748 moveInstanceOperationCallable; 749 private final UnaryCallable<SetCommonInstanceMetadataProjectRequest, Operation> 750 setCommonInstanceMetadataCallable; 751 private final OperationCallable<SetCommonInstanceMetadataProjectRequest, Operation, Operation> 752 setCommonInstanceMetadataOperationCallable; 753 private final UnaryCallable<SetDefaultNetworkTierProjectRequest, Operation> 754 setDefaultNetworkTierCallable; 755 private final OperationCallable<SetDefaultNetworkTierProjectRequest, Operation, Operation> 756 setDefaultNetworkTierOperationCallable; 757 private final UnaryCallable<SetUsageExportBucketProjectRequest, Operation> 758 setUsageExportBucketCallable; 759 private final OperationCallable<SetUsageExportBucketProjectRequest, Operation, Operation> 760 setUsageExportBucketOperationCallable; 761 762 private final BackgroundResource backgroundResources; 763 private final HttpJsonGlobalOperationsStub httpJsonOperationsStub; 764 private final HttpJsonStubCallableFactory callableFactory; 765 create(ProjectsStubSettings settings)766 public static final HttpJsonProjectsStub create(ProjectsStubSettings settings) 767 throws IOException { 768 return new HttpJsonProjectsStub(settings, ClientContext.create(settings)); 769 } 770 create(ClientContext clientContext)771 public static final HttpJsonProjectsStub create(ClientContext clientContext) throws IOException { 772 return new HttpJsonProjectsStub(ProjectsStubSettings.newBuilder().build(), clientContext); 773 } 774 create( ClientContext clientContext, HttpJsonStubCallableFactory callableFactory)775 public static final HttpJsonProjectsStub create( 776 ClientContext clientContext, HttpJsonStubCallableFactory callableFactory) throws IOException { 777 return new HttpJsonProjectsStub( 778 ProjectsStubSettings.newBuilder().build(), clientContext, callableFactory); 779 } 780 781 /** 782 * Constructs an instance of HttpJsonProjectsStub, using the given settings. This is protected so 783 * that it is easy to make a subclass, but otherwise, the static factory methods should be 784 * preferred. 785 */ HttpJsonProjectsStub(ProjectsStubSettings settings, ClientContext clientContext)786 protected HttpJsonProjectsStub(ProjectsStubSettings settings, ClientContext clientContext) 787 throws IOException { 788 this(settings, clientContext, new HttpJsonProjectsCallableFactory()); 789 } 790 791 /** 792 * Constructs an instance of HttpJsonProjectsStub, using the given settings. This is protected so 793 * that it is easy to make a subclass, but otherwise, the static factory methods should be 794 * preferred. 795 */ HttpJsonProjectsStub( ProjectsStubSettings settings, ClientContext clientContext, HttpJsonStubCallableFactory callableFactory)796 protected HttpJsonProjectsStub( 797 ProjectsStubSettings settings, 798 ClientContext clientContext, 799 HttpJsonStubCallableFactory callableFactory) 800 throws IOException { 801 this.callableFactory = callableFactory; 802 this.httpJsonOperationsStub = 803 HttpJsonGlobalOperationsStub.create(clientContext, callableFactory); 804 805 HttpJsonCallSettings<DisableXpnHostProjectRequest, Operation> disableXpnHostTransportSettings = 806 HttpJsonCallSettings.<DisableXpnHostProjectRequest, Operation>newBuilder() 807 .setMethodDescriptor(disableXpnHostMethodDescriptor) 808 .setTypeRegistry(typeRegistry) 809 .build(); 810 HttpJsonCallSettings<DisableXpnResourceProjectRequest, Operation> 811 disableXpnResourceTransportSettings = 812 HttpJsonCallSettings.<DisableXpnResourceProjectRequest, Operation>newBuilder() 813 .setMethodDescriptor(disableXpnResourceMethodDescriptor) 814 .setTypeRegistry(typeRegistry) 815 .build(); 816 HttpJsonCallSettings<EnableXpnHostProjectRequest, Operation> enableXpnHostTransportSettings = 817 HttpJsonCallSettings.<EnableXpnHostProjectRequest, Operation>newBuilder() 818 .setMethodDescriptor(enableXpnHostMethodDescriptor) 819 .setTypeRegistry(typeRegistry) 820 .build(); 821 HttpJsonCallSettings<EnableXpnResourceProjectRequest, Operation> 822 enableXpnResourceTransportSettings = 823 HttpJsonCallSettings.<EnableXpnResourceProjectRequest, Operation>newBuilder() 824 .setMethodDescriptor(enableXpnResourceMethodDescriptor) 825 .setTypeRegistry(typeRegistry) 826 .build(); 827 HttpJsonCallSettings<GetProjectRequest, Project> getTransportSettings = 828 HttpJsonCallSettings.<GetProjectRequest, Project>newBuilder() 829 .setMethodDescriptor(getMethodDescriptor) 830 .setTypeRegistry(typeRegistry) 831 .build(); 832 HttpJsonCallSettings<GetXpnHostProjectRequest, Project> getXpnHostTransportSettings = 833 HttpJsonCallSettings.<GetXpnHostProjectRequest, Project>newBuilder() 834 .setMethodDescriptor(getXpnHostMethodDescriptor) 835 .setTypeRegistry(typeRegistry) 836 .build(); 837 HttpJsonCallSettings<GetXpnResourcesProjectsRequest, ProjectsGetXpnResources> 838 getXpnResourcesTransportSettings = 839 HttpJsonCallSettings 840 .<GetXpnResourcesProjectsRequest, ProjectsGetXpnResources>newBuilder() 841 .setMethodDescriptor(getXpnResourcesMethodDescriptor) 842 .setTypeRegistry(typeRegistry) 843 .build(); 844 HttpJsonCallSettings<ListXpnHostsProjectsRequest, XpnHostList> listXpnHostsTransportSettings = 845 HttpJsonCallSettings.<ListXpnHostsProjectsRequest, XpnHostList>newBuilder() 846 .setMethodDescriptor(listXpnHostsMethodDescriptor) 847 .setTypeRegistry(typeRegistry) 848 .build(); 849 HttpJsonCallSettings<MoveDiskProjectRequest, Operation> moveDiskTransportSettings = 850 HttpJsonCallSettings.<MoveDiskProjectRequest, Operation>newBuilder() 851 .setMethodDescriptor(moveDiskMethodDescriptor) 852 .setTypeRegistry(typeRegistry) 853 .build(); 854 HttpJsonCallSettings<MoveInstanceProjectRequest, Operation> moveInstanceTransportSettings = 855 HttpJsonCallSettings.<MoveInstanceProjectRequest, Operation>newBuilder() 856 .setMethodDescriptor(moveInstanceMethodDescriptor) 857 .setTypeRegistry(typeRegistry) 858 .build(); 859 HttpJsonCallSettings<SetCommonInstanceMetadataProjectRequest, Operation> 860 setCommonInstanceMetadataTransportSettings = 861 HttpJsonCallSettings.<SetCommonInstanceMetadataProjectRequest, Operation>newBuilder() 862 .setMethodDescriptor(setCommonInstanceMetadataMethodDescriptor) 863 .setTypeRegistry(typeRegistry) 864 .build(); 865 HttpJsonCallSettings<SetDefaultNetworkTierProjectRequest, Operation> 866 setDefaultNetworkTierTransportSettings = 867 HttpJsonCallSettings.<SetDefaultNetworkTierProjectRequest, Operation>newBuilder() 868 .setMethodDescriptor(setDefaultNetworkTierMethodDescriptor) 869 .setTypeRegistry(typeRegistry) 870 .build(); 871 HttpJsonCallSettings<SetUsageExportBucketProjectRequest, Operation> 872 setUsageExportBucketTransportSettings = 873 HttpJsonCallSettings.<SetUsageExportBucketProjectRequest, Operation>newBuilder() 874 .setMethodDescriptor(setUsageExportBucketMethodDescriptor) 875 .setTypeRegistry(typeRegistry) 876 .build(); 877 878 this.disableXpnHostCallable = 879 callableFactory.createUnaryCallable( 880 disableXpnHostTransportSettings, settings.disableXpnHostSettings(), clientContext); 881 this.disableXpnHostOperationCallable = 882 callableFactory.createOperationCallable( 883 disableXpnHostTransportSettings, 884 settings.disableXpnHostOperationSettings(), 885 clientContext, 886 httpJsonOperationsStub); 887 this.disableXpnResourceCallable = 888 callableFactory.createUnaryCallable( 889 disableXpnResourceTransportSettings, 890 settings.disableXpnResourceSettings(), 891 clientContext); 892 this.disableXpnResourceOperationCallable = 893 callableFactory.createOperationCallable( 894 disableXpnResourceTransportSettings, 895 settings.disableXpnResourceOperationSettings(), 896 clientContext, 897 httpJsonOperationsStub); 898 this.enableXpnHostCallable = 899 callableFactory.createUnaryCallable( 900 enableXpnHostTransportSettings, settings.enableXpnHostSettings(), clientContext); 901 this.enableXpnHostOperationCallable = 902 callableFactory.createOperationCallable( 903 enableXpnHostTransportSettings, 904 settings.enableXpnHostOperationSettings(), 905 clientContext, 906 httpJsonOperationsStub); 907 this.enableXpnResourceCallable = 908 callableFactory.createUnaryCallable( 909 enableXpnResourceTransportSettings, 910 settings.enableXpnResourceSettings(), 911 clientContext); 912 this.enableXpnResourceOperationCallable = 913 callableFactory.createOperationCallable( 914 enableXpnResourceTransportSettings, 915 settings.enableXpnResourceOperationSettings(), 916 clientContext, 917 httpJsonOperationsStub); 918 this.getCallable = 919 callableFactory.createUnaryCallable( 920 getTransportSettings, settings.getSettings(), clientContext); 921 this.getXpnHostCallable = 922 callableFactory.createUnaryCallable( 923 getXpnHostTransportSettings, settings.getXpnHostSettings(), clientContext); 924 this.getXpnResourcesCallable = 925 callableFactory.createUnaryCallable( 926 getXpnResourcesTransportSettings, settings.getXpnResourcesSettings(), clientContext); 927 this.getXpnResourcesPagedCallable = 928 callableFactory.createPagedCallable( 929 getXpnResourcesTransportSettings, settings.getXpnResourcesSettings(), clientContext); 930 this.listXpnHostsCallable = 931 callableFactory.createUnaryCallable( 932 listXpnHostsTransportSettings, settings.listXpnHostsSettings(), clientContext); 933 this.listXpnHostsPagedCallable = 934 callableFactory.createPagedCallable( 935 listXpnHostsTransportSettings, settings.listXpnHostsSettings(), clientContext); 936 this.moveDiskCallable = 937 callableFactory.createUnaryCallable( 938 moveDiskTransportSettings, settings.moveDiskSettings(), clientContext); 939 this.moveDiskOperationCallable = 940 callableFactory.createOperationCallable( 941 moveDiskTransportSettings, 942 settings.moveDiskOperationSettings(), 943 clientContext, 944 httpJsonOperationsStub); 945 this.moveInstanceCallable = 946 callableFactory.createUnaryCallable( 947 moveInstanceTransportSettings, settings.moveInstanceSettings(), clientContext); 948 this.moveInstanceOperationCallable = 949 callableFactory.createOperationCallable( 950 moveInstanceTransportSettings, 951 settings.moveInstanceOperationSettings(), 952 clientContext, 953 httpJsonOperationsStub); 954 this.setCommonInstanceMetadataCallable = 955 callableFactory.createUnaryCallable( 956 setCommonInstanceMetadataTransportSettings, 957 settings.setCommonInstanceMetadataSettings(), 958 clientContext); 959 this.setCommonInstanceMetadataOperationCallable = 960 callableFactory.createOperationCallable( 961 setCommonInstanceMetadataTransportSettings, 962 settings.setCommonInstanceMetadataOperationSettings(), 963 clientContext, 964 httpJsonOperationsStub); 965 this.setDefaultNetworkTierCallable = 966 callableFactory.createUnaryCallable( 967 setDefaultNetworkTierTransportSettings, 968 settings.setDefaultNetworkTierSettings(), 969 clientContext); 970 this.setDefaultNetworkTierOperationCallable = 971 callableFactory.createOperationCallable( 972 setDefaultNetworkTierTransportSettings, 973 settings.setDefaultNetworkTierOperationSettings(), 974 clientContext, 975 httpJsonOperationsStub); 976 this.setUsageExportBucketCallable = 977 callableFactory.createUnaryCallable( 978 setUsageExportBucketTransportSettings, 979 settings.setUsageExportBucketSettings(), 980 clientContext); 981 this.setUsageExportBucketOperationCallable = 982 callableFactory.createOperationCallable( 983 setUsageExportBucketTransportSettings, 984 settings.setUsageExportBucketOperationSettings(), 985 clientContext, 986 httpJsonOperationsStub); 987 988 this.backgroundResources = 989 new BackgroundResourceAggregation(clientContext.getBackgroundResources()); 990 } 991 992 @InternalApi getMethodDescriptors()993 public static List<ApiMethodDescriptor> getMethodDescriptors() { 994 List<ApiMethodDescriptor> methodDescriptors = new ArrayList<>(); 995 methodDescriptors.add(disableXpnHostMethodDescriptor); 996 methodDescriptors.add(disableXpnResourceMethodDescriptor); 997 methodDescriptors.add(enableXpnHostMethodDescriptor); 998 methodDescriptors.add(enableXpnResourceMethodDescriptor); 999 methodDescriptors.add(getMethodDescriptor); 1000 methodDescriptors.add(getXpnHostMethodDescriptor); 1001 methodDescriptors.add(getXpnResourcesMethodDescriptor); 1002 methodDescriptors.add(listXpnHostsMethodDescriptor); 1003 methodDescriptors.add(moveDiskMethodDescriptor); 1004 methodDescriptors.add(moveInstanceMethodDescriptor); 1005 methodDescriptors.add(setCommonInstanceMetadataMethodDescriptor); 1006 methodDescriptors.add(setDefaultNetworkTierMethodDescriptor); 1007 methodDescriptors.add(setUsageExportBucketMethodDescriptor); 1008 return methodDescriptors; 1009 } 1010 1011 @Override disableXpnHostCallable()1012 public UnaryCallable<DisableXpnHostProjectRequest, Operation> disableXpnHostCallable() { 1013 return disableXpnHostCallable; 1014 } 1015 1016 @Override 1017 public OperationCallable<DisableXpnHostProjectRequest, Operation, Operation> disableXpnHostOperationCallable()1018 disableXpnHostOperationCallable() { 1019 return disableXpnHostOperationCallable; 1020 } 1021 1022 @Override disableXpnResourceCallable()1023 public UnaryCallable<DisableXpnResourceProjectRequest, Operation> disableXpnResourceCallable() { 1024 return disableXpnResourceCallable; 1025 } 1026 1027 @Override 1028 public OperationCallable<DisableXpnResourceProjectRequest, Operation, Operation> disableXpnResourceOperationCallable()1029 disableXpnResourceOperationCallable() { 1030 return disableXpnResourceOperationCallable; 1031 } 1032 1033 @Override enableXpnHostCallable()1034 public UnaryCallable<EnableXpnHostProjectRequest, Operation> enableXpnHostCallable() { 1035 return enableXpnHostCallable; 1036 } 1037 1038 @Override 1039 public OperationCallable<EnableXpnHostProjectRequest, Operation, Operation> enableXpnHostOperationCallable()1040 enableXpnHostOperationCallable() { 1041 return enableXpnHostOperationCallable; 1042 } 1043 1044 @Override enableXpnResourceCallable()1045 public UnaryCallable<EnableXpnResourceProjectRequest, Operation> enableXpnResourceCallable() { 1046 return enableXpnResourceCallable; 1047 } 1048 1049 @Override 1050 public OperationCallable<EnableXpnResourceProjectRequest, Operation, Operation> enableXpnResourceOperationCallable()1051 enableXpnResourceOperationCallable() { 1052 return enableXpnResourceOperationCallable; 1053 } 1054 1055 @Override getCallable()1056 public UnaryCallable<GetProjectRequest, Project> getCallable() { 1057 return getCallable; 1058 } 1059 1060 @Override getXpnHostCallable()1061 public UnaryCallable<GetXpnHostProjectRequest, Project> getXpnHostCallable() { 1062 return getXpnHostCallable; 1063 } 1064 1065 @Override 1066 public UnaryCallable<GetXpnResourcesProjectsRequest, ProjectsGetXpnResources> getXpnResourcesCallable()1067 getXpnResourcesCallable() { 1068 return getXpnResourcesCallable; 1069 } 1070 1071 @Override 1072 public UnaryCallable<GetXpnResourcesProjectsRequest, GetXpnResourcesPagedResponse> getXpnResourcesPagedCallable()1073 getXpnResourcesPagedCallable() { 1074 return getXpnResourcesPagedCallable; 1075 } 1076 1077 @Override listXpnHostsCallable()1078 public UnaryCallable<ListXpnHostsProjectsRequest, XpnHostList> listXpnHostsCallable() { 1079 return listXpnHostsCallable; 1080 } 1081 1082 @Override 1083 public UnaryCallable<ListXpnHostsProjectsRequest, ListXpnHostsPagedResponse> listXpnHostsPagedCallable()1084 listXpnHostsPagedCallable() { 1085 return listXpnHostsPagedCallable; 1086 } 1087 1088 @Override moveDiskCallable()1089 public UnaryCallable<MoveDiskProjectRequest, Operation> moveDiskCallable() { 1090 return moveDiskCallable; 1091 } 1092 1093 @Override 1094 public OperationCallable<MoveDiskProjectRequest, Operation, Operation> moveDiskOperationCallable()1095 moveDiskOperationCallable() { 1096 return moveDiskOperationCallable; 1097 } 1098 1099 @Override moveInstanceCallable()1100 public UnaryCallable<MoveInstanceProjectRequest, Operation> moveInstanceCallable() { 1101 return moveInstanceCallable; 1102 } 1103 1104 @Override 1105 public OperationCallable<MoveInstanceProjectRequest, Operation, Operation> moveInstanceOperationCallable()1106 moveInstanceOperationCallable() { 1107 return moveInstanceOperationCallable; 1108 } 1109 1110 @Override 1111 public UnaryCallable<SetCommonInstanceMetadataProjectRequest, Operation> setCommonInstanceMetadataCallable()1112 setCommonInstanceMetadataCallable() { 1113 return setCommonInstanceMetadataCallable; 1114 } 1115 1116 @Override 1117 public OperationCallable<SetCommonInstanceMetadataProjectRequest, Operation, Operation> setCommonInstanceMetadataOperationCallable()1118 setCommonInstanceMetadataOperationCallable() { 1119 return setCommonInstanceMetadataOperationCallable; 1120 } 1121 1122 @Override 1123 public UnaryCallable<SetDefaultNetworkTierProjectRequest, Operation> setDefaultNetworkTierCallable()1124 setDefaultNetworkTierCallable() { 1125 return setDefaultNetworkTierCallable; 1126 } 1127 1128 @Override 1129 public OperationCallable<SetDefaultNetworkTierProjectRequest, Operation, Operation> setDefaultNetworkTierOperationCallable()1130 setDefaultNetworkTierOperationCallable() { 1131 return setDefaultNetworkTierOperationCallable; 1132 } 1133 1134 @Override 1135 public UnaryCallable<SetUsageExportBucketProjectRequest, Operation> setUsageExportBucketCallable()1136 setUsageExportBucketCallable() { 1137 return setUsageExportBucketCallable; 1138 } 1139 1140 @Override 1141 public OperationCallable<SetUsageExportBucketProjectRequest, Operation, Operation> setUsageExportBucketOperationCallable()1142 setUsageExportBucketOperationCallable() { 1143 return setUsageExportBucketOperationCallable; 1144 } 1145 1146 @Override close()1147 public final void close() { 1148 try { 1149 backgroundResources.close(); 1150 } catch (RuntimeException e) { 1151 throw e; 1152 } catch (Exception e) { 1153 throw new IllegalStateException("Failed to close resource", e); 1154 } 1155 } 1156 1157 @Override shutdown()1158 public void shutdown() { 1159 backgroundResources.shutdown(); 1160 } 1161 1162 @Override isShutdown()1163 public boolean isShutdown() { 1164 return backgroundResources.isShutdown(); 1165 } 1166 1167 @Override isTerminated()1168 public boolean isTerminated() { 1169 return backgroundResources.isTerminated(); 1170 } 1171 1172 @Override shutdownNow()1173 public void shutdownNow() { 1174 backgroundResources.shutdownNow(); 1175 } 1176 1177 @Override awaitTermination(long duration, TimeUnit unit)1178 public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { 1179 return backgroundResources.awaitTermination(duration, unit); 1180 } 1181 } 1182