google-apis-sqladmin_v1beta4 0.73.0 → 0.94.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.
@@ -181,6 +181,174 @@ module Google
181
181
  end
182
182
  end
183
183
 
184
+ # A backup resource.
185
+ class Backup
186
+ include Google::Apis::Core::Hashable
187
+
188
+ # Represents a time interval, encoded as a Timestamp start (inclusive) and a
189
+ # Timestamp end (exclusive). The start must be less than or equal to the end.
190
+ # When the start equals the end, the interval is empty (matches no time). When
191
+ # both start and end are unspecified, the interval matches any time.
192
+ # Corresponds to the JSON property `backupInterval`
193
+ # @return [Google::Apis::SqladminV1beta4::Interval]
194
+ attr_accessor :backup_interval
195
+
196
+ # Output only. Specifies the kind of backup, PHYSICAL or DEFAULT_SNAPSHOT.
197
+ # Corresponds to the JSON property `backupKind`
198
+ # @return [String]
199
+ attr_accessor :backup_kind
200
+
201
+ # Output only. The mapping to backup run resource used for IAM validations.
202
+ # Corresponds to the JSON property `backupRun`
203
+ # @return [String]
204
+ attr_accessor :backup_run
205
+
206
+ # Output only. The database version of the instance of at the time this backup
207
+ # was made.
208
+ # Corresponds to the JSON property `databaseVersion`
209
+ # @return [String]
210
+ attr_accessor :database_version
211
+
212
+ # The description of this backup.
213
+ # Corresponds to the JSON property `description`
214
+ # @return [String]
215
+ attr_accessor :description
216
+
217
+ # Database instance operation error.
218
+ # Corresponds to the JSON property `error`
219
+ # @return [Google::Apis::SqladminV1beta4::OperationError]
220
+ attr_accessor :error
221
+
222
+ # Backup expiration time. A UTC timestamp of when this resource expired.
223
+ # Corresponds to the JSON property `expiryTime`
224
+ # @return [String]
225
+ attr_accessor :expiry_time
226
+
227
+ # The name of the database instance.
228
+ # Corresponds to the JSON property `instance`
229
+ # @return [String]
230
+ attr_accessor :instance
231
+
232
+ # Optional. Output only. Timestamp in UTC of when the instance associated with
233
+ # this backup is deleted.
234
+ # Corresponds to the JSON property `instanceDeletionTime`
235
+ # @return [String]
236
+ attr_accessor :instance_deletion_time
237
+
238
+ # A Cloud SQL instance resource.
239
+ # Corresponds to the JSON property `instanceSettings`
240
+ # @return [Google::Apis::SqladminV1beta4::DatabaseInstance]
241
+ attr_accessor :instance_settings
242
+
243
+ # Output only. This is always `sql#backup`.
244
+ # Corresponds to the JSON property `kind`
245
+ # @return [String]
246
+ attr_accessor :kind
247
+
248
+ # Output only. This output contains the encryption configuration for a backup
249
+ # and the resource name of the KMS key for disk encryption.
250
+ # Corresponds to the JSON property `kmsKey`
251
+ # @return [String]
252
+ attr_accessor :kms_key
253
+
254
+ # Output only. This output contains the encryption status for a backup and the
255
+ # version of the KMS key that's used to encrypt the Cloud SQL instance.
256
+ # Corresponds to the JSON property `kmsKeyVersion`
257
+ # @return [String]
258
+ attr_accessor :kms_key_version
259
+
260
+ # The storage location of the backups. The location can be multi-regional.
261
+ # Corresponds to the JSON property `location`
262
+ # @return [String]
263
+ attr_accessor :location
264
+
265
+ # Output only. The maximum chargeable bytes for the backup.
266
+ # Corresponds to the JSON property `maxChargeableBytes`
267
+ # @return [Fixnum]
268
+ attr_accessor :max_chargeable_bytes
269
+
270
+ # Output only. The resource name of the backup. Format: projects/`project`/
271
+ # backups/`backup`.
272
+ # Corresponds to the JSON property `name`
273
+ # @return [String]
274
+ attr_accessor :name
275
+
276
+ # Output only. This status indicates whether the backup satisfies PZI. The
277
+ # status is reserved for future use.
278
+ # Corresponds to the JSON property `satisfiesPzi`
279
+ # @return [Boolean]
280
+ attr_accessor :satisfies_pzi
281
+ alias_method :satisfies_pzi?, :satisfies_pzi
282
+
283
+ # Output only. This status indicates whether the backup satisfies PZS. The
284
+ # status is reserved for future use.
285
+ # Corresponds to the JSON property `satisfiesPzs`
286
+ # @return [Boolean]
287
+ attr_accessor :satisfies_pzs
288
+ alias_method :satisfies_pzs?, :satisfies_pzs
289
+
290
+ # Output only. The URI of this resource.
291
+ # Corresponds to the JSON property `selfLink`
292
+ # @return [String]
293
+ attr_accessor :self_link
294
+
295
+ # Output only. The state of this backup.
296
+ # Corresponds to the JSON property `state`
297
+ # @return [String]
298
+ attr_accessor :state
299
+
300
+ # Output only. This output contains a backup time zone. If a Cloud SQL for SQL
301
+ # Server instance has a different time zone from the backup's time zone, then
302
+ # the restore to the instance doesn't happen.
303
+ # Corresponds to the JSON property `timeZone`
304
+ # @return [String]
305
+ attr_accessor :time_zone
306
+
307
+ # Input only. The time-to-live (TTL) interval for this resource (in days). For
308
+ # example: ttlDays:7, means 7 days from the current time. The expiration time
309
+ # can't exceed 365 days from the time that the backup is created.
310
+ # Corresponds to the JSON property `ttlDays`
311
+ # @return [Fixnum]
312
+ attr_accessor :ttl_days
313
+
314
+ # Output only. The type of this backup. The type can be "AUTOMATED", "ON_DEMAND",
315
+ # or “FINAL”.
316
+ # Corresponds to the JSON property `type`
317
+ # @return [String]
318
+ attr_accessor :type
319
+
320
+ def initialize(**args)
321
+ update!(**args)
322
+ end
323
+
324
+ # Update properties of this object
325
+ def update!(**args)
326
+ @backup_interval = args[:backup_interval] if args.key?(:backup_interval)
327
+ @backup_kind = args[:backup_kind] if args.key?(:backup_kind)
328
+ @backup_run = args[:backup_run] if args.key?(:backup_run)
329
+ @database_version = args[:database_version] if args.key?(:database_version)
330
+ @description = args[:description] if args.key?(:description)
331
+ @error = args[:error] if args.key?(:error)
332
+ @expiry_time = args[:expiry_time] if args.key?(:expiry_time)
333
+ @instance = args[:instance] if args.key?(:instance)
334
+ @instance_deletion_time = args[:instance_deletion_time] if args.key?(:instance_deletion_time)
335
+ @instance_settings = args[:instance_settings] if args.key?(:instance_settings)
336
+ @kind = args[:kind] if args.key?(:kind)
337
+ @kms_key = args[:kms_key] if args.key?(:kms_key)
338
+ @kms_key_version = args[:kms_key_version] if args.key?(:kms_key_version)
339
+ @location = args[:location] if args.key?(:location)
340
+ @max_chargeable_bytes = args[:max_chargeable_bytes] if args.key?(:max_chargeable_bytes)
341
+ @name = args[:name] if args.key?(:name)
342
+ @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
343
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
344
+ @self_link = args[:self_link] if args.key?(:self_link)
345
+ @state = args[:state] if args.key?(:state)
346
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
347
+ @ttl_days = args[:ttl_days] if args.key?(:ttl_days)
348
+ @type = args[:type] if args.key?(:type)
349
+ end
350
+ end
351
+
184
352
  # Database instance backup configuration.
185
353
  class BackupConfiguration
186
354
  include Google::Apis::Core::Hashable
@@ -191,6 +359,11 @@ module Google
191
359
  # @return [Google::Apis::SqladminV1beta4::BackupRetentionSettings]
192
360
  attr_accessor :backup_retention_settings
193
361
 
362
+ # Output only. Backup tier that manages the backups for the instance.
363
+ # Corresponds to the JSON property `backupTier`
364
+ # @return [String]
365
+ attr_accessor :backup_tier
366
+
194
367
  # (MySQL only) Whether binary log is enabled. If backup configuration is
195
368
  # disabled, binarylog must be disabled as well.
196
369
  # Corresponds to the JSON property `binaryLogEnabled`
@@ -251,6 +424,7 @@ module Google
251
424
  # Update properties of this object
252
425
  def update!(**args)
253
426
  @backup_retention_settings = args[:backup_retention_settings] if args.key?(:backup_retention_settings)
427
+ @backup_tier = args[:backup_tier] if args.key?(:backup_tier)
254
428
  @binary_log_enabled = args[:binary_log_enabled] if args.key?(:binary_log_enabled)
255
429
  @enabled = args[:enabled] if args.key?(:enabled)
256
430
  @kind = args[:kind] if args.key?(:kind)
@@ -277,6 +451,11 @@ module Google
277
451
  # @return [String]
278
452
  attr_accessor :kind
279
453
 
454
+ # The name of the backup. Format: projects/`project`/backups/`backup`
455
+ # Corresponds to the JSON property `name`
456
+ # @return [String]
457
+ attr_accessor :name
458
+
280
459
  def initialize(**args)
281
460
  update!(**args)
282
461
  end
@@ -285,6 +464,7 @@ module Google
285
464
  def update!(**args)
286
465
  @backup_id = args[:backup_id] if args.key?(:backup_id)
287
466
  @kind = args[:kind] if args.key?(:kind)
467
+ @name = args[:name] if args.key?(:name)
288
468
  end
289
469
  end
290
470
 
@@ -350,6 +530,11 @@ module Google
350
530
  # @return [String]
351
531
  attr_accessor :backup_kind
352
532
 
533
+ # Output only. The instance database version at the time this backup was made.
534
+ # Corresponds to the JSON property `databaseVersion`
535
+ # @return [String]
536
+ attr_accessor :database_version
537
+
353
538
  # The description of this run, only applicable to on-demand backups.
354
539
  # Corresponds to the JSON property `description`
355
540
  # @return [String]
@@ -403,6 +588,11 @@ module Google
403
588
  # @return [String]
404
589
  attr_accessor :location
405
590
 
591
+ # Output only. The maximum chargeable bytes for the backup.
592
+ # Corresponds to the JSON property `maxChargeableBytes`
593
+ # @return [Fixnum]
594
+ attr_accessor :max_chargeable_bytes
595
+
406
596
  # The URI of this resource.
407
597
  # Corresponds to the JSON property `selfLink`
408
598
  # @return [String]
@@ -447,6 +637,7 @@ module Google
447
637
  # Update properties of this object
448
638
  def update!(**args)
449
639
  @backup_kind = args[:backup_kind] if args.key?(:backup_kind)
640
+ @database_version = args[:database_version] if args.key?(:database_version)
450
641
  @description = args[:description] if args.key?(:description)
451
642
  @disk_encryption_configuration = args[:disk_encryption_configuration] if args.key?(:disk_encryption_configuration)
452
643
  @disk_encryption_status = args[:disk_encryption_status] if args.key?(:disk_encryption_status)
@@ -457,6 +648,7 @@ module Google
457
648
  @instance = args[:instance] if args.key?(:instance)
458
649
  @kind = args[:kind] if args.key?(:kind)
459
650
  @location = args[:location] if args.key?(:location)
651
+ @max_chargeable_bytes = args[:max_chargeable_bytes] if args.key?(:max_chargeable_bytes)
460
652
  @self_link = args[:self_link] if args.key?(:self_link)
461
653
  @start_time = args[:start_time] if args.key?(:start_time)
462
654
  @status = args[:status] if args.key?(:status)
@@ -575,6 +767,13 @@ module Google
575
767
  # @return [String]
576
768
  attr_accessor :point_in_time
577
769
 
770
+ # Optional. Copy clone and point-in-time recovery clone of a regional instance
771
+ # in the specified zones. If not specified, clone to the same secondary zone as
772
+ # the source instance. This value cannot be the same as the preferred_zone field.
773
+ # Corresponds to the JSON property `preferredSecondaryZone`
774
+ # @return [String]
775
+ attr_accessor :preferred_secondary_zone
776
+
578
777
  # Optional. Copy clone and point-in-time recovery clone of an instance to the
579
778
  # specified zone. If no zone is specified, clone to the same primary zone as the
580
779
  # source instance.
@@ -582,6 +781,12 @@ module Google
582
781
  # @return [String]
583
782
  attr_accessor :preferred_zone
584
783
 
784
+ # The timestamp used to identify the time when the source instance is deleted.
785
+ # If this instance is deleted, then you must set the timestamp.
786
+ # Corresponds to the JSON property `sourceInstanceDeletionTime`
787
+ # @return [String]
788
+ attr_accessor :source_instance_deletion_time
789
+
585
790
  def initialize(**args)
586
791
  update!(**args)
587
792
  end
@@ -595,7 +800,72 @@ module Google
595
800
  @kind = args[:kind] if args.key?(:kind)
596
801
  @pitr_timestamp_ms = args[:pitr_timestamp_ms] if args.key?(:pitr_timestamp_ms)
597
802
  @point_in_time = args[:point_in_time] if args.key?(:point_in_time)
803
+ @preferred_secondary_zone = args[:preferred_secondary_zone] if args.key?(:preferred_secondary_zone)
598
804
  @preferred_zone = args[:preferred_zone] if args.key?(:preferred_zone)
805
+ @source_instance_deletion_time = args[:source_instance_deletion_time] if args.key?(:source_instance_deletion_time)
806
+ end
807
+ end
808
+
809
+ # Contains the name and datatype of a column.
810
+ class Column
811
+ include Google::Apis::Core::Hashable
812
+
813
+ # Name of the column.
814
+ # Corresponds to the JSON property `name`
815
+ # @return [String]
816
+ attr_accessor :name
817
+
818
+ # Datatype of the column.
819
+ # Corresponds to the JSON property `type`
820
+ # @return [String]
821
+ attr_accessor :type
822
+
823
+ def initialize(**args)
824
+ update!(**args)
825
+ end
826
+
827
+ # Update properties of this object
828
+ def update!(**args)
829
+ @name = args[:name] if args.key?(:name)
830
+ @type = args[:type] if args.key?(:type)
831
+ end
832
+ end
833
+
834
+ # Details of a single read pool node of a read pool.
835
+ class ConnectPoolNodeConfig
836
+ include Google::Apis::Core::Hashable
837
+
838
+ # Output only. The DNS name of the read pool node.
839
+ # Corresponds to the JSON property `dnsName`
840
+ # @return [String]
841
+ attr_accessor :dns_name
842
+
843
+ # Output only. The list of DNS names used by this read pool node.
844
+ # Corresponds to the JSON property `dnsNames`
845
+ # @return [Array<Google::Apis::SqladminV1beta4::DnsNameMapping>]
846
+ attr_accessor :dns_names
847
+
848
+ # Output only. Mappings containing IP addresses that can be used to connect to
849
+ # the read pool node.
850
+ # Corresponds to the JSON property `ipAddresses`
851
+ # @return [Array<Google::Apis::SqladminV1beta4::IpMapping>]
852
+ attr_accessor :ip_addresses
853
+
854
+ # Output only. The name of the read pool node. Doesn't include the project ID.
855
+ # Corresponds to the JSON property `name`
856
+ # @return [String]
857
+ attr_accessor :name
858
+
859
+ def initialize(**args)
860
+ update!(**args)
861
+ end
862
+
863
+ # Update properties of this object
864
+ def update!(**args)
865
+ @dns_name = args[:dns_name] if args.key?(:dns_name)
866
+ @dns_names = args[:dns_names] if args.key?(:dns_names)
867
+ @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
868
+ @name = args[:name] if args.key?(:name)
599
869
  end
600
870
  end
601
871
 
@@ -610,6 +880,11 @@ module Google
610
880
  # @return [String]
611
881
  attr_accessor :backend_type
612
882
 
883
+ # Custom subject alternative names for the server certificate.
884
+ # Corresponds to the JSON property `customSubjectAlternativeNames`
885
+ # @return [Array<String>]
886
+ attr_accessor :custom_subject_alternative_names
887
+
613
888
  # The database engine type and version. The `databaseVersion` field cannot be
614
889
  # changed after instance creation. MySQL instances: `MYSQL_8_0`, `MYSQL_5_7` (
615
890
  # default), or `MYSQL_5_6`. PostgreSQL instances: `POSTGRES_9_6`, `POSTGRES_10`,
@@ -627,6 +902,11 @@ module Google
627
902
  # @return [String]
628
903
  attr_accessor :dns_name
629
904
 
905
+ # Output only. The list of DNS names used by this instance.
906
+ # Corresponds to the JSON property `dnsNames`
907
+ # @return [Array<Google::Apis::SqladminV1beta4::DnsNameMapping>]
908
+ attr_accessor :dns_names
909
+
630
910
  # The assigned IP addresses for the instance.
631
911
  # Corresponds to the JSON property `ipAddresses`
