google-apis-redis_v1beta1 0.54.0 → 0.55.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
+ # 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
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,158 @@ 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
+ 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
+
88
284
  # Configuration for automatic backups
89
285
  class BackupConfiguration
90
286
  include Google::Apis::Core::Hashable
@@ -120,6 +316,37 @@ module Google
120
316
  end
121
317
  end
122
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
+
123
350
  # A backup run.
124
351
  class BackupRun
125
352
  include Google::Apis::Core::Hashable
@@ -213,11 +440,32 @@ module Google
213
440
  # @return [String]
214
441
  attr_accessor :authorization_mode
215
442
 
443
+ # The automated backup config for a cluster.
444
+ # Corresponds to the JSON property `automatedBackupConfig`
445
+ # @return [Google::Apis::RedisV1beta1::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::RedisV1beta1::ClusterEndpoint>]
457
+ attr_accessor :cluster_endpoints
458
+
216
459
  # Output only. The timestamp associated with the cluster creation request.
217
460
  # Corresponds to the JSON property `createTime`
218
461
  # @return [String]
219
462
  attr_accessor :create_time
220
463
 
464
+ # Cross cluster replication config.
465
+ # Corresponds to the JSON property `crossClusterReplicationConfig`
466
+ # @return [Google::Apis::RedisV1beta1::CrossClusterReplicationConfig]
467
+ attr_accessor :cross_cluster_replication_config
468
+
221
469
  # Optional. The delete operation will fail when the value is set to true.
222
470
  # Corresponds to the JSON property `deletionProtectionEnabled`
223
471
  # @return [Boolean]
@@ -230,6 +478,27 @@ module Google
230
478
  # @return [Array<Google::Apis::RedisV1beta1::DiscoveryEndpoint>]
231
479
  attr_accessor :discovery_endpoints
232
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::RedisV1beta1::GcsBackupSource]
485
+ attr_accessor :gcs_source
486
+
487
+ # Maintenance policy per cluster.
488
+ # Corresponds to the JSON property `maintenancePolicy`
489
+ # @return [Google::Apis::RedisV1beta1::ClusterMaintenancePolicy]
490
+ attr_accessor :maintenance_policy
491
+
492
+ # Upcoming maitenance schedule.
493
+ # Corresponds to the JSON property `maintenanceSchedule`
494
+ # @return [Google::Apis::RedisV1beta1::ClusterMaintenanceSchedule]
495
+ attr_accessor :maintenance_schedule
496
+
497
+ # Backups that generated and managed by memorystore.
498
+ # Corresponds to the JSON property `managedBackupSource`
499
+ # @return [Google::Apis::RedisV1beta1::ManagedBackupSource]
500
+ attr_accessor :managed_backup_source
501
+
233
502
  # Required. Identifier. Unique name of the resource in this scope including
234
503
  # project and location using the form: `projects/`project_id`/locations/`
235
504
  # location_id`/clusters/`cluster_id``
@@ -253,19 +522,24 @@ module Google
253
522
  # @return [Float]
254
523
  attr_accessor :precise_size_gb
255
524
 
256
- # Required. Each PscConfig configures the consumer network where IPs will be
525
+ # Optional. Each PscConfig configures the consumer network where IPs will be
257
526
  # designated to the cluster for client access through Private Service Connect
258
527
  # Automation. Currently, only one PscConfig is supported.
259
528
  # Corresponds to the JSON property `pscConfigs`
260
529
  # @return [Array<Google::Apis::RedisV1beta1::PscConfig>]
261
530
  attr_accessor :psc_configs
262
531
 
263
- # Output only. PSC connections for discovery of the cluster topology and
264
- # accessing the cluster.
532
+ # Output only. The list of PSC connections that are auto-created through service
533
+ # connectivity automation.
265
534
  # Corresponds to the JSON property `pscConnections`
266
535
  # @return [Array<Google::Apis::RedisV1beta1::PscConnection>]
267
536
  attr_accessor :psc_connections
268
537
 
538
+ # Output only. Service attachment details to configure Psc connections
539
+ # Corresponds to the JSON property `pscServiceAttachments`
540
+ # @return [Array<Google::Apis::RedisV1beta1::PscServiceAttachment>]
541
+ attr_accessor :psc_service_attachments
542
+
269
543
  # Optional. Key/Value pairs of customer overrides for mutable Redis Configs
270
544
  # Corresponds to the JSON property `redisConfigs`
271
545
  # @return [Hash<String,String>]
@@ -276,7 +550,7 @@ module Google
276
550
  # @return [Fixnum]
277
551
  attr_accessor :replica_count
278
552
 
279
- # Required. Number of shards for the Redis cluster.
553
+ # Optional. Number of shards for the Redis cluster.
280
554
  # Corresponds to the JSON property `shardCount`
281
555
  # @return [Fixnum]
282
556
  attr_accessor :shard_count
@@ -321,15 +595,24 @@ module Google
321
595
  # Update properties of this object
322
596
  def update!(**args)
323
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)
324
601
  @create_time = args[:create_time] if args.key?(:create_time)
602
+ @cross_cluster_replication_config = args[:cross_cluster_replication_config] if args.key?(:cross_cluster_replication_config)
325
603
  @deletion_protection_enabled = args[:deletion_protection_enabled] if args.key?(:deletion_protection_enabled)
326
604
  @discovery_endpoints = args[:discovery_endpoints] if args.key?(:discovery_endpoints)
605
+ @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
606
+ @maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy)
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)
327
609
  @name = args[:name] if args.key?(:name)
