google-apis-redis_v1beta1 0.54.0 → 0.56.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -41,10 +41,53 @@ module Google
41
41
  end
42
42
  end
43
43
 
44
+ # The automated backup config for a cluster.
45
+ class AutomatedBackupConfig
46
+ include Google::Apis::Core::Hashable
47
+
48
+ # Optional. The automated backup mode. If the mode is disabled, the other fields
49
+ # will be ignored.
50
+ # Corresponds to the JSON property `automatedBackupMode`
51
+ # @return [String]
52
+ attr_accessor :automated_backup_mode
53
+
54
+ # This schedule allows the backup to be triggered at a fixed frequency (
55
+ # currently only daily is supported).
56
+ # Corresponds to the JSON property `fixedFrequencySchedule`
57
+ # @return [Google::Apis::RedisV1beta1::FixedFrequencySchedule]
58
+ attr_accessor :fixed_frequency_schedule
59
+
60
+ # Optional. How long to keep automated backups before the backups are deleted.
61
+ # The value should be between 1 day and 365 days. If not specified, the default
62
+ # value is 35 days.
63
+ # Corresponds to the JSON property `retention`
64
+ # @return [String]
65
+ attr_accessor :retention
66
+
67
+ def initialize(**args)
68
+ update!(**args)
69
+ end
70
+
71
+ # Update properties of this object
72
+ def update!(**args)
73
+ @automated_backup_mode = args[:automated_backup_mode] if args.key?(:automated_backup_mode)
74
+ @fixed_frequency_schedule = args[:fixed_frequency_schedule] if args.key?(:fixed_frequency_schedule)
75
+ @retention = args[:retention] if args.key?(:retention)
76
+ end
77
+ end
78
+
44
79
  # Configuration for availability of database instance
45
80
  class AvailabilityConfiguration
46
81
  include Google::Apis::Core::Hashable
47
82
 
83
+ # Checks for existence of (multi-cluster) routing configuration that allows
84
+ # automatic failover to a different zone/region in case of an outage. Applicable
85
+ # to Bigtable resources.
86
+ # Corresponds to the JSON property `automaticFailoverRoutingConfigured`
87
+ # @return [Boolean]
88
+ attr_accessor :automatic_failover_routing_configured
89
+ alias_method :automatic_failover_routing_configured?, :automatic_failover_routing_configured
90
+
48
91
  # Availability type. Potential values: * `ZONAL`: The instance serves data from
49
92
  # only one zone. Outages in that zone affect data accessibility. * `REGIONAL`:
50
93
  # The instance can serve data from more than one zone in a region (it is highly
@@ -78,6 +121,7 @@ module Google
78
121
 
79
122
  # Update properties of this object
80
123
  def update!(**args)
124
+ @automatic_failover_routing_configured = args[:automatic_failover_routing_configured] if args.key?(:automatic_failover_routing_configured)
81
125
  @availability_type = args[:availability_type] if args.key?(:availability_type)
82
126
  @cross_region_replica_configured = args[:cross_region_replica_configured] if args.key?(:cross_region_replica_configured)
83
127
  @external_replica_configured = args[:external_replica_configured] if args.key?(:external_replica_configured)
@@ -85,6 +129,170 @@ module Google
85
129
  end
86
130
  end
87
131
 
132
+ # Backup of a cluster.
133
+ class Backup
134
+ include Google::Apis::Core::Hashable
135
+
136
+ # Output only. List of backup files of the backup.
137
+ # Corresponds to the JSON property `backupFiles`
138
+ # @return [Array<Google::Apis::RedisV1beta1::BackupFile>]
139
+ attr_accessor :backup_files
140
+
141
+ # Output only. Type of the backup.
142
+ # Corresponds to the JSON property `backupType`
143
+ # @return [String]
144
+ attr_accessor :backup_type
145
+
146
+ # Output only. Cluster resource path of this backup.
147
+ # Corresponds to the JSON property `cluster`
148
+ # @return [String]
149
+ attr_accessor :cluster
150
+
151
+ # Output only. Cluster uid of this backup.
152
+ # Corresponds to the JSON property `clusterUid`
153
+ # @return [String]
154
+ attr_accessor :cluster_uid
155
+
156
+ # Output only. The time when the backup was created.
157
+ # Corresponds to the JSON property `createTime`
158
+ # @return [String]
159
+ attr_accessor :create_time
160
+
161
+ # Output only. redis-7.2, valkey-7.5
162
+ # Corresponds to the JSON property `engineVersion`
163
+ # @return [String]
164
+ attr_accessor :engine_version
165
+
166
+ # Output only. The time when the backup will expire.
167
+ # Corresponds to the JSON property `expireTime`
168
+ # @return [String]
169
+ attr_accessor :expire_time
170
+
171
+ # Identifier. Full resource path of the backup. the last part of the name is the
172
+ # backup id with the following format: [YYYYMMDDHHMMSS]_[Shorted Cluster UID] OR
173
+ # customer specified while backup cluster. Example: 20240515123000_1234
174
+ # Corresponds to the JSON property `name`
175
+ # @return [String]
176
+ attr_accessor :name
177
+
178
+ # Output only. Node type of the cluster.
179
+ # Corresponds to the JSON property `nodeType`
180
+ # @return [String]
181
+ attr_accessor :node_type
182
+
183
+ # Output only. Number of replicas for the cluster.
184
+ # Corresponds to the JSON property `replicaCount`
185
+ # @return [Fixnum]
186
+ attr_accessor :replica_count
187
+
188
+ # Output only. Number of shards for the cluster.
189
+ # Corresponds to the JSON property `shardCount`
190
+ # @return [Fixnum]
191
+ attr_accessor :shard_count
192
+
193
+ # Output only. State of the backup.
194
+ # Corresponds to the JSON property `state`
195
+ # @return [String]
196
+ attr_accessor :state
197
+
198
+ # Output only. Total size of the backup in bytes.
199
+ # Corresponds to the JSON property `totalSizeBytes`
200
+ # @return [Fixnum]
201
+ attr_accessor :total_size_bytes
202
+
203
+ # Output only. System assigned unique identifier of the backup.
204
+ # Corresponds to the JSON property `uid`
205
+ # @return [String]
206
+ attr_accessor :uid
207
+
208
+ def initialize(**args)
209
+ update!(**args)
210
+ end
211
+
212
+ # Update properties of this object
213
+ def update!(**args)
214
+ @backup_files = args[:backup_files] if args.key?(:backup_files)
215
+ @backup_type = args[:backup_type] if args.key?(:backup_type)
216
+ @cluster = args[:cluster] if args.key?(:cluster)
217
+ @cluster_uid = args[:cluster_uid] if args.key?(:cluster_uid)
218
+ @create_time = args[:create_time] if args.key?(:create_time)
219
+ @engine_version = args[:engine_version] if args.key?(:engine_version)
220
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
221
+ @name = args[:name] if args.key?(:name)
222
+ @node_type = args[:node_type] if args.key?(:node_type)
223
+ @replica_count = args[:replica_count] if args.key?(:replica_count)
224
+ @shard_count = args[:shard_count] if args.key?(:shard_count)
225
+ @state = args[:state] if args.key?(:state)
226
+ @total_size_bytes = args[:total_size_bytes] if args.key?(:total_size_bytes)
227
+ @uid = args[:uid] if args.key?(:uid)
228
+ end
229
+ end
230
+
231
+ # Request for [BackupCluster].
232
+ class BackupClusterRequest
233
+ include Google::Apis::Core::Hashable
234
+
235
+ # Optional. The id of the backup to be created. If not specified, the default
236
+ # value ([YYYYMMDDHHMMSS]_[Shortened Cluster UID] is used.
237
+ # Corresponds to the JSON property `backupId`
238
+ # @return [String]
239
+ attr_accessor :backup_id
240
+
241
+ # Optional. TTL for the backup to expire. Value range is 1 day to 100 years. If
242
+ # not specified, the default value is 100 years.
243
+ # Corresponds to the JSON property `ttl`
244
+ # @return [String]
245
+ attr_accessor :ttl
246
+
247
+ def initialize(**args)
248
+ update!(**args)
249
+ end
250
+
251
+ # Update properties of this object
252
+ def update!(**args)
253
+ @backup_id = args[:backup_id] if args.key?(:backup_id)
254
+ @ttl = args[:ttl] if args.key?(:ttl)
255
+ end
256
+ end
257
+
258
+ # BackupCollection of a cluster.
259
+ class BackupCollection
260
+ include Google::Apis::Core::Hashable
261
+
262
+ # Output only. The full resource path of the cluster the backup collection
263
+ # belongs to. Example: projects/`project`/locations/`location`/clusters/`cluster`
264
+ # Corresponds to the JSON property `cluster`
265
+ # @return [String]
266
+ attr_accessor :cluster
267
+
268
+ # Output only. The cluster uid of the backup collection.
269
+ # Corresponds to the JSON property `clusterUid`
270
+ # @return [String]
271
+ attr_accessor :cluster_uid
272
+
273
+ # Identifier. Full resource path of the backup collection.
274
+ # Corresponds to the JSON property `name`
275
+ # @return [String]
276
+ attr_accessor :name
277
+
278
+ # Output only. System assigned unique identifier of the backup collection.
279
+ # Corresponds to the JSON property `uid`
280
+ # @return [String]
281
+ attr_accessor :uid
282
+
283
+ def initialize(**args)
284
+ update!(**args)
285
+ end
286
+
287
+ # Update properties of this object
288
+ def update!(**args)
289
+ @cluster = args[:cluster] if args.key?(:cluster)
290
+ @cluster_uid = args[:cluster_uid] if args.key?(:cluster_uid)
291
+ @name = args[:name] if args.key?(:name)
292
+ @uid = args[:uid] if args.key?(:uid)
293
+ end
294
+ end
295
+
88
296
  # Configuration for automatic backups