632
912
  # @return [Array<Google::Apis::SqladminV1beta4::IpMapping>]
@@ -637,6 +917,26 @@ module Google
637
917
  # @return [String]
638
918
  attr_accessor :kind
639
919
 
920
+ # Optional. Output only. mdx_protocol_support controls how the client uses
921
+ # metadata exchange when connecting to the instance. The values in the list
922
+ # representing parts of the MDX protocol that are supported by this instance.
923
+ # When the list is empty, the instance does not support MDX, so the client must
924
+ # not send an MDX request. The default is empty.
925
+ # Corresponds to the JSON property `mdxProtocolSupport`
926
+ # @return [Array<String>]
927
+ attr_accessor :mdx_protocol_support
928
+
929
+ # The number of read pool nodes in a read pool.
930
+ # Corresponds to the JSON property `nodeCount`
931
+ # @return [Fixnum]
932
+ attr_accessor :node_count
933
+
934
+ # Output only. Entries containing information about each read pool node of the
935
+ # read pool.
936
+ # Corresponds to the JSON property `nodes`
937
+ # @return [Array<Google::Apis::SqladminV1beta4::ConnectPoolNodeConfig>]
938
+ attr_accessor :nodes
939
+
640
940
  # Whether PSC connectivity is enabled for this instance.
641
941
  # Corresponds to the JSON property `pscEnabled`
642
942
  # @return [Boolean]
@@ -654,6 +954,11 @@ module Google
654
954
  # @return [Google::Apis::SqladminV1beta4::SslCert]
655
955
  attr_accessor :server_ca_cert
656
956
 
957
+ # Specify what type of CA is used for the server certificate.
958
+ # Corresponds to the JSON property `serverCaMode`
959
+ # @return [String]
960
+ attr_accessor :server_ca_mode
961
+
657
962
  def initialize(**args)
658
963
  update!(**args)
659
964
  end
@@ -661,13 +966,78 @@ module Google
661
966
  # Update properties of this object
662
967
  def update!(**args)
663
968
  @backend_type = args[:backend_type] if args.key?(:backend_type)
969
+ @custom_subject_alternative_names = args[:custom_subject_alternative_names] if args.key?(:custom_subject_alternative_names)
664
970
  @database_version = args[:database_version] if args.key?(:database_version)
665
971
  @dns_name = args[:dns_name] if args.key?(:dns_name)
972
+ @dns_names = args[:dns_names] if args.key?(:dns_names)
666
973
  @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
667
974
  @kind = args[:kind] if args.key?(:kind)
975
+ @mdx_protocol_support = args[:mdx_protocol_support] if args.key?(:mdx_protocol_support)
976
+ @node_count = args[:node_count] if args.key?(:node_count)
977
+ @nodes = args[:nodes] if args.key?(:nodes)
668
978
  @psc_enabled = args[:psc_enabled] if args.key?(:psc_enabled)
669
979
  @region = args[:region] if args.key?(:region)
670
980
  @server_ca_cert = args[:server_ca_cert] if args.key?(:server_ca_cert)
981
+ @server_ca_mode = args[:server_ca_mode] if args.key?(:server_ca_mode)
982
+ end
983
+ end
984
+
985
+ # The managed connection pooling configuration.
986
+ class ConnectionPoolConfig
987
+ include Google::Apis::Core::Hashable
988
+
989
+ # Whether managed connection pooling is enabled.
990
+ # Corresponds to the JSON property `connectionPoolingEnabled`
991
+ # @return [Boolean]
992
+ attr_accessor :connection_pooling_enabled
993
+ alias_method :connection_pooling_enabled?, :connection_pooling_enabled
994
+
995
+ # Optional. List of connection pool configuration flags.
996
+ # Corresponds to the JSON property `flags`
997
+ # @return [Array<Google::Apis::SqladminV1beta4::ConnectionPoolFlags>]
998
+ attr_accessor :flags
999
+
1000
+ # Output only. Number of connection poolers.
1001
+ # Corresponds to the JSON property `poolerCount`
1002
+ # @return [Fixnum]
1003
+ attr_accessor :pooler_count
1004
+
1005
+ def initialize(**args)
1006
+ update!(**args)
1007
+ end
1008
+
1009
+ # Update properties of this object
1010
+ def update!(**args)
1011
+ @connection_pooling_enabled = args[:connection_pooling_enabled] if args.key?(:connection_pooling_enabled)
1012
+ @flags = args[:flags] if args.key?(:flags)
1013
+ @pooler_count = args[:pooler_count] if args.key?(:pooler_count)
1014
+ end
1015
+ end
1016
+
1017
+ # Connection pool flags for Cloud SQL instances managed connection pool
1018
+ # configuration.
1019
+ class ConnectionPoolFlags
1020
+ include Google::Apis::Core::Hashable
1021
+
1022
+ # Required. The name of the flag.
1023
+ # Corresponds to the JSON property `name`
1024
+ # @return [String]
1025
+ attr_accessor :name
1026
+
1027
+ # Required. The value of the flag. Boolean flags are set to `on` for true and `
1028
+ # off` for false. This field must be omitted if the flag doesn't take a value.
1029
+ # Corresponds to the JSON property `value`
1030
+ # @return [String]
1031
+ attr_accessor :value
1032
+
1033
+ def initialize(**args)
1034
+ update!(**args)
1035
+ end
1036
+
1037
+ # Update properties of this object
1038
+ def update!(**args)
1039
+ @name = args[:name] if args.key?(:name)
1040
+ @value = args[:value] if args.key?(:value)
671
1041
  end
672
1042
  end
673
1043
 
@@ -852,6 +1222,11 @@ module Google
852
1222
  # @return [String]
853
1223
  attr_accessor :dns_name
854
1224
 
1225
+ # Output only. The list of DNS names used by this instance.
1226
+ # Corresponds to the JSON property `dnsNames`
1227
+ # @return [Array<Google::Apis::SqladminV1beta4::DnsNameMapping>]
1228
+ attr_accessor :dns_names
1229
+
855
1230
  # This field is deprecated and will be removed from a future version of the API.
856
1231
  # Use the `settings.settingsVersion` field instead.
857
1232
  # Corresponds to the JSON property `etag`
@@ -876,6 +1251,14 @@ module Google
876
1251
  # @return [Google::Apis::SqladminV1beta4::GeminiInstanceConfig]
877
1252
  attr_accessor :gemini_config
878
1253
 
1254
+ # Input only. Determines whether an in-place major version upgrade of replicas
1255
+ # happens when an in-place major version upgrade of a primary instance is
1256
+ # initiated.
1257
+ # Corresponds to the JSON property `includeReplicasForMajorVersionUpgrade`
1258
+ # @return [Boolean]
1259
+ attr_accessor :include_replicas_for_major_version_upgrade
1260
+ alias_method :include_replicas_for_major_version_upgrade?, :include_replicas_for_major_version_upgrade
1261
+
879
1262
  # The instance type.
880
1263
  # Corresponds to the JSON property `instanceType`
881
1264
  # @return [String]
@@ -917,6 +1300,17 @@ module Google
917
1300
  # @return [String]
918
1301
  attr_accessor :name
919
1302
 
1303
+ # The number of read pool nodes in a read pool.
1304
+ # Corresponds to the JSON property `nodeCount`
1305
+ # @return [Fixnum]
1306
+ attr_accessor :node_count
1307
+
1308
+ # Output only. Entries containing information about each read pool node of the
1309
+ # read pool.
1310
+ # Corresponds to the JSON property `nodes`
1311
+ # @return [Array<Google::Apis::SqladminV1beta4::PoolNodeConfig>]
1312
+ attr_accessor :nodes
1313
+
920
1314
  # On-premises instance configuration.
921
1315
  # Corresponds to the JSON property `onPremisesConfiguration`
922
1316
  # @return [Google::Apis::SqladminV1beta4::OnPremisesConfiguration]
@@ -963,7 +1357,7 @@ module Google
963
1357
 
964
1358
  # A primary instance and disaster recovery (DR) replica pair. A DR replica is a
965
1359
  # cross-region replica that you designate for failover in the event that the
966
- # primary instance has regional failure. Only applicable to MySQL.
1360
+ # primary instance has regional failure. Applicable to MySQL and PostgreSQL.
967
1361
  # Corresponds to the JSON property `replicationCluster`
968
1362
  # @return [Google::Apis::SqladminV1beta4::ReplicationCluster]
969
1363
  attr_accessor :replication_cluster
@@ -974,6 +1368,13 @@ module Google
974
1368
  # @return [String]
975
1369
  attr_accessor :root_password
976
1370
 
1371
+ # Output only. This status indicates whether the instance satisfies PZI. The
1372
+ # status is reserved for future use.
1373
+ # Corresponds to the JSON property `satisfiesPzi`
1374
+ # @return [Boolean]
1375
+ attr_accessor :satisfies_pzi
1376
+ alias_method :satisfies_pzi?, :satisfies_pzi
1377
+
977
1378
  # This status indicates whether the instance satisfies PZS. The status is
978
1379
  # reserved for future use.
979
1380
  # Corresponds to the JSON property `satisfiesPzs`
@@ -1030,6 +1431,23 @@ module Google
1030
1431
  # @return [Array<String>]
1031
1432
  attr_accessor :suspension_reason
1032
1433
 
1434
+ # Input only. Whether Cloud SQL is enabled to switch storing point-in-time
1435
+ # recovery log files from a data disk to Cloud Storage.
1436
+ # Corresponds to the JSON property `switchTransactionLogsToCloudStorageEnabled`
1437
+ # @return [Boolean]
1438
+ attr_accessor :switch_transaction_logs_to_cloud_storage_enabled
1439
+ alias_method :switch_transaction_logs_to_cloud_storage_enabled?, :switch_transaction_logs_to_cloud_storage_enabled
1440
+
1441
+ # Optional. Input only. Immutable. Tag keys and tag values that are bound to
1442
+ # this instance. You must represent each item in the map as: `"" : ""`. For
1443
+ # example, a single resource can have the following tags: ``` "123/environment":
1444
+ # "production", "123/costCenter": "marketing", ``` For more information on tag
1445
+ # creation and management, see https://cloud.google.com/resource-manager/docs/
1446
+ # tags/tags-overview.
1447
+ # Corresponds to the JSON property `tags`
1448
+ # @return [Hash<String,String>]
1449
+ attr_accessor :tags
1450
+
1033
1451
  # Output only. All database versions that are available for upgrade.
1034
1452
  # Corresponds to the JSON property `upgradableDatabaseVersions`
1035
1453
  # @return [Array<Google::Apis::SqladminV1beta4::AvailableDatabaseVersion>]
@@ -1056,10 +1474,12 @@ module Google
1056
1474
  @disk_encryption_configuration = args[:disk_encryption_configuration] if args.key?(:disk_encryption_configuration)
1057
1475
  @disk_encryption_status = args[:disk_encryption_status] if args.key?(:disk_encryption_status)
1058
1476
  @dns_name = args[:dns_name] if args.key?(:dns_name)
1477
+ @dns_names = args[:dns_names] if args.key?(:dns_names)
1059
1478
  @etag = args[:etag] if args.key?(:etag)
1060
1479
  @failover_replica = args[:failover_replica] if args.key?(:failover_replica)
1061
1480
  @gce_zone = args[:gce_zone] if args.key?(:gce_zone)
1062
1481
  @gemini_config = args[:gemini_config] if args.key?(:gemini_config)
1482
+ @include_replicas_for_major_version_upgrade = args[:include_replicas_for_major_version_upgrade] if args.key?(:include_replicas_for_major_version_upgrade)
1063
1483
  @instance_type = args[:instance_type] if args.key?(:instance_type)
1064
1484
  @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
1065
1485
  @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
@@ -1068,6 +1488,8 @@ module Google
1068
1488
  @master_instance_name = args[:master_instance_name] if args.key?(:master_instance_name)
1069
1489
  @max_disk_size = args[:max_disk_size] if args.key?(:max_disk_size)
1070
1490
  @name = args[:name] if args.key?(:name)
1491
+ @node_count = args[:node_count] if args.key?(:node_count)
1492
+ @nodes = args[:nodes] if args.key?(:nodes)
1071
1493
  @on_premises_configuration = args[:on_premises_configuration] if args.key?(:on_premises_configuration)
1072
1494
  @out_of_disk_report = args[:out_of_disk_report] if args.key?(:out_of_disk_report)
1073
1495
  @primary_dns_name = args[:primary_dns_name] if args.key?(:primary_dns_name)
@@ -1078,6 +1500,7 @@ module Google
1078
1500
  @replica_names = args[:replica_names] if args.key?(:replica_names)
1079
1501
  @replication_cluster = args[:replication_cluster] if args.key?(:replication_cluster)
1080
1502
  @root_password = args[:root_password] if args.key?(:root_password)
1503
+ @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
1081
1504
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
1082
1505
  @scheduled_maintenance = args[:scheduled_maintenance] if args.key?(:scheduled_maintenance)
1083
1506
  @secondary_gce_zone = args[:secondary_gce_zone] if args.key?(:secondary_gce_zone)
@@ -1088,6 +1511,8 @@ module Google
1088
1511
  @sql_network_architecture = args[:sql_network_architecture] if args.key?(:sql_network_architecture)
1089
1512
  @state = args[:state] if args.key?(:state)
1090
1513
  @suspension_reason = args[:suspension_reason] if args.key?(:suspension_reason)
1514
+ @switch_transaction_logs_to_cloud_storage_enabled = args[:switch_transaction_logs_to_cloud_storage_enabled] if args.key?(:switch_transaction_logs_to_cloud_storage_enabled)
1515
+ @tags = args[:tags] if args.key?(:tags)
1091
1516
  @upgradable_database_versions = args[:upgradable_database_versions] if args.key?(:upgradable_database_versions)
1092
1517
  @write_endpoint = args[:write_endpoint] if args.key?(:write_endpoint)
1093
1518
  end
@@ -1265,7 +1690,7 @@ module Google
1265
1690
  # @return [String]
1266
1691
  attr_accessor :client_certificate
1267
1692
 
1268
- # PEM representation of the replica's private key. The corresponsing public key
1693
+ # PEM representation of the replica's private key. The corresponding public key
1269
1694
  # is encoded in the client's certificate. The format of the replica's private
1270
1695
  # key can be either PKCS #1 or PKCS #8.
1271
1696
  # Corresponds to the JSON property `clientKey`
@@ -1391,6 +1816,37 @@ module Google
1391
1816
  end
1392
1817
  end
1393
1818
 
1819
+ # DNS metadata.
1820
+ class DnsNameMapping
1821
+ include Google::Apis::Core::Hashable
1822
+
1823
+ # Output only. The connection type of the DNS name.
1824
+ # Corresponds to the JSON property `connectionType`
1825
+ # @return [String]
1826
+ attr_accessor :connection_type
1827
+
1828
+ # Output only. The scope that the DNS name applies to.
1829
+ # Corresponds to the JSON property `dnsScope`
1830
+ # @return [String]
1831
+ attr_accessor :dns_scope
1832
+
1833
+ # The DNS name.
1834
+ # Corresponds to the JSON property `name`
1835
+ # @return [String]
1836
+ attr_accessor :name
1837
+
1838
+ def initialize(**args)
1839
+ update!(**args)
1840
+ end
1841
+
1842
+ # Update properties of this object
1843
+ def update!(**args)
1844
+ @connection_type = args[:connection_type] if args.key?(:connection_type)
1845
+ @dns_scope = args[:dns_scope] if args.key?(:dns_scope)
1846
+ @name = args[:name] if args.key?(:name)
1847
+ end
1848
+ end
1849
+
1394
1850
  # A generic empty message that you can re-use to avoid defining duplicated empty
1395
1851
  # messages in your APIs. A typical example is to use it as the request or the
1396
1852
  # response type of an API method. For instance: service Foo ` rpc Bar(google.
@@ -1407,29 +1863,89 @@ module Google
1407
1863
  end
1408
1864
  end
1409
1865
 
1410
- # Database instance export context.
1411
- class ExportContext
1866
+ # The request payload used to execute SQL statements.
1867
+ class ExecuteSqlPayload
1412
1868
  include Google::Apis::Core::Hashable
1413
1869
 
1414
- # Options for exporting BAK files (SQL Server-only)
1415
- # Corresponds to the JSON property `bakExportOptions`
1416
- # @return [Google::Apis::SqladminV1beta4::ExportContext::BakExportOptions]
1417
- attr_accessor :bak_export_options
1870
+ # Optional. When set to true, the API caller identity associated with the
1871
+ # request is used for database authentication. The API caller must be an IAM
1872
+ # user in the database.
1873
+ # Corresponds to the JSON property `autoIamAuthn`
1874
+ # @return [Boolean]
1875
+ attr_accessor :auto_iam_authn
1876
+ alias_method :auto_iam_authn?, :auto_iam_authn
1418
1877
 
