• 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.compute.v1.stub;
18 
19 import static com.google.cloud.compute.v1.TargetPoolsClient.AggregatedListPagedResponse;
20 import static com.google.cloud.compute.v1.TargetPoolsClient.ListPagedResponse;
21 
22 import com.google.api.core.ApiFunction;
23 import com.google.api.core.ApiFuture;
24 import com.google.api.core.BetaApi;
25 import com.google.api.gax.core.GaxProperties;
26 import com.google.api.gax.core.GoogleCredentialsProvider;
27 import com.google.api.gax.core.InstantiatingExecutorProvider;
28 import com.google.api.gax.httpjson.GaxHttpJsonProperties;
29 import com.google.api.gax.httpjson.HttpJsonTransportChannel;
30 import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
31 import com.google.api.gax.httpjson.ProtoOperationTransformers;
32 import com.google.api.gax.longrunning.OperationSnapshot;
33 import com.google.api.gax.longrunning.OperationTimedPollAlgorithm;
34 import com.google.api.gax.retrying.RetrySettings;
35 import com.google.api.gax.rpc.ApiCallContext;
36 import com.google.api.gax.rpc.ApiClientHeaderProvider;
37 import com.google.api.gax.rpc.ClientContext;
38 import com.google.api.gax.rpc.OperationCallSettings;
39 import com.google.api.gax.rpc.PageContext;
40 import com.google.api.gax.rpc.PagedCallSettings;
41 import com.google.api.gax.rpc.PagedListDescriptor;
42 import com.google.api.gax.rpc.PagedListResponseFactory;
43 import com.google.api.gax.rpc.StatusCode;
44 import com.google.api.gax.rpc.StubSettings;
45 import com.google.api.gax.rpc.TransportChannelProvider;
46 import com.google.api.gax.rpc.UnaryCallSettings;
47 import com.google.api.gax.rpc.UnaryCallable;
48 import com.google.cloud.compute.v1.AddHealthCheckTargetPoolRequest;
49 import com.google.cloud.compute.v1.AddInstanceTargetPoolRequest;
50 import com.google.cloud.compute.v1.AggregatedListTargetPoolsRequest;
51 import com.google.cloud.compute.v1.DeleteTargetPoolRequest;
52 import com.google.cloud.compute.v1.GetHealthTargetPoolRequest;
53 import com.google.cloud.compute.v1.GetTargetPoolRequest;
54 import com.google.cloud.compute.v1.InsertTargetPoolRequest;
55 import com.google.cloud.compute.v1.ListTargetPoolsRequest;
56 import com.google.cloud.compute.v1.Operation;
57 import com.google.cloud.compute.v1.RemoveHealthCheckTargetPoolRequest;
58 import com.google.cloud.compute.v1.RemoveInstanceTargetPoolRequest;
59 import com.google.cloud.compute.v1.SetBackupTargetPoolRequest;
60 import com.google.cloud.compute.v1.TargetPool;
61 import com.google.cloud.compute.v1.TargetPoolAggregatedList;
62 import com.google.cloud.compute.v1.TargetPoolInstanceHealth;
63 import com.google.cloud.compute.v1.TargetPoolList;
64 import com.google.cloud.compute.v1.TargetPoolsScopedList;
65 import com.google.common.collect.ImmutableList;
66 import com.google.common.collect.ImmutableMap;
67 import com.google.common.collect.ImmutableSet;
68 import com.google.common.collect.Lists;
69 import java.io.IOException;
70 import java.util.Collections;
71 import java.util.List;
72 import java.util.Map;
73 import javax.annotation.Generated;
74 import org.threeten.bp.Duration;
75 
76 // AUTO-GENERATED DOCUMENTATION AND CLASS.
77 /**
78  * Settings class to configure an instance of {@link TargetPoolsStub}.
79  *
80  * <p>The default instance has everything set to sensible defaults:
81  *
82  * <ul>
83  *   <li>The default service address (compute.googleapis.com) and default port (443) are used.
84  *   <li>Credentials are acquired automatically through Application Default Credentials.
85  *   <li>Retries are configured for idempotent methods but not for non-idempotent methods.
86  * </ul>
87  *
88  * <p>The builder of this class is recursive, so contained classes are themselves builders. When
89  * build() is called, the tree of builders is called to create the complete settings object.
90  *
91  * <p>For example, to set the total timeout of get to 30 seconds:
92  *
93  * <pre>{@code
94  * // This snippet has been automatically generated and should be regarded as a code template only.
95  * // It will require modifications to work:
96  * // - It may require correct/in-range values for request initialization.
97  * // - It may require specifying regional endpoints when creating the service client as shown in
98  * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
99  * TargetPoolsStubSettings.Builder targetPoolsSettingsBuilder =
100  *     TargetPoolsStubSettings.newBuilder();
101  * targetPoolsSettingsBuilder
102  *     .getSettings()
103  *     .setRetrySettings(
104  *         targetPoolsSettingsBuilder
105  *             .getSettings()
106  *             .getRetrySettings()
107  *             .toBuilder()
108  *             .setTotalTimeout(Duration.ofSeconds(30))
109  *             .build());
110  * TargetPoolsStubSettings targetPoolsSettings = targetPoolsSettingsBuilder.build();
111  * }</pre>
112  */
113 @Generated("by gapic-generator-java")
114 public class TargetPoolsStubSettings extends StubSettings<TargetPoolsStubSettings> {
115   /** The default scopes of the service. */
116   private static final ImmutableList<String> DEFAULT_SERVICE_SCOPES =
117       ImmutableList.<String>builder()
118           .add("https://www.googleapis.com/auth/compute")
119           .add("https://www.googleapis.com/auth/cloud-platform")
120           .build();
121 
122   private final UnaryCallSettings<AddHealthCheckTargetPoolRequest, Operation>
123       addHealthCheckSettings;
124   private final OperationCallSettings<AddHealthCheckTargetPoolRequest, Operation, Operation>
125       addHealthCheckOperationSettings;
126   private final UnaryCallSettings<AddInstanceTargetPoolRequest, Operation> addInstanceSettings;
127   private final OperationCallSettings<AddInstanceTargetPoolRequest, Operation, Operation>
128       addInstanceOperationSettings;
129   private final PagedCallSettings<
130           AggregatedListTargetPoolsRequest, TargetPoolAggregatedList, AggregatedListPagedResponse>
131       aggregatedListSettings;
132   private final UnaryCallSettings<DeleteTargetPoolRequest, Operation> deleteSettings;
133   private final OperationCallSettings<DeleteTargetPoolRequest, Operation, Operation>
134       deleteOperationSettings;
135   private final UnaryCallSettings<GetTargetPoolRequest, TargetPool> getSettings;
136   private final UnaryCallSettings<GetHealthTargetPoolRequest, TargetPoolInstanceHealth>
137       getHealthSettings;
138   private final UnaryCallSettings<InsertTargetPoolRequest, Operation> insertSettings;
139   private final OperationCallSettings<InsertTargetPoolRequest, Operation, Operation>
140       insertOperationSettings;
141   private final PagedCallSettings<ListTargetPoolsRequest, TargetPoolList, ListPagedResponse>
142       listSettings;
143   private final UnaryCallSettings<RemoveHealthCheckTargetPoolRequest, Operation>
144       removeHealthCheckSettings;
145   private final OperationCallSettings<RemoveHealthCheckTargetPoolRequest, Operation, Operation>
146       removeHealthCheckOperationSettings;
147   private final UnaryCallSettings<RemoveInstanceTargetPoolRequest, Operation>
148       removeInstanceSettings;
149   private final OperationCallSettings<RemoveInstanceTargetPoolRequest, Operation, Operation>
150       removeInstanceOperationSettings;
151   private final UnaryCallSettings<SetBackupTargetPoolRequest, Operation> setBackupSettings;
152   private final OperationCallSettings<SetBackupTargetPoolRequest, Operation, Operation>
153       setBackupOperationSettings;
154 
155   private static final PagedListDescriptor<
156           AggregatedListTargetPoolsRequest,
157           TargetPoolAggregatedList,
158           Map.Entry<String, TargetPoolsScopedList>>
159       AGGREGATED_LIST_PAGE_STR_DESC =
160           new PagedListDescriptor<
161               AggregatedListTargetPoolsRequest,
162               TargetPoolAggregatedList,
163               Map.Entry<String, TargetPoolsScopedList>>() {
164             @Override
165             public String emptyToken() {
166               return "";
167             }
168 
169             @Override
170             public AggregatedListTargetPoolsRequest injectToken(
171                 AggregatedListTargetPoolsRequest payload, String token) {
172               return AggregatedListTargetPoolsRequest.newBuilder(payload)
173                   .setPageToken(token)
174                   .build();
175             }
176 
177             @Override
178             public AggregatedListTargetPoolsRequest injectPageSize(
179                 AggregatedListTargetPoolsRequest payload, int pageSize) {
180               return AggregatedListTargetPoolsRequest.newBuilder(payload)
181                   .setMaxResults(pageSize)
182                   .build();
183             }
184 
185             @Override
186             public Integer extractPageSize(AggregatedListTargetPoolsRequest payload) {
187               return payload.getMaxResults();
188             }
189 
190             @Override
191             public String extractNextToken(TargetPoolAggregatedList payload) {
192               return payload.getNextPageToken();
193             }
194 
195             @Override
196             public Iterable<Map.Entry<String, TargetPoolsScopedList>> extractResources(
197                 TargetPoolAggregatedList payload) {
198               return payload.getItemsMap() == null
199                   ? Collections.<Map.Entry<String, TargetPoolsScopedList>>emptySet()
200                   : payload.getItemsMap().entrySet();
201             }
202           };
203 
204   private static final PagedListDescriptor<ListTargetPoolsRequest, TargetPoolList, TargetPool>
205       LIST_PAGE_STR_DESC =
206           new PagedListDescriptor<ListTargetPoolsRequest, TargetPoolList, TargetPool>() {
207             @Override
208             public String emptyToken() {
209               return "";
210             }
211 
212             @Override
213             public ListTargetPoolsRequest injectToken(
214                 ListTargetPoolsRequest payload, String token) {
215               return ListTargetPoolsRequest.newBuilder(payload).setPageToken(token).build();
216             }
217 
218             @Override
219             public ListTargetPoolsRequest injectPageSize(
220                 ListTargetPoolsRequest payload, int pageSize) {
221               return ListTargetPoolsRequest.newBuilder(payload).setMaxResults(pageSize).build();
222             }
223 
224             @Override
225             public Integer extractPageSize(ListTargetPoolsRequest payload) {
226               return payload.getMaxResults();
227             }
228 
229             @Override
230             public String extractNextToken(TargetPoolList payload) {
231               return payload.getNextPageToken();
232             }
233 
234             @Override
235             public Iterable<TargetPool> extractResources(TargetPoolList payload) {
236               return payload.getItemsList() == null
237                   ? ImmutableList.<TargetPool>of()
238                   : payload.getItemsList();
239             }
240           };
241 
242   private static final PagedListResponseFactory<
243           AggregatedListTargetPoolsRequest, TargetPoolAggregatedList, AggregatedListPagedResponse>
244       AGGREGATED_LIST_PAGE_STR_FACT =
245           new PagedListResponseFactory<
246               AggregatedListTargetPoolsRequest,
247               TargetPoolAggregatedList,
248               AggregatedListPagedResponse>() {
249             @Override
250             public ApiFuture<AggregatedListPagedResponse> getFuturePagedResponse(
251                 UnaryCallable<AggregatedListTargetPoolsRequest, TargetPoolAggregatedList> callable,
252                 AggregatedListTargetPoolsRequest request,
253                 ApiCallContext context,
254                 ApiFuture<TargetPoolAggregatedList> futureResponse) {
255               PageContext<
256                       AggregatedListTargetPoolsRequest,
257                       TargetPoolAggregatedList,
258                       Map.Entry<String, TargetPoolsScopedList>>
259                   pageContext =
260                       PageContext.create(callable, AGGREGATED_LIST_PAGE_STR_DESC, request, context);
261               return AggregatedListPagedResponse.createAsync(pageContext, futureResponse);
262             }
263           };
264 
265   private static final PagedListResponseFactory<
266           ListTargetPoolsRequest, TargetPoolList, ListPagedResponse>
267       LIST_PAGE_STR_FACT =
268           new PagedListResponseFactory<
269               ListTargetPoolsRequest, TargetPoolList, ListPagedResponse>() {
270             @Override
271             public ApiFuture<ListPagedResponse> getFuturePagedResponse(
272                 UnaryCallable<ListTargetPoolsRequest, TargetPoolList> callable,
273                 ListTargetPoolsRequest request,
274                 ApiCallContext context,
275                 ApiFuture<TargetPoolList> futureResponse) {
276               PageContext<ListTargetPoolsRequest, TargetPoolList, TargetPool> pageContext =
277                   PageContext.create(callable, LIST_PAGE_STR_DESC, request, context);
278               return ListPagedResponse.createAsync(pageContext, futureResponse);
279             }
280           };
281 
282   /** Returns the object with the settings used for calls to addHealthCheck. */
addHealthCheckSettings()283   public UnaryCallSettings<AddHealthCheckTargetPoolRequest, Operation> addHealthCheckSettings() {
284     return addHealthCheckSettings;
285   }
286 
287   /** Returns the object with the settings used for calls to addHealthCheck. */
288   public OperationCallSettings<AddHealthCheckTargetPoolRequest, Operation, Operation>
addHealthCheckOperationSettings()289       addHealthCheckOperationSettings() {
290     return addHealthCheckOperationSettings;
291   }
292 
293   /** Returns the object with the settings used for calls to addInstance. */
addInstanceSettings()294   public UnaryCallSettings<AddInstanceTargetPoolRequest, Operation> addInstanceSettings() {
295     return addInstanceSettings;
296   }
297 
298   /** Returns the object with the settings used for calls to addInstance. */
299   public OperationCallSettings<AddInstanceTargetPoolRequest, Operation, Operation>
addInstanceOperationSettings()300       addInstanceOperationSettings() {
301     return addInstanceOperationSettings;
302   }
303 
304   /** Returns the object with the settings used for calls to aggregatedList. */
305   public PagedCallSettings<
306           AggregatedListTargetPoolsRequest, TargetPoolAggregatedList, AggregatedListPagedResponse>
aggregatedListSettings()307       aggregatedListSettings() {
308     return aggregatedListSettings;
309   }
310 
311   /** Returns the object with the settings used for calls to delete. */
deleteSettings()312   public UnaryCallSettings<DeleteTargetPoolRequest, Operation> deleteSettings() {
313     return deleteSettings;
314   }
315 
316   /** Returns the object with the settings used for calls to delete. */
317   public OperationCallSettings<DeleteTargetPoolRequest, Operation, Operation>
deleteOperationSettings()318       deleteOperationSettings() {
319     return deleteOperationSettings;
320   }
321 
322   /** Returns the object with the settings used for calls to get. */
getSettings()323   public UnaryCallSettings<GetTargetPoolRequest, TargetPool> getSettings() {
324     return getSettings;
325   }
326 
327   /** Returns the object with the settings used for calls to getHealth. */
328   public UnaryCallSettings<GetHealthTargetPoolRequest, TargetPoolInstanceHealth>
getHealthSettings()329       getHealthSettings() {
330     return getHealthSettings;
331   }
332 
333   /** Returns the object with the settings used for calls to insert. */
insertSettings()334   public UnaryCallSettings<InsertTargetPoolRequest, Operation> insertSettings() {
335     return insertSettings;
336   }
337 
338   /** Returns the object with the settings used for calls to insert. */
339   public OperationCallSettings<InsertTargetPoolRequest, Operation, Operation>
insertOperationSettings()340       insertOperationSettings() {
341     return insertOperationSettings;
342   }
343 
344   /** Returns the object with the settings used for calls to list. */
345   public PagedCallSettings<ListTargetPoolsRequest, TargetPoolList, ListPagedResponse>
listSettings()346       listSettings() {
347     return listSettings;
348   }
349 
350   /** Returns the object with the settings used for calls to removeHealthCheck. */
351   public UnaryCallSettings<RemoveHealthCheckTargetPoolRequest, Operation>
removeHealthCheckSettings()352       removeHealthCheckSettings() {
353     return removeHealthCheckSettings;
354   }
355 
356   /** Returns the object with the settings used for calls to removeHealthCheck. */
357   public OperationCallSettings<RemoveHealthCheckTargetPoolRequest, Operation, Operation>
removeHealthCheckOperationSettings()358       removeHealthCheckOperationSettings() {
359     return removeHealthCheckOperationSettings;
360   }
361 
362   /** Returns the object with the settings used for calls to removeInstance. */
removeInstanceSettings()363   public UnaryCallSettings<RemoveInstanceTargetPoolRequest, Operation> removeInstanceSettings() {
364     return removeInstanceSettings;
365   }
366 
367   /** Returns the object with the settings used for calls to removeInstance. */
368   public OperationCallSettings<RemoveInstanceTargetPoolRequest, Operation, Operation>
removeInstanceOperationSettings()369       removeInstanceOperationSettings() {
370     return removeInstanceOperationSettings;
371   }
372 
373   /** Returns the object with the settings used for calls to setBackup. */
setBackupSettings()374   public UnaryCallSettings<SetBackupTargetPoolRequest, Operation> setBackupSettings() {
375     return setBackupSettings;
376   }
377 
378   /** Returns the object with the settings used for calls to setBackup. */
379   public OperationCallSettings<SetBackupTargetPoolRequest, Operation, Operation>
setBackupOperationSettings()380       setBackupOperationSettings() {
381     return setBackupOperationSettings;
382   }
383 
createStub()384   public TargetPoolsStub createStub() throws IOException {
385     if (getTransportChannelProvider()
386         .getTransportName()
387         .equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
388       return HttpJsonTargetPoolsStub.create(this);
389     }
390     throw new UnsupportedOperationException(
391         String.format(
392             "Transport not supported: %s", getTransportChannelProvider().getTransportName()));
393   }
394 
395   /** Returns a builder for the default ExecutorProvider for this service. */
defaultExecutorProviderBuilder()396   public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() {
397     return InstantiatingExecutorProvider.newBuilder();
398   }
399 
400   /** Returns the default service endpoint. */
getDefaultEndpoint()401   public static String getDefaultEndpoint() {
402     return "compute.googleapis.com:443";
403   }
404 
405   /** Returns the default mTLS service endpoint. */
getDefaultMtlsEndpoint()406   public static String getDefaultMtlsEndpoint() {
407     return "compute.mtls.googleapis.com:443";
408   }
409 
410   /** Returns the default service scopes. */
getDefaultServiceScopes()411   public static List<String> getDefaultServiceScopes() {
412     return DEFAULT_SERVICE_SCOPES;
413   }
414 
415   /** Returns a builder for the default credentials for this service. */
defaultCredentialsProviderBuilder()416   public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() {
417     return GoogleCredentialsProvider.newBuilder()
418         .setScopesToApply(DEFAULT_SERVICE_SCOPES)
419         .setUseJwtAccessWithScope(true);
420   }
421 
422   /** Returns a builder for the default ChannelProvider for this service. */
423   public static InstantiatingHttpJsonChannelProvider.Builder
defaultHttpJsonTransportProviderBuilder()424       defaultHttpJsonTransportProviderBuilder() {
425     return InstantiatingHttpJsonChannelProvider.newBuilder();
426   }
427 
defaultTransportChannelProvider()428   public static TransportChannelProvider defaultTransportChannelProvider() {
429     return defaultHttpJsonTransportProviderBuilder().build();
430   }
431 
432   @BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
defaultApiClientHeaderProviderBuilder()433   public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
434     return ApiClientHeaderProvider.newBuilder()
435         .setGeneratedLibToken(
436             "gapic", GaxProperties.getLibraryVersion(TargetPoolsStubSettings.class))
437         .setTransportToken(
438             GaxHttpJsonProperties.getHttpJsonTokenName(),
439             GaxHttpJsonProperties.getHttpJsonVersion());
440   }
441 
442   /** Returns a new builder for this class. */
newBuilder()443   public static Builder newBuilder() {
444     return Builder.createDefault();
445   }
446 
447   /** Returns a new builder for this class. */
newBuilder(ClientContext clientContext)448   public static Builder newBuilder(ClientContext clientContext) {
449     return new Builder(clientContext);
450   }
451 
452   /** Returns a builder containing all the values of this settings class. */
toBuilder()453   public Builder toBuilder() {
454     return new Builder(this);
455   }
456 
TargetPoolsStubSettings(Builder settingsBuilder)457   protected TargetPoolsStubSettings(Builder settingsBuilder) throws IOException {
458     super(settingsBuilder);
459 
460     addHealthCheckSettings = settingsBuilder.addHealthCheckSettings().build();
461     addHealthCheckOperationSettings = settingsBuilder.addHealthCheckOperationSettings().build();
462     addInstanceSettings = settingsBuilder.addInstanceSettings().build();
463     addInstanceOperationSettings = settingsBuilder.addInstanceOperationSettings().build();
464     aggregatedListSettings = settingsBuilder.aggregatedListSettings().build();
465     deleteSettings = settingsBuilder.deleteSettings().build();
466     deleteOperationSettings = settingsBuilder.deleteOperationSettings().build();
467     getSettings = settingsBuilder.getSettings().build();
468     getHealthSettings = settingsBuilder.getHealthSettings().build();
469     insertSettings = settingsBuilder.insertSettings().build();
470     insertOperationSettings = settingsBuilder.insertOperationSettings().build();
471     listSettings = settingsBuilder.listSettings().build();
472     removeHealthCheckSettings = settingsBuilder.removeHealthCheckSettings().build();
473     removeHealthCheckOperationSettings =
474         settingsBuilder.removeHealthCheckOperationSettings().build();
475     removeInstanceSettings = settingsBuilder.removeInstanceSettings().build();
476     removeInstanceOperationSettings = settingsBuilder.removeInstanceOperationSettings().build();
477     setBackupSettings = settingsBuilder.setBackupSettings().build();
478     setBackupOperationSettings = settingsBuilder.setBackupOperationSettings().build();
479   }
480 
481   /** Builder for TargetPoolsStubSettings. */
482   public static class Builder extends StubSettings.Builder<TargetPoolsStubSettings, Builder> {
483     private final ImmutableList<UnaryCallSettings.Builder<?, ?>> unaryMethodSettingsBuilders;
484     private final UnaryCallSettings.Builder<AddHealthCheckTargetPoolRequest, Operation>
485         addHealthCheckSettings;
486     private final OperationCallSettings.Builder<
487             AddHealthCheckTargetPoolRequest, Operation, Operation>
488         addHealthCheckOperationSettings;
489     private final UnaryCallSettings.Builder<AddInstanceTargetPoolRequest, Operation>
490         addInstanceSettings;
491     private final OperationCallSettings.Builder<AddInstanceTargetPoolRequest, Operation, Operation>
492         addInstanceOperationSettings;
493     private final PagedCallSettings.Builder<
494             AggregatedListTargetPoolsRequest, TargetPoolAggregatedList, AggregatedListPagedResponse>
495         aggregatedListSettings;
496     private final UnaryCallSettings.Builder<DeleteTargetPoolRequest, Operation> deleteSettings;
497     private final OperationCallSettings.Builder<DeleteTargetPoolRequest, Operation, Operation>
498         deleteOperationSettings;
499     private final UnaryCallSettings.Builder<GetTargetPoolRequest, TargetPool> getSettings;
500     private final UnaryCallSettings.Builder<GetHealthTargetPoolRequest, TargetPoolInstanceHealth>
501         getHealthSettings;
502     private final UnaryCallSettings.Builder<InsertTargetPoolRequest, Operation> insertSettings;
503     private final OperationCallSettings.Builder<InsertTargetPoolRequest, Operation, Operation>
504         insertOperationSettings;
505     private final PagedCallSettings.Builder<
506             ListTargetPoolsRequest, TargetPoolList, ListPagedResponse>
507         listSettings;
508     private final UnaryCallSettings.Builder<RemoveHealthCheckTargetPoolRequest, Operation>
509         removeHealthCheckSettings;
510     private final OperationCallSettings.Builder<
511             RemoveHealthCheckTargetPoolRequest, Operation, Operation>
512         removeHealthCheckOperationSettings;
513     private final UnaryCallSettings.Builder<RemoveInstanceTargetPoolRequest, Operation>
514         removeInstanceSettings;
515     private final OperationCallSettings.Builder<
516             RemoveInstanceTargetPoolRequest, Operation, Operation>
517         removeInstanceOperationSettings;
518     private final UnaryCallSettings.Builder<SetBackupTargetPoolRequest, Operation>
519         setBackupSettings;
520     private final OperationCallSettings.Builder<SetBackupTargetPoolRequest, Operation, Operation>
521         setBackupOperationSettings;
522     private static final ImmutableMap<String, ImmutableSet<StatusCode.Code>>
523         RETRYABLE_CODE_DEFINITIONS;
524 
525     static {
526       ImmutableMap.Builder<String, ImmutableSet<StatusCode.Code>> definitions =
527           ImmutableMap.builder();
528       definitions.put(
529           "no_retry_1_codes", ImmutableSet.copyOf(Lists.<StatusCode.Code>newArrayList()));
530       definitions.put(
531           "retry_policy_0_codes",
532           ImmutableSet.copyOf(
533               Lists.<StatusCode.Code>newArrayList(
534                   StatusCode.Code.DEADLINE_EXCEEDED, StatusCode.Code.UNAVAILABLE)));
535       RETRYABLE_CODE_DEFINITIONS = definitions.build();
536     }
537 
538     private static final ImmutableMap<String, RetrySettings> RETRY_PARAM_DEFINITIONS;
539 
540     static {
541       ImmutableMap.Builder<String, RetrySettings> definitions = ImmutableMap.builder();
542       RetrySettings settings = null;
543       settings =
544           RetrySettings.newBuilder()
545               .setInitialRpcTimeout(Duration.ofMillis(600000L))
546               .setRpcTimeoutMultiplier(1.0)
547               .setMaxRpcTimeout(Duration.ofMillis(600000L))
548               .setTotalTimeout(Duration.ofMillis(600000L))
549               .build();
550       definitions.put("no_retry_1_params", settings);
551       settings =
552           RetrySettings.newBuilder()
553               .setInitialRetryDelay(Duration.ofMillis(100L))
554               .setRetryDelayMultiplier(1.3)
555               .setMaxRetryDelay(Duration.ofMillis(60000L))
556               .setInitialRpcTimeout(Duration.ofMillis(600000L))
557               .setRpcTimeoutMultiplier(1.0)
558               .setMaxRpcTimeout(Duration.ofMillis(600000L))
559               .setTotalTimeout(Duration.ofMillis(600000L))
560               .build();
561       definitions.put("retry_policy_0_params", settings);
562       RETRY_PARAM_DEFINITIONS = definitions.build();
563     }
564 
Builder()565     protected Builder() {
566       this(((ClientContext) null));
567     }
568 
Builder(ClientContext clientContext)569     protected Builder(ClientContext clientContext) {
570       super(clientContext);
571 
572       addHealthCheckSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
573       addHealthCheckOperationSettings = OperationCallSettings.newBuilder();
574       addInstanceSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
575       addInstanceOperationSettings = OperationCallSettings.newBuilder();
576       aggregatedListSettings = PagedCallSettings.newBuilder(AGGREGATED_LIST_PAGE_STR_FACT);
577       deleteSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
578       deleteOperationSettings = OperationCallSettings.newBuilder();
579       getSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
580       getHealthSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
581       insertSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
582       insertOperationSettings = OperationCallSettings.newBuilder();
583       listSettings = PagedCallSettings.newBuilder(LIST_PAGE_STR_FACT);
584       removeHealthCheckSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
585       removeHealthCheckOperationSettings = OperationCallSettings.newBuilder();
586       removeInstanceSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
587       removeInstanceOperationSettings = OperationCallSettings.newBuilder();
588       setBackupSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
589       setBackupOperationSettings = OperationCallSettings.newBuilder();
590 
591       unaryMethodSettingsBuilders =
592           ImmutableList.<UnaryCallSettings.Builder<?, ?>>of(
593               addHealthCheckSettings,
594               addInstanceSettings,
595               aggregatedListSettings,
596               deleteSettings,
597               getSettings,
598               getHealthSettings,
599               insertSettings,
600               listSettings,
601               removeHealthCheckSettings,
602               removeInstanceSettings,
603               setBackupSettings);
604       initDefaults(this);
605     }
606 
Builder(TargetPoolsStubSettings settings)607     protected Builder(TargetPoolsStubSettings settings) {
608       super(settings);
609 
610       addHealthCheckSettings = settings.addHealthCheckSettings.toBuilder();
611       addHealthCheckOperationSettings = settings.addHealthCheckOperationSettings.toBuilder();
612       addInstanceSettings = settings.addInstanceSettings.toBuilder();
613       addInstanceOperationSettings = settings.addInstanceOperationSettings.toBuilder();
614       aggregatedListSettings = settings.aggregatedListSettings.toBuilder();
615       deleteSettings = settings.deleteSettings.toBuilder();
616       deleteOperationSettings = settings.deleteOperationSettings.toBuilder();
617       getSettings = settings.getSettings.toBuilder();
618       getHealthSettings = settings.getHealthSettings.toBuilder();
619       insertSettings = settings.insertSettings.toBuilder();
620       insertOperationSettings = settings.insertOperationSettings.toBuilder();
621       listSettings = settings.listSettings.toBuilder();
622       removeHealthCheckSettings = settings.removeHealthCheckSettings.toBuilder();
623       removeHealthCheckOperationSettings = settings.removeHealthCheckOperationSettings.toBuilder();
624       removeInstanceSettings = settings.removeInstanceSettings.toBuilder();
625       removeInstanceOperationSettings = settings.removeInstanceOperationSettings.toBuilder();
626       setBackupSettings = settings.setBackupSettings.toBuilder();
627       setBackupOperationSettings = settings.setBackupOperationSettings.toBuilder();
628 
629       unaryMethodSettingsBuilders =
630           ImmutableList.<UnaryCallSettings.Builder<?, ?>>of(
631               addHealthCheckSettings,
632               addInstanceSettings,
633               aggregatedListSettings,
634               deleteSettings,
635               getSettings,
636               getHealthSettings,
637               insertSettings,
638               listSettings,
639               removeHealthCheckSettings,
640               removeInstanceSettings,
641               setBackupSettings);
642     }
643 
createDefault()644     private static Builder createDefault() {
645       Builder builder = new Builder(((ClientContext) null));
646 
647       builder.setTransportChannelProvider(defaultTransportChannelProvider());
648       builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
649       builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build());
650       builder.setEndpoint(getDefaultEndpoint());
651       builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
652       builder.setSwitchToMtlsEndpointAllowed(true);
653 
654       return initDefaults(builder);
655     }
656 
initDefaults(Builder builder)657     private static Builder initDefaults(Builder builder) {
658       builder
659           .addHealthCheckSettings()
660           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
661           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
662 
663       builder
664           .addInstanceSettings()
665           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
666           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
667 
668       builder
669           .aggregatedListSettings()
670           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
671           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));
672 
673       builder
674           .deleteSettings()
675           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
676           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
677 
678       builder
679           .getSettings()
680           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
681           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));
682 
683       builder
684           .getHealthSettings()
685           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
686           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
687 
688       builder
689           .insertSettings()
690           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
691           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
692 
693       builder
694           .listSettings()
695           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
696           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));
697 
698       builder
699           .removeHealthCheckSettings()
700           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
701           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
702 
703       builder
704           .removeInstanceSettings()
705           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
706           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
707 
708       builder
709           .setBackupSettings()
710           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
711           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"));
712 
713       builder
714           .addHealthCheckOperationSettings()
715           .setInitialCallSettings(
716               UnaryCallSettings
717                   .<AddHealthCheckTargetPoolRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
718                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
719                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
720                   .build())
721           .setResponseTransformer(
722               ProtoOperationTransformers.ResponseTransformer.create(Operation.class))
723           .setMetadataTransformer(
724               ProtoOperationTransformers.MetadataTransformer.create(Operation.class))
725           .setPollingAlgorithm(
726               OperationTimedPollAlgorithm.create(
727                   RetrySettings.newBuilder()
728                       .setInitialRetryDelay(Duration.ofMillis(500L))
729                       .setRetryDelayMultiplier(1.5)
730                       .setMaxRetryDelay(Duration.ofMillis(20000L))
731                       .setInitialRpcTimeout(Duration.ZERO)
732                       .setRpcTimeoutMultiplier(1.0)
733                       .setMaxRpcTimeout(Duration.ZERO)
734                       .setTotalTimeout(Duration.ofMillis(600000L))
735                       .build()));
736 
737       builder
738           .addInstanceOperationSettings()
739           .setInitialCallSettings(
740               UnaryCallSettings
741                   .<AddInstanceTargetPoolRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
742                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
743                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
744                   .build())
745           .setResponseTransformer(
746               ProtoOperationTransformers.ResponseTransformer.create(Operation.class))
747           .setMetadataTransformer(
748               ProtoOperationTransformers.MetadataTransformer.create(Operation.class))
749           .setPollingAlgorithm(
750               OperationTimedPollAlgorithm.create(
751                   RetrySettings.newBuilder()
752                       .setInitialRetryDelay(Duration.ofMillis(500L))
753                       .setRetryDelayMultiplier(1.5)
754                       .setMaxRetryDelay(Duration.ofMillis(20000L))
755                       .setInitialRpcTimeout(Duration.ZERO)
756                       .setRpcTimeoutMultiplier(1.0)
757                       .setMaxRpcTimeout(Duration.ZERO)
758                       .setTotalTimeout(Duration.ofMillis(600000L))
759                       .build()));
760 
761       builder
762           .deleteOperationSettings()
763           .setInitialCallSettings(
764               UnaryCallSettings
765                   .<DeleteTargetPoolRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
766                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
767                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
768                   .build())
769           .setResponseTransformer(
770               ProtoOperationTransformers.ResponseTransformer.create(Operation.class))
771           .setMetadataTransformer(
772               ProtoOperationTransformers.MetadataTransformer.create(Operation.class))
773           .setPollingAlgorithm(
774               OperationTimedPollAlgorithm.create(
775                   RetrySettings.newBuilder()
776                       .setInitialRetryDelay(Duration.ofMillis(500L))
777                       .setRetryDelayMultiplier(1.5)
778                       .setMaxRetryDelay(Duration.ofMillis(20000L))
779                       .setInitialRpcTimeout(Duration.ZERO)
780                       .setRpcTimeoutMultiplier(1.0)
781                       .setMaxRpcTimeout(Duration.ZERO)
782                       .setTotalTimeout(Duration.ofMillis(600000L))
783                       .build()));
784 
785       builder
786           .insertOperationSettings()
787           .setInitialCallSettings(
788               UnaryCallSettings
789                   .<InsertTargetPoolRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
790                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
791                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
792                   .build())
793           .setResponseTransformer(
794               ProtoOperationTransformers.ResponseTransformer.create(Operation.class))
795           .setMetadataTransformer(
796               ProtoOperationTransformers.MetadataTransformer.create(Operation.class))
797           .setPollingAlgorithm(
798               OperationTimedPollAlgorithm.create(
799                   RetrySettings.newBuilder()
800                       .setInitialRetryDelay(Duration.ofMillis(500L))
801                       .setRetryDelayMultiplier(1.5)
802                       .setMaxRetryDelay(Duration.ofMillis(20000L))
803                       .setInitialRpcTimeout(Duration.ZERO)
804                       .setRpcTimeoutMultiplier(1.0)
805                       .setMaxRpcTimeout(Duration.ZERO)
806                       .setTotalTimeout(Duration.ofMillis(600000L))
807                       .build()));
808 
809       builder
810           .removeHealthCheckOperationSettings()
811           .setInitialCallSettings(
812               UnaryCallSettings
813                   .<RemoveHealthCheckTargetPoolRequest, OperationSnapshot>
814                       newUnaryCallSettingsBuilder()
815                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
816                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
817                   .build())
818           .setResponseTransformer(
819               ProtoOperationTransformers.ResponseTransformer.create(Operation.class))
820           .setMetadataTransformer(
821               ProtoOperationTransformers.MetadataTransformer.create(Operation.class))
822           .setPollingAlgorithm(
823               OperationTimedPollAlgorithm.create(
824                   RetrySettings.newBuilder()
825                       .setInitialRetryDelay(Duration.ofMillis(500L))
826                       .setRetryDelayMultiplier(1.5)
827                       .setMaxRetryDelay(Duration.ofMillis(20000L))
828                       .setInitialRpcTimeout(Duration.ZERO)
829                       .setRpcTimeoutMultiplier(1.0)
830                       .setMaxRpcTimeout(Duration.ZERO)
831                       .setTotalTimeout(Duration.ofMillis(600000L))
832                       .build()));
833 
834       builder
835           .removeInstanceOperationSettings()
836           .setInitialCallSettings(
837               UnaryCallSettings
838                   .<RemoveInstanceTargetPoolRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
839                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
840                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
841                   .build())
842           .setResponseTransformer(
843               ProtoOperationTransformers.ResponseTransformer.create(Operation.class))
844           .setMetadataTransformer(
845               ProtoOperationTransformers.MetadataTransformer.create(Operation.class))
846           .setPollingAlgorithm(
847               OperationTimedPollAlgorithm.create(
848                   RetrySettings.newBuilder()
849                       .setInitialRetryDelay(Duration.ofMillis(500L))
850                       .setRetryDelayMultiplier(1.5)
851                       .setMaxRetryDelay(Duration.ofMillis(20000L))
852                       .setInitialRpcTimeout(Duration.ZERO)
853                       .setRpcTimeoutMultiplier(1.0)
854                       .setMaxRpcTimeout(Duration.ZERO)
855                       .setTotalTimeout(Duration.ofMillis(600000L))
856                       .build()));
857 
858       builder
859           .setBackupOperationSettings()
860           .setInitialCallSettings(
861               UnaryCallSettings
862                   .<SetBackupTargetPoolRequest, OperationSnapshot>newUnaryCallSettingsBuilder()
863                   .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes"))
864                   .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params"))
865                   .build())
866           .setResponseTransformer(
867               ProtoOperationTransformers.ResponseTransformer.create(Operation.class))
868           .setMetadataTransformer(
869               ProtoOperationTransformers.MetadataTransformer.create(Operation.class))
870           .setPollingAlgorithm(
871               OperationTimedPollAlgorithm.create(
872                   RetrySettings.newBuilder()
873                       .setInitialRetryDelay(Duration.ofMillis(500L))
874                       .setRetryDelayMultiplier(1.5)
875                       .setMaxRetryDelay(Duration.ofMillis(20000L))
876                       .setInitialRpcTimeout(Duration.ZERO)
877                       .setRpcTimeoutMultiplier(1.0)
878                       .setMaxRpcTimeout(Duration.ZERO)
879                       .setTotalTimeout(Duration.ofMillis(600000L))
880                       .build()));
881 
882       return builder;
883     }
884 
885     /**
886      * Applies the given settings updater function to all of the unary API methods in this service.
887      *
888      * <p>Note: This method does not support applying settings to streaming methods.
889      */
applyToAllUnaryMethods( ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater)890     public Builder applyToAllUnaryMethods(
891         ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater) {
892       super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater);
893       return this;
894     }
895 
unaryMethodSettingsBuilders()896     public ImmutableList<UnaryCallSettings.Builder<?, ?>> unaryMethodSettingsBuilders() {
897       return unaryMethodSettingsBuilders;
898     }
899 
900     /** Returns the builder for the settings used for calls to addHealthCheck. */
901     public UnaryCallSettings.Builder<AddHealthCheckTargetPoolRequest, Operation>
addHealthCheckSettings()902         addHealthCheckSettings() {
903       return addHealthCheckSettings;
904     }
905 
906     /** Returns the builder for the settings used for calls to addHealthCheck. */
907     @BetaApi(
908         "The surface for use by generated code is not stable yet and may change in the future.")
909     public OperationCallSettings.Builder<AddHealthCheckTargetPoolRequest, Operation, Operation>
addHealthCheckOperationSettings()910         addHealthCheckOperationSettings() {
911       return addHealthCheckOperationSettings;
912     }
913 
914     /** Returns the builder for the settings used for calls to addInstance. */
915     public UnaryCallSettings.Builder<AddInstanceTargetPoolRequest, Operation>
addInstanceSettings()916         addInstanceSettings() {
917       return addInstanceSettings;
918     }
919 
920     /** Returns the builder for the settings used for calls to addInstance. */
921     @BetaApi(
922         "The surface for use by generated code is not stable yet and may change in the future.")
923     public OperationCallSettings.Builder<AddInstanceTargetPoolRequest, Operation, Operation>
addInstanceOperationSettings()924         addInstanceOperationSettings() {
925       return addInstanceOperationSettings;
926     }
927 
928     /** Returns the builder for the settings used for calls to aggregatedList. */
929     public PagedCallSettings.Builder<
930             AggregatedListTargetPoolsRequest, TargetPoolAggregatedList, AggregatedListPagedResponse>
aggregatedListSettings()931         aggregatedListSettings() {
932       return aggregatedListSettings;
933     }
934 
935     /** Returns the builder for the settings used for calls to delete. */
deleteSettings()936     public UnaryCallSettings.Builder<DeleteTargetPoolRequest, Operation> deleteSettings() {
937       return deleteSettings;
938     }
939 
940     /** Returns the builder for the settings used for calls to delete. */
941     @BetaApi(
942         "The surface for use by generated code is not stable yet and may change in the future.")
943     public OperationCallSettings.Builder<DeleteTargetPoolRequest, Operation, Operation>
deleteOperationSettings()944         deleteOperationSettings() {
945       return deleteOperationSettings;
946     }
947 
948     /** Returns the builder for the settings used for calls to get. */
getSettings()949     public UnaryCallSettings.Builder<GetTargetPoolRequest, TargetPool> getSettings() {
950       return getSettings;
951     }
952 
953     /** Returns the builder for the settings used for calls to getHealth. */
954     public UnaryCallSettings.Builder<GetHealthTargetPoolRequest, TargetPoolInstanceHealth>
getHealthSettings()955         getHealthSettings() {
956       return getHealthSettings;
957     }
958 
959     /** Returns the builder for the settings used for calls to insert. */
insertSettings()960     public UnaryCallSettings.Builder<InsertTargetPoolRequest, Operation> insertSettings() {
961       return insertSettings;
962     }
963 
964     /** Returns the builder for the settings used for calls to insert. */
965     @BetaApi(
966         "The surface for use by generated code is not stable yet and may change in the future.")
967     public OperationCallSettings.Builder<InsertTargetPoolRequest, Operation, Operation>
insertOperationSettings()968         insertOperationSettings() {
969       return insertOperationSettings;
970     }
971 
972     /** Returns the builder for the settings used for calls to list. */
973     public PagedCallSettings.Builder<ListTargetPoolsRequest, TargetPoolList, ListPagedResponse>
listSettings()974         listSettings() {
975       return listSettings;
976     }
977 
978     /** Returns the builder for the settings used for calls to removeHealthCheck. */
979     public UnaryCallSettings.Builder<RemoveHealthCheckTargetPoolRequest, Operation>
removeHealthCheckSettings()980         removeHealthCheckSettings() {
981       return removeHealthCheckSettings;
982     }
983 
984     /** Returns the builder for the settings used for calls to removeHealthCheck. */
985     @BetaApi(
986         "The surface for use by generated code is not stable yet and may change in the future.")
987     public OperationCallSettings.Builder<RemoveHealthCheckTargetPoolRequest, Operation, Operation>
removeHealthCheckOperationSettings()988         removeHealthCheckOperationSettings() {
989       return removeHealthCheckOperationSettings;
990     }
991 
992     /** Returns the builder for the settings used for calls to removeInstance. */
993     public UnaryCallSettings.Builder<RemoveInstanceTargetPoolRequest, Operation>
removeInstanceSettings()994         removeInstanceSettings() {
995       return removeInstanceSettings;
996     }
997 
998     /** Returns the builder for the settings used for calls to removeInstance. */
999     @BetaApi(
1000         "The surface for use by generated code is not stable yet and may change in the future.")
1001     public OperationCallSettings.Builder<RemoveInstanceTargetPoolRequest, Operation, Operation>
removeInstanceOperationSettings()1002         removeInstanceOperationSettings() {
1003       return removeInstanceOperationSettings;
1004     }
1005 
1006     /** Returns the builder for the settings used for calls to setBackup. */
setBackupSettings()1007     public UnaryCallSettings.Builder<SetBackupTargetPoolRequest, Operation> setBackupSettings() {
1008       return setBackupSettings;
1009     }
1010 
1011     /** Returns the builder for the settings used for calls to setBackup. */
1012     @BetaApi(
1013         "The surface for use by generated code is not stable yet and may change in the future.")
1014     public OperationCallSettings.Builder<SetBackupTargetPoolRequest, Operation, Operation>
setBackupOperationSettings()1015         setBackupOperationSettings() {
1016       return setBackupOperationSettings;
1017     }
1018 
1019     @Override
build()1020     public TargetPoolsStubSettings build() throws IOException {
1021       return new TargetPoolsStubSettings(this);
1022     }
1023   }
1024 }
1025