89
297
  class BackupConfiguration
90
298
  include Google::Apis::Core::Hashable
@@ -120,6 +328,37 @@ module Google
120
328
  end
121
329
  end
122
330
 
331
+ # Backup is consisted of multiple backup files.
332
+ class BackupFile
333
+ include Google::Apis::Core::Hashable
334
+
335
+ # Output only. The time when the backup file was created.
336
+ # Corresponds to the JSON property `createTime`
337
+ # @return [String]
338
+ attr_accessor :create_time
339
+
340
+ # Output only. e.g: .rdb
341
+ # Corresponds to the JSON property `fileName`
342
+ # @return [String]
343
+ attr_accessor :file_name
344
+
345
+ # Output only. Size of the backup file in bytes.
346
+ # Corresponds to the JSON property `sizeBytes`
347
+ # @return [Fixnum]
348
+ attr_accessor :size_bytes
349
+
350
+ def initialize(**args)
351
+ update!(**args)
352
+ end
353
+
354
+ # Update properties of this object
355
+ def update!(**args)
356
+ @create_time = args[:create_time] if args.key?(:create_time)
357
+ @file_name = args[:file_name] if args.key?(:file_name)
358
+ @size_bytes = args[:size_bytes] if args.key?(:size_bytes)
359
+ end
360
+ end
361
+
123
362
  # A backup run.
124
363
  class BackupRun
125
364
  include Google::Apis::Core::Hashable
@@ -213,11 +452,32 @@ module Google
213
452
  # @return [String]
214
453
  attr_accessor :authorization_mode
215
454
 
455
+ # The automated backup config for a cluster.
456
+ # Corresponds to the JSON property `automatedBackupConfig`
457
+ # @return [Google::Apis::RedisV1beta1::AutomatedBackupConfig]
458
+ attr_accessor :automated_backup_config
459
+
460
+ # Optional. Output only. The backup collection full resource name. Example:
461
+ # projects/`project`/locations/`location`/backupCollections/`collection`
462
+ # Corresponds to the JSON property `backupCollection`
463
+ # @return [String]
464
+ attr_accessor :backup_collection
465
+
466
+ # Optional. A list of cluster enpoints.
467
+ # Corresponds to the JSON property `clusterEndpoints`
468
+ # @return [Array<Google::Apis::RedisV1beta1::ClusterEndpoint>]
469
+ attr_accessor :cluster_endpoints
470
+
216
471
  # Output only. The timestamp associated with the cluster creation request.
217
472
  # Corresponds to the JSON property `createTime`
218
473
  # @return [String]
219
474
  attr_accessor :create_time
220
475
 
476
+ # Cross cluster replication config.
477
+ # Corresponds to the JSON property `crossClusterReplicationConfig`
478
+ # @return [Google::Apis::RedisV1beta1::CrossClusterReplicationConfig]
479
+ attr_accessor :cross_cluster_replication_config
480
+
221
481
  # Optional. The delete operation will fail when the value is set to true.
222
482
  # Corresponds to the JSON property `deletionProtectionEnabled`
223
483
  # @return [Boolean]
@@ -230,6 +490,27 @@ module Google
230
490
  # @return [Array<Google::Apis::RedisV1beta1::DiscoveryEndpoint>]
231
491
  attr_accessor :discovery_endpoints
232
492
 
493
+ # Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be
494
+ # the same region as the clusters.
495
+ # Corresponds to the JSON property `gcsSource`
496
+ # @return [Google::Apis::RedisV1beta1::GcsBackupSource]
497
+ attr_accessor :gcs_source
498
+
499
+ # Maintenance policy per cluster.
500
+ # Corresponds to the JSON property `maintenancePolicy`
501
+ # @return [Google::Apis::RedisV1beta1::ClusterMaintenancePolicy]
502
+ attr_accessor :maintenance_policy
503
+
504
+ # Upcoming maitenance schedule.
505
+ # Corresponds to the JSON property `maintenanceSchedule`
506
+ # @return [Google::Apis::RedisV1beta1::ClusterMaintenanceSchedule]
507
+ attr_accessor :maintenance_schedule
508
+
509
+ # Backups that generated and managed by memorystore.
510
+ # Corresponds to the JSON property `managedBackupSource`
511
+ # @return [Google::Apis::RedisV1beta1::ManagedBackupSource]
512
+ attr_accessor :managed_backup_source
513
+
233
514
  # Required. Identifier. Unique name of the resource in this scope including
234
515
  # project and location using the form: `projects/`project_id`/locations/`
235
516
  # location_id`/clusters/`cluster_id``
@@ -253,19 +534,24 @@ module Google
253
534
  # @return [Float]
254
535
  attr_accessor :precise_size_gb
255
536
 
256
- # Required. Each PscConfig configures the consumer network where IPs will be
537
+ # Optional. Each PscConfig configures the consumer network where IPs will be
257
538
  # designated to the cluster for client access through Private Service Connect
258
539
  # Automation. Currently, only one PscConfig is supported.
259
540
  # Corresponds to the JSON property `pscConfigs`
260
541
  # @return [Array<Google::Apis::RedisV1beta1::PscConfig>]
261
542
  attr_accessor :psc_configs
262
543
 
263
- # Output only. PSC connections for discovery of the cluster topology and
264
- # accessing the cluster.
544
+ # Output only. The list of PSC connections that are auto-created through service
545
+ # connectivity automation.
265
546
  # Corresponds to the JSON property `pscConnections`
266
547
  # @return [Array<Google::Apis::RedisV1beta1::PscConnection>]
267
548
  attr_accessor :psc_connections
268
549
 
550
+ # Output only. Service attachment details to configure Psc connections
551
+ # Corresponds to the JSON property `pscServiceAttachments`
552
+ # @return [Array<Google::Apis::RedisV1beta1::PscServiceAttachment>]
553
+ attr_accessor :psc_service_attachments
554
+
269
555
  # Optional. Key/Value pairs of customer overrides for mutable Redis Configs
270
556
  # Corresponds to the JSON property `redisConfigs`
271
557
  # @return [Hash<String,String>]
@@ -276,7 +562,7 @@ module Google
276
562
  # @return [Fixnum]
277
563
  attr_accessor :replica_count
278
564
 
279
- # Required. Number of shards for the Redis cluster.
565
+ # Optional. Number of shards for the Redis cluster.
280
566
  # Corresponds to the JSON property `shardCount`
281
567
  # @return [Fixnum]
282
568
  attr_accessor :shard_count
@@ -321,15 +607,24 @@ module Google
321
607
  # Update properties of this object
322
608
  def update!(**args)
323
609
  @authorization_mode = args[:authorization_mode] if args.key?(:authorization_mode)
610
+ @automated_backup_config = args[:automated_backup_config] if args.key?(:automated_backup_config)
611
+ @backup_collection = args[:backup_collection] if args.key?(:backup_collection)
612
+ @cluster_endpoints = args[:cluster_endpoints] if args.key?(:cluster_endpoints)
324
613
  @create_time = args[:create_time] if args.key?(:create_time)
614
+ @cross_cluster_replication_config = args[:cross_cluster_replication_config] if args.key?(:cross_cluster_replication_config)
325
615
  @deletion_protection_enabled = args[:deletion_protection_enabled] if args.key?(:deletion_protection_enabled)
326
616
  @discovery_endpoints = args[:discovery_endpoints] if args.key?(:discovery_endpoints)
617
+ @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
618
+ @maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy)
619
+ @maintenance_schedule = args[:maintenance_schedule] if args.key?(:maintenance_schedule)
620
+ @managed_backup_source = args[:managed_backup_source] if args.key?(:managed_backup_source)
327
621
  @name = args[:name] if args.key?(:name)
328
622
  @node_type = args[:node_type] if args.key?(:node_type)
329
623
  @persistence_config = args[:persistence_config] if args.key?(:persistence_config)
330
624
  @precise_size_gb = args[:precise_size_gb] if args.key?(:precise_size_gb)
331
625
  @psc_configs = args[:psc_configs] if args.key?(:psc_configs)
332
626
  @psc_connections = args[:psc_connections] if args.key?(:psc_connections)
627
+ @psc_service_attachments = args[:psc_service_attachments] if args.key?(:psc_service_attachments)
333
628
  @redis_configs = args[:redis_configs] if args.key?(:redis_configs)
334
629
  @replica_count = args[:replica_count] if args.key?(:replica_count)
335
630
  @shard_count = args[:shard_count] if args.key?(:shard_count)
