google-cloud-redis-cluster-v1 0.5.0 → 1.0.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.
@@ -157,11 +157,179 @@ module Google
157
157
  extend ::Google::Protobuf::MessageExts::ClassMethods
158
158
  end
159
159
 
160
+ # Request for [ListBackupCollections]
161
+ # @!attribute [rw] parent
162
+ # @return [::String]
163
+ # Required. The resource name of the backupCollection location using the
164
+ # form:
165
+ # `projects/{project_id}/locations/{location_id}`
166
+ # where `location_id` refers to a GCP region.
167
+ # @!attribute [rw] page_size
168
+ # @return [::Integer]
169
+ # Optional. The maximum number of items to return.
170
+ #
171
+ # If not specified, a default value of 1000 will be used by the service.
172
+ # Regardless of the page_size value, the response may include a partial list
173
+ # and a caller should only rely on response's
174
+ # {::Google::Cloud::Redis::Cluster::V1::ListBackupCollectionsResponse#next_page_token `next_page_token`}
175
+ # to determine if there are more clusters left to be queried.
176
+ # @!attribute [rw] page_token
177
+ # @return [::String]
178
+ # Optional. The `next_page_token` value returned from a previous
179
+ # [ListBackupCollections] request, if any.
180
+ class ListBackupCollectionsRequest
181
+ include ::Google::Protobuf::MessageExts
182
+ extend ::Google::Protobuf::MessageExts::ClassMethods
183
+ end
184
+
185
+ # Response for [ListBackupCollections].
186
+ # @!attribute [rw] backup_collections
187
+ # @return [::Array<::Google::Cloud::Redis::Cluster::V1::BackupCollection>]
188
+ # A list of backupCollections in the project.
189
+ #
190
+ # If the `location_id` in the parent field of the request is "-", all regions
191
+ # available to the project are queried, and the results aggregated.
192
+ # If in such an aggregated query a location is unavailable, a placeholder
193
+ # backupCollection entry is included in the response with the `name` field
194
+ # set to a value of the form
195
+ # `projects/{project_id}/locations/{location_id}/backupCollections/`- and the
196
+ # `status` field set to ERROR and `status_message` field set to "location not
197
+ # available for ListBackupCollections".
198
+ # @!attribute [rw] next_page_token
199
+ # @return [::String]
200
+ # Token to retrieve the next page of results, or empty if there are no more
201
+ # results in the list.
202
+ # @!attribute [rw] unreachable
203
+ # @return [::Array<::String>]
204
+ # Locations that could not be reached.
205
+ class ListBackupCollectionsResponse
206
+ include ::Google::Protobuf::MessageExts
207
+ extend ::Google::Protobuf::MessageExts::ClassMethods
208
+ end
209
+
210
+ # Request for [GetBackupCollection].
211
+ # @!attribute [rw] name
212
+ # @return [::String]
213
+ # Required. Redis backupCollection resource name using the form:
214
+ # `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}`
215
+ # where `location_id` refers to a GCP region.
216
+ class GetBackupCollectionRequest
217
+ include ::Google::Protobuf::MessageExts
218
+ extend ::Google::Protobuf::MessageExts::ClassMethods
219
+ end
220
+
221
+ # Request for [ListBackups].
222
+ # @!attribute [rw] parent
223
+ # @return [::String]
224
+ # Required. The resource name of the backupCollection using the form:
225
+ # `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}`
226
+ # @!attribute [rw] page_size
227
+ # @return [::Integer]
228
+ # Optional. The maximum number of items to return.
229
+ #
230
+ # If not specified, a default value of 1000 will be used by the service.
231
+ # Regardless of the page_size value, the response may include a partial list
232
+ # and a caller should only rely on response's
233
+ # {::Google::Cloud::Redis::Cluster::V1::ListBackupsResponse#next_page_token `next_page_token`}
234
+ # to determine if there are more clusters left to be queried.
235
+ # @!attribute [rw] page_token
236
+ # @return [::String]
237
+ # Optional. The `next_page_token` value returned from a previous
238
+ # [ListBackupCollections] request, if any.
239
+ class ListBackupsRequest
240
+ include ::Google::Protobuf::MessageExts
241
+ extend ::Google::Protobuf::MessageExts::ClassMethods
242
+ end
243
+
244
+ # Response for [ListBackups].
245
+ # @!attribute [rw] backups
246
+ # @return [::Array<::Google::Cloud::Redis::Cluster::V1::Backup>]
247
+ # A list of backups in the project.
248
+ # @!attribute [rw] next_page_token
249
+ # @return [::String]
250
+ # Token to retrieve the next page of results, or empty if there are no more
251
+ # results in the list.
252
+ # @!attribute [rw] unreachable
253
+ # @return [::Array<::String>]
254
+ # Backups that could not be reached.
255
+ class ListBackupsResponse
256
+ include ::Google::Protobuf::MessageExts
257
+ extend ::Google::Protobuf::MessageExts::ClassMethods
258
+ end
259
+
260
+ # Request for [GetBackup].
261
+ # @!attribute [rw] name
262
+ # @return [::String]
263
+ # Required. Redis backup resource name using the form:
264
+ # `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}/backups/{backup_id}`
265
+ class GetBackupRequest
266
+ include ::Google::Protobuf::MessageExts
267
+ extend ::Google::Protobuf::MessageExts::ClassMethods
268
+ end
269
+
270
+ # Request for [DeleteBackup].
271
+ # @!attribute [rw] name
272
+ # @return [::String]
273
+ # Required. Redis backup resource name using the form:
274
+ # `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}/backups/{backup_id}`
275
+ # @!attribute [rw] request_id
276
+ # @return [::String]
277
+ # Optional. Idempotent request UUID.
278
+ class DeleteBackupRequest
279
+ include ::Google::Protobuf::MessageExts
280
+ extend ::Google::Protobuf::MessageExts::ClassMethods
281
+ end
282
+
283
+ # Request for [ExportBackup].
284
+ # @!attribute [rw] gcs_bucket
285
+ # @return [::String]
286
+ # Google Cloud Storage bucket, like "my-bucket".
287
+ # @!attribute [rw] name
288
+ # @return [::String]
289
+ # Required. Redis backup resource name using the form:
290
+ # `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}/backups/{backup_id}`
291
+ class ExportBackupRequest
292
+ include ::Google::Protobuf::MessageExts
293
+ extend ::Google::Protobuf::MessageExts::ClassMethods
294
+ end
295
+
296
+ # Request for [BackupCluster].
297
+ # @!attribute [rw] name
298
+ # @return [::String]
299
+ # Required. Redis cluster resource name using the form:
300
+ # `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}`
301
+ # where `location_id` refers to a GCP region.
302
+ # @!attribute [rw] ttl
303
+ # @return [::Google::Protobuf::Duration]
304
+ # Optional. TTL for the backup to expire. Value range is 1 day to 100 years.
305
+ # If not specified, the default value is 100 years.
306
+ # @!attribute [rw] backup_id
307
+ # @return [::String]
308
+ # Optional. The id of the backup to be created. If not specified, the
309
+ # default value ([YYYYMMDDHHMMSS]_[Shortened Cluster UID] is used.
310
+ class BackupClusterRequest
311
+ include ::Google::Protobuf::MessageExts
312
+ extend ::Google::Protobuf::MessageExts::ClassMethods
313
+ end
314
+
160
315
  # A cluster instance.