1419
- # Options for exporting data as CSV. `MySQL` and `PostgreSQL` instances only.
1420
- # Corresponds to the JSON property `csvExportOptions`
1421
- # @return [Google::Apis::SqladminV1beta4::ExportContext::CsvExportOptions]
1422
- attr_accessor :csv_export_options
1878
+ # Optional. Name of the database on which the statement will be executed.
1879
+ # Corresponds to the JSON property `database`
1880
+ # @return [String]
1881
+ attr_accessor :database
1423
1882
 
1424
- # Databases to be exported. `MySQL instances:` If `fileType` is `SQL` and no
1425
- # database is specified, all databases are exported, except for the `mysql`
1883
+ # Optional. Controls how the API should respond when the SQL execution result is
1884
+ # incomplete due to the size limit or another error. The default mode is to
1885
+ # throw an error.
1886
+ # Corresponds to the JSON property `partialResultMode`
1887
+ # @return [String]
1888
+ attr_accessor :partial_result_mode
1889
+
1890
+ # Optional. The maximum number of rows returned per SQL statement.
1891
+ # Corresponds to the JSON property `rowLimit`
1892
+ # @return [Fixnum]
1893
+ attr_accessor :row_limit
1894
+
1895
+ # Required. SQL statements to run on the database. It can be a single statement
1896
+ # or a sequence of statements separated by semicolons.
1897
+ # Corresponds to the JSON property `sqlStatement`
1898
+ # @return [String]
1899
+ attr_accessor :sql_statement
1900
+
1901
+ # Optional. The name of an existing database user to connect to the database.
1902
+ # When `auto_iam_authn` is set to true, this field is ignored and the API caller'
1903
+ # s IAM user is used.
1904
+ # Corresponds to the JSON property `user`
1905
+ # @return [String]
1906
+ attr_accessor :user
1907
+
1908
+ def initialize(**args)
1909
+ update!(**args)
1910
+ end
1911
+
1912
+ # Update properties of this object
1913
+ def update!(**args)
1914
+ @auto_iam_authn = args[:auto_iam_authn] if args.key?(:auto_iam_authn)
1915
+ @database = args[:database] if args.key?(:database)
1916
+ @partial_result_mode = args[:partial_result_mode] if args.key?(:partial_result_mode)
1917
+ @row_limit = args[:row_limit] if args.key?(:row_limit)
1918
+ @sql_statement = args[:sql_statement] if args.key?(:sql_statement)
1919
+ @user = args[:user] if args.key?(:user)
1920
+ end
1921
+ end
1922
+
1923
+ # Database instance export context.
1924
+ class ExportContext
1925
+ include Google::Apis::Core::Hashable
1926
+
1927
+ # Options for exporting BAK files (SQL Server-only)
1928
+ # Corresponds to the JSON property `bakExportOptions`
1929
+ # @return [Google::Apis::SqladminV1beta4::ExportContext::BakExportOptions]
1930
+ attr_accessor :bak_export_options
1931
+
1932
+ # Options for exporting data as CSV. `MySQL` and `PostgreSQL` instances only.
1933
+ # Corresponds to the JSON property `csvExportOptions`
1934
+ # @return [Google::Apis::SqladminV1beta4::ExportContext::CsvExportOptions]
1935
+ attr_accessor :csv_export_options
1936
+
1937
+ # Databases to be exported. `MySQL instances:` If `fileType` is `SQL` and no
1938
+ # database is specified, all databases are exported, except for the `mysql`
1426
1939
  # system database. If `fileType` is `CSV`, you can specify one database, either
1427
1940
  # by using this property or by using the `csvExportOptions.selectQuery` property,
1428
- # which takes precedence over this property. `PostgreSQL instances:` You must
1429
- # specify one database to be exported. If `fileType` is `CSV`, this database
1430
- # must match the one specified in the `csvExportOptions.selectQuery` property. `
1431
- # SQL Server instances:` You must specify one database to be exported, and the `
1432
- # fileType` must be `BAK`.
1941
+ # which takes precedence over this property. `PostgreSQL instances:` If you don'
1942
+ # t specify a database by name, all user databases in the instance are exported.
1943
+ # This excludes system databases and Cloud SQL databases used to manage internal
1944
+ # operations. Exporting all user databases is only available for directory-
1945
+ # formatted parallel export. If `fileType` is `CSV`, this database must match
1946
+ # the one specified in the `csvExportOptions.selectQuery` property. `SQL Server
1947
+ # instances:` You must specify one database to be exported, and the `fileType`
1948
+ # must be `BAK`.
1433
1949
  # Corresponds to the JSON property `databases`
1434
1950
  # @return [Array<String>]
1435
1951
  attr_accessor :databases
@@ -1444,7 +1960,7 @@ module Google
1444
1960
  # @return [String]
1445
1961
  attr_accessor :kind
1446
1962
 
1447
- # Option for export offload.
1963
+ # Whether to perform a serverless export.
1448
1964
  # Corresponds to the JSON property `offload`
1449
1965
  # @return [Boolean]
1450
1966
  attr_accessor :offload
@@ -1455,6 +1971,11 @@ module Google
1455
1971
  # @return [Google::Apis::SqladminV1beta4::ExportContext::SqlExportOptions]
1456
1972
  attr_accessor :sql_export_options
1457
1973
 
1974
+ # Optional. Export parameters specific to SQL Server TDE certificates
1975
+ # Corresponds to the JSON property `tdeExportOptions`
1976
+ # @return [Google::Apis::SqladminV1beta4::ExportContext::TdeExportOptions]
1977
+ attr_accessor :tde_export_options
1978
+
1458
1979
  # The path to the file in Google Cloud Storage where the export will be stored.
1459
1980
  # The URI is in the form `gs://bucketName/fileName`. If the file already exists,
1460
1981
  # the request succeeds, but the operation fails. If `fileType` is `SQL` and the
@@ -1476,6 +1997,7 @@ module Google
1476
1997
  @kind = args[:kind] if args.key?(:kind)
1477
1998
  @offload = args[:offload] if args.key?(:offload)
1478
1999
  @sql_export_options = args[:sql_export_options] if args.key?(:sql_export_options)
2000
+ @tde_export_options = args[:tde_export_options] if args.key?(:tde_export_options)
1479
2001
  @uri = args[:uri] if args.key?(:uri)
1480
2002
  end
1481
2003
 
@@ -1501,6 +2023,23 @@ module Google
1501
2023
  attr_accessor :differential_base
1502
2024
  alias_method :differential_base?, :differential_base
1503
2025
 
2026
+ # Optional. The end timestamp when transaction log will be included in the
2027
+ # export operation. [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for
2028
+ # example, `2023-10-01T16:19:00.094`) in UTC. When omitted, all available logs
2029
+ # until current time will be included. Only applied to Cloud SQL for SQL Server.
2030
+ # Corresponds to the JSON property `exportLogEndTime`
2031
+ # @return [String]
2032
+ attr_accessor :export_log_end_time
2033
+
2034
+ # Optional. The begin timestamp when transaction log will be included in the
2035
+ # export operation. [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for
2036
+ # example, `2023-10-01T16:19:00.094`) in UTC. When omitted, all available logs
2037
+ # from the beginning of retention period will be included. Only applied to Cloud
2038
+ # SQL for SQL Server.
2039
+ # Corresponds to the JSON property `exportLogStartTime`
2040
+ # @return [String]
2041
+ attr_accessor :export_log_start_time
2042
+
1504
2043
  # Option for specifying how many stripes to use for the export. If blank, and
1505
2044
  # the value of the striped field is true, the number of stripes is automatically
1506
2045
  # chosen.
@@ -1523,6 +2062,8 @@ module Google
1523
2062
  @bak_type = args[:bak_type] if args.key?(:bak_type)
1524
2063
  @copy_only = args[:copy_only] if args.key?(:copy_only)
1525
2064
  @differential_base = args[:differential_base] if args.key?(:differential_base)
2065
+ @export_log_end_time = args[:export_log_end_time] if args.key?(:export_log_end_time)
2066
+ @export_log_start_time = args[:export_log_start_time] if args.key?(:export_log_start_time)
1526
2067
  @stripe_count = args[:stripe_count] if args.key?(:stripe_count)
1527
2068
  @striped = args[:striped] if args.key?(:striped)
1528
2069
  end
@@ -1589,6 +2130,11 @@ module Google
1589
2130
  attr_accessor :parallel
1590
2131
  alias_method :parallel?, :parallel
1591
2132
 
2133
+ # Options for exporting from a Cloud SQL for PostgreSQL instance.
2134
+ # Corresponds to the JSON property `postgresExportOptions`
2135
+ # @return [Google::Apis::SqladminV1beta4::ExportContext::SqlExportOptions::PostgresExportOptions]
2136
+ attr_accessor :postgres_export_options
2137
+
1592
2138
  # Export only schemas.
1593
2139
  # Corresponds to the JSON property `schemaOnly`
1594
2140
  # @return [Boolean]
@@ -1615,6 +2161,7 @@ module Google
1615
2161
  def update!(**args)
1616
2162
  @mysql_export_options = args[:mysql_export_options] if args.key?(:mysql_export_options)
1617
2163
  @parallel = args[:parallel] if args.key?(:parallel)
2164
+ @postgres_export_options = args[:postgres_export_options] if args.key?(:postgres_export_options)
1618
2165
  @schema_only = args[:schema_only] if args.key?(:schema_only)
1619
2166
  @tables = args[:tables] if args.key?(:tables)
1620
2167
  @threads = args[:threads] if args.key?(:threads)
@@ -1642,6 +2189,95 @@ module Google
1642
2189
  @master_data = args[:master_data] if args.key?(:master_data)
1643
2190
  end
1644
2191
  end
2192
+
2193
+ # Options for exporting from a Cloud SQL for PostgreSQL instance.
2194
+ class PostgresExportOptions
2195
+ include Google::Apis::Core::Hashable
2196
+
2197
+ # Optional. Use this option to include DROP <object> SQL statements. Use these
2198
+ # statements to delete database objects before running the import operation.
2199
+ # Corresponds to the JSON property `clean`
2200
+ # @return [Boolean]
2201
+ attr_accessor :clean
2202
+ alias_method :clean?, :clean
2203
+
2204
+ # Optional. Option to include an IF EXISTS SQL statement with each DROP
2205
+ # statement produced by clean.
2206
+ # Corresponds to the JSON property `ifExists`
2207
+ # @return [Boolean]
2208
+ attr_accessor :if_exists
2209
+ alias_method :if_exists?, :if_exists
2210
+
2211
+ def initialize(**args)
2212
+ update!(**args)
2213
+ end
2214
+
2215
+ # Update properties of this object
2216
+ def update!(**args)
2217
+ @clean = args[:clean] if args.key?(:clean)
2218
+ @if_exists = args[:if_exists] if args.key?(:if_exists)
2219
+ end
2220
+ end
2221
+ end
2222
+
2223
+ # Optional. Export parameters specific to SQL Server TDE certificates
2224
+ class TdeExportOptions
2225
+ include Google::Apis::Core::Hashable
2226
+
2227
+ # Required. Path to the TDE certificate public key in the form gs://bucketName/
2228
+ # fileName. The instance must have write access to the location. Applicable only
2229
+ # for SQL Server instances.
2230
+ # Corresponds to the JSON property `certificatePath`
2231
+ # @return [String]
2232
+ attr_accessor :certificate_path
2233
+
2234
+ # Required. Certificate name. Applicable only for SQL Server instances.
2235
+ # Corresponds to the JSON property `name`
2236
+ # @return [String]
2237
+ attr_accessor :name
2238
+
2239
+ # Required. Password that encrypts the private key.
2240
+ # Corresponds to the JSON property `privateKeyPassword`
2241
+ # @return [String]
2242
+ attr_accessor :private_key_password
2243
+
2244
+ # Required. Path to the TDE certificate private key in the form gs://bucketName/
2245
+ # fileName. The instance must have write access to the location. Applicable only
2246
+ # for SQL Server instances.
2247
+ # Corresponds to the JSON property `privateKeyPath`
2248
+ # @return [String]
2249
+ attr_accessor :private_key_path
2250
+
2251
+ def initialize(**args)
2252
+ update!(**args)
2253
+ end
2254
+
2255
+ # Update properties of this object
2256
+ def update!(**args)
2257
+ @certificate_path = args[:certificate_path] if args.key?(:certificate_path)
2258
+ @name = args[:name] if args.key?(:name)
2259
+ @private_key_password = args[:private_key_password] if args.key?(:private_key_password)
2260
+ @private_key_path = args[:private_key_path] if args.key?(:private_key_path)
2261
+ end
2262
+ end
2263
+ end
2264
+
2265
+ # The selected object that Cloud SQL migrates.
2266
+ class ExternalSyncSelectedObject
2267
+ include Google::Apis::Core::Hashable
2268
+
2269
+ # The name of the database that Cloud SQL migrates.
2270
+ # Corresponds to the JSON property `database`
2271
+ # @return [String]
2272
+ attr_accessor :database
2273
+
2274
+ def initialize(**args)
2275
+ update!(**args)
2276
+ end
2277
+
2278
+ # Update properties of this object
2279
+ def update!(**args)
2280
+ @database = args[:database] if args.key?(:database)
1645
2281
  end
1646
2282
  end
1647
2283
 
@@ -1671,6 +2307,33 @@ module Google
1671
2307
  end
1672
2308
  end
1673
2309
 
2310
+ # Config used to determine the final backup settings for the instance.
2311
+ class FinalBackupConfig
2312
+ include Google::Apis::Core::Hashable
2313
+
2314
+ # Whether the final backup is enabled for the instance.
2315
+ # Corresponds to the JSON property `enabled`
2316
+ # @return [Boolean]
2317
+ attr_accessor :enabled
2318
+ alias_method :enabled?, :enabled
2319
+
2320
+ # The number of days to retain the final backup after the instance deletion. The
2321
+ # final backup will be purged at (time_of_instance_deletion + retention_days).
2322
+ # Corresponds to the JSON property `retentionDays`
2323
+ # @return [Fixnum]
2324
+ attr_accessor :retention_days
2325
+
2326
+ def initialize(**args)
2327
+ update!(**args)
2328
+ end
2329
+
2330
+ # Update properties of this object
2331
+ def update!(**args)
2332
+ @enabled = args[:enabled] if args.key?(:enabled)
2333
+ @retention_days = args[:retention_days] if args.key?(:retention_days)
2334
+ end
2335
+ end
2336
+
1674
2337
  # A flag resource.
1675
2338
  class Flag
1676
2339
  include Google::Apis::Core::Hashable
@@ -1697,6 +2360,11 @@ module Google
1697
2360
  # @return [Array<String>]
1698
2361
  attr_accessor :applies_to
1699
2362
 
2363
+ # Scope of flag.
2364
+ # Corresponds to the JSON property `flagScope`
2365
+ # @return [String]
2366
+ attr_accessor :flag_scope
2367
+
1700
2368
  # Whether or not the flag is considered in beta.
1701
2369
  # Corresponds to the JSON property `inBeta`
1702
2370
  # @return [Boolean]
@@ -1724,6 +2392,16 @@ module Google
1724
2392
  # @return [String]
1725
2393
  attr_accessor :name
1726
2394
 
2395
+ # Recommended flag value in integer format for UI display.
2396
+ # Corresponds to the JSON property `recommendedIntValue`
2397
+ # @return [Fixnum]
2398
+ attr_accessor :recommended_int_value
2399
+
2400
+ # Recommended flag value in string format for UI display.
2401
+ # Corresponds to the JSON property `recommendedStringValue`
2402
+ # @return [String]
2403
+ attr_accessor :recommended_string_value
2404
+
1727
2405
  # Indicates whether changing this flag will trigger a database restart. Only
1728
2406
  # applicable to Second Generation instances.
1729
2407
  # Corresponds to the JSON property `requiresRestart`
@@ -1747,11 +2425,14 @@ module Google
1747
2425
  @allowed_int_values = args[:allowed_int_values] if args.key?(:allowed_int_values)
1748
2426
  @allowed_string_values = args[:allowed_string_values] if args.key?(:allowed_string_values)
1749
2427
  @applies_to = args[:applies_to] if args.key?(:applies_to)
2428
+ @flag_scope = args[:flag_scope] if args.key?(:flag_scope)
1750
2429
  @in_beta = args[:in_beta] if args.key?(:in_beta)
1751
2430
  @kind = args[:kind] if args.key?(:kind)
1752
2431
  @max_value = args[:max_value] if args.key?(:max_value)
1753
2432
  @min_value = args[:min_value] if args.key?(:min_value)
1754
2433
  @name = args[:name] if args.key?(:name)
2434
+ @recommended_int_value = args[:recommended_int_value] if args.key?(:recommended_int_value)
2435
+ @recommended_string_value = args[:recommended_string_value] if args.key?(:recommended_string_value)
1755
2436
  @requires_restart = args[:requires_restart] if args.key?(:requires_restart)
1756
2437
  @type = args[:type] if args.key?(:type)
1757
2438
  end
@@ -1909,8 +2590,10 @@ module Google
1909
2590
 
1910
2591
  # The target database for the import. If `fileType` is `SQL`, this field is
1911
2592
  # required only if the import file does not specify a database, and is