328
610
  @node_type = args[:node_type] if args.key?(:node_type)
329
611
  @persistence_config = args[:persistence_config] if args.key?(:persistence_config)
330
612
  @precise_size_gb = args[:precise_size_gb] if args.key?(:precise_size_gb)
331
613
  @psc_configs = args[:psc_configs] if args.key?(:psc_configs)
332
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)
333
616
  @redis_configs = args[:redis_configs] if args.key?(:redis_configs)
334
617
  @replica_count = args[:replica_count] if args.key?(:replica_count)
335
618
  @shard_count = args[:shard_count] if args.key?(:shard_count)
@@ -342,6 +625,90 @@ module Google
342
625
  end
343
626
  end
344
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::RedisV1beta1::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
+
650
+ # Maintenance policy per cluster.
651
+ class ClusterMaintenancePolicy
652
+ include Google::Apis::Core::Hashable
653
+
654
+ # Output only. The time when the policy was created i.e. Maintenance Window or
655
+ # Deny Period was assigned.
656
+ # Corresponds to the JSON property `createTime`
657
+ # @return [String]
658
+ attr_accessor :create_time
659
+
660
+ # Output only. The time when the policy was updated i.e. Maintenance Window or
661
+ # Deny Period was updated.
662
+ # Corresponds to the JSON property `updateTime`
663
+ # @return [String]
664
+ attr_accessor :update_time
665
+
666
+ # Optional. Maintenance window that is applied to resources covered by this
667
+ # policy. Minimum 1. For the current version, the maximum number of
668
+ # weekly_maintenance_window is expected to be one.
669
+ # Corresponds to the JSON property `weeklyMaintenanceWindow`
670
+ # @return [Array<Google::Apis::RedisV1beta1::ClusterWeeklyMaintenanceWindow>]
671
+ attr_accessor :weekly_maintenance_window
672
+
673
+ def initialize(**args)
674
+ update!(**args)
675
+ end
676
+
677
+ # Update properties of this object
678
+ def update!(**args)
679
+ @create_time = args[:create_time] if args.key?(:create_time)
680
+ @update_time = args[:update_time] if args.key?(:update_time)
681
+ @weekly_maintenance_window = args[:weekly_maintenance_window] if args.key?(:weekly_maintenance_window)
682
+ end
683
+ end
684
+
685
+ # Upcoming maitenance schedule.
686
+ class ClusterMaintenanceSchedule
687
+ include Google::Apis::Core::Hashable
688
+
689
+ # Output only. The end time of any upcoming scheduled maintenance for this
690
+ # instance.
691
+ # Corresponds to the JSON property `endTime`
692
+ # @return [String]
693
+ attr_accessor :end_time
694
+
695
+ # Output only. The start time of any upcoming scheduled maintenance for this
696
+ # instance.
697
+ # Corresponds to the JSON property `startTime`
698
+ # @return [String]
699
+ attr_accessor :start_time
700
+
701
+ def initialize(**args)
702
+ update!(**args)
703
+ end
704
+
705
+ # Update properties of this object
706
+ def update!(**args)
707
+ @end_time = args[:end_time] if args.key?(:end_time)
708
+ @start_time = args[:start_time] if args.key?(:start_time)
709
+ end
710
+ end
711
+
345
712
  # Configuration of the persistence functionality.
346
713
  class ClusterPersistenceConfig
347
714
  include Google::Apis::Core::Hashable
@@ -373,6 +740,33 @@ module Google
373
740
  end
374
741
  end
375
742
 
743
+ # Time window specified for weekly operations.
744
+ class ClusterWeeklyMaintenanceWindow
745
+ include Google::Apis::Core::Hashable
746
+
747
+ # Allows to define schedule that runs specified day of the week.
748
+ # Corresponds to the JSON property `day`
749
+ # @return [String]
750
+ attr_accessor :day
751
+
752
+ # Represents a time of day. The date and time zone are either not significant or
753
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
754
+ # types are google.type.Date and `google.protobuf.Timestamp`.
755
+ # Corresponds to the JSON property `startTime`
756
+ # @return [Google::Apis::RedisV1beta1::TimeOfDay]
757
+ attr_accessor :start_time
758
+
759
+ def initialize(**args)
760
+ update!(**args)
761
+ end
762
+
763
+ # Update properties of this object
764
+ def update!(**args)
765
+ @day = args[:day] if args.key?(:day)
766
+ @start_time = args[:start_time] if args.key?(:start_time)
767
+ end
768
+ end
769
+
376
770
  # Contains compliance information about a security standard indicating unmet
377
771
  # recommendations.
378
772
  class Compliance
@@ -399,16 +793,14 @@ module Google
399
793
  end
400
794
  end
401
795
 
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
796
+ # Detailed information of each PSC connection.
797
+ class ConnectionDetail
406
798
  include Google::Apis::Core::Hashable
407
799
 
408
- #
409
- # Corresponds to the JSON property `databaseMetadata`
410
- # @return [Array<Google::Apis::RedisV1beta1::DatabaseMetadata>]
411
- attr_accessor :database_metadata
800
+ # Details of consumer resources in a PSC connection.
801
+ # Corresponds to the JSON property `pscConnection`
802
+ # @return [Google::Apis::RedisV1beta1::PscConnection]
803
+ attr_accessor :psc_connection
412
804
 
413
805
  def initialize(**args)
414
806
  update!(**args)
@@ -416,40 +808,41 @@ module Google
416
808
 
417
809
  # Update properties of this object
418
810
  def update!(**args)