@@ -342,6 +637,90 @@ module Google
342
637
  end
343
638
  end
344
639
 
640
+ # ClusterEndpoint consists of PSC connections that are created as a group in
641
+ # each VPC network for accessing the cluster. In each group, there shall be one
642
+ # connection for each service attachment in the cluster.
643
+ class ClusterEndpoint
644
+ include Google::Apis::Core::Hashable
645
+
646
+ # A group of PSC connections. They are created in the same VPC network, one for
647
+ # each service attachment in the cluster.
648
+ # Corresponds to the JSON property `connections`
649
+ # @return [Array<Google::Apis::RedisV1beta1::ConnectionDetail>]
650
+ attr_accessor :connections
651
+
652
+ def initialize(**args)
653
+ update!(**args)
654
+ end
655
+
656
+ # Update properties of this object
657
+ def update!(**args)
658
+ @connections = args[:connections] if args.key?(:connections)
659
+ end
660
+ end
661
+
662
+ # Maintenance policy per cluster.
663
+ class ClusterMaintenancePolicy
664
+ include Google::Apis::Core::Hashable
665
+
666
+ # Output only. The time when the policy was created i.e. Maintenance Window or
667
+ # Deny Period was assigned.
668
+ # Corresponds to the JSON property `createTime`
669
+ # @return [String]
670
+ attr_accessor :create_time
671
+
672
+ # Output only. The time when the policy was updated i.e. Maintenance Window or
673
+ # Deny Period was updated.
674
+ # Corresponds to the JSON property `updateTime`
675
+ # @return [String]
676
+ attr_accessor :update_time
677
+
678
+ # Optional. Maintenance window that is applied to resources covered by this
679
+ # policy. Minimum 1. For the current version, the maximum number of
680
+ # weekly_maintenance_window is expected to be one.
681
+ # Corresponds to the JSON property `weeklyMaintenanceWindow`
682
+ # @return [Array<Google::Apis::RedisV1beta1::ClusterWeeklyMaintenanceWindow>]
683
+ attr_accessor :weekly_maintenance_window
684
+
685
+ def initialize(**args)
686
+ update!(**args)
687
+ end
688
+
689
+ # Update properties of this object
690
+ def update!(**args)
691
+ @create_time = args[:create_time] if args.key?(:create_time)
692
+ @update_time = args[:update_time] if args.key?(:update_time)
693
+ @weekly_maintenance_window = args[:weekly_maintenance_window] if args.key?(:weekly_maintenance_window)
694
+ end
695
+ end
696
+
697
+ # Upcoming maitenance schedule.
698
+ class ClusterMaintenanceSchedule
699
+ include Google::Apis::Core::Hashable
700
+
701
+ # Output only. The end time of any upcoming scheduled maintenance for this
702
+ # instance.
703
+ # Corresponds to the JSON property `endTime`
704
+ # @return [String]
705
+ attr_accessor :end_time
706
+
707
+ # Output only. The start time of any upcoming scheduled maintenance for this
708
+ # instance.
709
+ # Corresponds to the JSON property `startTime`
710
+ # @return [String]
711
+ attr_accessor :start_time
712
+
713
+ def initialize(**args)
714
+ update!(**args)
715
+ end
716
+
717
+ # Update properties of this object
718
+ def update!(**args)
719
+ @end_time = args[:end_time] if args.key?(:end_time)
720
+ @start_time = args[:start_time] if args.key?(:start_time)
721
+ end
722
+ end
723
+
345
724
  # Configuration of the persistence functionality.
346
725
  class ClusterPersistenceConfig
347
726
  include Google::Apis::Core::Hashable
@@ -373,6 +752,33 @@ module Google
373
752
  end
374
753
  end
375
754
 
755
+ # Time window specified for weekly operations.
756
+ class ClusterWeeklyMaintenanceWindow
757
+ include Google::Apis::Core::Hashable
758
+
759
+ # Allows to define schedule that runs specified day of the week.
760
+ # Corresponds to the JSON property `day`
761
+ # @return [String]
762
+ attr_accessor :day
763
+
764
+ # Represents a time of day. The date and time zone are either not significant or
765
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
766
+ # types are google.type.Date and `google.protobuf.Timestamp`.
767
+ # Corresponds to the JSON property `startTime`
768
+ # @return [Google::Apis::RedisV1beta1::TimeOfDay]
769
+ attr_accessor :start_time
770
+
771
+ def initialize(**args)
772
+ update!(**args)
773
+ end
774
+
775
+ # Update properties of this object
776
+ def update!(**args)
777
+ @day = args[:day] if args.key?(:day)
778
+ @start_time = args[:start_time] if args.key?(:start_time)
779
+ end
780
+ end
781
+
376
782
  # Contains compliance information about a security standard indicating unmet
377
783
  # recommendations.
378
784
  class Compliance
@@ -399,16 +805,20 @@ module Google
399
805
  end
400
806
  end
401
807
 
402
- # Any custom metadata associated with the resource. i.e. A spanner instance can
403
- # have multiple databases with its own unique metadata. Information for these
404
- # individual databases can be captured in custom metadata data
405
- class CustomMetadataData
808
+ # Detailed information of each PSC connection.
809
+ class ConnectionDetail
406
810
  include Google::Apis::Core::Hashable
407
811
 
408
- #
409
- # Corresponds to the JSON property `databaseMetadata`
410
- # @return [Array<Google::Apis::RedisV1beta1::DatabaseMetadata>]
411
- attr_accessor :database_metadata
812
+ # Details of consumer resources in a PSC connection that is created through
813
+ # Service Connectivity Automation.
814
+ # Corresponds to the JSON property `pscAutoConnection`
815
+ # @return [Google::Apis::RedisV1beta1::PscAutoConnection]
816
+ attr_accessor :psc_auto_connection
817
+
818
+ # Details of consumer resources in a PSC connection.
819
+ # Corresponds to the JSON property `pscConnection`
820
+ # @return [Google::Apis::RedisV1beta1::PscConnection]
821
+ attr_accessor :psc_connection
412
822
 
413
823
  def initialize(**args)
414
824
  update!(**args)
@@ -416,40 +826,42 @@ module Google
416
826
 
417
827
  # Update properties of this object
418
828
  def update!(**args)
419
- @database_metadata = args[:database_metadata] if args.key?(:database_metadata)
829
+ @psc_auto_connection = args[:psc_auto_connection] if args.key?(:psc_auto_connection)
830
+ @psc_connection = args[:psc_connection] if args.key?(:psc_connection)
420
831
  end
421
832
  end
422
833
 
423
- # Metadata for individual databases created in an instance. i.e. spanner
424
- # instance can have multiple databases with unique configuration settings.
425
- class DatabaseMetadata
834
+ # Cross cluster replication config.
835
+ class CrossClusterReplicationConfig
426
836
  include Google::Apis::Core::Hashable
427
837
 
428
- # Configuration for automatic backups
429
- # Corresponds to the JSON property `backupConfiguration`
430
- # @return [Google::Apis::RedisV1beta1::BackupConfiguration]
431
- attr_accessor :backup_configuration
838
+ # The role of the cluster in cross cluster replication.
839
+ # Corresponds to the JSON property `clusterRole`
840
+ # @return [String]
841
+ attr_accessor :cluster_role
432
842
 
433
- # A backup run.
434
- # Corresponds to the JSON property `backupRun`
435
- # @return [Google::Apis::RedisV1beta1::BackupRun]
436
- attr_accessor :backup_run
843
+ # An output only view of all the member clusters participating in the cross
844
+ # cluster replication.
845
+ # Corresponds to the JSON property `membership`
846
+ # @return [Google::Apis::RedisV1beta1::Membership]
847
+ attr_accessor :membership
437
848
 
438
- # Product specification for Condor resources.
439
- # Corresponds to the JSON property `product`
440
- # @return [Google::Apis::RedisV1beta1::Product]
441
- attr_accessor :product
849
+ # Details of the remote cluster associated with this cluster in a cross cluster
850
+ # replication setup.
851
+ # Corresponds to the JSON property `primaryCluster`
852
+ # @return [Google::Apis::RedisV1beta1::RemoteCluster]
853
+ attr_accessor :primary_cluster
442
854
 
443
- # DatabaseResourceId will serve as primary key for any resource ingestion event.
444
- # Corresponds to the JSON property `resourceId`
445
- # @return [Google::Apis::RedisV1beta1::DatabaseResourceId]
446
- attr_accessor :resource_id
855
+ # List of secondary clusters that are replicating from this primary cluster.
856
+ # This field is only set for a primary cluster.
857
+ # Corresponds to the JSON property `secondaryClusters`
858
+ # @return [Array<Google::Apis::RedisV1beta1::RemoteCluster>]
859
+ attr_accessor :secondary_clusters
447
860
 
448
- # Required. Database name. Resource name to follow CAIS resource_name format as
449
- # noted here go/condor-common-datamodel
450
- # Corresponds to the JSON property `resourceName`
861
+ # Output only. The last time cross cluster replication config was updated.
862
+ # Corresponds to the JSON property `updateTime`
451
863
  # @return [String]
