• 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.redis.v1;
18 
19 import static com.google.cloud.redis.v1.CloudRedisClient.ListInstancesPagedResponse;
20 import static com.google.cloud.redis.v1.CloudRedisClient.ListLocationsPagedResponse;
21 
22 import com.google.api.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.grpc.InstantiatingGrpcChannelProvider;
27 import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
28 import com.google.api.gax.rpc.ApiClientHeaderProvider;
29 import com.google.api.gax.rpc.ClientContext;
30 import com.google.api.gax.rpc.ClientSettings;
31 import com.google.api.gax.rpc.OperationCallSettings;
32 import com.google.api.gax.rpc.PagedCallSettings;
33 import com.google.api.gax.rpc.TransportChannelProvider;
34 import com.google.api.gax.rpc.UnaryCallSettings;
35 import com.google.cloud.location.GetLocationRequest;
36 import com.google.cloud.location.ListLocationsRequest;
37 import com.google.cloud.location.ListLocationsResponse;
38 import com.google.cloud.location.Location;
39 import com.google.cloud.redis.v1.stub.CloudRedisStubSettings;
40 import com.google.longrunning.Operation;
41 import com.google.protobuf.Empty;
42 import java.io.IOException;
43 import java.util.List;
44 import javax.annotation.Generated;
45 
46 // AUTO-GENERATED DOCUMENTATION AND CLASS.
47 /**
48  * Settings class to configure an instance of {@link CloudRedisClient}.
49  *
50  * <p>The default instance has everything set to sensible defaults:
51  *
52  * <ul>
53  *   <li>The default service address (redis.googleapis.com) and default port (443) are used.
54  *   <li>Credentials are acquired automatically through Application Default Credentials.
55  *   <li>Retries are configured for idempotent methods but not for non-idempotent methods.
56  * </ul>
57  *
58  * <p>The builder of this class is recursive, so contained classes are themselves builders. When
59  * build() is called, the tree of builders is called to create the complete settings object.
60  *
61  * <p>For example, to set the total timeout of getInstance to 30 seconds:
62  *
63  * <pre>{@code
64  * // This snippet has been automatically generated and should be regarded as a code template only.
65  * // It will require modifications to work:
66  * // - It may require correct/in-range values for request initialization.
67  * // - It may require specifying regional endpoints when creating the service client as shown in
68  * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
69  * CloudRedisSettings.Builder cloudRedisSettingsBuilder = CloudRedisSettings.newBuilder();
70  * cloudRedisSettingsBuilder
71  *     .getInstanceSettings()
72  *     .setRetrySettings(
73  *         cloudRedisSettingsBuilder
74  *             .getInstanceSettings()
75  *             .getRetrySettings()
76  *             .toBuilder()
77  *             .setTotalTimeout(Duration.ofSeconds(30))
78  *             .build());
79  * CloudRedisSettings cloudRedisSettings = cloudRedisSettingsBuilder.build();
80  * }</pre>
81  */
82 @Generated("by gapic-generator-java")
83 public class CloudRedisSettings extends ClientSettings<CloudRedisSettings> {
84 
85   /** Returns the object with the settings used for calls to listInstances. */
86   public PagedCallSettings<ListInstancesRequest, ListInstancesResponse, ListInstancesPagedResponse>
listInstancesSettings()87       listInstancesSettings() {
88     return ((CloudRedisStubSettings) getStubSettings()).listInstancesSettings();
89   }
90 
91   /** Returns the object with the settings used for calls to getInstance. */
getInstanceSettings()92   public UnaryCallSettings<GetInstanceRequest, Instance> getInstanceSettings() {
93     return ((CloudRedisStubSettings) getStubSettings()).getInstanceSettings();
94   }
95 
96   /** Returns the object with the settings used for calls to getInstanceAuthString. */
97   public UnaryCallSettings<GetInstanceAuthStringRequest, InstanceAuthString>
getInstanceAuthStringSettings()98       getInstanceAuthStringSettings() {
99     return ((CloudRedisStubSettings) getStubSettings()).getInstanceAuthStringSettings();
100   }
101 
102   /** Returns the object with the settings used for calls to createInstance. */
createInstanceSettings()103   public UnaryCallSettings<CreateInstanceRequest, Operation> createInstanceSettings() {
104     return ((CloudRedisStubSettings) getStubSettings()).createInstanceSettings();
105   }
106 
107   /** Returns the object with the settings used for calls to createInstance. */
108   public OperationCallSettings<CreateInstanceRequest, Instance, OperationMetadata>
createInstanceOperationSettings()109       createInstanceOperationSettings() {
110     return ((CloudRedisStubSettings) getStubSettings()).createInstanceOperationSettings();
111   }
112 
113   /** Returns the object with the settings used for calls to updateInstance. */
updateInstanceSettings()114   public UnaryCallSettings<UpdateInstanceRequest, Operation> updateInstanceSettings() {
115     return ((CloudRedisStubSettings) getStubSettings()).updateInstanceSettings();
116   }
117 
118   /** Returns the object with the settings used for calls to updateInstance. */
119   public OperationCallSettings<UpdateInstanceRequest, Instance, OperationMetadata>
updateInstanceOperationSettings()120       updateInstanceOperationSettings() {
121     return ((CloudRedisStubSettings) getStubSettings()).updateInstanceOperationSettings();
122   }
123 
124   /** Returns the object with the settings used for calls to upgradeInstance. */
upgradeInstanceSettings()125   public UnaryCallSettings<UpgradeInstanceRequest, Operation> upgradeInstanceSettings() {
126     return ((CloudRedisStubSettings) getStubSettings()).upgradeInstanceSettings();
127   }
128 
129   /** Returns the object with the settings used for calls to upgradeInstance. */
130   public OperationCallSettings<UpgradeInstanceRequest, Instance, OperationMetadata>
upgradeInstanceOperationSettings()131       upgradeInstanceOperationSettings() {
132     return ((CloudRedisStubSettings) getStubSettings()).upgradeInstanceOperationSettings();
133   }
134 
135   /** Returns the object with the settings used for calls to importInstance. */
importInstanceSettings()136   public UnaryCallSettings<ImportInstanceRequest, Operation> importInstanceSettings() {
137     return ((CloudRedisStubSettings) getStubSettings()).importInstanceSettings();
138   }
139 
140   /** Returns the object with the settings used for calls to importInstance. */
141   public OperationCallSettings<ImportInstanceRequest, Instance, OperationMetadata>
importInstanceOperationSettings()142       importInstanceOperationSettings() {
143     return ((CloudRedisStubSettings) getStubSettings()).importInstanceOperationSettings();
144   }
145 
146   /** Returns the object with the settings used for calls to exportInstance. */
exportInstanceSettings()147   public UnaryCallSettings<ExportInstanceRequest, Operation> exportInstanceSettings() {
148     return ((CloudRedisStubSettings) getStubSettings()).exportInstanceSettings();
149   }
150 
151   /** Returns the object with the settings used for calls to exportInstance. */
152   public OperationCallSettings<ExportInstanceRequest, Instance, OperationMetadata>
exportInstanceOperationSettings()153       exportInstanceOperationSettings() {
154     return ((CloudRedisStubSettings) getStubSettings()).exportInstanceOperationSettings();
155   }
156 
157   /** Returns the object with the settings used for calls to failoverInstance. */
failoverInstanceSettings()158   public UnaryCallSettings<FailoverInstanceRequest, Operation> failoverInstanceSettings() {
159     return ((CloudRedisStubSettings) getStubSettings()).failoverInstanceSettings();
160   }
161 
162   /** Returns the object with the settings used for calls to failoverInstance. */
163   public OperationCallSettings<FailoverInstanceRequest, Instance, OperationMetadata>
failoverInstanceOperationSettings()164       failoverInstanceOperationSettings() {
165     return ((CloudRedisStubSettings) getStubSettings()).failoverInstanceOperationSettings();
166   }
167 
168   /** Returns the object with the settings used for calls to deleteInstance. */
deleteInstanceSettings()169   public UnaryCallSettings<DeleteInstanceRequest, Operation> deleteInstanceSettings() {
170     return ((CloudRedisStubSettings) getStubSettings()).deleteInstanceSettings();
171   }
172 
173   /** Returns the object with the settings used for calls to deleteInstance. */
174   public OperationCallSettings<DeleteInstanceRequest, Empty, OperationMetadata>
deleteInstanceOperationSettings()175       deleteInstanceOperationSettings() {
176     return ((CloudRedisStubSettings) getStubSettings()).deleteInstanceOperationSettings();
177   }
178 
179   /** Returns the object with the settings used for calls to rescheduleMaintenance. */
180   public UnaryCallSettings<RescheduleMaintenanceRequest, Operation>
rescheduleMaintenanceSettings()181       rescheduleMaintenanceSettings() {
182     return ((CloudRedisStubSettings) getStubSettings()).rescheduleMaintenanceSettings();
183   }
184 
185   /** Returns the object with the settings used for calls to rescheduleMaintenance. */
186   public OperationCallSettings<RescheduleMaintenanceRequest, Instance, OperationMetadata>
rescheduleMaintenanceOperationSettings()187       rescheduleMaintenanceOperationSettings() {
188     return ((CloudRedisStubSettings) getStubSettings()).rescheduleMaintenanceOperationSettings();
189   }
190 
191   /** Returns the object with the settings used for calls to listLocations. */
192   public PagedCallSettings<ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse>
listLocationsSettings()193       listLocationsSettings() {
194     return ((CloudRedisStubSettings) getStubSettings()).listLocationsSettings();
195   }
196 
197   /** Returns the object with the settings used for calls to getLocation. */
getLocationSettings()198   public UnaryCallSettings<GetLocationRequest, Location> getLocationSettings() {
199     return ((CloudRedisStubSettings) getStubSettings()).getLocationSettings();
200   }
201 
create(CloudRedisStubSettings stub)202   public static final CloudRedisSettings create(CloudRedisStubSettings stub) throws IOException {
203     return new CloudRedisSettings.Builder(stub.toBuilder()).build();
204   }
205 
206   /** Returns a builder for the default ExecutorProvider for this service. */
defaultExecutorProviderBuilder()207   public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() {
208     return CloudRedisStubSettings.defaultExecutorProviderBuilder();
209   }
210 
211   /** Returns the default service endpoint. */
getDefaultEndpoint()212   public static String getDefaultEndpoint() {
213     return CloudRedisStubSettings.getDefaultEndpoint();
214   }
215 
216   /** Returns the default service scopes. */
getDefaultServiceScopes()217   public static List<String> getDefaultServiceScopes() {
218     return CloudRedisStubSettings.getDefaultServiceScopes();
219   }
220 
221   /** Returns a builder for the default credentials for this service. */
defaultCredentialsProviderBuilder()222   public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() {
223     return CloudRedisStubSettings.defaultCredentialsProviderBuilder();
224   }
225 
226   /** Returns a builder for the default gRPC ChannelProvider for this service. */
defaultGrpcTransportProviderBuilder()227   public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
228     return CloudRedisStubSettings.defaultGrpcTransportProviderBuilder();
229   }
230 
231   /** Returns a builder for the default REST ChannelProvider for this service. */
232   @BetaApi
233   public static InstantiatingHttpJsonChannelProvider.Builder
defaultHttpJsonTransportProviderBuilder()234       defaultHttpJsonTransportProviderBuilder() {
235     return CloudRedisStubSettings.defaultHttpJsonTransportProviderBuilder();
236   }
237 
defaultTransportChannelProvider()238   public static TransportChannelProvider defaultTransportChannelProvider() {
239     return CloudRedisStubSettings.defaultTransportChannelProvider();
240   }
241 
242   @BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
defaultApiClientHeaderProviderBuilder()243   public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
244     return CloudRedisStubSettings.defaultApiClientHeaderProviderBuilder();
245   }
246 
247   /** Returns a new gRPC builder for this class. */
newBuilder()248   public static Builder newBuilder() {
249     return Builder.createDefault();
250   }
251 
252   /** Returns a new REST builder for this class. */
253   @BetaApi
newHttpJsonBuilder()254   public static Builder newHttpJsonBuilder() {
255     return Builder.createHttpJsonDefault();
256   }
257 
258   /** Returns a new builder for this class. */
newBuilder(ClientContext clientContext)259   public static Builder newBuilder(ClientContext clientContext) {
260     return new Builder(clientContext);
261   }
262 
263   /** Returns a builder containing all the values of this settings class. */
toBuilder()264   public Builder toBuilder() {
265     return new Builder(this);
266   }
267 
CloudRedisSettings(Builder settingsBuilder)268   protected CloudRedisSettings(Builder settingsBuilder) throws IOException {
269     super(settingsBuilder);
270   }
271 
272   /** Builder for CloudRedisSettings. */
273   public static class Builder extends ClientSettings.Builder<CloudRedisSettings, Builder> {
274 
Builder()275     protected Builder() throws IOException {
276       this(((ClientContext) null));
277     }
278 
Builder(ClientContext clientContext)279     protected Builder(ClientContext clientContext) {
280       super(CloudRedisStubSettings.newBuilder(clientContext));
281     }
282 
Builder(CloudRedisSettings settings)283     protected Builder(CloudRedisSettings settings) {
284       super(settings.getStubSettings().toBuilder());
285     }
286 
Builder(CloudRedisStubSettings.Builder stubSettings)287     protected Builder(CloudRedisStubSettings.Builder stubSettings) {
288       super(stubSettings);
289     }
290 
createDefault()291     private static Builder createDefault() {
292       return new Builder(CloudRedisStubSettings.newBuilder());
293     }
294 
295     @BetaApi
createHttpJsonDefault()296     private static Builder createHttpJsonDefault() {
297       return new Builder(CloudRedisStubSettings.newHttpJsonBuilder());
298     }
299 
getStubSettingsBuilder()300     public CloudRedisStubSettings.Builder getStubSettingsBuilder() {
301       return ((CloudRedisStubSettings.Builder) getStubSettings());
302     }
303 
304     /**
305      * Applies the given settings updater function to all of the unary API methods in this service.
306      *
307      * <p>Note: This method does not support applying settings to streaming methods.
308      */
applyToAllUnaryMethods( ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater)309     public Builder applyToAllUnaryMethods(
310         ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater) {
311       super.applyToAllUnaryMethods(
312           getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater);
313       return this;
314     }
315 
316     /** Returns the builder for the settings used for calls to listInstances. */
317     public PagedCallSettings.Builder<
318             ListInstancesRequest, ListInstancesResponse, ListInstancesPagedResponse>
listInstancesSettings()319         listInstancesSettings() {
320       return getStubSettingsBuilder().listInstancesSettings();
321     }
322 
323     /** Returns the builder for the settings used for calls to getInstance. */
getInstanceSettings()324     public UnaryCallSettings.Builder<GetInstanceRequest, Instance> getInstanceSettings() {
325       return getStubSettingsBuilder().getInstanceSettings();
326     }
327 
328     /** Returns the builder for the settings used for calls to getInstanceAuthString. */
329     public UnaryCallSettings.Builder<GetInstanceAuthStringRequest, InstanceAuthString>
getInstanceAuthStringSettings()330         getInstanceAuthStringSettings() {
331       return getStubSettingsBuilder().getInstanceAuthStringSettings();
332     }
333 
334     /** Returns the builder for the settings used for calls to createInstance. */
createInstanceSettings()335     public UnaryCallSettings.Builder<CreateInstanceRequest, Operation> createInstanceSettings() {
336       return getStubSettingsBuilder().createInstanceSettings();
337     }
338 
339     /** Returns the builder for the settings used for calls to createInstance. */
340     public OperationCallSettings.Builder<CreateInstanceRequest, Instance, OperationMetadata>
createInstanceOperationSettings()341         createInstanceOperationSettings() {
342       return getStubSettingsBuilder().createInstanceOperationSettings();
343     }
344 
345     /** Returns the builder for the settings used for calls to updateInstance. */
updateInstanceSettings()346     public UnaryCallSettings.Builder<UpdateInstanceRequest, Operation> updateInstanceSettings() {
347       return getStubSettingsBuilder().updateInstanceSettings();
348     }
349 
350     /** Returns the builder for the settings used for calls to updateInstance. */
351     public OperationCallSettings.Builder<UpdateInstanceRequest, Instance, OperationMetadata>
updateInstanceOperationSettings()352         updateInstanceOperationSettings() {
353       return getStubSettingsBuilder().updateInstanceOperationSettings();
354     }
355 
356     /** Returns the builder for the settings used for calls to upgradeInstance. */
upgradeInstanceSettings()357     public UnaryCallSettings.Builder<UpgradeInstanceRequest, Operation> upgradeInstanceSettings() {
358       return getStubSettingsBuilder().upgradeInstanceSettings();
359     }
360 
361     /** Returns the builder for the settings used for calls to upgradeInstance. */
362     public OperationCallSettings.Builder<UpgradeInstanceRequest, Instance, OperationMetadata>
upgradeInstanceOperationSettings()363         upgradeInstanceOperationSettings() {
364       return getStubSettingsBuilder().upgradeInstanceOperationSettings();
365     }
366 
367     /** Returns the builder for the settings used for calls to importInstance. */
importInstanceSettings()368     public UnaryCallSettings.Builder<ImportInstanceRequest, Operation> importInstanceSettings() {
369       return getStubSettingsBuilder().importInstanceSettings();
370     }
371 
372     /** Returns the builder for the settings used for calls to importInstance. */
373     public OperationCallSettings.Builder<ImportInstanceRequest, Instance, OperationMetadata>
importInstanceOperationSettings()374         importInstanceOperationSettings() {
375       return getStubSettingsBuilder().importInstanceOperationSettings();
376     }
377 
378     /** Returns the builder for the settings used for calls to exportInstance. */
exportInstanceSettings()379     public UnaryCallSettings.Builder<ExportInstanceRequest, Operation> exportInstanceSettings() {
380       return getStubSettingsBuilder().exportInstanceSettings();
381     }
382 
383     /** Returns the builder for the settings used for calls to exportInstance. */
384     public OperationCallSettings.Builder<ExportInstanceRequest, Instance, OperationMetadata>
exportInstanceOperationSettings()385         exportInstanceOperationSettings() {
386       return getStubSettingsBuilder().exportInstanceOperationSettings();
387     }
388 
389     /** Returns the builder for the settings used for calls to failoverInstance. */
390     public UnaryCallSettings.Builder<FailoverInstanceRequest, Operation>
failoverInstanceSettings()391         failoverInstanceSettings() {
392       return getStubSettingsBuilder().failoverInstanceSettings();
393     }
394 
395     /** Returns the builder for the settings used for calls to failoverInstance. */
396     public OperationCallSettings.Builder<FailoverInstanceRequest, Instance, OperationMetadata>
failoverInstanceOperationSettings()397         failoverInstanceOperationSettings() {
398       return getStubSettingsBuilder().failoverInstanceOperationSettings();
399     }
400 
401     /** Returns the builder for the settings used for calls to deleteInstance. */
deleteInstanceSettings()402     public UnaryCallSettings.Builder<DeleteInstanceRequest, Operation> deleteInstanceSettings() {
403       return getStubSettingsBuilder().deleteInstanceSettings();
404     }
405 
406     /** Returns the builder for the settings used for calls to deleteInstance. */
407     public OperationCallSettings.Builder<DeleteInstanceRequest, Empty, OperationMetadata>
deleteInstanceOperationSettings()408         deleteInstanceOperationSettings() {
409       return getStubSettingsBuilder().deleteInstanceOperationSettings();
410     }
411 
412     /** Returns the builder for the settings used for calls to rescheduleMaintenance. */
413     public UnaryCallSettings.Builder<RescheduleMaintenanceRequest, Operation>
rescheduleMaintenanceSettings()414         rescheduleMaintenanceSettings() {
415       return getStubSettingsBuilder().rescheduleMaintenanceSettings();
416     }
417 
418     /** Returns the builder for the settings used for calls to rescheduleMaintenance. */
419     public OperationCallSettings.Builder<RescheduleMaintenanceRequest, Instance, OperationMetadata>
rescheduleMaintenanceOperationSettings()420         rescheduleMaintenanceOperationSettings() {
421       return getStubSettingsBuilder().rescheduleMaintenanceOperationSettings();
422     }
423 
424     /** Returns the builder for the settings used for calls to listLocations. */
425     public PagedCallSettings.Builder<
426             ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse>
listLocationsSettings()427         listLocationsSettings() {
428       return getStubSettingsBuilder().listLocationsSettings();
429     }
430 
431     /** Returns the builder for the settings used for calls to getLocation. */
getLocationSettings()432     public UnaryCallSettings.Builder<GetLocationRequest, Location> getLocationSettings() {
433       return getStubSettingsBuilder().getLocationSettings();
434     }
435 
436     @Override
build()437     public CloudRedisSettings build() throws IOException {
438       return new CloudRedisSettings(this);
439     }
440   }
441 }
442