google-apis-sqladmin_v1beta4 0.41.0 → 0.93.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.
@@ -60,6 +60,64 @@ module Google
60
60
  end
61
61
  end
62
62
 
63
+ # Acquire SSRS lease context.
64
+ class AcquireSsrsLeaseContext
65
+ include Google::Apis::Core::Hashable
66
+
67
+ # Lease duration needed for the SSRS setup.
68
+ # Corresponds to the JSON property `duration`
69
+ # @return [String]
70
+ attr_accessor :duration
71
+
72
+ # The report database to be used for the SSRS setup.
73
+ # Corresponds to the JSON property `reportDatabase`
74
+ # @return [String]
75
+ attr_accessor :report_database
76
+
77
+ # The username to be used as the service login to connect to the report database
78
+ # for SSRS setup.
79
+ # Corresponds to the JSON property `serviceLogin`
80
+ # @return [String]
81
+ attr_accessor :service_login
82
+
83
+ # The username to be used as the setup login to connect to the database server
84
+ # for SSRS setup.
85
+ # Corresponds to the JSON property `setupLogin`
86
+ # @return [String]
87
+ attr_accessor :setup_login
88
+
89
+ def initialize(**args)
90
+ update!(**args)
91
+ end
92
+
93
+ # Update properties of this object
94
+ def update!(**args)
95
+ @duration = args[:duration] if args.key?(:duration)
96
+ @report_database = args[:report_database] if args.key?(:report_database)
97
+ @service_login = args[:service_login] if args.key?(:service_login)
98
+ @setup_login = args[:setup_login] if args.key?(:setup_login)
99
+ end
100
+ end
101
+
102
+ # Specifies options for controlling advanced machine features.
103
+ class AdvancedMachineFeatures
104
+ include Google::Apis::Core::Hashable
105
+
106
+ # The number of threads per physical core.
107
+ # Corresponds to the JSON property `threadsPerCore`
108
+ # @return [Fixnum]
109
+ attr_accessor :threads_per_core
110
+
111
+ def initialize(**args)
112
+ update!(**args)
113
+ end
114
+
115
+ # Update properties of this object
116
+ def update!(**args)
117
+ @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
118
+ end
119
+ end
120
+
63
121
  # An Admin API warning message.
64
122
  class ApiWarning
65
123
  include Google::Apis::Core::Hashable
@@ -91,6 +149,206 @@ module Google
91
149
  end
92
150
  end
93
151
 
152
+ # An available database version. It can be a major or a minor version.
153
+ class AvailableDatabaseVersion
154
+ include Google::Apis::Core::Hashable
155
+
156
+ # The database version's display name.
157
+ # Corresponds to the JSON property `displayName`
158
+ # @return [String]
159
+ attr_accessor :display_name
160
+
161
+ # The version's major version name.
162
+ # Corresponds to the JSON property `majorVersion`
163
+ # @return [String]
164
+ attr_accessor :major_version
165
+
166
+ # The database version name. For MySQL 8.0, this string provides the database
167
+ # major and minor version.
168
+ # Corresponds to the JSON property `name`
169
+ # @return [String]
170
+ attr_accessor :name
171
+
172
+ def initialize(**args)
173
+ update!(**args)
174
+ end
175
+
176
+ # Update properties of this object
177
+ def update!(**args)
178
+ @display_name = args[:display_name] if args.key?(:display_name)
179
+ @major_version = args[:major_version] if args.key?(:major_version)
180
+ @name = args[:name] if args.key?(:name)
181
+ end
182
+ end
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
+
94
352
  # Database instance backup configuration.
95
353
  class BackupConfiguration
96
354
  include Google::Apis::Core::Hashable
@@ -101,6 +359,11 @@ module Google
101
359
  # @return [Google::Apis::SqladminV1beta4::BackupRetentionSettings]
102
360
  attr_accessor :backup_retention_settings
103
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
+
104
367
  # (MySQL only) Whether binary log is enabled. If backup configuration is
105
368
  # disabled, binarylog must be disabled as well.
106
369
  # Corresponds to the JSON property `binaryLogEnabled`
@@ -124,7 +387,7 @@ module Google
124
387
  # @return [String]
125
388
  attr_accessor :location
126
389
 
127
- # (Postgres only) Whether point in time recovery is enabled.
390
+ # Whether point in time recovery is enabled.
128
391
  # Corresponds to the JSON property `pointInTimeRecoveryEnabled`
129
392
  # @return [Boolean]
130
393
  attr_accessor :point_in_time_recovery_enabled
@@ -148,6 +411,12 @@ module Google
148
411
  # @return [Fixnum]
149
412
  attr_accessor :transaction_log_retention_days
150
413
 
414
+ # Output only. This value contains the storage location of transactional logs
415
+ # for the database for point-in-time recovery.
416
+ # Corresponds to the JSON property `transactionalLogStorageState`
417
+ # @return [String]
418
+ attr_accessor :transactional_log_storage_state
419
+
151
420
  def initialize(**args)
152
421
  update!(**args)
153
422
  end
@@ -155,6 +424,7 @@ module Google
155
424
  # Update properties of this object
156
425
  def update!(**args)
157
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)
158
428
  @binary_log_enabled = args[:binary_log_enabled] if args.key?(:binary_log_enabled)
159
429
  @enabled = args[:enabled] if args.key?(:enabled)
160
430
  @kind = args[:kind] if args.key?(:kind)
@@ -163,6 +433,7 @@ module Google
163
433
  @replication_log_archiving_enabled = args[:replication_log_archiving_enabled] if args.key?(:replication_log_archiving_enabled)
164
434
  @start_time = args[:start_time] if args.key?(:start_time)
165
435
  @transaction_log_retention_days = args[:transaction_log_retention_days] if args.key?(:transaction_log_retention_days)
436
+ @transactional_log_storage_state = args[:transactional_log_storage_state] if args.key?(:transactional_log_storage_state)
166
437
  end
167
438
  end
168
439
 
@@ -180,6 +451,11 @@ module Google
180
451
  # @return [String]
181
452
  attr_accessor :kind
182
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
+
183
459
  def initialize(**args)
184
460
  update!(**args)
185
461
  end
@@ -188,6 +464,32 @@ module Google
188
464
  def update!(**args)
189
465
  @backup_id = args[:backup_id] if args.key?(:backup_id)
190
466
  @kind = args[:kind] if args.key?(:kind)
467
+ @name = args[:name] if args.key?(:name)
468
+ end
469
+ end
470
+
471
+ # Backup Reencryption Config
472
+ class BackupReencryptionConfig
473
+ include Google::Apis::Core::Hashable
474
+
475
+ # Backup re-encryption limit
476
+ # Corresponds to the JSON property `backupLimit`
477
+ # @return [Fixnum]
478
+ attr_accessor :backup_limit
479
+
480
+ # Type of backups users want to re-encrypt.
481
+ # Corresponds to the JSON property `backupType`
482
+ # @return [String]
483
+ attr_accessor :backup_type
484
+
485
+ def initialize(**args)
486
+ update!(**args)
487
+ end
488
+
489
+ # Update properties of this object
490
+ def update!(**args)
491
+ @backup_limit = args[:backup_limit] if args.key?(:backup_limit)
492
+ @backup_type = args[:backup_type] if args.key?(:backup_type)
191
493
  end
192
494
  end
193
495
 
@@ -228,6 +530,11 @@ module Google
228
530
  # @return [String]
229
531
  attr_accessor :backup_kind
230
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
+
231
538
  # The description of this run, only applicable to on-demand backups.
232
539
  # Corresponds to the JSON property `description`
233
540
  # @return [String]
@@ -281,6 +588,11 @@ module Google
281
588
  # @return [String]
282
589
  attr_accessor :location
283
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
+
284
596
  # The URI of this resource.
285
597
  # Corresponds to the JSON property `selfLink`
286
598
  # @return [String]
@@ -325,6 +637,7 @@ module Google
325
637
  # Update properties of this object
326
638
  def update!(**args)
327
639
  @backup_kind = args[:backup_kind] if args.key?(:backup_kind)
640
+ @database_version = args[:database_version] if args.key?(:database_version)
328
641
  @description = args[:description] if args.key?(:description)
329
642
  @disk_encryption_configuration = args[:disk_encryption_configuration] if args.key?(:disk_encryption_configuration)
330
643
  @disk_encryption_status = args[:disk_encryption_status] if args.key?(:disk_encryption_status)
@@ -335,6 +648,7 @@ module Google
335
648
  @instance = args[:instance] if args.key?(:instance)
336
649
  @kind = args[:kind] if args.key?(:kind)
337
650
  @location = args[:location] if args.key?(:location)
651
+ @max_chargeable_bytes = args[:max_chargeable_bytes] if args.key?(:max_chargeable_bytes)
338
652
  @self_link = args[:self_link] if args.key?(:self_link)
339
653
  @start_time = args[:start_time] if args.key?(:start_time)
340
654
  @status = args[:status] if args.key?(:status)
@@ -453,6 +767,26 @@ module Google
453
767
  # @return [String]
454
768
  attr_accessor :point_in_time
455
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
+
777
+ # Optional. Copy clone and point-in-time recovery clone of an instance to the
778
+ # specified zone. If no zone is specified, clone to the same primary zone as the
779
+ # source instance.
780
+ # Corresponds to the JSON property `preferredZone`
781
+ # @return [String]
782
+ attr_accessor :preferred_zone
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
+
456
790
  def initialize(**args)
457
791
  update!(**args)
458
792
  end
@@ -466,6 +800,72 @@ module Google
466
800
  @kind = args[:kind] if args.key?(:kind)
467
801
  @pitr_timestamp_ms = args[:pitr_timestamp_ms] if args.key?(:pitr_timestamp_ms)
468
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)
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)
469
869
  end
470
870
  end
471
871
 
@@ -480,6 +880,11 @@ module Google
480
880
  # @return [String]
481
881
  attr_accessor :backend_type
482
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
+
483
888
  # The database engine type and version. The `databaseVersion` field cannot be
484
889
  # changed after instance creation. MySQL instances: `MYSQL_8_0`, `MYSQL_5_7` (
485
890
  # default), or `MYSQL_5_6`. PostgreSQL instances: `POSTGRES_9_6`, `POSTGRES_10`,
@@ -492,6 +897,16 @@ module Google
492
897
  # @return [String]
493
898
  attr_accessor :database_version
494
899
 
900
+ # The dns name of the instance.
901
+ # Corresponds to the JSON property `dnsName`
902
+ # @return [String]
903
+ attr_accessor :dns_name
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
+
495
910
  # The assigned IP addresses for the instance.
496
911
  # Corresponds to the JSON property `ipAddresses`
497
912
  # @return [Array<Google::Apis::SqladminV1beta4::IpMapping>]
@@ -502,6 +917,32 @@ module Google
502
917
  # @return [String]
503
918
  attr_accessor :kind
504
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
+
940
+ # Whether PSC connectivity is enabled for this instance.
941
+ # Corresponds to the JSON property `pscEnabled`
942
+ # @return [Boolean]
943
+ attr_accessor :psc_enabled
944
+ alias_method :psc_enabled?, :psc_enabled
945
+
505
946
  # The cloud region for the instance. e.g. `us-central1`, `europe-west1`. The
506
947
  # region cannot be changed after instance creation.
507
948
  # Corresponds to the JSON property `region`
@@ -513,6 +954,11 @@ module Google
513
954
  # @return [Google::Apis::SqladminV1beta4::SslCert]
514
955
  attr_accessor :server_ca_cert
515
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
+
516
962
  def initialize(**args)
517
963
  update!(**args)
518
964
  end
@@ -520,29 +966,116 @@ module Google
520
966
  # Update properties of this object
521
967
  def update!(**args)
522
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)
523
970
  @database_version = args[:database_version] if args.key?(:database_version)
971
+ @dns_name = args[:dns_name] if args.key?(:dns_name)
972
+ @dns_names = args[:dns_names] if args.key?(:dns_names)
524
973
  @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
525
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)
978
+ @psc_enabled = args[:psc_enabled] if args.key?(:psc_enabled)
526
979
  @region = args[:region] if args.key?(:region)
527
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)
528
982
  end
529
983
  end
530
984
 
531
- # Represents a SQL database on the Cloud SQL instance.
532
- class Database
985
+ # The managed connection pooling configuration.
986
+ class ConnectionPoolConfig
533
987
  include Google::Apis::Core::Hashable
534
988
 
535
- # The Cloud SQL charset value.
536
- # Corresponds to the JSON property `charset`
537
- # @return [String]
538
- attr_accessor :charset
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
539
994
 
540
- # The Cloud SQL collation value.
541
- # Corresponds to the JSON property `collation`
542
- # @return [String]
543
- attr_accessor :collation
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
544
999
 
545
- # This field is deprecated and will be removed from a future version of the API.
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)
1041
+ end
1042
+ end
1043
+
1044
+ # Data cache configurations.
1045
+ class DataCacheConfig
1046
+ include Google::Apis::Core::Hashable
1047
+
1048
+ # Whether data cache is enabled for the instance.
1049
+ # Corresponds to the JSON property `dataCacheEnabled`
1050
+ # @return [Boolean]
1051
+ attr_accessor :data_cache_enabled
1052
+ alias_method :data_cache_enabled?, :data_cache_enabled
1053
+
1054
+ def initialize(**args)
1055
+ update!(**args)
1056
+ end
1057
+
1058
+ # Update properties of this object
1059
+ def update!(**args)
1060
+ @data_cache_enabled = args[:data_cache_enabled] if args.key?(:data_cache_enabled)
1061
+ end
1062
+ end
1063
+
1064
+ # Represents a SQL database on the Cloud SQL instance.
1065
+ class Database
1066
+ include Google::Apis::Core::Hashable
1067
+
1068
+ # The Cloud SQL charset value.
1069
+ # Corresponds to the JSON property `charset`
1070
+ # @return [String]
1071
+ attr_accessor :charset
1072
+
1073
+ # The Cloud SQL collation value.
1074
+ # Corresponds to the JSON property `collation`
1075
+ # @return [String]
1076
+ attr_accessor :collation
1077
+
1078
+ # This field is deprecated and will be removed from a future version of the API.
546
1079
  # Corresponds to the JSON property `etag`
547
1080
  # @return [String]
548
1081
  attr_accessor :etag
@@ -630,7 +1163,7 @@ module Google
630
1163
  class DatabaseInstance
631
1164
  include Google::Apis::Core::Hashable
632
1165
 
633
- # List all maintenance versions applicable on the instance
1166
+ # Output only. List all maintenance versions applicable on the instance
634
1167
  # Corresponds to the JSON property `availableMaintenanceVersions`
635
1168
  # @return [Array<String>]
636
1169
  attr_accessor :available_maintenance_versions
@@ -684,6 +1217,16 @@ module Google
684
1217
  # @return [Google::Apis::SqladminV1beta4::DiskEncryptionStatus]
685
1218
  attr_accessor :disk_encryption_status
686
1219
 
1220
+ # Output only. The dns name of the instance.
1221
+ # Corresponds to the JSON property `dnsName`
1222
+ # @return [String]
1223
+ attr_accessor :dns_name
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
+
687
1230
  # This field is deprecated and will be removed from a future version of the API.
688
1231
  # Use the `settings.settingsVersion` field instead.
689
1232
  # Corresponds to the JSON property `etag`
@@ -703,6 +1246,19 @@ module Google
703
1246
  # @return [String]
704
1247
  attr_accessor :gce_zone
705
1248
 
1249
+ # Gemini instance configuration.
1250
+ # Corresponds to the JSON property `geminiConfig`
1251
+ # @return [Google::Apis::SqladminV1beta4::GeminiInstanceConfig]
1252
+ attr_accessor :gemini_config
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
+
706
1262
  # The instance type.
707
1263
  # Corresponds to the JSON property `instanceType`
708
1264
  # @return [String]
@@ -744,6 +1300,17 @@ module Google
744
1300
  # @return [String]
745
1301
  attr_accessor :name
746
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
+
747
1314
  # On-premises instance configuration.
748
1315
  # Corresponds to the JSON property `onPremisesConfiguration`
749
1316
  # @return [Google::Apis::SqladminV1beta4::OnPremisesConfiguration]
@@ -754,16 +1321,26 @@ module Google
754
1321
  # @return [Google::Apis::SqladminV1beta4::SqlOutOfDiskReport]
755
1322
  attr_accessor :out_of_disk_report
756
1323
 
1324
+ # Output only. DEPRECATED: please use write_endpoint instead.
1325
+ # Corresponds to the JSON property `primaryDnsName`
1326
+ # @return [String]
1327
+ attr_accessor :primary_dns_name
1328
+
757
1329
  # The project ID of the project containing the Cloud SQL instance. The Google
758
1330
  # apps domain is prefixed if applicable.
759
1331
  # Corresponds to the JSON property `project`
760
1332
  # @return [String]
761
1333
  attr_accessor :project
762
1334
 