1912
- # overridden by any database specification in the import file. If `fileType` is `
1913
- # CSV`, one database must be specified.
2593
+ # overridden by any database specification in the import file. For entire
2594
+ # instance parallel import operations, the database is overridden by the
2595
+ # database name stored in subdirectory name. If `fileType` is `CSV`, one
2596
+ # database must be specified.
1914
2597
  # Corresponds to the JSON property `database`
1915
2598
  # @return [String]
1916
2599
  attr_accessor :database
@@ -1937,6 +2620,12 @@ module Google
1937
2620
  # @return [Google::Apis::SqladminV1beta4::ImportContext::SqlImportOptions]
1938
2621
  attr_accessor :sql_import_options
1939
2622
 
2623
+ # Optional. Import parameters specific to SQL Server .TDE files Import
2624
+ # parameters specific to SQL Server TDE certificates
2625
+ # Corresponds to the JSON property `tdeImportOptions`
2626
+ # @return [Google::Apis::SqladminV1beta4::ImportContext::TdeImportOptions]
2627
+ attr_accessor :tde_import_options
2628
+
1940
2629
  # Path to the import file in Cloud Storage, in the form `gs://bucketName/
1941
2630
  # fileName`. Compressed gzip files (.gz) are supported when `fileType` is `SQL`.
1942
2631
  # The instance must have write permissions to the bucket and read access to the
@@ -1958,6 +2647,7 @@ module Google
1958
2647
  @import_user = args[:import_user] if args.key?(:import_user)
1959
2648
  @kind = args[:kind] if args.key?(:kind)
1960
2649
  @sql_import_options = args[:sql_import_options] if args.key?(:sql_import_options)
2650
+ @tde_import_options = args[:tde_import_options] if args.key?(:tde_import_options)
1961
2651
  @uri = args[:uri] if args.key?(:uri)
1962
2652
  end
1963
2653
 
@@ -1976,7 +2666,7 @@ module Google
1976
2666
  attr_accessor :encryption_options
1977
2667
 
1978
2668
  # Whether or not the backup importing will restore database with NORECOVERY
1979
- # option Applies only to Cloud SQL for SQL Server.
2669
+ # option. Applies only to Cloud SQL for SQL Server.
1980
2670
  # Corresponds to the JSON property `noRecovery`
1981
2671
  # @return [Boolean]
1982
2672
  attr_accessor :no_recovery
@@ -2039,6 +2729,12 @@ module Google
2039
2729
  # @return [String]
2040
2730
  attr_accessor :cert_path
2041
2731
 
2732
+ # Optional. Whether the imported file remains encrypted.
2733
+ # Corresponds to the JSON property `keepEncrypted`
2734
+ # @return [Boolean]
2735
+ attr_accessor :keep_encrypted
2736
+ alias_method :keep_encrypted?, :keep_encrypted
2737
+
2042
2738
  # Password that encrypts the private key
2043
2739
  # Corresponds to the JSON property `pvkPassword`
2044
2740
  # @return [String]
@@ -2058,6 +2754,7 @@ module Google
2058
2754
  # Update properties of this object
2059
2755
  def update!(**args)
2060
2756
  @cert_path = args[:cert_path] if args.key?(:cert_path)
2757
+ @keep_encrypted = args[:keep_encrypted] if args.key?(:keep_encrypted)
2061
2758
  @pvk_password = args[:pvk_password] if args.key?(:pvk_password)
2062
2759
  @pvk_path = args[:pvk_path] if args.key?(:pvk_path)
2063
2760
  end
@@ -2127,6 +2824,11 @@ module Google
2127
2824
  attr_accessor :parallel
2128
2825
  alias_method :parallel?, :parallel
2129
2826
 
2827
+ # Optional. Options for importing from a Cloud SQL for PostgreSQL instance.
2828
+ # Corresponds to the JSON property `postgresImportOptions`
2829
+ # @return [Google::Apis::SqladminV1beta4::ImportContext::SqlImportOptions::PostgresImportOptions]
2830
+ attr_accessor :postgres_import_options
2831
+
2130
2832
  # Optional. The number of threads to use for parallel import.
2131
2833
  # Corresponds to the JSON property `threads`
2132
2834
  # @return [Fixnum]
@@ -2139,8 +2841,80 @@ module Google
2139
2841
  # Update properties of this object
2140
2842
  def update!(**args)
2141
2843
  @parallel = args[:parallel] if args.key?(:parallel)
2844
+ @postgres_import_options = args[:postgres_import_options] if args.key?(:postgres_import_options)
2142
2845
  @threads = args[:threads] if args.key?(:threads)
2143
2846
  end
2847
+
2848
+ # Optional. Options for importing from a Cloud SQL for PostgreSQL instance.
2849
+ class PostgresImportOptions
2850
+ include Google::Apis::Core::Hashable
2851
+
2852
+ # Optional. The --clean flag for the pg_restore utility. This flag applies only
2853
+ # if you enabled Cloud SQL to import files in parallel.
2854
+ # Corresponds to the JSON property `clean`
2855
+ # @return [Boolean]
2856
+ attr_accessor :clean
2857
+ alias_method :clean?, :clean
2858
+
2859
+ # Optional. The --if-exists flag for the pg_restore utility. This flag applies
2860
+ # only if you enabled Cloud SQL to import files in parallel.
2861
+ # Corresponds to the JSON property `ifExists`
2862
+ # @return [Boolean]
2863
+ attr_accessor :if_exists
2864
+ alias_method :if_exists?, :if_exists
2865
+
2866
+ def initialize(**args)
2867
+ update!(**args)
2868
+ end
2869
+
2870
+ # Update properties of this object
2871
+ def update!(**args)
2872
+ @clean = args[:clean] if args.key?(:clean)
2873
+ @if_exists = args[:if_exists] if args.key?(:if_exists)
2874
+ end
2875
+ end
2876
+ end
2877
+
2878
+ # Optional. Import parameters specific to SQL Server .TDE files Import
2879
+ # parameters specific to SQL Server TDE certificates
2880
+ class TdeImportOptions
2881
+ include Google::Apis::Core::Hashable
2882
+
2883
+ # Required. Path to the TDE certificate public key in the form gs://bucketName/
2884
+ # fileName. The instance must have read access to the file. Applicable only for
2885
+ # SQL Server instances.
2886
+ # Corresponds to the JSON property `certificatePath`
2887
+ # @return [String]
2888
+ attr_accessor :certificate_path
2889
+
2890
+ # Required. Certificate name. Applicable only for SQL Server instances.
2891
+ # Corresponds to the JSON property `name`
2892
+ # @return [String]
2893
+ attr_accessor :name
2894
+
2895
+ # Required. Password that encrypts the private key.
2896
+ # Corresponds to the JSON property `privateKeyPassword`
2897
+ # @return [String]
2898
+ attr_accessor :private_key_password
2899
+
2900
+ # Required. Path to the TDE certificate private key in the form gs://bucketName/
2901
+ # fileName. The instance must have read access to the file. Applicable only for
2902
+ # SQL Server instances.
2903
+ # Corresponds to the JSON property `privateKeyPath`
2904
+ # @return [String]
2905
+ attr_accessor :private_key_path
2906
+
2907
+ def initialize(**args)
2908
+ update!(**args)
2909
+ end
2910
+
2911
+ # Update properties of this object
2912
+ def update!(**args)
2913
+ @certificate_path = args[:certificate_path] if args.key?(:certificate_path)
2914
+ @name = args[:name] if args.key?(:name)
2915
+ @private_key_password = args[:private_key_password] if args.key?(:private_key_password)
2916
+ @private_key_path = args[:private_key_path] if args.key?(:private_key_path)
2917
+ end
2144
2918
  end
2145
2919
  end
2146
2920
 
@@ -2162,8 +2936,8 @@ module Google
2162
2936
  attr_accessor :query_plans_per_minute
2163
2937
 
2164
2938
  # Maximum query length stored in bytes. Default value: 1024 bytes. Range: 256-
2165
- # 4500 bytes. Query length more than this field value will be truncated to this
2166
- # value. When unset, query length will be the default value. Changing query
2939
+ # 4500 bytes. Query lengths greater than this field value will be truncated to
2940
+ # this value. When unset, query length will be the default value. Changing query
2167
2941
  # length will restart the database.
2168
2942
  # Corresponds to the JSON property `queryStringLength`
2169
2943
  # @return [Fixnum]
@@ -2363,6 +3137,37 @@ module Google
2363
3137
  end
2364
3138
  end
2365
3139
 
3140
+ # Instances ListEntraIdCertificates response.
3141
+ class InstancesListEntraIdCertificatesResponse
3142
+ include Google::Apis::Core::Hashable
3143
+
3144
+ # The `sha1_fingerprint` of the active certificate from `certs`.
3145
+ # Corresponds to the JSON property `activeVersion`
3146
+ # @return [String]
3147
+ attr_accessor :active_version
3148
+
3149
+ # List of Entra ID certificates for the instance.
3150
+ # Corresponds to the JSON property `certs`
3151
+ # @return [Array<Google::Apis::SqladminV1beta4::SslCert>]
3152
+ attr_accessor :certs
3153
+
3154
+ # This is always `sql#instancesListEntraIdCertificates`.
3155
+ # Corresponds to the JSON property `kind`
3156
+ # @return [String]
3157
+ attr_accessor :kind
3158
+
3159
+ def initialize(**args)
3160
+ update!(**args)
3161
+ end
3162
+
3163
+ # Update properties of this object
3164
+ def update!(**args)
3165
+ @active_version = args[:active_version] if args.key?(:active_version)
3166
+ @certs = args[:certs] if args.key?(:certs)
3167
+ @kind = args[:kind] if args.key?(:kind)
3168
+ end
3169
+ end
3170
+
2366
3171
  # Database instances list response.
2367
3172
  class ListInstancesResponse
2368
3173
  include Google::Apis::Core::Hashable
@@ -2432,6 +3237,63 @@ module Google
2432
3237
  end
2433
3238
  end
2434
3239
 
3240
+ # Instances ListServerCertificatess response.
3241
+ class InstancesListServerCertificatesResponse
3242
+ include Google::Apis::Core::Hashable
3243
+
3244
+ # The `sha1_fingerprint` of the active certificate from `server_certs`.
3245
+ # Corresponds to the JSON property `activeVersion`
3246
+ # @return [String]
3247
+ attr_accessor :active_version
3248
+
3249
+ # List of server CA certificates for the instance.
3250
+ # Corresponds to the JSON property `caCerts`
3251
+ # @return [Array<Google::Apis::SqladminV1beta4::SslCert>]
3252
+ attr_accessor :ca_certs
3253
+
3254
+ # This is always `sql#instancesListServerCertificates`.
3255
+ # Corresponds to the JSON property `kind`
3256
+ # @return [String]
3257
+ attr_accessor :kind
3258
+
3259
+ # List of server certificates for the instance, signed by the corresponding CA
3260
+ # from the `ca_certs` list.
3261
+ # Corresponds to the JSON property `serverCerts`
3262
+ # @return [Array<Google::Apis::SqladminV1beta4::SslCert>]
3263
+ attr_accessor :server_certs
3264
+
3265
+ def initialize(**args)
3266
+ update!(**args)
3267
+ end
3268
+
3269
+ # Update properties of this object
3270
+ def update!(**args)
3271
+ @active_version = args[:active_version] if args.key?(:active_version)
3272
+ @ca_certs = args[:ca_certs] if args.key?(:ca_certs)
3273
+ @kind = args[:kind] if args.key?(:kind)
3274
+ @server_certs = args[:server_certs] if args.key?(:server_certs)
3275
+ end
3276
+ end
3277
+
3278
+ # Request for Pre-checks for MVU
3279
+ class InstancesPreCheckMajorVersionUpgradeRequest
3280
+ include Google::Apis::Core::Hashable
3281
+
3282
+ # Pre-check major version upgrade context.
3283
+ # Corresponds to the JSON property `preCheckMajorVersionUpgradeContext`
3284
+ # @return [Google::Apis::SqladminV1beta4::PreCheckMajorVersionUpgradeContext]
3285
+ attr_accessor :pre_check_major_version_upgrade_context
3286
+
3287
+ def initialize(**args)
3288
+ update!(**args)
3289
+ end
3290
+
3291
+ # Update properties of this object
3292
+ def update!(**args)
3293
+ @pre_check_major_version_upgrade_context = args[:pre_check_major_version_upgrade_context] if args.key?(:pre_check_major_version_upgrade_context)
3294
+ end
3295
+ end
3296
+
2435
3297
  # Database Instance reencrypt request.
2436
3298
  class InstancesReencryptRequest
2437
3299
  include Google::Apis::Core::Hashable
@@ -2455,19 +3317,69 @@ module Google
2455
3317
  class RestoreInstancesBackupRequest
2456
3318
  include Google::Apis::Core::Hashable
2457
3319
 
3320
+ # The name of the backup that's used to restore a Cloud SQL instance: Format:
3321
+ # projects/`project-id`/backups/`backup-uid`. Only one of restore_backup_context,
3322
+ # backup, backupdr_backup can be passed to the input.
3323
+ # Corresponds to the JSON property `backup`
3324
+ # @return [String]
3325
+ attr_accessor :backup
3326
+
3327
+ # The name of the backup that's used to restore a Cloud SQL instance: Format: "
3328
+ # projects/`project-id`/locations/`location`/backupVaults/`backupvault`/
3329
+ # dataSources/`datasource`/backups/`backup-uid`". Only one of
3330
+ # restore_backup_context, backup, backupdr_backup can be passed to the input.
3331
+ # Corresponds to the JSON property `backupdrBackup`
3332
+ # @return [String]
3333
+ attr_accessor :backupdr_backup
3334
+
2458
3335
  # Database instance restore from backup context. Backup context contains source
2459
3336
  # instance id and project id.
2460
3337
  # Corresponds to the JSON property `restoreBackupContext`
2461
3338
  # @return [Google::Apis::SqladminV1beta4::RestoreBackupContext]
2462
3339
  attr_accessor :restore_backup_context
2463
3340
 
3341
+ # Optional. This field has the same purpose as restore_instance_settings,
3342
+ # changes any instance settings stored in the backup you are restoring from.
3343
+ # With the difference that these fields are cleared in the settings.
3344
+ # Corresponds to the JSON property `restoreInstanceClearOverridesFieldNames`
3345
+ # @return [Array<String>]
3346
+ attr_accessor :restore_instance_clear_overrides_field_names
3347
+
3348
+ # A Cloud SQL instance resource.
3349
+ # Corresponds to the JSON property `restoreInstanceSettings`
3350
+ # @return [Google::Apis::SqladminV1beta4::DatabaseInstance]
3351
+ attr_accessor :restore_instance_settings
3352
+
2464
3353
  def initialize(**args)
2465
3354
  update!(**args)
2466
3355
  end
2467
3356
 
2468
3357
  # Update properties of this object
2469
3358
  def update!(**args)
3359
+ @backup = args[:backup] if args.key?(:backup)
3360
+ @backupdr_backup = args[:backupdr_backup] if args.key?(:backupdr_backup)
2470
3361
  @restore_backup_context = args[:restore_backup_context] if args.key?(:restore_backup_context)
3362
+ @restore_instance_clear_overrides_field_names = args[:restore_instance_clear_overrides_field_names] if args.key?(:restore_instance_clear_overrides_field_names)
3363
+ @restore_instance_settings = args[:restore_instance_settings] if args.key?(:restore_instance_settings)
3364
+ end
3365
+ end
3366
+
3367
+ # Rotate Entra ID Certificate request.
3368
+ class InstancesRotateEntraIdCertificateRequest
3369
+ include Google::Apis::Core::Hashable
3370
+
3371
+ # Instance rotate Entra ID certificate context.
3372
+ # Corresponds to the JSON property `rotateEntraIdCertificateContext`
3373
+ # @return [Google::Apis::SqladminV1beta4::RotateEntraIdCertificateContext]
3374
+ attr_accessor :rotate_entra_id_certificate_context
3375
+
3376
+ def initialize(**args)
3377
+ update!(**args)
3378
+ end
3379
+
3380
+ # Update properties of this object
3381
+ def update!(**args)
3382
+ @rotate_entra_id_certificate_context = args[:rotate_entra_id_certificate_context] if args.key?(:rotate_entra_id_certificate_context)
2471
3383
  end
2472
3384
  end
2473
3385
 
@@ -2490,6 +3402,25 @@ module Google
2490
3402
  end
2491
3403
  end
2492
3404
 
3405
+ # Rotate Server Certificate request.
3406
+ class InstancesRotateServerCertificateRequest
3407
+ include Google::Apis::Core::Hashable
3408
+
3409
+ # Instance rotate server certificate context.
3410
+ # Corresponds to the JSON property `rotateServerCertificateContext`
3411
+ # @return [Google::Apis::SqladminV1beta4::RotateServerCertificateContext]
3412
+ attr_accessor :rotate_server_certificate_context
3413
+
3414
+ def initialize(**args)
3415
+ update!(**args)
3416
+ end
3417
+
3418
+ # Update properties of this object
3419
+ def update!(**args)
3420
+ @rotate_server_certificate_context = args[:rotate_server_certificate_context] if args.key?(:rotate_server_certificate_context)
3421
+ end
3422
+ end
3423
+
2493
3424
  # Instance truncate log request.