316
+ # @!attribute [rw] gcs_source
317
+ # @return [::Google::Cloud::Redis::Cluster::V1::Cluster::GcsBackupSource]
318
+ # Optional. Backups stored in Cloud Storage buckets.
319
+ # The Cloud Storage buckets need to be the same region as the clusters.
320
+ # Read permission is required to import from the provided Cloud Storage
321
+ # objects.
322
+ #
323
+ # Note: The following fields are mutually exclusive: `gcs_source`, `managed_backup_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
324
+ # @!attribute [rw] managed_backup_source
325
+ # @return [::Google::Cloud::Redis::Cluster::V1::Cluster::ManagedBackupSource]
326
+ # Optional. Backups generated and managed by memorystore service.
327
+ #
328
+ # Note: The following fields are mutually exclusive: `managed_backup_source`, `gcs_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
161
329
  # @!attribute [rw] name
162
330
  # @return [::String]
163
- # Required. Unique name of the resource in this scope including project and
164
- # location using the form:
331
+ # Required. Identifier. Unique name of the resource in this scope including
332
+ # project and location using the form:
165
333
  # `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}`
166
334
  # @!attribute [r] create_time
167
335
  # @return [::Google::Protobuf::Timestamp]
@@ -190,10 +358,10 @@ module Google
190
358
  # the next integer.
191
359
  # @!attribute [rw] shard_count
192
360
  # @return [::Integer]
193
- # Required. Number of shards for the Redis cluster.
361
+ # Optional. Number of shards for the Redis cluster.
194
362
  # @!attribute [rw] psc_configs
195
363
  # @return [::Array<::Google::Cloud::Redis::Cluster::V1::PscConfig>]
196
- # Required. Each PscConfig configures the consumer network where IPs will
364
+ # Optional. Each PscConfig configures the consumer network where IPs will
197
365
  # be designated to the cluster for client access through Private Service
198
366
  # Connect Automation. Currently, only one PscConfig is supported.
199
367
  # @!attribute [r] discovery_endpoints
@@ -202,8 +370,8 @@ module Google
202
370
  # connect to the cluster. Currently only one discovery endpoint is supported.
203
371
  # @!attribute [r] psc_connections
204
372
  # @return [::Array<::Google::Cloud::Redis::Cluster::V1::PscConnection>]
205
- # Output only. PSC connections for discovery of the cluster topology and
206
- # accessing the cluster.
373
+ # Output only. The list of PSC connections that are auto-created through
374
+ # service connectivity automation.
207
375
  # @!attribute [r] state_info
208
376
  # @return [::Google::Cloud::Redis::Cluster::V1::Cluster::StateInfo]
209
377
  # Output only. Additional information about the current state of the cluster.
@@ -225,9 +393,39 @@ module Google
225
393
  # @return [::Google::Cloud::Redis::Cluster::V1::ZoneDistributionConfig]
226
394
  # Optional. This config will be used to determine how the customer wants us
227
395
  # to distribute cluster resources within the region.
396
+ # @!attribute [rw] cross_cluster_replication_config
397
+ # @return [::Google::Cloud::Redis::Cluster::V1::CrossClusterReplicationConfig]
398
+ # Optional. Cross cluster replication config.
228
399
  # @!attribute [rw] deletion_protection_enabled