763
- # The geographical region. Can be: * `us-central` (`FIRST_GEN` instances only) *
764
- # `us-central1` (`SECOND_GEN` instances only) * `asia-east1` or `europe-west1`.
765
- # Defaults to `us-central` or `us-central1` depending on the instance type. The
766
- # region cannot be changed after instance creation.
1335
+ # Output only. The link to service attachment of PSC instance.
1336
+ # Corresponds to the JSON property `pscServiceAttachmentLink`
1337
+ # @return [String]
1338
+ attr_accessor :psc_service_attachment_link
1339
+
1340
+ # The geographical region of the Cloud SQL instance. It can be one of the [
1341
+ # regions](https://cloud.google.com/sql/docs/mysql/locations#location-r) where
1342
+ # Cloud SQL operates: For example, `asia-east1`, `europe-west1`, and `us-
1343
+ # central1`. The default value is `us-central1`.
767
1344
  # Corresponds to the JSON property `region`
768
1345
  # @return [String]
769
1346
  attr_accessor :region
@@ -778,13 +1355,28 @@ module Google
778
1355
  # @return [Array<String>]
779
1356
  attr_accessor :replica_names
780
1357
 
1358
+ # A primary instance and disaster recovery (DR) replica pair. A DR replica is a
1359
+ # cross-region replica that you designate for failover in the event that the
1360
+ # primary instance has regional failure. Applicable to MySQL and PostgreSQL.
1361
+ # Corresponds to the JSON property `replicationCluster`
1362
+ # @return [Google::Apis::SqladminV1beta4::ReplicationCluster]
1363
+ attr_accessor :replication_cluster
1364
+
781
1365
  # Initial root password. Use only on creation. You must set root passwords
782
1366
  # before you can connect to PostgreSQL instances.
783
1367
  # Corresponds to the JSON property `rootPassword`
784
1368
  # @return [String]
785
1369
  attr_accessor :root_password
786
1370
 
787
- # The status indicating if instance satisfiesPzs. Reserved for future use.
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
+
1378
+ # This status indicates whether the instance satisfies PZS. The status is
1379
+ # reserved for future use.
788
1380
  # Corresponds to the JSON property `satisfiesPzs`
789
1381
  # @return [Boolean]
790
1382
  attr_accessor :satisfies_pzs
@@ -824,6 +1416,11 @@ module Google
824
1416
  # @return [Google::Apis::SqladminV1beta4::Settings]
825
1417
  attr_accessor :settings
826
1418
 
1419
+ # The SQL network architecture for the instance.
1420
+ # Corresponds to the JSON property `sqlNetworkArchitecture`
1421
+ # @return [String]
1422
+ attr_accessor :sql_network_architecture
1423
+
827
1424
  # The current serving state of the Cloud SQL instance.
828
1425
  # Corresponds to the JSON property `state`
829
1426
  # @return [String]
@@ -834,6 +1431,33 @@ module Google
834
1431
  # @return [Array<String>]
835
1432
  attr_accessor :suspension_reason
836
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
+
1451
+ # Output only. All database versions that are available for upgrade.
1452
+ # Corresponds to the JSON property `upgradableDatabaseVersions`
1453
+ # @return [Array<Google::Apis::SqladminV1beta4::AvailableDatabaseVersion>]
1454
+ attr_accessor :upgradable_database_versions
1455
+
1456
+ # Output only. The dns name of the primary instance in a replication group.
1457
+ # Corresponds to the JSON property `writeEndpoint`
1458
+ # @return [String]
1459
+ attr_accessor :write_endpoint
1460
+
837
1461
  def initialize(**args)
838
1462
  update!(**args)
839
1463
  end
@@ -849,9 +1473,13 @@ module Google
849
1473
  @database_version = args[:database_version] if args.key?(:database_version)
850
1474
  @disk_encryption_configuration = args[:disk_encryption_configuration] if args.key?(:disk_encryption_configuration)
851
1475
  @disk_encryption_status = args[:disk_encryption_status] if args.key?(:disk_encryption_status)
1476
+ @dns_name = args[:dns_name] if args.key?(:dns_name)
1477
+ @dns_names = args[:dns_names] if args.key?(:dns_names)
852
1478
  @etag = args[:etag] if args.key?(:etag)
853
1479
  @failover_replica = args[:failover_replica] if args.key?(:failover_replica)
854
1480
  @gce_zone = args[:gce_zone] if args.key?(:gce_zone)
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)
855
1483
  @instance_type = args[:instance_type] if args.key?(:instance_type)
856
1484
  @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
857
1485
  @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
@@ -860,13 +1488,19 @@ module Google
860
1488
  @master_instance_name = args[:master_instance_name] if args.key?(:master_instance_name)
861
1489
  @max_disk_size = args[:max_disk_size] if args.key?(:max_disk_size)
862
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)
863
1493
  @on_premises_configuration = args[:on_premises_configuration] if args.key?(:on_premises_configuration)
864
1494
  @out_of_disk_report = args[:out_of_disk_report] if args.key?(:out_of_disk_report)
1495
+ @primary_dns_name = args[:primary_dns_name] if args.key?(:primary_dns_name)
865
1496
  @project = args[:project] if args.key?(:project)
1497
+ @psc_service_attachment_link = args[:psc_service_attachment_link] if args.key?(:psc_service_attachment_link)
866
1498
  @region = args[:region] if args.key?(:region)
867
1499
  @replica_configuration = args[:replica_configuration] if args.key?(:replica_configuration)
868
1500
  @replica_names = args[:replica_names] if args.key?(:replica_names)
1501
+ @replication_cluster = args[:replication_cluster] if args.key?(:replication_cluster)
869
1502
  @root_password = args[:root_password] if args.key?(:root_password)
1503
+ @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
870
1504
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
871
1505
  @scheduled_maintenance = args[:scheduled_maintenance] if args.key?(:scheduled_maintenance)
872
1506
  @secondary_gce_zone = args[:secondary_gce_zone] if args.key?(:secondary_gce_zone)
@@ -874,8 +1508,13 @@ module Google
874
1508
  @server_ca_cert = args[:server_ca_cert] if args.key?(:server_ca_cert)
875
1509
  @service_account_email_address = args[:service_account_email_address] if args.key?(:service_account_email_address)
876
1510
  @settings = args[:settings] if args.key?(:settings)
1511
+ @sql_network_architecture = args[:sql_network_architecture] if args.key?(:sql_network_architecture)
877
1512
  @state = args[:state] if args.key?(:state)
878
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)
1516
+ @upgradable_database_versions = args[:upgradable_database_versions] if args.key?(:upgradable_database_versions)
1517
+ @write_endpoint = args[:write_endpoint] if args.key?(:write_endpoint)
879
1518
  end
880
1519
 
881
1520
  # The name and status of the failover replica.
@@ -934,6 +1573,33 @@ module Google
934
1573
  end
935
1574
  end
936
1575
 
1576
+ # This context is used to demote an existing standalone instance to be a Cloud
1577
+ # SQL read replica for an external database server.
1578
+ class DemoteContext
1579
+ include Google::Apis::Core::Hashable
1580
+
1581
+ # This is always `sql#demoteContext`.
1582
+ # Corresponds to the JSON property `kind`
1583
+ # @return [String]
1584
+ attr_accessor :kind
1585
+
1586
+ # Required. The name of the instance which acts as an on-premises primary
1587
+ # instance in the replication setup.
1588
+ # Corresponds to the JSON property `sourceRepresentativeInstanceName`
1589
+ # @return [String]
1590
+ attr_accessor :source_representative_instance_name
1591
+
1592
+ def initialize(**args)
1593
+ update!(**args)
1594
+ end
1595
+
1596
+ # Update properties of this object
1597
+ def update!(**args)
1598
+ @kind = args[:kind] if args.key?(:kind)
1599
+ @source_representative_instance_name = args[:source_representative_instance_name] if args.key?(:source_representative_instance_name)
1600
+ end
1601
+ end
1602
+
937
1603
  # Read-replica configuration for connecting to the on-premises primary instance.
938
1604
  class DemoteMasterConfiguration
939
1605
  include Google::Apis::Core::Hashable
@@ -1024,7 +1690,7 @@ module Google
1024
1690
  # @return [String]
1025
1691
  attr_accessor :client_certificate
1026
1692
 
1027
- # 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
1028
1694
  # is encoded in the client's certificate. The format of the replica's private
1029
1695
  # key can be either PKCS #1 or PKCS #8.
1030
1696
  # Corresponds to the JSON property `clientKey`
@@ -1150,6 +1816,110 @@ module Google
1150
1816
  end
1151
1817
  end
1152
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
+
1850
+ # A generic empty message that you can re-use to avoid defining duplicated empty
1851
+ # messages in your APIs. A typical example is to use it as the request or the
1852
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
1853
+ # protobuf.Empty) returns (google.protobuf.Empty); `
1854
+ class Empty
1855
+ include Google::Apis::Core::Hashable
1856
+
1857
+ def initialize(**args)
1858
+ update!(**args)
1859
+ end
1860
+
1861
+ # Update properties of this object
1862
+ def update!(**args)
1863
+ end
1864
+ end
1865
+
1866
+ # The request payload used to execute SQL statements.
1867
+ class ExecuteSqlPayload
1868
+ include Google::Apis::Core::Hashable
1869
+
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
1877
+
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
1882
+
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
+
1153
1923
  # Database instance export context.
1154
1924
  class ExportContext
1155
1925
  include Google::Apis::Core::Hashable
@@ -1168,11 +1938,14 @@ module Google
1168
1938
  # database is specified, all databases are exported, except for the `mysql`
1169
1939
  # system database. If `fileType` is `CSV`, you can specify one database, either
1170
1940
  # by using this property or by using the `csvExportOptions.selectQuery` property,
1171
- # which takes precedence over this property. `PostgreSQL instances:` You must
1172
- # specify one database to be exported. If `fileType` is `CSV`, this database
1173
- # must match the one specified in the `csvExportOptions.selectQuery` property. `
1174
- # SQL Server instances:` You must specify one database to be exported, and the `
1175
- # 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`.
1176
1949
  # Corresponds to the JSON property `databases`
1177
1950
  # @return [Array<String>]
1178
1951
  attr_accessor :databases
@@ -1187,7 +1960,7 @@ module Google
1187
1960
  # @return [String]
1188
1961
  attr_accessor :kind
1189
1962
 
1190
- # Option for export offload.
1963
+ # Whether to perform a serverless export.
1191
1964
  # Corresponds to the JSON property `offload`
1192
1965
  # @return [Boolean]
1193
1966
  attr_accessor :offload
@@ -1198,6 +1971,11 @@ module Google
1198
1971
  # @return [Google::Apis::SqladminV1beta4::ExportContext::SqlExportOptions]
1199
1972
  attr_accessor :sql_export_options
1200
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
+
1201
1979
  # The path to the file in Google Cloud Storage where the export will be stored.
1202
1980
  # The URI is in the form `gs://bucketName/fileName`. If the file already exists,
1203
1981
  # the request succeeds, but the operation fails. If `fileType` is `SQL` and the
@@ -1219,6 +1997,7 @@ module Google
1219
1997
  @kind = args[:kind] if args.key?(:kind)
1220
1998
  @offload = args[:offload] if args.key?(:offload)
1221
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)
1222
2001
  @uri = args[:uri] if args.key?(:uri)
1223
2002
  end
1224
2003
 
@@ -1226,6 +2005,41 @@ module Google
1226
2005
  class BakExportOptions
1227
2006
  include Google::Apis::Core::Hashable
1228
2007
 
2008
+ # Type of this bak file will be export, FULL or DIFF, SQL Server only
2009
+ # Corresponds to the JSON property `bakType`
2010
+ # @return [String]
2011
+ attr_accessor :bak_type
2012
+
2013
+ # Deprecated: copy_only is deprecated. Use differential_base instead
2014
+ # Corresponds to the JSON property `copyOnly`
2015
+ # @return [Boolean]
2016
+ attr_accessor :copy_only
2017
+ alias_method :copy_only?, :copy_only
2018
+
2019
+ # Whether or not the backup can be used as a differential base copy_only backup
2020
+ # can not be served as differential base
2021
+ # Corresponds to the JSON property `differentialBase`
2022
+ # @return [Boolean]
2023
+ attr_accessor :differential_base
2024
+ alias_method :differential_base?, :differential_base
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
+
1229
2043
  # Option for specifying how many stripes to use for the export. If blank, and
1230
2044
  # the value of the striped field is true, the number of stripes is automatically
1231
2045
  # chosen.
@@ -1245,6 +2059,11 @@ module Google
1245
2059
 
1246
2060
  # Update properties of this object
1247
2061
  def update!(**args)
2062
+ @bak_type = args[:bak_type] if args.key?(:bak_type)
2063
+ @copy_only = args[:copy_only] if args.key?(:copy_only)
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)
1248
2067
  @stripe_count = args[:stripe_count] if args.key?(:stripe_count)
1249
2068
  @striped = args[:striped] if args.key?(:striped)
1250
2069
  end
@@ -1305,6 +2124,17 @@ module Google
1305
2124
  # @return [Google::Apis::SqladminV1beta4::ExportContext::SqlExportOptions::MysqlExportOptions]
1306
2125
  attr_accessor :mysql_export_options
1307
2126
 
2127
+ # Optional. Whether or not the export should be parallel.
2128
+ # Corresponds to the JSON property `parallel`
2129
+ # @return [Boolean]
2130
+ attr_accessor :parallel
2131
+ alias_method :parallel?, :parallel
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
+
1308
2138
  # Export only schemas.
1309
2139
  # Corresponds to the JSON property `schemaOnly`
1310
2140
  # @return [Boolean]
@@ -1318,6 +2148,11 @@ module Google
1318
2148
  # @return [Array<String>]
1319
2149
  attr_accessor :tables
1320
2150
 
2151
+ # Optional. The number of threads to use for parallel export.
2152
+ # Corresponds to the JSON property `threads`
2153
+ # @return [Fixnum]
2154
+ attr_accessor :threads
2155
+
1321
2156
  def initialize(**args)
1322
2157
  update!(**args)
1323
2158
  end
@@ -1325,8 +2160,11 @@ module Google
1325
2160
  # Update properties of this object
1326
2161
  def update!(**args)
1327
2162
  @mysql_export_options = args[:mysql_export_options] if args.key?(:mysql_export_options)
2163
+ @parallel = args[:parallel] if args.key?(:parallel)
2164
+ @postgres_export_options = args[:postgres_export_options] if args.key?(:postgres_export_options)
1328
2165
  @schema_only = args[:schema_only] if args.key?(:schema_only)
1329
2166
  @tables = args[:tables] if args.key?(:tables)
2167
+ @threads = args[:threads] if args.key?(:threads)
1330
2168
  end
1331
2169
 
1332
2170
  # Options for exporting from MySQL.
@@ -1351,6 +2189,95 @@ module Google
1351
2189
  @master_data = args[:master_data] if args.key?(:master_data)
1352
2190
  end
1353
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)
1354
2281
  end
1355
2282
  end
1356
2283
 
@@ -1380,6 +2307,33 @@ module Google
1380
2307
  end
1381
2308
  end
1382
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
+
1383
2337
  # A flag resource.
1384
2338
  class Flag
1385
2339
  include Google::Apis::Core::Hashable
@@ -1406,6 +2360,11 @@ module Google
1406
2360
  # @return [Array<String>]
1407
2361
  attr_accessor :applies_to
1408
2362
 
2363
+ # Scope of flag.
2364
+ # Corresponds to the JSON property `flagScope`
2365
+ # @return [String]
2366
+ attr_accessor :flag_scope
2367
+
1409
2368
  # Whether or not the flag is considered in beta.
1410
2369
  # Corresponds to the JSON property `inBeta`
1411
2370
  # @return [Boolean]
@@ -1433,6 +2392,16 @@ module Google
1433
2392
  # @return [String]
1434
2393
  attr_accessor :name
1435
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
+
1436
2405
  # Indicates whether changing this flag will trigger a database restart. Only
1437
2406
  # applicable to Second Generation instances.
1438
2407
  # Corresponds to the JSON property `requiresRestart`
@@ -1456,11 +2425,14 @@ module Google
1456
2425
  @allowed_int_values = args[:allowed_int_values] if args.key?(:allowed_int_values)
1457
2426
  @allowed_string_values = args[:allowed_string_values] if args.key?(:allowed_string_values)
1458
2427
  @applies_to = args[:applies_to] if args.key?(:applies_to)
2428
+ @flag_scope = args[:flag_scope] if args.key?(:flag_scope)
1459
2429
  @in_beta = args[:in_beta] if args.key?(:in_beta)
1460
2430
  @kind = args[:kind] if args.key?(:kind)
1461
2431
  @max_value = args[:max_value] if args.key?(:max_value)
1462
2432
  @min_value = args[:min_value] if args.key?(:min_value)
1463
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)
1464
2436
  @requires_restart = args[:requires_restart] if args.key?(:requires_restart)
1465
2437
  @type = args[:type] if args.key?(:type)
1466
2438
  end
@@ -1491,6 +2463,61 @@ module Google
1491
2463
  end
1492
2464
  end
1493
2465
 
