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