google-apis-redis_v1beta1 0.54.0 → 0.56.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.
@@ -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