452
- attr_accessor :resource_name
864
+ attr_accessor :update_time
453
865
 
454
866
  def initialize(**args)
455
867
  update!(**args)
@@ -457,11 +869,33 @@ module Google
457
869
 
458
870
  # Update properties of this object
459
871
  def update!(**args)
460
- @backup_configuration = args[:backup_configuration] if args.key?(:backup_configuration)
461
- @backup_run = args[:backup_run] if args.key?(:backup_run)
462
- @product = args[:product] if args.key?(:product)
463
- @resource_id = args[:resource_id] if args.key?(:resource_id)
464
- @resource_name = args[:resource_name] if args.key?(:resource_name)
872
+ @cluster_role = args[:cluster_role] if args.key?(:cluster_role)
873
+ @membership = args[:membership] if args.key?(:membership)
874
+ @primary_cluster = args[:primary_cluster] if args.key?(:primary_cluster)
875
+ @secondary_clusters = args[:secondary_clusters] if args.key?(:secondary_clusters)
876
+ @update_time = args[:update_time] if args.key?(:update_time)
877
+ end
878
+ end
879
+
880
+ # Any custom metadata associated with the resource. e.g. A spanner instance can
881
+ # have multiple databases with its own unique metadata. Information for these
882
+ # individual databases can be captured in custom metadata data
883
+ class CustomMetadataData
884
+ include Google::Apis::Core::Hashable
885
+
886
+ # Metadata for individual internal resources in an instance. e.g. spanner
887
+ # instance can have multiple databases with unique configuration.
888
+ # Corresponds to the JSON property `internalResourceMetadata`
889
+ # @return [Array<Google::Apis::RedisV1beta1::InternalResourceMetadata>]
890
+ attr_accessor :internal_resource_metadata
891
+
892
+ def initialize(**args)
893
+ update!(**args)
894
+ end
895
+
896
+ # Update properties of this object
897
+ def update!(**args)
898
+ @internal_resource_metadata = args[:internal_resource_metadata] if args.key?(:internal_resource_metadata)
465
899
  end
466
900
  end
467
901
 
@@ -500,7 +934,7 @@ module Google
500
934
  # @return [Google::Apis::RedisV1beta1::DatabaseResourceId]
501
935
  attr_accessor :resource_id
502
936
 
503
- # Common model for database resource instance metadata.
937
+ # Common model for database resource instance metadata. Next ID: 23
504
938
  # Corresponds to the JSON property `resourceMetadata`
505
939
  # @return [Google::Apis::RedisV1beta1::DatabaseResourceMetadata]
506
940
  attr_accessor :resource_metadata
@@ -593,6 +1027,11 @@ module Google
593
1027
  # @return [String]
594
1028
  attr_accessor :signal_id
595
1029
 
1030
+ # The severity of the signal, such as if it's a HIGH or LOW severity.
1031
+ # Corresponds to the JSON property `signalSeverity`
1032
+ # @return [String]
1033
+ attr_accessor :signal_severity
1034
+
596
1035
  # Required. Type of signal, for example, `AVAILABLE_IN_MULTIPLE_ZONES`, `
597
1036
  # LOGGING_MOST_ERRORS`, etc.
598
1037
  # Corresponds to the JSON property `signalType`
@@ -621,6 +1060,7 @@ module Google
621
1060
  @resource_name = args[:resource_name] if args.key?(:resource_name)
622
1061
  @signal_class = args[:signal_class] if args.key?(:signal_class)
623
1062
  @signal_id = args[:signal_id] if args.key?(:signal_id)
1063
+ @signal_severity = args[:signal_severity] if args.key?(:signal_severity)
624
1064
  @signal_type = args[:signal_type] if args.key?(:signal_type)
625
1065
  @state = args[:state] if args.key?(:state)
626
1066
  end
@@ -642,8 +1082,10 @@ module Google
642
1082
 
643
1083
  # Required. The type of resource this ID is identifying. Ex redis.googleapis.com/
644
1084
  # Instance, redis.googleapis.com/Cluster, alloydb.googleapis.com/Cluster,
645
- # alloydb.googleapis.com/Instance, spanner.googleapis.com/Instance REQUIRED
646
- # Please refer go/condor-common-datamodel
1085
+ # alloydb.googleapis.com/Instance, spanner.googleapis.com/Instance, spanner.
1086
+ # googleapis.com/Database, firestore.googleapis.com/Database, sqladmin.
1087
+ # googleapis.com/Instance, bigtableadmin.googleapis.com/Cluster, bigtableadmin.
1088
+ # googleapis.com/Instance REQUIRED Please refer go/condor-common-datamodel
647
1089
  # Corresponds to the JSON property `resourceType`
648
1090
  # @return [String]
649
1091
  attr_accessor :resource_type
@@ -667,7 +1109,7 @@ module Google
667
1109
  end
668
1110
  end
669
1111
 
670
- # Common model for database resource instance metadata.
1112
+ # Common model for database resource instance metadata. Next ID: 23
671
1113
  class DatabaseResourceMetadata
672
1114
  include Google::Apis::Core::Hashable
673
1115
 
@@ -697,13 +1139,20 @@ module Google
697
1139
  # @return [String]
698
1140
  attr_accessor :current_state
699
1141
 
700
- # Any custom metadata associated with the resource. i.e. A spanner instance can
1142
+ # Any custom metadata associated with the resource. e.g. A spanner instance can
701
1143
  # have multiple databases with its own unique metadata. Information for these
702
1144
  # individual databases can be captured in custom metadata data
703
1145
  # Corresponds to the JSON property `customMetadata`
704
1146
  # @return [Google::Apis::RedisV1beta1::CustomMetadataData]
705
1147
  attr_accessor :custom_metadata
706
1148
 
1149
+ # Optional. Edition represents whether the instance is ENTERPRISE or
1150
+ # ENTERPRISE_PLUS. This information is core to Cloud SQL only and is used to
1151
+ # identify the edition of the instance.
1152
+ # Corresponds to the JSON property `edition`
1153
+ # @return [String]
1154
+ attr_accessor :edition
1155
+
707
1156
  # Entitlements associated with the resource
708
1157
  # Corresponds to the JSON property `entitlements`
709
1158
  # @return [Array<Google::Apis::RedisV1beta1::Entitlement>]
@@ -742,6 +1191,12 @@ module Google
742
1191
  # @return [Google::Apis::RedisV1beta1::DatabaseResourceId]
743
1192
  attr_accessor :primary_resource_id
744
1193
 
1194
+ # Primary resource location. REQUIRED if the immediate parent exists when first
1195
+ # time resource is getting ingested, otherwise optional.
1196
+ # Corresponds to the JSON property `primaryResourceLocation`
1197
+ # @return [String]
1198
+ attr_accessor :primary_resource_location
1199
+
745
1200
  # Product specification for Condor resources.
746
1201
  # Corresponds to the JSON property `product`
747
1202
  # @return [Google::Apis::RedisV1beta1::Product]
@@ -763,6 +1218,13 @@ module Google
763
1218
  # @return [String]
764
1219
  attr_accessor :resource_name
765
1220
 
1221
+ # Message type for storing tags. Tags provide a way to create annotations for
1222
+ # resources, and in some cases conditionally allow or deny policies based on
1223
+ # whether a resource has a specific tag.
1224
+ # Corresponds to the JSON property `tagsSet`
1225
+ # @return [Google::Apis::RedisV1beta1::Tags]
1226
+ attr_accessor :tags_set
1227
+
766
1228
  # The time at which the resource was updated and recorded at partner service.
767
1229
  # Corresponds to the JSON property `updationTime`
768
1230
  # @return [String]
@@ -787,6 +1249,7 @@ module Google
787
1249
  @creation_time = args[:creation_time] if args.key?(:creation_time)
788
1250
  @current_state = args[:current_state] if args.key?(:current_state)
789
1251
  @custom_metadata = args[:custom_metadata] if args.key?(:custom_metadata)
1252
+ @edition = args[:edition] if args.key?(:edition)
790
1253
  @entitlements = args[:entitlements] if args.key?(:entitlements)
791
1254
  @expected_state = args[:expected_state] if args.key?(:expected_state)
792
1255
  @id = args[:id] if args.key?(:id)
@@ -794,9 +1257,11 @@ module Google
794
1257
  @location = args[:location] if args.key?(:location)
795
1258
  @machine_configuration = args[:machine_configuration] if args.key?(:machine_configuration)
796
1259
  @primary_resource_id = args[:primary_resource_id] if args.key?(:primary_resource_id)
1260
+ @primary_resource_location = args[:primary_resource_location] if args.key?(:primary_resource_location)
797
1261
  @product = args[:product] if args.key?(:product)
798
1262
  @resource_container = args[:resource_container] if args.key?(:resource_container)
799
1263
  @resource_name = args[:resource_name] if args.key?(:resource_name)
1264
+ @tags_set = args[:tags_set] if args.key?(:tags_set)
800
1265
  @updation_time = args[:updation_time] if args.key?(:updation_time)
801
1266
  @user_label_set = args[:user_label_set] if args.key?(:user_label_set)
802
1267
  end
@@ -950,6 +1415,25 @@ module Google
950
1415
  end
951
1416
  end