2466
+ # Gemini instance configuration.
2467
+ class GeminiInstanceConfig
2468
+ include Google::Apis::Core::Hashable
2469
+
2470
+ # Output only. Whether the active query is enabled.
2471
+ # Corresponds to the JSON property `activeQueryEnabled`
2472
+ # @return [Boolean]
2473
+ attr_accessor :active_query_enabled
2474
+ alias_method :active_query_enabled?, :active_query_enabled
2475
+
2476
+ # Output only. Whether Gemini is enabled.
2477
+ # Corresponds to the JSON property `entitled`
2478
+ # @return [Boolean]
2479
+ attr_accessor :entitled
2480
+ alias_method :entitled?, :entitled
2481
+
2482
+ # Output only. Whether the flag recommender is enabled.
2483
+ # Corresponds to the JSON property `flagRecommenderEnabled`
2484
+ # @return [Boolean]
2485
+ attr_accessor :flag_recommender_enabled
2486
+ alias_method :flag_recommender_enabled?, :flag_recommender_enabled
2487
+
2488
+ # Output only. Whether the vacuum management is enabled.
2489
+ # Corresponds to the JSON property `googleVacuumMgmtEnabled`
2490
+ # @return [Boolean]
2491
+ attr_accessor :google_vacuum_mgmt_enabled
2492
+ alias_method :google_vacuum_mgmt_enabled?, :google_vacuum_mgmt_enabled
2493
+
2494
+ # Output only. Whether the index advisor is enabled.
2495
+ # Corresponds to the JSON property `indexAdvisorEnabled`
2496
+ # @return [Boolean]
2497
+ attr_accessor :index_advisor_enabled
2498
+ alias_method :index_advisor_enabled?, :index_advisor_enabled
2499
+
2500
+ # Output only. Whether canceling the out-of-memory (OOM) session is enabled.
2501
+ # Corresponds to the JSON property `oomSessionCancelEnabled`
2502
+ # @return [Boolean]
2503
+ attr_accessor :oom_session_cancel_enabled
2504
+ alias_method :oom_session_cancel_enabled?, :oom_session_cancel_enabled
2505
+
2506
+ def initialize(**args)
2507
+ update!(**args)
2508
+ end
2509
+
2510
+ # Update properties of this object
2511
+ def update!(**args)
2512
+ @active_query_enabled = args[:active_query_enabled] if args.key?(:active_query_enabled)
2513
+ @entitled = args[:entitled] if args.key?(:entitled)
2514
+ @flag_recommender_enabled = args[:flag_recommender_enabled] if args.key?(:flag_recommender_enabled)
2515
+ @google_vacuum_mgmt_enabled = args[:google_vacuum_mgmt_enabled] if args.key?(:google_vacuum_mgmt_enabled)
2516
+ @index_advisor_enabled = args[:index_advisor_enabled] if args.key?(:index_advisor_enabled)
2517
+ @oom_session_cancel_enabled = args[:oom_session_cancel_enabled] if args.key?(:oom_session_cancel_enabled)
2518
+ end
2519
+ end
2520
+
1494
2521
  # Ephemeral certificate creation request.
1495
2522
  class GenerateEphemeralCertRequest
1496
2523
  include Google::Apis::Core::Hashable
@@ -1563,8 +2590,10 @@ module Google
1563
2590
 
1564
2591
  # The target database for the import. If `fileType` is `SQL`, this field is
1565
2592
  # required only if the import file does not specify a database, and is
1566
- # overridden by any database specification in the import file. If `fileType` is `
1567
- # 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.
1568
2597
  # Corresponds to the JSON property `database`
1569
2598
  # @return [String]
1570
2599
  attr_accessor :database
@@ -1586,6 +2615,17 @@ module Google
1586
2615
  # @return [String]
1587
2616
  attr_accessor :kind
1588
2617
 
2618
+ # Optional. Options for importing data from SQL statements.
2619
+ # Corresponds to the JSON property `sqlImportOptions`
2620
+ # @return [Google::Apis::SqladminV1beta4::ImportContext::SqlImportOptions]
2621
+ attr_accessor :sql_import_options
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
+
1589
2629
  # Path to the import file in Cloud Storage, in the form `gs://bucketName/
1590
2630
  # fileName`. Compressed gzip files (.gz) are supported when `fileType` is `SQL`.
1591
2631
  # The instance must have write permissions to the bucket and read access to the
@@ -1606,6 +2646,8 @@ module Google
1606
2646
  @file_type = args[:file_type] if args.key?(:file_type)
1607
2647
  @import_user = args[:import_user] if args.key?(:import_user)
1608
2648
  @kind = args[:kind] if args.key?(:kind)
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)
1609
2651
  @uri = args[:uri] if args.key?(:uri)
1610
2652
  end
1611
2653
 
@@ -1613,11 +2655,47 @@ module Google
1613
2655
  class BakImportOptions
1614
2656
  include Google::Apis::Core::Hashable
1615
2657
 
2658
+ # Type of the bak content, FULL or DIFF.
2659
+ # Corresponds to the JSON property `bakType`
2660
+ # @return [String]
2661
+ attr_accessor :bak_type
2662
+
1616
2663
  #
1617
2664
  # Corresponds to the JSON property `encryptionOptions`
1618
2665
  # @return [Google::Apis::SqladminV1beta4::ImportContext::BakImportOptions::EncryptionOptions]
1619
2666
  attr_accessor :encryption_options
1620
2667
 
2668
+ # Whether or not the backup importing will restore database with NORECOVERY
2669
+ # option Applies only to Cloud SQL for SQL Server.
2670
+ # Corresponds to the JSON property `noRecovery`
2671
+ # @return [Boolean]
2672
+ attr_accessor :no_recovery
2673
+ alias_method :no_recovery?, :no_recovery
2674
+
2675
+ # Whether or not the backup importing request will just bring database online
2676
+ # without downloading Bak content only one of "no_recovery" and "recovery_only"
2677
+ # can be true otherwise error will return. Applies only to Cloud SQL for SQL
2678
+ # Server.
2679
+ # Corresponds to the JSON property `recoveryOnly`
2680
+ # @return [Boolean]
2681
+ attr_accessor :recovery_only
2682
+ alias_method :recovery_only?, :recovery_only
2683
+
2684
+ # Optional. The timestamp when the import should stop. This timestamp is in the [
2685
+ # RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example, `2023-10-
2686
+ # 01T16:19:00.094`). This field is equivalent to the STOPAT keyword and applies
2687
+ # to Cloud SQL for SQL Server only.
2688
+ # Corresponds to the JSON property `stopAt`
2689
+ # @return [String]
2690
+ attr_accessor :stop_at
2691
+
2692
+ # Optional. The marked transaction where the import should stop. This field is
2693
+ # equivalent to the STOPATMARK keyword and applies to Cloud SQL for SQL Server
2694
+ # only.
2695
+ # Corresponds to the JSON property `stopAtMark`
2696
+ # @return [String]
2697
+ attr_accessor :stop_at_mark
2698
+
1621
2699
  # Whether or not the backup set being restored is striped. Applies only to Cloud
1622
2700
  # SQL for SQL Server.
1623
2701
  # Corresponds to the JSON property `striped`
@@ -1631,7 +2709,12 @@ module Google
1631
2709
 
1632
2710
  # Update properties of this object
1633
2711
  def update!(**args)
2712
+ @bak_type = args[:bak_type] if args.key?(:bak_type)
1634
2713
  @encryption_options = args[:encryption_options] if args.key?(:encryption_options)
2714
+ @no_recovery = args[:no_recovery] if args.key?(:no_recovery)
2715
+ @recovery_only = args[:recovery_only] if args.key?(:recovery_only)
2716
+ @stop_at = args[:stop_at] if args.key?(:stop_at)
2717
+ @stop_at_mark = args[:stop_at_mark] if args.key?(:stop_at_mark)
1635
2718
  @striped = args[:striped] if args.key?(:striped)
1636
2719
  end
1637
2720
 
@@ -1646,6 +2729,12 @@ module Google
1646
2729
  # @return [String]
1647
2730
  attr_accessor :cert_path
1648
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
+
1649
2738
  # Password that encrypts the private key
1650
2739
  # Corresponds to the JSON property `pvkPassword`
1651
2740
  # @return [String]
@@ -1665,6 +2754,7 @@ module Google
1665
2754
  # Update properties of this object
1666
2755
  def update!(**args)
1667
2756
  @cert_path = args[:cert_path] if args.key?(:cert_path)
2757
+ @keep_encrypted = args[:keep_encrypted] if args.key?(:keep_encrypted)
1668
2758
  @pvk_password = args[:pvk_password] if args.key?(:pvk_password)
1669
2759
  @pvk_path = args[:pvk_path] if args.key?(:pvk_path)
1670
2760
  end
@@ -1723,6 +2813,109 @@ module Google
1723
2813
  @table = args[:table] if args.key?(:table)
1724
2814
  end
1725
2815
  end
2816
+
2817
+ # Optional. Options for importing data from SQL statements.
2818
+ class SqlImportOptions
2819
+ include Google::Apis::Core::Hashable
2820
+
2821
+ # Optional. Whether or not the import should be parallel.
2822
+ # Corresponds to the JSON property `parallel`
2823
+ # @return [Boolean]
2824
+ attr_accessor :parallel
2825
+ alias_method :parallel?, :parallel
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
+
2832
+ # Optional. The number of threads to use for parallel import.
2833
+ # Corresponds to the JSON property `threads`
2834
+ # @return [Fixnum]
2835
+ attr_accessor :threads
2836
+
2837
+ def initialize(**args)
2838
+ update!(**args)
2839
+ end
2840
+
2841
+ # Update properties of this object
2842
+ def update!(**args)
2843
+ @parallel = args[:parallel] if args.key?(:parallel)
2844
+ @postgres_import_options = args[:postgres_import_options] if args.key?(:postgres_import_options)
2845
+ @threads = args[:threads] if args.key?(:threads)
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
2918
+ end
1726
2919
  end
1727
2920
 
1728
2921
  # Insights configuration. This specifies when Cloud SQL Insights feature is
@@ -1743,8 +2936,8 @@ module Google
1743
2936
  attr_accessor :query_plans_per_minute
1744
2937
 
1745
2938
  # Maximum query length stored in bytes. Default value: 1024 bytes. Range: 256-
1746
- # 4500 bytes. Query length more than this field value will be truncated to this
1747
- # 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
1748
2941
  # length will restart the database.
1749
2942
  # Corresponds to the JSON property `queryStringLength`
1750
2943
  # @return [Fixnum]
@@ -1809,6 +3002,25 @@ module Google
1809
3002
  end
1810
3003
  end
1811
3004
 
3005
+ # Request to acquire an SSRS lease for an instance.
3006
+ class InstancesAcquireSsrsLeaseRequest
3007
+ include Google::Apis::Core::Hashable
3008
+
3009
+ # Acquire SSRS lease context.
3010
+ # Corresponds to the JSON property `acquireSsrsLeaseContext`
3011
+ # @return [Google::Apis::SqladminV1beta4::AcquireSsrsLeaseContext]
3012
+ attr_accessor :acquire_ssrs_lease_context
3013
+
3014
+ def initialize(**args)
3015
+ update!(**args)
3016
+ end
3017
+
3018
+ # Update properties of this object
3019
+ def update!(**args)
3020
+ @acquire_ssrs_lease_context = args[:acquire_ssrs_lease_context] if args.key?(:acquire_ssrs_lease_context)
3021
+ end
3022
+ end
3023
+
1812
3024
  # Database instance clone request.
1813
3025
  class CloneInstancesRequest
1814
3026
  include Google::Apis::Core::Hashable
@@ -1847,6 +3059,27 @@ module Google
1847
3059
  end
1848
3060
  end
1849
3061
 
3062
+ # This request is used to demote an existing standalone instance to be a Cloud
3063
+ # SQL read replica for an external database server.
3064
+ class InstancesDemoteRequest
3065
+ include Google::Apis::Core::Hashable
3066
+
3067
+ # This context is used to demote an existing standalone instance to be a Cloud
3068
+ # SQL read replica for an external database server.
3069
+ # Corresponds to the JSON property `demoteContext`
3070
+ # @return [Google::Apis::SqladminV1beta4::DemoteContext]
3071
+ attr_accessor :demote_context
3072
+
3073
+ def initialize(**args)
3074
+ update!(**args)
3075
+ end
3076
+
3077
+ # Update properties of this object
3078
+ def update!(**args)
3079
+ @demote_context = args[:demote_context] if args.key?(:demote_context)
3080
+ end
3081
+ end
3082
+
1850
3083
  # Database instance export request.
1851
3084
  class ExportInstancesRequest
1852
3085
  include Google::Apis::Core::Hashable
@@ -1973,23 +3206,130 @@ module Google
1973
3206
  end
1974
3207
  end
1975
3208
 
3209
+ # Instances ListServerCertificatess response.
3210
+ class InstancesListServerCertificatesResponse
3211
+ include Google::Apis::Core::Hashable
3212
+
3213
+ # The `sha1_fingerprint` of the active certificate from `server_certs`.
3214
+ # Corresponds to the JSON property `activeVersion`
3215
+ # @return [String]
3216
+ attr_accessor :active_version
3217
+
3218
+ # List of server CA certificates for the instance.
3219
+ # Corresponds to the JSON property `caCerts`
3220
+ # @return [Array<Google::Apis::SqladminV1beta4::SslCert>]
3221
+ attr_accessor :ca_certs
3222
+
3223
+ # This is always `sql#instancesListServerCertificates`.
3224
+ # Corresponds to the JSON property `kind`
3225
+ # @return [String]
3226
+ attr_accessor :kind
3227
+
3228
+ # List of server certificates for the instance, signed by the corresponding CA
3229
+ # from the `ca_certs` list.
3230
+ # Corresponds to the JSON property `serverCerts`
3231
+ # @return [Array<Google::Apis::SqladminV1beta4::SslCert>]
3232
+ attr_accessor :server_certs
3233
+
3234
+ def initialize(**args)
3235
+ update!(**args)
3236
+ end
3237
+
3238
+ # Update properties of this object
3239
+ def update!(**args)
3240
+ @active_version = args[:active_version] if args.key?(:active_version)
3241
+ @ca_certs = args[:ca_certs] if args.key?(:ca_certs)
3242
+ @kind = args[:kind] if args.key?(:kind)
3243
+ @server_certs = args[:server_certs] if args.key?(:server_certs)
3244
+ end
3245
+ end
3246
+
3247
+ # Request for Pre-checks for MVU
3248
+ class InstancesPreCheckMajorVersionUpgradeRequest
3249
+ include Google::Apis::Core::Hashable
3250
+
3251
+ # Pre-check major version upgrade context.
3252
+ # Corresponds to the JSON property `preCheckMajorVersionUpgradeContext`
3253
+ # @return [Google::Apis::SqladminV1beta4::PreCheckMajorVersionUpgradeContext]
3254
+ attr_accessor :pre_check_major_version_upgrade_context
3255
+
3256
+ def initialize(**args)
3257
+ update!(**args)
3258
+ end
3259
+
3260
+ # Update properties of this object
3261
+ def update!(**args)
3262
+ @pre_check_major_version_upgrade_context = args[:pre_check_major_version_upgrade_context] if args.key?(:pre_check_major_version_upgrade_context)
3263
+ end
3264
+ end
3265
+
3266
+ # Database Instance reencrypt request.
3267
+ class InstancesReencryptRequest
3268
+ include Google::Apis::Core::Hashable
3269
+
3270
+ # Backup Reencryption Config
3271
+ # Corresponds to the JSON property `backupReencryptionConfig`
3272
+ # @return [Google::Apis::SqladminV1beta4::BackupReencryptionConfig]
3273
+ attr_accessor :backup_reencryption_config
3274
+
3275
+ def initialize(**args)
3276
+ update!(**args)
3277
+ end
3278
+
3279
+ # Update properties of this object
3280
+ def update!(**args)
3281
+ @backup_reencryption_config = args[:backup_reencryption_config] if args.key?(:backup_reencryption_config)
3282
+ end
3283
+ end
3284
+
1976
3285
  # Database instance restore backup request.
1977
3286
  class RestoreInstancesBackupRequest
1978
3287
  include Google::Apis::Core::Hashable
1979
3288
 
3289
+ # The name of the backup that's used to restore a Cloud SQL instance: Format:
3290
+ # projects/`project-id`/backups/`backup-uid`. Only one of restore_backup_context,
3291
+ # backup, backupdr_backup can be passed to the input.
3292
+ # Corresponds to the JSON property `backup`
3293
+ # @return [String]
3294
+ attr_accessor :backup
3295
+
3296
+ # The name of the backup that's used to restore a Cloud SQL instance: Format: "
3297
+ # projects/`project-id`/locations/`location`/backupVaults/`backupvault`/
3298
+ # dataSources/`datasource`/backups/`backup-uid`". Only one of
3299
+ # restore_backup_context, backup, backupdr_backup can be passed to the input.
3300
+ # Corresponds to the JSON property `backupdrBackup`
3301
+ # @return [String]
3302
+ attr_accessor :backupdr_backup
3303
+
1980
3304
  # Database instance restore from backup context. Backup context contains source
1981
3305
  # instance id and project id.
1982
3306
  # Corresponds to the JSON property `restoreBackupContext`
1983
3307
  # @return [Google::Apis::SqladminV1beta4::RestoreBackupContext]
1984
3308
  attr_accessor :restore_backup_context
1985
3309
 
3310
+ # Optional. This field has the same purpose as restore_instance_settings,
3311
+ # changes any instance settings stored in the backup you are restoring from.
3312
+ # With the difference that these fields are cleared in the settings.
3313
+ # Corresponds to the JSON property `restoreInstanceClearOverridesFieldNames`
3314
+ # @return [Array<String>]
3315
+ attr_accessor :restore_instance_clear_overrides_field_names
3316
+
3317
+ # A Cloud SQL instance resource.
3318
+ # Corresponds to the JSON property `restoreInstanceSettings`
3319
+ # @return [Google::Apis::SqladminV1beta4::DatabaseInstance]
3320
+ attr_accessor :restore_instance_settings
3321
+
1986
3322
  def initialize(**args)