2494
3425
  class InstancesTruncateLogRequest
2495
3426
  include Google::Apis::Core::Hashable
@@ -2509,11 +3440,41 @@ module Google
2509
3440
  end
2510
3441
  end
2511
3442
 
2512
- # IP Management configuration.
2513
- class IpConfiguration
3443
+ # Represents a time interval, encoded as a Timestamp start (inclusive) and a
3444
+ # Timestamp end (exclusive). The start must be less than or equal to the end.
3445
+ # When the start equals the end, the interval is empty (matches no time). When
3446
+ # both start and end are unspecified, the interval matches any time.
3447
+ class Interval
2514
3448
  include Google::Apis::Core::Hashable
2515
3449
 
2516
- # The name of the allocated ip range for the private ip Cloud SQL instance. For
3450
+ # Optional. Exclusive end of the interval. If specified, a Timestamp matching
3451
+ # this interval will have to be before the end.
3452
+ # Corresponds to the JSON property `endTime`
3453
+ # @return [String]
3454
+ attr_accessor :end_time
3455
+
3456
+ # Optional. Inclusive start of the interval. If specified, a Timestamp matching
3457
+ # this interval will have to be the same or after the start.
3458
+ # Corresponds to the JSON property `startTime`
3459
+ # @return [String]
3460
+ attr_accessor :start_time
3461
+
3462
+ def initialize(**args)
3463
+ update!(**args)
3464
+ end
3465
+
3466
+ # Update properties of this object
3467
+ def update!(**args)
3468
+ @end_time = args[:end_time] if args.key?(:end_time)
3469
+ @start_time = args[:start_time] if args.key?(:start_time)
3470
+ end
3471
+ end
3472
+
3473
+ # IP Management configuration.
3474
+ class IpConfiguration
3475
+ include Google::Apis::Core::Hashable
3476
+
3477
+ # The name of the allocated ip range for the private ip Cloud SQL instance. For
2517
3478
  # example: "google-managed-services-default". If set, the instance ip will be
2518
3479
  # created in the allocated range. The range name must comply with [RFC 1035](
2519
3480
  # https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63
@@ -2529,6 +3490,11 @@ module Google
2529
3490
  # @return [Array<Google::Apis::SqladminV1beta4::AclEntry>]
2530
3491
  attr_accessor :authorized_networks
2531
3492
 
3493
+ # Optional. Custom Subject Alternative Name(SAN)s for a Cloud SQL instance.
3494
+ # Corresponds to the JSON property `customSubjectAlternativeNames`
3495
+ # @return [Array<String>]
3496
+ attr_accessor :custom_subject_alternative_names
3497
+
2532
3498
  # Controls connectivity to private IP instances from Google services, such as
2533
3499
  # BigQuery.
2534
3500
  # Corresponds to the JSON property `enablePrivatePathForGoogleCloudServices`
@@ -2567,6 +3533,28 @@ module Google
2567
3533
  attr_accessor :require_ssl
2568
3534
  alias_method :require_ssl?, :require_ssl
2569
3535
 
3536
+ # Specify what type of CA is used for the server certificate.
3537
+ # Corresponds to the JSON property `serverCaMode`
3538
+ # @return [String]
3539
+ attr_accessor :server_ca_mode
3540
+
3541
+ # Optional. The resource name of the server CA pool for an instance with `
3542
+ # CUSTOMER_MANAGED_CAS_CA` as the `server_ca_mode`. Format: projects/`PROJECT`/
3543
+ # locations/`REGION`/caPools/`CA_POOL_ID`
3544
+ # Corresponds to the JSON property `serverCaPool`
3545
+ # @return [String]
3546
+ attr_accessor :server_ca_pool
3547
+
3548
+ # Optional. Controls the automatic server certificate rotation feature. This
3549
+ # feature is disabled by default. When enabled, the server certificate will be
3550
+ # automatically rotated during Cloud SQL scheduled maintenance or self-service
3551
+ # maintenance updates up to six months before it expires. This setting can only
3552
+ # be set if server_ca_mode is either GOOGLE_MANAGED_CAS_CA or
3553
+ # CUSTOMER_MANAGED_CAS_CA.
3554
+ # Corresponds to the JSON property `serverCertificateRotationMode`
3555
+ # @return [String]
3556
+ attr_accessor :server_certificate_rotation_mode
3557
+
2570
3558
  # Specify how SSL/TLS is enforced in database connections. If you must use the `
2571
3559
  # require_ssl` flag for backward compatibility, then only the following value
2572
3560
  # pairs are valid: For PostgreSQL and MySQL: * `ssl_mode=
@@ -2592,11 +3580,15 @@ module Google
2592
3580
  def update!(**args)
2593
3581
  @allocated_ip_range = args[:allocated_ip_range] if args.key?(:allocated_ip_range)
2594
3582
  @authorized_networks = args[:authorized_networks] if args.key?(:authorized_networks)
3583
+ @custom_subject_alternative_names = args[:custom_subject_alternative_names] if args.key?(:custom_subject_alternative_names)
2595
3584
  @enable_private_path_for_google_cloud_services = args[:enable_private_path_for_google_cloud_services] if args.key?(:enable_private_path_for_google_cloud_services)
2596
3585
  @ipv4_enabled = args[:ipv4_enabled] if args.key?(:ipv4_enabled)
2597
3586
  @private_network = args[:private_network] if args.key?(:private_network)
2598
3587
  @psc_config = args[:psc_config] if args.key?(:psc_config)
2599
3588
  @require_ssl = args[:require_ssl] if args.key?(:require_ssl)
3589
+ @server_ca_mode = args[:server_ca_mode] if args.key?(:server_ca_mode)
3590
+ @server_ca_pool = args[:server_ca_pool] if args.key?(:server_ca_pool)
3591
+ @server_certificate_rotation_mode = args[:server_certificate_rotation_mode] if args.key?(:server_certificate_rotation_mode)
2600
3592
  @ssl_mode = args[:ssl_mode] if args.key?(:ssl_mode)
2601
3593
  end
2602
3594
  end
@@ -2637,6 +3629,39 @@ module Google
2637
3629
  end
2638
3630
  end
2639
3631
 
3632
+ # The response payload containing a list of the backups.
3633
+ class ListBackupsResponse
3634
+ include Google::Apis::Core::Hashable
3635
+
3636
+ # A list of backups.
3637
+ # Corresponds to the JSON property `backups`
3638
+ # @return [Array<Google::Apis::SqladminV1beta4::Backup>]
3639
+ attr_accessor :backups
3640
+
3641
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
3642
+ # field is omitted, then there aren't subsequent pages.
3643
+ # Corresponds to the JSON property `nextPageToken`
3644
+ # @return [String]
3645
+ attr_accessor :next_page_token
3646
+
3647
+ # If a region isn't unavailable or if an unknown error occurs, then a warning
3648
+ # message is returned.
3649
+ # Corresponds to the JSON property `warnings`
3650
+ # @return [Array<Google::Apis::SqladminV1beta4::ApiWarning>]
3651
+ attr_accessor :warnings
3652
+
3653
+ def initialize(**args)
3654
+ update!(**args)
3655
+ end
3656
+
3657
+ # Update properties of this object
3658
+ def update!(**args)
3659
+ @backups = args[:backups] if args.key?(:backups)
3660
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3661
+ @warnings = args[:warnings] if args.key?(:warnings)
3662
+ end
3663
+ end
3664
+
2640
3665
  # Preferred location. This specifies where a Cloud SQL instance is located. Note
2641
3666
  # that if the preferred location is not available, the instance will be located
2642
3667
  # as close as possible within the region. Only one location may be specified.
@@ -2722,6 +3747,54 @@ module Google
2722
3747
  end
2723
3748
  end
2724
3749
 
3750
+ # Represents a notice or warning message from the database.
3751
+ class Message
3752
+ include Google::Apis::Core::Hashable
3753
+
3754
+ # The full message string. For PostgreSQL, this is a formatted string that may
3755
+ # include severity, code, and the notice/warning message. For MySQL, this
3756
+ # contains the warning message.
3757
+ # Corresponds to the JSON property `message`
3758
+ # @return [String]
3759
+ attr_accessor :message
3760
+
3761
+ # The severity of the message (e.g., "NOTICE" for PostgreSQL, "WARNING" for
3762
+ # MySQL).
3763
+ # Corresponds to the JSON property `severity`
3764
+ # @return [String]
3765
+ attr_accessor :severity
3766
+
3767
+ def initialize(**args)
3768
+ update!(**args)
3769
+ end
3770
+
3771
+ # Update properties of this object
3772
+ def update!(**args)
3773
+ @message = args[:message] if args.key?(:message)
3774
+ @severity = args[:severity] if args.key?(:severity)
3775
+ end
3776
+ end
3777
+
3778
+ # The additional metadata information regarding the execution of the SQL
3779
+ # statements.
3780
+ class Metadata
3781
+ include Google::Apis::Core::Hashable
3782
+
3783
+ # The time taken to execute the SQL statements.
3784
+ # Corresponds to the JSON property `sqlStatementExecutionTime`
3785
+ # @return [String]
3786
+ attr_accessor :sql_statement_execution_time
3787
+
3788
+ def initialize(**args)
3789
+ update!(**args)
3790
+ end
3791
+
3792
+ # Update properties of this object
3793
+ def update!(**args)
3794
+ @sql_statement_execution_time = args[:sql_statement_execution_time] if args.key?(:sql_statement_execution_time)
3795
+ end
3796
+ end
3797
+
2725
3798
  # Read-replica configuration specific to MySQL databases.
2726
3799
  class MySqlReplicaConfiguration
2727
3800
  include Google::Apis::Core::Hashable
@@ -2736,7 +3809,7 @@ module Google
2736
3809
  # @return [String]
2737
3810
  attr_accessor :client_certificate
2738
3811
 
2739
- # PEM representation of the replica's private key. The corresponsing public key
3812
+ # PEM representation of the replica's private key. The corresponding public key
2740
3813
  # is encoded in the client's certificate.
2741
3814
  # Corresponds to the JSON property `clientKey`
2742
3815
  # @return [String]
@@ -2841,7 +3914,7 @@ module Google
2841
3914
  # @return [String]
2842
3915
  attr_accessor :client_certificate
2843
3916
 
2844
- # PEM representation of the replica's private key. The corresponsing public key
3917
+ # PEM representation of the replica's private key. The corresponding public key
2845
3918
  # is encoded in the client's certificate.
2846
3919
  # Corresponds to the JSON property `clientKey`
2847
3920
  # @return [String]
@@ -2867,11 +3940,22 @@ module Google
2867
3940
  # @return [String]
2868
3941
  attr_accessor :password
2869
3942
 
3943
+ # Optional. A list of objects that the user selects for replication from an
3944
+ # external source instance.
3945
+ # Corresponds to the JSON property `selectedObjects`
3946
+ # @return [Array<Google::Apis::SqladminV1beta4::SelectedObjects>]
3947
+ attr_accessor :selected_objects
3948
+
2870
3949
  # Reference to another Cloud SQL instance.
2871
3950
  # Corresponds to the JSON property `sourceInstance`
2872
3951
  # @return [Google::Apis::SqladminV1beta4::InstanceReference]
2873
3952
  attr_accessor :source_instance
2874
3953
 
3954
+ # Optional. SslOption for replica connection to the on-premises source.
3955
+ # Corresponds to the JSON property `sslOption`
3956
+ # @return [String]
3957
+ attr_accessor :ssl_option
3958
+
2875
3959
  # The username for connecting to on-premises instance.
2876
3960
  # Corresponds to the JSON property `username`
2877
3961
  # @return [String]
@@ -2890,7 +3974,9 @@ module Google
2890
3974
  @host_port = args[:host_port] if args.key?(:host_port)
2891
3975
  @kind = args[:kind] if args.key?(:kind)
2892
3976
  @password = args[:password] if args.key?(:password)
3977
+ @selected_objects = args[:selected_objects] if args.key?(:selected_objects)
2893
3978
  @source_instance = args[:source_instance] if args.key?(:source_instance)
3979
+ @ssl_option = args[:ssl_option] if args.key?(:ssl_option)
2894
3980
  @username = args[:username] if args.key?(:username)
2895
3981
  end
2896
3982
  end
@@ -2962,6 +4048,11 @@ module Google
2962
4048
  # @return [String]
2963
4049
  attr_accessor :operation_type
2964
4050
 
4051
+ # Pre-check major version upgrade context.
4052
+ # Corresponds to the JSON property `preCheckMajorVersionUpgradeContext`
4053
+ # @return [Google::Apis::SqladminV1beta4::PreCheckMajorVersionUpgradeContext]
4054
+ attr_accessor :pre_check_major_version_upgrade_context
4055
+
2965
4056
  # The URI of this resource.
2966
4057
  # Corresponds to the JSON property `selfLink`
2967
4058
  # @return [String]
@@ -2978,7 +4069,12 @@ module Google
2978
4069
  # @return [String]
2979
4070
  attr_accessor :status
2980
4071
 
2981
- # Name of the database instance related to this operation.
4072
+ # The sub operation type based on the operation type.
4073
+ # Corresponds to the JSON property `subOperationType`
4074
+ # @return [Google::Apis::SqladminV1beta4::SqlSubOperationType]
4075
+ attr_accessor :sub_operation_type
4076
+
4077
+ # Name of the resource on which this operation runs.
2982
4078
  # Corresponds to the JSON property `targetId`
2983
4079
  # @return [String]
2984
4080
  attr_accessor :target_id
@@ -3015,9 +4111,11 @@ module Google
3015
4111
  @kind = args[:kind] if args.key?(:kind)
3016
4112
  @name = args[:name] if args.key?(:name)
3017
4113
  @operation_type = args[:operation_type] if args.key?(:operation_type)
4114
+ @pre_check_major_version_upgrade_context = args[:pre_check_major_version_upgrade_context] if args.key?(:pre_check_major_version_upgrade_context)
3018
4115
  @self_link = args[:self_link] if args.key?(:self_link)
3019
4116
  @start_time = args[:start_time] if args.key?(:start_time)
3020
4117
  @status = args[:status] if args.key?(:status)
4118
+ @sub_operation_type = args[:sub_operation_type] if args.key?(:sub_operation_type)
3021
4119
  @target_id = args[:target_id] if args.key?(:target_id)
3022
4120
  @target_link = args[:target_link] if args.key?(:target_link)
3023
4121
  @target_project = args[:target_project] if args.key?(:target_project)
@@ -3091,9 +4189,9 @@ module Google
3091
4189
  attr_accessor :api_version
3092
4190
 
3093
4191
  # Output only. Identifies whether the user has requested cancellation of the
3094
- # operation. Operations that have been cancelled successfully have Operation.
3095
- # error value with a google.rpc.Status.code of 1, corresponding to `Code.
3096
- # CANCELLED`.
4192
+ # operation. Operations that have been cancelled successfully have google.
4193
+ # longrunning.Operation.error value with a google.rpc.Status.code of `1`,
4194
+ # corresponding to `Code.CANCELLED`.
3097
4195
  # Corresponds to the JSON property `cancelRequested`
3098
4196
  # @return [Boolean]
3099
4197
  attr_accessor :cancel_requested
@@ -3272,27 +4370,377 @@ module Google
3272
4370
 
3273
4371
  # Update properties of this object
3274
4372
  def update!(**args)
