google-apis-redis_v1 0.62.0 → 0.64.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -41,38 +41,28 @@ module Google
41
41
  end
42
42
  end
43
43
 
44
- # Provides the mapping of a cloud asset to a direct physical location or to a
45
- # proxy that defines the location on its behalf.
46
- class AssetLocation
44
+ # The automated backup config for a cluster.
45
+ class AutomatedBackupConfig
47
46
  include Google::Apis::Core::Hashable
48
47
 
49
- # Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants
50
- # that use CCFE RMS for storing resource metadata.
51
- # Corresponds to the JSON property `ccfeRmsPath`
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`
52
51
  # @return [String]
53
- attr_accessor :ccfe_rms_path
52
+ attr_accessor :automated_backup_mode
54
53
 
55
- # Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state
56
- # of the region at the time of asset creation.
57
- # Corresponds to the JSON property `expected`
58
- # @return [Google::Apis::RedisV1::IsolationExpectations]
59
- attr_accessor :expected
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::RedisV1::FixedFrequencySchedule]
58
+ attr_accessor :fixed_frequency_schedule
60
59
 
61
- # Defines extra parameters required for specific asset types.
62
- # Corresponds to the JSON property `extraParameters`
63
- # @return [Array<Google::Apis::RedisV1::ExtraParameter>]
64
- attr_accessor :extra_parameters
65
-
66
- # Contains all kinds of physical location definitions for this asset.
67
- # Corresponds to the JSON property `locationData`
68
- # @return [Array<Google::Apis::RedisV1::LocationData>]
69
- attr_accessor :location_data
70
-
71
- # Defines parents assets if any in order to allow later generation of
72
- # child_asset_location data via child assets.
73
- # Corresponds to the JSON property `parentAsset`
74
- # @return [Array<Google::Apis::RedisV1::CloudAsset>]
75
- attr_accessor :parent_asset
60
+ # Optional. How long to keep automated backups before the backups are deleted.
61
+ # If not specified, the default value is 100 years which is also the maximum
62
+ # value supported. The minimum value is 1 day.
63
+ # Corresponds to the JSON property `retention`
64
+ # @return [String]
65
+ attr_accessor :retention
76
66
 
77
67
  def initialize(**args)
78
68
  update!(**args)
@@ -80,11 +70,9 @@ module Google
80
70
 
81
71
  # Update properties of this object
82
72
  def update!(**args)
83
- @ccfe_rms_path = args[:ccfe_rms_path] if args.key?(:ccfe_rms_path)
84
- @expected = args[:expected] if args.key?(:expected)
85
- @extra_parameters = args[:extra_parameters] if args.key?(:extra_parameters)
86
- @location_data = args[:location_data] if args.key?(:location_data)
87
- @parent_asset = args[:parent_asset] if args.key?(:parent_asset)
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)
88
76
  end
89
77
  end
90
78
 
@@ -141,6 +129,158 @@ module Google
141
129
  end
142
130
  end
143
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::RedisV1::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
+ def initialize(**args)
204
+ update!(**args)
205
+ end
206
+
207
+ # Update properties of this object
208
+ def update!(**args)
209
+ @backup_files = args[:backup_files] if args.key?(:backup_files)
210
+ @backup_type = args[:backup_type] if args.key?(:backup_type)
211
+ @cluster = args[:cluster] if args.key?(:cluster)
212
+ @cluster_uid = args[:cluster_uid] if args.key?(:cluster_uid)
213
+ @create_time = args[:create_time] if args.key?(:create_time)
214
+ @engine_version = args[:engine_version] if args.key?(:engine_version)
215
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
216
+ @name = args[:name] if args.key?(:name)
217
+ @node_type = args[:node_type] if args.key?(:node_type)
218
+ @replica_count = args[:replica_count] if args.key?(:replica_count)
219
+ @shard_count = args[:shard_count] if args.key?(:shard_count)
220
+ @state = args[:state] if args.key?(:state)
221
+ @total_size_bytes = args[:total_size_bytes] if args.key?(:total_size_bytes)
222
+ end
223
+ end
224
+
225
+ # Request for [BackupCluster].
226
+ class BackupClusterRequest
227
+ include Google::Apis::Core::Hashable
228
+
229
+ # Optional. The id of the backup to be created. If not specified, the default
230
+ # value ([YYYYMMDDHHMMSS]_[Shortened Cluster UID] is used.
231
+ # Corresponds to the JSON property `backupId`
232
+ # @return [String]
233
+ attr_accessor :backup_id
234
+
235
+ # Optional. TTL for the backup to expire. Value range is 1 day to 100 years. If
236
+ # not specified, the default value is 100 years.
237
+ # Corresponds to the JSON property `ttl`
238
+ # @return [String]
239
+ attr_accessor :ttl
240
+
241
+ def initialize(**args)
242
+ update!(**args)
243
+ end
244
+
245
+ # Update properties of this object
246
+ def update!(**args)
247
+ @backup_id = args[:backup_id] if args.key?(:backup_id)
248
+ @ttl = args[:ttl] if args.key?(:ttl)
249
+ end
250
+ end
251
+
252
+ # BackupCollection of a cluster.
253
+ class BackupCollection
254
+ include Google::Apis::Core::Hashable
255
+
256
+ # Output only. The full resource path of the cluster the backup collection
257
+ # belongs to. Example: projects/`project`/locations/`location`/clusters/`cluster`
258
+ # Corresponds to the JSON property `cluster`
259
+ # @return [String]
260
+ attr_accessor :cluster
261
+
262
+ # Output only. The cluster uid of the backup collection.
263
+ # Corresponds to the JSON property `clusterUid`
264
+ # @return [String]
265
+ attr_accessor :cluster_uid
266
+
267
+ # Identifier. Full resource path of the backup collection.
268
+ # Corresponds to the JSON property `name`
269
+ # @return [String]
270
+ attr_accessor :name
271
+
272
+ def initialize(**args)
273
+ update!(**args)
274
+ end
275
+
276
+ # Update properties of this object
277
+ def update!(**args)
278
+ @cluster = args[:cluster] if args.key?(:cluster)
279
+ @cluster_uid = args[:cluster_uid] if args.key?(:cluster_uid)
280
+ @name = args[:name] if args.key?(:name)
281
+ end
282
+ end
283
+
144
284
  # Configuration for automatic backups
145
285
  class BackupConfiguration
146
286
  include Google::Apis::Core::Hashable
@@ -176,6 +316,37 @@ module Google
176
316
  end
177
317
  end
178
318
 
319
+ # Backup is consisted of multiple backup files.
320
+ class BackupFile
321
+ include Google::Apis::Core::Hashable
322
+
323
+ # Output only. The time when the backup file was created.
324
+ # Corresponds to the JSON property `createTime`
325
+ # @return [String]
326
+ attr_accessor :create_time
327
+
328
+ # Output only. e.g: .rdb
329
+ # Corresponds to the JSON property `fileName`
330
+ # @return [String]
331
+ attr_accessor :file_name
332
+
333
+ # Output only. Size of the backup file in bytes.
334
+ # Corresponds to the JSON property `sizeBytes`
335
+ # @return [Fixnum]
336
+ attr_accessor :size_bytes
337
+
338
+ def initialize(**args)
339
+ update!(**args)
340
+ end
341
+
342
+ # Update properties of this object
343
+ def update!(**args)
344
+ @create_time = args[:create_time] if args.key?(:create_time)
345
+ @file_name = args[:file_name] if args.key?(:file_name)
346
+ @size_bytes = args[:size_bytes] if args.key?(:size_bytes)
347
+ end
348
+ end
349
+
179
350
  # A backup run.
180
351
  class BackupRun
181
352
  include Google::Apis::Core::Hashable
@@ -213,26 +384,6 @@ module Google
213
384
  end
214
385
  end
215
386
 
216
- # Policy ID that identified data placement in Blobstore as per go/blobstore-user-
217
- # guide#data-metadata-placement-and-failure-domains
218
- class BlobstoreLocation
219
- include Google::Apis::Core::Hashable
220
-
221
- #
222
- # Corresponds to the JSON property `policyId`
223
- # @return [Array<String>]
224
- attr_accessor :policy_id
225
-
226
- def initialize(**args)
227
- update!(**args)
228
- end
229
-
230
- # Update properties of this object
231
- def update!(**args)
232
- @policy_id = args[:policy_id] if args.key?(:policy_id)
233
- end
234
- end
235
-
236
387
  #
237
388
  class CertChain
238
389
  include Google::Apis::Core::Hashable
@@ -279,50 +430,6 @@ module Google
279
430
  end
280
431
  end
281
432
 
282
- #
283
- class CloudAsset
284
- include Google::Apis::Core::Hashable
285
-
286
- #
287
- # Corresponds to the JSON property `assetName`
288
- # @return [String]
289
- attr_accessor :asset_name
290
-
291
- #
292
- # Corresponds to the JSON property `assetType`
293
- # @return [String]
294
- attr_accessor :asset_type
295
-
296
- def initialize(**args)
297
- update!(**args)
298
- end
299
-
300
- # Update properties of this object
301
- def update!(**args)
302
- @asset_name = args[:asset_name] if args.key?(:asset_name)
303
- @asset_type = args[:asset_type] if args.key?(:asset_type)
304
- end
305
- end
306
-
307
- #
308
- class CloudAssetComposition
309
- include Google::Apis::Core::Hashable
310
-
311
- #
312
- # Corresponds to the JSON property `childAsset`
313
- # @return [Array<Google::Apis::RedisV1::CloudAsset>]
314
- attr_accessor :child_asset
315
-
316
- def initialize(**args)
317
- update!(**args)
318
- end
319
-
320
- # Update properties of this object
321
- def update!(**args)
322
- @child_asset = args[:child_asset] if args.key?(:child_asset)
323
- end
324
- end
325
-
326
433
  # A cluster instance.
327
434
  class Cluster
328
435
  include Google::Apis::Core::Hashable
@@ -333,6 +440,22 @@ module Google
333
440
  # @return [String]
334
441
  attr_accessor :authorization_mode
335
442
 
443
+ # The automated backup config for a cluster.
444
+ # Corresponds to the JSON property `automatedBackupConfig`
445
+ # @return [Google::Apis::RedisV1::AutomatedBackupConfig]
446
+ attr_accessor :automated_backup_config
447
+
448
+ # Optional. Output only. The backup collection full resource name. Example:
449
+ # projects/`project`/locations/`location`/backupCollections/`collection`
450
+ # Corresponds to the JSON property `backupCollection`
451
+ # @return [String]
452
+ attr_accessor :backup_collection
453
+
454
+ # Optional. A list of cluster enpoints.
455
+ # Corresponds to the JSON property `clusterEndpoints`
456
+ # @return [Array<Google::Apis::RedisV1::ClusterEndpoint>]
457
+ attr_accessor :cluster_endpoints
458
+
336
459
  # Output only. The timestamp associated with the cluster creation request.
337
460
  # Corresponds to the JSON property `createTime`
338
461
  # @return [String]
@@ -355,6 +478,12 @@ module Google
355
478
  # @return [Array<Google::Apis::RedisV1::DiscoveryEndpoint>]
356
479
  attr_accessor :discovery_endpoints
357
480
 
481
+ # Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be
482
+ # the same region as the clusters.
483
+ # Corresponds to the JSON property `gcsSource`
484
+ # @return [Google::Apis::RedisV1::GcsBackupSource]
485
+ attr_accessor :gcs_source
486
+
358
487
  # Maintenance policy per cluster.
359
488
  # Corresponds to the JSON property `maintenancePolicy`
360
489
  # @return [Google::Apis::RedisV1::ClusterMaintenancePolicy]
@@ -365,6 +494,11 @@ module Google
365
494
  # @return [Google::Apis::RedisV1::ClusterMaintenanceSchedule]
366
495
  attr_accessor :maintenance_schedule
367
496
 
497
+ # Backups that generated and managed by memorystore.
498
+ # Corresponds to the JSON property `managedBackupSource`
499
+ # @return [Google::Apis::RedisV1::ManagedBackupSource]
500
+ attr_accessor :managed_backup_source
501
+
368
502
  # Required. Identifier. Unique name of the resource in this scope including
369
503
  # project and location using the form: `projects/`project_id`/locations/`
370
504
  # location_id`/clusters/`cluster_id``
@@ -388,7 +522,7 @@ module Google
388
522
  # @return [Float]
389
523
  attr_accessor :precise_size_gb
390
524
 
391
- # Required. Each PscConfig configures the consumer network where IPs will be
525
+ # Optional. Each PscConfig configures the consumer network where IPs will be
392
526
  # designated to the cluster for client access through Private Service Connect
393
527
  # Automation. Currently, only one PscConfig is supported.
394
528
  # Corresponds to the JSON property `pscConfigs`
@@ -401,6 +535,11 @@ module Google
401
535
  # @return [Array<Google::Apis::RedisV1::PscConnection>]
402
536
  attr_accessor :psc_connections
403
537
 
538
+ # Output only. Service attachment details to configure Psc connections
539
+ # Corresponds to the JSON property `pscServiceAttachments`
540
+ # @return [Array<Google::Apis::RedisV1::PscServiceAttachment>]
541
+ attr_accessor :psc_service_attachments
542
+
404
543
  # Optional. Key/Value pairs of customer overrides for mutable Redis Configs
405
544
  # Corresponds to the JSON property `redisConfigs`
406
545
  # @return [Hash<String,String>]
@@ -456,18 +595,24 @@ module Google
456
595
  # Update properties of this object
457
596
  def update!(**args)
458
597
  @authorization_mode = args[:authorization_mode] if args.key?(:authorization_mode)
598
+ @automated_backup_config = args[:automated_backup_config] if args.key?(:automated_backup_config)
599
+ @backup_collection = args[:backup_collection] if args.key?(:backup_collection)
600
+ @cluster_endpoints = args[:cluster_endpoints] if args.key?(:cluster_endpoints)
459
601
  @create_time = args[:create_time] if args.key?(:create_time)
460
602
  @cross_cluster_replication_config = args[:cross_cluster_replication_config] if args.key?(:cross_cluster_replication_config)
461
603
  @deletion_protection_enabled = args[:deletion_protection_enabled] if args.key?(:deletion_protection_enabled)
462
604
  @discovery_endpoints = args[:discovery_endpoints] if args.key?(:discovery_endpoints)
605
+ @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
463
606
  @maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy)
464
607
  @maintenance_schedule = args[:maintenance_schedule] if args.key?(:maintenance_schedule)
608
+ @managed_backup_source = args[:managed_backup_source] if args.key?(:managed_backup_source)
465
609
  @name = args[:name] if args.key?(:name)
466
610
  @node_type = args[:node_type] if args.key?(:node_type)
467
611
  @persistence_config = args[:persistence_config] if args.key?(:persistence_config)
468
612
  @precise_size_gb = args[:precise_size_gb] if args.key?(:precise_size_gb)
469
613
  @psc_configs = args[:psc_configs] if args.key?(:psc_configs)
470
614
  @psc_connections = args[:psc_connections] if args.key?(:psc_connections)
615
+ @psc_service_attachments = args[:psc_service_attachments] if args.key?(:psc_service_attachments)
471
616
  @redis_configs = args[:redis_configs] if args.key?(:redis_configs)
472
617
  @replica_count = args[:replica_count] if args.key?(:replica_count)
473
618
  @shard_count = args[:shard_count] if args.key?(:shard_count)
@@ -480,6 +625,28 @@ module Google
480
625
  end
481
626
  end
482
627
 
628
+ # ClusterEndpoint consists of PSC connections that are created as a group in
629
+ # each VPC network for accessing the cluster. In each group, there shall be one
630
+ # connection for each service attachment in the cluster.
631
+ class ClusterEndpoint
632
+ include Google::Apis::Core::Hashable
633
+
634
+ # A group of PSC connections. They are created in the same VPC network, one for
635
+ # each service attachment in the cluster.
636
+ # Corresponds to the JSON property `connections`
637
+ # @return [Array<Google::Apis::RedisV1::ConnectionDetail>]
638
+ attr_accessor :connections
639
+
640
+ def initialize(**args)
641
+ update!(**args)
642
+ end
643
+
644
+ # Update properties of this object
645
+ def update!(**args)
646
+ @connections = args[:connections] if args.key?(:connections)
647
+ end
648
+ end
649
+
483
650
  # Maintenance policy per cluster.
484
651
  class ClusterMaintenancePolicy
485
652
  include Google::Apis::Core::Hashable
@@ -626,6 +793,25 @@ module Google
626
793
  end
627
794
  end
628
795
 
796
+ # Detailed information of each PSC connection.
797
+ class ConnectionDetail
798
+ include Google::Apis::Core::Hashable
799
+
800
+ # Details of consumer resources in a PSC connection.
801
+ # Corresponds to the JSON property `pscConnection`
802
+ # @return [Google::Apis::RedisV1::PscConnection]
803
+ attr_accessor :psc_connection
804
+
805
+ def initialize(**args)
806
+ update!(**args)
807
+ end
808
+
809
+ # Update properties of this object
810
+ def update!(**args)
811
+ @psc_connection = args[:psc_connection] if args.key?(:psc_connection)
812
+ end
813
+ end
814
+
629
815
  # Cross cluster replication config.
630
816
  class CrossClusterReplicationConfig
631
817
  include Google::Apis::Core::Hashable
@@ -1135,25 +1321,6 @@ module Google
1135
1321
  end
1136
1322
  end
1137
1323
 
1138
- #
1139
- class DirectLocationAssignment
1140
- include Google::Apis::Core::Hashable
1141
-
1142
- #
1143
- # Corresponds to the JSON property `location`
1144
- # @return [Array<Google::Apis::RedisV1::LocationAssignment>]
1145
- attr_accessor :location
1146
-
1147
- def initialize(**args)
1148
- update!(**args)
1149
- end
1150
-
1151
- # Update properties of this object
1152
- def update!(**args)
1153
- @location = args[:location] if args.key?(:location)
1154
- end
1155
- end
1156
-
1157
1324
  # Endpoints on each network, for Redis clients to connect to the cluster.
1158
1325
  class DiscoveryEndpoint
1159
1326
  include Google::Apis::Core::Hashable
@@ -1229,14 +1396,14 @@ module Google
1229
1396
  end
1230
1397
  end
1231
1398
 
1232
- # Request for Export.
1233
- class ExportInstanceRequest
1399
+ # Request for [ExportBackup].
1400
+ class ExportBackupRequest
1234
1401
  include Google::Apis::Core::Hashable
1235
1402
 
1236
- # The output content
1237
- # Corresponds to the JSON property `outputConfig`
1238
- # @return [Google::Apis::RedisV1::OutputConfig]
1239
- attr_accessor :output_config
1403
+ # Google Cloud Storage bucket, like "my-bucket".
1404
+ # Corresponds to the JSON property `gcsBucket`
1405
+ # @return [String]
1406
+ attr_accessor :gcs_bucket
1240
1407
 
1241
1408
  def initialize(**args)
1242
1409
  update!(**args)
@@ -1244,19 +1411,18 @@ module Google
1244
1411
 
1245
1412
  # Update properties of this object
1246
1413
  def update!(**args)
1247
- @output_config = args[:output_config] if args.key?(:output_config)
1414
+ @gcs_bucket = args[:gcs_bucket] if args.key?(:gcs_bucket)
1248
1415
  end
1249
1416
  end
1250
1417
 
1251
- # Defines parameters that should only be used for specific asset types.
1252
- class ExtraParameter
1418
+ # Request for Export.
1419
+ class ExportInstanceRequest
1253
1420
  include Google::Apis::Core::Hashable
1254
1421
 
1255
- # To be used for specifying the intended distribution of regional compute.
1256
- # googleapis.com/InstanceGroupManager instances
1257
- # Corresponds to the JSON property `regionalMigDistributionPolicy`
1258
- # @return [Google::Apis::RedisV1::RegionalMigDistributionPolicy]
1259
- attr_accessor :regional_mig_distribution_policy
1422
+ # The output content
1423
+ # Corresponds to the JSON property `outputConfig`
1424
+ # @return [Google::Apis::RedisV1::OutputConfig]
1425
+ attr_accessor :output_config
1260
1426
 
1261
1427
  def initialize(**args)
1262
1428
  update!(**args)
@@ -1264,7 +1430,7 @@ module Google
1264
1430
 
1265
1431
  # Update properties of this object
1266
1432
  def update!(**args)
1267
- @regional_mig_distribution_policy = args[:regional_mig_distribution_policy] if args.key?(:regional_mig_distribution_policy)
1433
+ @output_config = args[:output_config] if args.key?(:output_config)
1268
1434
  end
1269
1435
  end
1270
1436
 
@@ -1288,6 +1454,49 @@ module Google
1288
1454
  end
1289
1455
  end
1290
1456
 
1457
+ # This schedule allows the backup to be triggered at a fixed frequency (
1458
+ # currently only daily is supported).
1459
+ class FixedFrequencySchedule
1460
+ include Google::Apis::Core::Hashable
1461
+
1462
+ # Represents a time of day. The date and time zone are either not significant or
1463
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
1464
+ # types are google.type.Date and `google.protobuf.Timestamp`.
1465
+ # Corresponds to the JSON property `startTime`
1466
+ # @return [Google::Apis::RedisV1::TimeOfDay]
1467
+ attr_accessor :start_time
1468
+
1469
+ def initialize(**args)
1470
+ update!(**args)
1471
+ end
1472
+
1473
+ # Update properties of this object
1474
+ def update!(**args)
1475
+ @start_time = args[:start_time] if args.key?(:start_time)
1476
+ end
1477
+ end
1478
+
1479
+ # Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be
1480
+ # the same region as the clusters.
1481
+ class GcsBackupSource
1482
+ include Google::Apis::Core::Hashable
1483
+
1484
+ # Optional. URIs of the GCS objects to import. Example: gs://bucket1/object1, gs:
1485
+ # //bucket2/folder2/object2
1486
+ # Corresponds to the JSON property `uris`
1487
+ # @return [Array<String>]
1488
+ attr_accessor :uris
1489
+
1490
+ def initialize(**args)
1491
+ update!(**args)
1492
+ end
1493
+
1494
+ # Update properties of this object
1495
+ def update!(**args)
1496
+ @uris = args[:uris] if args.key?(:uris)
1497
+ end
1498
+ end
1499
+
1291
1500
  # The Cloud Storage location for the output content
1292
1501
  class GcsDestination
1293
1502
  include Google::Apis::Core::Hashable
@@ -1818,52 +2027,64 @@ module Google
1818
2027
  end
1819
2028
  end
1820
2029
 
1821
- #
1822
- class IsolationExpectations
2030
+ # Response for [ListBackupCollections].
2031
+ class ListBackupCollectionsResponse
1823
2032
  include Google::Apis::Core::Hashable
1824
2033
 
1825
- # Explicit overrides for ZI and ZS requirements to be used for resources that
1826
- # should be excluded from ZI/ZS verification logic.
1827
- # Corresponds to the JSON property `requirementOverride`
1828
- # @return [Google::Apis::RedisV1::RequirementOverride]
1829
- attr_accessor :requirement_override
2034
+ # A list of backupCollections in the project. If the `location_id` in the parent
2035
+ # field of the request is "-", all regions available to the project are queried,
2036
+ # and the results aggregated. If in such an aggregated query a location is
2037
+ # unavailable, a placeholder backupCollection entry is included in the response
2038
+ # with the `name` field set to a value of the form `projects/`project_id`/
2039
+ # locations/`location_id`/backupCollections/`- and the `status` field set to
2040
+ # ERROR and `status_message` field set to "location not available for
2041
+ # ListBackupCollections".
2042
+ # Corresponds to the JSON property `backupCollections`
2043
+ # @return [Array<Google::Apis::RedisV1::BackupCollection>]
2044
+ attr_accessor :backup_collections
1830
2045
 