419
- @database_metadata = args[:database_metadata] if args.key?(:database_metadata)
811
+ @psc_connection = args[:psc_connection] if args.key?(:psc_connection)
420
812
  end
421
813
  end
422
814
 
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
815
+ # Cross cluster replication config.
816
+ class CrossClusterReplicationConfig
426
817
  include Google::Apis::Core::Hashable
427
818
 
428
- # Configuration for automatic backups
429
- # Corresponds to the JSON property `backupConfiguration`
430
- # @return [Google::Apis::RedisV1beta1::BackupConfiguration]
431
- attr_accessor :backup_configuration
819
+ # The role of the cluster in cross cluster replication.
820
+ # Corresponds to the JSON property `clusterRole`
821
+ # @return [String]
822
+ attr_accessor :cluster_role
432
823
 
433
- # A backup run.
434
- # Corresponds to the JSON property `backupRun`
435
- # @return [Google::Apis::RedisV1beta1::BackupRun]
436
- attr_accessor :backup_run
824
+ # An output only view of all the member clusters participating in the cross
825
+ # cluster replication.
826
+ # Corresponds to the JSON property `membership`
827
+ # @return [Google::Apis::RedisV1beta1::Membership]
828
+ attr_accessor :membership
437
829
 
438
- # Product specification for Condor resources.
439
- # Corresponds to the JSON property `product`
440
- # @return [Google::Apis::RedisV1beta1::Product]
441
- attr_accessor :product
830
+ # Details of the remote cluster associated with this cluster in a cross cluster
831
+ # replication setup.
832
+ # Corresponds to the JSON property `primaryCluster`
833
+ # @return [Google::Apis::RedisV1beta1::RemoteCluster]
834
+ attr_accessor :primary_cluster
442
835
 
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
836
+ # List of secondary clusters that are replicating from this primary cluster.
837
+ # This field is only set for a primary cluster.
838
+ # Corresponds to the JSON property `secondaryClusters`
839
+ # @return [Array<Google::Apis::RedisV1beta1::RemoteCluster>]
840
+ attr_accessor :secondary_clusters
447
841
 
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`
842
+ # Output only. The last time cross cluster replication config was updated.
843
+ # Corresponds to the JSON property `updateTime`
451
844
  # @return [String]
452
- attr_accessor :resource_name
845
+ attr_accessor :update_time
453
846
 
454
847
  def initialize(**args)
455
848
  update!(**args)
@@ -457,11 +850,33 @@ module Google
457
850
 
458
851
  # Update properties of this object
459
852
  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)
853
+ @cluster_role = args[:cluster_role] if args.key?(:cluster_role)
854
+ @membership = args[:membership] if args.key?(:membership)
855
+ @primary_cluster = args[:primary_cluster] if args.key?(:primary_cluster)
856
+ @secondary_clusters = args[:secondary_clusters] if args.key?(:secondary_clusters)
857
+ @update_time = args[:update_time] if args.key?(:update_time)
858
+ end
859
+ end
860
+
861
+ # Any custom metadata associated with the resource. e.g. A spanner instance can
862
+ # have multiple databases with its own unique metadata. Information for these
863
+ # individual databases can be captured in custom metadata data
864
+ class CustomMetadataData
865
+ include Google::Apis::Core::Hashable
866
+
867
+ # Metadata for individual internal resources in an instance. e.g. spanner
868
+ # instance can have multiple databases with unique configuration.
869
+ # Corresponds to the JSON property `internalResourceMetadata`
870
+ # @return [Array<Google::Apis::RedisV1beta1::InternalResourceMetadata>]
871
+ attr_accessor :internal_resource_metadata
872
+
873
+ def initialize(**args)
874
+ update!(**args)
875
+ end
876
+
877
+ # Update properties of this object
878
+ def update!(**args)
879
+ @internal_resource_metadata = args[:internal_resource_metadata] if args.key?(:internal_resource_metadata)
465
880
  end
466
881
  end
467
882
 
@@ -500,7 +915,7 @@ module Google
500
915
  # @return [Google::Apis::RedisV1beta1::DatabaseResourceId]
501
916
  attr_accessor :resource_id
502
917
 
503
- # Common model for database resource instance metadata.
918
+ # Common model for database resource instance metadata. Next ID: 23
504
919
  # Corresponds to the JSON property `resourceMetadata`
505
920
  # @return [Google::Apis::RedisV1beta1::DatabaseResourceMetadata]
506
921
  attr_accessor :resource_metadata
@@ -593,6 +1008,11 @@ module Google
593
1008
  # @return [String]
594
1009
  attr_accessor :signal_id
595
1010
 
1011
+ # The severity of the signal, such as if it's a HIGH or LOW severity.
1012
+ # Corresponds to the JSON property `signalSeverity`
1013
+ # @return [String]
1014
+ attr_accessor :signal_severity
1015
+
596
1016
  # Required. Type of signal, for example, `AVAILABLE_IN_MULTIPLE_ZONES`, `
597
1017
  # LOGGING_MOST_ERRORS`, etc.
598
1018
  # Corresponds to the JSON property `signalType`
@@ -621,6 +1041,7 @@ module Google
621
1041
  @resource_name = args[:resource_name] if args.key?(:resource_name)
622
1042
  @signal_class = args[:signal_class] if args.key?(:signal_class)
623
1043
  @signal_id = args[:signal_id] if args.key?(:signal_id)
1044
+ @signal_severity = args[:signal_severity] if args.key?(:signal_severity)
624
1045
  @signal_type = args[:signal_type] if args.key?(:signal_type)
625
1046
  @state = args[:state] if args.key?(:state)