3275
- @target_size_gb = args[:target_size_gb] if args.key?(:target_size_gb)
4373
+ @target_size_gb = args[:target_size_gb] if args.key?(:target_size_gb)
4374
+ end
4375
+ end
4376
+
4377
+ # Context to perform a point-in-time restore of an instance managed by Backup
4378
+ # and Disaster Recovery (DR) Service.
4379
+ class PointInTimeRestoreContext
4380
+ include Google::Apis::Core::Hashable
4381
+
4382
+ # Optional. The name of the allocated IP range for the internal IP Cloud SQL
4383
+ # instance. For example: "google-managed-services-default". If you set this,
4384
+ # then Cloud SQL creates the IP address for the cloned instance in the allocated
4385
+ # range. This range must comply with [RFC 1035](https://tools.ietf.org/html/
4386
+ # rfc1035) standards. Specifically, the name must be 1-63 characters long and
4387
+ # match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?. Reserved for future
4388
+ # use.
4389
+ # Corresponds to the JSON property `allocatedIpRange`
4390
+ # @return [String]
4391
+ attr_accessor :allocated_ip_range
4392
+
4393
+ # The Backup and Disaster Recovery (DR) Service Datasource URI. Format: projects/
4394
+ # `project`/locations/`region`/backupVaults/`backupvault`/dataSources/`
4395
+ # datasource`.
4396
+ # Corresponds to the JSON property `datasource`
4397
+ # @return [String]
4398
+ attr_accessor :datasource
4399
+
4400
+ # Required. The date and time to which you want to restore the instance.
4401
+ # Corresponds to the JSON property `pointInTime`
4402
+ # @return [String]
4403
+ attr_accessor :point_in_time
4404
+
4405
+ # Optional. Point-in-time recovery of a regional instance in the specified zones.
4406
+ # If not specified, clone to the same secondary zone as the source instance.
4407
+ # This value cannot be the same as the preferred_zone field.
4408
+ # Corresponds to the JSON property `preferredSecondaryZone`
4409
+ # @return [String]
4410
+ attr_accessor :preferred_secondary_zone
4411
+
4412
+ # Optional. Point-in-time recovery of an instance to the specified zone. If no
4413
+ # zone is specified, then clone to the same primary zone as the source instance.
4414
+ # Corresponds to the JSON property `preferredZone`
4415
+ # @return [String]
4416
+ attr_accessor :preferred_zone
4417
+
4418
+ # Optional. The resource link for the VPC network from which the Cloud SQL
4419
+ # instance is accessible for private IP. For example, `/projects/myProject/
4420
+ # global/networks/default`.
4421
+ # Corresponds to the JSON property `privateNetwork`
4422
+ # @return [String]
4423
+ attr_accessor :private_network
4424
+
4425
+ # Target instance name.
4426
+ # Corresponds to the JSON property `targetInstance`
4427
+ # @return [String]
4428
+ attr_accessor :target_instance
4429
+
4430
+ def initialize(**args)
4431
+ update!(**args)
4432
+ end
4433
+
4434
+ # Update properties of this object
4435
+ def update!(**args)
4436
+ @allocated_ip_range = args[:allocated_ip_range] if args.key?(:allocated_ip_range)
4437
+ @datasource = args[:datasource] if args.key?(:datasource)
4438
+ @point_in_time = args[:point_in_time] if args.key?(:point_in_time)
4439
+ @preferred_secondary_zone = args[:preferred_secondary_zone] if args.key?(:preferred_secondary_zone)
4440
+ @preferred_zone = args[:preferred_zone] if args.key?(:preferred_zone)
4441
+ @private_network = args[:private_network] if args.key?(:private_network)
4442
+ @target_instance = args[:target_instance] if args.key?(:target_instance)
4443
+ end
4444
+ end
4445
+
4446
+ # Details of a single read pool node of a read pool.
4447
+ class PoolNodeConfig
4448
+ include Google::Apis::Core::Hashable
4449
+
4450
+ # Output only. The DNS name of the read pool node.
4451
+ # Corresponds to the JSON property `dnsName`
4452
+ # @return [String]
4453
+ attr_accessor :dns_name
4454
+
4455
+ # Output only. The list of DNS names used by this read pool node.
4456
+ # Corresponds to the JSON property `dnsNames`
4457
+ # @return [Array<Google::Apis::SqladminV1beta4::DnsNameMapping>]
4458
+ attr_accessor :dns_names
4459
+
4460
+ # Output only. The zone of the read pool node.
4461
+ # Corresponds to the JSON property `gceZone`
4462
+ # @return [String]
4463
+ attr_accessor :gce_zone
4464
+
4465
+ # Output only. Mappings containing IP addresses that can be used to connect to
4466
+ # the read pool node.
4467
+ # Corresponds to the JSON property `ipAddresses`
4468
+ # @return [Array<Google::Apis::SqladminV1beta4::IpMapping>]
4469
+ attr_accessor :ip_addresses
4470
+
4471
+ # Output only. The name of the read pool node, to be used for retrieving metrics
4472
+ # and logs.
4473
+ # Corresponds to the JSON property `name`
4474
+ # @return [String]
4475
+ attr_accessor :name
4476
+
4477
+ # Output only. The current state of the read pool node.
4478
+ # Corresponds to the JSON property `state`
4479
+ # @return [String]
4480
+ attr_accessor :state
4481
+
4482
+ def initialize(**args)
4483
+ update!(**args)
4484
+ end
4485
+
4486
+ # Update properties of this object
4487
+ def update!(**args)
4488
+ @dns_name = args[:dns_name] if args.key?(:dns_name)
4489
+ @dns_names = args[:dns_names] if args.key?(:dns_names)
4490
+ @gce_zone = args[:gce_zone] if args.key?(:gce_zone)
4491
+ @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
4492
+ @name = args[:name] if args.key?(:name)
4493
+ @state = args[:state] if args.key?(:state)
4494
+ end
4495
+ end
4496
+
4497
+ # Pre-check major version upgrade context.
4498
+ class PreCheckMajorVersionUpgradeContext
4499
+ include Google::Apis::Core::Hashable
4500
+
4501
+ # Optional. This is always `sql#preCheckMajorVersionUpgradeContext`.
4502
+ # Corresponds to the JSON property `kind`
4503
+ # @return [String]
4504
+ attr_accessor :kind
4505
+
4506
+ # Output only. The responses from the precheck operation.
4507
+ # Corresponds to the JSON property `preCheckResponse`
4508
+ # @return [Array<Google::Apis::SqladminV1beta4::PreCheckResponse>]
4509
+ attr_accessor :pre_check_response
4510
+
4511
+ # Required. The target database version to upgrade to.
4512
+ # Corresponds to the JSON property `targetDatabaseVersion`
4513
+ # @return [String]
4514
+ attr_accessor :target_database_version
4515
+
4516
+ def initialize(**args)
4517
+ update!(**args)
4518
+ end
4519
+
4520
+ # Update properties of this object
4521
+ def update!(**args)
4522
+ @kind = args[:kind] if args.key?(:kind)
4523
+ @pre_check_response = args[:pre_check_response] if args.key?(:pre_check_response)
4524
+ @target_database_version = args[:target_database_version] if args.key?(:target_database_version)
4525
+ end
4526
+ end
4527
+
4528
+ # Structured PreCheckResponse containing message, type, and required actions.
4529
+ class PreCheckResponse
4530
+ include Google::Apis::Core::Hashable
4531
+
4532
+ # The actions that the user needs to take. Use repeated for multiple actions.
4533
+ # Corresponds to the JSON property `actionsRequired`
4534
+ # @return [Array<String>]
4535
+ attr_accessor :actions_required
4536
+
4537
+ # The message to be displayed to the user.
4538
+ # Corresponds to the JSON property `message`
4539
+ # @return [String]
4540
+ attr_accessor :message
4541
+
4542
+ # The type of message whether it is an info, warning, or error.
4543
+ # Corresponds to the JSON property `messageType`
4544
+ # @return [String]
4545
+ attr_accessor :message_type
4546
+
4547
+ def initialize(**args)
4548
+ update!(**args)
4549
+ end
4550
+
4551
+ # Update properties of this object
4552
+ def update!(**args)
4553
+ @actions_required = args[:actions_required] if args.key?(:actions_required)
4554
+ @message = args[:message] if args.key?(:message)
4555
+ @message_type = args[:message_type] if args.key?(:message_type)
4556
+ end
4557
+ end
4558
+
4559
+ # Settings for an automatically-setup Private Service Connect consumer endpoint
4560
+ # that is used to connect to a Cloud SQL instance.
4561
+ class PscAutoConnectionConfig
4562
+ include Google::Apis::Core::Hashable
4563
+
4564
+ # Optional. The consumer network of this consumer endpoint. This must be a
4565
+ # resource path that includes both the host project and the network name. For
4566
+ # example, `projects/project1/global/networks/network1`. The consumer host
4567
+ # project of this network might be different from the consumer service project.
4568
+ # Corresponds to the JSON property `consumerNetwork`
4569
+ # @return [String]
4570
+ attr_accessor :consumer_network
4571
+
4572
+ # The connection policy status of the consumer network.
4573
+ # Corresponds to the JSON property `consumerNetworkStatus`
4574
+ # @return [String]
4575
+ attr_accessor :consumer_network_status
4576
+
4577
+ # Optional. This is the project ID of consumer service project of this consumer
4578
+ # endpoint. Optional. This is only applicable if consumer_network is a shared
4579
+ # vpc network.
4580
+ # Corresponds to the JSON property `consumerProject`
4581
+ # @return [String]
4582
+ attr_accessor :consumer_project
4583
+
4584
+ # The IP address of the consumer endpoint.
4585
+ # Corresponds to the JSON property `ipAddress`
4586
+ # @return [String]
4587
+ attr_accessor :ip_address
4588
+
4589
+ # The connection status of the consumer endpoint.
4590
+ # Corresponds to the JSON property `status`
4591
+ # @return [String]
4592
+ attr_accessor :status
4593
+
4594
+ def initialize(**args)
4595
+ update!(**args)
4596
+ end
4597
+
4598
+ # Update properties of this object
4599
+ def update!(**args)
4600
+ @consumer_network = args[:consumer_network] if args.key?(:consumer_network)
4601
+ @consumer_network_status = args[:consumer_network_status] if args.key?(:consumer_network_status)
4602
+ @consumer_project = args[:consumer_project] if args.key?(:consumer_project)
4603
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
4604
+ @status = args[:status] if args.key?(:status)
4605
+ end
4606
+ end
4607
+
4608
+ # PSC settings for a Cloud SQL instance.
4609
+ class PscConfig
4610
+ include Google::Apis::Core::Hashable
4611
+
4612
+ # Optional. The list of consumer projects that are allow-listed for PSC
4613
+ # connections to this instance. This instance can be connected to with PSC from
4614
+ # any network in these projects. Each consumer project in this list may be
4615
+ # represented by a project number (numeric) or by a project id (alphanumeric).
4616
+ # Corresponds to the JSON property `allowedConsumerProjects`
4617
+ # @return [Array<String>]
4618
+ attr_accessor :allowed_consumer_projects
4619
+
4620
+ # Optional. The network attachment of the consumer network that the Private
4621
+ # Service Connect enabled Cloud SQL instance is authorized to connect via PSC
4622
+ # interface. format: projects/PROJECT/regions/REGION/networkAttachments/ID
4623
+ # Corresponds to the JSON property `networkAttachmentUri`
4624
+ # @return [String]
4625
+ attr_accessor :network_attachment_uri
4626
+
4627
+ # Optional. The list of settings for requested Private Service Connect consumer
4628
+ # endpoints that can be used to connect to this Cloud SQL instance.
4629
+ # Corresponds to the JSON property `pscAutoConnections`
4630
+ # @return [Array<Google::Apis::SqladminV1beta4::PscAutoConnectionConfig>]
4631
+ attr_accessor :psc_auto_connections
4632
+
4633
+ # Whether PSC connectivity is enabled for this instance.
4634
+ # Corresponds to the JSON property `pscEnabled`
4635
+ # @return [Boolean]
4636
+ attr_accessor :psc_enabled
4637
+ alias_method :psc_enabled?, :psc_enabled
4638
+
4639
+ def initialize(**args)
4640
+ update!(**args)
4641
+ end
4642
+
4643
+ # Update properties of this object
4644
+ def update!(**args)
4645
+ @allowed_consumer_projects = args[:allowed_consumer_projects] if args.key?(:allowed_consumer_projects)
4646
+ @network_attachment_uri = args[:network_attachment_uri] if args.key?(:network_attachment_uri)
4647
+ @psc_auto_connections = args[:psc_auto_connections] if args.key?(:psc_auto_connections)
4648
+ @psc_enabled = args[:psc_enabled] if args.key?(:psc_enabled)
4649
+ end
4650
+ end
4651
+
4652
+ # QueryResult contains the result of executing a single SQL statement.
4653
+ class QueryResult
4654
+ include Google::Apis::Core::Hashable
4655
+
4656
+ # List of columns included in the result. This also includes the data type of
4657
+ # the column.
4658
+ # Corresponds to the JSON property `columns`
4659
+ # @return [Array<Google::Apis::SqladminV1beta4::Column>]
4660
+ attr_accessor :columns
4661
+
4662
+ # Message related to the SQL execution result.
4663
+ # Corresponds to the JSON property `message`
4664
+ # @return [String]
4665
+ attr_accessor :message
4666
+
4667
+ # Set to true if the SQL execution's result is truncated due to size limits or
4668
+ # an error retrieving results.
4669
+ # Corresponds to the JSON property `partialResult`
4670
+ # @return [Boolean]
4671
+ attr_accessor :partial_result
4672
+ alias_method :partial_result?, :partial_result
4673
+
4674
+ # Rows returned by the SQL statement.
4675
+ # Corresponds to the JSON property `rows`
4676
+ # @return [Array<Google::Apis::SqladminV1beta4::Row>]
4677
+ attr_accessor :rows
4678
+
4679
+ # The `Status` type defines a logical error model that is suitable for different
4680
+ # programming environments, including REST APIs and RPC APIs. It is used by [
4681
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
4682
+ # data: error code, error message, and error details. You can find out more
4683
+ # about this error model and how to work with it in the [API Design Guide](https:
4684
+ # //cloud.google.com/apis/design/errors).
4685
+ # Corresponds to the JSON property `status`
4686
+ # @return [Google::Apis::SqladminV1beta4::Status]
4687
+ attr_accessor :status
4688
+
4689
+ def initialize(**args)
4690
+ update!(**args)
4691
+ end
4692
+
4693
+ # Update properties of this object
4694
+ def update!(**args)
4695
+ @columns = args[:columns] if args.key?(:columns)
4696
+ @message = args[:message] if args.key?(:message)
4697
+ @partial_result = args[:partial_result] if args.key?(:partial_result)
4698
+ @rows = args[:rows] if args.key?(:rows)
4699
+ @status = args[:status] if args.key?(:status)
3276
4700
  end
3277
4701
  end
3278
4702
 
3279
- # PSC settings for a Cloud SQL instance.
3280
- class PscConfig
4703
+ # The read pool auto-scale configuration.
4704
+ class ReadPoolAutoScaleConfig
3281
4705
  include Google::Apis::Core::Hashable
3282
4706
 
3283
- # Optional. The list of consumer projects that are allow-listed for PSC
3284
- # connections to this instance. This instance can be connected to with PSC from
3285
- # any network in these projects. Each consumer project in this list may be
3286
- # represented by a project number (numeric) or by a project id (alphanumeric).
3287
- # Corresponds to the JSON property `allowedConsumerProjects`
3288
- # @return [Array<String>]
3289
- attr_accessor :allowed_consumer_projects
4707
+ # Indicates whether read pool auto scaling supports scale in operations (
4708
+ # removing nodes).
4709
+ # Corresponds to the JSON property `disableScaleIn`
4710
+ # @return [Boolean]
4711
+ attr_accessor :disable_scale_in
4712
+ alias_method :disable_scale_in?, :disable_scale_in
3290
4713
 
3291
- # Whether PSC connectivity is enabled for this instance.
3292
- # Corresponds to the JSON property `pscEnabled`
4714
+ # Indicates whether read pool auto scaling is enabled.
4715
+ # Corresponds to the JSON property `enabled`
3293
4716
  # @return [Boolean]
3294
- attr_accessor :psc_enabled
3295
- alias_method :psc_enabled?, :psc_enabled
4717
+ attr_accessor :enabled
4718
+ alias_method :enabled?, :enabled
4719
+
4720
+ # Maximum number of read pool nodes to be maintained.
4721
+ # Corresponds to the JSON property `maxNodeCount`
4722
+ # @return [Fixnum]
4723
+ attr_accessor :max_node_count
4724
+
4725
+ # Minimum number of read pool nodes to be maintained.
4726
+ # Corresponds to the JSON property `minNodeCount`
4727
+ # @return [Fixnum]
4728
+ attr_accessor :min_node_count
4729
+
4730
+ # The cooldown period for scale in operations.
4731
+ # Corresponds to the JSON property `scaleInCooldownSeconds`
4732
+ # @return [Fixnum]
4733
+ attr_accessor :scale_in_cooldown_seconds
4734
+
4735
+ # The cooldown period for scale out operations.
4736
+ # Corresponds to the JSON property `scaleOutCooldownSeconds`
4737
+ # @return [Fixnum]
4738
+ attr_accessor :scale_out_cooldown_seconds
4739
+
4740
+ # Optional. Target metrics for read pool auto scaling.
4741
+ # Corresponds to the JSON property `targetMetrics`
4742
+ # @return [Array<Google::Apis::SqladminV1beta4::TargetMetric>]
4743
+ attr_accessor :target_metrics
3296
4744
 
3297
4745
  def initialize(**args)
3298
4746
  update!(**args)
@@ -3300,8 +4748,13 @@ module Google
3300
4748
 
3301
4749
  # Update properties of this object
3302
4750
  def update!(**args)
3303
- @allowed_consumer_projects = args[:allowed_consumer_projects] if args.key?(:allowed_consumer_projects)
3304
- @psc_enabled = args[:psc_enabled] if args.key?(:psc_enabled)
4751
+ @disable_scale_in = args[:disable_scale_in] if args.key?(:disable_scale_in)
4752
+ @enabled = args[:enabled] if args.key?(:enabled)
4753
+ @max_node_count = args[:max_node_count] if args.key?(:max_node_count)
4754
+ @min_node_count = args[:min_node_count] if args.key?(:min_node_count)
4755
+ @scale_in_cooldown_seconds = args[:scale_in_cooldown_seconds] if args.key?(:scale_in_cooldown_seconds)
4756
+ @scale_out_cooldown_seconds = args[:scale_out_cooldown_seconds] if args.key?(:scale_out_cooldown_seconds)
4757
+ @target_metrics = args[:target_metrics] if args.key?(:target_metrics)
3305
4758
  end