1831
- #
1832
- # Corresponds to the JSON property `ziOrgPolicy`
2046
+ # Token to retrieve the next page of results, or empty if there are no more
2047
+ # results in the list.
2048
+ # Corresponds to the JSON property `nextPageToken`
1833
2049
  # @return [String]
1834
- attr_accessor :zi_org_policy
2050
+ attr_accessor :next_page_token
1835
2051
 
1836
- #
1837
- # Corresponds to the JSON property `ziRegionPolicy`
1838
- # @return [String]
1839
- attr_accessor :zi_region_policy
2052
+ # Locations that could not be reached.
2053
+ # Corresponds to the JSON property `unreachable`
2054
+ # @return [Array<String>]
2055
+ attr_accessor :unreachable
1840
2056
 
1841
- #
1842
- # Corresponds to the JSON property `ziRegionState`
1843
- # @return [String]
1844
- attr_accessor :zi_region_state
2057
+ def initialize(**args)
2058
+ update!(**args)
2059
+ end
1845
2060
 
1846
- # Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead
1847
- # for setting ZI expectations as per go/zicy-publish-physical-location.
1848
- # Corresponds to the JSON property `zoneIsolation`
1849
- # @return [String]
1850
- attr_accessor :zone_isolation
2061
+ # Update properties of this object
2062
+ def update!(**args)
2063
+ @backup_collections = args[:backup_collections] if args.key?(:backup_collections)
2064
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2065
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
2066
+ end
2067
+ end
1851
2068
 
