google-cloud-redis-cluster-v1beta1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/LICENSE.md +201 -0
  5. data/README.md +144 -0
  6. data/lib/google/cloud/redis/cluster/v1beta1/bindings_override.rb +104 -0
  7. data/lib/google/cloud/redis/cluster/v1beta1/cloud_redis_cluster/client.rb +1048 -0
  8. data/lib/google/cloud/redis/cluster/v1beta1/cloud_redis_cluster/credentials.rb +49 -0
  9. data/lib/google/cloud/redis/cluster/v1beta1/cloud_redis_cluster/operations.rb +811 -0
  10. data/lib/google/cloud/redis/cluster/v1beta1/cloud_redis_cluster/paths.rb +90 -0
  11. data/lib/google/cloud/redis/cluster/v1beta1/cloud_redis_cluster/rest/client.rb +987 -0
  12. data/lib/google/cloud/redis/cluster/v1beta1/cloud_redis_cluster/rest/operations.rb +903 -0
  13. data/lib/google/cloud/redis/cluster/v1beta1/cloud_redis_cluster/rest/service_stub.rb +427 -0
  14. data/lib/google/cloud/redis/cluster/v1beta1/cloud_redis_cluster/rest.rb +76 -0
  15. data/lib/google/cloud/redis/cluster/v1beta1/cloud_redis_cluster.rb +78 -0
  16. data/lib/google/cloud/redis/cluster/v1beta1/cloud_redis_cluster_pb.rb +84 -0
  17. data/lib/google/cloud/redis/cluster/v1beta1/cloud_redis_cluster_services_pb.rb +97 -0
  18. data/lib/google/cloud/redis/cluster/v1beta1/rest.rb +40 -0
  19. data/lib/google/cloud/redis/cluster/v1beta1/version.rb +30 -0
  20. data/lib/google/cloud/redis/cluster/v1beta1.rb +47 -0
  21. data/lib/google-cloud-redis-cluster-v1beta1.rb +21 -0
  22. data/proto_docs/README.md +4 -0
  23. data/proto_docs/google/api/client.rb +399 -0
  24. data/proto_docs/google/api/field_behavior.rb +85 -0
  25. data/proto_docs/google/api/launch_stage.rb +71 -0
  26. data/proto_docs/google/api/resource.rb +222 -0
  27. data/proto_docs/google/cloud/redis/cluster/v1beta1/cloud_redis_cluster.rb +564 -0
  28. data/proto_docs/google/longrunning/operations.rb +164 -0
  29. data/proto_docs/google/protobuf/any.rb +145 -0
  30. data/proto_docs/google/protobuf/duration.rb +98 -0
  31. data/proto_docs/google/protobuf/empty.rb +34 -0
  32. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  33. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  34. data/proto_docs/google/rpc/status.rb +48 -0
  35. metadata +132 -0