952
1417
 
1418
+ # Request for [ExportBackup].
1419
+ class ExportBackupRequest
1420
+ include Google::Apis::Core::Hashable
1421
+
1422
+ # Google Cloud Storage bucket, like "my-bucket".
1423
+ # Corresponds to the JSON property `gcsBucket`
1424
+ # @return [String]
1425
+ attr_accessor :gcs_bucket
1426
+
1427
+ def initialize(**args)
1428
+ update!(**args)
1429
+ end
1430
+
1431
+ # Update properties of this object
1432
+ def update!(**args)
1433
+ @gcs_bucket = args[:gcs_bucket] if args.key?(:gcs_bucket)
1434
+ end
1435
+ end
1436
+
953
1437
  # Request for Export.
954
1438
  class ExportInstanceRequest
955
1439
  include Google::Apis::Core::Hashable
@@ -989,6 +1473,49 @@ module Google
989
1473
  end
990
1474
  end
991
1475
 
1476
+ # This schedule allows the backup to be triggered at a fixed frequency (
1477
+ # currently only daily is supported).
1478
+ class FixedFrequencySchedule
1479
+ include Google::Apis::Core::Hashable
1480
+
1481
+ # Represents a time of day. The date and time zone are either not significant or
1482
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
1483
+ # types are google.type.Date and `google.protobuf.Timestamp`.
1484
+ # Corresponds to the JSON property `startTime`
1485
+ # @return [Google::Apis::RedisV1beta1::TimeOfDay]
1486
+ attr_accessor :start_time
1487
+
1488
+ def initialize(**args)
1489
+ update!(**args)
1490
+ end
1491
+
1492
+ # Update properties of this object
1493
+ def update!(**args)
1494
+ @start_time = args[:start_time] if args.key?(:start_time)
1495
+ end
1496
+ end
1497
+
1498
+ # Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be
1499
+ # the same region as the clusters.
1500
+ class GcsBackupSource
1501
+ include Google::Apis::Core::Hashable
1502
+
1503
+ # Optional. URIs of the GCS objects to import. Example: gs://bucket1/object1, gs:
1504
+ # //bucket2/folder2/object2
1505
+ # Corresponds to the JSON property `uris`
1506
+ # @return [Array<String>]
1507
+ attr_accessor :uris
1508
+
1509
+ def initialize(**args)
1510
+ update!(**args)
1511
+ end
1512
+
1513
+ # Update properties of this object
1514
+ def update!(**args)
1515
+ @uris = args[:uris] if args.key?(:uris)
1516
+ end
1517
+ end
1518
+
992
1519
  # The Cloud Storage location for the output content
993
1520
  class GcsDestination
994
1521
  include Google::Apis::Core::Hashable
@@ -1038,9 +1565,9 @@ module Google
1038
1565
  attr_accessor :api_version
1039
1566
 
1040
1567
  # Output only. Identifies whether the user has requested cancellation of the
1041
- # operation. Operations that have been cancelled successfully have Operation.
1042
- # error value with a google.rpc.Status.code of 1, corresponding to `Code.
1043
- # CANCELLED`.
1568
+ # operation. Operations that have been cancelled successfully have google.
1569
+ # longrunning.Operation.error value with a google.rpc.Status.code of `1`,
1570
+ # corresponding to `Code.CANCELLED`.
1044
1571
  # Corresponds to the JSON property `cancelRequested`
1045
1572
  # @return [Boolean]
1046
1573
  attr_accessor :cancel_requested
@@ -1389,27 +1916,165 @@ module Google
1389
1916
  # @return [String]
1390
1917
  attr_accessor :state
1391
1918
 
1392
- # Output only. Additional information about the current status of this instance,
1393
- # if available.
1394
- # Corresponds to the JSON property `statusMessage`
1395
- # @return [String]
1396
- attr_accessor :status_message
1919
+ # Output only. Additional information about the current status of this instance,
1920
+ # if available.
1921
+ # Corresponds to the JSON property `statusMessage`
1922
+ # @return [String]
1923
+ attr_accessor :status_message
1924
+
1925
+ # Optional. reasons that causes instance in "SUSPENDED" state.
1926
+ # Corresponds to the JSON property `suspensionReasons`
1927
+ # @return [Array<String>]
1928
+ attr_accessor :suspension_reasons
1929
+
1930
+ # Required. The service tier of the instance.
1931
+ # Corresponds to the JSON property `tier`
1932
+ # @return [String]
1933
+ attr_accessor :tier
1934
+
1935
+ # Optional. The TLS mode of the Redis instance. If not provided, TLS is disabled
1936
+ # for the instance.
1937
+ # Corresponds to the JSON property `transitEncryptionMode`
1938
+ # @return [String]
1939
+ attr_accessor :transit_encryption_mode
1940
+
1941
+ def initialize(**args)
1942
+ update!(**args)
1943
+ end
1944
+
1945
+ # Update properties of this object
1946
+ def update!(**args)
1947
+ @alternative_location_id = args[:alternative_location_id] if args.key?(:alternative_location_id)
1948
+ @auth_enabled = args[:auth_enabled] if args.key?(:auth_enabled)
1949
+ @authorized_network = args[:authorized_network] if args.key?(:authorized_network)
1950
+ @available_maintenance_versions = args[:available_maintenance_versions] if args.key?(:available_maintenance_versions)
1951
+ @connect_mode = args[:connect_mode] if args.key?(:connect_mode)
1952
+ @create_time = args[:create_time] if args.key?(:create_time)
1953
+ @current_location_id = args[:current_location_id] if args.key?(:current_location_id)
1954
+ @customer_managed_key = args[:customer_managed_key] if args.key?(:customer_managed_key)
1955
+ @display_name = args[:display_name] if args.key?(:display_name)
1956
+ @host = args[:host] if args.key?(:host)
1957
+ @labels = args[:labels] if args.key?(:labels)
1958
+ @location_id = args[:location_id] if args.key?(:location_id)
1959
+ @maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy)
1960
+ @maintenance_schedule = args[:maintenance_schedule] if args.key?(:maintenance_schedule)
1961
+ @maintenance_version = args[:maintenance_version] if args.key?(:maintenance_version)
1962
+ @memory_size_gb = args[:memory_size_gb] if args.key?(:memory_size_gb)
1963
+ @name = args[:name] if args.key?(:name)
1964
+ @nodes = args[:nodes] if args.key?(:nodes)
1965
+ @persistence_config = args[:persistence_config] if args.key?(:persistence_config)
1966
+ @persistence_iam_identity = args[:persistence_iam_identity] if args.key?(:persistence_iam_identity)
1967
+ @port = args[:port] if args.key?(:port)
1968
+ @read_endpoint = args[:read_endpoint] if args.key?(:read_endpoint)
1969
+ @read_endpoint_port = args[:read_endpoint_port] if args.key?(:read_endpoint_port)
1970
+ @read_replicas_mode = args[:read_replicas_mode] if args.key?(:read_replicas_mode)
1971
+ @redis_configs = args[:redis_configs] if args.key?(:redis_configs)
1972
+ @redis_version = args[:redis_version] if args.key?(:redis_version)
1973
+ @replica_count = args[:replica_count] if args.key?(:replica_count)
1974
+ @reserved_ip_range = args[:reserved_ip_range] if args.key?(:reserved_ip_range)
1975
+ @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
1976
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
1977
+ @secondary_ip_range = args[:secondary_ip_range] if args.key?(:secondary_ip_range)
1978
+ @server_ca_certs = args[:server_ca_certs] if args.key?(:server_ca_certs)
1979
+ @state = args[:state] if args.key?(:state)
1980
+ @status_message = args[:status_message] if args.key?(:status_message)
1981
+ @suspension_reasons = args[:suspension_reasons] if args.key?(:suspension_reasons)
1982
+ @tier = args[:tier] if args.key?(:tier)
1983
+ @transit_encryption_mode = args[:transit_encryption_mode] if args.key?(:transit_encryption_mode)
1984
+ end
1985
+ end
1986
+
1987
+ # Instance AUTH string details.
1988
+ class InstanceAuthString
1989
+ include Google::Apis::Core::Hashable
1990
+
1991
+ # AUTH string set on the instance.
1992
+ # Corresponds to the JSON property `authString`
1993
+ # @return [String]
1994
+ attr_accessor :auth_string
1995
+
1996
+ def initialize(**args)
1997
+ update!(**args)
1998
+ end
1999
+
2000
+ # Update properties of this object
2001
+ def update!(**args)
2002
+ @auth_string = args[:auth_string] if args.key?(:auth_string)
2003
+ end
2004
+ end
2005
+
2006
+ # Metadata for individual internal resources in an instance. e.g. spanner
2007
+ # instance can have multiple databases with unique configuration settings.
2008
+ # Similarly bigtable can have multiple clusters within same bigtable instance.
2009
+ class InternalResourceMetadata
2010
+ include Google::Apis::Core::Hashable
2011
+
2012
+ # Configuration for automatic backups
2013
+ # Corresponds to the JSON property `backupConfiguration`
2014
+ # @return [Google::Apis::RedisV1beta1::BackupConfiguration]
2015
+ attr_accessor :backup_configuration
2016
+
2017
+ # A backup run.
2018
+ # Corresponds to the JSON property `backupRun`
2019
+ # @return [Google::Apis::RedisV1beta1::BackupRun]
2020
+ attr_accessor :backup_run
2021
+
2022
+ # Product specification for Condor resources.
2023
+ # Corresponds to the JSON property `product`
2024
+ # @return [Google::Apis::RedisV1beta1::Product]
2025
+ attr_accessor :product
2026
+
2027
+ # DatabaseResourceId will serve as primary key for any resource ingestion event.
2028
+ # Corresponds to the JSON property `resourceId`
2029
+ # @return [Google::Apis::RedisV1beta1::DatabaseResourceId]
2030
+ attr_accessor :resource_id
2031
+
2032
+ # Required. internal resource name for spanner this will be database name e.g."
2033
+ # spanner.googleapis.com/projects/123/abc/instances/inst1/databases/db1"
2034
+ # Corresponds to the JSON property `resourceName`
2035
+ # @return [String]
2036
+ attr_accessor :resource_name
2037
+
2038
+ def initialize(**args)
2039
+ update!(**args)
2040
+ end
2041
+
2042
+ # Update properties of this object
2043
+ def update!(**args)
2044
+ @backup_configuration = args[:backup_configuration] if args.key?(:backup_configuration)
2045
+ @backup_run = args[:backup_run] if args.key?(:backup_run)
2046
+ @product = args[:product] if args.key?(:product)
2047
+ @resource_id = args[:resource_id] if args.key?(:resource_id)
2048
+ @resource_name = args[:resource_name] if args.key?(:resource_name)
2049
+ end
2050
+ end
2051
+
2052
+ # Response for [ListBackupCollections].
2053
+ class ListBackupCollectionsResponse
2054
+ include Google::Apis::Core::Hashable
1397
2055
 
