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