1852
- # Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs
1853
- # expectations as per go/zicy-publish-physical-location.
1854
- # Corresponds to the JSON property `zoneSeparation`
1855
- # @return [String]
1856
- attr_accessor :zone_separation
2069
+ # Response for [ListBackups].
2070
+ class ListBackupsResponse
2071
+ include Google::Apis::Core::Hashable
1857
2072
 
1858
- #
1859
- # Corresponds to the JSON property `zsOrgPolicy`
1860
- # @return [String]
1861
- attr_accessor :zs_org_policy
2073
+ # A list of backups in the project.
2074
+ # Corresponds to the JSON property `backups`
2075
+ # @return [Array<Google::Apis::RedisV1::Backup>]
2076
+ attr_accessor :backups
1862
2077
 
1863
- #
1864
- # Corresponds to the JSON property `zsRegionState`
2078
+ # Token to retrieve the next page of results, or empty if there are no more
2079
+ # results in the list.
2080
+ # Corresponds to the JSON property `nextPageToken`
1865
2081
  # @return [String]
1866
- attr_accessor :zs_region_state
2082
+ attr_accessor :next_page_token
2083
+
2084
+ # Backups that could not be reached.
2085
+ # Corresponds to the JSON property `unreachable`
2086
+ # @return [Array<String>]
2087
+ attr_accessor :unreachable
1867
2088
 
