• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.memcache.v1.stub;
18 
19 import static com.google.cloud.memcache.v1.CloudMemcacheClient.ListInstancesPagedResponse;
20 import static com.google.cloud.memcache.v1.CloudMemcacheClient.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.memcache.v1.ApplyParametersRequest;
34 import com.google.cloud.memcache.v1.CreateInstanceRequest;
35 import com.google.cloud.memcache.v1.DeleteInstanceRequest;
36 import com.google.cloud.memcache.v1.GetInstanceRequest;
37 import com.google.cloud.memcache.v1.Instance;
38 import com.google.cloud.memcache.v1.ListInstancesRequest;
39 import com.google.cloud.memcache.v1.ListInstancesResponse;
40 import com.google.cloud.memcache.v1.OperationMetadata;
41 import com.google.cloud.memcache.v1.RescheduleMaintenanceRequest;
42 import com.google.cloud.memcache.v1.UpdateInstanceRequest;
43 import com.google.cloud.memcache.v1.UpdateParametersRequest;
44 import com.google.common.collect.ImmutableMap;
45 import com.google.longrunning.Operation;
46 import com.google.longrunning.stub.GrpcOperationsStub;
47 import com.google.protobuf.Empty;
48 import io.grpc.MethodDescriptor;
49 import io.grpc.protobuf.ProtoUtils;
50 import java.io.IOException;
51 import java.util.concurrent.TimeUnit;
52 import javax.annotation.Generated;
53 
54 // AUTO-GENERATED DOCUMENTATION AND CLASS.
55 /**
56  * gRPC stub implementation for the CloudMemcache service API.
57  *
58  * <p>This class is for advanced usage and reflects the underlying API directly.
59  */
60 @Generated("by gapic-generator-java")
61 public class GrpcCloudMemcacheStub extends CloudMemcacheStub {
62   private static final MethodDescriptor<ListInstancesRequest, ListInstancesResponse>
63       listInstancesMethodDescriptor =
64           MethodDescriptor.<ListInstancesRequest, ListInstancesResponse>newBuilder()
65               .setType(MethodDescriptor.MethodType.UNARY)
66               .setFullMethodName("google.cloud.memcache.v1.CloudMemcache/ListInstances")
67               .setRequestMarshaller(
68                   ProtoUtils.marshaller(ListInstancesRequest.getDefaultInstance()))
69               .setResponseMarshaller(
70                   ProtoUtils.marshaller(ListInstancesResponse.getDefaultInstance()))
71               .build();
72 
73   private static final MethodDescriptor<GetInstanceRequest, Instance> getInstanceMethodDescriptor =
74       MethodDescriptor.<GetInstanceRequest, Instance>newBuilder()
75           .setType(MethodDescriptor.MethodType.UNARY)
76           .setFullMethodName("google.cloud.memcache.v1.CloudMemcache/GetInstance")
77           .setRequestMarshaller(ProtoUtils.marshaller(GetInstanceRequest.getDefaultInstance()))
78           .setResponseMarshaller(ProtoUtils.marshaller(Instance.getDefaultInstance()))
79           .build();
80 
81   private static final MethodDescriptor<CreateInstanceRequest, Operation>
82       createInstanceMethodDescriptor =
83           MethodDescriptor.<CreateInstanceRequest, Operation>newBuilder()
84               .setType(MethodDescriptor.MethodType.UNARY)
85               .setFullMethodName("google.cloud.memcache.v1.CloudMemcache/CreateInstance")
86               .setRequestMarshaller(
87                   ProtoUtils.marshaller(CreateInstanceRequest.getDefaultInstance()))
88               .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance()))
89               .build();
90 
91   private static final MethodDescriptor<UpdateInstanceRequest, Operation>
92       updateInstanceMethodDescriptor =
93           MethodDescriptor.<UpdateInstanceRequest, Operation>newBuilder()
94               .setType(MethodDescriptor.MethodType.UNARY)
95               .setFullMethodName("google.cloud.memcache.v1.CloudMemcache/UpdateInstance")
96               .setRequestMarshaller(
97                   ProtoUtils.marshaller(UpdateInstanceRequest.getDefaultInstance()))
98               .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance()))
99               .build();
100 
101   private static final MethodDescriptor<UpdateParametersRequest, Operation>
102       updateParametersMethodDescriptor =
103           MethodDescriptor.<UpdateParametersRequest, Operation>newBuilder()
104               .setType(MethodDescriptor.MethodType.UNARY)
105               .setFullMethodName("google.cloud.memcache.v1.CloudMemcache/UpdateParameters")
106               .setRequestMarshaller(
107                   ProtoUtils.marshaller(UpdateParametersRequest.getDefaultInstance()))
108               .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance()))
109               .build();
110 
111   private static final MethodDescriptor<DeleteInstanceRequest, Operation>
112       deleteInstanceMethodDescriptor =
113           MethodDescriptor.<DeleteInstanceRequest, Operation>newBuilder()
114               .setType(MethodDescriptor.MethodType.UNARY)
115               .setFullMethodName("google.cloud.memcache.v1.CloudMemcache/DeleteInstance")
116               .setRequestMarshaller(
117                   ProtoUtils.marshaller(DeleteInstanceRequest.getDefaultInstance()))
118               .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance()))
119               .build();
120 
121   private static final MethodDescriptor<ApplyParametersRequest, Operation>
122       applyParametersMethodDescriptor =
123           MethodDescriptor.<ApplyParametersRequest, Operation>newBuilder()
124               .setType(MethodDescriptor.MethodType.UNARY)
125               .setFullMethodName("google.cloud.memcache.v1.CloudMemcache/ApplyParameters")
126               .setRequestMarshaller(
127                   ProtoUtils.marshaller(ApplyParametersRequest.getDefaultInstance()))
128               .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance()))
129               .build();
130 
131   private static final MethodDescriptor<RescheduleMaintenanceRequest, Operation>
132       rescheduleMaintenanceMethodDescriptor =
133           MethodDescriptor.<RescheduleMaintenanceRequest, Operation>newBuilder()
134               .setType(MethodDescriptor.MethodType.UNARY)
135               .setFullMethodName("google.cloud.memcache.v1.CloudMemcache/RescheduleMaintenance")
136               .setRequestMarshaller(
137                   ProtoUtils.marshaller(RescheduleMaintenanceRequest.getDefaultInstance()))
138               .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance()))
139               .build();
140 
141   private static final MethodDescriptor<ListLocationsRequest, ListLocationsResponse>
142       listLocationsMethodDescriptor =
143           MethodDescriptor.<ListLocationsRequest, ListLocationsResponse>newBuilder()
144               .setType(MethodDescriptor.MethodType.UNARY)
145               .setFullMethodName("google.cloud.location.Locations/ListLocations")
146               .setRequestMarshaller(
147                   ProtoUtils.marshaller(ListLocationsRequest.getDefaultInstance()))
148               .setResponseMarshaller(
149                   ProtoUtils.marshaller(ListLocationsResponse.getDefaultInstance()))
150               .build();
151 
152   private static final MethodDescriptor<GetLocationRequest, Location> getLocationMethodDescriptor =
153       MethodDescriptor.<GetLocationRequest, Location>newBuilder()
154           .setType(MethodDescriptor.MethodType.UNARY)
155           .setFullMethodName("google.cloud.location.Locations/GetLocation")
156           .setRequestMarshaller(ProtoUtils.marshaller(GetLocationRequest.getDefaultInstance()))
157           .setResponseMarshaller(ProtoUtils.marshaller(Location.getDefaultInstance()))
158           .build();
159 
160   private final UnaryCallable<ListInstancesRequest, ListInstancesResponse> listInstancesCallable;
161   private final UnaryCallable<ListInstancesRequest, ListInstancesPagedResponse>
162       listInstancesPagedCallable;
163   private final UnaryCallable<GetInstanceRequest, Instance> getInstanceCallable;
164   private final UnaryCallable<CreateInstanceRequest, Operation> createInstanceCallable;
165   private final OperationCallable<CreateInstanceRequest, Instance, OperationMetadata>
166       createInstanceOperationCallable;
167   private final UnaryCallable<UpdateInstanceRequest, Operation> updateInstanceCallable;
168   private final OperationCallable<UpdateInstanceRequest, Instance, OperationMetadata>
169       updateInstanceOperationCallable;
170   private final UnaryCallable<UpdateParametersRequest, Operation> updateParametersCallable;
171   private final OperationCallable<UpdateParametersRequest, Instance, OperationMetadata>
172       updateParametersOperationCallable;
173   private final UnaryCallable<DeleteInstanceRequest, Operation> deleteInstanceCallable;
174   private final OperationCallable<DeleteInstanceRequest, Empty, OperationMetadata>
175       deleteInstanceOperationCallable;
176   private final UnaryCallable<ApplyParametersRequest, Operation> applyParametersCallable;
177   private final OperationCallable<ApplyParametersRequest, Instance, OperationMetadata>
178       applyParametersOperationCallable;
179   private final UnaryCallable<RescheduleMaintenanceRequest, Operation>
180       rescheduleMaintenanceCallable;
181   private final OperationCallable<RescheduleMaintenanceRequest, Instance, OperationMetadata>
182       rescheduleMaintenanceOperationCallable;
183   private final UnaryCallable<ListLocationsRequest, ListLocationsResponse> listLocationsCallable;
184   private final UnaryCallable<ListLocationsRequest, ListLocationsPagedResponse>
185       listLocationsPagedCallable;
186   private final UnaryCallable<GetLocationRequest, Location> getLocationCallable;
187 
188   private final BackgroundResource backgroundResources;
189   private final GrpcOperationsStub operationsStub;
190   private final GrpcStubCallableFactory callableFactory;
191 
create(CloudMemcacheStubSettings settings)192   public static final GrpcCloudMemcacheStub create(CloudMemcacheStubSettings settings)
193       throws IOException {
194     return new GrpcCloudMemcacheStub(settings, ClientContext.create(settings));
195   }
196 
create(ClientContext clientContext)197   public static final GrpcCloudMemcacheStub create(ClientContext clientContext) throws IOException {
198     return new GrpcCloudMemcacheStub(CloudMemcacheStubSettings.newBuilder().build(), clientContext);
199   }
200 
create( ClientContext clientContext, GrpcStubCallableFactory callableFactory)201   public static final GrpcCloudMemcacheStub create(
202       ClientContext clientContext, GrpcStubCallableFactory callableFactory) throws IOException {
203     return new GrpcCloudMemcacheStub(
204         CloudMemcacheStubSettings.newBuilder().build(), clientContext, callableFactory);
205   }
206 
207   /**
208    * Constructs an instance of GrpcCloudMemcacheStub, using the given settings. This is protected so
209    * that it is easy to make a subclass, but otherwise, the static factory methods should be
210    * preferred.
211    */
GrpcCloudMemcacheStub(CloudMemcacheStubSettings settings, ClientContext clientContext)212   protected GrpcCloudMemcacheStub(CloudMemcacheStubSettings settings, ClientContext clientContext)
213       throws IOException {
214     this(settings, clientContext, new GrpcCloudMemcacheCallableFactory());
215   }
216 
217   /**
218    * Constructs an instance of GrpcCloudMemcacheStub, using the given settings. This is protected so
219    * that it is easy to make a subclass, but otherwise, the static factory methods should be
220    * preferred.
221    */
GrpcCloudMemcacheStub( CloudMemcacheStubSettings settings, ClientContext clientContext, GrpcStubCallableFactory callableFactory)222   protected GrpcCloudMemcacheStub(
223       CloudMemcacheStubSettings settings,
224       ClientContext clientContext,
225       GrpcStubCallableFactory callableFactory)
226       throws IOException {
227     this.callableFactory = callableFactory;
228     this.operationsStub = GrpcOperationsStub.create(clientContext, callableFactory);
229 
230     GrpcCallSettings<ListInstancesRequest, ListInstancesResponse> listInstancesTransportSettings =
231         GrpcCallSettings.<ListInstancesRequest, ListInstancesResponse>newBuilder()
232             .setMethodDescriptor(listInstancesMethodDescriptor)
233             .setParamsExtractor(
234                 request -> {
235                   ImmutableMap.Builder<String, String> params = ImmutableMap.builder();
236                   params.put("parent", String.valueOf(request.getParent()));
237                   return params.build();
238                 })
239             .build();
240     GrpcCallSettings<GetInstanceRequest, Instance> getInstanceTransportSettings =
241         GrpcCallSettings.<GetInstanceRequest, Instance>newBuilder()
242             .setMethodDescriptor(getInstanceMethodDescriptor)
243             .setParamsExtractor(
244                 request -> {
245                   ImmutableMap.Builder<String, String> params = ImmutableMap.builder();
246                   params.put("name", String.valueOf(request.getName()));
247                   return params.build();
248                 })
249             .build();
250     GrpcCallSettings<CreateInstanceRequest, Operation> createInstanceTransportSettings =
251         GrpcCallSettings.<CreateInstanceRequest, Operation>newBuilder()
252             .setMethodDescriptor(createInstanceMethodDescriptor)
253             .setParamsExtractor(
254                 request -> {
255                   ImmutableMap.Builder<String, String> params = ImmutableMap.builder();
256                   params.put("parent", String.valueOf(request.getParent()));
257                   return params.build();
258                 })
259             .build();
260     GrpcCallSettings<UpdateInstanceRequest, Operation> updateInstanceTransportSettings =
261         GrpcCallSettings.<UpdateInstanceRequest, Operation>newBuilder()
262             .setMethodDescriptor(updateInstanceMethodDescriptor)
263             .setParamsExtractor(
264                 request -> {
265                   ImmutableMap.Builder<String, String> params = ImmutableMap.builder();
266                   params.put("instance.name", String.valueOf(request.getInstance().getName()));
267                   return params.build();
268                 })
269             .build();
270     GrpcCallSettings<UpdateParametersRequest, Operation> updateParametersTransportSettings =
271         GrpcCallSettings.<UpdateParametersRequest, Operation>newBuilder()
272             .setMethodDescriptor(updateParametersMethodDescriptor)
273             .setParamsExtractor(
274                 request -> {
275                   ImmutableMap.Builder<String, String> params = ImmutableMap.builder();
276                   params.put("name", String.valueOf(request.getName()));
277                   return params.build();
278                 })
279             .build();
280     GrpcCallSettings<DeleteInstanceRequest, Operation> deleteInstanceTransportSettings =
281         GrpcCallSettings.<DeleteInstanceRequest, Operation>newBuilder()
282             .setMethodDescriptor(deleteInstanceMethodDescriptor)
283             .setParamsExtractor(
284                 request -> {
285                   ImmutableMap.Builder<String, String> params = ImmutableMap.builder();
286                   params.put("name", String.valueOf(request.getName()));
287                   return params.build();
288                 })
289             .build();
290     GrpcCallSettings<ApplyParametersRequest, Operation> applyParametersTransportSettings =
291         GrpcCallSettings.<ApplyParametersRequest, Operation>newBuilder()
292             .setMethodDescriptor(applyParametersMethodDescriptor)
293             .setParamsExtractor(
294                 request -> {
295                   ImmutableMap.Builder<String, String> params = ImmutableMap.builder();
296                   params.put("name", String.valueOf(request.getName()));
297                   return params.build();
298                 })
299             .build();
300     GrpcCallSettings<RescheduleMaintenanceRequest, Operation>
301         rescheduleMaintenanceTransportSettings =
302             GrpcCallSettings.<RescheduleMaintenanceRequest, Operation>newBuilder()
303                 .setMethodDescriptor(rescheduleMaintenanceMethodDescriptor)
304                 .setParamsExtractor(
305                     request -> {
306                       ImmutableMap.Builder<String, String> params = ImmutableMap.builder();
307                       params.put("instance", String.valueOf(request.getInstance()));
308                       return params.build();
309                     })
310                 .build();
311     GrpcCallSettings<ListLocationsRequest, ListLocationsResponse> listLocationsTransportSettings =
312         GrpcCallSettings.<ListLocationsRequest, ListLocationsResponse>newBuilder()
313             .setMethodDescriptor(listLocationsMethodDescriptor)
314             .setParamsExtractor(
315                 request -> {
316                   ImmutableMap.Builder<String, String> params = ImmutableMap.builder();
317                   params.put("name", String.valueOf(request.getName()));
318                   return params.build();
319                 })
320             .build();
321     GrpcCallSettings<GetLocationRequest, Location> getLocationTransportSettings =
322         GrpcCallSettings.<GetLocationRequest, Location>newBuilder()
323             .setMethodDescriptor(getLocationMethodDescriptor)
324             .setParamsExtractor(
325                 request -> {
326                   ImmutableMap.Builder<String, String> params = ImmutableMap.builder();
327                   params.put("name", String.valueOf(request.getName()));
328                   return params.build();
329                 })
330             .build();
331 
332     this.listInstancesCallable =
333         callableFactory.createUnaryCallable(
334             listInstancesTransportSettings, settings.listInstancesSettings(), clientContext);
335     this.listInstancesPagedCallable =
336         callableFactory.createPagedCallable(
337             listInstancesTransportSettings, settings.listInstancesSettings(), clientContext);
338     this.getInstanceCallable =
339         callableFactory.createUnaryCallable(
340             getInstanceTransportSettings, settings.getInstanceSettings(), clientContext);
341     this.createInstanceCallable =
342         callableFactory.createUnaryCallable(
343             createInstanceTransportSettings, settings.createInstanceSettings(), clientContext);
344     this.createInstanceOperationCallable =
345         callableFactory.createOperationCallable(
346             createInstanceTransportSettings,
347             settings.createInstanceOperationSettings(),
348             clientContext,
349             operationsStub);
350     this.updateInstanceCallable =
351         callableFactory.createUnaryCallable(
352             updateInstanceTransportSettings, settings.updateInstanceSettings(), clientContext);
353     this.updateInstanceOperationCallable =
354         callableFactory.createOperationCallable(
355             updateInstanceTransportSettings,
356             settings.updateInstanceOperationSettings(),
357             clientContext,
358             operationsStub);
359     this.updateParametersCallable =
360         callableFactory.createUnaryCallable(
361             updateParametersTransportSettings, settings.updateParametersSettings(), clientContext);
362     this.updateParametersOperationCallable =
363         callableFactory.createOperationCallable(
364             updateParametersTransportSettings,
365             settings.updateParametersOperationSettings(),
366             clientContext,
367             operationsStub);
368     this.deleteInstanceCallable =
369         callableFactory.createUnaryCallable(
370             deleteInstanceTransportSettings, settings.deleteInstanceSettings(), clientContext);
371     this.deleteInstanceOperationCallable =
372         callableFactory.createOperationCallable(
373             deleteInstanceTransportSettings,
374             settings.deleteInstanceOperationSettings(),
375             clientContext,
376             operationsStub);
377     this.applyParametersCallable =
378         callableFactory.createUnaryCallable(
379             applyParametersTransportSettings, settings.applyParametersSettings(), clientContext);
380     this.applyParametersOperationCallable =
381         callableFactory.createOperationCallable(
382             applyParametersTransportSettings,
383             settings.applyParametersOperationSettings(),
384             clientContext,
385             operationsStub);
386     this.rescheduleMaintenanceCallable =
387         callableFactory.createUnaryCallable(
388             rescheduleMaintenanceTransportSettings,
389             settings.rescheduleMaintenanceSettings(),
390             clientContext);
391     this.rescheduleMaintenanceOperationCallable =
392         callableFactory.createOperationCallable(
393             rescheduleMaintenanceTransportSettings,
394             settings.rescheduleMaintenanceOperationSettings(),
395             clientContext,
396             operationsStub);
397     this.listLocationsCallable =
398         callableFactory.createUnaryCallable(
399             listLocationsTransportSettings, settings.listLocationsSettings(), clientContext);
400     this.listLocationsPagedCallable =
401         callableFactory.createPagedCallable(
402             listLocationsTransportSettings, settings.listLocationsSettings(), clientContext);
403     this.getLocationCallable =
404         callableFactory.createUnaryCallable(
405             getLocationTransportSettings, settings.getLocationSettings(), clientContext);
406 
407     this.backgroundResources =
408         new BackgroundResourceAggregation(clientContext.getBackgroundResources());
409   }
410 
getOperationsStub()411   public GrpcOperationsStub getOperationsStub() {
412     return operationsStub;
413   }
414 
415   @Override
listInstancesCallable()416   public UnaryCallable<ListInstancesRequest, ListInstancesResponse> listInstancesCallable() {
417     return listInstancesCallable;
418   }
419 
420   @Override
421   public UnaryCallable<ListInstancesRequest, ListInstancesPagedResponse>
listInstancesPagedCallable()422       listInstancesPagedCallable() {
423     return listInstancesPagedCallable;
424   }
425 
426   @Override
getInstanceCallable()427   public UnaryCallable<GetInstanceRequest, Instance> getInstanceCallable() {
428     return getInstanceCallable;
429   }
430 
431   @Override
createInstanceCallable()432   public UnaryCallable<CreateInstanceRequest, Operation> createInstanceCallable() {
433     return createInstanceCallable;
434   }
435 
436   @Override
437   public OperationCallable<CreateInstanceRequest, Instance, OperationMetadata>
createInstanceOperationCallable()438       createInstanceOperationCallable() {
439     return createInstanceOperationCallable;
440   }
441 
442   @Override
updateInstanceCallable()443   public UnaryCallable<UpdateInstanceRequest, Operation> updateInstanceCallable() {
444     return updateInstanceCallable;
445   }
446 
447   @Override
448   public OperationCallable<UpdateInstanceRequest, Instance, OperationMetadata>
updateInstanceOperationCallable()449       updateInstanceOperationCallable() {
450     return updateInstanceOperationCallable;
451   }
452 
453   @Override
updateParametersCallable()454   public UnaryCallable<UpdateParametersRequest, Operation> updateParametersCallable() {
455     return updateParametersCallable;
456   }
457 
458   @Override
459   public OperationCallable<UpdateParametersRequest, Instance, OperationMetadata>
updateParametersOperationCallable()460       updateParametersOperationCallable() {
461     return updateParametersOperationCallable;
462   }
463 
464   @Override
deleteInstanceCallable()465   public UnaryCallable<DeleteInstanceRequest, Operation> deleteInstanceCallable() {
466     return deleteInstanceCallable;
467   }
468 
469   @Override
470   public OperationCallable<DeleteInstanceRequest, Empty, OperationMetadata>
deleteInstanceOperationCallable()471       deleteInstanceOperationCallable() {
472     return deleteInstanceOperationCallable;
473   }
474 
475   @Override
applyParametersCallable()476   public UnaryCallable<ApplyParametersRequest, Operation> applyParametersCallable() {
477     return applyParametersCallable;
478   }
479 
480   @Override
481   public OperationCallable<ApplyParametersRequest, Instance, OperationMetadata>
applyParametersOperationCallable()482       applyParametersOperationCallable() {
483     return applyParametersOperationCallable;
484   }
485 
486   @Override
rescheduleMaintenanceCallable()487   public UnaryCallable<RescheduleMaintenanceRequest, Operation> rescheduleMaintenanceCallable() {
488     return rescheduleMaintenanceCallable;
489   }
490 
491   @Override
492   public OperationCallable<RescheduleMaintenanceRequest, Instance, OperationMetadata>
rescheduleMaintenanceOperationCallable()493       rescheduleMaintenanceOperationCallable() {
494     return rescheduleMaintenanceOperationCallable;
495   }
496 
497   @Override
listLocationsCallable()498   public UnaryCallable<ListLocationsRequest, ListLocationsResponse> listLocationsCallable() {
499     return listLocationsCallable;
500   }
501 
502   @Override
503   public UnaryCallable<ListLocationsRequest, ListLocationsPagedResponse>
listLocationsPagedCallable()504       listLocationsPagedCallable() {
505     return listLocationsPagedCallable;
506   }
507 
508   @Override
getLocationCallable()509   public UnaryCallable<GetLocationRequest, Location> getLocationCallable() {
510     return getLocationCallable;
511   }
512 
513   @Override
close()514   public final void close() {
515     try {
516       backgroundResources.close();
517     } catch (RuntimeException e) {
518       throw e;
519     } catch (Exception e) {
520       throw new IllegalStateException("Failed to close resource", e);
521     }
522   }
523 
524   @Override
shutdown()525   public void shutdown() {
526     backgroundResources.shutdown();
527   }
528 
529   @Override
isShutdown()530   public boolean isShutdown() {
531     return backgroundResources.isShutdown();
532   }
533 
534   @Override
isTerminated()535   public boolean isTerminated() {
536     return backgroundResources.isTerminated();
537   }
538 
539   @Override
shutdownNow()540   public void shutdownNow() {
541     backgroundResources.shutdownNow();
542   }
543 
544   @Override
awaitTermination(long duration, TimeUnit unit)545   public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException {
546     return backgroundResources.awaitTermination(duration, unit);
547   }
548 }
549