3306
4759
  end
3307
4760
 
@@ -3352,7 +4805,7 @@ module Google
3352
4805
 
3353
4806
  # A primary instance and disaster recovery (DR) replica pair. A DR replica is a
3354
4807
  # cross-region replica that you designate for failover in the event that the
3355
- # primary instance has regional failure. Only applicable to MySQL.
4808
+ # primary instance has regional failure. Applicable to MySQL and PostgreSQL.
3356
4809
  class ReplicationCluster
3357
4810
  include Google::Apis::Core::Hashable
3358
4811
 
@@ -3373,13 +4826,13 @@ module Google
3373
4826
  # @return [String]
3374
4827
  attr_accessor :failover_dr_replica_name
3375
4828
 
3376
- # Output only. If set, it indicates this instance has a private service access (
3377
- # PSA) dns endpoint that is pointing to the primary instance of the cluster. If
3378
- # this instance is the primary, the dns should be pointing to this instance.
3379
- # After Switchover or Replica failover, this DNS endpoint points to the promoted
3380
- # instance. This is a read-only field, returned to the user as information. This
3381
- # field can exist even if a standalone instance does not yet have a replica, or
3382
- # had a DR replica that was deleted.
4829
+ # Output only. If set, this field indicates this instance has a private service
4830
+ # access (PSA) DNS endpoint that is pointing to the primary instance of the
4831
+ # cluster. If this instance is the primary, then the DNS endpoint points to this
4832
+ # instance. After a switchover or replica failover operation, this DNS endpoint
4833
+ # points to the promoted instance. This is a read-only field, returned to the
4834
+ # user as information. This field can exist even if a standalone instance doesn'
4835
+ # t have a DR replica yet or the DR replica is deleted.
3383
4836
  # Corresponds to the JSON property `psaWriteEndpoint`
3384
4837
  # @return [String]
3385
4838
  attr_accessor :psa_write_endpoint
@@ -3461,6 +4914,33 @@ module Google
3461
4914
  end
3462
4915
  end
3463
4916
 
4917
+ # Instance rotate Entra ID certificate context.
4918
+ class RotateEntraIdCertificateContext
4919
+ include Google::Apis::Core::Hashable
4920
+
4921
+ # Optional. This is always `sql#rotateEntraIdCertificateContext`.
4922
+ # Corresponds to the JSON property `kind`
4923
+ # @return [String]
4924
+ attr_accessor :kind
4925
+
4926
+ # Optional. The fingerprint of the next version to be rotated to. If left
4927
+ # unspecified, will be rotated to the most recently added Entra ID certificate
4928
+ # version.
4929
+ # Corresponds to the JSON property `nextVersion`
4930
+ # @return [String]
4931
+ attr_accessor :next_version
4932
+
4933
+ def initialize(**args)
4934
+ update!(**args)
4935
+ end
4936
+
4937
+ # Update properties of this object
4938
+ def update!(**args)
4939
+ @kind = args[:kind] if args.key?(:kind)
4940
+ @next_version = args[:next_version] if args.key?(:next_version)
4941
+ end
4942
+ end
4943
+
3464
4944
  # Instance rotate server CA context.
3465
4945
  class RotateServerCaContext
3466
4946
  include Google::Apis::Core::Hashable
@@ -3487,6 +4967,72 @@ module Google
3487
4967
  end
3488
4968
  end
3489
4969
 
4970
+ # Instance rotate server certificate context.
4971
+ class RotateServerCertificateContext
4972
+ include Google::Apis::Core::Hashable
4973
+
4974
+ # Optional. This is always `sql#rotateServerCertificateContext`.
4975
+ # Corresponds to the JSON property `kind`
4976
+ # @return [String]
4977
+ attr_accessor :kind
4978
+
4979
+ # Optional. The fingerprint of the next version to be rotated to. If left
4980
+ # unspecified, will be rotated to the most recently added server certificate
4981
+ # version.
4982
+ # Corresponds to the JSON property `nextVersion`
4983
+ # @return [String]
4984
+ attr_accessor :next_version
4985
+
4986
+ def initialize(**args)
4987
+ update!(**args)
4988
+ end
4989
+
4990
+ # Update properties of this object
4991
+ def update!(**args)
4992
+ @kind = args[:kind] if args.key?(:kind)
4993
+ @next_version = args[:next_version] if args.key?(:next_version)
4994
+ end
4995
+ end
4996
+
4997
+ # Contains the values for a row.
4998
+ class Row
4999
+ include Google::Apis::Core::Hashable
5000
+
5001
+ # The values for the row.
5002
+ # Corresponds to the JSON property `values`
5003
+ # @return [Array<Google::Apis::SqladminV1beta4::Value>]
5004
+ attr_accessor :values
5005
+
5006
+ def initialize(**args)
5007
+ update!(**args)
5008
+ end
5009
+
5010
+ # Update properties of this object
5011
+ def update!(**args)
5012
+ @values = args[:values] if args.key?(:values)
5013
+ end
5014
+ end
5015
+
5016
+ # A list of objects that the user selects for replication from an external
5017
+ # source instance.
5018
+ class SelectedObjects
5019
+ include Google::Apis::Core::Hashable
5020
+
5021
+ # Required. The name of the database to migrate.
5022
+ # Corresponds to the JSON property `database`
5023
+ # @return [String]
5024
+ attr_accessor :database
5025
+
5026
+ def initialize(**args)
5027
+ update!(**args)
5028
+ end
5029
+
5030
+ # Update properties of this object
5031
+ def update!(**args)
5032
+ @database = args[:database] if args.key?(:database)
5033
+ end
5034
+ end
5035
+
3490
5036
  # Database instance settings.
3491
5037
  class Settings
3492
5038
  include Google::Apis::Core::Hashable
@@ -3516,6 +5062,14 @@ module Google
3516
5062
  # @return [Array<String>]
3517
5063
  attr_accessor :authorized_gae_applications
3518
5064
 
5065
+ # Optional. Cloud SQL for MySQL auto-upgrade configuration. When this parameter
5066
+ # is set to true, auto-upgrade is enabled for MySQL 8.0 minor versions. The
5067
+ # MySQL version must be 8.0.35 or higher.
5068
+ # Corresponds to the JSON property `autoUpgradeEnabled`
5069
+ # @return [Boolean]
5070
+ attr_accessor :auto_upgrade_enabled
5071
+ alias_method :auto_upgrade_enabled?, :auto_upgrade_enabled
5072
+
3519
5073
  # Availability type. Potential values: * `ZONAL`: The instance serves data from
3520
5074
  # only one zone. Outages in that zone affect data accessibility. * `REGIONAL`:
3521
5075
  # The instance can serve data from more than one zone in a region (it is highly
@@ -3535,6 +5089,11 @@ module Google
3535
5089
  # @return [String]
3536
5090
  attr_accessor :collation
3537
5091
 
5092
+ # The managed connection pooling configuration.
5093
+ # Corresponds to the JSON property `connectionPoolConfig`
5094
+ # @return [Google::Apis::SqladminV1beta4::ConnectionPoolConfig]
5095
+ attr_accessor :connection_pool_config
5096
+
3538
5097
  # Specifies if connections must use Cloud SQL connectors. Option values include
3539
5098
  # the following: `NOT_REQUIRED` (Cloud SQL instances can be connected without
3540
5099
  # Cloud SQL Connectors) and `REQUIRED` (Only allow connections that use Cloud
@@ -3554,11 +5113,29 @@ module Google
3554
5113
  attr_accessor :crash_safe_replication_enabled
3555
5114
  alias_method :crash_safe_replication_enabled?, :crash_safe_replication_enabled
3556
5115
 
5116
+ # This parameter controls whether to allow using ExecuteSql API to connect to
5117
+ # the instance. Not allowed by default.
5118
+ # Corresponds to the JSON property `dataApiAccess`
5119
+ # @return [String]
5120
+ attr_accessor :data_api_access
5121
+
3557
5122
  # Data cache configurations.
3558
5123
  # Corresponds to the JSON property `dataCacheConfig`
3559
5124
  # @return [Google::Apis::SqladminV1beta4::DataCacheConfig]
3560
5125
  attr_accessor :data_cache_config
3561
5126
 
5127
+ # Optional. Provisioned number of I/O operations per second for the data disk.
5128
+ # This field is only used for hyperdisk-balanced disk types.
5129
+ # Corresponds to the JSON property `dataDiskProvisionedIops`
5130
+ # @return [Fixnum]
5131
+ attr_accessor :data_disk_provisioned_iops
5132
+
5133
+ # Optional. Provisioned throughput measured in MiB per second for the data disk.
5134
+ # This field is only used for hyperdisk-balanced disk types.
5135
+ # Corresponds to the JSON property `dataDiskProvisionedThroughput`
5136
+ # @return [Fixnum]
5137
+ attr_accessor :data_disk_provisioned_throughput
5138
+
3562
5139
  # The size of data disk, in GB. The data disk size minimum is 10GB.
3563
5140
  # Corresponds to the JSON property `dataDiskSizeGb`
3564
5141
  # @return [Fixnum]
@@ -3608,13 +5185,23 @@ module Google
3608
5185
 
3609
5186
  # Optional. When this parameter is set to true, Cloud SQL instances can connect
3610
5187
  # to Vertex AI to pass requests for real-time predictions and insights to the AI.
3611
- # The default value is false. This applies only to Cloud SQL for PostgreSQL
3612
- # instances.
5188
+ # The default value is false. This applies only to Cloud SQL for MySQL and
5189
+ # Cloud SQL for PostgreSQL instances.
3613
5190
  # Corresponds to the JSON property `enableGoogleMlIntegration`
3614
5191
  # @return [Boolean]
3615
5192
  attr_accessor :enable_google_ml_integration
3616
5193
  alias_method :enable_google_ml_integration?, :enable_google_ml_integration
3617
5194
 
5195
+ # SQL Server Entra ID configuration.
5196
+ # Corresponds to the JSON property `entraidConfig`
5197
+ # @return [Google::Apis::SqladminV1beta4::SqlServerEntraIdConfig]
5198
+ attr_accessor :entraid_config
5199
+
5200
+ # Config used to determine the final backup settings for the instance.
5201
+ # Corresponds to the JSON property `finalBackupConfig`
5202
+ # @return [Google::Apis::SqladminV1beta4::FinalBackupConfig]
5203
+ attr_accessor :final_backup_config
5204
+
3618
5205
  # Insights configuration. This specifies when Cloud SQL Insights feature is
3619
5206
  # enabled and optional configuration.
3620
5207
  # Corresponds to the JSON property `insightsConfig`
@@ -3655,6 +5242,17 @@ module Google
3655
5242
  # @return [String]
3656
5243
  attr_accessor :pricing_plan
3657
5244
 
5245
+ # The read pool auto-scale configuration.
5246
+ # Corresponds to the JSON property `readPoolAutoScaleConfig`
5247
+ # @return [Google::Apis::SqladminV1beta4::ReadPoolAutoScaleConfig]
5248
+ attr_accessor :read_pool_auto_scale_config
5249
+
5250
+ # Optional. Configuration value for recreation of replica after certain
5251
+ # replication lag.
5252
+ # Corresponds to the JSON property `replicationLagMaxSeconds`
5253
+ # @return [Fixnum]
5254
+ attr_accessor :replication_lag_max_seconds
5255
+
3658
5256
  # The type of replication this instance uses. This can be either `ASYNCHRONOUS`
3659
5257
  # or `SYNCHRONOUS`. (Deprecated) This property was only applicable to First
3660
5258
  # Generation instances.
@@ -3662,6 +5260,15 @@ module Google
3662
5260
  # @return [String]
3663
5261
  attr_accessor :replication_type
3664
5262
 
5263
+ # Optional. When this parameter is set to true, Cloud SQL retains backups of the
5264
+ # instance even after the instance is deleted. The ON_DEMAND backup will be
5265
+ # retained until customer deletes the backup or the project. The AUTOMATED
5266
+ # backup will be retained based on the backups retention setting.
5267
+ # Corresponds to the JSON property `retainBackupsOnDelete`
5268
+ # @return [Boolean]
5269
+ attr_accessor :retain_backups_on_delete
5270
+ alias_method :retain_backups_on_delete?, :retain_backups_on_delete
5271
+
3665
5272
  # The version of instance settings. This is a required field for update method
3666
5273
  # to make sure concurrent updates are handled properly. During update, use the
3667
5274
  # most recent settingsVersion value for this instance and do not try to update
@@ -3715,12 +5322,17 @@ module Google
3715
5322
  @active_directory_config = args[:active_directory_config] if args.key?(:active_directory_config)
3716
5323
  @advanced_machine_features = args[:advanced_machine_features] if args.key?(:advanced_machine_features)
3717
5324
  @authorized_gae_applications = args[:authorized_gae_applications] if args.key?(:authorized_gae_applications)
5325
+ @auto_upgrade_enabled = args[:auto_upgrade_enabled] if args.key?(:auto_upgrade_enabled)
3718
5326
  @availability_type = args[:availability_type] if args.key?(:availability_type)
3719
5327
  @backup_configuration = args[:backup_configuration] if args.key?(:backup_configuration)
3720
5328
  @collation = args[:collation] if args.key?(:collation)
5329
+ @connection_pool_config = args[:connection_pool_config] if args.key?(:connection_pool_config)
3721
5330
  @connector_enforcement = args[:connector_enforcement] if args.key?(:connector_enforcement)
3722
5331
  @crash_safe_replication_enabled = args[:crash_safe_replication_enabled] if args.key?(:crash_safe_replication_enabled)
5332
+ @data_api_access = args[:data_api_access] if args.key?(:data_api_access)
3723
5333
  @data_cache_config = args[:data_cache_config] if args.key?(:data_cache_config)
5334
+ @data_disk_provisioned_iops = args[:data_disk_provisioned_iops] if args.key?(:data_disk_provisioned_iops)
5335
+ @data_disk_provisioned_throughput = args[:data_disk_provisioned_throughput] if args.key?(:data_disk_provisioned_throughput)
3724
5336
  @data_disk_size_gb = args[:data_disk_size_gb] if args.key?(:data_disk_size_gb)
3725
5337
  @data_disk_type = args[:data_disk_type] if args.key?(:data_disk_type)
3726
5338
  @database_flags = args[:database_flags] if args.key?(:database_flags)
@@ -3730,6 +5342,8 @@ module Google
3730
5342
  @edition = args[:edition] if args.key?(:edition)
3731
5343
  @enable_dataplex_integration = args[:enable_dataplex_integration] if args.key?(:enable_dataplex_integration)
3732
5344
  @enable_google_ml_integration = args[:enable_google_ml_integration] if args.key?(:enable_google_ml_integration)
5345
+ @entraid_config = args[:entraid_config] if args.key?(:entraid_config)
5346
+ @final_backup_config = args[:final_backup_config] if args.key?(:final_backup_config)
3733
5347
  @insights_config = args[:insights_config] if args.key?(:insights_config)
3734
5348
  @ip_configuration = args[:ip_configuration] if args.key?(:ip_configuration)
3735
5349
  @kind = args[:kind] if args.key?(:kind)
@@ -3737,7 +5351,10 @@ module Google
3737
5351
  @maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
3738
5352
  @password_validation_policy = args[:password_validation_policy] if args.key?(:password_validation_policy)
3739
5353
  @pricing_plan = args[:pricing_plan] if args.key?(:pricing_plan)
5354
+ @read_pool_auto_scale_config = args[:read_pool_auto_scale_config] if args.key?(:read_pool_auto_scale_config)
5355
+ @replication_lag_max_seconds = args[:replication_lag_max_seconds] if args.key?(:replication_lag_max_seconds)
3740
5356
  @replication_type = args[:replication_type] if args.key?(:replication_type)
5357
+ @retain_backups_on_delete = args[:retain_backups_on_delete] if args.key?(:retain_backups_on_delete)
3741
5358
  @settings_version = args[:settings_version] if args.key?(:settings_version)
3742
5359
  @sql_server_audit_config = args[:sql_server_audit_config] if args.key?(:sql_server_audit_config)
3743
5360
  @storage_auto_resize = args[:storage_auto_resize] if args.key?(:storage_auto_resize)
@@ -3752,6 +5369,17 @@ module Google
3752
5369
  class SqlActiveDirectoryConfig
3753
5370
  include Google::Apis::Core::Hashable
3754
5371
 
5372
+ # Optional. The secret manager key storing the administrator credential. (e.g.,
5373
+ # projects/`project`/secrets/`secret`).
5374
+ # Corresponds to the JSON property `adminCredentialSecretName`
5375
+ # @return [String]
5376
+ attr_accessor :admin_credential_secret_name
5377
+
5378
+ # Optional. Domain controller IPv4 addresses used to bootstrap Active Directory.
5379
+ # Corresponds to the JSON property `dnsServers`
5380
+ # @return [Array<String>]
5381
+ attr_accessor :dns_servers
5382
+
3755
5383
  # The name of the domain (e.g., mydomain.com).