1868
2089
  def initialize(**args)
1869
2090
  update!(**args)
@@ -1871,14 +2092,9 @@ module Google
1871
2092
 
1872
2093
  # Update properties of this object
1873
2094
  def update!(**args)
1874
- @requirement_override = args[:requirement_override] if args.key?(:requirement_override)
1875
- @zi_org_policy = args[:zi_org_policy] if args.key?(:zi_org_policy)
1876
- @zi_region_policy = args[:zi_region_policy] if args.key?(:zi_region_policy)
1877
- @zi_region_state = args[:zi_region_state] if args.key?(:zi_region_state)
1878
- @zone_isolation = args[:zone_isolation] if args.key?(:zone_isolation)
1879
- @zone_separation = args[:zone_separation] if args.key?(:zone_separation)
1880
- @zs_org_policy = args[:zs_org_policy] if args.key?(:zs_org_policy)
1881
- @zs_region_state = args[:zs_region_state] if args.key?(:zs_region_state)
2095
+ @backups = args[:backups] if args.key?(:backups)
2096
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2097
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1882
2098
  end
1883
2099
  end
1884
2100
 
@@ -2059,82 +2275,6 @@ module Google
2059
2275
  end
2060
2276
  end
2061
2277
 
2062
- #
2063
- class LocationAssignment
2064
- include Google::Apis::Core::Hashable
2065
-
2066
- #
2067
- # Corresponds to the JSON property `location`
2068
- # @return [String]
2069
- attr_accessor :location
2070
-
2071
- #
2072
- # Corresponds to the JSON property `locationType`
2073
- # @return [String]
2074
- attr_accessor :location_type
2075
-
2076
- def initialize(**args)
2077
- update!(**args)
2078
- end
2079
-
2080
- # Update properties of this object
2081
- def update!(**args)
2082
- @location = args[:location] if args.key?(:location)
2083
- @location_type = args[:location_type] if args.key?(:location_type)
2084
- end
2085
- end
2086
-
2087
- #
2088
- class LocationData
2089
- include Google::Apis::Core::Hashable
2090
-
2091
- # Policy ID that identified data placement in Blobstore as per go/blobstore-user-
2092
- # guide#data-metadata-placement-and-failure-domains
2093
- # Corresponds to the JSON property `blobstoreLocation`
2094
- # @return [Google::Apis::RedisV1::BlobstoreLocation]
2095
- attr_accessor :blobstore_location
2096
-
2097
- #
2098
- # Corresponds to the JSON property `childAssetLocation`
2099
- # @return [Google::Apis::RedisV1::CloudAssetComposition]
2100
- attr_accessor :child_asset_location
2101
-
2102
- #
2103
- # Corresponds to the JSON property `directLocation`
2104
- # @return [Google::Apis::RedisV1::DirectLocationAssignment]
2105
- attr_accessor :direct_location
2106
-
2107
- #
2108
- # Corresponds to the JSON property `gcpProjectProxy`
2109
- # @return [Google::Apis::RedisV1::TenantProjectProxy]
2110
- attr_accessor :gcp_project_proxy
2111
-
2112
- # Message describing that the location of the customer resource is tied to
2113
- # placer allocations
2114
- # Corresponds to the JSON property `placerLocation`
2115
- # @return [Google::Apis::RedisV1::PlacerLocation]
2116
- attr_accessor :placer_location
2117
-
2118
- #
2119
- # Corresponds to the JSON property `spannerLocation`
2120
- # @return [Google::Apis::RedisV1::SpannerLocation]
2121
- attr_accessor :spanner_location
2122
-
2123
- def initialize(**args)
2124
- update!(**args)
2125
- end
2126
-
2127
- # Update properties of this object
2128
- def update!(**args)
2129
- @blobstore_location = args[:blobstore_location] if args.key?(:blobstore_location)
2130
- @child_asset_location = args[:child_asset_location] if args.key?(:child_asset_location)
2131
- @direct_location = args[:direct_location] if args.key?(:direct_location)
2132
- @gcp_project_proxy = args[:gcp_project_proxy] if args.key?(:gcp_project_proxy)
2133
- @placer_location = args[:placer_location] if args.key?(:placer_location)
2134
- @spanner_location = args[:spanner_location] if args.key?(:spanner_location)
2135
- end
2136
- end
2137
-
2138
2278
  # MachineConfiguration describes the configuration of a machine specific to