229
400
  # @return [::Boolean]
230
401
  # Optional. The delete operation will fail when the value is set to true.
402
+ # @!attribute [rw] maintenance_policy
403
+ # @return [::Google::Cloud::Redis::Cluster::V1::ClusterMaintenancePolicy]
404
+ # Optional. ClusterMaintenancePolicy determines when to allow or deny
405
+ # updates.
406
+ # @!attribute [r] maintenance_schedule
407
+ # @return [::Google::Cloud::Redis::Cluster::V1::ClusterMaintenanceSchedule]
408
+ # Output only. ClusterMaintenanceSchedule Output only Published maintenance
409
+ # schedule.
410
+ # @!attribute [r] psc_service_attachments
411
+ # @return [::Array<::Google::Cloud::Redis::Cluster::V1::PscServiceAttachment>]
412
+ # Output only. Service attachment details to configure Psc connections
413
+ # @!attribute [rw] cluster_endpoints
414
+ # @return [::Array<::Google::Cloud::Redis::Cluster::V1::ClusterEndpoint>]
415
+ # Optional. A list of cluster enpoints.
416
+ # @!attribute [r] backup_collection
417
+ # @return [::String]
418
+ # Optional. Output only. The backup collection full resource name. Example:
419
+ # projects/\\{project}/locations/\\{location}/backupCollections/\\{collection}
420
+ # @!attribute [rw] kms_key
421
+ # @return [::String]
422
+ # Optional. The KMS key used to encrypt the at-rest data of the cluster.
423
+ # @!attribute [rw] automated_backup_config
424
+ # @return [::Google::Cloud::Redis::Cluster::V1::AutomatedBackupConfig]
425
+ # Optional. The automated backup config for the cluster.
426
+ # @!attribute [r] encryption_info
427
+ # @return [::Google::Cloud::Redis::Cluster::V1::EncryptionInfo]
428
+ # Output only. Encryption information of the data at rest of the cluster.
231
429
  class Cluster
232
430
  include ::Google::Protobuf::MessageExts
233
431
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -253,6 +451,31 @@ module Google
253
451
  end
254
452
  end
255
453
 
454
+ # Backups stored in Cloud Storage buckets.
455
+ # The Cloud Storage buckets need to be the same region as the clusters.
456
+ # @!attribute [rw] uris
457
+ # @return [::Array<::String>]
458
+ # Optional. URIs of the GCS objects to import.
459
+ # Example: gs://bucket1/object1, gs://bucket2/folder2/object2
460
+ class GcsBackupSource
461
+ include ::Google::Protobuf::MessageExts
462
+ extend ::Google::Protobuf::MessageExts::ClassMethods
463
+ end
464
+
465
+ # Backups that generated and managed by memorystore.
466
+ # @!attribute [rw] backup
467
+ # @return [::String]
468
+ # Optional. Example:
469
+ # //redis.googleapis.com/projects/\\{project}/locations/\\{location}/backupCollections/\\{collection}/backups/\\{backup}
470
+ # A shorter version (without the prefix) of the backup name is also
471
+ # supported, like
472
+ # projects/\\{project}/locations/\\{location}/backupCollections/\\{collection}/backups/\\{backup_id}
473
+ # In this case, it assumes the backup is under redis.googleapis.com.
474
+ class ManagedBackupSource
475
+ include ::Google::Protobuf::MessageExts
476
+ extend ::Google::Protobuf::MessageExts::ClassMethods
477
+ end
478
+
256
479
  # @!attribute [rw] key
257
480
  # @return [::String]
258
481
  # @!attribute [rw] value
@@ -281,6 +504,313 @@ module Google
281
504
  end
282
505
  end
283
506
 