1398
- # Optional. reasons that causes instance in "SUSPENDED" state.
1399
- # Corresponds to the JSON property `suspensionReasons`
1400
- # @return [Array<String>]
1401
- attr_accessor :suspension_reasons
2056
+ # A list of backupCollections in the project. If the `location_id` in the parent
2057
+ # field of the request is "-", all regions available to the project are queried,
2058
+ # and the results aggregated. If in such an aggregated query a location is
2059
+ # unavailable, a placeholder backupCollection entry is included in the response
2060
+ # with the `name` field set to a value of the form `projects/`project_id`/
2061
+ # locations/`location_id`/backupCollections/`- and the `status` field set to
2062
+ # ERROR and `status_message` field set to "location not available for
2063
+ # ListBackupCollections".
2064
+ # Corresponds to the JSON property `backupCollections`
2065
+ # @return [Array<Google::Apis::RedisV1beta1::BackupCollection>]
2066
+ attr_accessor :backup_collections
1402
2067
 
1403
- # Required. The service tier of the instance.
1404
- # Corresponds to the JSON property `tier`
2068
+ # Token to retrieve the next page of results, or empty if there are no more
2069
+ # results in the list.
2070
+ # Corresponds to the JSON property `nextPageToken`
1405
2071
  # @return [String]
1406
- attr_accessor :tier
2072
+ attr_accessor :next_page_token
1407
2073
 
1408
- # Optional. The TLS mode of the Redis instance. If not provided, TLS is disabled
1409
- # for the instance.
1410
- # Corresponds to the JSON property `transitEncryptionMode`
1411
- # @return [String]
1412
- attr_accessor :transit_encryption_mode
2074
+ # Locations that could not be reached.
2075
+ # Corresponds to the JSON property `unreachable`
2076
+ # @return [Array<String>]
2077
+ attr_accessor :unreachable
1413
2078
 
1414
2079
  def initialize(**args)
1415
2080
  update!(**args)
@@ -1417,54 +2082,31 @@ module Google
1417
2082
 
1418
2083
  # Update properties of this object
1419
2084
  def update!(**args)
1420
- @alternative_location_id = args[:alternative_location_id] if args.key?(:alternative_location_id)
1421
- @auth_enabled = args[:auth_enabled] if args.key?(:auth_enabled)
1422
- @authorized_network = args[:authorized_network] if args.key?(:authorized_network)
1423
- @available_maintenance_versions = args[:available_maintenance_versions] if args.key?(:available_maintenance_versions)
1424
- @connect_mode = args[:connect_mode] if args.key?(:connect_mode)
1425
- @create_time = args[:create_time] if args.key?(:create_time)
1426
- @current_location_id = args[:current_location_id] if args.key?(:current_location_id)
1427
- @customer_managed_key = args[:customer_managed_key] if args.key?(:customer_managed_key)
1428
- @display_name = args[:display_name] if args.key?(:display_name)
1429
- @host = args[:host] if args.key?(:host)
1430
- @labels = args[:labels] if args.key?(:labels)
1431
- @location_id = args[:location_id] if args.key?(:location_id)
1432
- @maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy)
1433
- @maintenance_schedule = args[:maintenance_schedule] if args.key?(:maintenance_schedule)
1434
- @maintenance_version = args[:maintenance_version] if args.key?(:maintenance_version)
1435
- @memory_size_gb = args[:memory_size_gb] if args.key?(:memory_size_gb)
1436
- @name = args[:name] if args.key?(:name)
1437
- @nodes = args[:nodes] if args.key?(:nodes)
1438
- @persistence_config = args[:persistence_config] if args.key?(:persistence_config)
1439
- @persistence_iam_identity = args[:persistence_iam_identity] if args.key?(:persistence_iam_identity)
1440
- @port = args[:port] if args.key?(:port)
1441
- @read_endpoint = args[:read_endpoint] if args.key?(:read_endpoint)
1442
- @read_endpoint_port = args[:read_endpoint_port] if args.key?(:read_endpoint_port)
1443
- @read_replicas_mode = args[:read_replicas_mode] if args.key?(:read_replicas_mode)
1444
- @redis_configs = args[:redis_configs] if args.key?(:redis_configs)
1445
- @redis_version = args[:redis_version] if args.key?(:redis_version)
1446
- @replica_count = args[:replica_count] if args.key?(:replica_count)
1447
- @reserved_ip_range = args[:reserved_ip_range] if args.key?(:reserved_ip_range)
1448
- @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
1449
- @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
1450
- @secondary_ip_range = args[:secondary_ip_range] if args.key?(:secondary_ip_range)
1451
- @server_ca_certs = args[:server_ca_certs] if args.key?(:server_ca_certs)
1452
- @state = args[:state] if args.key?(:state)
1453
- @status_message = args[:status_message] if args.key?(:status_message)
1454
- @suspension_reasons = args[:suspension_reasons] if args.key?(:suspension_reasons)
1455
- @tier = args[:tier] if args.key?(:tier)
1456
- @transit_encryption_mode = args[:transit_encryption_mode] if args.key?(:transit_encryption_mode)
2085
+ @backup_collections = args[:backup_collections] if args.key?(:backup_collections)
2086
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2087
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1457
2088
  end
1458
2089
  end
1459
2090
 
1460
- # Instance AUTH string details.
1461
- class InstanceAuthString
2091
+ # Response for [ListBackups].
2092
+ class ListBackupsResponse
1462
2093
  include Google::Apis::Core::Hashable
1463
2094
 
1464
- # AUTH string set on the instance.
1465
- # Corresponds to the JSON property `authString`
2095
+ # A list of backups in the project.
2096
+ # Corresponds to the JSON property `backups`
2097
+ # @return [Array<Google::Apis::RedisV1beta1::Backup>]
2098
+ attr_accessor :backups
2099
+
2100
+ # Token to retrieve the next page of results, or empty if there are no more
2101
+ # results in the list.
2102
+ # Corresponds to the JSON property `nextPageToken`
1466
2103
  # @return [String]
1467
- attr_accessor :auth_string
2104
+ attr_accessor :next_page_token
2105
+
2106
+ # Backups that could not be reached.
2107
+ # Corresponds to the JSON property `unreachable`
2108
+ # @return [Array<String>]
2109
+ attr_accessor :unreachable
1468
2110
 
1469
2111
  def initialize(**args)
1470
2112
  update!(**args)
@@ -1472,7 +2114,9 @@ module Google
1472
2114
 
1473
2115
  # Update properties of this object
1474
2116
  def update!(**args)
1475
- @auth_string = args[:auth_string] if args.key?(:auth_string)
2117
+ @backups = args[:backups] if args.key?(:backups)
2118
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2119
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1476
2120
  end
1477
2121
  end
1478
2122
 
@@ -1670,6 +2314,17 @@ module Google
1670
2314
  # @return [Fixnum]
1671
2315
  attr_accessor :memory_size_in_bytes
1672
2316
 
2317
+ # Optional. Number of shards (if applicable).
2318
+ # Corresponds to the JSON property `shardCount`
2319
+ # @return [Fixnum]
2320
+ attr_accessor :shard_count
2321
+
2322
+ # Optional. The number of vCPUs. TODO(b/342344482, b/342346271) add proto
2323
+ # validations again after bug fix.
2324
+ # Corresponds to the JSON property `vcpuCount`
2325
+ # @return [Float]
2326
+ attr_accessor :vcpu_count
2327
+
1673
2328
  def initialize(**args)