2139
2279
  # Database Resource.
2140
2280
  class MachineConfiguration
@@ -2157,6 +2297,12 @@ module Google
2157
2297
  # @return [Fixnum]
2158
2298
  attr_accessor :shard_count
2159
2299
 
2300
+ # Optional. The number of vCPUs. TODO(b/342344482, b/342346271) add proto
2301
+ # validations again after bug fix.
2302
+ # Corresponds to the JSON property `vcpuCount`
2303
+ # @return [Float]
2304
+ attr_accessor :vcpu_count
2305
+
2160
2306
  def initialize(**args)
2161
2307
  update!(**args)
2162
2308
  end
@@ -2166,6 +2312,7 @@ module Google
2166
2312
  @cpu_count = args[:cpu_count] if args.key?(:cpu_count)
2167
2313
  @memory_size_in_bytes = args[:memory_size_in_bytes] if args.key?(:memory_size_in_bytes)
2168
2314
  @shard_count = args[:shard_count] if args.key?(:shard_count)
2315
+ @vcpu_count = args[:vcpu_count] if args.key?(:vcpu_count)
2169
2316
  end
2170
2317
  end
2171
2318
 
@@ -2251,6 +2398,29 @@ module Google
2251
2398
  end
2252
2399
  end
2253
2400
 