1987
3323
  update!(**args)
1988
3324
  end
1989
3325
 
1990
3326
  # Update properties of this object
1991
3327
  def update!(**args)
3328
+ @backup = args[:backup] if args.key?(:backup)
3329
+ @backupdr_backup = args[:backupdr_backup] if args.key?(:backupdr_backup)
1992
3330
  @restore_backup_context = args[:restore_backup_context] if args.key?(:restore_backup_context)
3331
+ @restore_instance_clear_overrides_field_names = args[:restore_instance_clear_overrides_field_names] if args.key?(:restore_instance_clear_overrides_field_names)
3332
+ @restore_instance_settings = args[:restore_instance_settings] if args.key?(:restore_instance_settings)
1993
3333
  end
1994
3334
  end
1995
3335
 
@@ -2012,6 +3352,25 @@ module Google
2012
3352
  end
2013
3353
  end
2014
3354
 
3355
+ # Rotate Server Certificate request.
3356
+ class InstancesRotateServerCertificateRequest
3357
+ include Google::Apis::Core::Hashable
3358
+
3359
+ # Instance rotate server certificate context.
3360
+ # Corresponds to the JSON property `rotateServerCertificateContext`
3361
+ # @return [Google::Apis::SqladminV1beta4::RotateServerCertificateContext]
3362
+ attr_accessor :rotate_server_certificate_context
3363
+
3364
+ def initialize(**args)
3365
+ update!(**args)
3366
+ end
3367
+
3368
+ # Update properties of this object
3369
+ def update!(**args)
3370
+ @rotate_server_certificate_context = args[:rotate_server_certificate_context] if args.key?(:rotate_server_certificate_context)
3371
+ end
3372
+ end
3373
+
2015
3374
  # Instance truncate log request.
2016
3375
  class InstancesTruncateLogRequest
2017
3376
  include Google::Apis::Core::Hashable
@@ -2031,6 +3390,36 @@ module Google
2031
3390
  end
2032
3391
  end
2033
3392
 
3393
+ # Represents a time interval, encoded as a Timestamp start (inclusive) and a
3394
+ # Timestamp end (exclusive). The start must be less than or equal to the end.
3395
+ # When the start equals the end, the interval is empty (matches no time). When
3396
+ # both start and end are unspecified, the interval matches any time.
3397
+ class Interval
3398
+ include Google::Apis::Core::Hashable
3399
+
3400
+ # Optional. Exclusive end of the interval. If specified, a Timestamp matching
3401
+ # this interval will have to be before the end.
3402
+ # Corresponds to the JSON property `endTime`
3403
+ # @return [String]
3404
+ attr_accessor :end_time
3405
+
3406
+ # Optional. Inclusive start of the interval. If specified, a Timestamp matching
3407
+ # this interval will have to be the same or after the start.
3408
+ # Corresponds to the JSON property `startTime`
3409
+ # @return [String]
3410
+ attr_accessor :start_time
3411
+
3412
+ def initialize(**args)
3413
+ update!(**args)
3414
+ end
3415
+
3416
+ # Update properties of this object
3417
+ def update!(**args)
3418
+ @end_time = args[:end_time] if args.key?(:end_time)
3419
+ @start_time = args[:start_time] if args.key?(:start_time)
3420
+ end
3421
+ end
3422
+
2034
3423
  # IP Management configuration.
2035
3424
  class IpConfiguration
2036
3425
  include Google::Apis::Core::Hashable
@@ -2051,6 +3440,11 @@ module Google
2051
3440
  # @return [Array<Google::Apis::SqladminV1beta4::AclEntry>]
2052
3441
  attr_accessor :authorized_networks
2053
3442
 
3443
+ # Optional. Custom Subject Alternative Name(SAN)s for a Cloud SQL instance.
3444
+ # Corresponds to the JSON property `customSubjectAlternativeNames`
3445
+ # @return [Array<String>]
3446
+ attr_accessor :custom_subject_alternative_names
3447
+
2054
3448
  # Controls connectivity to private IP instances from Google services, such as
2055
3449
  # BigQuery.
2056
3450
  # Corresponds to the JSON property `enablePrivatePathForGoogleCloudServices`
@@ -2072,12 +3466,52 @@ module Google
2072
3466
  # @return [String]
2073
3467
  attr_accessor :private_network
2074
3468
 
2075
- # Whether SSL connections over IP are enforced or not.
3469
+ # PSC settings for a Cloud SQL instance.
3470
+ # Corresponds to the JSON property `pscConfig`
3471
+ # @return [Google::Apis::SqladminV1beta4::PscConfig]
3472
+ attr_accessor :psc_config
3473
+
3474
+ # Use `ssl_mode` instead. Whether SSL/TLS connections over IP are enforced. If
3475
+ # set to false, then allow both non-SSL/non-TLS and SSL/TLS connections. For SSL/
3476
+ # TLS connections, the client certificate won't be verified. If set to true,
3477
+ # then only allow connections encrypted with SSL/TLS and with valid client
3478
+ # certificates. If you want to enforce SSL/TLS without enforcing the requirement
3479
+ # for valid client certificates, then use the `ssl_mode` flag instead of the
3480
+ # legacy `require_ssl` flag.
2076
3481
  # Corresponds to the JSON property `requireSsl`
2077
3482
  # @return [Boolean]
2078
3483
  attr_accessor :require_ssl
2079
3484
  alias_method :require_ssl?, :require_ssl
2080
3485
 
3486
+ # Specify what type of CA is used for the server certificate.
3487
+ # Corresponds to the JSON property `serverCaMode`
3488
+ # @return [String]
3489
+ attr_accessor :server_ca_mode
3490
+
3491
+ # Optional. The resource name of the server CA pool for an instance with `
3492
+ # CUSTOMER_MANAGED_CAS_CA` as the `server_ca_mode`. Format: projects/`PROJECT`/
3493
+ # locations/`REGION`/caPools/`CA_POOL_ID`
3494
+ # Corresponds to the JSON property `serverCaPool`
3495
+ # @return [String]
3496
+ attr_accessor :server_ca_pool
3497
+
3498
+ # Specify how SSL/TLS is enforced in database connections. If you must use the `
3499
+ # require_ssl` flag for backward compatibility, then only the following value
3500
+ # pairs are valid: For PostgreSQL and MySQL: * `ssl_mode=
3501
+ # ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=
3502
+ # ENCRYPTED_ONLY` and `require_ssl=false` * `ssl_mode=
3503
+ # TRUSTED_CLIENT_CERTIFICATE_REQUIRED` and `require_ssl=true` For SQL Server: * `
3504
+ # ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=
3505
+ # ENCRYPTED_ONLY` and `require_ssl=true` The value of `ssl_mode` has priority
3506
+ # over the value of `require_ssl`. For example, for the pair `ssl_mode=
3507
+ # ENCRYPTED_ONLY` and `require_ssl=false`, `ssl_mode=ENCRYPTED_ONLY` means
3508
+ # accept only SSL connections, while `require_ssl=false` means accept both non-
3509
+ # SSL and SSL connections. In this case, MySQL and PostgreSQL databases respect `
3510
+ # ssl_mode` and accepts only SSL connections.
3511
+ # Corresponds to the JSON property `sslMode`
3512
+ # @return [String]
3513
+ attr_accessor :ssl_mode
3514
+
2081
3515
  def initialize(**args)
2082
3516
  update!(**args)
2083
3517
  end
@@ -2086,14 +3520,19 @@ module Google
2086
3520
  def update!(**args)
2087
3521
  @allocated_ip_range = args[:allocated_ip_range] if args.key?(:allocated_ip_range)
2088
3522
  @authorized_networks = args[:authorized_networks] if args.key?(:authorized_networks)
3523
+ @custom_subject_alternative_names = args[:custom_subject_alternative_names] if args.key?(:custom_subject_alternative_names)
2089
3524
  @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)
2090
3525
  @ipv4_enabled = args[:ipv4_enabled] if args.key?(:ipv4_enabled)
2091
3526
  @private_network = args[:private_network] if args.key?(:private_network)
3527
+ @psc_config = args[:psc_config] if args.key?(:psc_config)
2092
3528
  @require_ssl = args[:require_ssl] if args.key?(:require_ssl)
3529
+ @server_ca_mode = args[:server_ca_mode] if args.key?(:server_ca_mode)
3530
+ @server_ca_pool = args[:server_ca_pool] if args.key?(:server_ca_pool)
3531
+ @ssl_mode = args[:ssl_mode] if args.key?(:ssl_mode)
2093
3532
  end
2094
3533
  end
2095
3534
 
2096
- # Database instance IP Mapping.
3535
+ # Database instance IP mapping
2097
3536
  class IpMapping
2098
3537
  include Google::Apis::Core::Hashable
2099
3538
 
@@ -2129,6 +3568,39 @@ module Google
2129
3568
  end
2130
3569
  end
2131
3570
 
3571
+ # The response payload containing a list of the backups.
3572
+ class ListBackupsResponse
3573
+ include Google::Apis::Core::Hashable
3574
+
3575
+ # A list of backups.
3576
+ # Corresponds to the JSON property `backups`
3577
+ # @return [Array<Google::Apis::SqladminV1beta4::Backup>]
3578
+ attr_accessor :backups
3579
+
3580
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
3581
+ # field is omitted, then there aren't subsequent pages.
3582
+ # Corresponds to the JSON property `nextPageToken`
3583
+ # @return [String]
3584
+ attr_accessor :next_page_token
3585
+
3586
+ # If a region isn't unavailable or if an unknown error occurs, then a warning
3587
+ # message is returned.
3588
+ # Corresponds to the JSON property `warnings`
3589
+ # @return [Array<Google::Apis::SqladminV1beta4::ApiWarning>]
3590
+ attr_accessor :warnings
3591
+
3592
+ def initialize(**args)
3593
+ update!(**args)
3594
+ end
3595
+
3596
+ # Update properties of this object
3597
+ def update!(**args)
3598
+ @backups = args[:backups] if args.key?(:backups)
3599
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3600
+ @warnings = args[:warnings] if args.key?(:warnings)
3601
+ end
3602
+ end
3603
+
2132
3604
  # Preferred location. This specifies where a Cloud SQL instance is located. Note
2133
3605
  # that if the preferred location is not available, the instance will be located
2134
3606
  # as close as possible within the region. Only one location may be specified.
@@ -2147,7 +3619,8 @@ module Google
2147
3619
  attr_accessor :kind
2148
3620
 
2149
3621
  # The preferred Compute Engine zone for the secondary/failover (for example: us-
2150
- # central1-a, us-central1-b, etc.).
3622
+ # central1-a, us-central1-b, etc.). To disable this field, set it to '
3623
+ # no_secondary_zone'.
2151
3624
  # Corresponds to the JSON property `secondaryZone`
2152
3625
  # @return [String]
2153
3626
  attr_accessor :secondary_zone
@@ -2176,12 +3649,14 @@ module Google
2176
3649
  class MaintenanceWindow
2177
3650
  include Google::Apis::Core::Hashable
2178
3651
 
2179
- # day of week (1-7), starting on Monday.
3652
+ # Day of week - `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `
3653
+ # SATURDAY`, or `SUNDAY`. Specify in the UTC time zone. Returned in output as an
3654
+ # integer, 1 to 7, where `1` equals Monday.
2180
3655
  # Corresponds to the JSON property `day`
2181
3656
  # @return [Fixnum]
2182
3657
  attr_accessor :day
2183
3658
 
2184
- # hour of day - 0 to 23.
3659
+ # Hour of day - 0 to 23. Specify in the UTC time zone.
2185
3660
  # Corresponds to the JSON property `hour`
2186
3661
  # @return [Fixnum]
2187
3662
  attr_accessor :hour
@@ -2191,9 +3666,9 @@ module Google
2191
3666
  # @return [String]
2192
3667
  attr_accessor :kind
2193
3668
 
2194
- # Maintenance timing setting: `canary` (Earlier) or `stable` (Later). [Learn
2195
- # more](https://cloud.google.com/sql/docs/mysql/instance-settings#maintenance-
2196
- # timing-2ndgen).
3669
+ # Maintenance timing settings: `canary`, `stable`, or `week5`. For more
3670
+ # information, see [About maintenance on Cloud SQL instances](https://cloud.
3671
+ # google.com/sql/docs/mysql/maintenance).
2197
3672
  # Corresponds to the JSON property `updateTrack`
2198
3673
  # @return [String]
2199
3674
  attr_accessor :update_track
@@ -2211,25 +3686,73 @@ module Google
2211
3686
  end
2212
3687
  end
2213
3688
 
2214
- # Read-replica configuration specific to MySQL databases.
2215
- class MySqlReplicaConfiguration
3689
+ # Represents a notice or warning message from the database.
3690
+ class Message
2216
3691
  include Google::Apis::Core::Hashable
2217
3692
 
2218
- # PEM representation of the trusted CA's x509 certificate.
2219
- # Corresponds to the JSON property `caCertificate`
3693
+ # The full message string. For PostgreSQL, this is a formatted string that may
3694
+ # include severity, code, and the notice/warning message. For MySQL, this
3695
+ # contains the warning message.
3696
+ # Corresponds to the JSON property `message`
2220
3697
  # @return [String]
2221
- attr_accessor :ca_certificate
3698
+ attr_accessor :message
2222
3699
 
2223
- # PEM representation of the replica's x509 certificate.
2224
- # Corresponds to the JSON property `clientCertificate`
3700
+ # The severity of the message (e.g., "NOTICE" for PostgreSQL, "WARNING" for
3701
+ # MySQL).
3702
+ # Corresponds to the JSON property `severity`
2225
3703
  # @return [String]
2226
- attr_accessor :client_certificate
3704
+ attr_accessor :severity
2227
3705
 
2228
- # PEM representation of the replica's private key. The corresponsing public key
2229
- # is encoded in the client's certificate.
2230
- # Corresponds to the JSON property `clientKey`
3706
+ def initialize(**args)
3707
+ update!(**args)
3708
+ end
3709
+
3710
+ # Update properties of this object
3711
+ def update!(**args)
3712
+ @message = args[:message] if args.key?(:message)
3713
+ @severity = args[:severity] if args.key?(:severity)
3714
+ end
3715
+ end
3716
+
3717
+ # The additional metadata information regarding the execution of the SQL
3718
+ # statements.
3719
+ class Metadata
3720
+ include Google::Apis::Core::Hashable
3721
+
3722
+ # The time taken to execute the SQL statements.
3723
+ # Corresponds to the JSON property `sqlStatementExecutionTime`
2231
3724
  # @return [String]
2232
- attr_accessor :client_key
3725
+ attr_accessor :sql_statement_execution_time
3726
+
3727
+ def initialize(**args)
3728
+ update!(**args)
3729
+ end
3730
+
3731
+ # Update properties of this object
3732
+ def update!(**args)
3733
+ @sql_statement_execution_time = args[:sql_statement_execution_time] if args.key?(:sql_statement_execution_time)
3734
+ end
3735
+ end
3736
+
3737
+ # Read-replica configuration specific to MySQL databases.
3738
+ class MySqlReplicaConfiguration
3739
+ include Google::Apis::Core::Hashable
3740
+
3741
+ # PEM representation of the trusted CA's x509 certificate.
3742
+ # Corresponds to the JSON property `caCertificate`
3743
+ # @return [String]
3744
+ attr_accessor :ca_certificate
3745
+
3746
+ # PEM representation of the replica's x509 certificate.
3747
+ # Corresponds to the JSON property `clientCertificate`
3748
+ # @return [String]
3749
+ attr_accessor :client_certificate
3750
+
3751
+ # PEM representation of the replica's private key. The corresponding public key
3752
+ # is encoded in the client's certificate.
3753
+ # Corresponds to the JSON property `clientKey`
3754
+ # @return [String]
3755
+ attr_accessor :client_key
2233
3756
 
2234
3757
  # Seconds to wait between connect retries. MySQL's default is 60 seconds.
2235
3758
  # Corresponds to the JSON property `connectRetryInterval`
@@ -2330,7 +3853,7 @@ module Google
2330
3853
  # @return [String]
2331
3854
  attr_accessor :client_certificate
2332
3855
 
2333
- # PEM representation of the replica's private key. The corresponsing public key
3856
+ # PEM representation of the replica's private key. The corresponding public key
2334
3857
  # is encoded in the client's certificate.
2335
3858
  # Corresponds to the JSON property `clientKey`
2336
3859
  # @return [String]
@@ -2356,11 +3879,22 @@ module Google
2356
3879
  # @return [String]
2357
3880
  attr_accessor :password
2358
3881
 
3882
+ # Optional. A list of objects that the user selects for replication from an
3883
+ # external source instance.
3884
+ # Corresponds to the JSON property `selectedObjects`
3885
+ # @return [Array<Google::Apis::SqladminV1beta4::SelectedObjects>]
3886
+ attr_accessor :selected_objects
3887
+
2359
3888
  # Reference to another Cloud SQL instance.
2360
3889
  # Corresponds to the JSON property `sourceInstance`
2361
3890
  # @return [Google::Apis::SqladminV1beta4::InstanceReference]
2362
3891
  attr_accessor :source_instance
2363
3892
 