626
1047
  end
@@ -642,8 +1063,10 @@ module Google
642
1063
 
643
1064
  # Required. The type of resource this ID is identifying. Ex redis.googleapis.com/
644
1065
  # 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
1066
+ # alloydb.googleapis.com/Instance, spanner.googleapis.com/Instance, spanner.
1067
+ # googleapis.com/Database, firestore.googleapis.com/Database, sqladmin.
1068
+ # googleapis.com/Instance, bigtableadmin.googleapis.com/Cluster, bigtableadmin.
1069
+ # googleapis.com/Instance REQUIRED Please refer go/condor-common-datamodel
647
1070
  # Corresponds to the JSON property `resourceType`
648
1071
  # @return [String]
649
1072
  attr_accessor :resource_type
@@ -667,7 +1090,7 @@ module Google
667
1090
  end
668
1091
  end
669
1092
 
670
- # Common model for database resource instance metadata.
1093
+ # Common model for database resource instance metadata. Next ID: 23
671
1094
  class DatabaseResourceMetadata
672
1095
  include Google::Apis::Core::Hashable
673
1096
 
@@ -697,13 +1120,20 @@ module Google
697
1120
  # @return [String]
698
1121
  attr_accessor :current_state
699
1122
 
700
- # Any custom metadata associated with the resource. i.e. A spanner instance can
1123
+ # Any custom metadata associated with the resource. e.g. A spanner instance can
701
1124
  # have multiple databases with its own unique metadata. Information for these
702
1125
  # individual databases can be captured in custom metadata data
703
1126
  # Corresponds to the JSON property `customMetadata`
704
1127
  # @return [Google::Apis::RedisV1beta1::CustomMetadataData]
705
1128
  attr_accessor :custom_metadata
706
1129
 
1130
+ # Optional. Edition represents whether the instance is ENTERPRISE or
1131
+ # ENTERPRISE_PLUS. This information is core to Cloud SQL only and is used to
1132
+ # identify the edition of the instance.
1133
+ # Corresponds to the JSON property `edition`
1134
+ # @return [String]
1135
+ attr_accessor :edition
1136
+
707
1137
  # Entitlements associated with the resource
708
1138
  # Corresponds to the JSON property `entitlements`
709
1139
  # @return [Array<Google::Apis::RedisV1beta1::Entitlement>]
@@ -742,6 +1172,12 @@ module Google
742
1172
  # @return [Google::Apis::RedisV1beta1::DatabaseResourceId]
743
1173
  attr_accessor :primary_resource_id
744
1174
 
1175
+ # Primary resource location. REQUIRED if the immediate parent exists when first
1176
+ # time resource is getting ingested, otherwise optional.
1177
+ # Corresponds to the JSON property `primaryResourceLocation`
1178
+ # @return [String]
1179
+ attr_accessor :primary_resource_location
1180
+
745
1181
  # Product specification for Condor resources.
746
1182
  # Corresponds to the JSON property `product`
747
1183
  # @return [Google::Apis::RedisV1beta1::Product]
@@ -763,6 +1199,13 @@ module Google
763
1199
  # @return [String]
764
1200
  attr_accessor :resource_name
765
1201
 
1202
+ # Message type for storing tags. Tags provide a way to create annotations for
1203
+ # resources, and in some cases conditionally allow or deny policies based on
1204
+ # whether a resource has a specific tag.
1205
+ # Corresponds to the JSON property `tagsSet`
1206
+ # @return [Google::Apis::RedisV1beta1::Tags]
1207
+ attr_accessor :tags_set
1208
+
766
1209
  # The time at which the resource was updated and recorded at partner service.
767
1210
  # Corresponds to the JSON property `updationTime`
768
1211
  # @return [String]
@@ -787,6 +1230,7 @@ module Google
787
1230
  @creation_time = args[:creation_time] if args.key?(:creation_time)
788
1231
  @current_state = args[:current_state] if args.key?(:current_state)
789
1232
  @custom_metadata = args[:custom_metadata] if args.key?(:custom_metadata)
1233
+ @edition = args[:edition] if args.key?(:edition)
790
1234
  @entitlements = args[:entitlements] if args.key?(:entitlements)
791
1235
  @expected_state = args[:expected_state] if args.key?(:expected_state)
792
1236
  @id = args[:id] if args.key?(:id)
@@ -794,9 +1238,11 @@ module Google
794
1238
  @location = args[:location] if args.key?(:location)
795
1239
  @machine_configuration = args[:machine_configuration] if args.key?(:machine_configuration)
796
1240
  @primary_resource_id = args[:primary_resource_id] if args.key?(:primary_resource_id)
1241
+ @primary_resource_location = args[:primary_resource_location] if args.key?(:primary_resource_location)
797
1242
  @product = args[:product] if args.key?(:product)
798
1243
  @resource_container = args[:resource_container] if args.key?(:resource_container)
799
1244
  @resource_name = args[:resource_name] if args.key?(:resource_name)
1245
+ @tags_set = args[:tags_set] if args.key?(:tags_set)
800
1246
  @updation_time = args[:updation_time] if args.key?(:updation_time)
801
1247
  @user_label_set = args[:user_label_set] if args.key?(:user_label_set)
802
1248
  end
@@ -950,6 +1396,25 @@ module Google
950
1396
  end
951
1397
  end
952
1398
 
