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.SubnetworksClient.AggregatedListPagedResponse; 20 import static com.google.cloud.compute.v1.SubnetworksClient.ListPagedResponse; 21 import static com.google.cloud.compute.v1.SubnetworksClient.ListUsablePagedResponse; 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.AggregatedListSubnetworksRequest; 38 import com.google.cloud.compute.v1.DeleteSubnetworkRequest; 39 import com.google.cloud.compute.v1.ExpandIpCidrRangeSubnetworkRequest; 40 import com.google.cloud.compute.v1.GetIamPolicySubnetworkRequest; 41 import com.google.cloud.compute.v1.GetSubnetworkRequest; 42 import com.google.cloud.compute.v1.InsertSubnetworkRequest; 43 import com.google.cloud.compute.v1.ListSubnetworksRequest; 44 import com.google.cloud.compute.v1.ListUsableSubnetworksRequest; 45 import com.google.cloud.compute.v1.Operation; 46 import com.google.cloud.compute.v1.Operation.Status; 47 import com.google.cloud.compute.v1.PatchSubnetworkRequest; 48 import com.google.cloud.compute.v1.Policy; 49 import com.google.cloud.compute.v1.SetIamPolicySubnetworkRequest; 50 import com.google.cloud.compute.v1.SetPrivateIpGoogleAccessSubnetworkRequest; 51 import com.google.cloud.compute.v1.Subnetwork; 52 import com.google.cloud.compute.v1.SubnetworkAggregatedList; 53 import com.google.cloud.compute.v1.SubnetworkList; 54 import com.google.cloud.compute.v1.TestIamPermissionsSubnetworkRequest; 55 import com.google.cloud.compute.v1.TestPermissionsResponse; 56 import com.google.cloud.compute.v1.UsableSubnetworksAggregatedList; 57 import com.google.protobuf.TypeRegistry; 58 import java.io.IOException; 59 import java.util.ArrayList; 60 import java.util.HashMap; 61 import java.util.List; 62 import java.util.Map; 63 import java.util.concurrent.TimeUnit; 64 import javax.annotation.Generated; 65 66 // AUTO-GENERATED DOCUMENTATION AND CLASS. 67 /** 68 * REST stub implementation for the Subnetworks service API. 69 * 70 * <p>This class is for advanced usage and reflects the underlying API directly. 71 */ 72 @Generated("by gapic-generator-java") 73 @BetaApi 74 public class HttpJsonSubnetworksStub extends SubnetworksStub { 75 private static final TypeRegistry typeRegistry = 76 TypeRegistry.newBuilder().add(Operation.getDescriptor()).build(); 77 78 private static final ApiMethodDescriptor< 79 AggregatedListSubnetworksRequest, SubnetworkAggregatedList> 80 aggregatedListMethodDescriptor = 81 ApiMethodDescriptor 82 .<AggregatedListSubnetworksRequest, SubnetworkAggregatedList>newBuilder() 83 .setFullMethodName("google.cloud.compute.v1.Subnetworks/AggregatedList") 84 .setHttpMethod("GET") 85 .setType(ApiMethodDescriptor.MethodType.UNARY) 86 .setRequestFormatter( 87 ProtoMessageRequestFormatter.<AggregatedListSubnetworksRequest>newBuilder() 88 .setPath( 89 "/compute/v1/projects/{project}/aggregated/subnetworks", 90 request -> { 91 Map<String, String> fields = new HashMap<>(); 92 ProtoRestSerializer<AggregatedListSubnetworksRequest> serializer = 93 ProtoRestSerializer.create(); 94 serializer.putPathParam(fields, "project", request.getProject()); 95 return fields; 96 }) 97 .setQueryParamsExtractor( 98 request -> { 99 Map<String, List<String>> fields = new HashMap<>(); 100 ProtoRestSerializer<AggregatedListSubnetworksRequest> serializer = 101 ProtoRestSerializer.create(); 102 if (request.hasFilter()) { 103 serializer.putQueryParam(fields, "filter", request.getFilter()); 104 } 105 if (request.hasIncludeAllScopes()) { 106 serializer.putQueryParam( 107 fields, "includeAllScopes", request.getIncludeAllScopes()); 108 } 109 if (request.hasMaxResults()) { 110 serializer.putQueryParam( 111 fields, "maxResults", request.getMaxResults()); 112 } 113 if (request.hasOrderBy()) { 114 serializer.putQueryParam(fields, "orderBy", request.getOrderBy()); 115 } 116 if (request.hasPageToken()) { 117 serializer.putQueryParam(fields, "pageToken", request.getPageToken()); 118 } 119 if (request.hasReturnPartialSuccess()) { 120 serializer.putQueryParam( 121 fields, 122 "returnPartialSuccess", 123 request.getReturnPartialSuccess()); 124 } 125 return fields; 126 }) 127 .setRequestBodyExtractor(request -> null) 128 .build()) 129 .setResponseParser( 130 ProtoMessageResponseParser.<SubnetworkAggregatedList>newBuilder() 131 .setDefaultInstance(SubnetworkAggregatedList.getDefaultInstance()) 132 .setDefaultTypeRegistry(typeRegistry) 133 .build()) 134 .build(); 135 136 private static final ApiMethodDescriptor<DeleteSubnetworkRequest, Operation> 137 deleteMethodDescriptor = 138 ApiMethodDescriptor.<DeleteSubnetworkRequest, Operation>newBuilder() 139 .setFullMethodName("google.cloud.compute.v1.Subnetworks/Delete") 140 .setHttpMethod("DELETE") 141 .setType(ApiMethodDescriptor.MethodType.UNARY) 142 .setRequestFormatter( 143 ProtoMessageRequestFormatter.<DeleteSubnetworkRequest>newBuilder() 144 .setPath( 145 "/compute/v1/projects/{project}/regions/{region}/subnetworks/{subnetwork}", 146 request -> { 147 Map<String, String> fields = new HashMap<>(); 148 ProtoRestSerializer<DeleteSubnetworkRequest> serializer = 149 ProtoRestSerializer.create(); 150 serializer.putPathParam(fields, "project", request.getProject()); 151 serializer.putPathParam(fields, "region", request.getRegion()); 152 serializer.putPathParam(fields, "subnetwork", request.getSubnetwork()); 153 return fields; 154 }) 155 .setQueryParamsExtractor( 156 request -> { 157 Map<String, List<String>> fields = new HashMap<>(); 158 ProtoRestSerializer<DeleteSubnetworkRequest> serializer = 159 ProtoRestSerializer.create(); 160 if (request.hasRequestId()) { 161 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 162 } 163 return fields; 164 }) 165 .setRequestBodyExtractor(request -> null) 166 .build()) 167 .setResponseParser( 168 ProtoMessageResponseParser.<Operation>newBuilder() 169 .setDefaultInstance(Operation.getDefaultInstance()) 170 .setDefaultTypeRegistry(typeRegistry) 171 .build()) 172 .setOperationSnapshotFactory( 173 (DeleteSubnetworkRequest request, Operation response) -> { 174 StringBuilder opName = new StringBuilder(response.getName()); 175 opName.append(":").append(request.getProject()); 176 opName.append(":").append(request.getRegion()); 177 return HttpJsonOperationSnapshot.newBuilder() 178 .setName(opName.toString()) 179 .setMetadata(response) 180 .setDone(Status.DONE.equals(response.getStatus())) 181 .setResponse(response) 182 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 183 .build(); 184 }) 185 .build(); 186 187 private static final ApiMethodDescriptor<ExpandIpCidrRangeSubnetworkRequest, Operation> 188 expandIpCidrRangeMethodDescriptor = 189 ApiMethodDescriptor.<ExpandIpCidrRangeSubnetworkRequest, Operation>newBuilder() 190 .setFullMethodName("google.cloud.compute.v1.Subnetworks/ExpandIpCidrRange") 191 .setHttpMethod("POST") 192 .setType(ApiMethodDescriptor.MethodType.UNARY) 193 .setRequestFormatter( 194 ProtoMessageRequestFormatter.<ExpandIpCidrRangeSubnetworkRequest>newBuilder() 195 .setPath( 196 "/compute/v1/projects/{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange", 197 request -> { 198 Map<String, String> fields = new HashMap<>(); 199 ProtoRestSerializer<ExpandIpCidrRangeSubnetworkRequest> serializer = 200 ProtoRestSerializer.create(); 201 serializer.putPathParam(fields, "project", request.getProject()); 202 serializer.putPathParam(fields, "region", request.getRegion()); 203 serializer.putPathParam(fields, "subnetwork", request.getSubnetwork()); 204 return fields; 205 }) 206 .setQueryParamsExtractor( 207 request -> { 208 Map<String, List<String>> fields = new HashMap<>(); 209 ProtoRestSerializer<ExpandIpCidrRangeSubnetworkRequest> serializer = 210 ProtoRestSerializer.create(); 211 if (request.hasRequestId()) { 212 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 213 } 214 return fields; 215 }) 216 .setRequestBodyExtractor( 217 request -> 218 ProtoRestSerializer.create() 219 .toBody( 220 "subnetworksExpandIpCidrRangeRequestResource", 221 request.getSubnetworksExpandIpCidrRangeRequestResource(), 222 false)) 223 .build()) 224 .setResponseParser( 225 ProtoMessageResponseParser.<Operation>newBuilder() 226 .setDefaultInstance(Operation.getDefaultInstance()) 227 .setDefaultTypeRegistry(typeRegistry) 228 .build()) 229 .setOperationSnapshotFactory( 230 (ExpandIpCidrRangeSubnetworkRequest request, Operation response) -> { 231 StringBuilder opName = new StringBuilder(response.getName()); 232 opName.append(":").append(request.getProject()); 233 opName.append(":").append(request.getRegion()); 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<GetSubnetworkRequest, Subnetwork> getMethodDescriptor = 245 ApiMethodDescriptor.<GetSubnetworkRequest, Subnetwork>newBuilder() 246 .setFullMethodName("google.cloud.compute.v1.Subnetworks/Get") 247 .setHttpMethod("GET") 248 .setType(ApiMethodDescriptor.MethodType.UNARY) 249 .setRequestFormatter( 250 ProtoMessageRequestFormatter.<GetSubnetworkRequest>newBuilder() 251 .setPath( 252 "/compute/v1/projects/{project}/regions/{region}/subnetworks/{subnetwork}", 253 request -> { 254 Map<String, String> fields = new HashMap<>(); 255 ProtoRestSerializer<GetSubnetworkRequest> serializer = 256 ProtoRestSerializer.create(); 257 serializer.putPathParam(fields, "project", request.getProject()); 258 serializer.putPathParam(fields, "region", request.getRegion()); 259 serializer.putPathParam(fields, "subnetwork", request.getSubnetwork()); 260 return fields; 261 }) 262 .setQueryParamsExtractor( 263 request -> { 264 Map<String, List<String>> fields = new HashMap<>(); 265 ProtoRestSerializer<GetSubnetworkRequest> serializer = 266 ProtoRestSerializer.create(); 267 return fields; 268 }) 269 .setRequestBodyExtractor(request -> null) 270 .build()) 271 .setResponseParser( 272 ProtoMessageResponseParser.<Subnetwork>newBuilder() 273 .setDefaultInstance(Subnetwork.getDefaultInstance()) 274 .setDefaultTypeRegistry(typeRegistry) 275 .build()) 276 .build(); 277 278 private static final ApiMethodDescriptor<GetIamPolicySubnetworkRequest, Policy> 279 getIamPolicyMethodDescriptor = 280 ApiMethodDescriptor.<GetIamPolicySubnetworkRequest, Policy>newBuilder() 281 .setFullMethodName("google.cloud.compute.v1.Subnetworks/GetIamPolicy") 282 .setHttpMethod("GET") 283 .setType(ApiMethodDescriptor.MethodType.UNARY) 284 .setRequestFormatter( 285 ProtoMessageRequestFormatter.<GetIamPolicySubnetworkRequest>newBuilder() 286 .setPath( 287 "/compute/v1/projects/{project}/regions/{region}/subnetworks/{resource}/getIamPolicy", 288 request -> { 289 Map<String, String> fields = new HashMap<>(); 290 ProtoRestSerializer<GetIamPolicySubnetworkRequest> serializer = 291 ProtoRestSerializer.create(); 292 serializer.putPathParam(fields, "project", request.getProject()); 293 serializer.putPathParam(fields, "region", request.getRegion()); 294 serializer.putPathParam(fields, "resource", request.getResource()); 295 return fields; 296 }) 297 .setQueryParamsExtractor( 298 request -> { 299 Map<String, List<String>> fields = new HashMap<>(); 300 ProtoRestSerializer<GetIamPolicySubnetworkRequest> serializer = 301 ProtoRestSerializer.create(); 302 if (request.hasOptionsRequestedPolicyVersion()) { 303 serializer.putQueryParam( 304 fields, 305 "optionsRequestedPolicyVersion", 306 request.getOptionsRequestedPolicyVersion()); 307 } 308 return fields; 309 }) 310 .setRequestBodyExtractor(request -> null) 311 .build()) 312 .setResponseParser( 313 ProtoMessageResponseParser.<Policy>newBuilder() 314 .setDefaultInstance(Policy.getDefaultInstance()) 315 .setDefaultTypeRegistry(typeRegistry) 316 .build()) 317 .build(); 318 319 private static final ApiMethodDescriptor<InsertSubnetworkRequest, Operation> 320 insertMethodDescriptor = 321 ApiMethodDescriptor.<InsertSubnetworkRequest, Operation>newBuilder() 322 .setFullMethodName("google.cloud.compute.v1.Subnetworks/Insert") 323 .setHttpMethod("POST") 324 .setType(ApiMethodDescriptor.MethodType.UNARY) 325 .setRequestFormatter( 326 ProtoMessageRequestFormatter.<InsertSubnetworkRequest>newBuilder() 327 .setPath( 328 "/compute/v1/projects/{project}/regions/{region}/subnetworks", 329 request -> { 330 Map<String, String> fields = new HashMap<>(); 331 ProtoRestSerializer<InsertSubnetworkRequest> serializer = 332 ProtoRestSerializer.create(); 333 serializer.putPathParam(fields, "project", request.getProject()); 334 serializer.putPathParam(fields, "region", request.getRegion()); 335 return fields; 336 }) 337 .setQueryParamsExtractor( 338 request -> { 339 Map<String, List<String>> fields = new HashMap<>(); 340 ProtoRestSerializer<InsertSubnetworkRequest> serializer = 341 ProtoRestSerializer.create(); 342 if (request.hasRequestId()) { 343 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 344 } 345 return fields; 346 }) 347 .setRequestBodyExtractor( 348 request -> 349 ProtoRestSerializer.create() 350 .toBody( 351 "subnetworkResource", request.getSubnetworkResource(), false)) 352 .build()) 353 .setResponseParser( 354 ProtoMessageResponseParser.<Operation>newBuilder() 355 .setDefaultInstance(Operation.getDefaultInstance()) 356 .setDefaultTypeRegistry(typeRegistry) 357 .build()) 358 .setOperationSnapshotFactory( 359 (InsertSubnetworkRequest request, Operation response) -> { 360 StringBuilder opName = new StringBuilder(response.getName()); 361 opName.append(":").append(request.getProject()); 362 opName.append(":").append(request.getRegion()); 363 return HttpJsonOperationSnapshot.newBuilder() 364 .setName(opName.toString()) 365 .setMetadata(response) 366 .setDone(Status.DONE.equals(response.getStatus())) 367 .setResponse(response) 368 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 369 .build(); 370 }) 371 .build(); 372 373 private static final ApiMethodDescriptor<ListSubnetworksRequest, SubnetworkList> 374 listMethodDescriptor = 375 ApiMethodDescriptor.<ListSubnetworksRequest, SubnetworkList>newBuilder() 376 .setFullMethodName("google.cloud.compute.v1.Subnetworks/List") 377 .setHttpMethod("GET") 378 .setType(ApiMethodDescriptor.MethodType.UNARY) 379 .setRequestFormatter( 380 ProtoMessageRequestFormatter.<ListSubnetworksRequest>newBuilder() 381 .setPath( 382 "/compute/v1/projects/{project}/regions/{region}/subnetworks", 383 request -> { 384 Map<String, String> fields = new HashMap<>(); 385 ProtoRestSerializer<ListSubnetworksRequest> serializer = 386 ProtoRestSerializer.create(); 387 serializer.putPathParam(fields, "project", request.getProject()); 388 serializer.putPathParam(fields, "region", request.getRegion()); 389 return fields; 390 }) 391 .setQueryParamsExtractor( 392 request -> { 393 Map<String, List<String>> fields = new HashMap<>(); 394 ProtoRestSerializer<ListSubnetworksRequest> serializer = 395 ProtoRestSerializer.create(); 396 if (request.hasFilter()) { 397 serializer.putQueryParam(fields, "filter", request.getFilter()); 398 } 399 if (request.hasMaxResults()) { 400 serializer.putQueryParam( 401 fields, "maxResults", request.getMaxResults()); 402 } 403 if (request.hasOrderBy()) { 404 serializer.putQueryParam(fields, "orderBy", request.getOrderBy()); 405 } 406 if (request.hasPageToken()) { 407 serializer.putQueryParam(fields, "pageToken", request.getPageToken()); 408 } 409 if (request.hasReturnPartialSuccess()) { 410 serializer.putQueryParam( 411 fields, 412 "returnPartialSuccess", 413 request.getReturnPartialSuccess()); 414 } 415 return fields; 416 }) 417 .setRequestBodyExtractor(request -> null) 418 .build()) 419 .setResponseParser( 420 ProtoMessageResponseParser.<SubnetworkList>newBuilder() 421 .setDefaultInstance(SubnetworkList.getDefaultInstance()) 422 .setDefaultTypeRegistry(typeRegistry) 423 .build()) 424 .build(); 425 426 private static final ApiMethodDescriptor< 427 ListUsableSubnetworksRequest, UsableSubnetworksAggregatedList> 428 listUsableMethodDescriptor = 429 ApiMethodDescriptor 430 .<ListUsableSubnetworksRequest, UsableSubnetworksAggregatedList>newBuilder() 431 .setFullMethodName("google.cloud.compute.v1.Subnetworks/ListUsable") 432 .setHttpMethod("GET") 433 .setType(ApiMethodDescriptor.MethodType.UNARY) 434 .setRequestFormatter( 435 ProtoMessageRequestFormatter.<ListUsableSubnetworksRequest>newBuilder() 436 .setPath( 437 "/compute/v1/projects/{project}/aggregated/subnetworks/listUsable", 438 request -> { 439 Map<String, String> fields = new HashMap<>(); 440 ProtoRestSerializer<ListUsableSubnetworksRequest> serializer = 441 ProtoRestSerializer.create(); 442 serializer.putPathParam(fields, "project", request.getProject()); 443 return fields; 444 }) 445 .setQueryParamsExtractor( 446 request -> { 447 Map<String, List<String>> fields = new HashMap<>(); 448 ProtoRestSerializer<ListUsableSubnetworksRequest> serializer = 449 ProtoRestSerializer.create(); 450 if (request.hasFilter()) { 451 serializer.putQueryParam(fields, "filter", request.getFilter()); 452 } 453 if (request.hasMaxResults()) { 454 serializer.putQueryParam( 455 fields, "maxResults", request.getMaxResults()); 456 } 457 if (request.hasOrderBy()) { 458 serializer.putQueryParam(fields, "orderBy", request.getOrderBy()); 459 } 460 if (request.hasPageToken()) { 461 serializer.putQueryParam(fields, "pageToken", request.getPageToken()); 462 } 463 if (request.hasReturnPartialSuccess()) { 464 serializer.putQueryParam( 465 fields, 466 "returnPartialSuccess", 467 request.getReturnPartialSuccess()); 468 } 469 return fields; 470 }) 471 .setRequestBodyExtractor(request -> null) 472 .build()) 473 .setResponseParser( 474 ProtoMessageResponseParser.<UsableSubnetworksAggregatedList>newBuilder() 475 .setDefaultInstance(UsableSubnetworksAggregatedList.getDefaultInstance()) 476 .setDefaultTypeRegistry(typeRegistry) 477 .build()) 478 .build(); 479 480 private static final ApiMethodDescriptor<PatchSubnetworkRequest, Operation> 481 patchMethodDescriptor = 482 ApiMethodDescriptor.<PatchSubnetworkRequest, Operation>newBuilder() 483 .setFullMethodName("google.cloud.compute.v1.Subnetworks/Patch") 484 .setHttpMethod("PATCH") 485 .setType(ApiMethodDescriptor.MethodType.UNARY) 486 .setRequestFormatter( 487 ProtoMessageRequestFormatter.<PatchSubnetworkRequest>newBuilder() 488 .setPath( 489 "/compute/v1/projects/{project}/regions/{region}/subnetworks/{subnetwork}", 490 request -> { 491 Map<String, String> fields = new HashMap<>(); 492 ProtoRestSerializer<PatchSubnetworkRequest> serializer = 493 ProtoRestSerializer.create(); 494 serializer.putPathParam(fields, "project", request.getProject()); 495 serializer.putPathParam(fields, "region", request.getRegion()); 496 serializer.putPathParam(fields, "subnetwork", request.getSubnetwork()); 497 return fields; 498 }) 499 .setQueryParamsExtractor( 500 request -> { 501 Map<String, List<String>> fields = new HashMap<>(); 502 ProtoRestSerializer<PatchSubnetworkRequest> serializer = 503 ProtoRestSerializer.create(); 504 if (request.hasDrainTimeoutSeconds()) { 505 serializer.putQueryParam( 506 fields, "drainTimeoutSeconds", request.getDrainTimeoutSeconds()); 507 } 508 if (request.hasRequestId()) { 509 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 510 } 511 return fields; 512 }) 513 .setRequestBodyExtractor( 514 request -> 515 ProtoRestSerializer.create() 516 .toBody( 517 "subnetworkResource", request.getSubnetworkResource(), false)) 518 .build()) 519 .setResponseParser( 520 ProtoMessageResponseParser.<Operation>newBuilder() 521 .setDefaultInstance(Operation.getDefaultInstance()) 522 .setDefaultTypeRegistry(typeRegistry) 523 .build()) 524 .setOperationSnapshotFactory( 525 (PatchSubnetworkRequest request, Operation response) -> { 526 StringBuilder opName = new StringBuilder(response.getName()); 527 opName.append(":").append(request.getProject()); 528 opName.append(":").append(request.getRegion()); 529 return HttpJsonOperationSnapshot.newBuilder() 530 .setName(opName.toString()) 531 .setMetadata(response) 532 .setDone(Status.DONE.equals(response.getStatus())) 533 .setResponse(response) 534 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 535 .build(); 536 }) 537 .build(); 538 539 private static final ApiMethodDescriptor<SetIamPolicySubnetworkRequest, Policy> 540 setIamPolicyMethodDescriptor = 541 ApiMethodDescriptor.<SetIamPolicySubnetworkRequest, Policy>newBuilder() 542 .setFullMethodName("google.cloud.compute.v1.Subnetworks/SetIamPolicy") 543 .setHttpMethod("POST") 544 .setType(ApiMethodDescriptor.MethodType.UNARY) 545 .setRequestFormatter( 546 ProtoMessageRequestFormatter.<SetIamPolicySubnetworkRequest>newBuilder() 547 .setPath( 548 "/compute/v1/projects/{project}/regions/{region}/subnetworks/{resource}/setIamPolicy", 549 request -> { 550 Map<String, String> fields = new HashMap<>(); 551 ProtoRestSerializer<SetIamPolicySubnetworkRequest> serializer = 552 ProtoRestSerializer.create(); 553 serializer.putPathParam(fields, "project", request.getProject()); 554 serializer.putPathParam(fields, "region", request.getRegion()); 555 serializer.putPathParam(fields, "resource", request.getResource()); 556 return fields; 557 }) 558 .setQueryParamsExtractor( 559 request -> { 560 Map<String, List<String>> fields = new HashMap<>(); 561 ProtoRestSerializer<SetIamPolicySubnetworkRequest> serializer = 562 ProtoRestSerializer.create(); 563 return fields; 564 }) 565 .setRequestBodyExtractor( 566 request -> 567 ProtoRestSerializer.create() 568 .toBody( 569 "regionSetPolicyRequestResource", 570 request.getRegionSetPolicyRequestResource(), 571 false)) 572 .build()) 573 .setResponseParser( 574 ProtoMessageResponseParser.<Policy>newBuilder() 575 .setDefaultInstance(Policy.getDefaultInstance()) 576 .setDefaultTypeRegistry(typeRegistry) 577 .build()) 578 .build(); 579 580 private static final ApiMethodDescriptor<SetPrivateIpGoogleAccessSubnetworkRequest, Operation> 581 setPrivateIpGoogleAccessMethodDescriptor = 582 ApiMethodDescriptor.<SetPrivateIpGoogleAccessSubnetworkRequest, Operation>newBuilder() 583 .setFullMethodName("google.cloud.compute.v1.Subnetworks/SetPrivateIpGoogleAccess") 584 .setHttpMethod("POST") 585 .setType(ApiMethodDescriptor.MethodType.UNARY) 586 .setRequestFormatter( 587 ProtoMessageRequestFormatter 588 .<SetPrivateIpGoogleAccessSubnetworkRequest>newBuilder() 589 .setPath( 590 "/compute/v1/projects/{project}/regions/{region}/subnetworks/{subnetwork}/setPrivateIpGoogleAccess", 591 request -> { 592 Map<String, String> fields = new HashMap<>(); 593 ProtoRestSerializer<SetPrivateIpGoogleAccessSubnetworkRequest> 594 serializer = ProtoRestSerializer.create(); 595 serializer.putPathParam(fields, "project", request.getProject()); 596 serializer.putPathParam(fields, "region", request.getRegion()); 597 serializer.putPathParam(fields, "subnetwork", request.getSubnetwork()); 598 return fields; 599 }) 600 .setQueryParamsExtractor( 601 request -> { 602 Map<String, List<String>> fields = new HashMap<>(); 603 ProtoRestSerializer<SetPrivateIpGoogleAccessSubnetworkRequest> 604 serializer = ProtoRestSerializer.create(); 605 if (request.hasRequestId()) { 606 serializer.putQueryParam(fields, "requestId", request.getRequestId()); 607 } 608 return fields; 609 }) 610 .setRequestBodyExtractor( 611 request -> 612 ProtoRestSerializer.create() 613 .toBody( 614 "subnetworksSetPrivateIpGoogleAccessRequestResource", 615 request 616 .getSubnetworksSetPrivateIpGoogleAccessRequestResource(), 617 false)) 618 .build()) 619 .setResponseParser( 620 ProtoMessageResponseParser.<Operation>newBuilder() 621 .setDefaultInstance(Operation.getDefaultInstance()) 622 .setDefaultTypeRegistry(typeRegistry) 623 .build()) 624 .setOperationSnapshotFactory( 625 (SetPrivateIpGoogleAccessSubnetworkRequest request, Operation response) -> { 626 StringBuilder opName = new StringBuilder(response.getName()); 627 opName.append(":").append(request.getProject()); 628 opName.append(":").append(request.getRegion()); 629 return HttpJsonOperationSnapshot.newBuilder() 630 .setName(opName.toString()) 631 .setMetadata(response) 632 .setDone(Status.DONE.equals(response.getStatus())) 633 .setResponse(response) 634 .setError(response.getHttpErrorStatusCode(), response.getHttpErrorMessage()) 635 .build(); 636 }) 637 .build(); 638 639 private static final ApiMethodDescriptor< 640 TestIamPermissionsSubnetworkRequest, TestPermissionsResponse> 641 testIamPermissionsMethodDescriptor = 642 ApiMethodDescriptor 643 .<TestIamPermissionsSubnetworkRequest, TestPermissionsResponse>newBuilder() 644 .setFullMethodName("google.cloud.compute.v1.Subnetworks/TestIamPermissions") 645 .setHttpMethod("POST") 646 .setType(ApiMethodDescriptor.MethodType.UNARY) 647 .setRequestFormatter( 648 ProtoMessageRequestFormatter.<TestIamPermissionsSubnetworkRequest>newBuilder() 649 .setPath( 650 "/compute/v1/projects/{project}/regions/{region}/subnetworks/{resource}/testIamPermissions", 651 request -> { 652 Map<String, String> fields = new HashMap<>(); 653 ProtoRestSerializer<TestIamPermissionsSubnetworkRequest> serializer = 654 ProtoRestSerializer.create(); 655 serializer.putPathParam(fields, "project", request.getProject()); 656 serializer.putPathParam(fields, "region", request.getRegion()); 657 serializer.putPathParam(fields, "resource", request.getResource()); 658 return fields; 659 }) 660 .setQueryParamsExtractor( 661 request -> { 662 Map<String, List<String>> fields = new HashMap<>(); 663 ProtoRestSerializer<TestIamPermissionsSubnetworkRequest> serializer = 664 ProtoRestSerializer.create(); 665 return fields; 666 }) 667 .setRequestBodyExtractor( 668 request -> 669 ProtoRestSerializer.create() 670 .toBody( 671 "testPermissionsRequestResource", 672 request.getTestPermissionsRequestResource(), 673 false)) 674 .build()) 675 .setResponseParser( 676 ProtoMessageResponseParser.<TestPermissionsResponse>newBuilder() 677 .setDefaultInstance(TestPermissionsResponse.getDefaultInstance()) 678 .setDefaultTypeRegistry(typeRegistry) 679 .build()) 680 .build(); 681 682 private final UnaryCallable<AggregatedListSubnetworksRequest, SubnetworkAggregatedList> 683 aggregatedListCallable; 684 private final UnaryCallable<AggregatedListSubnetworksRequest, AggregatedListPagedResponse> 685 aggregatedListPagedCallable; 686 private final UnaryCallable<DeleteSubnetworkRequest, Operation> deleteCallable; 687 private final OperationCallable<DeleteSubnetworkRequest, Operation, Operation> 688 deleteOperationCallable; 689 private final UnaryCallable<ExpandIpCidrRangeSubnetworkRequest, Operation> 690 expandIpCidrRangeCallable; 691 private final OperationCallable<ExpandIpCidrRangeSubnetworkRequest, Operation, Operation> 692 expandIpCidrRangeOperationCallable; 693 private final UnaryCallable<GetSubnetworkRequest, Subnetwork> getCallable; 694 private final UnaryCallable<GetIamPolicySubnetworkRequest, Policy> getIamPolicyCallable; 695 private final UnaryCallable<InsertSubnetworkRequest, Operation> insertCallable; 696 private final OperationCallable<InsertSubnetworkRequest, Operation, Operation> 697 insertOperationCallable; 698 private final UnaryCallable<ListSubnetworksRequest, SubnetworkList> listCallable; 699 private final UnaryCallable<ListSubnetworksRequest, ListPagedResponse> listPagedCallable; 700 private final UnaryCallable<ListUsableSubnetworksRequest, UsableSubnetworksAggregatedList> 701 listUsableCallable; 702 private final UnaryCallable<ListUsableSubnetworksRequest, ListUsablePagedResponse> 703 listUsablePagedCallable; 704 private final UnaryCallable<PatchSubnetworkRequest, Operation> patchCallable; 705 private final OperationCallable<PatchSubnetworkRequest, Operation, Operation> 706 patchOperationCallable; 707 private final UnaryCallable<SetIamPolicySubnetworkRequest, Policy> setIamPolicyCallable; 708 private final UnaryCallable<SetPrivateIpGoogleAccessSubnetworkRequest, Operation> 709 setPrivateIpGoogleAccessCallable; 710 private final OperationCallable<SetPrivateIpGoogleAccessSubnetworkRequest, Operation, Operation> 711 setPrivateIpGoogleAccessOperationCallable; 712 private final UnaryCallable<TestIamPermissionsSubnetworkRequest, TestPermissionsResponse> 713 testIamPermissionsCallable; 714 715 private final BackgroundResource backgroundResources; 716 private final HttpJsonRegionOperationsStub httpJsonOperationsStub; 717 private final HttpJsonStubCallableFactory callableFactory; 718 create(SubnetworksStubSettings settings)719 public static final HttpJsonSubnetworksStub create(SubnetworksStubSettings settings) 720 throws IOException { 721 return new HttpJsonSubnetworksStub(settings, ClientContext.create(settings)); 722 } 723 create(ClientContext clientContext)724 public static final HttpJsonSubnetworksStub create(ClientContext clientContext) 725 throws IOException { 726 return new HttpJsonSubnetworksStub(SubnetworksStubSettings.newBuilder().build(), clientContext); 727 } 728 create( ClientContext clientContext, HttpJsonStubCallableFactory callableFactory)729 public static final HttpJsonSubnetworksStub create( 730 ClientContext clientContext, HttpJsonStubCallableFactory callableFactory) throws IOException { 731 return new HttpJsonSubnetworksStub( 732 SubnetworksStubSettings.newBuilder().build(), clientContext, callableFactory); 733 } 734 735 /** 736 * Constructs an instance of HttpJsonSubnetworksStub, using the given settings. This is protected 737 * so that it is easy to make a subclass, but otherwise, the static factory methods should be 738 * preferred. 739 */ HttpJsonSubnetworksStub(SubnetworksStubSettings settings, ClientContext clientContext)740 protected HttpJsonSubnetworksStub(SubnetworksStubSettings settings, ClientContext clientContext) 741 throws IOException { 742 this(settings, clientContext, new HttpJsonSubnetworksCallableFactory()); 743 } 744 745 /** 746 * Constructs an instance of HttpJsonSubnetworksStub, using the given settings. This is protected 747 * so that it is easy to make a subclass, but otherwise, the static factory methods should be 748 * preferred. 749 */ HttpJsonSubnetworksStub( SubnetworksStubSettings settings, ClientContext clientContext, HttpJsonStubCallableFactory callableFactory)750 protected HttpJsonSubnetworksStub( 751 SubnetworksStubSettings settings, 752 ClientContext clientContext, 753 HttpJsonStubCallableFactory callableFactory) 754 throws IOException { 755 this.callableFactory = callableFactory; 756 this.httpJsonOperationsStub = 757 HttpJsonRegionOperationsStub.create(clientContext, callableFactory); 758 759 HttpJsonCallSettings<AggregatedListSubnetworksRequest, SubnetworkAggregatedList> 760 aggregatedListTransportSettings = 761 HttpJsonCallSettings 762 .<AggregatedListSubnetworksRequest, SubnetworkAggregatedList>newBuilder() 763 .setMethodDescriptor(aggregatedListMethodDescriptor) 764 .setTypeRegistry(typeRegistry) 765 .build(); 766 HttpJsonCallSettings<DeleteSubnetworkRequest, Operation> deleteTransportSettings = 767 HttpJsonCallSettings.<DeleteSubnetworkRequest, Operation>newBuilder() 768 .setMethodDescriptor(deleteMethodDescriptor) 769 .setTypeRegistry(typeRegistry) 770 .build(); 771 HttpJsonCallSettings<ExpandIpCidrRangeSubnetworkRequest, Operation> 772 expandIpCidrRangeTransportSettings = 773 HttpJsonCallSettings.<ExpandIpCidrRangeSubnetworkRequest, Operation>newBuilder() 774 .setMethodDescriptor(expandIpCidrRangeMethodDescriptor) 775 .setTypeRegistry(typeRegistry) 776 .build(); 777 HttpJsonCallSettings<GetSubnetworkRequest, Subnetwork> getTransportSettings = 778 HttpJsonCallSettings.<GetSubnetworkRequest, Subnetwork>newBuilder() 779 .setMethodDescriptor(getMethodDescriptor) 780 .setTypeRegistry(typeRegistry) 781 .build(); 782 HttpJsonCallSettings<GetIamPolicySubnetworkRequest, Policy> getIamPolicyTransportSettings = 783 HttpJsonCallSettings.<GetIamPolicySubnetworkRequest, Policy>newBuilder() 784 .setMethodDescriptor(getIamPolicyMethodDescriptor) 785 .setTypeRegistry(typeRegistry) 786 .build(); 787 HttpJsonCallSettings<InsertSubnetworkRequest, Operation> insertTransportSettings = 788 HttpJsonCallSettings.<InsertSubnetworkRequest, Operation>newBuilder() 789 .setMethodDescriptor(insertMethodDescriptor) 790 .setTypeRegistry(typeRegistry) 791 .build(); 792 HttpJsonCallSettings<ListSubnetworksRequest, SubnetworkList> listTransportSettings = 793 HttpJsonCallSettings.<ListSubnetworksRequest, SubnetworkList>newBuilder() 794 .setMethodDescriptor(listMethodDescriptor) 795 .setTypeRegistry(typeRegistry) 796 .build(); 797 HttpJsonCallSettings<ListUsableSubnetworksRequest, UsableSubnetworksAggregatedList> 798 listUsableTransportSettings = 799 HttpJsonCallSettings 800 .<ListUsableSubnetworksRequest, UsableSubnetworksAggregatedList>newBuilder() 801 .setMethodDescriptor(listUsableMethodDescriptor) 802 .setTypeRegistry(typeRegistry) 803 .build(); 804 HttpJsonCallSettings<PatchSubnetworkRequest, Operation> patchTransportSettings = 805 HttpJsonCallSettings.<PatchSubnetworkRequest, Operation>newBuilder() 806 .setMethodDescriptor(patchMethodDescriptor) 807 .setTypeRegistry(typeRegistry) 808 .build(); 809 HttpJsonCallSettings<SetIamPolicySubnetworkRequest, Policy> setIamPolicyTransportSettings = 810 HttpJsonCallSettings.<SetIamPolicySubnetworkRequest, Policy>newBuilder() 811 .setMethodDescriptor(setIamPolicyMethodDescriptor) 812 .setTypeRegistry(typeRegistry) 813 .build(); 814 HttpJsonCallSettings<SetPrivateIpGoogleAccessSubnetworkRequest, Operation> 815 setPrivateIpGoogleAccessTransportSettings = 816 HttpJsonCallSettings.<SetPrivateIpGoogleAccessSubnetworkRequest, Operation>newBuilder() 817 .setMethodDescriptor(setPrivateIpGoogleAccessMethodDescriptor) 818 .setTypeRegistry(typeRegistry) 819 .build(); 820 HttpJsonCallSettings<TestIamPermissionsSubnetworkRequest, TestPermissionsResponse> 821 testIamPermissionsTransportSettings = 822 HttpJsonCallSettings 823 .<TestIamPermissionsSubnetworkRequest, TestPermissionsResponse>newBuilder() 824 .setMethodDescriptor(testIamPermissionsMethodDescriptor) 825 .setTypeRegistry(typeRegistry) 826 .build(); 827 828 this.aggregatedListCallable = 829 callableFactory.createUnaryCallable( 830 aggregatedListTransportSettings, settings.aggregatedListSettings(), clientContext); 831 this.aggregatedListPagedCallable = 832 callableFactory.createPagedCallable( 833 aggregatedListTransportSettings, settings.aggregatedListSettings(), clientContext); 834 this.deleteCallable = 835 callableFactory.createUnaryCallable( 836 deleteTransportSettings, settings.deleteSettings(), clientContext); 837 this.deleteOperationCallable = 838 callableFactory.createOperationCallable( 839 deleteTransportSettings, 840 settings.deleteOperationSettings(), 841 clientContext, 842 httpJsonOperationsStub); 843 this.expandIpCidrRangeCallable = 844 callableFactory.createUnaryCallable( 845 expandIpCidrRangeTransportSettings, 846 settings.expandIpCidrRangeSettings(), 847 clientContext); 848 this.expandIpCidrRangeOperationCallable = 849 callableFactory.createOperationCallable( 850 expandIpCidrRangeTransportSettings, 851 settings.expandIpCidrRangeOperationSettings(), 852 clientContext, 853 httpJsonOperationsStub); 854 this.getCallable = 855 callableFactory.createUnaryCallable( 856 getTransportSettings, settings.getSettings(), clientContext); 857 this.getIamPolicyCallable = 858 callableFactory.createUnaryCallable( 859 getIamPolicyTransportSettings, settings.getIamPolicySettings(), clientContext); 860 this.insertCallable = 861 callableFactory.createUnaryCallable( 862 insertTransportSettings, settings.insertSettings(), clientContext); 863 this.insertOperationCallable = 864 callableFactory.createOperationCallable( 865 insertTransportSettings, 866 settings.insertOperationSettings(), 867 clientContext, 868 httpJsonOperationsStub); 869 this.listCallable = 870 callableFactory.createUnaryCallable( 871 listTransportSettings, settings.listSettings(), clientContext); 872 this.listPagedCallable = 873 callableFactory.createPagedCallable( 874 listTransportSettings, settings.listSettings(), clientContext); 875 this.listUsableCallable = 876 callableFactory.createUnaryCallable( 877 listUsableTransportSettings, settings.listUsableSettings(), clientContext); 878 this.listUsablePagedCallable = 879 callableFactory.createPagedCallable( 880 listUsableTransportSettings, settings.listUsableSettings(), clientContext); 881 this.patchCallable = 882 callableFactory.createUnaryCallable( 883 patchTransportSettings, settings.patchSettings(), clientContext); 884 this.patchOperationCallable = 885 callableFactory.createOperationCallable( 886 patchTransportSettings, 887 settings.patchOperationSettings(), 888 clientContext, 889 httpJsonOperationsStub); 890 this.setIamPolicyCallable = 891 callableFactory.createUnaryCallable( 892 setIamPolicyTransportSettings, settings.setIamPolicySettings(), clientContext); 893 this.setPrivateIpGoogleAccessCallable = 894 callableFactory.createUnaryCallable( 895 setPrivateIpGoogleAccessTransportSettings, 896 settings.setPrivateIpGoogleAccessSettings(), 897 clientContext); 898 this.setPrivateIpGoogleAccessOperationCallable = 899 callableFactory.createOperationCallable( 900 setPrivateIpGoogleAccessTransportSettings, 901 settings.setPrivateIpGoogleAccessOperationSettings(), 902 clientContext, 903 httpJsonOperationsStub); 904 this.testIamPermissionsCallable = 905 callableFactory.createUnaryCallable( 906 testIamPermissionsTransportSettings, 907 settings.testIamPermissionsSettings(), 908 clientContext); 909 910 this.backgroundResources = 911 new BackgroundResourceAggregation(clientContext.getBackgroundResources()); 912 } 913 914 @InternalApi getMethodDescriptors()915 public static List<ApiMethodDescriptor> getMethodDescriptors() { 916 List<ApiMethodDescriptor> methodDescriptors = new ArrayList<>(); 917 methodDescriptors.add(aggregatedListMethodDescriptor); 918 methodDescriptors.add(deleteMethodDescriptor); 919 methodDescriptors.add(expandIpCidrRangeMethodDescriptor); 920 methodDescriptors.add(getMethodDescriptor); 921 methodDescriptors.add(getIamPolicyMethodDescriptor); 922 methodDescriptors.add(insertMethodDescriptor); 923 methodDescriptors.add(listMethodDescriptor); 924 methodDescriptors.add(listUsableMethodDescriptor); 925 methodDescriptors.add(patchMethodDescriptor); 926 methodDescriptors.add(setIamPolicyMethodDescriptor); 927 methodDescriptors.add(setPrivateIpGoogleAccessMethodDescriptor); 928 methodDescriptors.add(testIamPermissionsMethodDescriptor); 929 return methodDescriptors; 930 } 931 932 @Override 933 public UnaryCallable<AggregatedListSubnetworksRequest, SubnetworkAggregatedList> aggregatedListCallable()934 aggregatedListCallable() { 935 return aggregatedListCallable; 936 } 937 938 @Override 939 public UnaryCallable<AggregatedListSubnetworksRequest, AggregatedListPagedResponse> aggregatedListPagedCallable()940 aggregatedListPagedCallable() { 941 return aggregatedListPagedCallable; 942 } 943 944 @Override deleteCallable()945 public UnaryCallable<DeleteSubnetworkRequest, Operation> deleteCallable() { 946 return deleteCallable; 947 } 948 949 @Override 950 public OperationCallable<DeleteSubnetworkRequest, Operation, Operation> deleteOperationCallable()951 deleteOperationCallable() { 952 return deleteOperationCallable; 953 } 954 955 @Override expandIpCidrRangeCallable()956 public UnaryCallable<ExpandIpCidrRangeSubnetworkRequest, Operation> expandIpCidrRangeCallable() { 957 return expandIpCidrRangeCallable; 958 } 959 960 @Override 961 public OperationCallable<ExpandIpCidrRangeSubnetworkRequest, Operation, Operation> expandIpCidrRangeOperationCallable()962 expandIpCidrRangeOperationCallable() { 963 return expandIpCidrRangeOperationCallable; 964 } 965 966 @Override getCallable()967 public UnaryCallable<GetSubnetworkRequest, Subnetwork> getCallable() { 968 return getCallable; 969 } 970 971 @Override getIamPolicyCallable()972 public UnaryCallable<GetIamPolicySubnetworkRequest, Policy> getIamPolicyCallable() { 973 return getIamPolicyCallable; 974 } 975 976 @Override insertCallable()977 public UnaryCallable<InsertSubnetworkRequest, Operation> insertCallable() { 978 return insertCallable; 979 } 980 981 @Override 982 public OperationCallable<InsertSubnetworkRequest, Operation, Operation> insertOperationCallable()983 insertOperationCallable() { 984 return insertOperationCallable; 985 } 986 987 @Override listCallable()988 public UnaryCallable<ListSubnetworksRequest, SubnetworkList> listCallable() { 989 return listCallable; 990 } 991 992 @Override listPagedCallable()993 public UnaryCallable<ListSubnetworksRequest, ListPagedResponse> listPagedCallable() { 994 return listPagedCallable; 995 } 996 997 @Override 998 public UnaryCallable<ListUsableSubnetworksRequest, UsableSubnetworksAggregatedList> listUsableCallable()999 listUsableCallable() { 1000 return listUsableCallable; 1001 } 1002 1003 @Override 1004 public UnaryCallable<ListUsableSubnetworksRequest, ListUsablePagedResponse> listUsablePagedCallable()1005 listUsablePagedCallable() { 1006 return listUsablePagedCallable; 1007 } 1008 1009 @Override patchCallable()1010 public UnaryCallable<PatchSubnetworkRequest, Operation> patchCallable() { 1011 return patchCallable; 1012 } 1013 1014 @Override patchOperationCallable()1015 public OperationCallable<PatchSubnetworkRequest, Operation, Operation> patchOperationCallable() { 1016 return patchOperationCallable; 1017 } 1018 1019 @Override setIamPolicyCallable()1020 public UnaryCallable<SetIamPolicySubnetworkRequest, Policy> setIamPolicyCallable() { 1021 return setIamPolicyCallable; 1022 } 1023 1024 @Override 1025 public UnaryCallable<SetPrivateIpGoogleAccessSubnetworkRequest, Operation> setPrivateIpGoogleAccessCallable()1026 setPrivateIpGoogleAccessCallable() { 1027 return setPrivateIpGoogleAccessCallable; 1028 } 1029 1030 @Override 1031 public OperationCallable<SetPrivateIpGoogleAccessSubnetworkRequest, Operation, Operation> setPrivateIpGoogleAccessOperationCallable()1032 setPrivateIpGoogleAccessOperationCallable() { 1033 return setPrivateIpGoogleAccessOperationCallable; 1034 } 1035 1036 @Override 1037 public UnaryCallable<TestIamPermissionsSubnetworkRequest, TestPermissionsResponse> testIamPermissionsCallable()1038 testIamPermissionsCallable() { 1039 return testIamPermissionsCallable; 1040 } 1041 1042 @Override close()1043 public final void close() { 1044 try { 1045 backgroundResources.close(); 1046 } catch (RuntimeException e) { 1047 throw e; 1048 } catch (Exception e) { 1049 throw new IllegalStateException("Failed to close resource", e); 1050 } 1051 } 1052 1053 @Override shutdown()1054 public void shutdown() { 1055 backgroundResources.shutdown(); 1056 } 1057 1058 @Override isShutdown()1059 public boolean isShutdown() { 1060 return backgroundResources.isShutdown(); 1061 } 1062 1063 @Override isTerminated()1064 public boolean isTerminated() { 1065 return backgroundResources.isTerminated(); 1066 } 1067 1068 @Override shutdownNow()1069 public void shutdownNow() { 1070 backgroundResources.shutdownNow(); 1071 } 1072 1073 @Override awaitTermination(long duration, TimeUnit unit)1074 public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { 1075 return backgroundResources.awaitTermination(duration, unit); 1076 } 1077 } 1078