3893
+ # Optional. SslOption for replica connection to the on-premises source.
3894
+ # Corresponds to the JSON property `sslOption`
3895
+ # @return [String]
3896
+ attr_accessor :ssl_option
3897
+
2364
3898
  # The username for connecting to on-premises instance.
2365
3899
  # Corresponds to the JSON property `username`
2366
3900
  # @return [String]
@@ -2379,7 +3913,9 @@ module Google
2379
3913
  @host_port = args[:host_port] if args.key?(:host_port)
2380
3914
  @kind = args[:kind] if args.key?(:kind)
2381
3915
  @password = args[:password] if args.key?(:password)
3916
+ @selected_objects = args[:selected_objects] if args.key?(:selected_objects)
2382
3917
  @source_instance = args[:source_instance] if args.key?(:source_instance)
3918
+ @ssl_option = args[:ssl_option] if args.key?(:ssl_option)
2383
3919
  @username = args[:username] if args.key?(:username)
2384
3920
  end
2385
3921
  end
@@ -2390,6 +3926,16 @@ module Google
2390
3926
  class Operation
2391
3927
  include Google::Apis::Core::Hashable
2392
3928
 
3929
+ # Acquire SSRS lease context.
3930
+ # Corresponds to the JSON property `acquireSsrsLeaseContext`
3931
+ # @return [Google::Apis::SqladminV1beta4::AcquireSsrsLeaseContext]
3932
+ attr_accessor :acquire_ssrs_lease_context
3933
+
3934
+ # An Admin API warning message.
3935
+ # Corresponds to the JSON property `apiWarning`
3936
+ # @return [Google::Apis::SqladminV1beta4::ApiWarning]
3937
+ attr_accessor :api_warning
3938
+
2393
3939
  # Backup context.
2394
3940
  # Corresponds to the JSON property `backupContext`
2395
3941
  # @return [Google::Apis::SqladminV1beta4::BackupContext]
@@ -2441,6 +3987,11 @@ module Google
2441
3987
  # @return [String]
2442
3988
  attr_accessor :operation_type
2443
3989
 
3990
+ # Pre-check major version upgrade context.
3991
+ # Corresponds to the JSON property `preCheckMajorVersionUpgradeContext`
3992
+ # @return [Google::Apis::SqladminV1beta4::PreCheckMajorVersionUpgradeContext]
3993
+ attr_accessor :pre_check_major_version_upgrade_context
3994
+
2444
3995
  # The URI of this resource.
2445
3996
  # Corresponds to the JSON property `selfLink`
2446
3997
  # @return [String]
@@ -2457,7 +4008,12 @@ module Google
2457
4008
  # @return [String]
2458
4009
  attr_accessor :status
2459
4010
 
2460
- # Name of the database instance related to this operation.
4011
+ # The sub operation type based on the operation type.
4012
+ # Corresponds to the JSON property `subOperationType`
4013
+ # @return [Google::Apis::SqladminV1beta4::SqlSubOperationType]
4014
+ attr_accessor :sub_operation_type
4015
+
4016
+ # Name of the resource on which this operation runs.
2461
4017
  # Corresponds to the JSON property `targetId`
2462
4018
  # @return [String]
2463
4019
  attr_accessor :target_id
@@ -2483,6 +4039,8 @@ module Google
2483
4039
 
2484
4040
  # Update properties of this object
2485
4041
  def update!(**args)
4042
+ @acquire_ssrs_lease_context = args[:acquire_ssrs_lease_context] if args.key?(:acquire_ssrs_lease_context)
4043
+ @api_warning = args[:api_warning] if args.key?(:api_warning)
2486
4044
  @backup_context = args[:backup_context] if args.key?(:backup_context)
2487
4045
  @end_time = args[:end_time] if args.key?(:end_time)
2488
4046
  @error = args[:error] if args.key?(:error)
@@ -2492,9 +4050,11 @@ module Google
2492
4050
  @kind = args[:kind] if args.key?(:kind)
2493
4051
  @name = args[:name] if args.key?(:name)
2494
4052
  @operation_type = args[:operation_type] if args.key?(:operation_type)
4053
+ @pre_check_major_version_upgrade_context = args[:pre_check_major_version_upgrade_context] if args.key?(:pre_check_major_version_upgrade_context)
2495
4054
  @self_link = args[:self_link] if args.key?(:self_link)
2496
4055
  @start_time = args[:start_time] if args.key?(:start_time)
2497
4056
  @status = args[:status] if args.key?(:status)
4057
+ @sub_operation_type = args[:sub_operation_type] if args.key?(:sub_operation_type)
2498
4058
  @target_id = args[:target_id] if args.key?(:target_id)
2499
4059
  @target_link = args[:target_link] if args.key?(:target_link)
2500
4060
  @target_project = args[:target_project] if args.key?(:target_project)
@@ -2558,6 +4118,65 @@ module Google
2558
4118
  end
2559
4119
  end
2560
4120
 
4121
+ # Represents the metadata of the long-running operation.
4122
+ class OperationMetadata
4123
+ include Google::Apis::Core::Hashable
4124
+
4125
+ # Output only. API version used to start the operation.
4126
+ # Corresponds to the JSON property `apiVersion`
4127
+ # @return [String]
4128
+ attr_accessor :api_version
4129
+
4130
+ # Output only. Identifies whether the user has requested cancellation of the
4131
+ # operation. Operations that have been cancelled successfully have google.
4132
+ # longrunning.Operation.error value with a google.rpc.Status.code of `1`,
4133
+ # corresponding to `Code.CANCELLED`.
4134
+ # Corresponds to the JSON property `cancelRequested`
4135
+ # @return [Boolean]
4136
+ attr_accessor :cancel_requested
4137
+ alias_method :cancel_requested?, :cancel_requested
4138
+
4139
+ # Output only. The time the operation was created.
4140
+ # Corresponds to the JSON property `createTime`
4141
+ # @return [String]
4142
+ attr_accessor :create_time
4143
+
4144
+ # Output only. The time the operation finished running.
4145
+ # Corresponds to the JSON property `endTime`
4146
+ # @return [String]
4147
+ attr_accessor :end_time
4148
+
4149
+ # Output only. Human-readable status of the operation, if any.
4150
+ # Corresponds to the JSON property `statusDetail`
4151
+ # @return [String]
4152
+ attr_accessor :status_detail
4153
+
4154
+ # Output only. Server-defined resource path for the target of the operation.
4155
+ # Corresponds to the JSON property `target`
4156
+ # @return [String]
4157
+ attr_accessor :target
4158
+
4159
+ # Output only. Name of the verb executed by the operation.
4160
+ # Corresponds to the JSON property `verb`
4161
+ # @return [String]
4162
+ attr_accessor :verb
4163
+
4164
+ def initialize(**args)
4165
+ update!(**args)
4166
+ end
4167
+
4168
+ # Update properties of this object
4169
+ def update!(**args)
4170
+ @api_version = args[:api_version] if args.key?(:api_version)
4171
+ @cancel_requested = args[:cancel_requested] if args.key?(:cancel_requested)
4172
+ @create_time = args[:create_time] if args.key?(:create_time)
4173
+ @end_time = args[:end_time] if args.key?(:end_time)
4174
+ @status_detail = args[:status_detail] if args.key?(:status_detail)
4175
+ @target = args[:target] if args.key?(:target)
4176
+ @verb = args[:verb] if args.key?(:verb)
4177
+ end
4178
+ end
4179
+
2561
4180
  # Operations list response.
2562
4181
  class ListOperationsResponse
2563
4182
  include Google::Apis::Core::Hashable
@@ -2625,6 +4244,12 @@ module Google
2625
4244
  # @return [String]
2626
4245
  attr_accessor :complexity
2627
4246
 
4247
+ # This field is deprecated and will be removed in a future version of the API.
4248
+ # Corresponds to the JSON property `disallowCompromisedCredentials`
4249
+ # @return [Boolean]
4250
+ attr_accessor :disallow_compromised_credentials
4251
+ alias_method :disallow_compromised_credentials?, :disallow_compromised_credentials
4252
+
2628
4253
  # Disallow username as a part of the password.
2629
4254
  # Corresponds to the JSON property `disallowUsernameSubstring`
2630
4255
  # @return [Boolean]
@@ -2660,6 +4285,7 @@ module Google
2660
4285
  # Update properties of this object
2661
4286
  def update!(**args)
2662
4287
  @complexity = args[:complexity] if args.key?(:complexity)
4288
+ @disallow_compromised_credentials = args[:disallow_compromised_credentials] if args.key?(:disallow_compromised_credentials)
2663
4289
  @disallow_username_substring = args[:disallow_username_substring] if args.key?(:disallow_username_substring)
2664
4290
  @enable_password_policy = args[:enable_password_policy] if args.key?(:enable_password_policy)
2665
4291
  @min_length = args[:min_length] if args.key?(:min_length)
@@ -2668,10 +4294,421 @@ module Google
2668
4294
  end
2669
4295
  end
2670
4296
 