507
+ # The automated backup config for a cluster.
508
+ # @!attribute [rw] fixed_frequency_schedule
509
+ # @return [::Google::Cloud::Redis::Cluster::V1::AutomatedBackupConfig::FixedFrequencySchedule]
510
+ # Optional. Trigger automated backups at a fixed frequency.
511
+ # @!attribute [rw] automated_backup_mode
512
+ # @return [::Google::Cloud::Redis::Cluster::V1::AutomatedBackupConfig::AutomatedBackupMode]
513
+ # Optional. The automated backup mode. If the mode is disabled, the other
514
+ # fields will be ignored.
515
+ # @!attribute [rw] retention
516
+ # @return [::Google::Protobuf::Duration]
517
+ # Optional. How long to keep automated backups before the backups are
518
+ # deleted. The value should be between 1 day and 365 days. If not specified,
519
+ # the default value is 35 days.
520
+ class AutomatedBackupConfig
521
+ include ::Google::Protobuf::MessageExts
522
+ extend ::Google::Protobuf::MessageExts::ClassMethods
523
+
524
+ # This schedule allows the backup to be triggered at a fixed frequency
525
+ # (currently only daily is supported).
526
+ # @!attribute [rw] start_time
527
+ # @return [::Google::Type::TimeOfDay]
528
+ # Required. The start time of every automated backup in UTC. It must be set
529
+ # to the start of an hour. This field is required.
530
+ class FixedFrequencySchedule
531
+ include ::Google::Protobuf::MessageExts
532
+ extend ::Google::Protobuf::MessageExts::ClassMethods
533
+ end
534
+
535
+ # The automated backup mode.
536
+ module AutomatedBackupMode
537
+ # Default value. Automated backup config is not specified.
538
+ AUTOMATED_BACKUP_MODE_UNSPECIFIED = 0
539
+
540
+ # Automated backup config disabled.
541
+ DISABLED = 1
542
+
543
+ # Automated backup config enabled.
544
+ ENABLED = 2
545
+ end
546
+ end
547
+
548
+ # BackupCollection of a cluster.
549
+ # @!attribute [rw] name
550
+ # @return [::String]
551
+ # Identifier. Full resource path of the backup collection.
552
+ # @!attribute [r] cluster_uid
553
+ # @return [::String]
554
+ # Output only. The cluster uid of the backup collection.
555
+ # @!attribute [r] cluster
556
+ # @return [::String]
557
+ # Output only. The full resource path of the cluster the backup collection
558
+ # belongs to. Example:
559
+ # projects/\\{project}/locations/\\{location}/clusters/\\{cluster}
560
+ # @!attribute [r] kms_key
561
+ # @return [::String]
562
+ # Output only. The KMS key used to encrypt the backups under this backup
563
+ # collection.
564
+ # @!attribute [r] uid
565
+ # @return [::String]
566
+ # Output only. System assigned unique identifier of the backup collection.
567
+ class BackupCollection
568
+ include ::Google::Protobuf::MessageExts
569
+ extend ::Google::Protobuf::MessageExts::ClassMethods
570
+ end
571
+
572
+ # Backup of a cluster.
573
+ # @!attribute [rw] name
574
+ # @return [::String]
575
+ # Identifier. Full resource path of the backup. the last part of the name is
576
+ # the backup id with the following format: [YYYYMMDDHHMMSS]_[Shorted Cluster
577
+ # UID] OR customer specified while backup cluster. Example:
578
+ # 20240515123000_1234
579
+ # @!attribute [r] create_time
580
+ # @return [::Google::Protobuf::Timestamp]
581
+ # Output only. The time when the backup was created.
582
+ # @!attribute [r] cluster
583
+ # @return [::String]
584
+ # Output only. Cluster resource path of this backup.
585
+ # @!attribute [r] cluster_uid
586
+ # @return [::String]
587
+ # Output only. Cluster uid of this backup.
588
+ # @!attribute [r] total_size_bytes
589
+ # @return [::Integer]
590
+ # Output only. Total size of the backup in bytes.
591
+ # @!attribute [r] expire_time
592
+ # @return [::Google::Protobuf::Timestamp]
593
+ # Output only. The time when the backup will expire.
594
+ # @!attribute [r] engine_version
595
+ # @return [::String]
596
+ # Output only. redis-7.2, valkey-7.5
597
+ # @!attribute [r] backup_files
598
+ # @return [::Array<::Google::Cloud::Redis::Cluster::V1::BackupFile>]
599
+ # Output only. List of backup files of the backup.
600
+ # @!attribute [r] node_type
601
+ # @return [::Google::Cloud::Redis::Cluster::V1::NodeType]
602
+ # Output only. Node type of the cluster.
603
+ # @!attribute [r] replica_count
604
+ # @return [::Integer]
605
+ # Output only. Number of replicas for the cluster.
606
+ # @!attribute [r] shard_count
607
+ # @return [::Integer]
608
+ # Output only. Number of shards for the cluster.
609
+ # @!attribute [r] backup_type
610
+ # @return [::Google::Cloud::Redis::Cluster::V1::Backup::BackupType]
611
+ # Output only. Type of the backup.
612
+ # @!attribute [r] state
613
+ # @return [::Google::Cloud::Redis::Cluster::V1::Backup::State]
614
+ # Output only. State of the backup.
615
+ # @!attribute [r] encryption_info
616
+ # @return [::Google::Cloud::Redis::Cluster::V1::EncryptionInfo]
617
+ # Output only. Encryption information of the backup.
618
+ # @!attribute [r] uid
619
+ # @return [::String]
620
+ # Output only. System assigned unique identifier of the backup.
621
+ class Backup
622
+ include ::Google::Protobuf::MessageExts
623
+ extend ::Google::Protobuf::MessageExts::ClassMethods
624
+
625
+ # Type of the backup.
626
+ module BackupType
627
+ # The default value, not set.
628
+ BACKUP_TYPE_UNSPECIFIED = 0
629
+
630
+ # On-demand backup.
631
+ ON_DEMAND = 1
632
+
633
+ # Automated backup.
634
+ AUTOMATED = 2
635
+ end
636
+
637
+ # State of the backup.
638
+ module State
639
+ # The default value, not set.
640
+ STATE_UNSPECIFIED = 0
641
+
642
+ # The backup is being created.
643
+ CREATING = 1
644
+
645
+ # The backup is active to be used.
646
+ ACTIVE = 2
647
+
648
+ # The backup is being deleted.
649
+ DELETING = 3
650
+
651
+ # The backup is currently suspended due to reasons like project deletion,
652
+ # billing account closure, etc.
653
+ SUSPENDED = 4
654
+ end
655
+ end
656
+
657
+ # Backup is consisted of multiple backup files.
658
+ # @!attribute [r] file_name
659
+ # @return [::String]
660
+ # Output only. e.g: <shard-id>.rdb
661
+ # @!attribute [r] size_bytes
662
+ # @return [::Integer]
663
+ # Output only. Size of the backup file in bytes.
664
+ # @!attribute [r] create_time
665
+ # @return [::Google::Protobuf::Timestamp]
666
+ # Output only. The time when the backup file was created.
667
+ class BackupFile
668
+ include ::Google::Protobuf::MessageExts
669
+ extend ::Google::Protobuf::MessageExts::ClassMethods
670
+ end
671
+
672
+ # Configuration of a service attachment of the cluster, for creating PSC
673
+ # connections.
674
+ # @!attribute [r] service_attachment
675
+ # @return [::String]
676
+ # Output only. Service attachment URI which your self-created PscConnection
677
+ # should use as target
678
+ # @!attribute [r] connection_type
679
+ # @return [::Google::Cloud::Redis::Cluster::V1::ConnectionType]
680
+ # Output only. Type of a PSC connection targeting this service attachment.
681
+ class PscServiceAttachment
682
+ include ::Google::Protobuf::MessageExts
683
+ extend ::Google::Protobuf::MessageExts::ClassMethods
684
+ end
685
+
686
+ # Cross cluster replication config.
687
+ # @!attribute [rw] cluster_role
688
+ # @return [::Google::Cloud::Redis::Cluster::V1::CrossClusterReplicationConfig::ClusterRole]
689
+ # The role of the cluster in cross cluster replication.
690
+ # @!attribute [rw] primary_cluster
691
+ # @return [::Google::Cloud::Redis::Cluster::V1::CrossClusterReplicationConfig::RemoteCluster]
692
+ # Details of the primary cluster that is used as the replication source for
693
+ # this secondary cluster.
694
+ #
695
+ # This field is only set for a secondary cluster.
696
+ # @!attribute [rw] secondary_clusters
697
+ # @return [::Array<::Google::Cloud::Redis::Cluster::V1::CrossClusterReplicationConfig::RemoteCluster>]
698
+ # List of secondary clusters that are replicating from this primary cluster.
699
+ #
700
+ # This field is only set for a primary cluster.
701
+ # @!attribute [r] update_time
702
+ # @return [::Google::Protobuf::Timestamp]
703
+ # Output only. The last time cross cluster replication config was updated.
704
+ # @!attribute [r] membership
705
+ # @return [::Google::Cloud::Redis::Cluster::V1::CrossClusterReplicationConfig::Membership]
706
+ # Output only. An output only view of all the member clusters participating
707
+ # in the cross cluster replication. This view will be provided by every
708
+ # member cluster irrespective of its cluster role(primary or secondary).
709
+ #
710
+ # A primary cluster can provide information about all the secondary clusters
711
+ # replicating from it. However, a secondary cluster only knows about the
712
+ # primary cluster from which it is replicating. However, for scenarios, where
713
+ # the primary cluster is unavailable(e.g. regional outage), a GetCluster
714
+ # request can be sent to any other member cluster and this field will list
715
+ # all the member clusters participating in cross cluster replication.
716
+ class CrossClusterReplicationConfig
717
+ include ::Google::Protobuf::MessageExts
718
+ extend ::Google::Protobuf::MessageExts::ClassMethods
719
+
720
+ # Details of the remote cluster associated with this cluster in a cross
721
+ # cluster replication setup.
722
+ # @!attribute [rw] cluster
723
+ # @return [::String]
724
+ # The full resource path of the remote cluster in
725
+ # the format: projects/<project>/locations/<region>/clusters/<cluster-id>
726
+ # @!attribute [r] uid
727
+ # @return [::String]
728
+ # Output only. The unique identifier of the remote cluster.
729
+ class RemoteCluster
730
+ include ::Google::Protobuf::MessageExts
731
+ extend ::Google::Protobuf::MessageExts::ClassMethods
732
+ end
733
+
734
+ # An output only view of all the member clusters participating in the cross
735
+ # cluster replication.
736
+ # @!attribute [r] primary_cluster
737
+ # @return [::Google::Cloud::Redis::Cluster::V1::CrossClusterReplicationConfig::RemoteCluster]
738
+ # Output only. The primary cluster that acts as the source of replication
739
+ # for the secondary clusters.
740
+ # @!attribute [r] secondary_clusters
741
+ # @return [::Array<::Google::Cloud::Redis::Cluster::V1::CrossClusterReplicationConfig::RemoteCluster>]
742
+ # Output only. The list of secondary clusters replicating from the primary
743
+ # cluster.
744
+ class Membership
745
+ include ::Google::Protobuf::MessageExts
746
+ extend ::Google::Protobuf::MessageExts::ClassMethods
747
+ end
748
+
749
+ # The role of the cluster in cross cluster replication.
750
+ module ClusterRole
751
+ # Cluster role is not set.
752
+ # The behavior is equivalent to NONE.
753
+ CLUSTER_ROLE_UNSPECIFIED = 0
754
+
755
+ # This cluster does not participate in cross cluster replication. It is an
756
+ # independent cluster and does not replicate to or from any other clusters.
757
+ NONE = 1
758
+
759
+ # A cluster that allows both reads and writes. Any data written to this
760
+ # cluster is also replicated to the attached secondary clusters.
761
+ PRIMARY = 2
762
+
763
+ # A cluster that allows only reads and replicates data from a primary
764
+ # cluster.
765
+ SECONDARY = 3
766
+ end
767
+ end
768
+
769
+ # Maintenance policy per cluster.
770
+ # @!attribute [r] create_time
771
+ # @return [::Google::Protobuf::Timestamp]
772
+ # Output only. The time when the policy was created i.e. Maintenance Window
773
+ # or Deny Period was assigned.
774
+ # @!attribute [r] update_time
775
+ # @return [::Google::Protobuf::Timestamp]
776
+ # Output only. The time when the policy was updated i.e. Maintenance Window
777
+ # or Deny Period was updated.
778
+ # @!attribute [rw] weekly_maintenance_window
779
+ # @return [::Array<::Google::Cloud::Redis::Cluster::V1::ClusterWeeklyMaintenanceWindow>]
780
+ # Optional. Maintenance window that is applied to resources covered by this
781
+ # policy. Minimum 1. For the current version, the maximum number of
782
+ # weekly_maintenance_window is expected to be one.
783
+ class ClusterMaintenancePolicy
784
+ include ::Google::Protobuf::MessageExts
785
+ extend ::Google::Protobuf::MessageExts::ClassMethods
786
+ end
787
+
788
+ # Time window specified for weekly operations.
789
+ # @!attribute [rw] day
790
+ # @return [::Google::Type::DayOfWeek]
791
+ # Allows to define schedule that runs specified day of the week.
792
+ # @!attribute [rw] start_time
793
+ # @return [::Google::Type::TimeOfDay]
794
+ # Start time of the window in UTC.
795
+ class ClusterWeeklyMaintenanceWindow
796
+ include ::Google::Protobuf::MessageExts
797
+ extend ::Google::Protobuf::MessageExts::ClassMethods
798
+ end
799
+
800
+ # Upcoming maitenance schedule.
801
+ # @!attribute [r] start_time
802
+ # @return [::Google::Protobuf::Timestamp]
803
+ # Output only. The start time of any upcoming scheduled maintenance for this
804
+ # instance.
805
+ # @!attribute [r] end_time
806
+ # @return [::Google::Protobuf::Timestamp]
807
+ # Output only. The end time of any upcoming scheduled maintenance for this
808
+ # instance.
809
+ class ClusterMaintenanceSchedule
810
+ include ::Google::Protobuf::MessageExts
811
+ extend ::Google::Protobuf::MessageExts::ClassMethods
812
+ end
813
+
284
814
  # @!attribute [rw] network