1674
2329
  update!(**args)
1675
2330
  end
@@ -1678,6 +2333,8 @@ module Google
1678
2333
  def update!(**args)
1679
2334
  @cpu_count = args[:cpu_count] if args.key?(:cpu_count)
1680
2335
  @memory_size_in_bytes = args[:memory_size_in_bytes] if args.key?(:memory_size_in_bytes)
2336
+ @shard_count = args[:shard_count] if args.key?(:shard_count)
2337
+ @vcpu_count = args[:vcpu_count] if args.key?(:vcpu_count)
1681
2338
  end
1682
2339
  end
1683
2340
 
@@ -1763,6 +2420,29 @@ module Google
1763
2420
  end
1764
2421
  end
1765
2422
 
2423
+ # Backups that generated and managed by memorystore.
2424
+ class ManagedBackupSource
2425
+ include Google::Apis::Core::Hashable
2426
+
2427
+ # Optional. Example: //redis.googleapis.com/projects/`project`/locations/`
2428
+ # location`/backupCollections/`collection`/backups/`backup` A shorter version (
2429
+ # without the prefix) of the backup name is also supported, like projects/`
2430
+ # project`/locations/`location`/backupCollections/`collection`/backups/`
2431
+ # backup_id` In this case, it assumes the backup is under redis.googleapis.com.
2432
+ # Corresponds to the JSON property `backup`
2433
+ # @return [String]
2434
+ attr_accessor :backup
2435
+
2436
+ def initialize(**args)
2437
+ update!(**args)
2438
+ end
2439
+
2440
+ # Update properties of this object
2441
+ def update!(**args)
2442
+ @backup = args[:backup] if args.key?(:backup)
2443
+ end
2444
+ end
2445
+
1766
2446
  #
1767
2447
  class ManagedCertificateAuthority
1768
2448
  include Google::Apis::Core::Hashable
@@ -1782,6 +2462,34 @@ module Google
1782
2462
  end
1783
2463
  end
1784
2464
 
2465
+ # An output only view of all the member clusters participating in the cross
2466
+ # cluster replication.
2467
+ class Membership
2468
+ include Google::Apis::Core::Hashable
2469
+
2470
+ # Details of the remote cluster associated with this cluster in a cross cluster
2471
+ # replication setup.
2472
+ # Corresponds to the JSON property `primaryCluster`
2473
+ # @return [Google::Apis::RedisV1beta1::RemoteCluster]
2474
+ attr_accessor :primary_cluster
2475
+
2476
+ # Output only. The list of secondary clusters replicating from the primary
2477
+ # cluster.
2478
+ # Corresponds to the JSON property `secondaryClusters`
2479
+ # @return [Array<Google::Apis::RedisV1beta1::RemoteCluster>]
2480
+ attr_accessor :secondary_clusters
2481
+
2482
+ def initialize(**args)
2483
+ update!(**args)
2484
+ end
2485
+
2486
+ # Update properties of this object
2487
+ def update!(**args)
2488
+ @primary_cluster = args[:primary_cluster] if args.key?(:primary_cluster)
2489
+ @secondary_clusters = args[:secondary_clusters] if args.key?(:secondary_clusters)
2490
+ end
2491
+ end
2492
+
1785
2493
  # Node specific properties.
1786
2494
  class NodeInfo
1787
2495
  include Google::Apis::Core::Hashable
@@ -2104,6 +2812,76 @@ module Google
2104
2812
  end
2105
2813
  end
2106
2814
 
2815
+ # Details of consumer resources in a PSC connection that is created through
2816
+ # Service Connectivity Automation.
2817
+ class PscAutoConnection
2818
+ include Google::Apis::Core::Hashable
2819
+
2820
+ # Output only. The IP allocated on the consumer network for the PSC forwarding
2821
+ # rule.
2822
+ # Corresponds to the JSON property `address`
2823
+ # @return [String]
2824
+ attr_accessor :address
2825
+
2826
+ # Output only. Type of the PSC connection.
2827
+ # Corresponds to the JSON property `connectionType`
2828
+ # @return [String]
2829
+ attr_accessor :connection_type
2830
+
2831
+ # Output only. The URI of the consumer side forwarding rule. Example: projects/`
2832
+ # projectNumOrId`/regions/us-east1/forwardingRules/`resourceId`.
2833
+ # Corresponds to the JSON property `forwardingRule`
2834
+ # @return [String]
2835
+ attr_accessor :forwarding_rule
2836
+
2837
+ # Required. The consumer network where the IP address resides, in the form of
2838
+ # projects/`project_id`/global/networks/`network_id`.
2839
+ # Corresponds to the JSON property `network`
2840
+ # @return [String]
2841
+ attr_accessor :network
2842
+
2843
+ # Required. The consumer project_id where the forwarding rule is created from.
2844
+ # Corresponds to the JSON property `projectId`
2845
+ # @return [String]
2846
+ attr_accessor :project_id
2847
+
2848
+ # Output only. The PSC connection id of the forwarding rule connected to the
2849
+ # service attachment.
2850
+ # Corresponds to the JSON property `pscConnectionId`
2851
+ # @return [String]
2852
+ attr_accessor :psc_connection_id
2853
+
2854
+ # Output only. The status of the PSC connection. Please note that this value is
2855
+ # updated periodically. Please use Private Service Connect APIs for the latest
2856
+ # status.
2857
+ # Corresponds to the JSON property `pscConnectionStatus`
2858
+ # @return [String]
2859
+ attr_accessor :psc_connection_status
2860
+
2861
+ # Output only. The service attachment which is the target of the PSC connection,
2862
+ # in the form of projects/`project-id`/regions/`region`/serviceAttachments/`
2863
+ # service-attachment-id`.
2864
+ # Corresponds to the JSON property `serviceAttachment`
2865
+ # @return [String]
2866
+ attr_accessor :service_attachment
2867
+
2868
+ def initialize(**args)
2869
+ update!(**args)
2870
+ end
2871
+
2872
+ # Update properties of this object
2873
+ def update!(**args)
2874
+ @address = args[:address] if args.key?(:address)
2875
+ @connection_type = args[:connection_type] if args.key?(:connection_type)
2876
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
2877
+ @network = args[:network] if args.key?(:network)
2878
+ @project_id = args[:project_id] if args.key?(:project_id)
2879
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
2880
+ @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
2881
+ @service_attachment = args[:service_attachment] if args.key?(:service_attachment)
2882
+ end
2883
+ end
2884
+
2107
2885
  #
2108
2886
  class PscConfig
2109
2887
  include Google::Apis::Core::Hashable
@@ -2129,35 +2907,55 @@ module Google
2129
2907
  class PscConnection
2130
2908
  include Google::Apis::Core::Hashable
2131
2909
 
2132
- # Output only. The IP allocated on the consumer network for the PSC forwarding
2133
- # rule.
2910
+ # Required. The IP allocated on the consumer network for the PSC forwarding rule.
2134
2911
  # Corresponds to the JSON property `address`
2135
2912
  # @return [String]
2136
2913
  attr_accessor :address
2137
2914
 
2138
- # Output only. The URI of the consumer side forwarding rule. Example: projects/`
2915
+ # Output only. Type of the PSC connection.
2916
+ # Corresponds to the JSON property `connectionType`
2917
+ # @return [String]
2918
+ attr_accessor :connection_type
2919
+
2920
+ # Required. The URI of the consumer side forwarding rule. Example: projects/`
2139
2921
  # projectNumOrId`/regions/us-east1/forwardingRules/`resourceId`.
2140
2922
  # Corresponds to the JSON property `forwardingRule`
2141
2923
  # @return [String]
2142
2924
  attr_accessor :forwarding_rule
2143
2925
 
2144
- # The consumer network where the IP address resides, in the form of projects/`
2145
- # project_id`/global/networks/`network_id`.
2926
+ # Required. The consumer network where the IP address resides, in the form of
2927
+ # projects/`project_id`/global/networks/`network_id`.
2146
2928
  # Corresponds to the JSON property `network`
2147
2929
  # @return [String]
2148
2930
  attr_accessor :network
2149
2931
 
2150
- # Output only. The consumer project_id where the forwarding rule is created from.
2932
+ # Optional. Project ID of the consumer project where the forwarding rule is
2933
+ # created in.
2151
2934
  # Corresponds to the JSON property `projectId`
2152
2935
  # @return [String]
2153
2936
  attr_accessor :project_id
2154
2937
 
2155
- # Output only. The PSC connection id of the forwarding rule connected to the
2938
+ # Required. The PSC connection id of the forwarding rule connected to the
2156
2939
  # service attachment.
2157
2940
  # Corresponds to the JSON property `pscConnectionId`
2158
2941
  # @return [String]
2159
2942
  attr_accessor :psc_connection_id
2160
2943
 