4297
+ # Perform disk shrink context.
4298
+ class PerformDiskShrinkContext
4299
+ include Google::Apis::Core::Hashable
4300
+
4301
+ # The target disk shrink size in GigaBytes.
4302
+ # Corresponds to the JSON property `targetSizeGb`
4303
+ # @return [Fixnum]
4304
+ attr_accessor :target_size_gb
4305
+
4306
+ def initialize(**args)
4307
+ update!(**args)
4308
+ end
4309
+
4310
+ # Update properties of this object
4311
+ def update!(**args)
4312
+ @target_size_gb = args[:target_size_gb] if args.key?(:target_size_gb)
4313
+ end
4314
+ end
4315
+
4316
+ # Context to perform a point-in-time restore of an instance managed by Google
4317
+ # Cloud Backup and Disaster Recovery.
4318
+ class PointInTimeRestoreContext
4319
+ include Google::Apis::Core::Hashable
4320
+
4321
+ # Optional. The name of the allocated IP range for the internal IP Cloud SQL
4322
+ # instance. For example: "google-managed-services-default". If you set this,
4323
+ # then Cloud SQL creates the IP address for the cloned instance in the allocated
4324
+ # range. This range must comply with [RFC 1035](https://tools.ietf.org/html/
4325
+ # rfc1035) standards. Specifically, the name must be 1-63 characters long and
4326
+ # match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?. Reserved for future
4327
+ # use.
4328
+ # Corresponds to the JSON property `allocatedIpRange`
4329
+ # @return [String]
4330
+ attr_accessor :allocated_ip_range
4331
+
4332
+ # The Google Cloud Backup and Disaster Recovery Datasource URI. Format: projects/
4333
+ # `project`/locations/`region`/backupVaults/`backupvault`/dataSources/`
4334
+ # datasource`.
4335
+ # Corresponds to the JSON property `datasource`
4336
+ # @return [String]
4337
+ attr_accessor :datasource
4338
+
4339
+ # Required. The date and time to which you want to restore the instance.
4340
+ # Corresponds to the JSON property `pointInTime`
4341
+ # @return [String]
4342
+ attr_accessor :point_in_time
4343
+
4344
+ # Optional. Point-in-time recovery of a regional instance in the specified zones.
4345
+ # If not specified, clone to the same secondary zone as the source instance.
4346
+ # This value cannot be the same as the preferred_zone field.
4347
+ # Corresponds to the JSON property `preferredSecondaryZone`
4348
+ # @return [String]
4349
+ attr_accessor :preferred_secondary_zone
4350
+
4351
+ # Optional. Point-in-time recovery of an instance to the specified zone. If no
4352
+ # zone is specified, then clone to the same primary zone as the source instance.
4353
+ # Corresponds to the JSON property `preferredZone`
4354
+ # @return [String]
4355
+ attr_accessor :preferred_zone
4356
+
4357
+ # Optional. The resource link for the VPC network from which the Cloud SQL
4358
+ # instance is accessible for private IP. For example, `/projects/myProject/
4359
+ # global/networks/default`.
4360
+ # Corresponds to the JSON property `privateNetwork`
4361
+ # @return [String]
4362
+ attr_accessor :private_network
4363
+
4364
+ # Target instance name.
4365
+ # Corresponds to the JSON property `targetInstance`
4366
+ # @return [String]
4367
+ attr_accessor :target_instance
4368
+
4369
+ def initialize(**args)
4370
+ update!(**args)
4371
+ end
4372
+
4373
+ # Update properties of this object
4374
+ def update!(**args)
4375
+ @allocated_ip_range = args[:allocated_ip_range] if args.key?(:allocated_ip_range)
4376
+ @datasource = args[:datasource] if args.key?(:datasource)
4377
+ @point_in_time = args[:point_in_time] if args.key?(:point_in_time)
4378
+ @preferred_secondary_zone = args[:preferred_secondary_zone] if args.key?(:preferred_secondary_zone)
4379
+ @preferred_zone = args[:preferred_zone] if args.key?(:preferred_zone)
4380
+ @private_network = args[:private_network] if args.key?(:private_network)
4381
+ @target_instance = args[:target_instance] if args.key?(:target_instance)
4382
+ end
4383
+ end
4384
+
4385
+ # Details of a single read pool node of a read pool.
4386
+ class PoolNodeConfig
4387
+ include Google::Apis::Core::Hashable
4388
+
4389
+ # Output only. The DNS name of the read pool node.
4390
+ # Corresponds to the JSON property `dnsName`
4391
+ # @return [String]
4392
+ attr_accessor :dns_name
4393
+
4394
+ # Output only. The list of DNS names used by this read pool node.
4395
+ # Corresponds to the JSON property `dnsNames`
4396
+ # @return [Array<Google::Apis::SqladminV1beta4::DnsNameMapping>]
4397
+ attr_accessor :dns_names
4398
+
4399
+ # Output only. The zone of the read pool node.
4400
+ # Corresponds to the JSON property `gceZone`
4401
+ # @return [String]
4402
+ attr_accessor :gce_zone
4403
+
4404
+ # Output only. Mappings containing IP addresses that can be used to connect to
4405
+ # the read pool node.
4406
+ # Corresponds to the JSON property `ipAddresses`
4407
+ # @return [Array<Google::Apis::SqladminV1beta4::IpMapping>]
4408
+ attr_accessor :ip_addresses
4409
+
4410
+ # Output only. The name of the read pool node, to be used for retrieving metrics
4411
+ # and logs.
4412
+ # Corresponds to the JSON property `name`
4413
+ # @return [String]
4414
+ attr_accessor :name
4415
+
4416
+ # Output only. The current state of the read pool node.
4417
+ # Corresponds to the JSON property `state`
4418
+ # @return [String]
4419
+ attr_accessor :state
4420
+
4421
+ def initialize(**args)
4422
+ update!(**args)
4423
+ end
4424
+
4425
+ # Update properties of this object
4426
+ def update!(**args)
4427
+ @dns_name = args[:dns_name] if args.key?(:dns_name)
4428
+ @dns_names = args[:dns_names] if args.key?(:dns_names)
4429
+ @gce_zone = args[:gce_zone] if args.key?(:gce_zone)
4430
+ @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
4431
+ @name = args[:name] if args.key?(:name)
4432
+ @state = args[:state] if args.key?(:state)
4433
+ end
4434
+ end
4435
+
4436
+ # Pre-check major version upgrade context.
4437
+ class PreCheckMajorVersionUpgradeContext
4438
+ include Google::Apis::Core::Hashable
4439
+
4440
+ # Optional. This is always `sql#preCheckMajorVersionUpgradeContext`.
4441
+ # Corresponds to the JSON property `kind`
4442
+ # @return [String]
4443
+ attr_accessor :kind
4444
+
4445
+ # Output only. The responses from the precheck operation.
4446
+ # Corresponds to the JSON property `preCheckResponse`
4447
+ # @return [Array<Google::Apis::SqladminV1beta4::PreCheckResponse>]
4448
+ attr_accessor :pre_check_response
4449
+
4450
+ # Required. The target database version to upgrade to.
4451
+ # Corresponds to the JSON property `targetDatabaseVersion`
4452
+ # @return [String]
4453
+ attr_accessor :target_database_version
4454
+
4455
+ def initialize(**args)
4456
+ update!(**args)
4457
+ end
4458
+
4459
+ # Update properties of this object
4460
+ def update!(**args)
4461
+ @kind = args[:kind] if args.key?(:kind)
4462
+ @pre_check_response = args[:pre_check_response] if args.key?(:pre_check_response)
4463
+ @target_database_version = args[:target_database_version] if args.key?(:target_database_version)
4464
+ end
4465
+ end
4466
+
4467
+ # Structured PreCheckResponse containing message, type, and required actions.
4468
+ class PreCheckResponse
4469
+ include Google::Apis::Core::Hashable
4470
+
4471
+ # The actions that the user needs to take. Use repeated for multiple actions.
4472
+ # Corresponds to the JSON property `actionsRequired`
4473
+ # @return [Array<String>]
4474
+ attr_accessor :actions_required
4475
+
4476
+ # The message to be displayed to the user.
4477
+ # Corresponds to the JSON property `message`
4478
+ # @return [String]
4479
+ attr_accessor :message
4480
+
4481
+ # The type of message whether it is an info, warning, or error.
4482
+ # Corresponds to the JSON property `messageType`
4483
+ # @return [String]
4484
+ attr_accessor :message_type
4485
+
4486
+ def initialize(**args)
4487
+ update!(**args)
4488
+ end
4489
+
4490
+ # Update properties of this object
4491
+ def update!(**args)
4492
+ @actions_required = args[:actions_required] if args.key?(:actions_required)
4493
+ @message = args[:message] if args.key?(:message)
4494
+ @message_type = args[:message_type] if args.key?(:message_type)
4495
+ end
4496
+ end
4497
+
4498
+ # Settings for an automatically-setup Private Service Connect consumer endpoint
4499
+ # that is used to connect to a Cloud SQL instance.
4500
+ class PscAutoConnectionConfig
4501
+ include Google::Apis::Core::Hashable
4502
+
4503
+ # Optional. The consumer network of this consumer endpoint. This must be a
4504
+ # resource path that includes both the host project and the network name. For
4505
+ # example, `projects/project1/global/networks/network1`. The consumer host
4506
+ # project of this network might be different from the consumer service project.
4507
+ # Corresponds to the JSON property `consumerNetwork`
4508
+ # @return [String]
4509
+ attr_accessor :consumer_network
4510
+
4511
+ # The connection policy status of the consumer network.
4512
+ # Corresponds to the JSON property `consumerNetworkStatus`
4513
+ # @return [String]
4514
+ attr_accessor :consumer_network_status
4515
+
4516
+ # Optional. This is the project ID of consumer service project of this consumer
4517
+ # endpoint. Optional. This is only applicable if consumer_network is a shared
4518
+ # vpc network.
4519
+ # Corresponds to the JSON property `consumerProject`
4520
+ # @return [String]
4521
+ attr_accessor :consumer_project
4522
+
4523
+ # The IP address of the consumer endpoint.
4524
+ # Corresponds to the JSON property `ipAddress`
4525
+ # @return [String]
4526
+ attr_accessor :ip_address
4527
+
4528
+ # The connection status of the consumer endpoint.
4529
+ # Corresponds to the JSON property `status`
4530
+ # @return [String]
4531
+ attr_accessor :status
4532
+
4533
+ def initialize(**args)
4534
+ update!(**args)
4535
+ end
4536
+
4537
+ # Update properties of this object
4538
+ def update!(**args)
4539
+ @consumer_network = args[:consumer_network] if args.key?(:consumer_network)
4540
+ @consumer_network_status = args[:consumer_network_status] if args.key?(:consumer_network_status)
4541
+ @consumer_project = args[:consumer_project] if args.key?(:consumer_project)
4542
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
4543
+ @status = args[:status] if args.key?(:status)
4544
+ end
4545
+ end
4546
+
4547
+ # PSC settings for a Cloud SQL instance.
4548
+ class PscConfig
4549
+ include Google::Apis::Core::Hashable
4550
+
4551
+ # Optional. The list of consumer projects that are allow-listed for PSC
4552
+ # connections to this instance. This instance can be connected to with PSC from
4553
+ # any network in these projects. Each consumer project in this list may be
4554
+ # represented by a project number (numeric) or by a project id (alphanumeric).
4555
+ # Corresponds to the JSON property `allowedConsumerProjects`
4556
+ # @return [Array<String>]
4557
+ attr_accessor :allowed_consumer_projects
4558
+
4559
+ # Optional. The network attachment of the consumer network that the Private
4560
+ # Service Connect enabled Cloud SQL instance is authorized to connect via PSC
4561
+ # interface. format: projects/PROJECT/regions/REGION/networkAttachments/ID
4562
+ # Corresponds to the JSON property `networkAttachmentUri`
4563
+ # @return [String]
4564
+ attr_accessor :network_attachment_uri
4565
+
4566
+ # Optional. The list of settings for requested Private Service Connect consumer
4567
+ # endpoints that can be used to connect to this Cloud SQL instance.
4568
+ # Corresponds to the JSON property `pscAutoConnections`
4569
+ # @return [Array<Google::Apis::SqladminV1beta4::PscAutoConnectionConfig>]
4570
+ attr_accessor :psc_auto_connections
4571
+
4572
+ # Whether PSC connectivity is enabled for this instance.
4573
+ # Corresponds to the JSON property `pscEnabled`
4574
+ # @return [Boolean]
4575
+ attr_accessor :psc_enabled
4576
+ alias_method :psc_enabled?, :psc_enabled
4577
+
4578
+ def initialize(**args)
4579
+ update!(**args)
4580
+ end
4581
+
4582
+ # Update properties of this object
4583
+ def update!(**args)
4584
+ @allowed_consumer_projects = args[:allowed_consumer_projects] if args.key?(:allowed_consumer_projects)
4585
+ @network_attachment_uri = args[:network_attachment_uri] if args.key?(:network_attachment_uri)
4586
+ @psc_auto_connections = args[:psc_auto_connections] if args.key?(:psc_auto_connections)
4587
+ @psc_enabled = args[:psc_enabled] if args.key?(:psc_enabled)
4588
+ end
4589
+ end
4590
+
4591
+ # QueryResult contains the result of executing a single SQL statement.
4592
+ class QueryResult
4593
+ include Google::Apis::Core::Hashable
4594
+
4595
+ # List of columns included in the result. This also includes the data type of
4596
+ # the column.
4597
+ # Corresponds to the JSON property `columns`
4598
+ # @return [Array<Google::Apis::SqladminV1beta4::Column>]
4599
+ attr_accessor :columns
4600
+
4601
+ # Message related to the SQL execution result.
4602
+ # Corresponds to the JSON property `message`
4603
+ # @return [String]
4604
+ attr_accessor :message
4605
+
4606
+ # Set to true if the SQL execution's result is truncated due to size limits or
4607
+ # an error retrieving results.
4608
+ # Corresponds to the JSON property `partialResult`
4609
+ # @return [Boolean]
4610
+ attr_accessor :partial_result
4611
+ alias_method :partial_result?, :partial_result
4612
+
4613
+ # Rows returned by the SQL statement.
4614
+ # Corresponds to the JSON property `rows`
4615
+ # @return [Array<Google::Apis::SqladminV1beta4::Row>]
4616
+ attr_accessor :rows
4617
+
4618
+ # The `Status` type defines a logical error model that is suitable for different
4619
+ # programming environments, including REST APIs and RPC APIs. It is used by [
4620
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
4621
+ # data: error code, error message, and error details. You can find out more
4622
+ # about this error model and how to work with it in the [API Design Guide](https:
4623
+ # //cloud.google.com/apis/design/errors).
4624
+ # Corresponds to the JSON property `status`
4625
+ # @return [Google::Apis::SqladminV1beta4::Status]
4626
+ attr_accessor :status
4627
+
4628
+ def initialize(**args)
4629
+ update!(**args)
4630
+ end
4631
+
4632
+ # Update properties of this object
4633
+ def update!(**args)
4634
+ @columns = args[:columns] if args.key?(:columns)
4635
+ @message = args[:message] if args.key?(:message)
4636
+ @partial_result = args[:partial_result] if args.key?(:partial_result)
4637
+ @rows = args[:rows] if args.key?(:rows)
4638
+ @status = args[:status] if args.key?(:status)
4639
+ end
4640
+ end
4641
+
4642
+ # The read pool auto-scale configuration.
4643
+ class ReadPoolAutoScaleConfig
4644
+ include Google::Apis::Core::Hashable
4645
+
4646
+ # Indicates whether read pool auto scaling supports scale in operations (
4647
+ # removing nodes).
4648
+ # Corresponds to the JSON property `disableScaleIn`
4649
+ # @return [Boolean]
4650
+ attr_accessor :disable_scale_in
4651
+ alias_method :disable_scale_in?, :disable_scale_in
4652
+
4653
+ # Indicates whether read pool auto scaling is enabled.
4654
+ # Corresponds to the JSON property `enabled`
4655
+ # @return [Boolean]
4656
+ attr_accessor :enabled
4657
+ alias_method :enabled?, :enabled
4658
+
4659
+ # Maximum number of read pool nodes to be maintained.
4660
+ # Corresponds to the JSON property `maxNodeCount`
4661
+ # @return [Fixnum]
4662
+ attr_accessor :max_node_count
4663
+
4664
+ # Minimum number of read pool nodes to be maintained.
4665
+ # Corresponds to the JSON property `minNodeCount`
4666
+ # @return [Fixnum]
4667
+ attr_accessor :min_node_count
4668
+
4669
+ # The cooldown period for scale in operations.
4670
+ # Corresponds to the JSON property `scaleInCooldownSeconds`
4671
+ # @return [Fixnum]
4672
+ attr_accessor :scale_in_cooldown_seconds
4673
+
4674
+ # The cooldown period for scale out operations.
4675
+ # Corresponds to the JSON property `scaleOutCooldownSeconds`
4676
+ # @return [Fixnum]
4677
+ attr_accessor :scale_out_cooldown_seconds
4678
+
4679
+ # Optional. Target metrics for read pool auto scaling.
4680
+ # Corresponds to the JSON property `targetMetrics`
4681
+ # @return [Array<Google::Apis::SqladminV1beta4::TargetMetric>]
4682
+ attr_accessor :target_metrics
4683
+
4684
+ def initialize(**args)
4685
+ update!(**args)
4686
+ end
4687
+
4688
+ # Update properties of this object
4689
+ def update!(**args)
4690
+ @disable_scale_in = args[:disable_scale_in] if args.key?(:disable_scale_in)
4691
+ @enabled = args[:enabled] if args.key?(:enabled)
4692
+ @max_node_count = args[:max_node_count] if args.key?(:max_node_count)
4693
+ @min_node_count = args[:min_node_count] if args.key?(:min_node_count)
4694
+ @scale_in_cooldown_seconds = args[:scale_in_cooldown_seconds] if args.key?(:scale_in_cooldown_seconds)
4695
+ @scale_out_cooldown_seconds = args[:scale_out_cooldown_seconds] if args.key?(:scale_out_cooldown_seconds)
4696
+ @target_metrics = args[:target_metrics] if args.key?(:target_metrics)
4697
+ end
4698
+ end
4699
+
2671
4700
  # Read-replica configuration for connecting to the primary instance.
2672
4701
  class ReplicaConfiguration
2673
4702
  include Google::Apis::Core::Hashable
2674
4703
 
4704
+ # Optional. Specifies if a SQL Server replica is a cascadable replica. A
4705
+ # cascadable replica is a SQL Server cross region replica that supports replica(
4706
+ # s) under it.
4707
+ # Corresponds to the JSON property `cascadableReplica`
4708
+ # @return [Boolean]
4709
+ attr_accessor :cascadable_replica
4710
+ alias_method :cascadable_replica?, :cascadable_replica
4711
+
2675
4712
  # Specifies if the replica is the failover target. If the field is set to `true`
2676
4713
  # the replica will be designated as a failover replica. In case the primary
2677
4714
  # instance fails, the replica instance will be promoted as the new primary
@@ -2698,12 +4735,59 @@ module Google
2698
4735
 
2699
4736
  # Update properties of this object
2700
4737
  def update!(**args)
4738
+ @cascadable_replica = args[:cascadable_replica] if args.key?(:cascadable_replica)
2701
4739
  @failover_target = args[:failover_target] if args.key?(:failover_target)
2702
4740
  @kind = args[:kind] if args.key?(:kind)
2703
4741
  @mysql_replica_configuration = args[:mysql_replica_configuration] if args.key?(:mysql_replica_configuration)
2704
4742
  end
2705
4743
  end
2706
4744
 
4745
+ # A primary instance and disaster recovery (DR) replica pair. A DR replica is a
4746
+ # cross-region replica that you designate for failover in the event that the
4747
+ # primary instance has regional failure. Applicable to MySQL and PostgreSQL.
4748
+ class ReplicationCluster
4749
+ include Google::Apis::Core::Hashable
4750
+
4751
+ # Output only. Read-only field that indicates whether the replica is a DR
4752
+ # replica. This field is not set if the instance is a primary instance.
4753
+ # Corresponds to the JSON property `drReplica`
4754
+ # @return [Boolean]
4755
+ attr_accessor :dr_replica
4756
+ alias_method :dr_replica?, :dr_replica
4757
+
4758
+ # Optional. If the instance is a primary instance, then this field identifies
4759
+ # the disaster recovery (DR) replica. A DR replica is an optional configuration
4760
+ # for Enterprise Plus edition instances. If the instance is a read replica, then
4761
+ # the field is not set. Set this field to a replica name to designate a DR
4762
+ # replica for a primary instance. Remove the replica name to remove the DR
4763
+ # replica designation.
4764
+ # Corresponds to the JSON property `failoverDrReplicaName`
4765
+ # @return [String]
4766
+ attr_accessor :failover_dr_replica_name
4767
+
4768
+ # Output only. If set, this field indicates this instance has a private service
4769
+ # access (PSA) DNS endpoint that is pointing to the primary instance of the
4770
+ # cluster. If this instance is the primary, then the DNS endpoint points to this
4771
+ # instance. After a switchover or replica failover operation, this DNS endpoint
4772
+ # points to the promoted instance. This is a read-only field, returned to the
4773
+ # user as information. This field can exist even if a standalone instance doesn'
4774
+ # t have a DR replica yet or the DR replica is deleted.
4775
+ # Corresponds to the JSON property `psaWriteEndpoint`
4776
+ # @return [String]
4777
+ attr_accessor :psa_write_endpoint
4778
+
4779
+ def initialize(**args)
4780
+ update!(**args)
4781
+ end
4782
+
4783
+ # Update properties of this object
4784
+ def update!(**args)
4785
+ @dr_replica = args[:dr_replica] if args.key?(:dr_replica)
4786
+ @failover_dr_replica_name = args[:failover_dr_replica_name] if args.key?(:failover_dr_replica_name)
4787
+ @psa_write_endpoint = args[:psa_write_endpoint] if args.key?(:psa_write_endpoint)
4788
+ end
4789
+ end
4790
+
2707
4791
  #
2708
4792
  class Reschedule
2709
4793
  include Google::Apis::Core::Hashable
@@ -2746,15 +4830,43 @@ module Google
2746
4830
  # @return [String]
2747
4831
  attr_accessor :instance_id
2748
4832
 
2749
- # This is always `sql#restoreBackupContext`.
4833
+ # This is always `sql#restoreBackupContext`.
4834
+ # Corresponds to the JSON property `kind`
4835
+ # @return [String]
4836
+ attr_accessor :kind
4837
+
4838
+ # The full project ID of the source instance.
4839
+ # Corresponds to the JSON property `project`
4840
+ # @return [String]
4841
+ attr_accessor :project
4842
+
4843
+ def initialize(**args)
4844
+ update!(**args)
4845
+ end
4846
+
4847
+ # Update properties of this object
4848
+ def update!(**args)
4849
+ @backup_run_id = args[:backup_run_id] if args.key?(:backup_run_id)
4850
+ @instance_id = args[:instance_id] if args.key?(:instance_id)
4851
+ @kind = args[:kind] if args.key?(:kind)
4852
+ @project = args[:project] if args.key?(:project)
4853
+ end
4854
+ end
4855
+
4856
+ # Instance rotate server CA context.
4857
+ class RotateServerCaContext
4858
+ include Google::Apis::Core::Hashable
4859
+
4860
+ # This is always `sql#rotateServerCaContext`.
2750
4861
  # Corresponds to the JSON property `kind`
2751
4862
  # @return [String]
2752
4863
  attr_accessor :kind
2753
4864
 
2754
- # The full project ID of the source instance.
2755
- # Corresponds to the JSON property `project`
4865
+ # The fingerprint of the next version to be rotated to. If left unspecified,
4866
+ # will be rotated to the most recently added server CA version.
4867
+ # Corresponds to the JSON property `nextVersion`
2756
4868
  # @return [String]
2757
- attr_accessor :project
4869
+ attr_accessor :next_version
2758
4870
 
2759
4871
  def initialize(**args)
2760
4872
  update!(**args)
@@ -2762,24 +4874,23 @@ module Google
2762
4874
 
2763
4875
  # Update properties of this object
2764
4876
  def update!(**args)
2765
- @backup_run_id = args[:backup_run_id] if args.key?(:backup_run_id)
2766
- @instance_id = args[:instance_id] if args.key?(:instance_id)
2767
4877
  @kind = args[:kind] if args.key?(:kind)
2768
- @project = args[:project] if args.key?(:project)
4878
+ @next_version = args[:next_version] if args.key?(:next_version)
2769
4879
  end
2770
4880
  end
2771
4881
 
2772
- # Instance rotate server CA context.
2773
- class RotateServerCaContext
4882
+ # Instance rotate server certificate context.
4883
+ class RotateServerCertificateContext
2774
4884
  include Google::Apis::Core::Hashable
2775
4885
 
2776
- # This is always `sql#rotateServerCaContext`.
4886
+ # Optional. This is always `sql#rotateServerCertificateContext`.
2777
4887
  # Corresponds to the JSON property `kind`
2778
4888
  # @return [String]
2779
4889
  attr_accessor :kind
2780
4890
 
2781
- # The fingerprint of the next version to be rotated to. If left unspecified,
2782
- # will be rotated to the most recently added server CA version.
4891
+ # Optional. The fingerprint of the next version to be rotated to. If left
4892
+ # unspecified, will be rotated to the most recently added server certificate
4893
+ # version.
2783
4894
  # Corresponds to the JSON property `nextVersion`
2784
4895
  # @return [String]
2785
4896
  attr_accessor :next_version
@@ -2795,6 +4906,45 @@ module Google
2795
4906
  end
2796
4907
  end
