google-apis-redis_v1beta1 0.54.0 → 0.55.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -41,10 +41,53 @@ module Google
41
41
  end
42
42
  end
43
43
 
44
+ # The automated backup config for a cluster.
45
+ class AutomatedBackupConfig
46
+ include Google::Apis::Core::Hashable
47
+
48
+ # Optional. The automated backup mode. If the mode is disabled, the other fields
49
+ # will be ignored.
50
+ # Corresponds to the JSON property `automatedBackupMode`
51
+ # @return [String]
52
+ attr_accessor :automated_backup_mode
53
+
54
+ # This schedule allows the backup to be triggered at a fixed frequency (
55
+ # currently only daily is supported).
56
+ # Corresponds to the JSON property `fixedFrequencySchedule`
57
+ # @return [Google::Apis::RedisV1beta1::FixedFrequencySchedule]
58
+ attr_accessor :fixed_frequency_schedule
59
+
60
+ # Optional. How long to keep automated backups before the backups are deleted.
61
+ # 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