• 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;
18 
19 import static com.google.cloud.compute.v1.TargetHttpsProxiesClient.AggregatedListPagedResponse;
20 import static com.google.cloud.compute.v1.TargetHttpsProxiesClient.ListPagedResponse;
21 
22 import com.google.api.core.ApiFunction;
23 import com.google.api.core.BetaApi;
24 import com.google.api.gax.core.GoogleCredentialsProvider;
25 import com.google.api.gax.core.InstantiatingExecutorProvider;
26 import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
27 import com.google.api.gax.rpc.ApiClientHeaderProvider;
28 import com.google.api.gax.rpc.ClientContext;
29 import com.google.api.gax.rpc.ClientSettings;
30 import com.google.api.gax.rpc.OperationCallSettings;
31 import com.google.api.gax.rpc.PagedCallSettings;
32 import com.google.api.gax.rpc.TransportChannelProvider;
33 import com.google.api.gax.rpc.UnaryCallSettings;
34 import com.google.cloud.compute.v1.stub.TargetHttpsProxiesStubSettings;
35 import java.io.IOException;
36 import java.util.List;
37 import javax.annotation.Generated;
38 
39 // AUTO-GENERATED DOCUMENTATION AND CLASS.
40 /**
41  * Settings class to configure an instance of {@link TargetHttpsProxiesClient}.
42  *
43  * <p>The default instance has everything set to sensible defaults:
44  *
45  * <ul>
46  *   <li>The default service address (compute.googleapis.com) and default port (443) are used.
47  *   <li>Credentials are acquired automatically through Application Default Credentials.
48  *   <li>Retries are configured for idempotent methods but not for non-idempotent methods.
49  * </ul>
50  *
51  * <p>The builder of this class is recursive, so contained classes are themselves builders. When
52  * build() is called, the tree of builders is called to create the complete settings object.
53  *
54  * <p>For example, to set the total timeout of get to 30 seconds:
55  *
56  * <pre>{@code
57  * // This snippet has been automatically generated and should be regarded as a code template only.
58  * // It will require modifications to work:
59  * // - It may require correct/in-range values for request initialization.
60  * // - It may require specifying regional endpoints when creating the service client as shown in
61  * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
62  * TargetHttpsProxiesSettings.Builder targetHttpsProxiesSettingsBuilder =
63  *     TargetHttpsProxiesSettings.newBuilder();
64  * targetHttpsProxiesSettingsBuilder
65  *     .getSettings()
66  *     .setRetrySettings(
67  *         targetHttpsProxiesSettingsBuilder
68  *             .getSettings()
69  *             .getRetrySettings()
70  *             .toBuilder()
71  *             .setTotalTimeout(Duration.ofSeconds(30))
72  *             .build());
73  * TargetHttpsProxiesSettings targetHttpsProxiesSettings =
74  *     targetHttpsProxiesSettingsBuilder.build();
75  * }</pre>
76  */
77 @Generated("by gapic-generator-java")
78 public class TargetHttpsProxiesSettings extends ClientSettings<TargetHttpsProxiesSettings> {
79 
80   /** Returns the object with the settings used for calls to aggregatedList. */
81   public PagedCallSettings<
82           AggregatedListTargetHttpsProxiesRequest,
83           TargetHttpsProxyAggregatedList,
84           AggregatedListPagedResponse>
aggregatedListSettings()85       aggregatedListSettings() {
86     return ((TargetHttpsProxiesStubSettings) getStubSettings()).aggregatedListSettings();
87   }
88 
89   /** Returns the object with the settings used for calls to delete. */
deleteSettings()90   public UnaryCallSettings<DeleteTargetHttpsProxyRequest, Operation> deleteSettings() {
91     return ((TargetHttpsProxiesStubSettings) getStubSettings()).deleteSettings();
92   }
93 
94   /** Returns the object with the settings used for calls to delete. */
95   public OperationCallSettings<DeleteTargetHttpsProxyRequest, Operation, Operation>
deleteOperationSettings()96       deleteOperationSettings() {
97     return ((TargetHttpsProxiesStubSettings) getStubSettings()).deleteOperationSettings();
98   }
99 
100   /** Returns the object with the settings used for calls to get. */
getSettings()101   public UnaryCallSettings<GetTargetHttpsProxyRequest, TargetHttpsProxy> getSettings() {
102     return ((TargetHttpsProxiesStubSettings) getStubSettings()).getSettings();
103   }
104 
105   /** Returns the object with the settings used for calls to insert. */
insertSettings()106   public UnaryCallSettings<InsertTargetHttpsProxyRequest, Operation> insertSettings() {
107     return ((TargetHttpsProxiesStubSettings) getStubSettings()).insertSettings();
108   }
109 
110   /** Returns the object with the settings used for calls to insert. */
111   public OperationCallSettings<InsertTargetHttpsProxyRequest, Operation, Operation>
insertOperationSettings()112       insertOperationSettings() {
113     return ((TargetHttpsProxiesStubSettings) getStubSettings()).insertOperationSettings();
114   }
115 
116   /** Returns the object with the settings used for calls to list. */
117   public PagedCallSettings<ListTargetHttpsProxiesRequest, TargetHttpsProxyList, ListPagedResponse>
listSettings()118       listSettings() {
119     return ((TargetHttpsProxiesStubSettings) getStubSettings()).listSettings();
120   }
121 
122   /** Returns the object with the settings used for calls to patch. */
patchSettings()123   public UnaryCallSettings<PatchTargetHttpsProxyRequest, Operation> patchSettings() {
124     return ((TargetHttpsProxiesStubSettings) getStubSettings()).patchSettings();
125   }
126 
127   /** Returns the object with the settings used for calls to patch. */
128   public OperationCallSettings<PatchTargetHttpsProxyRequest, Operation, Operation>
patchOperationSettings()129       patchOperationSettings() {
130     return ((TargetHttpsProxiesStubSettings) getStubSettings()).patchOperationSettings();
131   }
132 
133   /** Returns the object with the settings used for calls to setCertificateMap. */
134   public UnaryCallSettings<SetCertificateMapTargetHttpsProxyRequest, Operation>
setCertificateMapSettings()135       setCertificateMapSettings() {
136     return ((TargetHttpsProxiesStubSettings) getStubSettings()).setCertificateMapSettings();
137   }
138 
139   /** Returns the object with the settings used for calls to setCertificateMap. */
140   public OperationCallSettings<SetCertificateMapTargetHttpsProxyRequest, Operation, Operation>
setCertificateMapOperationSettings()141       setCertificateMapOperationSettings() {
142     return ((TargetHttpsProxiesStubSettings) getStubSettings())
143         .setCertificateMapOperationSettings();
144   }
145 
146   /** Returns the object with the settings used for calls to setQuicOverride. */
147   public UnaryCallSettings<SetQuicOverrideTargetHttpsProxyRequest, Operation>
setQuicOverrideSettings()148       setQuicOverrideSettings() {
149     return ((TargetHttpsProxiesStubSettings) getStubSettings()).setQuicOverrideSettings();
150   }
151 
152   /** Returns the object with the settings used for calls to setQuicOverride. */
153   public OperationCallSettings<SetQuicOverrideTargetHttpsProxyRequest, Operation, Operation>
setQuicOverrideOperationSettings()154       setQuicOverrideOperationSettings() {
155     return ((TargetHttpsProxiesStubSettings) getStubSettings()).setQuicOverrideOperationSettings();
156   }
157 
158   /** Returns the object with the settings used for calls to setSslCertificates. */
159   public UnaryCallSettings<SetSslCertificatesTargetHttpsProxyRequest, Operation>
setSslCertificatesSettings()160       setSslCertificatesSettings() {
161     return ((TargetHttpsProxiesStubSettings) getStubSettings()).setSslCertificatesSettings();
162   }
163 
164   /** Returns the object with the settings used for calls to setSslCertificates. */
165   public OperationCallSettings<SetSslCertificatesTargetHttpsProxyRequest, Operation, Operation>
setSslCertificatesOperationSettings()166       setSslCertificatesOperationSettings() {
167     return ((TargetHttpsProxiesStubSettings) getStubSettings())
168         .setSslCertificatesOperationSettings();
169   }
170 
171   /** Returns the object with the settings used for calls to setSslPolicy. */
setSslPolicySettings()172   public UnaryCallSettings<SetSslPolicyTargetHttpsProxyRequest, Operation> setSslPolicySettings() {
173     return ((TargetHttpsProxiesStubSettings) getStubSettings()).setSslPolicySettings();
174   }
175 
176   /** Returns the object with the settings used for calls to setSslPolicy. */
177   public OperationCallSettings<SetSslPolicyTargetHttpsProxyRequest, Operation, Operation>
setSslPolicyOperationSettings()178       setSslPolicyOperationSettings() {
179     return ((TargetHttpsProxiesStubSettings) getStubSettings()).setSslPolicyOperationSettings();
180   }
181 
182   /** Returns the object with the settings used for calls to setUrlMap. */
setUrlMapSettings()183   public UnaryCallSettings<SetUrlMapTargetHttpsProxyRequest, Operation> setUrlMapSettings() {
184     return ((TargetHttpsProxiesStubSettings) getStubSettings()).setUrlMapSettings();
185   }
186 
187   /** Returns the object with the settings used for calls to setUrlMap. */
188   public OperationCallSettings<SetUrlMapTargetHttpsProxyRequest, Operation, Operation>
setUrlMapOperationSettings()189       setUrlMapOperationSettings() {
190     return ((TargetHttpsProxiesStubSettings) getStubSettings()).setUrlMapOperationSettings();
191   }
192 
create(TargetHttpsProxiesStubSettings stub)193   public static final TargetHttpsProxiesSettings create(TargetHttpsProxiesStubSettings stub)
194       throws IOException {
195     return new TargetHttpsProxiesSettings.Builder(stub.toBuilder()).build();
196   }
197 
198   /** Returns a builder for the default ExecutorProvider for this service. */
defaultExecutorProviderBuilder()199   public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() {
200     return TargetHttpsProxiesStubSettings.defaultExecutorProviderBuilder();
201   }
202 
203   /** Returns the default service endpoint. */
getDefaultEndpoint()204   public static String getDefaultEndpoint() {
205     return TargetHttpsProxiesStubSettings.getDefaultEndpoint();
206   }
207 
208   /** Returns the default service scopes. */
getDefaultServiceScopes()209   public static List<String> getDefaultServiceScopes() {
210     return TargetHttpsProxiesStubSettings.getDefaultServiceScopes();
211   }
212 
213   /** Returns a builder for the default credentials for this service. */
defaultCredentialsProviderBuilder()214   public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() {
215     return TargetHttpsProxiesStubSettings.defaultCredentialsProviderBuilder();
216   }
217 
218   /** Returns a builder for the default ChannelProvider for this service. */
219   public static InstantiatingHttpJsonChannelProvider.Builder
defaultHttpJsonTransportProviderBuilder()220       defaultHttpJsonTransportProviderBuilder() {
221     return TargetHttpsProxiesStubSettings.defaultHttpJsonTransportProviderBuilder();
222   }
223 
defaultTransportChannelProvider()224   public static TransportChannelProvider defaultTransportChannelProvider() {
225     return TargetHttpsProxiesStubSettings.defaultTransportChannelProvider();
226   }
227 
228   @BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
defaultApiClientHeaderProviderBuilder()229   public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
230     return TargetHttpsProxiesStubSettings.defaultApiClientHeaderProviderBuilder();
231   }
232 
233   /** Returns a new builder for this class. */
newBuilder()234   public static Builder newBuilder() {
235     return Builder.createDefault();
236   }
237 
238   /** Returns a new builder for this class. */
newBuilder(ClientContext clientContext)239   public static Builder newBuilder(ClientContext clientContext) {
240     return new Builder(clientContext);
241   }
242 
243   /** Returns a builder containing all the values of this settings class. */
toBuilder()244   public Builder toBuilder() {
245     return new Builder(this);
246   }
247 
TargetHttpsProxiesSettings(Builder settingsBuilder)248   protected TargetHttpsProxiesSettings(Builder settingsBuilder) throws IOException {
249     super(settingsBuilder);
250   }
251 
252   /** Builder for TargetHttpsProxiesSettings. */
253   public static class Builder extends ClientSettings.Builder<TargetHttpsProxiesSettings, Builder> {
254 
Builder()255     protected Builder() throws IOException {
256       this(((ClientContext) null));
257     }
258 
Builder(ClientContext clientContext)259     protected Builder(ClientContext clientContext) {
260       super(TargetHttpsProxiesStubSettings.newBuilder(clientContext));
261     }
262 
Builder(TargetHttpsProxiesSettings settings)263     protected Builder(TargetHttpsProxiesSettings settings) {
264       super(settings.getStubSettings().toBuilder());
265     }
266 
Builder(TargetHttpsProxiesStubSettings.Builder stubSettings)267     protected Builder(TargetHttpsProxiesStubSettings.Builder stubSettings) {
268       super(stubSettings);
269     }
270 
createDefault()271     private static Builder createDefault() {
272       return new Builder(TargetHttpsProxiesStubSettings.newBuilder());
273     }
274 
getStubSettingsBuilder()275     public TargetHttpsProxiesStubSettings.Builder getStubSettingsBuilder() {
276       return ((TargetHttpsProxiesStubSettings.Builder) getStubSettings());
277     }
278 
279     /**
280      * Applies the given settings updater function to all of the unary API methods in this service.
281      *
282      * <p>Note: This method does not support applying settings to streaming methods.
283      */
applyToAllUnaryMethods( ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater)284     public Builder applyToAllUnaryMethods(
285         ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater) {
286       super.applyToAllUnaryMethods(
287           getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater);
288       return this;
289     }
290 
291     /** Returns the builder for the settings used for calls to aggregatedList. */
292     public PagedCallSettings.Builder<
293             AggregatedListTargetHttpsProxiesRequest,
294             TargetHttpsProxyAggregatedList,
295             AggregatedListPagedResponse>
aggregatedListSettings()296         aggregatedListSettings() {
297       return getStubSettingsBuilder().aggregatedListSettings();
298     }
299 
300     /** Returns the builder for the settings used for calls to delete. */
deleteSettings()301     public UnaryCallSettings.Builder<DeleteTargetHttpsProxyRequest, Operation> deleteSettings() {
302       return getStubSettingsBuilder().deleteSettings();
303     }
304 
305     /** Returns the builder for the settings used for calls to delete. */
306     public OperationCallSettings.Builder<DeleteTargetHttpsProxyRequest, Operation, Operation>
deleteOperationSettings()307         deleteOperationSettings() {
308       return getStubSettingsBuilder().deleteOperationSettings();
309     }
310 
311     /** Returns the builder for the settings used for calls to get. */
getSettings()312     public UnaryCallSettings.Builder<GetTargetHttpsProxyRequest, TargetHttpsProxy> getSettings() {
313       return getStubSettingsBuilder().getSettings();
314     }
315 
316     /** Returns the builder for the settings used for calls to insert. */
insertSettings()317     public UnaryCallSettings.Builder<InsertTargetHttpsProxyRequest, Operation> insertSettings() {
318       return getStubSettingsBuilder().insertSettings();
319     }
320 
321     /** Returns the builder for the settings used for calls to insert. */
322     public OperationCallSettings.Builder<InsertTargetHttpsProxyRequest, Operation, Operation>
insertOperationSettings()323         insertOperationSettings() {
324       return getStubSettingsBuilder().insertOperationSettings();
325     }
326 
327     /** Returns the builder for the settings used for calls to list. */
328     public PagedCallSettings.Builder<
329             ListTargetHttpsProxiesRequest, TargetHttpsProxyList, ListPagedResponse>
listSettings()330         listSettings() {
331       return getStubSettingsBuilder().listSettings();
332     }
333 
334     /** Returns the builder for the settings used for calls to patch. */
patchSettings()335     public UnaryCallSettings.Builder<PatchTargetHttpsProxyRequest, Operation> patchSettings() {
336       return getStubSettingsBuilder().patchSettings();
337     }
338 
339     /** Returns the builder for the settings used for calls to patch. */
340     public OperationCallSettings.Builder<PatchTargetHttpsProxyRequest, Operation, Operation>
patchOperationSettings()341         patchOperationSettings() {
342       return getStubSettingsBuilder().patchOperationSettings();
343     }
344 
345     /** Returns the builder for the settings used for calls to setCertificateMap. */
346     public UnaryCallSettings.Builder<SetCertificateMapTargetHttpsProxyRequest, Operation>
setCertificateMapSettings()347         setCertificateMapSettings() {
348       return getStubSettingsBuilder().setCertificateMapSettings();
349     }
350 
351     /** Returns the builder for the settings used for calls to setCertificateMap. */
352     public OperationCallSettings.Builder<
353             SetCertificateMapTargetHttpsProxyRequest, Operation, Operation>
setCertificateMapOperationSettings()354         setCertificateMapOperationSettings() {
355       return getStubSettingsBuilder().setCertificateMapOperationSettings();
356     }
357 
358     /** Returns the builder for the settings used for calls to setQuicOverride. */
359     public UnaryCallSettings.Builder<SetQuicOverrideTargetHttpsProxyRequest, Operation>
setQuicOverrideSettings()360         setQuicOverrideSettings() {
361       return getStubSettingsBuilder().setQuicOverrideSettings();
362     }
363 
364     /** Returns the builder for the settings used for calls to setQuicOverride. */
365     public OperationCallSettings.Builder<
366             SetQuicOverrideTargetHttpsProxyRequest, Operation, Operation>
setQuicOverrideOperationSettings()367         setQuicOverrideOperationSettings() {
368       return getStubSettingsBuilder().setQuicOverrideOperationSettings();
369     }
370 
371     /** Returns the builder for the settings used for calls to setSslCertificates. */
372     public UnaryCallSettings.Builder<SetSslCertificatesTargetHttpsProxyRequest, Operation>
setSslCertificatesSettings()373         setSslCertificatesSettings() {
374       return getStubSettingsBuilder().setSslCertificatesSettings();
375     }
376 
377     /** Returns the builder for the settings used for calls to setSslCertificates. */
378     public OperationCallSettings.Builder<
379             SetSslCertificatesTargetHttpsProxyRequest, Operation, Operation>
setSslCertificatesOperationSettings()380         setSslCertificatesOperationSettings() {
381       return getStubSettingsBuilder().setSslCertificatesOperationSettings();
382     }
383 
384     /** Returns the builder for the settings used for calls to setSslPolicy. */
385     public UnaryCallSettings.Builder<SetSslPolicyTargetHttpsProxyRequest, Operation>
setSslPolicySettings()386         setSslPolicySettings() {
387       return getStubSettingsBuilder().setSslPolicySettings();
388     }
389 
390     /** Returns the builder for the settings used for calls to setSslPolicy. */
391     public OperationCallSettings.Builder<SetSslPolicyTargetHttpsProxyRequest, Operation, Operation>
setSslPolicyOperationSettings()392         setSslPolicyOperationSettings() {
393       return getStubSettingsBuilder().setSslPolicyOperationSettings();
394     }
395 
396     /** Returns the builder for the settings used for calls to setUrlMap. */
397     public UnaryCallSettings.Builder<SetUrlMapTargetHttpsProxyRequest, Operation>
setUrlMapSettings()398         setUrlMapSettings() {
399       return getStubSettingsBuilder().setUrlMapSettings();
400     }
401 
402     /** Returns the builder for the settings used for calls to setUrlMap. */
403     public OperationCallSettings.Builder<SetUrlMapTargetHttpsProxyRequest, Operation, Operation>
setUrlMapOperationSettings()404         setUrlMapOperationSettings() {
405       return getStubSettingsBuilder().setUrlMapOperationSettings();
406     }
407 
408     @Override
build()409     public TargetHttpsProxiesSettings build() throws IOException {
410       return new TargetHttpsProxiesSettings(this);
411     }
412   }
413 }
414