2797
4908
 
4909
+ # Contains the values for a row.
4910
+ class Row
4911
+ include Google::Apis::Core::Hashable
4912
+
4913
+ # The values for the row.
4914
+ # Corresponds to the JSON property `values`
4915
+ # @return [Array<Google::Apis::SqladminV1beta4::Value>]
4916
+ attr_accessor :values
4917
+
4918
+ def initialize(**args)
4919
+ update!(**args)
4920
+ end
4921
+
4922
+ # Update properties of this object
4923
+ def update!(**args)
4924
+ @values = args[:values] if args.key?(:values)
4925
+ end
4926
+ end
4927
+
4928
+ # A list of objects that the user selects for replication from an external
4929
+ # source instance.
4930
+ class SelectedObjects
4931
+ include Google::Apis::Core::Hashable
4932
+
4933
+ # Required. The name of the database to migrate.
4934
+ # Corresponds to the JSON property `database`
4935
+ # @return [String]
4936
+ attr_accessor :database
4937
+
4938
+ def initialize(**args)
4939
+ update!(**args)
4940
+ end
4941
+
4942
+ # Update properties of this object
4943
+ def update!(**args)
4944
+ @database = args[:database] if args.key?(:database)
4945
+ end
4946
+ end
4947
+
2798
4948
  # Database instance settings.
2799
4949
  class Settings
2800
4950
  include Google::Apis::Core::Hashable
@@ -2813,12 +4963,25 @@ module Google
2813
4963
  # @return [Google::Apis::SqladminV1beta4::SqlActiveDirectoryConfig]
2814
4964
  attr_accessor :active_directory_config
2815
4965
 
4966
+ # Specifies options for controlling advanced machine features.
4967
+ # Corresponds to the JSON property `advancedMachineFeatures`
4968
+ # @return [Google::Apis::SqladminV1beta4::AdvancedMachineFeatures]
4969
+ attr_accessor :advanced_machine_features
4970
+
2816
4971
  # The App Engine app IDs that can access this instance. (Deprecated) Applied to
2817
4972
  # First Generation instances only.
2818
4973
  # Corresponds to the JSON property `authorizedGaeApplications`
2819
4974
  # @return [Array<String>]
2820
4975
  attr_accessor :authorized_gae_applications
2821
4976
 
4977
+ # Optional. Cloud SQL for MySQL auto-upgrade configuration. When this parameter
4978
+ # is set to true, auto-upgrade is enabled for MySQL 8.0 minor versions. The
4979
+ # MySQL version must be 8.0.35 or higher.
4980
+ # Corresponds to the JSON property `autoUpgradeEnabled`
4981
+ # @return [Boolean]
4982
+ attr_accessor :auto_upgrade_enabled
4983
+ alias_method :auto_upgrade_enabled?, :auto_upgrade_enabled
4984
+
2822
4985
  # Availability type. Potential values: * `ZONAL`: The instance serves data from
2823
4986
  # only one zone. Outages in that zone affect data accessibility. * `REGIONAL`:
2824
4987
  # The instance can serve data from more than one zone in a region (it is highly
@@ -2838,6 +5001,11 @@ module Google
2838
5001
  # @return [String]
2839
5002
  attr_accessor :collation
2840
5003
 
5004
+ # The managed connection pooling configuration.
5005
+ # Corresponds to the JSON property `connectionPoolConfig`
5006
+ # @return [Google::Apis::SqladminV1beta4::ConnectionPoolConfig]
5007
+ attr_accessor :connection_pool_config
5008
+
2841
5009
  # Specifies if connections must use Cloud SQL connectors. Option values include
2842
5010
  # the following: `NOT_REQUIRED` (Cloud SQL instances can be connected without
2843
5011
  # Cloud SQL Connectors) and `REQUIRED` (Only allow connections that use Cloud
@@ -2857,6 +5025,29 @@ module Google
2857
5025
  attr_accessor :crash_safe_replication_enabled
2858
5026
  alias_method :crash_safe_replication_enabled?, :crash_safe_replication_enabled
2859
5027
 
5028
+ # This parameter controls whether to allow using Data API to connect to the
5029
+ # instance. Not allowed by default.
5030
+ # Corresponds to the JSON property `dataApiAccess`
5031
+ # @return [String]
5032
+ attr_accessor :data_api_access
5033
+
5034
+ # Data cache configurations.
5035
+ # Corresponds to the JSON property `dataCacheConfig`
5036
+ # @return [Google::Apis::SqladminV1beta4::DataCacheConfig]
5037
+ attr_accessor :data_cache_config
5038
+
5039
+ # Optional. Provisioned number of I/O operations per second for the data disk.
5040
+ # This field is only used for hyperdisk-balanced disk types.
5041
+ # Corresponds to the JSON property `dataDiskProvisionedIops`
5042
+ # @return [Fixnum]
5043
+ attr_accessor :data_disk_provisioned_iops
5044
+
5045
+ # Optional. Provisioned throughput measured in MiB per second for the data disk.
5046
+ # This field is only used for hyperdisk-balanced disk types.
5047
+ # Corresponds to the JSON property `dataDiskProvisionedThroughput`
5048
+ # @return [Fixnum]
5049
+ attr_accessor :data_disk_provisioned_throughput
5050
+
2860
5051
  # The size of data disk, in GB. The data disk size minimum is 10GB.
2861
5052
  # Corresponds to the JSON property `dataDiskSizeGb`
2862
5053
  # @return [Fixnum]
@@ -2891,6 +5082,33 @@ module Google
2891
5082
  # @return [Array<Google::Apis::SqladminV1beta4::DenyMaintenancePeriod>]
2892
5083
  attr_accessor :deny_maintenance_periods
2893
5084
 
5085
+ # Optional. The edition of the instance.
5086
+ # Corresponds to the JSON property `edition`
5087
+ # @return [String]
5088
+ attr_accessor :edition
5089
+
5090
+ # Optional. By default, Cloud SQL instances have schema extraction disabled for
5091
+ # Dataplex. When this parameter is set to true, schema extraction for Dataplex
5092
+ # on Cloud SQL instances is activated.
5093
+ # Corresponds to the JSON property `enableDataplexIntegration`
5094
+ # @return [Boolean]
5095
+ attr_accessor :enable_dataplex_integration
5096
+ alias_method :enable_dataplex_integration?, :enable_dataplex_integration
5097
+
5098
+ # Optional. When this parameter is set to true, Cloud SQL instances can connect
5099
+ # to Vertex AI to pass requests for real-time predictions and insights to the AI.
5100
+ # The default value is false. This applies only to Cloud SQL for MySQL and
5101
+ # Cloud SQL for PostgreSQL instances.
5102
+ # Corresponds to the JSON property `enableGoogleMlIntegration`
5103
+ # @return [Boolean]
5104
+ attr_accessor :enable_google_ml_integration
5105
+ alias_method :enable_google_ml_integration?, :enable_google_ml_integration
5106
+
5107
+ # Config used to determine the final backup settings for the instance.
5108
+ # Corresponds to the JSON property `finalBackupConfig`
5109
+ # @return [Google::Apis::SqladminV1beta4::FinalBackupConfig]
5110
+ attr_accessor :final_backup_config
5111
+
2894
5112
  # Insights configuration. This specifies when Cloud SQL Insights feature is
2895
5113
  # enabled and optional configuration.
2896
5114
  # Corresponds to the JSON property `insightsConfig`
@@ -2931,6 +5149,17 @@ module Google
2931
5149
  # @return [String]
2932
5150
  attr_accessor :pricing_plan
2933
5151
 
5152
+ # The read pool auto-scale configuration.
5153
+ # Corresponds to the JSON property `readPoolAutoScaleConfig`
5154
+ # @return [Google::Apis::SqladminV1beta4::ReadPoolAutoScaleConfig]
5155
+ attr_accessor :read_pool_auto_scale_config
5156
+
5157
+ # Optional. Configuration value for recreation of replica after certain
5158
+ # replication lag.
5159
+ # Corresponds to the JSON property `replicationLagMaxSeconds`
5160
+ # @return [Fixnum]
5161
+ attr_accessor :replication_lag_max_seconds
5162
+
2934
5163
  # The type of replication this instance uses. This can be either `ASYNCHRONOUS`
2935
5164
  # or `SYNCHRONOUS`. (Deprecated) This property was only applicable to First
2936
5165
  # Generation instances.
@@ -2938,6 +5167,15 @@ module Google
2938
5167
  # @return [String]
2939
5168
  attr_accessor :replication_type
2940
5169
 
5170
+ # Optional. When this parameter is set to true, Cloud SQL retains backups of the
5171
+ # instance even after the instance is deleted. The ON_DEMAND backup will be
5172
+ # retained until customer deletes the backup or the project. The AUTOMATED
5173
+ # backup will be retained based on the backups retention setting.
5174
+ # Corresponds to the JSON property `retainBackupsOnDelete`
5175
+ # @return [Boolean]
5176
+ attr_accessor :retain_backups_on_delete
5177
+ alias_method :retain_backups_on_delete?, :retain_backups_on_delete
5178
+
2941
5179
  # The version of instance settings. This is a required field for update method
2942
5180
  # to make sure concurrent updates are handled properly. During update, use the
2943
5181
  # most recent settingsVersion value for this instance and do not try to update
@@ -2989,18 +5227,29 @@ module Google
2989
5227
  def update!(**args)
2990
5228
  @activation_policy = args[:activation_policy] if args.key?(:activation_policy)
2991
5229
  @active_directory_config = args[:active_directory_config] if args.key?(:active_directory_config)
5230
+ @advanced_machine_features = args[:advanced_machine_features] if args.key?(:advanced_machine_features)
2992
5231
  @authorized_gae_applications = args[:authorized_gae_applications] if args.key?(:authorized_gae_applications)
5232
+ @auto_upgrade_enabled = args[:auto_upgrade_enabled] if args.key?(:auto_upgrade_enabled)
2993
5233
  @availability_type = args[:availability_type] if args.key?(:availability_type)
2994
5234
  @backup_configuration = args[:backup_configuration] if args.key?(:backup_configuration)
2995
5235
  @collation = args[:collation] if args.key?(:collation)
5236
+ @connection_pool_config = args[:connection_pool_config] if args.key?(:connection_pool_config)
2996
5237
  @connector_enforcement = args[:connector_enforcement] if args.key?(:connector_enforcement)
2997
5238
  @crash_safe_replication_enabled = args[:crash_safe_replication_enabled] if args.key?(:crash_safe_replication_enabled)
5239
+ @data_api_access = args[:data_api_access] if args.key?(:data_api_access)
5240
+ @data_cache_config = args[:data_cache_config] if args.key?(:data_cache_config)
5241
+ @data_disk_provisioned_iops = args[:data_disk_provisioned_iops] if args.key?(:data_disk_provisioned_iops)
5242
+ @data_disk_provisioned_throughput = args[:data_disk_provisioned_throughput] if args.key?(:data_disk_provisioned_throughput)
2998
5243
  @data_disk_size_gb = args[:data_disk_size_gb] if args.key?(:data_disk_size_gb)
2999
5244
  @data_disk_type = args[:data_disk_type] if args.key?(:data_disk_type)
3000
5245
  @database_flags = args[:database_flags] if args.key?(:database_flags)
3001
5246
  @database_replication_enabled = args[:database_replication_enabled] if args.key?(:database_replication_enabled)
3002
5247
  @deletion_protection_enabled = args[:deletion_protection_enabled] if args.key?(:deletion_protection_enabled)
3003
5248
  @deny_maintenance_periods = args[:deny_maintenance_periods] if args.key?(:deny_maintenance_periods)
5249
+ @edition = args[:edition] if args.key?(:edition)
5250
+ @enable_dataplex_integration = args[:enable_dataplex_integration] if args.key?(:enable_dataplex_integration)
5251
+ @enable_google_ml_integration = args[:enable_google_ml_integration] if args.key?(:enable_google_ml_integration)
5252
+ @final_backup_config = args[:final_backup_config] if args.key?(:final_backup_config)
3004
5253
  @insights_config = args[:insights_config] if args.key?(:insights_config)
3005
5254
  @ip_configuration = args[:ip_configuration] if args.key?(:ip_configuration)
3006
5255
  @kind = args[:kind] if args.key?(:kind)
@@ -3008,7 +5257,10 @@ module Google
3008
5257
  @maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
3009
5258
  @password_validation_policy = args[:password_validation_policy] if args.key?(:password_validation_policy)
3010
5259
  @pricing_plan = args[:pricing_plan] if args.key?(:pricing_plan)
5260
+ @read_pool_auto_scale_config = args[:read_pool_auto_scale_config] if args.key?(:read_pool_auto_scale_config)
5261
+ @replication_lag_max_seconds = args[:replication_lag_max_seconds] if args.key?(:replication_lag_max_seconds)
3011
5262
  @replication_type = args[:replication_type] if args.key?(:replication_type)
5263
+ @retain_backups_on_delete = args[:retain_backups_on_delete] if args.key?(:retain_backups_on_delete)
3012
5264
  @settings_version = args[:settings_version] if args.key?(:settings_version)
3013
5265
  @sql_server_audit_config = args[:sql_server_audit_config] if args.key?(:sql_server_audit_config)
3014
5266
  @storage_auto_resize = args[:storage_auto_resize] if args.key?(:storage_auto_resize)
@@ -3023,6 +5275,17 @@ module Google
3023
5275
  class SqlActiveDirectoryConfig
3024
5276
  include Google::Apis::Core::Hashable
3025
5277
 
5278
+ # Optional. The secret manager key storing the administrator credential. (e.g.,
5279
+ # projects/`project`/secrets/`secret`).
5280
+ # Corresponds to the JSON property `adminCredentialSecretName`
5281
+ # @return [String]
5282
+ attr_accessor :admin_credential_secret_name
5283
+
5284
+ # Optional. Domain controller IPv4 addresses used to bootstrap Active Directory.
5285
+ # Corresponds to the JSON property `dnsServers`
5286
+ # @return [Array<String>]
5287
+ attr_accessor :dns_servers
5288
+
3026
5289
  # The name of the domain (e.g., mydomain.com).
3027
5290
  # Corresponds to the JSON property `domain`
3028
5291
  # @return [String]
@@ -3033,14 +5296,29 @@ module Google
3033
5296
  # @return [String]
3034
5297
  attr_accessor :kind
3035
5298
 
5299
+ # Optional. The mode of the Active Directory configuration.
5300
+ # Corresponds to the JSON property `mode`
5301
+ # @return [String]
5302
+ attr_accessor :mode
5303
+
5304
+ # Optional. The organizational unit distinguished name. This is the full
5305
+ # hierarchical path to the organizational unit.
5306
+ # Corresponds to the JSON property `organizationalUnit`
5307
+ # @return [String]
5308
+ attr_accessor :organizational_unit
5309
+
3036
5310
  def initialize(**args)
3037
5311
  update!(**args)
3038
5312
  end
3039
5313
 
3040
5314
  # Update properties of this object
3041
5315
  def update!(**args)
5316
+ @admin_credential_secret_name = args[:admin_credential_secret_name] if args.key?(:admin_credential_secret_name)
5317
+ @dns_servers = args[:dns_servers] if args.key?(:dns_servers)
3042
5318
  @domain = args[:domain] if args.key?(:domain)
3043
5319
  @kind = args[:kind] if args.key?(:kind)
5320
+ @mode = args[:mode] if args.key?(:mode)
5321
+ @organizational_unit = args[:organizational_unit] if args.key?(:organizational_unit)
3044
5322
  end
3045
5323
  end
3046
5324
 
@@ -3075,6 +5353,153 @@ module Google
3075
5353
  end
3076
5354
  end
3077
5355
 