@@ -0,0 +1,564 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Redis
23
+ module Cluster
24
+ module V1beta1
25
+ # Request for [CreateCluster][CloudRedis.CreateCluster].
26
+ # @!attribute [rw] parent
27
+ # @return [::String]
28
+ # Required. The resource name of the cluster location using the form:
29
+ # `projects/{project_id}/locations/{location_id}`
30
+ # where `location_id` refers to a GCP region.
31
+ # @!attribute [rw] cluster_id
32
+ # @return [::String]
33
+ # Required. The logical name of the Redis cluster in the customer project
34
+ # with the following restrictions:
35
+ #
36
+ # * Must contain only lowercase letters, numbers, and hyphens.
37
+ # * Must start with a letter.
38
+ # * Must be between 1-63 characters.
39
+ # * Must end with a number or a letter.
40
+ # * Must be unique within the customer project / location
41
+ # @!attribute [rw] cluster
42
+ # @return [::Google::Cloud::Redis::Cluster::V1beta1::Cluster]
43
+ # Required. The cluster that is to be created.
44
+ # @!attribute [rw] request_id
45
+ # @return [::String]
46
+ # Idempotent request UUID.
47
+ class CreateClusterRequest
48
+ include ::Google::Protobuf::MessageExts
49
+ extend ::Google::Protobuf::MessageExts::ClassMethods
50
+ end
51
+
52
+ # Request for [ListClusters][CloudRedis.ListClusters].
53
+ # @!attribute [rw] parent
54
+ # @return [::String]
55
+ # Required. The resource name of the cluster location using the form:
56
+ # `projects/{project_id}/locations/{location_id}`
57
+ # where `location_id` refers to a GCP region.
58
+ # @!attribute [rw] page_size
59
+ # @return [::Integer]
60
+ # The maximum number of items to return.
61
+ #
62
+ # If not specified, a default value of 1000 will be used by the service.
63
+ # Regardless of the page_size value, the response may include a partial list
64
+ # and a caller should only rely on response's
65
+ # {::Google::Cloud::Redis::Cluster::V1beta1::ListClustersResponse#next_page_token `next_page_token`}
66
+ # to determine if there are more clusters left to be queried.
67
+ # @!attribute [rw] page_token
68
+ # @return [::String]
69
+ # The `next_page_token` value returned from a previous
70
+ # [ListClusters][CloudRedis.ListClusters] request, if any.
71
+ class ListClustersRequest
72
+ include ::Google::Protobuf::MessageExts
73
+ extend ::Google::Protobuf::MessageExts::ClassMethods
74
+ end
75
+
76
+ # Response for [ListClusters][CloudRedis.ListClusters].
77
+ # @!attribute [rw] clusters
78
+ # @return [::Array<::Google::Cloud::Redis::Cluster::V1beta1::Cluster>]
79
+ # A list of Redis clusters in the project in the specified location,
80
+ # or across all locations.
81
+ #
82
+ # If the `location_id` in the parent field of the request is "-", all regions
83
+ # available to the project are queried, and the results aggregated.
84
+ # If in such an aggregated query a location is unavailable, a placeholder
85
+ # Redis entry is included in the response with the `name` field set to a
86
+ # value of the form
87
+ # `projects/{project_id}/locations/{location_id}/clusters/`- and the
88
+ # `status` field set to ERROR and `status_message` field set to "location not
89
+ # available for ListClusters".
90
+ # @!attribute [rw] next_page_token
91
+ # @return [::String]
92
+ # Token to retrieve the next page of results, or empty if there are no more
93
+ # results in the list.
94
+ # @!attribute [rw] unreachable
95
+ # @return [::Array<::String>]
96
+ # Locations that could not be reached.
97
+ class ListClustersResponse
98
+ include ::Google::Protobuf::MessageExts
99
+ extend ::Google::Protobuf::MessageExts::ClassMethods
100
+ end
101
+
102
+ # Request for [UpdateCluster][CloudRedis.UpdateCluster].
103
+ # @!attribute [rw] update_mask
104
+ # @return [::Google::Protobuf::FieldMask]
105
+ # Required. Mask of fields to update. At least one path must be supplied in
106
+ # this field. The elements of the repeated paths field may only include these
107
+ # fields from {::Google::Cloud::Redis::Cluster::V1beta1::Cluster Cluster}:
108
+ #
109
+ # * `size_gb`
110
+ # * `replica_count`
111
+ # @!attribute [rw] cluster
112
+ # @return [::Google::Cloud::Redis::Cluster::V1beta1::Cluster]
113
+ # Required. Update description.
114
+ # Only fields specified in update_mask are updated.
115
+ # @!attribute [rw] request_id
116
+ # @return [::String]
117
+ # Idempotent request UUID.
118
+ class UpdateClusterRequest
119
+ include ::Google::Protobuf::MessageExts
120
+ extend ::Google::Protobuf::MessageExts::ClassMethods
121
+ end
122
+
123
+ # Request for [GetCluster][CloudRedis.GetCluster].
124
+ # @!attribute [rw] name
125
+ # @return [::String]
126
+ # Required. Redis cluster resource name using the form:
127
+ # `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}`
128
+ # where `location_id` refers to a GCP region.
129
+ class GetClusterRequest
130
+ include ::Google::Protobuf::MessageExts
131
+ extend ::Google::Protobuf::MessageExts::ClassMethods
132
+ end
133
+
134
+ # Request for [DeleteCluster][CloudRedis.DeleteCluster].
135
+ # @!attribute [rw] name
136
+ # @return [::String]
137
+ # Required. Redis cluster resource name using the form:
138
+ # `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}`
139
+ # where `location_id` refers to a GCP region.
140
+ # @!attribute [rw] request_id
141
+ # @return [::String]
142
+ # Idempotent request UUID.
143
+ class DeleteClusterRequest
144
+ include ::Google::Protobuf::MessageExts
145
+ extend ::Google::Protobuf::MessageExts::ClassMethods
146
+ end
147
+
148
+ # Request for
149
+ # [GetClusterCertificateAuthorityRequest][CloudRedis.GetClusterCertificateAuthorityRequest].
150
+ # @!attribute [rw] name
151
+ # @return [::String]
152
+ # Required. Redis cluster certificate authority resource name using the form:
153
+ # `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}/certificateAuthority`
154
+ # where `location_id` refers to a GCP region.
155
+ class GetClusterCertificateAuthorityRequest
156
+ include ::Google::Protobuf::MessageExts
157
+ extend ::Google::Protobuf::MessageExts::ClassMethods
158
+ end
159
+
160
+ # A cluster instance.
161
+ # @!attribute [rw] name
162
+ # @return [::String]
163
+ # Required. Unique name of the resource in this scope including project and
164
+ # location using the form:
165
+ # `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}`
166
+ # @!attribute [r] create_time
167
+ # @return [::Google::Protobuf::Timestamp]
168
+ # Output only. The timestamp associated with the cluster creation request.
169
+ # @!attribute [r] state
170
+ # @return [::Google::Cloud::Redis::Cluster::V1beta1::Cluster::State]
171
+ # Output only. The current state of this cluster.
172
+ # Can be CREATING, READY, UPDATING, DELETING and SUSPENDED
173
+ # @!attribute [r] uid
174
+ # @return [::String]
175
+ # Output only. System assigned, unique identifier for the cluster.
176
+ # @!attribute [rw] replica_count
177
+ # @return [::Integer]
178
+ # Optional. The number of replica nodes per shard.
179
+ # @!attribute [rw] authorization_mode
180
+ # @return [::Google::Cloud::Redis::Cluster::V1beta1::AuthorizationMode]
181
+ # Optional. The authorization mode of the Redis cluster.
182
+ # If not provided, auth feature is disabled for the cluster.
183
+ # @!attribute [rw] transit_encryption_mode
184
+ # @return [::Google::Cloud::Redis::Cluster::V1beta1::TransitEncryptionMode]
185
+ # Optional. The in-transit encryption for the Redis cluster.
186
+ # If not provided, encryption is disabled for the cluster.
187
+ # @!attribute [r] size_gb
188
+ # @return [::Integer]
189
+ # Output only. Redis memory size in GB for the entire cluster rounded up to
190
+ # the next integer.
191
+ # @!attribute [rw] shard_count
192
+ # @return [::Integer]
193
+ # Required. Number of shards for the Redis cluster.
194
+ # @!attribute [rw] psc_configs
195
+ # @return [::Array<::Google::Cloud::Redis::Cluster::V1beta1::PscConfig>]
196
+ # Required. Each PscConfig configures the consumer network where IPs will
197
+ # be designated to the cluster for client access through Private Service
198
+ # Connect Automation. Currently, only one PscConfig is supported.
199
+ # @!attribute [r] discovery_endpoints
200
+ # @return [::Array<::Google::Cloud::Redis::Cluster::V1beta1::DiscoveryEndpoint>]
201
+ # Output only. Endpoints created on each given network, for Redis clients to
202
+ # connect to the cluster. Currently only one discovery endpoint is supported.
203
+ # @!attribute [r] psc_connections
204
+ # @return [::Array<::Google::Cloud::Redis::Cluster::V1beta1::PscConnection>]
205
+ # Output only. PSC connections for discovery of the cluster topology and
206
+ # accessing the cluster.
207
+ # @!attribute [r] state_info
208
+ # @return [::Google::Cloud::Redis::Cluster::V1beta1::Cluster::StateInfo]
209
+ # Output only. Additional information about the current state of the cluster.
210
+ # @!attribute [rw] node_type
211
+ # @return [::Google::Cloud::Redis::Cluster::V1beta1::NodeType]
212
+ # Optional. The type of a redis node in the cluster. NodeType determines the
213
+ # underlying machine-type of a redis node.
214
+ # @!attribute [rw] persistence_config
215
+ # @return [::Google::Cloud::Redis::Cluster::V1beta1::ClusterPersistenceConfig]
216
+ # Optional. Persistence config (RDB, AOF) for the cluster.
217
+ # @!attribute [rw] redis_configs
218
+ # @return [::Google::Protobuf::Map{::String => ::String}]
219
+ # Optional. Key/Value pairs of customer overrides for mutable Redis Configs
220
+ # @!attribute [r] precise_size_gb
221
+ # @return [::Float]
222
+ # Output only. Precise value of redis memory size in GB for the entire
223
+ # cluster.
224
+ # @!attribute [rw] zone_distribution_config
225
+ # @return [::Google::Cloud::Redis::Cluster::V1beta1::ZoneDistributionConfig]
226
+ # Optional. This config will be used to determine how the customer wants us
227
+ # to distribute cluster resources within the region.
228
+ # @!attribute [rw] deletion_protection_enabled
229
+ # @return [::Boolean]
230
+ # Optional. The delete operation will fail when the value is set to true.
231
+ class Cluster
232
+ include ::Google::Protobuf::MessageExts
233
+ extend ::Google::Protobuf::MessageExts::ClassMethods
234
+
235
+ # Represents additional information about the state of the cluster.
236
+ # @!attribute [rw] update_info
237
+ # @return [::Google::Cloud::Redis::Cluster::V1beta1::Cluster::StateInfo::UpdateInfo]
238
+ # Describes ongoing update on the cluster when cluster state is UPDATING.
239
+ class StateInfo
240
+ include ::Google::Protobuf::MessageExts
241
+ extend ::Google::Protobuf::MessageExts::ClassMethods
242
+
243
+ # Represents information about an updating cluster.
244
+ # @!attribute [rw] target_shard_count
245
+ # @return [::Integer]
246
+ # Target number of shards for redis cluster
247
+ # @!attribute [rw] target_replica_count
248
+ # @return [::Integer]
249
+ # Target number of replica nodes per shard.
250
+ class UpdateInfo
251
+ include ::Google::Protobuf::MessageExts
252
+ extend ::Google::Protobuf::MessageExts::ClassMethods
253
+ end
254
+ end
255
+
256
+ # @!attribute [rw] key
257
+ # @return [::String]
258
+ # @!attribute [rw] value
259
+ # @return [::String]
260
+ class RedisConfigsEntry
261
+ include ::Google::Protobuf::MessageExts
262
+ extend ::Google::Protobuf::MessageExts::ClassMethods
263
+ end
264
+
265
+ # Represents the different states of a Redis cluster.
266
+ module State
267
+ # Not set.
268
+ STATE_UNSPECIFIED = 0
269
+
270
+ # Redis cluster is being created.
271
+ CREATING = 1
272
+
273
+ # Redis cluster has been created and is fully usable.
274
+ ACTIVE = 2
275
+
276
+ # Redis cluster configuration is being updated.
277
+ UPDATING = 3
278
+
279
+ # Redis cluster is being deleted.
280
+ DELETING = 4
281
+ end
282
+ end
283
+
284
+ # @!attribute [rw] network
285
+ # @return [::String]
286
+ # Required. The network where the IP address of the discovery endpoint will
287
+ # be reserved, in the form of
288
+ # projects/\\{network_project}/global/networks/\\{network_id}.
289
+ class PscConfig
290
+ include ::Google::Protobuf::MessageExts
291
+ extend ::Google::Protobuf::MessageExts::ClassMethods
292
+ end
293
+
294
+ # Endpoints on each network, for Redis clients to connect to the cluster.
295
+ # @!attribute [r] address
296
+ # @return [::String]
297
+ # Output only. Address of the exposed Redis endpoint used by clients to
298
+ # connect to the service. The address could be either IP or hostname.
299
+ # @!attribute [r] port
300
+ # @return [::Integer]
301
+ # Output only. The port number of the exposed Redis endpoint.
302
+ # @!attribute [r] psc_config
303
+ # @return [::Google::Cloud::Redis::Cluster::V1beta1::PscConfig]
304
+ # Output only. Customer configuration for where the endpoint is created and
305
+ # accessed from.
306
+ class DiscoveryEndpoint
307
+ include ::Google::Protobuf::MessageExts
308
+ extend ::Google::Protobuf::MessageExts::ClassMethods
309
+ end
310
+
311
+ # Details of consumer resources in a PSC connection.
312
+ # @!attribute [r] psc_connection_id
313
+ # @return [::String]
314
+ # Output only. The PSC connection id of the forwarding rule connected to the
315
+ # service attachment.
316
+ # @!attribute [r] address
317
+ # @return [::String]
318
+ # Output only. The IP allocated on the consumer network for the PSC
319
+ # forwarding rule.
320
+ # @!attribute [r] forwarding_rule
321
+ # @return [::String]
322
+ # Output only. The URI of the consumer side forwarding rule.
323
+ # Example:
324
+ # projects/\\{projectNumOrId}/regions/us-east1/forwardingRules/\\{resourceId}.
325
+ # @!attribute [r] project_id
326
+ # @return [::String]
327
+ # Output only. The consumer project_id where the forwarding rule is created
328
+ # from.
329
+ # @!attribute [rw] network
330
+ # @return [::String]
331
+ # The consumer network where the IP address resides, in the form of
332
+ # projects/\\{project_id}/global/networks/\\{network_id}.
333
+ class PscConnection
334
+ include ::Google::Protobuf::MessageExts
335
+ extend ::Google::Protobuf::MessageExts::ClassMethods
336
+ end
337
+
338
+ # Pre-defined metadata fields.
339
+ # @!attribute [r] create_time
340
+ # @return [::Google::Protobuf::Timestamp]
341
+ # Output only. The time the operation was created.
342
+ # @!attribute [r] end_time
343
+ # @return [::Google::Protobuf::Timestamp]
344
+ # Output only. The time the operation finished running.
345
+ # @!attribute [r] target
346
+ # @return [::String]
347
+ # Output only. Server-defined resource path for the target of the operation.
348
+ # @!attribute [r] verb
349
+ # @return [::String]
350
+ # Output only. Name of the verb executed by the operation.
351
+ # @!attribute [r] status_message
352
+ # @return [::String]
353
+ # Output only. Human-readable status of the operation, if any.
354
+ # @!attribute [r] requested_cancellation
355
+ # @return [::Boolean]
356
+ # Output only. Identifies whether the user has requested cancellation
357
+ # of the operation. Operations that have successfully been cancelled
358
+ # have [Operation.error][] value with a
359
+ # {::Google::Rpc::Status#code google.rpc.Status.code} of 1, corresponding to
360
+ # `Code.CANCELLED`.
361
+ # @!attribute [r] api_version
362
+ # @return [::String]
363
+ # Output only. API version used to start the operation.
364
+ class OperationMetadata
365
+ include ::Google::Protobuf::MessageExts
366
+ extend ::Google::Protobuf::MessageExts::ClassMethods
367
+ end
368
+
369
+ # Redis cluster certificate authority
370
+ # @!attribute [rw] managed_server_ca
371
+ # @return [::Google::Cloud::Redis::Cluster::V1beta1::CertificateAuthority::ManagedCertificateAuthority]
372
+ # @!attribute [rw] name
373
+ # @return [::String]
374
+ # Identifier. Unique name of the resource in this scope including project,
375
+ # location and cluster using the form:
376
+ # `projects/{project}/locations/{location}/clusters/{cluster}/certificateAuthority`
377
+ class CertificateAuthority
378
+ include ::Google::Protobuf::MessageExts
379
+ extend ::Google::Protobuf::MessageExts::ClassMethods
380
+
381
+ # @!attribute [rw] ca_certs
382
+ # @return [::Array<::Google::Cloud::Redis::Cluster::V1beta1::CertificateAuthority::ManagedCertificateAuthority::CertChain>]
383
+ # The PEM encoded CA certificate chains for redis managed
384
+ # server authentication
385
+ class ManagedCertificateAuthority
386
+ include ::Google::Protobuf::MessageExts
387
+ extend ::Google::Protobuf::MessageExts::ClassMethods
388
+
389
+ # @!attribute [rw] certificates
390
+ # @return [::Array<::String>]
391
+ # The certificates that form the CA chain, from leaf to root order.
392
+ class CertChain
393
+ include ::Google::Protobuf::MessageExts
394
+ extend ::Google::Protobuf::MessageExts::ClassMethods
395
+ end
396
+ end
397
+ end
398
+
399
+ # Configuration of the persistence functionality.
400
+ # @!attribute [rw] mode
401
+ # @return [::Google::Cloud::Redis::Cluster::V1beta1::ClusterPersistenceConfig::PersistenceMode]
402
+ # Optional. The mode of persistence.
403
+ # @!attribute [rw] rdb_config
404
+ # @return [::Google::Cloud::Redis::Cluster::V1beta1::ClusterPersistenceConfig::RDBConfig]
405
+ # Optional. RDB configuration. This field will be ignored if mode is not RDB.
406
+ # @!attribute [rw] aof_config
407
+ # @return [::Google::Cloud::Redis::Cluster::V1beta1::ClusterPersistenceConfig::AOFConfig]
408
+ # Optional. AOF configuration. This field will be ignored if mode is not AOF.
409
+ class ClusterPersistenceConfig
410
+ include ::Google::Protobuf::MessageExts
411
+ extend ::Google::Protobuf::MessageExts::ClassMethods
412
+
413
+ # Configuration of the RDB based persistence.
414
+ # @!attribute [rw] rdb_snapshot_period
415
+ # @return [::Google::Cloud::Redis::Cluster::V1beta1::ClusterPersistenceConfig::RDBConfig::SnapshotPeriod]
416
+ # Optional. Period between RDB snapshots.
417
+ # @!attribute [rw] rdb_snapshot_start_time
418
+ # @return [::Google::Protobuf::Timestamp]
419
+ # Optional. The time that the first snapshot was/will be attempted, and to
420
+ # which future snapshots will be aligned. If not provided, the current time
421
+ # will be used.
422
+ class RDBConfig
423
+ include ::Google::Protobuf::MessageExts
424
+ extend ::Google::Protobuf::MessageExts::ClassMethods
425
+
426
+ # Available snapshot periods.
427
+ module SnapshotPeriod
428
+ # Not set.
429
+ SNAPSHOT_PERIOD_UNSPECIFIED = 0
430
+
431
+ # One hour.
432
+ ONE_HOUR = 1
433
+
434
+ # Six hours.
435
+ SIX_HOURS = 2
436
+
437
+ # Twelve hours.
438
+ TWELVE_HOURS = 3
439
+
440
+ # Twenty four hours.
441
+ TWENTY_FOUR_HOURS = 4
442
+ end
443
+ end
444
+
445
+ # Configuration of the AOF based persistence.
446
+ # @!attribute [rw] append_fsync
447
+ # @return [::Google::Cloud::Redis::Cluster::V1beta1::ClusterPersistenceConfig::AOFConfig::AppendFsync]
448
+ # Optional. fsync configuration.
449
+ class AOFConfig
450
+ include ::Google::Protobuf::MessageExts
451
+ extend ::Google::Protobuf::MessageExts::ClassMethods
452
+
453
+ # Available fsync modes.
454
+ module AppendFsync
455
+ # Not set. Default: EVERYSEC
456
+ APPEND_FSYNC_UNSPECIFIED = 0
457
+
458
+ # Never fsync. Normally Linux will flush data every 30 seconds with this
459
+ # configuration, but it's up to the kernel's exact tuning.
460
+ NO = 1
461
+
462
+ # fsync every second. Fast enough, and you may lose 1 second of data if
463
+ # there is a disaster
464
+ EVERYSEC = 2
465
+
466
+ # fsync every time new commands are appended to the AOF. It has the best
467
+ # data loss protection at the cost of performance
468
+ ALWAYS = 3
469
+ end
470
+ end
471
+
472
+ # Available persistence modes.
473
+ module PersistenceMode
474
+ # Not set.
475
+ PERSISTENCE_MODE_UNSPECIFIED = 0
476
+
477
+ # Persistence is disabled, and any snapshot data is deleted.
478
+ DISABLED = 1
479
+
480
+ # RDB based persistence is enabled.
481
+ RDB = 2
482
+
483
+ # AOF based persistence is enabled.
484
+ AOF = 3
485
+ end
486
+ end
487
+
488
+ # Zone distribution config for allocation of cluster resources.
489
+ # @!attribute [rw] mode
490
+ # @return [::Google::Cloud::Redis::Cluster::V1beta1::ZoneDistributionConfig::ZoneDistributionMode]
491
+ # Optional. The mode of zone distribution. Defaults to MULTI_ZONE, when not
492
+ # specified.
493
+ # @!attribute [rw] zone
494
+ # @return [::String]
495
+ # Optional. When SINGLE ZONE distribution is selected, zone field would be
496
+ # used to allocate all resources in that zone. This is not applicable to
497
+ # MULTI_ZONE, and would be ignored for MULTI_ZONE clusters.
498
+ class ZoneDistributionConfig
499
+ include ::Google::Protobuf::MessageExts
500
+ extend ::Google::Protobuf::MessageExts::ClassMethods
501
+
502
+ # Defines various modes of zone distribution.
503
+ # Currently supports two modes, can be expanded in future to support more
504
+ # types of distribution modes.
505
+ # design doc: go/same-zone-cluster
506
+ module ZoneDistributionMode
507
+ # Not Set. Default: MULTI_ZONE
508
+ ZONE_DISTRIBUTION_MODE_UNSPECIFIED = 0
509
+
510
+ # Distribute all resources across 3 zones picked at random, within the
511
+ # region.
512
+ MULTI_ZONE = 1
513
+
514
+ # Distribute all resources in a single zone. The zone field must be
515
+ # specified, when this mode is selected.
516
+ SINGLE_ZONE = 2
517
+ end
518
+ end
519
+
520
+ # Available authorization mode of a Redis cluster.
521
+ module AuthorizationMode
522
+ # Not set.
523
+ AUTH_MODE_UNSPECIFIED = 0
524
+
525
+ # IAM basic authorization mode
526
+ AUTH_MODE_IAM_AUTH = 1
527
+
528
+ # Authorization disabled mode
529
+ AUTH_MODE_DISABLED = 2
530
+ end
531
+
532
+ # NodeType of a redis cluster node,
533
+ module NodeType
534
+ NODE_TYPE_UNSPECIFIED = 0
535
+
536
+ # Redis shared core nano node_type.
537
+ REDIS_SHARED_CORE_NANO = 1
538
+
539
+ # Redis highmem medium node_type.
540
+ REDIS_HIGHMEM_MEDIUM = 2
541
+
542
+ # Redis highmem xlarge node_type.
543
+ REDIS_HIGHMEM_XLARGE = 3
544
+
545
+ # Redis standard small node_type.
546
+ REDIS_STANDARD_SMALL = 4
547
+ end
548
+
549
+ # Available mode of in-transit encryption.
550
+ module TransitEncryptionMode
551
+ # In-transit encryption not set.
552
+ TRANSIT_ENCRYPTION_MODE_UNSPECIFIED = 0
553
+
554
+ # In-transit encryption disabled.
555
+ TRANSIT_ENCRYPTION_MODE_DISABLED = 1
556
+
557
+ # Use server managed encryption for in-transit encryption.
558
+ TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION = 2
559
+ end
560
+ end
561
+ end
562
+ end
563
+ end
564
+ end