google-cloud-redis-cluster-v1beta1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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