1399
+ # Request for [ExportBackup].
1400
+ class ExportBackupRequest
1401
+ include Google::Apis::Core::Hashable
1402
+
1403
+ # Google Cloud Storage bucket, like "my-bucket".
1404
+ # Corresponds to the JSON property `gcsBucket`
1405
+ # @return [String]
1406
+ attr_accessor :gcs_bucket
1407
+
1408
+ def initialize(**args)
1409
+ update!(**args)
1410
+ end
1411
+
1412
+ # Update properties of this object
1413
+ def update!(**args)
1414
+ @gcs_bucket = args[:gcs_bucket] if args.key?(:gcs_bucket)
1415
+ end
1416
+ end
1417
+
953
1418
  # Request for Export.
954
1419
  class ExportInstanceRequest
955
1420
  include Google::Apis::Core::Hashable
@@ -989,6 +1454,49 @@ module Google
989
1454
  end
990
1455
  end
991
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::RedisV1beta1::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
+
992
1500
  # The Cloud Storage location for the output content
993
1501
  class GcsDestination
994
1502
  include Google::Apis::Core::Hashable
@@ -1038,9 +1546,9 @@ module Google
1038
1546
  attr_accessor :api_version
1039
1547
 
1040
1548
  # 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`.
1549
+ # operation. Operations that have been cancelled successfully have google.
1550
+ # longrunning.Operation.error value with a google.rpc.Status.code of `1`,
1551
+ # corresponding to `Code.CANCELLED`.
1044
1552
  # Corresponds to the JSON property `cancelRequested`
1045
1553
  # @return [Boolean]
1046
1554
  attr_accessor :cancel_requested
@@ -1476,6 +1984,123 @@ module Google
1476
1984
  end
1477
1985
  end
1478
1986
 
1987
+ # Metadata for individual internal resources in an instance. e.g. spanner
1988
+ # instance can have multiple databases with unique configuration settings.
1989
+ # Similarly bigtable can have multiple clusters within same bigtable instance.
1990
+ class InternalResourceMetadata
1991
+ include Google::Apis::Core::Hashable
1992
+
1993
+ # Configuration for automatic backups
1994
+ # Corresponds to the JSON property `backupConfiguration`
1995
+ # @return [Google::Apis::RedisV1beta1::BackupConfiguration]
1996
+ attr_accessor :backup_configuration
1997
+
1998
+ # A backup run.
1999
+ # Corresponds to the JSON property `backupRun`
2000
+ # @return [Google::Apis::RedisV1beta1::BackupRun]
2001
+ attr_accessor :backup_run
2002
+
2003
+ # Product specification for Condor resources.
2004
+ # Corresponds to the JSON property `product`
2005
+ # @return [Google::Apis::RedisV1beta1::Product]
2006
+ attr_accessor :product
2007
+
2008
+ # DatabaseResourceId will serve as primary key for any resource ingestion event.
2009
+ # Corresponds to the JSON property `resourceId`
2010
+ # @return [Google::Apis::RedisV1beta1::DatabaseResourceId]
2011
+ attr_accessor :resource_id
2012
+
2013
+ # Required. internal resource name for spanner this will be database name e.g."
2014
+ # spanner.googleapis.com/projects/123/abc/instances/inst1/databases/db1"
2015
+ # Corresponds to the JSON property `resourceName`
2016
+ # @return [String]
2017
+ attr_accessor :resource_name
2018
+
2019
+ def initialize(**args)
2020
+ update!(**args)
2021
+ end
2022
+
2023
+ # Update properties of this object
2024
+ def update!(**args)
2025
+ @backup_configuration = args[:backup_configuration] if args.key?(:backup_configuration)
2026
+ @backup_run = args[:backup_run] if args.key?(:backup_run)
2027
+ @product = args[:product] if args.key?(:product)
2028
+ @resource_id = args[:resource_id] if args.key?(:resource_id)
2029
+ @resource_name = args[:resource_name] if args.key?(:resource_name)
2030
+ end
2031
+ end
2032
+
2033
+ # Response for [ListBackupCollections].
2034
+ class ListBackupCollectionsResponse
2035
+ include Google::Apis::Core::Hashable
2036
+
2037
+ # A list of backupCollections in the project. If the `location_id` in the parent
2038
+ # field of the request is "-", all regions available to the project are queried,
2039
+ # and the results aggregated. If in such an aggregated query a location is
2040
+ # unavailable, a placeholder backupCollection entry is included in the response
2041
+ # with the `name` field set to a value of the form `projects/`project_id`/
2042
+ # locations/`location_id`/backupCollections/`- and the `status` field set to
2043
+ # ERROR and `status_message` field set to "location not available for
2044
+ # ListBackupCollections".
2045
+ # Corresponds to the JSON property `backupCollections`
2046
+ # @return [Array<Google::Apis::RedisV1beta1::BackupCollection>]
2047
+ attr_accessor :backup_collections
2048
+
2049
+ # Token to retrieve the next page of results, or empty if there are no more
2050
+ # results in the list.
2051
+ # Corresponds to the JSON property `nextPageToken`
2052
+ # @return [String]
2053
+ attr_accessor :next_page_token
2054
+
2055
+ # Locations that could not be reached.
2056
+ # Corresponds to the JSON property `unreachable`
2057
+ # @return [Array<String>]
2058
+ attr_accessor :unreachable
2059
+
2060
+ def initialize(**args)
2061
+ update!(**args)
2062
+ end
2063
+
2064
+ # Update properties of this object
2065
+ def update!(**args)
2066
+ @backup_collections = args[:backup_collections] if args.key?(:backup_collections)
2067
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2068
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
2069
+ end
2070
+ end
2071
+
2072
+ # Response for [ListBackups].
2073
+ class ListBackupsResponse
2074
+ include Google::Apis::Core::Hashable
2075
+
2076
+ # A list of backups in the project.
2077
+ # Corresponds to the JSON property `backups`
2078
+ # @return [Array<Google::Apis::RedisV1beta1::Backup>]
2079
+ attr_accessor :backups
2080
+
2081
+ # Token to retrieve the next page of results, or empty if there are no more
2082
+ # results in the list.
2083
+ # Corresponds to the JSON property `nextPageToken`
2084
+ # @return [String]
2085
+ attr_accessor :next_page_token
2086
+
2087
+ # Backups that could not be reached.
2088
+ # Corresponds to the JSON property `unreachable`
2089
+ # @return [Array<String>]
2090
+ attr_accessor :unreachable
2091
+
2092
+ def initialize(**args)
2093
+ update!(**args)
2094
+ end
2095
+
2096
+ # Update properties of this object
2097
+ def update!(**args)
2098
+ @backups = args[:backups] if args.key?(:backups)
2099
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2100
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
2101
+ end
2102
+ end
2103
+
1479
2104
  # Response for ListClusters.