285
815
  # @return [::String]
286
816
  # Required. The network where the IP address of the discovery endpoint will
@@ -309,6 +839,78 @@ module Google
309
839
  end
310
840
 
311
841
  # Details of consumer resources in a PSC connection.
842
+ # @!attribute [rw] psc_connection_id
843
+ # @return [::String]
844
+ # Required. The PSC connection id of the forwarding rule connected to the
845
+ # service attachment.
846
+ # @!attribute [rw] address
847
+ # @return [::String]
848
+ # Required. The IP allocated on the consumer network for the PSC forwarding
849
+ # rule.
850
+ # @!attribute [rw] forwarding_rule
851
+ # @return [::String]
852
+ # Required. The URI of the consumer side forwarding rule.
853
+ # Example:
854
+ # projects/\\{projectNumOrId}/regions/us-east1/forwardingRules/\\{resourceId}.
855
+ # @!attribute [rw] project_id
856
+ # @return [::String]
857
+ # Optional. Project ID of the consumer project where the forwarding rule is
858
+ # created in.
859
+ # @!attribute [rw] network
860
+ # @return [::String]
861
+ # Required. The consumer network where the IP address resides, in the form of
862
+ # projects/\\{project_id}/global/networks/\\{network_id}.
863
+ # @!attribute [rw] service_attachment
864
+ # @return [::String]
865
+ # Required. The service attachment which is the target of the PSC connection,
866
+ # in the form of
867
+ # projects/\\{project-id}/regions/\\{region}/serviceAttachments/\\{service-attachment-id}.
868
+ # @!attribute [r] psc_connection_status
869
+ # @return [::Google::Cloud::Redis::Cluster::V1::PscConnectionStatus]
870
+ # Output only. The status of the PSC connection.
871
+ # Please note that this value is updated periodically.
872
+ # To get the latest status of a PSC connection, follow
873
+ # https://cloud.google.com/vpc/docs/configure-private-service-connect-services#endpoint-details.
874
+ # @!attribute [r] connection_type
875
+ # @return [::Google::Cloud::Redis::Cluster::V1::ConnectionType]
876
+ # Output only. Type of the PSC connection.
877
+ class PscConnection
878
+ include ::Google::Protobuf::MessageExts
879
+ extend ::Google::Protobuf::MessageExts::ClassMethods
880
+ end
881
+
882
+ # ClusterEndpoint consists of PSC connections that are created
883
+ # as a group in each VPC network for accessing the cluster. In each group,
884
+ # there shall be one connection for each service attachment in the cluster.
885
+ # @!attribute [rw] connections
886
+ # @return [::Array<::Google::Cloud::Redis::Cluster::V1::ConnectionDetail>]
887
+ # A group of PSC connections. They are created in the same VPC network, one
888
+ # for each service attachment in the cluster.
889
+ class ClusterEndpoint
890
+ include ::Google::Protobuf::MessageExts
891
+ extend ::Google::Protobuf::MessageExts::ClassMethods
892
+ end
893
+
894
+ # Detailed information of each PSC connection.
895
+ # @!attribute [rw] psc_auto_connection
896
+ # @return [::Google::Cloud::Redis::Cluster::V1::PscAutoConnection]
897
+ # Detailed information of a PSC connection that is created through
898
+ # service connectivity automation.
899
+ #
900
+ # Note: The following fields are mutually exclusive: `psc_auto_connection`, `psc_connection`. If a field in that set is populated, all other fields in the set will automatically be cleared.
901
+ # @!attribute [rw] psc_connection
902
+ # @return [::Google::Cloud::Redis::Cluster::V1::PscConnection]
903
+ # Detailed information of a PSC connection that is created by the customer
904
+ # who owns the cluster.
905
+ #
906
+ # Note: The following fields are mutually exclusive: `psc_connection`, `psc_auto_connection`. If a field in that set is populated, all other fields in the set will automatically be cleared.
907
+ class ConnectionDetail
908
+ include ::Google::Protobuf::MessageExts
909
+ extend ::Google::Protobuf::MessageExts::ClassMethods
910
+ end
911
+
912
+ # Details of consumer resources in a PSC connection that is created through
913
+ # Service Connectivity Automation.
312
914
  # @!attribute [r] psc_connection_id
