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