1480
2105
  class ListClustersResponse
1481
2106
  include Google::Apis::Core::Hashable
@@ -1670,6 +2295,17 @@ module Google
1670
2295
  # @return [Fixnum]
1671
2296
  attr_accessor :memory_size_in_bytes
1672
2297
 
2298
+ # Optional. Number of shards (if applicable).
2299
+ # Corresponds to the JSON property `shardCount`
2300
+ # @return [Fixnum]
2301
+ attr_accessor :shard_count
2302
+
2303
+ # Optional. The number of vCPUs. TODO(b/342344482, b/342346271) add proto
2304
+ # validations again after bug fix.
2305
+ # Corresponds to the JSON property `vcpuCount`
2306
+ # @return [Float]
2307
+ attr_accessor :vcpu_count
2308
+
1673
2309
  def initialize(**args)
1674
2310
  update!(**args)
1675
2311
  end
@@ -1678,6 +2314,8 @@ module Google
1678
2314
  def update!(**args)
1679
2315
  @cpu_count = args[:cpu_count] if args.key?(:cpu_count)
1680
2316
  @memory_size_in_bytes = args[:memory_size_in_bytes] if args.key?(:memory_size_in_bytes)
2317
+ @shard_count = args[:shard_count] if args.key?(:shard_count)
2318
+ @vcpu_count = args[:vcpu_count] if args.key?(:vcpu_count)
1681
2319
  end
1682
2320
  end
1683
2321
 
@@ -1763,6 +2401,29 @@ module Google
1763
2401
  end
1764
2402
  end
1765
2403
 
2404
+ # Backups that generated and managed by memorystore.
2405
+ class ManagedBackupSource
2406
+ include Google::Apis::Core::Hashable
2407
+
2408
+ # Optional. Example: //redis.googleapis.com/projects/`project`/locations/`
2409
+ # location`/backupCollections/`collection`/backups/`backup` A shorter version (
2410
+ # without the prefix) of the backup name is also supported, like projects/`
2411
+ # project`/locations/`location`/backupCollections/`collection`/backups/`
2412
+ # backup_id` In this case, it assumes the backup is under redis.googleapis.com.
2413
+ # Corresponds to the JSON property `backup`
2414
+ # @return [String]
2415
+ attr_accessor :backup
2416
+
2417
+ def initialize(**args)
2418
+ update!(**args)
2419
+ end
2420
+
2421
+ # Update properties of this object
2422
+ def update!(**args)
2423
+ @backup = args[:backup] if args.key?(:backup)
2424
+ end
2425
+ end
2426
+
1766
2427
  #
1767
2428
  class ManagedCertificateAuthority
1768
2429
  include Google::Apis::Core::Hashable
@@ -1782,6 +2443,34 @@ module Google
1782
2443
  end
1783
2444
  end
1784
2445
 
2446
+ # An output only view of all the member clusters participating in the cross
2447
+ # cluster replication.
2448
+ class Membership
2449
+ include Google::Apis::Core::Hashable
2450
+
2451
+ # Details of the remote cluster associated with this cluster in a cross cluster
2452
+ # replication setup.
2453
+ # Corresponds to the JSON property `primaryCluster`
2454
+ # @return [Google::Apis::RedisV1beta1::RemoteCluster]
2455
+ attr_accessor :primary_cluster
2456
+
2457
+ # Output only. The list of secondary clusters replicating from the primary
2458
+ # cluster.
2459
+ # Corresponds to the JSON property `secondaryClusters`
2460
+ # @return [Array<Google::Apis::RedisV1beta1::RemoteCluster>]
2461
+ attr_accessor :secondary_clusters
2462
+
2463
+ def initialize(**args)
2464
+ update!(**args)
2465
+ end
2466
+
2467
+ # Update properties of this object
2468
+ def update!(**args)
2469
+ @primary_cluster = args[:primary_cluster] if args.key?(:primary_cluster)
2470
+ @secondary_clusters = args[:secondary_clusters] if args.key?(:secondary_clusters)
2471
+ end
2472
+ end
2473
+
1785
2474
  # Node specific properties.
1786
2475
  class NodeInfo
1787
2476
  include Google::Apis::Core::Hashable
@@ -2129,35 +2818,55 @@ module Google
2129
2818
  class PscConnection
2130
2819
  include Google::Apis::Core::Hashable
2131
2820
 
2132
- # Output only. The IP allocated on the consumer network for the PSC forwarding
2133
- # rule.
2821
+ # Required. The IP allocated on the consumer network for the PSC forwarding rule.
2134
2822
  # Corresponds to the JSON property `address`