2401
+ # Backups that generated and managed by memorystore.
2402
+ class ManagedBackupSource
2403
+ include Google::Apis::Core::Hashable
2404
+
2405
+ # Optional. Example: //redis.googleapis.com/projects/`project`/locations/`
2406
+ # location`/backupCollections/`collection`/backups/`backup` A shorter version (
2407
+ # without the prefix) of the backup name is also supported, like projects/`
2408
+ # project`/locations/`location`/backupCollections/`collection`/backups/`
2409
+ # backup_id` In this case, it assumes the backup is under redis.googleapis.com.
2410
+ # Corresponds to the JSON property `backup`
2411
+ # @return [String]
2412
+ attr_accessor :backup
2413
+
2414
+ def initialize(**args)
2415
+ update!(**args)
2416
+ end
2417
+
2418
+ # Update properties of this object
2419
+ def update!(**args)
2420
+ @backup = args[:backup] if args.key?(:backup)
2421
+ end
2422
+ end
2423
+
2254
2424
  #
2255
2425
  class ManagedCertificateAuthority
2256
2426
  include Google::Apis::Core::Hashable
@@ -2588,27 +2758,6 @@ module Google
2588
2758
  end
2589
2759
  end
2590
2760
 
2591
- # Message describing that the location of the customer resource is tied to
2592
- # placer allocations
2593
- class PlacerLocation
2594
- include Google::Apis::Core::Hashable
2595
-
2596
- # Directory with a config related to it in placer (e.g. "/placer/prod/home/my-
2597
- # root/my-dir")
2598
- # Corresponds to the JSON property `placerConfig`
2599
- # @return [String]
2600
- attr_accessor :placer_config
2601
-
2602
- def initialize(**args)
2603
- update!(**args)
2604
- end
2605
-
2606
- # Update properties of this object
2607
- def update!(**args)
2608
- @placer_config = args[:placer_config] if args.key?(:placer_config)
2609
- end
2610
- end
2611
-
2612
2761
  # Product specification for Condor resources.