313
915
  # @return [::String]
314
916
  # Output only. The PSC connection id of the forwarding rule connected to the
@@ -322,15 +924,28 @@ module Google
322
924
  # Output only. The URI of the consumer side forwarding rule.
323
925
  # Example:
324
926
  # projects/\\{projectNumOrId}/regions/us-east1/forwardingRules/\\{resourceId}.
325
- # @!attribute [r] project_id
927
+ # @!attribute [rw] project_id
326
928
  # @return [::String]
327
- # Output only. The consumer project_id where the forwarding rule is created
929
+ # Required. The consumer project_id where the forwarding rule is created
328
930
  # from.
329
931
  # @!attribute [rw] network
330
932
  # @return [::String]
331
- # The consumer network where the IP address resides, in the form of
933
+ # Required. The consumer network where the IP address resides, in the form of
332
934
  # projects/\\{project_id}/global/networks/\\{network_id}.
333
- class PscConnection
935
+ # @!attribute [r] service_attachment
936
+ # @return [::String]
937
+ # Output only. The service attachment which is the target of the PSC
938
+ # connection, in the form of
939
+ # projects/\\{project-id}/regions/\\{region}/serviceAttachments/\\{service-attachment-id}.
940
+ # @!attribute [r] psc_connection_status
941
+ # @return [::Google::Cloud::Redis::Cluster::V1::PscConnectionStatus]
942
+ # Output only. The status of the PSC connection.
943
+ # Please note that this value is updated periodically.
944
+ # Please use Private Service Connect APIs for the latest status.
945
+ # @!attribute [r] connection_type
946
+ # @return [::Google::Cloud::Redis::Cluster::V1::ConnectionType]
947
+ # Output only. Type of the PSC connection.
948
+ class PscAutoConnection
334
949
  include ::Google::Protobuf::MessageExts