2135
2823
  # @return [String]
2136
2824
  attr_accessor :address
2137
2825
 
2138
- # Output only. The URI of the consumer side forwarding rule. Example: projects/`
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
+ # Required. The URI of the consumer side forwarding rule. Example: projects/`
2139
2832
  # projectNumOrId`/regions/us-east1/forwardingRules/`resourceId`.
2140
2833
  # Corresponds to the JSON property `forwardingRule`
2141
2834
  # @return [String]
2142
2835
  attr_accessor :forwarding_rule
2143
2836
 
2144
- # The consumer network where the IP address resides, in the form of projects/`
2145
- # project_id`/global/networks/`network_id`.
2837
+ # Required. The consumer network where the IP address resides, in the form of
2838
+ # projects/`project_id`/global/networks/`network_id`.
2146
2839
  # Corresponds to the JSON property `network`
2147
2840
  # @return [String]
2148
2841
  attr_accessor :network
2149
2842
 
2150
- # Output only. The consumer project_id where the forwarding rule is created from.
2843
+ # Optional. Project ID of the consumer project where the forwarding rule is
2844
+ # created in.
2151
2845
  # Corresponds to the JSON property `projectId`
2152
2846
  # @return [String]
2153
2847
  attr_accessor :project_id
2154
2848
 
2155
- # Output only. The PSC connection id of the forwarding rule connected to the
2849
+ # Required. The PSC connection id of the forwarding rule connected to the
2156
2850
  # service attachment.
2157
2851
  # Corresponds to the JSON property `pscConnectionId`
2158
2852
  # @return [String]
2159
2853
  attr_accessor :psc_connection_id
2160
2854
 
2855
+ # Output only. The status of the PSC connection. Please note that this value is
2856
+ # updated periodically. To get the latest status of a PSC connection, follow
2857
+ # https://cloud.google.com/vpc/docs/configure-private-service-connect-services#
2858
+ # endpoint-details.
2859
+ # Corresponds to the JSON property `pscConnectionStatus`
2860
+ # @return [String]
2861
+ attr_accessor :psc_connection_status
2862
+
2863
+ # Required. The service attachment which is the target of the PSC connection, in
2864
+ # the form of projects/`project-id`/regions/`region`/serviceAttachments/`service-
2865
+ # attachment-id`.
2866
+ # Corresponds to the JSON property `serviceAttachment`
2867
+ # @return [String]
2868
+ attr_accessor :service_attachment
2869
+
2161
2870
  def initialize(**args)
2162
2871
  update!(**args)
2163
2872
  end
@@ -2165,10 +2874,40 @@ module Google
2165
2874
  # Update properties of this object
2166
2875
  def update!(**args)
2167
2876
  @address = args[:address] if args.key?(:address)
2877
+ @connection_type = args[:connection_type] if args.key?(:connection_type)
2168
2878
  @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
2169
2879
  @network = args[:network] if args.key?(:network)
2170
2880
  @project_id = args[:project_id] if args.key?(:project_id)
2171
2881
  @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
2882
+ @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
2883
+ @service_attachment = args[:service_attachment] if args.key?(:service_attachment)
2884
+ end
2885
+ end
2886
+
2887
+ # Configuration of a service attachment of the cluster, for creating PSC
2888
+ # connections.
2889
+ class PscServiceAttachment
2890
+ include Google::Apis::Core::Hashable
2891
+
2892
+ # Output only. Type of a PSC connection targeting this service attachment.
2893
+ # Corresponds to the JSON property `connectionType`
2894
+ # @return [String]
2895
+ attr_accessor :connection_type
2896
+
2897
+ # Output only. Service attachment URI which your self-created PscConnection
2898
+ # should use as target
2899
+ # Corresponds to the JSON property `serviceAttachment`
2900
+ # @return [String]
2901
+ attr_accessor :service_attachment
2902
+
2903
+ def initialize(**args)
2904
+ update!(**args)
2905
+ end
2906
+
2907
+ # Update properties of this object
2908
+ def update!(**args)
2909
+ @connection_type = args[:connection_type] if args.key?(:connection_type)
2910
+ @service_attachment = args[:service_attachment] if args.key?(:service_attachment)
2172
2911
  end
2173
2912
  end
2174
2913
 
@@ -2225,6 +2964,61 @@ module Google
2225
2964
  end
2226
2965
  end
2227
2966
 
2967
+ # Details of the remote cluster associated with this cluster in a cross cluster
2968
+ # replication setup.
2969
+ class RemoteCluster
2970
+ include Google::Apis::Core::Hashable
2971
+
2972
+ # The full resource path of the remote cluster in the format: projects//
2973
+ # locations//clusters/
2974
+ # Corresponds to the JSON property `cluster`
2975
+ # @return [String]
2976
+ attr_accessor :cluster
2977
+
2978
+ # Output only. The unique identifier of the remote cluster.
2979
+ # Corresponds to the JSON property `uid`
2980
+ # @return [String]
2981
+ attr_accessor :uid
2982
+
2983
+ def initialize(**args)
2984
+ update!(**args)
2985
+ end
2986
+
2987
+ # Update properties of this object
2988
+ def update!(**args)
2989
+ @cluster = args[:cluster] if args.key?(:cluster)
2990
+ @uid = args[:uid] if args.key?(:uid)
2991
+ end
2992
+ end
2993
+
2994
+ # Request for rescheduling a cluster maintenance.
2995
+ class RescheduleClusterMaintenanceRequest
2996
+ include Google::Apis::Core::Hashable
2997
+
2998
+ # Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as
2999
+ # well.
3000
+ # Corresponds to the JSON property `rescheduleType`
3001
+ # @return [String]
3002
+ attr_accessor :reschedule_type
3003
+
3004
+ # Optional. Timestamp when the maintenance shall be rescheduled to if
3005
+ # reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for example `2012-11-15T16:
3006
+ # 19:00.094Z`.
3007
+ # Corresponds to the JSON property `scheduleTime`
3008
+ # @return [String]
3009
+ attr_accessor :schedule_time
3010
+
3011
+ def initialize(**args)
3012
+ update!(**args)
3013
+ end
3014
+
3015
+ # Update properties of this object
3016
+ def update!(**args)
3017
+ @reschedule_type = args[:reschedule_type] if args.key?(:reschedule_type)
3018
+ @schedule_time = args[:schedule_time] if args.key?(:schedule_time)
3019
+ end
3020
+ end
3021
+
2228
3022
  # Request for RescheduleMaintenance.
