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.redis.v1.stub; 18 19 import static com.google.cloud.redis.v1.CloudRedisClient.ListInstancesPagedResponse; 20 import static com.google.cloud.redis.v1.CloudRedisClient.ListLocationsPagedResponse; 21 22 import com.google.api.gax.core.BackgroundResource; 23 import com.google.api.gax.core.BackgroundResourceAggregation; 24 import com.google.api.gax.grpc.GrpcCallSettings; 25 import com.google.api.gax.grpc.GrpcStubCallableFactory; 26 import com.google.api.gax.rpc.ClientContext; 27 import com.google.api.gax.rpc.OperationCallable; 28 import com.google.api.gax.rpc.UnaryCallable; 29 import com.google.cloud.location.GetLocationRequest; 30 import com.google.cloud.location.ListLocationsRequest; 31 import com.google.cloud.location.ListLocationsResponse; 32 import com.google.cloud.location.Location; 33 import com.google.cloud.redis.v1.CreateInstanceRequest; 34 import com.google.cloud.redis.v1.DeleteInstanceRequest; 35 import com.google.cloud.redis.v1.ExportInstanceRequest; 36 import com.google.cloud.redis.v1.FailoverInstanceRequest; 37 import com.google.cloud.redis.v1.GetInstanceAuthStringRequest; 38 import com.google.cloud.redis.v1.GetInstanceRequest; 39 import com.google.cloud.redis.v1.ImportInstanceRequest; 40 import com.google.cloud.redis.v1.Instance; 41 import com.google.cloud.redis.v1.InstanceAuthString; 42 import com.google.cloud.redis.v1.ListInstancesRequest; 43 import com.google.cloud.redis.v1.ListInstancesResponse; 44 import com.google.cloud.redis.v1.OperationMetadata; 45 import com.google.cloud.redis.v1.RescheduleMaintenanceRequest; 46 import com.google.cloud.redis.v1.UpdateInstanceRequest; 47 import com.google.cloud.redis.v1.UpgradeInstanceRequest; 48 import com.google.common.collect.ImmutableMap; 49 import com.google.longrunning.Operation; 50 import com.google.longrunning.stub.GrpcOperationsStub; 51 import com.google.protobuf.Empty; 52 import io.grpc.MethodDescriptor; 53 import io.grpc.protobuf.ProtoUtils; 54 import java.io.IOException; 55 import java.util.concurrent.TimeUnit; 56 import javax.annotation.Generated; 57 58 // AUTO-GENERATED DOCUMENTATION AND CLASS. 59 /** 60 * gRPC stub implementation for the CloudRedis service API. 61 * 62 * <p>This class is for advanced usage and reflects the underlying API directly. 63 */ 64 @Generated("by gapic-generator-java") 65 public class GrpcCloudRedisStub extends CloudRedisStub { 66 private static final MethodDescriptor<ListInstancesRequest, ListInstancesResponse> 67 listInstancesMethodDescriptor = 68 MethodDescriptor.<ListInstancesRequest, ListInstancesResponse>newBuilder() 69 .setType(MethodDescriptor.MethodType.UNARY) 70 .setFullMethodName("google.cloud.redis.v1.CloudRedis/ListInstances") 71 .setRequestMarshaller( 72 ProtoUtils.marshaller(ListInstancesRequest.getDefaultInstance())) 73 .setResponseMarshaller( 74 ProtoUtils.marshaller(ListInstancesResponse.getDefaultInstance())) 75 .build(); 76 77 private static final MethodDescriptor<GetInstanceRequest, Instance> getInstanceMethodDescriptor = 78 MethodDescriptor.<GetInstanceRequest, Instance>newBuilder() 79 .setType(MethodDescriptor.MethodType.UNARY) 80 .setFullMethodName("google.cloud.redis.v1.CloudRedis/GetInstance") 81 .setRequestMarshaller(ProtoUtils.marshaller(GetInstanceRequest.getDefaultInstance())) 82 .setResponseMarshaller(ProtoUtils.marshaller(Instance.getDefaultInstance())) 83 .build(); 84 85 private static final MethodDescriptor<GetInstanceAuthStringRequest, InstanceAuthString> 86 getInstanceAuthStringMethodDescriptor = 87 MethodDescriptor.<GetInstanceAuthStringRequest, InstanceAuthString>newBuilder() 88 .setType(MethodDescriptor.MethodType.UNARY) 89 .setFullMethodName("google.cloud.redis.v1.CloudRedis/GetInstanceAuthString") 90 .setRequestMarshaller( 91 ProtoUtils.marshaller(GetInstanceAuthStringRequest.getDefaultInstance())) 92 .setResponseMarshaller(ProtoUtils.marshaller(InstanceAuthString.getDefaultInstance())) 93 .build(); 94 95 private static final MethodDescriptor<CreateInstanceRequest, Operation> 96 createInstanceMethodDescriptor = 97 MethodDescriptor.<CreateInstanceRequest, Operation>newBuilder() 98 .setType(MethodDescriptor.MethodType.UNARY) 99 .setFullMethodName("google.cloud.redis.v1.CloudRedis/CreateInstance") 100 .setRequestMarshaller( 101 ProtoUtils.marshaller(CreateInstanceRequest.getDefaultInstance())) 102 .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) 103 .build(); 104 105 private static final MethodDescriptor<UpdateInstanceRequest, Operation> 106 updateInstanceMethodDescriptor = 107 MethodDescriptor.<UpdateInstanceRequest, Operation>newBuilder() 108 .setType(MethodDescriptor.MethodType.UNARY) 109 .setFullMethodName("google.cloud.redis.v1.CloudRedis/UpdateInstance") 110 .setRequestMarshaller( 111 ProtoUtils.marshaller(UpdateInstanceRequest.getDefaultInstance())) 112 .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) 113 .build(); 114 115 private static final MethodDescriptor<UpgradeInstanceRequest, Operation> 116 upgradeInstanceMethodDescriptor = 117 MethodDescriptor.<UpgradeInstanceRequest, Operation>newBuilder() 118 .setType(MethodDescriptor.MethodType.UNARY) 119 .setFullMethodName("google.cloud.redis.v1.CloudRedis/UpgradeInstance") 120 .setRequestMarshaller( 121 ProtoUtils.marshaller(UpgradeInstanceRequest.getDefaultInstance())) 122 .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) 123 .build(); 124 125 private static final MethodDescriptor<ImportInstanceRequest, Operation> 126 importInstanceMethodDescriptor = 127 MethodDescriptor.<ImportInstanceRequest, Operation>newBuilder() 128 .setType(MethodDescriptor.MethodType.UNARY) 129 .setFullMethodName("google.cloud.redis.v1.CloudRedis/ImportInstance") 130 .setRequestMarshaller( 131 ProtoUtils.marshaller(ImportInstanceRequest.getDefaultInstance())) 132 .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) 133 .build(); 134 135 private static final MethodDescriptor<ExportInstanceRequest, Operation> 136 exportInstanceMethodDescriptor = 137 MethodDescriptor.<ExportInstanceRequest, Operation>newBuilder() 138 .setType(MethodDescriptor.MethodType.UNARY) 139 .setFullMethodName("google.cloud.redis.v1.CloudRedis/ExportInstance") 140 .setRequestMarshaller( 141 ProtoUtils.marshaller(ExportInstanceRequest.getDefaultInstance())) 142 .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) 143 .build(); 144 145 private static final MethodDescriptor<FailoverInstanceRequest, Operation> 146 failoverInstanceMethodDescriptor = 147 MethodDescriptor.<FailoverInstanceRequest, Operation>newBuilder() 148 .setType(MethodDescriptor.MethodType.UNARY) 149 .setFullMethodName("google.cloud.redis.v1.CloudRedis/FailoverInstance") 150 .setRequestMarshaller( 151 ProtoUtils.marshaller(FailoverInstanceRequest.getDefaultInstance())) 152 .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) 153 .build(); 154 155 private static final MethodDescriptor<DeleteInstanceRequest, Operation> 156 deleteInstanceMethodDescriptor = 157 MethodDescriptor.<DeleteInstanceRequest, Operation>newBuilder() 158 .setType(MethodDescriptor.MethodType.UNARY) 159 .setFullMethodName("google.cloud.redis.v1.CloudRedis/DeleteInstance") 160 .setRequestMarshaller( 161 ProtoUtils.marshaller(DeleteInstanceRequest.getDefaultInstance())) 162 .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) 163 .build(); 164 165 private static final MethodDescriptor<RescheduleMaintenanceRequest, Operation> 166 rescheduleMaintenanceMethodDescriptor = 167 MethodDescriptor.<RescheduleMaintenanceRequest, Operation>newBuilder() 168 .setType(MethodDescriptor.MethodType.UNARY) 169 .setFullMethodName("google.cloud.redis.v1.CloudRedis/RescheduleMaintenance") 170 .setRequestMarshaller( 171 ProtoUtils.marshaller(RescheduleMaintenanceRequest.getDefaultInstance())) 172 .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) 173 .build(); 174 175 private static final MethodDescriptor<ListLocationsRequest, ListLocationsResponse> 176 listLocationsMethodDescriptor = 177 MethodDescriptor.<ListLocationsRequest, ListLocationsResponse>newBuilder() 178 .setType(MethodDescriptor.MethodType.UNARY) 179 .setFullMethodName("google.cloud.location.Locations/ListLocations") 180 .setRequestMarshaller( 181 ProtoUtils.marshaller(ListLocationsRequest.getDefaultInstance())) 182 .setResponseMarshaller( 183 ProtoUtils.marshaller(ListLocationsResponse.getDefaultInstance())) 184 .build(); 185 186 private static final MethodDescriptor<GetLocationRequest, Location> getLocationMethodDescriptor = 187 MethodDescriptor.<GetLocationRequest, Location>newBuilder() 188 .setType(MethodDescriptor.MethodType.UNARY) 189 .setFullMethodName("google.cloud.location.Locations/GetLocation") 190 .setRequestMarshaller(ProtoUtils.marshaller(GetLocationRequest.getDefaultInstance())) 191 .setResponseMarshaller(ProtoUtils.marshaller(Location.getDefaultInstance())) 192 .build(); 193 194 private final UnaryCallable<ListInstancesRequest, ListInstancesResponse> listInstancesCallable; 195 private final UnaryCallable<ListInstancesRequest, ListInstancesPagedResponse> 196 listInstancesPagedCallable; 197 private final UnaryCallable<GetInstanceRequest, Instance> getInstanceCallable; 198 private final UnaryCallable<GetInstanceAuthStringRequest, InstanceAuthString> 199 getInstanceAuthStringCallable; 200 private final UnaryCallable<CreateInstanceRequest, Operation> createInstanceCallable; 201 private final OperationCallable<CreateInstanceRequest, Instance, OperationMetadata> 202 createInstanceOperationCallable; 203 private final UnaryCallable<UpdateInstanceRequest, Operation> updateInstanceCallable; 204 private final OperationCallable<UpdateInstanceRequest, Instance, OperationMetadata> 205 updateInstanceOperationCallable; 206 private final UnaryCallable<UpgradeInstanceRequest, Operation> upgradeInstanceCallable; 207 private final OperationCallable<UpgradeInstanceRequest, Instance, OperationMetadata> 208 upgradeInstanceOperationCallable; 209 private final UnaryCallable<ImportInstanceRequest, Operation> importInstanceCallable; 210 private final OperationCallable<ImportInstanceRequest, Instance, OperationMetadata> 211 importInstanceOperationCallable; 212 private final UnaryCallable<ExportInstanceRequest, Operation> exportInstanceCallable; 213 private final OperationCallable<ExportInstanceRequest, Instance, OperationMetadata> 214 exportInstanceOperationCallable; 215 private final UnaryCallable<FailoverInstanceRequest, Operation> failoverInstanceCallable; 216 private final OperationCallable<FailoverInstanceRequest, Instance, OperationMetadata> 217 failoverInstanceOperationCallable; 218 private final UnaryCallable<DeleteInstanceRequest, Operation> deleteInstanceCallable; 219 private final OperationCallable<DeleteInstanceRequest, Empty, OperationMetadata> 220 deleteInstanceOperationCallable; 221 private final UnaryCallable<RescheduleMaintenanceRequest, Operation> 222 rescheduleMaintenanceCallable; 223 private final OperationCallable<RescheduleMaintenanceRequest, Instance, OperationMetadata> 224 rescheduleMaintenanceOperationCallable; 225 private final UnaryCallable<ListLocationsRequest, ListLocationsResponse> listLocationsCallable; 226 private final UnaryCallable<ListLocationsRequest, ListLocationsPagedResponse> 227 listLocationsPagedCallable; 228 private final UnaryCallable<GetLocationRequest, Location> getLocationCallable; 229 230 private final BackgroundResource backgroundResources; 231 private final GrpcOperationsStub operationsStub; 232 private final GrpcStubCallableFactory callableFactory; 233 create(CloudRedisStubSettings settings)234 public static final GrpcCloudRedisStub create(CloudRedisStubSettings settings) 235 throws IOException { 236 return new GrpcCloudRedisStub(settings, ClientContext.create(settings)); 237 } 238 create(ClientContext clientContext)239 public static final GrpcCloudRedisStub create(ClientContext clientContext) throws IOException { 240 return new GrpcCloudRedisStub(CloudRedisStubSettings.newBuilder().build(), clientContext); 241 } 242 create( ClientContext clientContext, GrpcStubCallableFactory callableFactory)243 public static final GrpcCloudRedisStub create( 244 ClientContext clientContext, GrpcStubCallableFactory callableFactory) throws IOException { 245 return new GrpcCloudRedisStub( 246 CloudRedisStubSettings.newBuilder().build(), clientContext, callableFactory); 247 } 248 249 /** 250 * Constructs an instance of GrpcCloudRedisStub, using the given settings. This is protected so 251 * that it is easy to make a subclass, but otherwise, the static factory methods should be 252 * preferred. 253 */ GrpcCloudRedisStub(CloudRedisStubSettings settings, ClientContext clientContext)254 protected GrpcCloudRedisStub(CloudRedisStubSettings settings, ClientContext clientContext) 255 throws IOException { 256 this(settings, clientContext, new GrpcCloudRedisCallableFactory()); 257 } 258 259 /** 260 * Constructs an instance of GrpcCloudRedisStub, using the given settings. This is protected so 261 * that it is easy to make a subclass, but otherwise, the static factory methods should be 262 * preferred. 263 */ GrpcCloudRedisStub( CloudRedisStubSettings settings, ClientContext clientContext, GrpcStubCallableFactory callableFactory)264 protected GrpcCloudRedisStub( 265 CloudRedisStubSettings settings, 266 ClientContext clientContext, 267 GrpcStubCallableFactory callableFactory) 268 throws IOException { 269 this.callableFactory = callableFactory; 270 this.operationsStub = GrpcOperationsStub.create(clientContext, callableFactory); 271 272 GrpcCallSettings<ListInstancesRequest, ListInstancesResponse> listInstancesTransportSettings = 273 GrpcCallSettings.<ListInstancesRequest, ListInstancesResponse>newBuilder() 274 .setMethodDescriptor(listInstancesMethodDescriptor) 275 .setParamsExtractor( 276 request -> { 277 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 278 params.put("parent", String.valueOf(request.getParent())); 279 return params.build(); 280 }) 281 .build(); 282 GrpcCallSettings<GetInstanceRequest, Instance> getInstanceTransportSettings = 283 GrpcCallSettings.<GetInstanceRequest, Instance>newBuilder() 284 .setMethodDescriptor(getInstanceMethodDescriptor) 285 .setParamsExtractor( 286 request -> { 287 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 288 params.put("name", String.valueOf(request.getName())); 289 return params.build(); 290 }) 291 .build(); 292 GrpcCallSettings<GetInstanceAuthStringRequest, InstanceAuthString> 293 getInstanceAuthStringTransportSettings = 294 GrpcCallSettings.<GetInstanceAuthStringRequest, InstanceAuthString>newBuilder() 295 .setMethodDescriptor(getInstanceAuthStringMethodDescriptor) 296 .setParamsExtractor( 297 request -> { 298 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 299 params.put("name", String.valueOf(request.getName())); 300 return params.build(); 301 }) 302 .build(); 303 GrpcCallSettings<CreateInstanceRequest, Operation> createInstanceTransportSettings = 304 GrpcCallSettings.<CreateInstanceRequest, Operation>newBuilder() 305 .setMethodDescriptor(createInstanceMethodDescriptor) 306 .setParamsExtractor( 307 request -> { 308 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 309 params.put("parent", String.valueOf(request.getParent())); 310 return params.build(); 311 }) 312 .build(); 313 GrpcCallSettings<UpdateInstanceRequest, Operation> updateInstanceTransportSettings = 314 GrpcCallSettings.<UpdateInstanceRequest, Operation>newBuilder() 315 .setMethodDescriptor(updateInstanceMethodDescriptor) 316 .setParamsExtractor( 317 request -> { 318 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 319 params.put("instance.name", String.valueOf(request.getInstance().getName())); 320 return params.build(); 321 }) 322 .build(); 323 GrpcCallSettings<UpgradeInstanceRequest, Operation> upgradeInstanceTransportSettings = 324 GrpcCallSettings.<UpgradeInstanceRequest, Operation>newBuilder() 325 .setMethodDescriptor(upgradeInstanceMethodDescriptor) 326 .setParamsExtractor( 327 request -> { 328 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 329 params.put("name", String.valueOf(request.getName())); 330 return params.build(); 331 }) 332 .build(); 333 GrpcCallSettings<ImportInstanceRequest, Operation> importInstanceTransportSettings = 334 GrpcCallSettings.<ImportInstanceRequest, Operation>newBuilder() 335 .setMethodDescriptor(importInstanceMethodDescriptor) 336 .setParamsExtractor( 337 request -> { 338 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 339 params.put("name", String.valueOf(request.getName())); 340 return params.build(); 341 }) 342 .build(); 343 GrpcCallSettings<ExportInstanceRequest, Operation> exportInstanceTransportSettings = 344 GrpcCallSettings.<ExportInstanceRequest, Operation>newBuilder() 345 .setMethodDescriptor(exportInstanceMethodDescriptor) 346 .setParamsExtractor( 347 request -> { 348 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 349 params.put("name", String.valueOf(request.getName())); 350 return params.build(); 351 }) 352 .build(); 353 GrpcCallSettings<FailoverInstanceRequest, Operation> failoverInstanceTransportSettings = 354 GrpcCallSettings.<FailoverInstanceRequest, Operation>newBuilder() 355 .setMethodDescriptor(failoverInstanceMethodDescriptor) 356 .setParamsExtractor( 357 request -> { 358 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 359 params.put("name", String.valueOf(request.getName())); 360 return params.build(); 361 }) 362 .build(); 363 GrpcCallSettings<DeleteInstanceRequest, Operation> deleteInstanceTransportSettings = 364 GrpcCallSettings.<DeleteInstanceRequest, Operation>newBuilder() 365 .setMethodDescriptor(deleteInstanceMethodDescriptor) 366 .setParamsExtractor( 367 request -> { 368 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 369 params.put("name", String.valueOf(request.getName())); 370 return params.build(); 371 }) 372 .build(); 373 GrpcCallSettings<RescheduleMaintenanceRequest, Operation> 374 rescheduleMaintenanceTransportSettings = 375 GrpcCallSettings.<RescheduleMaintenanceRequest, Operation>newBuilder() 376 .setMethodDescriptor(rescheduleMaintenanceMethodDescriptor) 377 .setParamsExtractor( 378 request -> { 379 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 380 params.put("name", String.valueOf(request.getName())); 381 return params.build(); 382 }) 383 .build(); 384 GrpcCallSettings<ListLocationsRequest, ListLocationsResponse> listLocationsTransportSettings = 385 GrpcCallSettings.<ListLocationsRequest, ListLocationsResponse>newBuilder() 386 .setMethodDescriptor(listLocationsMethodDescriptor) 387 .setParamsExtractor( 388 request -> { 389 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 390 params.put("name", String.valueOf(request.getName())); 391 return params.build(); 392 }) 393 .build(); 394 GrpcCallSettings<GetLocationRequest, Location> getLocationTransportSettings = 395 GrpcCallSettings.<GetLocationRequest, Location>newBuilder() 396 .setMethodDescriptor(getLocationMethodDescriptor) 397 .setParamsExtractor( 398 request -> { 399 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 400 params.put("name", String.valueOf(request.getName())); 401 return params.build(); 402 }) 403 .build(); 404 405 this.listInstancesCallable = 406 callableFactory.createUnaryCallable( 407 listInstancesTransportSettings, settings.listInstancesSettings(), clientContext); 408 this.listInstancesPagedCallable = 409 callableFactory.createPagedCallable( 410 listInstancesTransportSettings, settings.listInstancesSettings(), clientContext); 411 this.getInstanceCallable = 412 callableFactory.createUnaryCallable( 413 getInstanceTransportSettings, settings.getInstanceSettings(), clientContext); 414 this.getInstanceAuthStringCallable = 415 callableFactory.createUnaryCallable( 416 getInstanceAuthStringTransportSettings, 417 settings.getInstanceAuthStringSettings(), 418 clientContext); 419 this.createInstanceCallable = 420 callableFactory.createUnaryCallable( 421 createInstanceTransportSettings, settings.createInstanceSettings(), clientContext); 422 this.createInstanceOperationCallable = 423 callableFactory.createOperationCallable( 424 createInstanceTransportSettings, 425 settings.createInstanceOperationSettings(), 426 clientContext, 427 operationsStub); 428 this.updateInstanceCallable = 429 callableFactory.createUnaryCallable( 430 updateInstanceTransportSettings, settings.updateInstanceSettings(), clientContext); 431 this.updateInstanceOperationCallable = 432 callableFactory.createOperationCallable( 433 updateInstanceTransportSettings, 434 settings.updateInstanceOperationSettings(), 435 clientContext, 436 operationsStub); 437 this.upgradeInstanceCallable = 438 callableFactory.createUnaryCallable( 439 upgradeInstanceTransportSettings, settings.upgradeInstanceSettings(), clientContext); 440 this.upgradeInstanceOperationCallable = 441 callableFactory.createOperationCallable( 442 upgradeInstanceTransportSettings, 443 settings.upgradeInstanceOperationSettings(), 444 clientContext, 445 operationsStub); 446 this.importInstanceCallable = 447 callableFactory.createUnaryCallable( 448 importInstanceTransportSettings, settings.importInstanceSettings(), clientContext); 449 this.importInstanceOperationCallable = 450 callableFactory.createOperationCallable( 451 importInstanceTransportSettings, 452 settings.importInstanceOperationSettings(), 453 clientContext, 454 operationsStub); 455 this.exportInstanceCallable = 456 callableFactory.createUnaryCallable( 457 exportInstanceTransportSettings, settings.exportInstanceSettings(), clientContext); 458 this.exportInstanceOperationCallable = 459 callableFactory.createOperationCallable( 460 exportInstanceTransportSettings, 461 settings.exportInstanceOperationSettings(), 462 clientContext, 463 operationsStub); 464 this.failoverInstanceCallable = 465 callableFactory.createUnaryCallable( 466 failoverInstanceTransportSettings, settings.failoverInstanceSettings(), clientContext); 467 this.failoverInstanceOperationCallable = 468 callableFactory.createOperationCallable( 469 failoverInstanceTransportSettings, 470 settings.failoverInstanceOperationSettings(), 471 clientContext, 472 operationsStub); 473 this.deleteInstanceCallable = 474 callableFactory.createUnaryCallable( 475 deleteInstanceTransportSettings, settings.deleteInstanceSettings(), clientContext); 476 this.deleteInstanceOperationCallable = 477 callableFactory.createOperationCallable( 478 deleteInstanceTransportSettings, 479 settings.deleteInstanceOperationSettings(), 480 clientContext, 481 operationsStub); 482 this.rescheduleMaintenanceCallable = 483 callableFactory.createUnaryCallable( 484 rescheduleMaintenanceTransportSettings, 485 settings.rescheduleMaintenanceSettings(), 486 clientContext); 487 this.rescheduleMaintenanceOperationCallable = 488 callableFactory.createOperationCallable( 489 rescheduleMaintenanceTransportSettings, 490 settings.rescheduleMaintenanceOperationSettings(), 491 clientContext, 492 operationsStub); 493 this.listLocationsCallable = 494 callableFactory.createUnaryCallable( 495 listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); 496 this.listLocationsPagedCallable = 497 callableFactory.createPagedCallable( 498 listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); 499 this.getLocationCallable = 500 callableFactory.createUnaryCallable( 501 getLocationTransportSettings, settings.getLocationSettings(), clientContext); 502 503 this.backgroundResources = 504 new BackgroundResourceAggregation(clientContext.getBackgroundResources()); 505 } 506 getOperationsStub()507 public GrpcOperationsStub getOperationsStub() { 508 return operationsStub; 509 } 510 511 @Override listInstancesCallable()512 public UnaryCallable<ListInstancesRequest, ListInstancesResponse> listInstancesCallable() { 513 return listInstancesCallable; 514 } 515 516 @Override 517 public UnaryCallable<ListInstancesRequest, ListInstancesPagedResponse> listInstancesPagedCallable()518 listInstancesPagedCallable() { 519 return listInstancesPagedCallable; 520 } 521 522 @Override getInstanceCallable()523 public UnaryCallable<GetInstanceRequest, Instance> getInstanceCallable() { 524 return getInstanceCallable; 525 } 526 527 @Override 528 public UnaryCallable<GetInstanceAuthStringRequest, InstanceAuthString> getInstanceAuthStringCallable()529 getInstanceAuthStringCallable() { 530 return getInstanceAuthStringCallable; 531 } 532 533 @Override createInstanceCallable()534 public UnaryCallable<CreateInstanceRequest, Operation> createInstanceCallable() { 535 return createInstanceCallable; 536 } 537 538 @Override 539 public OperationCallable<CreateInstanceRequest, Instance, OperationMetadata> createInstanceOperationCallable()540 createInstanceOperationCallable() { 541 return createInstanceOperationCallable; 542 } 543 544 @Override updateInstanceCallable()545 public UnaryCallable<UpdateInstanceRequest, Operation> updateInstanceCallable() { 546 return updateInstanceCallable; 547 } 548 549 @Override 550 public OperationCallable<UpdateInstanceRequest, Instance, OperationMetadata> updateInstanceOperationCallable()551 updateInstanceOperationCallable() { 552 return updateInstanceOperationCallable; 553 } 554 555 @Override upgradeInstanceCallable()556 public UnaryCallable<UpgradeInstanceRequest, Operation> upgradeInstanceCallable() { 557 return upgradeInstanceCallable; 558 } 559 560 @Override 561 public OperationCallable<UpgradeInstanceRequest, Instance, OperationMetadata> upgradeInstanceOperationCallable()562 upgradeInstanceOperationCallable() { 563 return upgradeInstanceOperationCallable; 564 } 565 566 @Override importInstanceCallable()567 public UnaryCallable<ImportInstanceRequest, Operation> importInstanceCallable() { 568 return importInstanceCallable; 569 } 570 571 @Override 572 public OperationCallable<ImportInstanceRequest, Instance, OperationMetadata> importInstanceOperationCallable()573 importInstanceOperationCallable() { 574 return importInstanceOperationCallable; 575 } 576 577 @Override exportInstanceCallable()578 public UnaryCallable<ExportInstanceRequest, Operation> exportInstanceCallable() { 579 return exportInstanceCallable; 580 } 581 582 @Override 583 public OperationCallable<ExportInstanceRequest, Instance, OperationMetadata> exportInstanceOperationCallable()584 exportInstanceOperationCallable() { 585 return exportInstanceOperationCallable; 586 } 587 588 @Override failoverInstanceCallable()589 public UnaryCallable<FailoverInstanceRequest, Operation> failoverInstanceCallable() { 590 return failoverInstanceCallable; 591 } 592 593 @Override 594 public OperationCallable<FailoverInstanceRequest, Instance, OperationMetadata> failoverInstanceOperationCallable()595 failoverInstanceOperationCallable() { 596 return failoverInstanceOperationCallable; 597 } 598 599 @Override deleteInstanceCallable()600 public UnaryCallable<DeleteInstanceRequest, Operation> deleteInstanceCallable() { 601 return deleteInstanceCallable; 602 } 603 604 @Override 605 public OperationCallable<DeleteInstanceRequest, Empty, OperationMetadata> deleteInstanceOperationCallable()606 deleteInstanceOperationCallable() { 607 return deleteInstanceOperationCallable; 608 } 609 610 @Override rescheduleMaintenanceCallable()611 public UnaryCallable<RescheduleMaintenanceRequest, Operation> rescheduleMaintenanceCallable() { 612 return rescheduleMaintenanceCallable; 613 } 614 615 @Override 616 public OperationCallable<RescheduleMaintenanceRequest, Instance, OperationMetadata> rescheduleMaintenanceOperationCallable()617 rescheduleMaintenanceOperationCallable() { 618 return rescheduleMaintenanceOperationCallable; 619 } 620 621 @Override listLocationsCallable()622 public UnaryCallable<ListLocationsRequest, ListLocationsResponse> listLocationsCallable() { 623 return listLocationsCallable; 624 } 625 626 @Override 627 public UnaryCallable<ListLocationsRequest, ListLocationsPagedResponse> listLocationsPagedCallable()628 listLocationsPagedCallable() { 629 return listLocationsPagedCallable; 630 } 631 632 @Override getLocationCallable()633 public UnaryCallable<GetLocationRequest, Location> getLocationCallable() { 634 return getLocationCallable; 635 } 636 637 @Override close()638 public final void close() { 639 try { 640 backgroundResources.close(); 641 } catch (RuntimeException e) { 642 throw e; 643 } catch (Exception e) { 644 throw new IllegalStateException("Failed to close resource", e); 645 } 646 } 647 648 @Override shutdown()649 public void shutdown() { 650 backgroundResources.shutdown(); 651 } 652 653 @Override isShutdown()654 public boolean isShutdown() { 655 return backgroundResources.isShutdown(); 656 } 657 658 @Override isTerminated()659 public boolean isTerminated() { 660 return backgroundResources.isTerminated(); 661 } 662 663 @Override shutdownNow()664 public void shutdownNow() { 665 backgroundResources.shutdownNow(); 666 } 667 668 @Override awaitTermination(long duration, TimeUnit unit)669 public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { 670 return backgroundResources.awaitTermination(duration, unit); 671 } 672 } 673