2613
2762
  class Product
2614
2763
  include Google::Apis::Core::Hashable
@@ -2671,6 +2820,11 @@ module Google
2671
2820
  # @return [String]
2672
2821
  attr_accessor :address
2673
2822
 
2823
+ # Output only. Type of the PSC connection.
2824
+ # Corresponds to the JSON property `connectionType`
2825
+ # @return [String]
2826
+ attr_accessor :connection_type
2827
+
2674
2828
  # Required. The URI of the consumer side forwarding rule. Example: projects/`
2675
2829
  # projectNumOrId`/regions/us-east1/forwardingRules/`resourceId`.
2676
2830
  # Corresponds to the JSON property `forwardingRule`
@@ -2695,6 +2849,14 @@ module Google
2695
2849
  # @return [String]
2696
2850
  attr_accessor :psc_connection_id
2697
2851
 
2852
+ # Output only. The status of the PSC connection. Please note that this value is
2853
+ # updated periodically. To get the latest status of a PSC connection, follow
2854
+ # https://cloud.google.com/vpc/docs/configure-private-service-connect-services#
2855
+ # endpoint-details.
2856
+ # Corresponds to the JSON property `pscConnectionStatus`
2857
+ # @return [String]
2858
+ attr_accessor :psc_connection_status
2859
+
2698
2860
  # Required. The service attachment which is the target of the PSC connection, in
2699
2861
  # the form of projects/`project-id`/regions/`region`/serviceAttachments/`service-
2700
2862
  # attachment-id`.
@@ -2709,10 +2871,39 @@ module Google
2709
2871
  # Update properties of this object
2710
2872
  def update!(**args)
2711
2873
  @address = args[:address] if args.key?(:address)
2874
+ @connection_type = args[:connection_type] if args.key?(:connection_type)
2712
2875
  @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
2713
2876
  @network = args[:network] if args.key?(:network)
2714
2877
  @project_id = args[:project_id] if args.key?(:project_id)
2715
2878
  @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
2879
+ @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
2880
+ @service_attachment = args[:service_attachment] if args.key?(:service_attachment)
2881
+ end
2882
+ end
2883
+
2884
+ # Configuration of a service attachment of the cluster, for creating PSC
2885
+ # connections.
2886
+ class PscServiceAttachment
2887
+ include Google::Apis::Core::Hashable
2888
+
2889
+ # Output only. Type of a PSC connection targeting this service attachment.
2890
+ # Corresponds to the JSON property `connectionType`
2891
+ # @return [String]
2892
+ attr_accessor :connection_type
2893
+
2894
+ # Output only. Service attachment URI which your self-created PscConnection
2895
+ # should use as target
2896
+ # Corresponds to the JSON property `serviceAttachment`
2897
+ # @return [String]
2898
+ attr_accessor :service_attachment
2899
+
2900
+ def initialize(**args)
2901
+ update!(**args)
2902
+ end
2903
+
2904
+ # Update properties of this object
2905
+ def update!(**args)
2906
+ @connection_type = args[:connection_type] if args.key?(:connection_type)
2716
2907
  @service_attachment = args[:service_attachment] if args.key?(:service_attachment)
2717
2908
  end
2718
2909
  end
@@ -2770,33 +2961,6 @@ module Google
2770
2961
  end
2771
2962
  end
2772
2963
 