2229
3023
  class RescheduleMaintenanceRequest
2230
3024
  include Google::Apis::Core::Hashable
@@ -2257,6 +3051,11 @@ module Google
2257
3051
  class RetentionSettings
2258
3052
  include Google::Apis::Core::Hashable
2259
3053
 
3054
+ # Duration based retention period i.e. 172800 seconds (2 days)
3055
+ # Corresponds to the JSON property `durationBasedRetention`
3056
+ # @return [String]
3057
+ attr_accessor :duration_based_retention
3058
+
2260
3059
  #
2261
3060
  # Corresponds to the JSON property `quantityBasedRetention`
2262
3061
  # @return [Fixnum]
@@ -2272,15 +3071,22 @@ module Google
2272
3071
  # @return [String]
2273
3072
  attr_accessor :time_based_retention
2274
3073
 
3074
+ # Timestamp based retention period i.e. 2024-05-01T00:00:00Z
3075
+ # Corresponds to the JSON property `timestampBasedRetentionTime`
3076
+ # @return [String]
3077
+ attr_accessor :timestamp_based_retention_time
3078
+
2275
3079
  def initialize(**args)
2276
3080
  update!(**args)
2277
3081
  end
2278
3082
 
2279
3083
  # Update properties of this object
2280
3084
  def update!(**args)
3085
+ @duration_based_retention = args[:duration_based_retention] if args.key?(:duration_based_retention)
2281
3086
  @quantity_based_retention = args[:quantity_based_retention] if args.key?(:quantity_based_retention)
2282
3087
  @retention_unit = args[:retention_unit] if args.key?(:retention_unit)
2283
3088
  @time_based_retention = args[:time_based_retention] if args.key?(:time_based_retention)
3089
+ @timestamp_based_retention_time = args[:timestamp_based_retention_time] if args.key?(:timestamp_based_retention_time)
2284
3090
  end
2285
3091
  end
2286
3092
 
@@ -2342,30 +3148,55 @@ module Google
2342
3148
  end
2343
3149
  end
2344
3150
 
3151
+ # Message type for storing tags. Tags provide a way to create annotations for
3152
+ # resources, and in some cases conditionally allow or deny policies based on
3153
+ # whether a resource has a specific tag.
3154
+ class Tags
3155
+ include Google::Apis::Core::Hashable
3156
+
3157
+ # The Tag key/value mappings.
3158
+ # Corresponds to the JSON property `tags`
3159
+ # @return [Hash<String,String>]
3160
+ attr_accessor :tags
3161
+
3162
+ def initialize(**args)
3163
+ update!(**args)
3164
+ end
3165
+
3166
+ # Update properties of this object
3167
+ def update!(**args)
3168
+ @tags = args[:tags] if args.key?(:tags)
3169
+ end
3170
+ end
3171
+
2345
3172
  # Represents a time of day. The date and time zone are either not significant or
2346
3173
  # are specified elsewhere. An API may choose to allow leap seconds. Related
2347
3174
  # types are google.type.Date and `google.protobuf.Timestamp`.
2348
3175
  class TimeOfDay
2349
3176
  include Google::Apis::Core::Hashable
2350
3177
 
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.
3178
+ # Hours of a day in 24 hour format. Must be greater than or equal to 0 and
3179
+ # typically must be less than or equal to 23. An API may choose to allow the
3180
+ # value "24:00:00" for scenarios like business closing time.
2353
3181
  # Corresponds to the JSON property `hours`
2354
3182
  # @return [Fixnum]
2355
3183
  attr_accessor :hours
2356
3184
 
2357
- # Minutes of hour of day. Must be from 0 to 59.
3185
+ # Minutes of an hour. Must be greater than or equal to 0 and less than or equal
3186
+ # to 59.
2358
3187
  # Corresponds to the JSON property `minutes`
2359
3188
  # @return [Fixnum]
2360
3189
  attr_accessor :minutes
2361
3190
 
2362
- # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
3191
+ # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and
3192
+ # less than or equal to 999,999,999.
2363
3193
  # Corresponds to the JSON property `nanos`
2364
3194
  # @return [Fixnum]
2365
3195
  attr_accessor :nanos
2366
3196
 
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.
3197
+ # Seconds of a minute. Must be greater than or equal to 0 and typically must be
3198
+ # less than or equal to 59. An API may allow the value 60 if it allows leap-
3199
+ # seconds.
2369
3200
  # Corresponds to the JSON property `seconds`
2370
3201
  # @return [Fixnum]
2371
3202
  attr_accessor :seconds