5356
+ # Acquire SSRS lease response.
5357
+ class SqlInstancesAcquireSsrsLeaseResponse
5358
+ include Google::Apis::Core::Hashable
5359
+
5360
+ # The unique identifier for this operation.
5361
+ # Corresponds to the JSON property `operationId`
5362
+ # @return [String]
5363
+ attr_accessor :operation_id
5364
+
5365
+ def initialize(**args)
5366
+ update!(**args)
5367
+ end
5368
+
5369
+ # Update properties of this object
5370
+ def update!(**args)
5371
+ @operation_id = args[:operation_id] if args.key?(:operation_id)
5372
+ end
5373
+ end
5374
+
5375
+ # Execute SQL statements response.
5376
+ class SqlInstancesExecuteSqlResponse
5377
+ include Google::Apis::Core::Hashable
5378
+
5379
+ # A list of notices and warnings generated during query execution. For
5380
+ # PostgreSQL, this includes all notices and warnings. For MySQL, this includes
5381
+ # warnings generated by the last executed statement. To retrieve all warnings
5382
+ # for a multi-statement query, `SHOW WARNINGS` must be executed after each
5383
+ # statement.
5384
+ # Corresponds to the JSON property `messages`
5385
+ # @return [Array<Google::Apis::SqladminV1beta4::Message>]
5386
+ attr_accessor :messages
5387
+
5388
+ # The additional metadata information regarding the execution of the SQL
5389
+ # statements.
5390
+ # Corresponds to the JSON property `metadata`
5391
+ # @return [Google::Apis::SqladminV1beta4::Metadata]
5392
+ attr_accessor :metadata
5393
+
5394
+ # The list of results after executing all the SQL statements.
5395
+ # Corresponds to the JSON property `results`
5396
+ # @return [Array<Google::Apis::SqladminV1beta4::QueryResult>]
5397
+ attr_accessor :results
5398
+
5399
+ # The `Status` type defines a logical error model that is suitable for different
5400
+ # programming environments, including REST APIs and RPC APIs. It is used by [
5401
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
5402
+ # data: error code, error message, and error details. You can find out more
5403
+ # about this error model and how to work with it in the [API Design Guide](https:
5404
+ # //cloud.google.com/apis/design/errors).
5405
+ # Corresponds to the JSON property `status`
5406
+ # @return [Google::Apis::SqladminV1beta4::Status]
5407
+ attr_accessor :status
5408
+
5409
+ def initialize(**args)
5410
+ update!(**args)
5411
+ end
5412
+
5413
+ # Update properties of this object
5414
+ def update!(**args)
5415
+ @messages = args[:messages] if args.key?(:messages)
5416
+ @metadata = args[:metadata] if args.key?(:metadata)
5417
+ @results = args[:results] if args.key?(:results)
5418
+ @status = args[:status] if args.key?(:status)
5419
+ end
5420
+ end
5421
+
5422
+ # Instance get disk shrink config response.
5423
+ class SqlInstancesGetDiskShrinkConfigResponse
5424
+ include Google::Apis::Core::Hashable
5425
+
5426
+ # This is always `sql#getDiskShrinkConfig`.
5427
+ # Corresponds to the JSON property `kind`
5428
+ # @return [String]
5429
+ attr_accessor :kind
5430
+
5431
+ # Additional message to customers.
5432
+ # Corresponds to the JSON property `message`
5433
+ # @return [String]
5434
+ attr_accessor :message
5435
+
5436
+ # The minimum size to which a disk can be shrunk in GigaBytes.
5437
+ # Corresponds to the JSON property `minimalTargetSizeGb`
5438
+ # @return [Fixnum]
5439
+ attr_accessor :minimal_target_size_gb
5440
+
5441
+ def initialize(**args)
5442
+ update!(**args)
5443
+ end
5444
+
5445
+ # Update properties of this object
5446
+ def update!(**args)
5447
+ @kind = args[:kind] if args.key?(:kind)
5448
+ @message = args[:message] if args.key?(:message)
5449
+ @minimal_target_size_gb = args[:minimal_target_size_gb] if args.key?(:minimal_target_size_gb)
5450
+ end
5451
+ end
5452
+
5453
+ # Instance get latest recovery time response.
5454
+ class SqlInstancesGetLatestRecoveryTimeResponse
5455
+ include Google::Apis::Core::Hashable
5456
+
5457
+ # Timestamp, identifies the earliest recovery time of the source instance.
5458
+ # Corresponds to the JSON property `earliestRecoveryTime`
5459
+ # @return [String]
5460
+ attr_accessor :earliest_recovery_time
5461
+
5462
+ # This is always `sql#getLatestRecoveryTime`.
5463
+ # Corresponds to the JSON property `kind`
5464
+ # @return [String]
5465
+ attr_accessor :kind
5466
+
5467
+ # Timestamp, identifies the latest recovery time of the source instance.
5468
+ # Corresponds to the JSON property `latestRecoveryTime`
5469
+ # @return [String]
5470
+ attr_accessor :latest_recovery_time
5471
+
5472
+ def initialize(**args)
5473
+ update!(**args)
5474
+ end
5475
+
5476
+ # Update properties of this object
5477
+ def update!(**args)
5478
+ @earliest_recovery_time = args[:earliest_recovery_time] if args.key?(:earliest_recovery_time)
5479
+ @kind = args[:kind] if args.key?(:kind)
5480
+ @latest_recovery_time = args[:latest_recovery_time] if args.key?(:latest_recovery_time)
5481
+ end
5482
+ end
5483
+
5484
+ # The response for the release of the SSRS lease.
5485
+ class SqlInstancesReleaseSsrsLeaseResponse
5486
+ include Google::Apis::Core::Hashable
5487
+
5488
+ # The operation ID.
5489
+ # Corresponds to the JSON property `operationId`
5490
+ # @return [String]
5491
+ attr_accessor :operation_id
5492
+
5493
+ def initialize(**args)
5494
+ update!(**args)
5495
+ end
5496
+
5497
+ # Update properties of this object
5498
+ def update!(**args)
5499
+ @operation_id = args[:operation_id] if args.key?(:operation_id)
5500
+ end
5501
+ end
5502
+
3078
5503
  # Reschedule options for maintenance windows.
3079
5504
  class SqlInstancesRescheduleMaintenanceRequestBody
3080
5505
  include Google::Apis::Core::Hashable
@@ -3094,15 +5519,44 @@ module Google
3094
5519
  end
3095
5520
  end
3096
5521
 
5522
+ # Instance reset replica size request.
5523
+ class SqlInstancesResetReplicaSizeRequest
5524
+ include Google::Apis::Core::Hashable
5525
+
5526
+ def initialize(**args)
5527
+ update!(**args)
5528
+ end
5529
+
5530
+ # Update properties of this object
5531
+ def update!(**args)
5532
+ end
5533
+ end
5534
+
3097
5535
  #
3098
5536
  class SqlInstancesStartExternalSyncRequest
3099
5537
  include Google::Apis::Core::Hashable
3100
5538
 
5539
+ # Optional. MigrationType configures the migration to use physical files or
5540
+ # logical dump files. If not set, then the logical dump file configuration is
5541
+ # used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.
5542
+ # Corresponds to the JSON property `migrationType`
5543
+ # @return [String]
5544
+ attr_accessor :migration_type
5545
+
3101
5546
  # MySQL-specific external server sync settings.
3102
5547
  # Corresponds to the JSON property `mysqlSyncConfig`
3103
5548
  # @return [Google::Apis::SqladminV1beta4::MySqlSyncConfig]
3104
5549
  attr_accessor :mysql_sync_config
3105
5550
 
5551
+ # Optional. MySQL only. True if end-user has confirmed that this SES call will
5552
+ # wipe replica databases overlapping with the proposed selected_objects. If this
5553
+ # field is not set and there are both overlapping and additional databases
5554
+ # proposed, an error will be returned.
5555
+ # Corresponds to the JSON property `replicaOverwriteEnabled`
5556
+ # @return [Boolean]
5557
+ attr_accessor :replica_overwrite_enabled
5558
+ alias_method :replica_overwrite_enabled?, :replica_overwrite_enabled
5559
+
3106
5560
  # Whether to skip the verification step (VESS).
3107
5561
  # Corresponds to the JSON property `skipVerification`
3108
5562
  # @return [Boolean]
@@ -3114,15 +5568,24 @@ module Google
3114
5568
  # @return [String]
3115
5569
  attr_accessor :sync_mode
3116
5570
 
5571
+ # Optional. Parallel level for initial data sync. Currently only applicable for
5572
+ # MySQL.
5573
+ # Corresponds to the JSON property `syncParallelLevel`
5574
+ # @return [String]
5575
+ attr_accessor :sync_parallel_level
5576
+
3117
5577
  def initialize(**args)
3118
5578
  update!(**args)
3119
5579
  end
3120
5580
 
3121
5581
  # Update properties of this object
3122
5582
  def update!(**args)
5583
+ @migration_type = args[:migration_type] if args.key?(:migration_type)
3123
5584
  @mysql_sync_config = args[:mysql_sync_config] if args.key?(:mysql_sync_config)
5585
+ @replica_overwrite_enabled = args[:replica_overwrite_enabled] if args.key?(:replica_overwrite_enabled)
3124
5586
  @skip_verification = args[:skip_verification] if args.key?(:skip_verification)
3125
5587
  @sync_mode = args[:sync_mode] if args.key?(:sync_mode)
5588
+ @sync_parallel_level = args[:sync_parallel_level] if args.key?(:sync_parallel_level)
3126
5589
  end
3127
5590
  end
3128
5591
 
@@ -3130,16 +5593,34 @@ module Google
3130
5593
  class SqlInstancesVerifyExternalSyncSettingsRequest
3131
5594
  include Google::Apis::Core::Hashable
3132
5595
 
5596
+ # Optional. MigrationType configures the migration to use physical files or
5597
+ # logical dump files. If not set, then the logical dump file configuration is
5598
+ # used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.
5599
+ # Corresponds to the JSON property `migrationType`
5600
+ # @return [String]
5601
+ attr_accessor :migration_type
5602
+
3133
5603
  # MySQL-specific external server sync settings.
3134
5604
  # Corresponds to the JSON property `mysqlSyncConfig`
3135
5605
  # @return [Google::Apis::SqladminV1beta4::MySqlSyncConfig]
3136
5606
  attr_accessor :mysql_sync_config
3137
5607
 
5608
+ # Optional. Migrate only the specified objects from the source instance. If this
5609
+ # field is empty, then migrate all objects.
5610
+ # Corresponds to the JSON property `selectedObjects`
5611
+ # @return [Array<Google::Apis::SqladminV1beta4::ExternalSyncSelectedObject>]
5612
+ attr_accessor :selected_objects
5613
+
3138
5614
  # External sync mode
3139
5615
  # Corresponds to the JSON property `syncMode`
3140
5616
  # @return [String]
3141
5617
  attr_accessor :sync_mode
3142
5618
 
5619
+ # Optional. Parallel level for initial data sync. Only applicable for PostgreSQL.
5620
+ # Corresponds to the JSON property `syncParallelLevel`
5621
+ # @return [String]
5622
+ attr_accessor :sync_parallel_level
5623
+
3143
5624
  # Flag to enable verifying connection only
3144
5625
  # Corresponds to the JSON property `verifyConnectionOnly`
3145
5626
  # @return [Boolean]
@@ -3158,8 +5639,11 @@ module Google
3158
5639
 
3159
5640
  # Update properties of this object
3160
5641
  def update!(**args)
5642
+ @migration_type = args[:migration_type] if args.key?(:migration_type)
3161
5643
  @mysql_sync_config = args[:mysql_sync_config] if args.key?(:mysql_sync_config)
5644
+ @selected_objects = args[:selected_objects] if args.key?(:selected_objects)
3162
5645
  @sync_mode = args[:sync_mode] if args.key?(:sync_mode)
5646
+ @sync_parallel_level = args[:sync_parallel_level] if args.key?(:sync_parallel_level)
3163
5647
  @verify_connection_only = args[:verify_connection_only] if args.key?(:verify_connection_only)
3164
5648
  @verify_replication_only = args[:verify_replication_only] if args.key?(:verify_replication_only)
3165
5649
  end
@@ -3352,6 +5836,25 @@ module Google
3352
5836
  end
3353
5837
  end
3354
5838
 
5839
+ # The sub operation type based on the operation type.
5840
+ class SqlSubOperationType
5841
+ include Google::Apis::Core::Hashable
5842
+
5843
+ # The type of maintenance to be performed on the instance.
5844
+ # Corresponds to the JSON property `maintenanceType`
5845
+ # @return [String]
5846
+ attr_accessor :maintenance_type
5847
+
5848
+ def initialize(**args)
5849
+ update!(**args)
5850
+ end
5851
+
5852
+ # Update properties of this object
5853
+ def update!(**args)
5854
+ @maintenance_type = args[:maintenance_type] if args.key?(:maintenance_type)
5855
+ end
5856
+ end
5857
+
3355
5858
  # SslCerts Resource
3356
5859
  class SslCert
3357
5860
  include Google::Apis::Core::Hashable
@@ -3556,6 +6059,45 @@ module Google
3556
6059
  end
3557
6060
  end
3558
6061
 
6062
+ # The `Status` type defines a logical error model that is suitable for different
6063
+ # programming environments, including REST APIs and RPC APIs. It is used by [
6064
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
6065
+ # data: error code, error message, and error details. You can find out more
6066
+ # about this error model and how to work with it in the [API Design Guide](https:
6067
+ # //cloud.google.com/apis/design/errors).
6068
+ class Status
6069
+ include Google::Apis::Core::Hashable
6070
+
6071
+ # The status code, which should be an enum value of google.rpc.Code.
6072
+ # Corresponds to the JSON property `code`
6073
+ # @return [Fixnum]
6074
+ attr_accessor :code
6075
+
6076
+ # A list of messages that carry the error details. There is a common set of
6077
+ # message types for APIs to use.
6078
+ # Corresponds to the JSON property `details`
6079
+ # @return [Array<Hash<String,Object>>]
6080
+ attr_accessor :details
6081
+
6082
+ # A developer-facing error message, which should be in English. Any user-facing
6083
+ # error message should be localized and sent in the google.rpc.Status.details
6084
+ # field, or localized by the client.
6085
+ # Corresponds to the JSON property `message`
6086
+ # @return [String]
6087
+ attr_accessor :message
6088
+
6089
+ def initialize(**args)
6090
+ update!(**args)
6091
+ end
6092
+
6093
+ # Update properties of this object
6094
+ def update!(**args)
6095
+ @code = args[:code] if args.key?(:code)
6096
+ @details = args[:details] if args.key?(:details)
6097
+ @message = args[:message] if args.key?(:message)
6098
+ end
6099
+ end
6100
+
3559
6101
  # Initial sync flags for certain Cloud SQL APIs. Currently used for the MySQL
3560
6102
  # external server initial dump.
3561
6103
  class SyncFlags
@@ -3583,6 +6125,31 @@ module Google
3583
6125
  end
3584
6126
  end
3585
6127
 
6128
+ # Target metric for read pool auto scaling.
6129
+ class TargetMetric
6130
+ include Google::Apis::Core::Hashable
6131
+
6132
+ # The metric name to be used for auto scaling.
6133
+ # Corresponds to the JSON property `metric`
6134
+ # @return [String]
6135
+ attr_accessor :metric
6136
+
6137
+ # The target value for the metric.
6138
+ # Corresponds to the JSON property `targetValue`
6139
+ # @return [Float]
6140
+ attr_accessor :target_value
6141
+
6142
+ def initialize(**args)
6143
+ update!(**args)
6144
+ end
6145
+
6146
+ # Update properties of this object
6147
+ def update!(**args)
6148
+ @metric = args[:metric] if args.key?(:metric)
6149
+ @target_value = args[:target_value] if args.key?(:target_value)
6150
+ end
6151
+ end
6152
+
3586
6153
  # A Google Cloud SQL service tier resource.
3587
6154
  class Tier
3588
6155
  include Google::Apis::Core::Hashable
@@ -3701,6 +6268,17 @@ module Google
3701
6268
  # @return [String]
3702
6269
  attr_accessor :host
3703
6270
 
6271
+ # Optional. The full email for an IAM user. For normal database users, this will
6272
+ # not be filled. Only applicable to MySQL database users.
6273
+ # Corresponds to the JSON property `iamEmail`
6274
+ # @return [String]
6275
+ attr_accessor :iam_email
6276
+
6277
+ # Indicates if a group is active or inactive for IAM database authentication.
6278
+ # Corresponds to the JSON property `iamStatus`
6279
+ # @return [String]
6280
+ attr_accessor :iam_status
6281
+
3704
6282
  # The name of the Cloud SQL instance. This does not include the project ID. Can
3705
6283
  # be omitted for *update* because it is already specified on the URL.
3706
6284
  # Corresponds to the JSON property `instance`
@@ -3755,6 +6333,8 @@ module Google
3755
6333
  @dual_password_type = args[:dual_password_type] if args.key?(:dual_password_type)
3756
6334
  @etag = args[:etag] if args.key?(:etag)
3757
6335
  @host = args[:host] if args.key?(:host)
6336
+ @iam_email = args[:iam_email] if args.key?(:iam_email)
6337
+ @iam_status = args[:iam_status] if args.key?(:iam_status)
3758
6338
  @instance = args[:instance] if args.key?(:instance)
3759
6339
  @kind = args[:kind] if args.key?(:kind)
3760
6340
  @name = args[:name] if args.key?(:name)
@@ -3826,9 +6406,7 @@ module Google
3826
6406
  # @return [String]
3827
6407
  attr_accessor :kind
3828
6408
 
3829
- # An identifier that uniquely identifies the operation. You can use this
3830
- # identifier to retrieve the Operations resource that has information about the
3831
- # operation.
6409
+ # Unused.
3832
6410
  # Corresponds to the JSON property `nextPageToken`
3833
6411
  # @return [String]
3834
6412
  attr_accessor :next_page_token
@@ -3844,6 +6422,32 @@ module Google
3844
6422
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3845
6423
  end
3846
6424
  end
6425
+
6426
+ # The cell value of the table.
6427
+ class Value
6428
+ include Google::Apis::Core::Hashable
6429
+
6430
+ # If cell value is null, then this flag will be set to true.
6431
+ # Corresponds to the JSON property `nullValue`
6432
+ # @return [Boolean]
6433
+ attr_accessor :null_value
6434
+ alias_method :null_value?, :null_value
6435
+
6436
+ # The cell value represented in string format.
6437
+ # Corresponds to the JSON property `value`
6438
+ # @return [String]
6439
+ attr_accessor :value
6440
+
6441
+ def initialize(**args)
6442
+ update!(**args)
6443
+ end
6444
+
6445
+ # Update properties of this object
6446
+ def update!(**args)
6447
+ @null_value = args[:null_value] if args.key?(:null_value)
6448
+ @value = args[:value] if args.key?(:value)
6449
+ end
6450
+ end
3847
6451
  end
3848
6452
  end
3849
6453
  end