2944
+ # Output only. The status of the PSC connection. Please note that this value is
2945
+ # updated periodically. To get the latest status of a PSC connection, follow
2946
+ # https://cloud.google.com/vpc/docs/configure-private-service-connect-services#
2947
+ # endpoint-details.
2948
+ # Corresponds to the JSON property `pscConnectionStatus`
2949
+ # @return [String]
2950
+ attr_accessor :psc_connection_status
2951
+
2952
+ # Required. The service attachment which is the target of the PSC connection, in
2953
+ # the form of projects/`project-id`/regions/`region`/serviceAttachments/`service-
2954
+ # attachment-id`.
2955
+ # Corresponds to the JSON property `serviceAttachment`
2956
+ # @return [String]
2957
+ attr_accessor :service_attachment
2958
+
2161
2959
  def initialize(**args)
2162
2960
  update!(**args)
2163
2961
  end
@@ -2165,10 +2963,40 @@ module Google
2165
2963
  # Update properties of this object
2166
2964
  def update!(**args)
2167
2965
  @address = args[:address] if args.key?(:address)
2966
+ @connection_type = args[:connection_type] if args.key?(:connection_type)
2168
2967
  @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
2169
2968
  @network = args[:network] if args.key?(:network)
2170
2969
  @project_id = args[:project_id] if args.key?(:project_id)
2171
2970
  @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
2971
+ @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
2972
+ @service_attachment = args[:service_attachment] if args.key?(:service_attachment)
2973
+ end
2974
+ end
2975
+
2976
+ # Configuration of a service attachment of the cluster, for creating PSC
2977
+ # connections.
2978
+ class PscServiceAttachment
2979
+ include Google::Apis::Core::Hashable
2980
+
2981
+ # Output only. Type of a PSC connection targeting this service attachment.
2982
+ # Corresponds to the JSON property `connectionType`
2983
+ # @return [String]
2984
+ attr_accessor :connection_type
2985
+
2986
+ # Output only. Service attachment URI which your self-created PscConnection
2987
+ # should use as target
2988
+ # Corresponds to the JSON property `serviceAttachment`
2989
+ # @return [String]
2990
+ attr_accessor :service_attachment
2991
+
2992
+ def initialize(**args)
2993
+ update!(**args)
2994
+ end
2995
+
2996
+ # Update properties of this object
2997
+ def update!(**args)
2998
+ @connection_type = args[:connection_type] if args.key?(:connection_type)
2999
+ @service_attachment = args[:service_attachment] if args.key?(:service_attachment)
2172
3000
  end
2173
3001
  end
2174
3002
 
@@ -2225,6 +3053,61 @@ module Google
2225
3053
  end
2226
3054
  end
2227
3055
 
3056
+ # Details of the remote cluster associated with this cluster in a cross cluster
3057
+ # replication setup.
3058
+ class RemoteCluster
3059
+ include Google::Apis::Core::Hashable
3060
+
3061
+ # The full resource path of the remote cluster in the format: projects//
3062
+ # locations//clusters/
3063
+ # Corresponds to the JSON property `cluster`
3064
+ # @return [String]
3065
+ attr_accessor :cluster
3066
+
3067
+ # Output only. The unique identifier of the remote cluster.
3068
+ # Corresponds to the JSON property `uid`
3069
+ # @return [String]
3070
+ attr_accessor :uid
3071
+
3072
+ def initialize(**args)
3073
+ update!(**args)
3074
+ end
3075
+
3076
+ # Update properties of this object
3077
+ def update!(**args)
3078
+ @cluster = args[:cluster] if args.key?(:cluster)
3079
+ @uid = args[:uid] if args.key?(:uid)
3080
+ end
3081
+ end
3082
+
3083
+ # Request for rescheduling a cluster maintenance.
3084
+ class RescheduleClusterMaintenanceRequest
3085
+ include Google::Apis::Core::Hashable
3086
+
3087
+ # Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as
3088
+ # well.
3089
+ # Corresponds to the JSON property `rescheduleType`
3090
+ # @return [String]
3091
+ attr_accessor :reschedule_type
3092
+
3093
+ # Optional. Timestamp when the maintenance shall be rescheduled to if
3094
+ # reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for example `2012-11-15T16:
3095
+ # 19:00.094Z`.
3096
+ # Corresponds to the JSON property `scheduleTime`
3097
+ # @return [String]
3098
+ attr_accessor :schedule_time
3099
+
3100
+ def initialize(**args)
3101
+ update!(**args)
3102
+ end
3103
+
3104
+ # Update properties of this object
3105
+ def update!(**args)
3106
+ @reschedule_type = args[:reschedule_type] if args.key?(:reschedule_type)
3107
+ @schedule_time = args[:schedule_time] if args.key?(:schedule_time)
3108
+ end
3109
+ end
3110
+
2228
3111
  # Request for RescheduleMaintenance.
2229
3112
  class RescheduleMaintenanceRequest
2230
3113
  include Google::Apis::Core::Hashable
@@ -2257,6 +3140,11 @@ module Google
2257
3140
  class RetentionSettings
2258
3141
  include Google::Apis::Core::Hashable
2259
3142
 
3143
+ # Duration based retention period i.e. 172800 seconds (2 days)
3144
+ # Corresponds to the JSON property `durationBasedRetention`
3145
+ # @return [String]
3146
+ attr_accessor :duration_based_retention
3147
+
2260
3148
  #
2261
3149
  # Corresponds to the JSON property `quantityBasedRetention`
2262
3150
  # @return [Fixnum]
@@ -2272,15 +3160,22 @@ module Google
2272
3160
  # @return [String]
2273
3161
  attr_accessor :time_based_retention
2274
3162
 
3163
+ # Timestamp based retention period i.e. 2024-05-01T00:00:00Z
3164
+ # Corresponds to the JSON property `timestampBasedRetentionTime`
3165
+ # @return [String]
3166
+ attr_accessor :timestamp_based_retention_time
3167
+
2275
3168
  def initialize(**args)
2276
3169
  update!(**args)
2277
3170
  end
2278
3171
 
2279
3172
  # Update properties of this object
2280
3173
  def update!(**args)
3174
+ @duration_based_retention = args[:duration_based_retention] if args.key?(:duration_based_retention)
2281
3175
  @quantity_based_retention = args[:quantity_based_retention] if args.key?(:quantity_based_retention)
2282
3176
  @retention_unit = args[:retention_unit] if args.key?(:retention_unit)
2283
3177
  @time_based_retention = args[:time_based_retention] if args.key?(:time_based_retention)
3178
+ @timestamp_based_retention_time = args[:timestamp_based_retention_time] if args.key?(:timestamp_based_retention_time)
2284
3179
  end
2285
3180
  end
2286
3181
 
@@ -2342,30 +3237,55 @@ module Google
2342
3237
  end
2343
3238
  end
2344
3239
 
3240
+ # Message type for storing tags. Tags provide a way to create annotations for
3241
+ # resources, and in some cases conditionally allow or deny policies based on
3242
+ # whether a resource has a specific tag.
3243
+ class Tags
3244
+ include Google::Apis::Core::Hashable
3245
+
3246
+ # The Tag key/value mappings.
3247
+ # Corresponds to the JSON property `tags`
3248
+ # @return [Hash<String,String>]
3249
+ attr_accessor :tags
3250
+
3251
+ def initialize(**args)
3252
+ update!(**args)
3253
+ end
3254
+
3255
+ # Update properties of this object
3256
+ def update!(**args)
3257
+ @tags = args[:tags] if args.key?(:tags)
3258
+ end
3259
+ end
3260
+
2345
3261
  # Represents a time of day. The date and time zone are either not significant or
2346
3262
  # are specified elsewhere. An API may choose to allow leap seconds. Related
2347
3263
  # types are google.type.Date and `google.protobuf.Timestamp`.
2348
3264
  class TimeOfDay
2349
3265
  include Google::Apis::Core::Hashable
2350
3266
 
2351
- # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to
2352
- # allow the value "24:00:00" for scenarios like business closing time.
3267
+ # Hours of a day in 24 hour format. Must be greater than or equal to 0 and
3268
+ # typically must be less than or equal to 23. An API may choose to allow the
3269
+ # value "24:00:00" for scenarios like business closing time.
2353
3270
  # Corresponds to the JSON property `hours`
2354
3271
  # @return [Fixnum]
2355
3272
  attr_accessor :hours
2356
3273
 
2357
- # Minutes of hour of day. Must be from 0 to 59.
3274
+ # Minutes of an hour. Must be greater than or equal to 0 and less than or equal
3275
+ # to 59.
2358
3276
  # Corresponds to the JSON property `minutes`
2359
3277
  # @return [Fixnum]
2360
3278
  attr_accessor :minutes
2361
3279
 
2362
- # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
3280
+ # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and
3281
+ # less than or equal to 999,999,999.
2363
3282
  # Corresponds to the JSON property `nanos`
2364
3283
  # @return [Fixnum]
2365
3284
  attr_accessor :nanos
2366
3285
 
2367
- # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
2368
- # allow the value 60 if it allows leap-seconds.
3286
+ # Seconds of a minute. Must be greater than or equal to 0 and typically must be
3287
+ # less than or equal to 59. An API may allow the value 60 if it allows leap-
3288
+ # seconds.
2369
3289
  # Corresponds to the JSON property `seconds`
2370
3290
  # @return [Fixnum]
2371
3291
  attr_accessor :seconds