google-apis-redis_v1 0.62.0 → 0.64.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,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