2773
- # To be used for specifying the intended distribution of regional compute.
2774
- # googleapis.com/InstanceGroupManager instances
2775
- class RegionalMigDistributionPolicy
2776
- include Google::Apis::Core::Hashable
2777
-
2778
- # The shape in which the group converges around distribution of resources.
2779
- # Instance of proto2 enum
2780
- # Corresponds to the JSON property `targetShape`
2781
- # @return [Fixnum]
2782
- attr_accessor :target_shape
2783
-
2784
- # Cloud zones used by regional MIG to create instances.
2785
- # Corresponds to the JSON property `zones`
2786
- # @return [Array<Google::Apis::RedisV1::ZoneConfiguration>]
2787
- attr_accessor :zones
2788
-
2789
- def initialize(**args)
2790
- update!(**args)
2791
- end
2792
-
2793
- # Update properties of this object
2794
- def update!(**args)
2795
- @target_shape = args[:target_shape] if args.key?(:target_shape)
2796
- @zones = args[:zones] if args.key?(:zones)
2797
- end
2798
- end
2799
-
2800
2964
  # Details of the remote cluster associated with this cluster in a cross cluster
2801
2965
  # replication setup.
2802
2966
  class RemoteCluster
@@ -2824,31 +2988,6 @@ module Google
2824
2988
  end
2825
2989
  end
2826
2990
 
2827
- #
2828
- class RequirementOverride
2829
- include Google::Apis::Core::Hashable
2830
-
2831
- #
2832
- # Corresponds to the JSON property `ziOverride`
2833
- # @return [String]
2834
- attr_accessor :zi_override
2835
-
2836
- #
2837
- # Corresponds to the JSON property `zsOverride`
2838
- # @return [String]
2839
- attr_accessor :zs_override
2840
-
2841
- def initialize(**args)
2842
- update!(**args)
2843
- end
2844
-
2845
- # Update properties of this object
2846
- def update!(**args)
2847
- @zi_override = args[:zi_override] if args.key?(:zi_override)
2848
- @zs_override = args[:zs_override] if args.key?(:zs_override)
2849
- end
2850
- end
2851
-
2852
2991
  # Request for rescheduling a cluster maintenance.
2853
2992
  class RescheduleClusterMaintenanceRequest
2854
2993
  include Google::Apis::Core::Hashable
@@ -2929,6 +3068,11 @@ module Google
2929
3068
  # @return [String]
2930
3069
  attr_accessor :time_based_retention
2931
3070
 
3071
+ # Timestamp based retention period i.e. 2024-05-01T00:00:00Z
3072
+ # Corresponds to the JSON property `timestampBasedRetentionTime`
3073
+ # @return [String]
3074
+ attr_accessor :timestamp_based_retention_time
3075
+
2932
3076
  def initialize(**args)
2933
3077
  update!(**args)
2934
3078
  end
@@ -2939,32 +3083,7 @@ module Google
2939
3083
  @quantity_based_retention = args[:quantity_based_retention] if args.key?(:quantity_based_retention)
2940
3084
  @retention_unit = args[:retention_unit] if args.key?(:retention_unit)
2941
3085
  @time_based_retention = args[:time_based_retention] if args.key?(:time_based_retention)
2942
- end
2943
- end
2944
-
2945
- #
2946
- class SpannerLocation
2947
- include Google::Apis::Core::Hashable
2948
-
2949
- # Set of backups used by the resource with name in the same format as what is
2950
- # available at http://table/spanner_automon.backup_metadata
2951
- # Corresponds to the JSON property `backupName`
2952
- # @return [Array<String>]
2953
- attr_accessor :backup_name
2954
-
2955
- # Set of databases used by the resource in format /span//
2956
- # Corresponds to the JSON property `dbName`
2957
- # @return [Array<String>]
2958
- attr_accessor :db_name
2959
-
2960
- def initialize(**args)
2961
- update!(**args)
2962
- end
2963
-
2964
- # Update properties of this object
2965
- def update!(**args)
2966
- @backup_name = args[:backup_name] if args.key?(:backup_name)
2967
- @db_name = args[:db_name] if args.key?(:db_name)
3086
+ @timestamp_based_retention_time = args[:timestamp_based_retention_time] if args.key?(:timestamp_based_retention_time)
2968
3087
  end
2969
3088
  end
2970
3089
 
@@ -3047,25 +3166,6 @@ module Google
3047
3166
  end
3048
3167
  end
3049
3168
 
3050
- #
3051
- class TenantProjectProxy
3052
- include Google::Apis::Core::Hashable
3053
-
3054
- #
3055
- # Corresponds to the JSON property `projectNumbers`
3056
- # @return [Array<String>]
3057
- attr_accessor :project_numbers
3058
-
3059
- def initialize(**args)
3060
- update!(**args)
3061
- end
3062
-
3063
- # Update properties of this object
3064
- def update!(**args)
3065
- @project_numbers = args[:project_numbers] if args.key?(:project_numbers)
3066
- end
3067
- end
3068
-
3069
3169
  # Represents a time of day. The date and time zone are either not significant or
3070
3170
  # are specified elsewhere. An API may choose to allow leap seconds. Related
3071
3171
  # types are google.type.Date and `google.protobuf.Timestamp`.
@@ -3295,25 +3395,6 @@ module Google
3295
3395
  end
3296
3396
  end
3297
3397
 
3298
- #
3299
- class ZoneConfiguration
3300
- include Google::Apis::Core::Hashable
3301
-
3302
- #
3303
- # Corresponds to the JSON property `zone`
3304
- # @return [String]
3305
- attr_accessor :zone
3306
-
3307
- def initialize(**args)
3308
- update!(**args)
3309
- end
3310
-
3311
- # Update properties of this object
3312
- def update!(**args)
3313
- @zone = args[:zone] if args.key?(:zone)
3314
- end
3315
- end
3316
-
3317
3398
  # Zone distribution config for allocation of cluster resources.
3318
3399
  class ZoneDistributionConfig
3319
3400
  include Google::Apis::Core::Hashable