335
950
  extend ::Google::Protobuf::MessageExts::ClassMethods
336
951
  end
@@ -463,8 +1078,8 @@ module Google
463
1078
  # there is a disaster
464
1079
  EVERYSEC = 2
465
1080
 
466
- # fsync every time new commands are appended to the AOF. It has the best
467
- # data loss protection at the cost of performance
1081
+ # fsync every time new write commands are appended to the AOF. It has the
1082
+ # best data loss protection at the cost of performance
468
1083
  ALWAYS = 3
469
1084
  end
470
1085
  end
@@ -500,9 +1115,6 @@ module Google
500
1115
  extend ::Google::Protobuf::MessageExts::ClassMethods
501
1116
 
502
1117
  # 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
1118
  module ZoneDistributionMode
507
1119
  # Not Set. Default: MULTI_ZONE
508
1120
  ZONE_DISTRIBUTION_MODE_UNSPECIFIED = 0
@@ -517,6 +1129,115 @@ module Google
517
1129
  end
518
1130
  end
519
1131
 
1132
+ # Request for rescheduling a cluster maintenance.
1133
+ # @!attribute [rw] name
1134
+ # @return [::String]
1135
+ # Required. Redis Cluster instance resource name using the form:
1136
+ # `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}`
1137
+ # where `location_id` refers to a GCP region.
1138
+ # @!attribute [rw] reschedule_type
1139
+ # @return [::Google::Cloud::Redis::Cluster::V1::RescheduleClusterMaintenanceRequest::RescheduleType]
1140
+ # Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as
1141
+ # well.
1142
+ # @!attribute [rw] schedule_time
1143
+ # @return [::Google::Protobuf::Timestamp]
1144
+ # Optional. Timestamp when the maintenance shall be rescheduled to if
1145
+ # reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for
1146
+ # example `2012-11-15T16:19:00.094Z`.
1147
+ class RescheduleClusterMaintenanceRequest
1148
+ include ::Google::Protobuf::MessageExts
1149
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1150
+
1151
+ # Reschedule options.
1152
+ module RescheduleType
1153
+ # Not set.
1154
+ RESCHEDULE_TYPE_UNSPECIFIED = 0
1155
+
1156
+ # If the user wants to schedule the maintenance to happen now.
1157
+ IMMEDIATE = 1
1158
+
1159
+ # If the user wants to reschedule the maintenance to a specific time.
1160
+ SPECIFIC_TIME = 3
1161
+ end
1162
+ end
1163
+
1164
+ # EncryptionInfo describes the encryption information of a cluster or a backup.
1165
+ # @!attribute [r] encryption_type
1166
+ # @return [::Google::Cloud::Redis::Cluster::V1::EncryptionInfo::Type]
1167
+ # Output only. Type of encryption.
1168
+ # @!attribute [r] kms_key_versions
1169
+ # @return [::Array<::String>]
1170
+ # Output only. KMS key versions that are being used to protect the data
1171
+ # at-rest.
1172
+ # @!attribute [r] kms_key_primary_state
1173
+ # @return [::Google::Cloud::Redis::Cluster::V1::EncryptionInfo::KmsKeyState]
1174
+ # Output only. The state of the primary version of the KMS key perceived by
1175
+ # the system. This field is not populated in backups.
1176
+ # @!attribute [r] last_update_time
1177
+ # @return [::Google::Protobuf::Timestamp]
1178
+ # Output only. The most recent time when the encryption info was updated.
1179
+ class EncryptionInfo
1180
+ include ::Google::Protobuf::MessageExts
1181
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1182
+
1183
+ # Possible encryption types.
1184
+ module Type
1185
+ # Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.
1186
+ TYPE_UNSPECIFIED = 0
1187
+
1188
+ # The data is encrypted at rest with a key that is fully managed by Google.
1189
+ # No key version will be populated. This is the default state.
1190
+ GOOGLE_DEFAULT_ENCRYPTION = 1
1191
+
1192
+ # The data is encrypted at rest with a key that is managed by the customer.
1193
+ # KMS key versions will be populated.
1194
+ CUSTOMER_MANAGED_ENCRYPTION = 2
1195
+ end
1196
+
1197
+ # The state of the KMS key perceived by the system. Refer to the public
1198
+ # documentation for the impact of each state.
1199
+ module KmsKeyState
1200
+ # The default value. This value is unused.
1201
+ KMS_KEY_STATE_UNSPECIFIED = 0
1202
+
1203
+ # The KMS key is enabled and correctly configured.
1204
+ ENABLED = 1
1205
+
1206
+ # Permission denied on the KMS key.
1207
+ PERMISSION_DENIED = 2
1208
+
1209
+ # The KMS key is disabled.
1210
+ DISABLED = 3
1211
+
1212
+ # The KMS key is destroyed.
1213
+ DESTROYED = 4
1214
+
1215
+ # The KMS key is scheduled to be destroyed.
1216
+ DESTROY_SCHEDULED = 5
1217
+
1218
+ # The EKM key is unreachable.
1219
+ EKM_KEY_UNREACHABLE_DETECTED = 6
1220
+
1221
+ # Billing is disabled for the project.
1222
+ BILLING_DISABLED = 7
1223
+
1224
+ # All other unknown failures.
1225
+ UNKNOWN_FAILURE = 8
1226
+ end
1227
+ end
1228
+
1229
+ # Status of the PSC connection.
1230
+ module PscConnectionStatus
1231
+ # PSC connection status is not specified.
1232
+ PSC_CONNECTION_STATUS_UNSPECIFIED = 0
1233
+
1234
+ # The connection is active
1235
+ PSC_CONNECTION_STATUS_ACTIVE = 1
1236
+
1237
+ # Connection not found
1238
+ PSC_CONNECTION_STATUS_NOT_FOUND = 2
1239
+ end
1240
+
520
1241
  # Available authorization mode of a Redis cluster.