3756
5384
  # Corresponds to the JSON property `domain`
3757
5385
  # @return [String]
@@ -3762,14 +5390,29 @@ module Google
3762
5390
  # @return [String]
3763
5391
  attr_accessor :kind
3764
5392
 
5393
+ # Optional. The mode of the Active Directory configuration.
5394
+ # Corresponds to the JSON property `mode`
5395
+ # @return [String]
5396
+ attr_accessor :mode
5397
+
5398
+ # Optional. The organizational unit distinguished name. This is the full
5399
+ # hierarchical path to the organizational unit.
5400
+ # Corresponds to the JSON property `organizationalUnit`
5401
+ # @return [String]
5402
+ attr_accessor :organizational_unit
5403
+
3765
5404
  def initialize(**args)
3766
5405
  update!(**args)
3767
5406
  end
3768
5407
 
3769
5408
  # Update properties of this object
3770
5409
  def update!(**args)
5410
+ @admin_credential_secret_name = args[:admin_credential_secret_name] if args.key?(:admin_credential_secret_name)
5411
+ @dns_servers = args[:dns_servers] if args.key?(:dns_servers)
3771
5412
  @domain = args[:domain] if args.key?(:domain)
3772
5413
  @kind = args[:kind] if args.key?(:kind)
5414
+ @mode = args[:mode] if args.key?(:mode)
5415
+ @organizational_unit = args[:organizational_unit] if args.key?(:organizational_unit)
3773
5416
  end
3774
5417
  end
3775
5418
 
@@ -3823,6 +5466,66 @@ module Google
3823
5466
  end
3824
5467
  end
3825
5468
 
5469
+ # Request for AddEntraIdCertificate RPC.
5470
+ class SqlInstancesAddEntraIdCertificateRequest
5471
+ include Google::Apis::Core::Hashable
5472
+
5473
+ def initialize(**args)
5474
+ update!(**args)
5475
+ end
5476
+
5477
+ # Update properties of this object
5478
+ def update!(**args)
5479
+ end
5480
+ end
5481
+
5482
+ # Execute SQL statements response.
5483
+ class SqlInstancesExecuteSqlResponse
5484
+ include Google::Apis::Core::Hashable
5485
+
5486
+ # A list of notices and warnings generated during query execution. For
5487
+ # PostgreSQL, this includes all notices and warnings. For MySQL, this includes
5488
+ # warnings generated by the last executed statement. To retrieve all warnings
5489
+ # for a multi-statement query, `SHOW WARNINGS` must be executed after each
5490
+ # statement.
5491
+ # Corresponds to the JSON property `messages`
5492
+ # @return [Array<Google::Apis::SqladminV1beta4::Message>]
5493
+ attr_accessor :messages
5494
+
5495
+ # The additional metadata information regarding the execution of the SQL
5496
+ # statements.
5497
+ # Corresponds to the JSON property `metadata`
5498
+ # @return [Google::Apis::SqladminV1beta4::Metadata]
5499
+ attr_accessor :metadata
5500
+
5501
+ # The list of results after executing all the SQL statements.
5502
+ # Corresponds to the JSON property `results`
5503
+ # @return [Array<Google::Apis::SqladminV1beta4::QueryResult>]
5504
+ attr_accessor :results
5505
+
5506
+ # The `Status` type defines a logical error model that is suitable for different
5507
+ # programming environments, including REST APIs and RPC APIs. It is used by [
5508
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
5509
+ # data: error code, error message, and error details. You can find out more
5510
+ # about this error model and how to work with it in the [API Design Guide](https:
5511
+ # //cloud.google.com/apis/design/errors).
5512
+ # Corresponds to the JSON property `status`
5513
+ # @return [Google::Apis::SqladminV1beta4::Status]
5514
+ attr_accessor :status
5515
+
5516
+ def initialize(**args)
5517
+ update!(**args)
5518
+ end
5519
+
5520
+ # Update properties of this object
5521
+ def update!(**args)
5522
+ @messages = args[:messages] if args.key?(:messages)
5523
+ @metadata = args[:metadata] if args.key?(:metadata)
5524
+ @results = args[:results] if args.key?(:results)
5525
+ @status = args[:status] if args.key?(:status)
5526
+ end
5527
+ end
5528
+
3826
5529
  # Instance get disk shrink config response.
3827
5530
  class SqlInstancesGetDiskShrinkConfigResponse
3828
5531
  include Google::Apis::Core::Hashable
@@ -3858,6 +5561,11 @@ module Google
3858
5561
  class SqlInstancesGetLatestRecoveryTimeResponse
3859
5562
  include Google::Apis::Core::Hashable
3860
5563
 
5564
+ # Timestamp, identifies the earliest recovery time of the source instance.
5565
+ # Corresponds to the JSON property `earliestRecoveryTime`
5566
+ # @return [String]
5567
+ attr_accessor :earliest_recovery_time
5568
+
3861
5569
  # This is always `sql#getLatestRecoveryTime`.
3862
5570
  # Corresponds to the JSON property `kind`
3863
5571
  # @return [String]
@@ -3874,6 +5582,7 @@ module Google
3874
5582
 
3875
5583
  # Update properties of this object
3876
5584
  def update!(**args)
5585
+ @earliest_recovery_time = args[:earliest_recovery_time] if args.key?(:earliest_recovery_time)
3877
5586
  @kind = args[:kind] if args.key?(:kind)
3878
5587
  @latest_recovery_time = args[:latest_recovery_time] if args.key?(:latest_recovery_time)
3879
5588
  end
@@ -3946,6 +5655,15 @@ module Google
3946
5655
  # @return [Google::Apis::SqladminV1beta4::MySqlSyncConfig]
3947
5656
  attr_accessor :mysql_sync_config
3948
5657
 
5658
+ # Optional. MySQL only. True if end-user has confirmed that this SES call will
5659
+ # wipe replica databases overlapping with the proposed selected_objects. If this
5660
+ # field is not set and there are both overlapping and additional databases
5661
+ # proposed, an error will be returned.
5662
+ # Corresponds to the JSON property `replicaOverwriteEnabled`
5663
+ # @return [Boolean]
5664
+ attr_accessor :replica_overwrite_enabled
5665
+ alias_method :replica_overwrite_enabled?, :replica_overwrite_enabled
5666
+
3949
5667
  # Whether to skip the verification step (VESS).
3950
5668
  # Corresponds to the JSON property `skipVerification`
3951
5669
  # @return [Boolean]
@@ -3971,6 +5689,7 @@ module Google
3971
5689
  def update!(**args)
3972
5690
  @migration_type = args[:migration_type] if args.key?(:migration_type)
3973
5691
  @mysql_sync_config = args[:mysql_sync_config] if args.key?(:mysql_sync_config)
5692
+ @replica_overwrite_enabled = args[:replica_overwrite_enabled] if args.key?(:replica_overwrite_enabled)
3974
5693
  @skip_verification = args[:skip_verification] if args.key?(:skip_verification)
3975
5694
  @sync_mode = args[:sync_mode] if args.key?(:sync_mode)
3976
5695
  @sync_parallel_level = args[:sync_parallel_level] if args.key?(:sync_parallel_level)
@@ -3993,6 +5712,12 @@ module Google
3993
5712
  # @return [Google::Apis::SqladminV1beta4::MySqlSyncConfig]
3994
5713
  attr_accessor :mysql_sync_config
3995
5714
 
5715
+ # Optional. Migrate only the specified objects from the source instance. If this
5716
+ # field is empty, then migrate all objects.
5717
+ # Corresponds to the JSON property `selectedObjects`
5718
+ # @return [Array<Google::Apis::SqladminV1beta4::ExternalSyncSelectedObject>]
5719
+ attr_accessor :selected_objects
5720
+
3996
5721
  # External sync mode
3997
5722
  # Corresponds to the JSON property `syncMode`
3998
5723
  # @return [String]
@@ -4023,6 +5748,7 @@ module Google
4023
5748
  def update!(**args)
4024
5749
  @migration_type = args[:migration_type] if args.key?(:migration_type)
4025
5750
  @mysql_sync_config = args[:mysql_sync_config] if args.key?(:mysql_sync_config)
5751
+ @selected_objects = args[:selected_objects] if args.key?(:selected_objects)
4026
5752
  @sync_mode = args[:sync_mode] if args.key?(:sync_mode)
4027
5753
  @sync_parallel_level = args[:sync_parallel_level] if args.key?(:sync_parallel_level)
4028
5754
  @verify_connection_only = args[:verify_connection_only] if args.key?(:verify_connection_only)
@@ -4191,6 +5917,37 @@ module Google
4191
5917
  end
4192
5918
  end
4193
5919
 
5920
+ # SQL Server Entra ID configuration.
5921
+ class SqlServerEntraIdConfig
5922
+ include Google::Apis::Core::Hashable
5923
+
5924
+ # Optional. The application ID for the Entra ID configuration.
5925
+ # Corresponds to the JSON property `applicationId`
5926
+ # @return [String]
5927
+ attr_accessor :application_id
5928
+
5929
+ # Output only. This is always sql#sqlServerEntraIdConfig
5930
+ # Corresponds to the JSON property `kind`
5931
+ # @return [String]
5932
+ attr_accessor :kind
5933
+
5934
+ # Optional. The tenant ID for the Entra ID configuration.
5935
+ # Corresponds to the JSON property `tenantId`
5936
+ # @return [String]
5937
+ attr_accessor :tenant_id
5938
+
5939
+ def initialize(**args)
5940
+ update!(**args)
5941
+ end
5942
+
5943
+ # Update properties of this object
5944
+ def update!(**args)
5945
+ @application_id = args[:application_id] if args.key?(:application_id)
5946
+ @kind = args[:kind] if args.key?(:kind)
5947
+ @tenant_id = args[:tenant_id] if args.key?(:tenant_id)
5948
+ end
5949
+ end
5950
+
4194
5951
  # Represents a Sql Server user on the Cloud SQL instance.
4195
5952
  class SqlServerUserDetails
4196
5953
  include Google::Apis::Core::Hashable
@@ -4217,6 +5974,25 @@ module Google
4217
5974
  end
4218
5975
  end
4219
5976
 
5977
+ # The sub operation type based on the operation type.
5978
+ class SqlSubOperationType
5979
+ include Google::Apis::Core::Hashable
5980
+
5981
+ # The type of maintenance to be performed on the instance.
5982
+ # Corresponds to the JSON property `maintenanceType`
5983
+ # @return [String]
5984
+ attr_accessor :maintenance_type
5985
+
5986
+ def initialize(**args)
5987
+ update!(**args)
5988
+ end
5989
+
5990
+ # Update properties of this object
5991
+ def update!(**args)
5992
+ @maintenance_type = args[:maintenance_type] if args.key?(:maintenance_type)
5993
+ end
5994
+ end
5995
+
4220
5996
  # SslCerts Resource
4221
5997
  class SslCert
4222
5998
  include Google::Apis::Core::Hashable
@@ -4421,6 +6197,45 @@ module Google
4421
6197
  end
4422
6198
  end
4423
6199
 
6200
+ # The `Status` type defines a logical error model that is suitable for different
6201
+ # programming environments, including REST APIs and RPC APIs. It is used by [
6202
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
6203
+ # data: error code, error message, and error details. You can find out more
6204
+ # about this error model and how to work with it in the [API Design Guide](https:
6205
+ # //cloud.google.com/apis/design/errors).
6206
+ class Status
6207
+ include Google::Apis::Core::Hashable
6208
+
6209
+ # The status code, which should be an enum value of google.rpc.Code.
6210
+ # Corresponds to the JSON property `code`
6211
+ # @return [Fixnum]
6212
+ attr_accessor :code
6213
+
6214
+ # A list of messages that carry the error details. There is a common set of
6215
+ # message types for APIs to use.
6216
+ # Corresponds to the JSON property `details`
6217
+ # @return [Array<Hash<String,Object>>]
6218
+ attr_accessor :details
6219
+
6220
+ # A developer-facing error message, which should be in English. Any user-facing
6221
+ # error message should be localized and sent in the google.rpc.Status.details
6222
+ # field, or localized by the client.
6223
+ # Corresponds to the JSON property `message`
6224
+ # @return [String]
6225
+ attr_accessor :message
6226
+
6227
+ def initialize(**args)
6228
+ update!(**args)
6229
+ end
6230
+
6231
+ # Update properties of this object
6232
+ def update!(**args)
6233
+ @code = args[:code] if args.key?(:code)
6234
+ @details = args[:details] if args.key?(:details)
6235
+ @message = args[:message] if args.key?(:message)
6236
+ end
6237
+ end
6238
+
4424
6239
  # Initial sync flags for certain Cloud SQL APIs. Currently used for the MySQL
4425
6240
  # external server initial dump.
4426
6241
  class SyncFlags
@@ -4448,6 +6263,31 @@ module Google
4448
6263
  end
4449
6264
  end
4450
6265
 
6266
+ # Target metric for read pool auto scaling.
6267
+ class TargetMetric
6268
+ include Google::Apis::Core::Hashable
6269
+
6270
+ # The metric name to be used for auto scaling.
6271
+ # Corresponds to the JSON property `metric`
6272
+ # @return [String]
6273
+ attr_accessor :metric
6274
+
6275
+ # The target value for the metric.
6276
+ # Corresponds to the JSON property `targetValue`
6277
+ # @return [Float]
6278
+ attr_accessor :target_value
6279
+
6280
+ def initialize(**args)
6281
+ update!(**args)
6282
+ end
6283
+
6284
+ # Update properties of this object
6285
+ def update!(**args)
6286
+ @metric = args[:metric] if args.key?(:metric)
6287
+ @target_value = args[:target_value] if args.key?(:target_value)
6288
+ end
6289
+ end
6290
+
4451
6291
  # A Google Cloud SQL service tier resource.
4452
6292
  class Tier
4453
6293
  include Google::Apis::Core::Hashable
@@ -4547,6 +6387,11 @@ module Google
4547
6387
  class User
4548
6388
  include Google::Apis::Core::Hashable
4549
6389
 
6390
+ # Optional. Role memberships of the user
6391
+ # Corresponds to the JSON property `databaseRoles`
6392
+ # @return [Array<String>]
6393
+ attr_accessor :database_roles
6394
+
4550
6395
  # Dual password status for the user.
4551
6396
  # Corresponds to the JSON property `dualPasswordType`
4552
6397
  # @return [String]
@@ -4566,6 +6411,17 @@ module Google
4566
6411
  # @return [String]
4567
6412
  attr_accessor :host
4568
6413
 
6414
+ # Optional. The full email for an IAM user. For normal database users, this will
6415
+ # not be filled. Only applicable to MySQL database users.
6416
+ # Corresponds to the JSON property `iamEmail`
6417
+ # @return [String]
6418
+ attr_accessor :iam_email
6419
+
6420
+ # Indicates if a group is active or inactive for IAM database authentication.
6421
+ # Corresponds to the JSON property `iamStatus`
6422
+ # @return [String]
6423
+ attr_accessor :iam_status
6424
+
4569
6425
  # The name of the Cloud SQL instance. This does not include the project ID. Can
4570
6426
  # be omitted for *update* because it is already specified on the URL.
4571
6427
  # Corresponds to the JSON property `instance`
@@ -4617,9 +6473,12 @@ module Google
4617
6473
 
4618
6474
  # Update properties of this object
4619
6475
  def update!(**args)
6476
+ @database_roles = args[:database_roles] if args.key?(:database_roles)
4620
6477
  @dual_password_type = args[:dual_password_type] if args.key?(:dual_password_type)
4621
6478
  @etag = args[:etag] if args.key?(:etag)
4622
6479
  @host = args[:host] if args.key?(:host)
6480
+ @iam_email = args[:iam_email] if args.key?(:iam_email)
6481
+ @iam_status = args[:iam_status] if args.key?(:iam_status)
4623
6482
  @instance = args[:instance] if args.key?(:instance)
4624
6483
  @kind = args[:kind] if args.key?(:kind)
4625
6484
  @name = args[:name] if args.key?(:name)
@@ -4707,6 +6566,32 @@ module Google
4707
6566
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
4708
6567
  end
4709
6568
  end
6569
+
6570
+ # The cell value of the table.
6571
+ class Value
6572
+ include Google::Apis::Core::Hashable
6573
+
6574
+ # If cell value is null, then this flag will be set to true.
6575
+ # Corresponds to the JSON property `nullValue`
6576
+ # @return [Boolean]
6577
+ attr_accessor :null_value
6578
+ alias_method :null_value?, :null_value
6579
+
6580
+ # The cell value represented in string format.
6581
+ # Corresponds to the JSON property `value`
6582
+ # @return [String]
6583
+ attr_accessor :value
6584
+
6585
+ def initialize(**args)
6586
+ update!(**args)
6587
+ end
6588
+
6589
+ # Update properties of this object
6590
+ def update!(**args)
6591
+ @null_value = args[:null_value] if args.key?(:null_value)
6592
+ @value = args[:value] if args.key?(:value)
6593
+ end
6594
+ end
4710
6595
  end
4711
6596
  end
4712
6597
  end