521
1242
  module AuthorizationMode
522
1243
  # Not set.
@@ -531,6 +1252,7 @@ module Google
531
1252
 
532
1253
  # NodeType of a redis cluster node,
533
1254
  module NodeType
1255
+ # Node type unspecified
534
1256
  NODE_TYPE_UNSPECIFIED = 0
535
1257
 
536
1258
  # Redis shared core nano node_type.
@@ -557,6 +1279,21 @@ module Google
557
1279
  # Use server managed encryption for in-transit encryption.
558
1280
  TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION = 2
559
1281
  end
1282
+
1283
+ # Type of a PSC connection, for cluster access purpose.
1284
+ module ConnectionType
1285
+ # Cluster endpoint Type is not set
1286
+ CONNECTION_TYPE_UNSPECIFIED = 0
1287
+
1288
+ # Cluster endpoint that will be used as for cluster topology discovery.
1289
+ CONNECTION_TYPE_DISCOVERY = 1
1290
+
1291
+ # Cluster endpoint that will be used as primary endpoint to access primary.
1292
+ CONNECTION_TYPE_PRIMARY = 2
1293
+
1294
+ # Cluster endpoint that will be used as reader endpoint to access replicas.
1295
+ CONNECTION_TYPE_READER = 3
1296
+ end
560
1297
  end
561
1298
  end
562
1299
  end