google-apis-sqladmin_v1beta4 0.41.0 → 0.89.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. Next ID: 30
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,11 +966,98 @@ 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)
982
+ end
983
+ end
984
+
985
+ # The managed connection pooling configuration.
986
+ class ConnectionPoolConfig
987
+ include Google::Apis::Core::Hashable
988
+
989
+ # Whether managed connection pooling is enabled.
990
+ # Corresponds to the JSON property `connectionPoolingEnabled`
991
+ # @return [Boolean]
992
+ attr_accessor :connection_pooling_enabled
993
+ alias_method :connection_pooling_enabled?, :connection_pooling_enabled
994
+
995
+ # Optional. List of connection pool configuration flags.
996
+ # Corresponds to the JSON property `flags`
997
+ # @return [Array<Google::Apis::SqladminV1beta4::ConnectionPoolFlags>]
998
+ attr_accessor :flags
999
+
1000
+ # Output only. Number of connection poolers.
1001
+ # Corresponds to the JSON property `poolerCount`
1002
+ # @return [Fixnum]
1003
+ attr_accessor :pooler_count
1004
+
1005
+ def initialize(**args)
1006
+ update!(**args)
1007
+ end
1008
+
1009
+ # Update properties of this object
1010
+ def update!(**args)
1011
+ @connection_pooling_enabled = args[:connection_pooling_enabled] if args.key?(:connection_pooling_enabled)
1012
+ @flags = args[:flags] if args.key?(:flags)
1013
+ @pooler_count = args[:pooler_count] if args.key?(:pooler_count)
1014
+ end
1015
+ end
1016
+
1017
+ # Connection pool flags for Cloud SQL instances managed connection pool
1018
+ # configuration.
1019
+ class ConnectionPoolFlags
1020
+ include Google::Apis::Core::Hashable
1021
+
1022
+ # Required. The name of the flag.
1023
+ # Corresponds to the JSON property `name`
1024
+ # @return [String]
1025
+ attr_accessor :name
1026
+
1027
+ # Required. The value of the flag. Boolean flags are set to `on` for true and `
1028
+ # off` for false. This field must be omitted if the flag doesn't take a value.
1029
+ # Corresponds to the JSON property `value`
1030
+ # @return [String]
1031
+ attr_accessor :value
1032
+
1033
+ def initialize(**args)
1034
+ update!(**args)
1035
+ end
1036
+
1037
+ # Update properties of this object
1038
+ def update!(**args)
1039
+ @name = args[:name] if args.key?(:name)
1040
+ @value = args[:value] if args.key?(:value)
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)
528
1061
  end
529
1062
  end
530
1063
 
@@ -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,109 @@ 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
1884
+ # exceeds 10 MB. The default mode is to throw an error.
1885
+ # Corresponds to the JSON property `partialResultMode`
1886
+ # @return [String]
1887
+ attr_accessor :partial_result_mode
1888
+
1889
+ # Optional. The maximum number of rows returned per SQL statement.
1890
+ # Corresponds to the JSON property `rowLimit`
1891
+ # @return [Fixnum]
1892
+ attr_accessor :row_limit
1893
+
1894
+ # Required. SQL statements to run on the database. It can be a single statement
1895
+ # or a sequence of statements separated by semicolons.
1896
+ # Corresponds to the JSON property `sqlStatement`
1897
+ # @return [String]
1898
+ attr_accessor :sql_statement
1899
+
1900
+ # Optional. The name of an existing database user to connect to the database.
1901
+ # When `auto_iam_authn` is set to true, this field is ignored and the API caller'
1902
+ # s IAM user is used.
1903
+ # Corresponds to the JSON property `user`
1904
+ # @return [String]
1905
+ attr_accessor :user
1906
+
1907
+ def initialize(**args)
1908
+ update!(**args)
1909
+ end
1910
+
1911
+ # Update properties of this object
1912
+ def update!(**args)
1913
+ @auto_iam_authn = args[:auto_iam_authn] if args.key?(:auto_iam_authn)
1914
+ @database = args[:database] if args.key?(:database)
1915
+ @partial_result_mode = args[:partial_result_mode] if args.key?(:partial_result_mode)
1916
+ @row_limit = args[:row_limit] if args.key?(:row_limit)
1917
+ @sql_statement = args[:sql_statement] if args.key?(:sql_statement)
1918
+ @user = args[:user] if args.key?(:user)
1919
+ end
1920
+ end
1921
+
1153
1922
  # Database instance export context.
1154
1923
  class ExportContext
1155
1924
  include Google::Apis::Core::Hashable
@@ -1168,11 +1937,14 @@ module Google
1168
1937
  # database is specified, all databases are exported, except for the `mysql`
1169
1938
  # system database. If `fileType` is `CSV`, you can specify one database, either
1170
1939
  # 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`.
1940
+ # which takes precedence over this property. `PostgreSQL instances:` If you don'
1941
+ # t specify a database by name, all user databases in the instance are exported.
1942
+ # This excludes system databases and Cloud SQL databases used to manage internal
1943
+ # operations. Exporting all user databases is only available for directory-
1944
+ # formatted parallel export. If `fileType` is `CSV`, this database must match
1945
+ # the one specified in the `csvExportOptions.selectQuery` property. `SQL Server
1946
+ # instances:` You must specify one database to be exported, and the `fileType`
1947
+ # must be `BAK`.
1176
1948
  # Corresponds to the JSON property `databases`
1177
1949
  # @return [Array<String>]
1178
1950
  attr_accessor :databases
@@ -1187,7 +1959,7 @@ module Google
1187
1959
  # @return [String]
1188
1960
  attr_accessor :kind
1189
1961
 
1190
- # Option for export offload.
1962
+ # Whether to perform a serverless export.
1191
1963
  # Corresponds to the JSON property `offload`
1192
1964
  # @return [Boolean]
1193
1965
  attr_accessor :offload
@@ -1198,6 +1970,11 @@ module Google
1198
1970
  # @return [Google::Apis::SqladminV1beta4::ExportContext::SqlExportOptions]
1199
1971
  attr_accessor :sql_export_options
1200
1972
 
1973
+ # Optional. Export parameters specific to SQL Server TDE certificates
1974
+ # Corresponds to the JSON property `tdeExportOptions`
1975
+ # @return [Google::Apis::SqladminV1beta4::ExportContext::TdeExportOptions]
1976
+ attr_accessor :tde_export_options
1977
+
1201
1978
  # The path to the file in Google Cloud Storage where the export will be stored.
1202
1979
  # The URI is in the form `gs://bucketName/fileName`. If the file already exists,
1203
1980
  # the request succeeds, but the operation fails. If `fileType` is `SQL` and the
@@ -1219,6 +1996,7 @@ module Google
1219
1996
  @kind = args[:kind] if args.key?(:kind)
1220
1997
  @offload = args[:offload] if args.key?(:offload)
1221
1998
  @sql_export_options = args[:sql_export_options] if args.key?(:sql_export_options)
1999
+ @tde_export_options = args[:tde_export_options] if args.key?(:tde_export_options)
1222
2000
  @uri = args[:uri] if args.key?(:uri)
1223
2001
  end
1224
2002
 
@@ -1226,6 +2004,41 @@ module Google
1226
2004
  class BakExportOptions
1227
2005
  include Google::Apis::Core::Hashable
1228
2006
 
2007
+ # Type of this bak file will be export, FULL or DIFF, SQL Server only
2008
+ # Corresponds to the JSON property `bakType`
2009
+ # @return [String]
2010
+ attr_accessor :bak_type
2011
+
2012
+ # Deprecated: copy_only is deprecated. Use differential_base instead
2013
+ # Corresponds to the JSON property `copyOnly`
2014
+ # @return [Boolean]
2015
+ attr_accessor :copy_only
2016
+ alias_method :copy_only?, :copy_only
2017
+
2018
+ # Whether or not the backup can be used as a differential base copy_only backup
2019
+ # can not be served as differential base
2020
+ # Corresponds to the JSON property `differentialBase`
2021
+ # @return [Boolean]
2022
+ attr_accessor :differential_base
2023
+ alias_method :differential_base?, :differential_base
2024
+
2025
+ # Optional. The end timestamp when transaction log will be included in the
2026
+ # export operation. [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for
2027
+ # example, `2023-10-01T16:19:00.094`) in UTC. When omitted, all available logs
2028
+ # until current time will be included. Only applied to Cloud SQL for SQL Server.
2029
+ # Corresponds to the JSON property `exportLogEndTime`
2030
+ # @return [String]
2031
+ attr_accessor :export_log_end_time
2032
+
2033
+ # Optional. The begin timestamp when transaction log will be included in the
2034
+ # export operation. [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for
2035
+ # example, `2023-10-01T16:19:00.094`) in UTC. When omitted, all available logs
2036
+ # from the beginning of retention period will be included. Only applied to Cloud
2037
+ # SQL for SQL Server.
2038
+ # Corresponds to the JSON property `exportLogStartTime`
2039
+ # @return [String]
2040
+ attr_accessor :export_log_start_time
2041
+
1229
2042
  # Option for specifying how many stripes to use for the export. If blank, and
1230
2043
  # the value of the striped field is true, the number of stripes is automatically
1231
2044
  # chosen.
@@ -1245,6 +2058,11 @@ module Google
1245
2058
 
1246
2059
  # Update properties of this object
1247
2060
  def update!(**args)
2061
+ @bak_type = args[:bak_type] if args.key?(:bak_type)
2062
+ @copy_only = args[:copy_only] if args.key?(:copy_only)
2063
+ @differential_base = args[:differential_base] if args.key?(:differential_base)
2064
+ @export_log_end_time = args[:export_log_end_time] if args.key?(:export_log_end_time)
2065
+ @export_log_start_time = args[:export_log_start_time] if args.key?(:export_log_start_time)
1248
2066
  @stripe_count = args[:stripe_count] if args.key?(:stripe_count)
1249
2067
  @striped = args[:striped] if args.key?(:striped)
1250
2068
  end
@@ -1305,6 +2123,17 @@ module Google
1305
2123
  # @return [Google::Apis::SqladminV1beta4::ExportContext::SqlExportOptions::MysqlExportOptions]
1306
2124
  attr_accessor :mysql_export_options
1307
2125
 
2126
+ # Optional. Whether or not the export should be parallel.
2127
+ # Corresponds to the JSON property `parallel`
2128
+ # @return [Boolean]
2129
+ attr_accessor :parallel
2130
+ alias_method :parallel?, :parallel
2131
+
2132
+ # Options for exporting from a Cloud SQL for PostgreSQL instance.
2133
+ # Corresponds to the JSON property `postgresExportOptions`
2134
+ # @return [Google::Apis::SqladminV1beta4::ExportContext::SqlExportOptions::PostgresExportOptions]
2135
+ attr_accessor :postgres_export_options
2136
+
1308
2137
  # Export only schemas.
1309
2138
  # Corresponds to the JSON property `schemaOnly`
1310
2139
  # @return [Boolean]
@@ -1318,6 +2147,11 @@ module Google
1318
2147
  # @return [Array<String>]
1319
2148
  attr_accessor :tables
1320
2149
 
2150
+ # Optional. The number of threads to use for parallel export.
2151
+ # Corresponds to the JSON property `threads`
2152
+ # @return [Fixnum]
2153
+ attr_accessor :threads
2154
+
1321
2155
  def initialize(**args)
1322
2156
  update!(**args)
1323
2157
  end
@@ -1325,8 +2159,11 @@ module Google
1325
2159
  # Update properties of this object
1326
2160
  def update!(**args)
1327
2161
  @mysql_export_options = args[:mysql_export_options] if args.key?(:mysql_export_options)
2162
+ @parallel = args[:parallel] if args.key?(:parallel)
2163
+ @postgres_export_options = args[:postgres_export_options] if args.key?(:postgres_export_options)
1328
2164
  @schema_only = args[:schema_only] if args.key?(:schema_only)
1329
2165
  @tables = args[:tables] if args.key?(:tables)
2166
+ @threads = args[:threads] if args.key?(:threads)
1330
2167
  end
1331
2168
 
1332
2169
  # Options for exporting from MySQL.
@@ -1348,10 +2185,99 @@ module Google
1348
2185
 
1349
2186
  # Update properties of this object
1350
2187
  def update!(**args)
1351
- @master_data = args[:master_data] if args.key?(:master_data)
2188
+ @master_data = args[:master_data] if args.key?(:master_data)
2189
+ end
2190
+ end
2191
+
2192
+ # Options for exporting from a Cloud SQL for PostgreSQL instance.
2193
+ class PostgresExportOptions
2194
+ include Google::Apis::Core::Hashable
2195
+
2196
+ # Optional. Use this option to include DROP <object> SQL statements. Use these
2197
+ # statements to delete database objects before running the import operation.
2198
+ # Corresponds to the JSON property `clean`
2199
+ # @return [Boolean]
2200
+ attr_accessor :clean
2201
+ alias_method :clean?, :clean
2202
+
2203
+ # Optional. Option to include an IF EXISTS SQL statement with each DROP
2204
+ # statement produced by clean.
2205
+ # Corresponds to the JSON property `ifExists`
2206
+ # @return [Boolean]
2207
+ attr_accessor :if_exists
2208
+ alias_method :if_exists?, :if_exists
2209
+
2210
+ def initialize(**args)
2211
+ update!(**args)
2212
+ end
2213
+
2214
+ # Update properties of this object
2215
+ def update!(**args)
2216
+ @clean = args[:clean] if args.key?(:clean)
2217
+ @if_exists = args[:if_exists] if args.key?(:if_exists)
1352
2218
  end
1353
2219
  end
1354
2220
  end
2221
+
2222
+ # Optional. Export parameters specific to SQL Server TDE certificates
2223
+ class TdeExportOptions
2224
+ include Google::Apis::Core::Hashable
2225
+
2226
+ # Required. Path to the TDE certificate public key in the form gs://bucketName/
2227
+ # fileName. The instance must have write access to the location. Applicable only
2228
+ # for SQL Server instances.
2229
+ # Corresponds to the JSON property `certificatePath`
2230
+ # @return [String]
2231
+ attr_accessor :certificate_path
2232
+
2233
+ # Required. Certificate name. Applicable only for SQL Server instances.
2234
+ # Corresponds to the JSON property `name`
2235
+ # @return [String]
2236
+ attr_accessor :name
2237
+
2238
+ # Required. Password that encrypts the private key.
2239
+ # Corresponds to the JSON property `privateKeyPassword`
2240
+ # @return [String]
2241
+ attr_accessor :private_key_password
2242
+
2243
+ # Required. Path to the TDE certificate private key in the form gs://bucketName/
2244
+ # fileName. The instance must have write access to the location. Applicable only
2245
+ # for SQL Server instances.
2246
+ # Corresponds to the JSON property `privateKeyPath`
2247
+ # @return [String]
2248
+ attr_accessor :private_key_path
2249
+
2250
+ def initialize(**args)
2251
+ update!(**args)
2252
+ end
2253
+
2254
+ # Update properties of this object
2255
+ def update!(**args)
2256
+ @certificate_path = args[:certificate_path] if args.key?(:certificate_path)
2257
+ @name = args[:name] if args.key?(:name)
2258
+ @private_key_password = args[:private_key_password] if args.key?(:private_key_password)
2259
+ @private_key_path = args[:private_key_path] if args.key?(:private_key_path)
2260
+ end
2261
+ end
2262
+ end
2263
+
2264
+ # The selected object that Cloud SQL migrates.
2265
+ class ExternalSyncSelectedObject
2266
+ include Google::Apis::Core::Hashable
2267
+
2268
+ # The name of the database that Cloud SQL migrates.
2269
+ # Corresponds to the JSON property `database`
2270
+ # @return [String]
2271
+ attr_accessor :database
2272
+
2273
+ def initialize(**args)
2274
+ update!(**args)
2275
+ end
2276
+
2277
+ # Update properties of this object
2278
+ def update!(**args)
2279
+ @database = args[:database] if args.key?(:database)
2280
+ end
1355
2281
  end
1356
2282
 
1357
2283
  # Database instance failover context.
@@ -1380,6 +2306,33 @@ module Google
1380
2306
  end
1381
2307
  end
1382
2308
 
2309
+ # Config used to determine the final backup settings for the instance.
2310
+ class FinalBackupConfig
2311
+ include Google::Apis::Core::Hashable
2312
+
2313
+ # Whether the final backup is enabled for the instance.
2314
+ # Corresponds to the JSON property `enabled`
2315
+ # @return [Boolean]
2316
+ attr_accessor :enabled
2317
+ alias_method :enabled?, :enabled
2318
+
2319
+ # The number of days to retain the final backup after the instance deletion. The
2320
+ # final backup will be purged at (time_of_instance_deletion + retention_days).
2321
+ # Corresponds to the JSON property `retentionDays`
2322
+ # @return [Fixnum]
2323
+ attr_accessor :retention_days
2324
+
2325
+ def initialize(**args)
2326
+ update!(**args)
2327
+ end
2328
+
2329
+ # Update properties of this object
2330
+ def update!(**args)
2331
+ @enabled = args[:enabled] if args.key?(:enabled)
2332
+ @retention_days = args[:retention_days] if args.key?(:retention_days)
2333
+ end
2334
+ end
2335
+
1383
2336
  # A flag resource.
1384
2337
  class Flag
1385
2338
  include Google::Apis::Core::Hashable
@@ -1406,6 +2359,11 @@ module Google
1406
2359
  # @return [Array<String>]
1407
2360
  attr_accessor :applies_to
1408
2361
 
2362
+ # Scope of flag.
2363
+ # Corresponds to the JSON property `flagScope`
2364
+ # @return [String]
2365
+ attr_accessor :flag_scope
2366
+
1409
2367
  # Whether or not the flag is considered in beta.
1410
2368
  # Corresponds to the JSON property `inBeta`
1411
2369
  # @return [Boolean]
@@ -1433,6 +2391,16 @@ module Google
1433
2391
  # @return [String]
1434
2392
  attr_accessor :name
1435
2393
 
2394
+ # Recommended flag value in integer format for UI display.
2395
+ # Corresponds to the JSON property `recommendedIntValue`
2396
+ # @return [Fixnum]
2397
+ attr_accessor :recommended_int_value
2398
+
2399
+ # Recommended flag value in string format for UI display.
2400
+ # Corresponds to the JSON property `recommendedStringValue`
2401
+ # @return [String]
2402
+ attr_accessor :recommended_string_value
2403
+
1436
2404
  # Indicates whether changing this flag will trigger a database restart. Only
1437
2405
  # applicable to Second Generation instances.
1438
2406
  # Corresponds to the JSON property `requiresRestart`
@@ -1456,11 +2424,14 @@ module Google
1456
2424
  @allowed_int_values = args[:allowed_int_values] if args.key?(:allowed_int_values)
1457
2425
  @allowed_string_values = args[:allowed_string_values] if args.key?(:allowed_string_values)
1458
2426
  @applies_to = args[:applies_to] if args.key?(:applies_to)
2427
+ @flag_scope = args[:flag_scope] if args.key?(:flag_scope)
1459
2428
  @in_beta = args[:in_beta] if args.key?(:in_beta)
1460
2429
  @kind = args[:kind] if args.key?(:kind)
1461
2430
  @max_value = args[:max_value] if args.key?(:max_value)
1462
2431
  @min_value = args[:min_value] if args.key?(:min_value)
1463
2432
  @name = args[:name] if args.key?(:name)
2433
+ @recommended_int_value = args[:recommended_int_value] if args.key?(:recommended_int_value)
2434
+ @recommended_string_value = args[:recommended_string_value] if args.key?(:recommended_string_value)
1464
2435
  @requires_restart = args[:requires_restart] if args.key?(:requires_restart)
1465
2436
  @type = args[:type] if args.key?(:type)
1466
2437
  end
@@ -1491,6 +2462,61 @@ module Google
1491
2462
  end
1492
2463
  end
1493
2464
 
2465
+ # Gemini instance configuration.
2466
+ class GeminiInstanceConfig
2467
+ include Google::Apis::Core::Hashable
2468
+
2469
+ # Output only. Whether the active query is enabled.
2470
+ # Corresponds to the JSON property `activeQueryEnabled`
2471
+ # @return [Boolean]
2472
+ attr_accessor :active_query_enabled
2473
+ alias_method :active_query_enabled?, :active_query_enabled
2474
+
2475
+ # Output only. Whether Gemini is enabled.
2476
+ # Corresponds to the JSON property `entitled`
2477
+ # @return [Boolean]
2478
+ attr_accessor :entitled
2479
+ alias_method :entitled?, :entitled
2480
+
2481
+ # Output only. Whether the flag recommender is enabled.
2482
+ # Corresponds to the JSON property `flagRecommenderEnabled`
2483
+ # @return [Boolean]
2484
+ attr_accessor :flag_recommender_enabled
2485
+ alias_method :flag_recommender_enabled?, :flag_recommender_enabled
2486
+
2487
+ # Output only. Whether the vacuum management is enabled.
2488
+ # Corresponds to the JSON property `googleVacuumMgmtEnabled`
2489
+ # @return [Boolean]
2490
+ attr_accessor :google_vacuum_mgmt_enabled
2491
+ alias_method :google_vacuum_mgmt_enabled?, :google_vacuum_mgmt_enabled
2492
+
2493
+ # Output only. Whether the index advisor is enabled.
2494
+ # Corresponds to the JSON property `indexAdvisorEnabled`
2495
+ # @return [Boolean]
2496
+ attr_accessor :index_advisor_enabled
2497
+ alias_method :index_advisor_enabled?, :index_advisor_enabled
2498
+
2499
+ # Output only. Whether canceling the out-of-memory (OOM) session is enabled.
2500
+ # Corresponds to the JSON property `oomSessionCancelEnabled`
2501
+ # @return [Boolean]
2502
+ attr_accessor :oom_session_cancel_enabled
2503
+ alias_method :oom_session_cancel_enabled?, :oom_session_cancel_enabled
2504
+
2505
+ def initialize(**args)
2506
+ update!(**args)
2507
+ end
2508
+
2509
+ # Update properties of this object
2510
+ def update!(**args)
2511
+ @active_query_enabled = args[:active_query_enabled] if args.key?(:active_query_enabled)
2512
+ @entitled = args[:entitled] if args.key?(:entitled)
2513
+ @flag_recommender_enabled = args[:flag_recommender_enabled] if args.key?(:flag_recommender_enabled)
2514
+ @google_vacuum_mgmt_enabled = args[:google_vacuum_mgmt_enabled] if args.key?(:google_vacuum_mgmt_enabled)
2515
+ @index_advisor_enabled = args[:index_advisor_enabled] if args.key?(:index_advisor_enabled)
2516
+ @oom_session_cancel_enabled = args[:oom_session_cancel_enabled] if args.key?(:oom_session_cancel_enabled)
2517
+ end
2518
+ end
2519
+
1494
2520
  # Ephemeral certificate creation request.
1495
2521
  class GenerateEphemeralCertRequest
1496
2522
  include Google::Apis::Core::Hashable
@@ -1563,8 +2589,10 @@ module Google
1563
2589
 
1564
2590
  # The target database for the import. If `fileType` is `SQL`, this field is
1565
2591
  # 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.
2592
+ # overridden by any database specification in the import file. For entire
2593
+ # instance parallel import operations, the database is overridden by the
2594
+ # database name stored in subdirectory name. If `fileType` is `CSV`, one
2595
+ # database must be specified.
1568
2596
  # Corresponds to the JSON property `database`
1569
2597
  # @return [String]
1570
2598
  attr_accessor :database
@@ -1586,6 +2614,17 @@ module Google
1586
2614
  # @return [String]
1587
2615
  attr_accessor :kind
1588
2616
 
2617
+ # Optional. Options for importing data from SQL statements.
2618
+ # Corresponds to the JSON property `sqlImportOptions`
2619
+ # @return [Google::Apis::SqladminV1beta4::ImportContext::SqlImportOptions]
2620
+ attr_accessor :sql_import_options
2621
+
2622
+ # Optional. Import parameters specific to SQL Server .TDE files Import
2623
+ # parameters specific to SQL Server TDE certificates
2624
+ # Corresponds to the JSON property `tdeImportOptions`
2625
+ # @return [Google::Apis::SqladminV1beta4::ImportContext::TdeImportOptions]
2626
+ attr_accessor :tde_import_options
2627
+
1589
2628
  # Path to the import file in Cloud Storage, in the form `gs://bucketName/
1590
2629
  # fileName`. Compressed gzip files (.gz) are supported when `fileType` is `SQL`.
1591
2630
  # The instance must have write permissions to the bucket and read access to the
@@ -1606,6 +2645,8 @@ module Google
1606
2645
  @file_type = args[:file_type] if args.key?(:file_type)
1607
2646
  @import_user = args[:import_user] if args.key?(:import_user)
1608
2647
  @kind = args[:kind] if args.key?(:kind)
2648
+ @sql_import_options = args[:sql_import_options] if args.key?(:sql_import_options)
2649
+ @tde_import_options = args[:tde_import_options] if args.key?(:tde_import_options)
1609
2650
  @uri = args[:uri] if args.key?(:uri)
1610
2651
  end
1611
2652
 
@@ -1613,11 +2654,47 @@ module Google
1613
2654
  class BakImportOptions
1614
2655
  include Google::Apis::Core::Hashable
1615
2656
 
2657
+ # Type of the bak content, FULL or DIFF.
2658
+ # Corresponds to the JSON property `bakType`
2659
+ # @return [String]
2660
+ attr_accessor :bak_type
2661
+
1616
2662
  #
1617
2663
  # Corresponds to the JSON property `encryptionOptions`
1618
2664
  # @return [Google::Apis::SqladminV1beta4::ImportContext::BakImportOptions::EncryptionOptions]
1619
2665
  attr_accessor :encryption_options
1620
2666
 
2667
+ # Whether or not the backup importing will restore database with NORECOVERY
2668
+ # option Applies only to Cloud SQL for SQL Server.
2669
+ # Corresponds to the JSON property `noRecovery`
2670
+ # @return [Boolean]
2671
+ attr_accessor :no_recovery
2672
+ alias_method :no_recovery?, :no_recovery
2673
+
2674
+ # Whether or not the backup importing request will just bring database online
2675
+ # without downloading Bak content only one of "no_recovery" and "recovery_only"
2676
+ # can be true otherwise error will return. Applies only to Cloud SQL for SQL
2677
+ # Server.
2678
+ # Corresponds to the JSON property `recoveryOnly`
2679
+ # @return [Boolean]
2680
+ attr_accessor :recovery_only
2681
+ alias_method :recovery_only?, :recovery_only
2682
+
2683
+ # Optional. The timestamp when the import should stop. This timestamp is in the [
2684
+ # RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example, `2023-10-
2685
+ # 01T16:19:00.094`). This field is equivalent to the STOPAT keyword and applies
2686
+ # to Cloud SQL for SQL Server only.
2687
+ # Corresponds to the JSON property `stopAt`
2688
+ # @return [String]
2689
+ attr_accessor :stop_at
2690
+
2691
+ # Optional. The marked transaction where the import should stop. This field is
2692
+ # equivalent to the STOPATMARK keyword and applies to Cloud SQL for SQL Server
2693
+ # only.
2694
+ # Corresponds to the JSON property `stopAtMark`
2695
+ # @return [String]
2696
+ attr_accessor :stop_at_mark
2697
+
1621
2698
  # Whether or not the backup set being restored is striped. Applies only to Cloud
1622
2699
  # SQL for SQL Server.
1623
2700
  # Corresponds to the JSON property `striped`
@@ -1631,7 +2708,12 @@ module Google
1631
2708
 
1632
2709
  # Update properties of this object
1633
2710
  def update!(**args)
2711
+ @bak_type = args[:bak_type] if args.key?(:bak_type)
1634
2712
  @encryption_options = args[:encryption_options] if args.key?(:encryption_options)
2713
+ @no_recovery = args[:no_recovery] if args.key?(:no_recovery)
2714
+ @recovery_only = args[:recovery_only] if args.key?(:recovery_only)
2715
+ @stop_at = args[:stop_at] if args.key?(:stop_at)
2716
+ @stop_at_mark = args[:stop_at_mark] if args.key?(:stop_at_mark)
1635
2717
  @striped = args[:striped] if args.key?(:striped)
1636
2718
  end
1637
2719
 
@@ -1646,6 +2728,12 @@ module Google
1646
2728
  # @return [String]
1647
2729
  attr_accessor :cert_path
1648
2730
 
2731
+ # Optional. Whether the imported file remains encrypted.
2732
+ # Corresponds to the JSON property `keepEncrypted`
2733
+ # @return [Boolean]
2734
+ attr_accessor :keep_encrypted
2735
+ alias_method :keep_encrypted?, :keep_encrypted
2736
+
1649
2737
  # Password that encrypts the private key
1650
2738
  # Corresponds to the JSON property `pvkPassword`
1651
2739
  # @return [String]
@@ -1665,6 +2753,7 @@ module Google
1665
2753
  # Update properties of this object
1666
2754
  def update!(**args)
1667
2755
  @cert_path = args[:cert_path] if args.key?(:cert_path)
2756
+ @keep_encrypted = args[:keep_encrypted] if args.key?(:keep_encrypted)
1668
2757
  @pvk_password = args[:pvk_password] if args.key?(:pvk_password)
1669
2758
  @pvk_path = args[:pvk_path] if args.key?(:pvk_path)
1670
2759
  end
@@ -1723,6 +2812,109 @@ module Google
1723
2812
  @table = args[:table] if args.key?(:table)
1724
2813
  end
1725
2814
  end
2815
+
2816
+ # Optional. Options for importing data from SQL statements.
2817
+ class SqlImportOptions
2818
+ include Google::Apis::Core::Hashable
2819
+
2820
+ # Optional. Whether or not the import should be parallel.
2821
+ # Corresponds to the JSON property `parallel`
2822
+ # @return [Boolean]
2823
+ attr_accessor :parallel
2824
+ alias_method :parallel?, :parallel
2825
+
2826
+ # Optional. Options for importing from a Cloud SQL for PostgreSQL instance.
2827
+ # Corresponds to the JSON property `postgresImportOptions`
2828
+ # @return [Google::Apis::SqladminV1beta4::ImportContext::SqlImportOptions::PostgresImportOptions]
2829
+ attr_accessor :postgres_import_options
2830
+
2831
+ # Optional. The number of threads to use for parallel import.
2832
+ # Corresponds to the JSON property `threads`
2833
+ # @return [Fixnum]
2834
+ attr_accessor :threads
2835
+
2836
+ def initialize(**args)
2837
+ update!(**args)
2838
+ end
2839
+
2840
+ # Update properties of this object
2841
+ def update!(**args)
2842
+ @parallel = args[:parallel] if args.key?(:parallel)
2843
+ @postgres_import_options = args[:postgres_import_options] if args.key?(:postgres_import_options)
2844
+ @threads = args[:threads] if args.key?(:threads)
2845
+ end
2846
+
2847
+ # Optional. Options for importing from a Cloud SQL for PostgreSQL instance.
2848
+ class PostgresImportOptions
2849
+ include Google::Apis::Core::Hashable
2850
+
2851
+ # Optional. The --clean flag for the pg_restore utility. This flag applies only
2852
+ # if you enabled Cloud SQL to import files in parallel.
2853
+ # Corresponds to the JSON property `clean`
2854
+ # @return [Boolean]
2855
+ attr_accessor :clean
2856
+ alias_method :clean?, :clean
2857
+
2858
+ # Optional. The --if-exists flag for the pg_restore utility. This flag applies
2859
+ # only if you enabled Cloud SQL to import files in parallel.
2860
+ # Corresponds to the JSON property `ifExists`
2861
+ # @return [Boolean]
2862
+ attr_accessor :if_exists
2863
+ alias_method :if_exists?, :if_exists
2864
+
2865
+ def initialize(**args)
2866
+ update!(**args)
2867
+ end
2868
+
2869
+ # Update properties of this object
2870
+ def update!(**args)
2871
+ @clean = args[:clean] if args.key?(:clean)
2872
+ @if_exists = args[:if_exists] if args.key?(:if_exists)
2873
+ end
2874
+ end
2875
+ end
2876
+
2877
+ # Optional. Import parameters specific to SQL Server .TDE files Import
2878
+ # parameters specific to SQL Server TDE certificates
2879
+ class TdeImportOptions
2880
+ include Google::Apis::Core::Hashable
2881
+
2882
+ # Required. Path to the TDE certificate public key in the form gs://bucketName/
2883
+ # fileName. The instance must have read access to the file. Applicable only for
2884
+ # SQL Server instances.
2885
+ # Corresponds to the JSON property `certificatePath`
2886
+ # @return [String]
2887
+ attr_accessor :certificate_path
2888
+
2889
+ # Required. Certificate name. Applicable only for SQL Server instances.
2890
+ # Corresponds to the JSON property `name`
2891
+ # @return [String]
2892
+ attr_accessor :name
2893
+
2894
+ # Required. Password that encrypts the private key.
2895
+ # Corresponds to the JSON property `privateKeyPassword`
2896
+ # @return [String]
2897
+ attr_accessor :private_key_password
2898
+
2899
+ # Required. Path to the TDE certificate private key in the form gs://bucketName/
2900
+ # fileName. The instance must have read access to the file. Applicable only for
2901
+ # SQL Server instances.
2902
+ # Corresponds to the JSON property `privateKeyPath`
2903
+ # @return [String]
2904
+ attr_accessor :private_key_path
2905
+
2906
+ def initialize(**args)
2907
+ update!(**args)
2908
+ end
2909
+
2910
+ # Update properties of this object
2911
+ def update!(**args)
2912
+ @certificate_path = args[:certificate_path] if args.key?(:certificate_path)
2913
+ @name = args[:name] if args.key?(:name)
2914
+ @private_key_password = args[:private_key_password] if args.key?(:private_key_password)
2915
+ @private_key_path = args[:private_key_path] if args.key?(:private_key_path)
2916
+ end
2917
+ end
1726
2918
  end
1727
2919
 
1728
2920
  # Insights configuration. This specifies when Cloud SQL Insights feature is
@@ -1743,8 +2935,8 @@ module Google
1743
2935
  attr_accessor :query_plans_per_minute
1744
2936
 
1745
2937
  # 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
2938
+ # 4500 bytes. Query lengths greater than this field value will be truncated to
2939
+ # this value. When unset, query length will be the default value. Changing query
1748
2940
  # length will restart the database.
1749
2941
  # Corresponds to the JSON property `queryStringLength`
1750
2942
  # @return [Fixnum]
@@ -1809,6 +3001,25 @@ module Google
1809
3001
  end
1810
3002
  end
1811
3003
 
3004
+ # Request to acquire an SSRS lease for an instance.
3005
+ class InstancesAcquireSsrsLeaseRequest
3006
+ include Google::Apis::Core::Hashable
3007
+
3008
+ # Acquire SSRS lease context.
3009
+ # Corresponds to the JSON property `acquireSsrsLeaseContext`
3010
+ # @return [Google::Apis::SqladminV1beta4::AcquireSsrsLeaseContext]
3011
+ attr_accessor :acquire_ssrs_lease_context
3012
+
3013
+ def initialize(**args)
3014
+ update!(**args)
3015
+ end
3016
+
3017
+ # Update properties of this object
3018
+ def update!(**args)
3019
+ @acquire_ssrs_lease_context = args[:acquire_ssrs_lease_context] if args.key?(:acquire_ssrs_lease_context)
3020
+ end
3021
+ end
3022
+
1812
3023
  # Database instance clone request.
1813
3024
  class CloneInstancesRequest
1814
3025
  include Google::Apis::Core::Hashable
@@ -1847,6 +3058,27 @@ module Google
1847
3058
  end
1848
3059
  end
1849
3060
 
3061
+ # This request is used to demote an existing standalone instance to be a Cloud
3062
+ # SQL read replica for an external database server.
3063
+ class InstancesDemoteRequest
3064
+ include Google::Apis::Core::Hashable
3065
+
3066
+ # This context is used to demote an existing standalone instance to be a Cloud
3067
+ # SQL read replica for an external database server.
3068
+ # Corresponds to the JSON property `demoteContext`
3069
+ # @return [Google::Apis::SqladminV1beta4::DemoteContext]
3070
+ attr_accessor :demote_context
3071
+
3072
+ def initialize(**args)
3073
+ update!(**args)
3074
+ end
3075
+
3076
+ # Update properties of this object
3077
+ def update!(**args)
3078
+ @demote_context = args[:demote_context] if args.key?(:demote_context)
3079
+ end
3080
+ end
3081
+
1850
3082
  # Database instance export request.
1851
3083
  class ExportInstancesRequest
1852
3084
  include Google::Apis::Core::Hashable
@@ -1973,23 +3205,111 @@ module Google
1973
3205
  end
1974
3206
  end
1975
3207
 
3208
+ # Instances ListServerCertificatess response.
3209
+ class InstancesListServerCertificatesResponse
3210
+ include Google::Apis::Core::Hashable
3211
+
3212
+ # The `sha1_fingerprint` of the active certificate from `server_certs`.
3213
+ # Corresponds to the JSON property `activeVersion`
3214
+ # @return [String]
3215
+ attr_accessor :active_version
3216
+
3217
+ # List of server CA certificates for the instance.
3218
+ # Corresponds to the JSON property `caCerts`
3219
+ # @return [Array<Google::Apis::SqladminV1beta4::SslCert>]
3220
+ attr_accessor :ca_certs
3221
+
3222
+ # This is always `sql#instancesListServerCertificates`.
3223
+ # Corresponds to the JSON property `kind`
3224
+ # @return [String]
3225
+ attr_accessor :kind
3226
+
3227
+ # List of server certificates for the instance, signed by the corresponding CA
3228
+ # from the `ca_certs` list.
3229
+ # Corresponds to the JSON property `serverCerts`
3230
+ # @return [Array<Google::Apis::SqladminV1beta4::SslCert>]
3231
+ attr_accessor :server_certs
3232
+
3233
+ def initialize(**args)
3234
+ update!(**args)
3235
+ end
3236
+
3237
+ # Update properties of this object
3238
+ def update!(**args)
3239
+ @active_version = args[:active_version] if args.key?(:active_version)
3240
+ @ca_certs = args[:ca_certs] if args.key?(:ca_certs)
3241
+ @kind = args[:kind] if args.key?(:kind)
3242
+ @server_certs = args[:server_certs] if args.key?(:server_certs)
3243
+ end
3244
+ end
3245
+
3246
+ # Database Instance reencrypt request.
3247
+ class InstancesReencryptRequest
3248
+ include Google::Apis::Core::Hashable
3249
+
3250
+ # Backup Reencryption Config
3251
+ # Corresponds to the JSON property `backupReencryptionConfig`
3252
+ # @return [Google::Apis::SqladminV1beta4::BackupReencryptionConfig]
3253
+ attr_accessor :backup_reencryption_config
3254
+
3255
+ def initialize(**args)
3256
+ update!(**args)
3257
+ end
3258
+
3259
+ # Update properties of this object
3260
+ def update!(**args)
3261
+ @backup_reencryption_config = args[:backup_reencryption_config] if args.key?(:backup_reencryption_config)
3262
+ end
3263
+ end
3264
+
1976
3265
  # Database instance restore backup request.
1977
3266
  class RestoreInstancesBackupRequest
1978
3267
  include Google::Apis::Core::Hashable
1979
3268
 
3269
+ # The name of the backup that's used to restore a Cloud SQL instance: Format:
3270
+ # projects/`project-id`/backups/`backup-uid`. Only one of restore_backup_context,
3271
+ # backup, backupdr_backup can be passed to the input.
3272
+ # Corresponds to the JSON property `backup`
3273
+ # @return [String]
3274
+ attr_accessor :backup
3275
+
3276
+ # The name of the backup that's used to restore a Cloud SQL instance: Format: "
3277
+ # projects/`project-id`/locations/`location`/backupVaults/`backupvault`/
3278
+ # dataSources/`datasource`/backups/`backup-uid`". Only one of
3279
+ # restore_backup_context, backup, backupdr_backup can be passed to the input.
3280
+ # Corresponds to the JSON property `backupdrBackup`
3281
+ # @return [String]
3282
+ attr_accessor :backupdr_backup
3283
+
1980
3284
  # Database instance restore from backup context. Backup context contains source
1981
3285
  # instance id and project id.
1982
3286
  # Corresponds to the JSON property `restoreBackupContext`
1983
3287
  # @return [Google::Apis::SqladminV1beta4::RestoreBackupContext]
1984
3288
  attr_accessor :restore_backup_context
1985
3289
 
3290
+ # Optional. This field has the same purpose as restore_instance_settings,
3291
+ # changes any instance settings stored in the backup you are restoring from.
3292
+ # With the difference that these fields are cleared in the settings.
3293
+ # Corresponds to the JSON property `restoreInstanceClearOverridesFieldNames`
3294
+ # @return [Array<String>]
3295
+ attr_accessor :restore_instance_clear_overrides_field_names
3296
+
3297
+ # A Cloud SQL instance resource.
3298
+ # Corresponds to the JSON property `restoreInstanceSettings`
3299
+ # @return [Google::Apis::SqladminV1beta4::DatabaseInstance]
3300
+ attr_accessor :restore_instance_settings
3301
+
1986
3302
  def initialize(**args)
1987
3303
  update!(**args)
1988
3304
  end
1989
3305
 
1990
3306
  # Update properties of this object
1991
3307
  def update!(**args)
3308
+ @backup = args[:backup] if args.key?(:backup)
3309
+ @backupdr_backup = args[:backupdr_backup] if args.key?(:backupdr_backup)
1992
3310
  @restore_backup_context = args[:restore_backup_context] if args.key?(:restore_backup_context)
3311
+ @restore_instance_clear_overrides_field_names = args[:restore_instance_clear_overrides_field_names] if args.key?(:restore_instance_clear_overrides_field_names)
3312
+ @restore_instance_settings = args[:restore_instance_settings] if args.key?(:restore_instance_settings)
1993
3313
  end
1994
3314
  end
1995
3315
 
@@ -2012,14 +3332,62 @@ module Google
2012
3332
  end
2013
3333
  end
2014
3334
 
3335
+ # Rotate Server Certificate request.
3336
+ class InstancesRotateServerCertificateRequest
3337
+ include Google::Apis::Core::Hashable
3338
+
3339
+ # Instance rotate server certificate context.
3340
+ # Corresponds to the JSON property `rotateServerCertificateContext`
3341
+ # @return [Google::Apis::SqladminV1beta4::RotateServerCertificateContext]
3342
+ attr_accessor :rotate_server_certificate_context
3343
+
3344
+ def initialize(**args)
3345
+ update!(**args)
3346
+ end
3347
+
3348
+ # Update properties of this object
3349
+ def update!(**args)
3350
+ @rotate_server_certificate_context = args[:rotate_server_certificate_context] if args.key?(:rotate_server_certificate_context)
3351
+ end
3352
+ end
3353
+
2015
3354
  # Instance truncate log request.
2016
3355
  class InstancesTruncateLogRequest
2017
3356
  include Google::Apis::Core::Hashable
2018
3357
 
2019
- # Database Instance truncate log context.
2020
- # Corresponds to the JSON property `truncateLogContext`
2021
- # @return [Google::Apis::SqladminV1beta4::TruncateLogContext]
2022
- attr_accessor :truncate_log_context
3358
+ # Database Instance truncate log context.
3359
+ # Corresponds to the JSON property `truncateLogContext`
3360
+ # @return [Google::Apis::SqladminV1beta4::TruncateLogContext]
3361
+ attr_accessor :truncate_log_context
3362
+
3363
+ def initialize(**args)
3364
+ update!(**args)
3365
+ end
3366
+
3367
+ # Update properties of this object
3368
+ def update!(**args)
3369
+ @truncate_log_context = args[:truncate_log_context] if args.key?(:truncate_log_context)
3370
+ end
3371
+ end
3372
+
3373
+ # Represents a time interval, encoded as a Timestamp start (inclusive) and a
3374
+ # Timestamp end (exclusive). The start must be less than or equal to the end.
3375
+ # When the start equals the end, the interval is empty (matches no time). When
3376
+ # both start and end are unspecified, the interval matches any time.
3377
+ class Interval
3378
+ include Google::Apis::Core::Hashable
3379
+
3380
+ # Optional. Exclusive end of the interval. If specified, a Timestamp matching
3381
+ # this interval will have to be before the end.
3382
+ # Corresponds to the JSON property `endTime`
3383
+ # @return [String]
3384
+ attr_accessor :end_time
3385
+
3386
+ # Optional. Inclusive start of the interval. If specified, a Timestamp matching
3387
+ # this interval will have to be the same or after the start.
3388
+ # Corresponds to the JSON property `startTime`
3389
+ # @return [String]
3390
+ attr_accessor :start_time
2023
3391
 
2024
3392
  def initialize(**args)
2025
3393
  update!(**args)
@@ -2027,7 +3395,8 @@ module Google
2027
3395
 
2028
3396
  # Update properties of this object
2029
3397
  def update!(**args)
2030
- @truncate_log_context = args[:truncate_log_context] if args.key?(:truncate_log_context)
3398
+ @end_time = args[:end_time] if args.key?(:end_time)
3399
+ @start_time = args[:start_time] if args.key?(:start_time)
2031
3400
  end
2032
3401
  end
2033
3402
 
@@ -2051,6 +3420,11 @@ module Google
2051
3420
  # @return [Array<Google::Apis::SqladminV1beta4::AclEntry>]
2052
3421
  attr_accessor :authorized_networks
2053
3422
 
3423
+ # Optional. Custom Subject Alternative Name(SAN)s for a Cloud SQL instance.
3424
+ # Corresponds to the JSON property `customSubjectAlternativeNames`
3425
+ # @return [Array<String>]
3426
+ attr_accessor :custom_subject_alternative_names
3427
+
2054
3428
  # Controls connectivity to private IP instances from Google services, such as
2055
3429
  # BigQuery.
2056
3430
  # Corresponds to the JSON property `enablePrivatePathForGoogleCloudServices`
@@ -2072,12 +3446,52 @@ module Google
2072
3446
  # @return [String]
2073
3447
  attr_accessor :private_network
2074
3448
 
2075
- # Whether SSL connections over IP are enforced or not.
3449
+ # PSC settings for a Cloud SQL instance.
3450
+ # Corresponds to the JSON property `pscConfig`
3451
+ # @return [Google::Apis::SqladminV1beta4::PscConfig]
3452
+ attr_accessor :psc_config
3453
+
3454
+ # Use `ssl_mode` instead. Whether SSL/TLS connections over IP are enforced. If
3455
+ # set to false, then allow both non-SSL/non-TLS and SSL/TLS connections. For SSL/
3456
+ # TLS connections, the client certificate won't be verified. If set to true,
3457
+ # then only allow connections encrypted with SSL/TLS and with valid client
3458
+ # certificates. If you want to enforce SSL/TLS without enforcing the requirement
3459
+ # for valid client certificates, then use the `ssl_mode` flag instead of the
3460
+ # legacy `require_ssl` flag.
2076
3461
  # Corresponds to the JSON property `requireSsl`
2077
3462
  # @return [Boolean]
2078
3463
  attr_accessor :require_ssl
2079
3464
  alias_method :require_ssl?, :require_ssl
2080
3465
 
3466
+ # Specify what type of CA is used for the server certificate.
3467
+ # Corresponds to the JSON property `serverCaMode`
3468
+ # @return [String]
3469
+ attr_accessor :server_ca_mode
3470
+
3471
+ # Optional. The resource name of the server CA pool for an instance with `
3472
+ # CUSTOMER_MANAGED_CAS_CA` as the `server_ca_mode`. Format: projects/`PROJECT`/
3473
+ # locations/`REGION`/caPools/`CA_POOL_ID`
3474
+ # Corresponds to the JSON property `serverCaPool`
3475
+ # @return [String]
3476
+ attr_accessor :server_ca_pool
3477
+
3478
+ # Specify how SSL/TLS is enforced in database connections. If you must use the `
3479
+ # require_ssl` flag for backward compatibility, then only the following value
3480
+ # pairs are valid: For PostgreSQL and MySQL: * `ssl_mode=
3481
+ # ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=
3482
+ # ENCRYPTED_ONLY` and `require_ssl=false` * `ssl_mode=
3483
+ # TRUSTED_CLIENT_CERTIFICATE_REQUIRED` and `require_ssl=true` For SQL Server: * `
3484
+ # ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=
3485
+ # ENCRYPTED_ONLY` and `require_ssl=true` The value of `ssl_mode` has priority
3486
+ # over the value of `require_ssl`. For example, for the pair `ssl_mode=
3487
+ # ENCRYPTED_ONLY` and `require_ssl=false`, `ssl_mode=ENCRYPTED_ONLY` means
3488
+ # accept only SSL connections, while `require_ssl=false` means accept both non-
3489
+ # SSL and SSL connections. In this case, MySQL and PostgreSQL databases respect `
3490
+ # ssl_mode` and accepts only SSL connections.
3491
+ # Corresponds to the JSON property `sslMode`
3492
+ # @return [String]
3493
+ attr_accessor :ssl_mode
3494
+
2081
3495
  def initialize(**args)
2082
3496
  update!(**args)
2083
3497
  end
@@ -2086,14 +3500,19 @@ module Google
2086
3500
  def update!(**args)
2087
3501
  @allocated_ip_range = args[:allocated_ip_range] if args.key?(:allocated_ip_range)
2088
3502
  @authorized_networks = args[:authorized_networks] if args.key?(:authorized_networks)
3503
+ @custom_subject_alternative_names = args[:custom_subject_alternative_names] if args.key?(:custom_subject_alternative_names)
2089
3504
  @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
3505
  @ipv4_enabled = args[:ipv4_enabled] if args.key?(:ipv4_enabled)
2091
3506
  @private_network = args[:private_network] if args.key?(:private_network)
3507
+ @psc_config = args[:psc_config] if args.key?(:psc_config)
2092
3508
  @require_ssl = args[:require_ssl] if args.key?(:require_ssl)
3509
+ @server_ca_mode = args[:server_ca_mode] if args.key?(:server_ca_mode)
3510
+ @server_ca_pool = args[:server_ca_pool] if args.key?(:server_ca_pool)
3511
+ @ssl_mode = args[:ssl_mode] if args.key?(:ssl_mode)
2093
3512
  end
2094
3513
  end
2095
3514
 
2096
- # Database instance IP Mapping.
3515
+ # Database instance IP mapping
2097
3516
  class IpMapping
2098
3517
  include Google::Apis::Core::Hashable
2099
3518
 
@@ -2129,6 +3548,39 @@ module Google
2129
3548
  end
2130
3549
  end
2131
3550
 
3551
+ # The response payload containing a list of the backups.
3552
+ class ListBackupsResponse
3553
+ include Google::Apis::Core::Hashable
3554
+
3555
+ # A list of backups.
3556
+ # Corresponds to the JSON property `backups`
3557
+ # @return [Array<Google::Apis::SqladminV1beta4::Backup>]
3558
+ attr_accessor :backups
3559
+
3560
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
3561
+ # field is omitted, then there aren't subsequent pages.
3562
+ # Corresponds to the JSON property `nextPageToken`
3563
+ # @return [String]
3564
+ attr_accessor :next_page_token
3565
+
3566
+ # If a region isn't unavailable or if an unknown error occurs, then a warning
3567
+ # message is returned.
3568
+ # Corresponds to the JSON property `warnings`
3569
+ # @return [Array<Google::Apis::SqladminV1beta4::ApiWarning>]
3570
+ attr_accessor :warnings
3571
+
3572
+ def initialize(**args)
3573
+ update!(**args)
3574
+ end
3575
+
3576
+ # Update properties of this object
3577
+ def update!(**args)
3578
+ @backups = args[:backups] if args.key?(:backups)
3579
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3580
+ @warnings = args[:warnings] if args.key?(:warnings)
3581
+ end
3582
+ end
3583
+
2132
3584
  # Preferred location. This specifies where a Cloud SQL instance is located. Note
2133
3585
  # that if the preferred location is not available, the instance will be located
2134
3586
  # as close as possible within the region. Only one location may be specified.
@@ -2147,7 +3599,8 @@ module Google
2147
3599
  attr_accessor :kind
2148
3600
 
2149
3601
  # The preferred Compute Engine zone for the secondary/failover (for example: us-
2150
- # central1-a, us-central1-b, etc.).
3602
+ # central1-a, us-central1-b, etc.). To disable this field, set it to '
3603
+ # no_secondary_zone'.
2151
3604
  # Corresponds to the JSON property `secondaryZone`
2152
3605
  # @return [String]
2153
3606
  attr_accessor :secondary_zone
@@ -2176,12 +3629,14 @@ module Google
2176
3629
  class MaintenanceWindow
2177
3630
  include Google::Apis::Core::Hashable
2178
3631
 
2179
- # day of week (1-7), starting on Monday.
3632
+ # Day of week - `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `
3633
+ # SATURDAY`, or `SUNDAY`. Specify in the UTC time zone. Returned in output as an
3634
+ # integer, 1 to 7, where `1` equals Monday.
2180
3635
  # Corresponds to the JSON property `day`
2181
3636
  # @return [Fixnum]
2182
3637
  attr_accessor :day
2183
3638
 
2184
- # hour of day - 0 to 23.
3639
+ # Hour of day - 0 to 23. Specify in the UTC time zone.
2185
3640
  # Corresponds to the JSON property `hour`
2186
3641
  # @return [Fixnum]
2187
3642
  attr_accessor :hour
@@ -2191,9 +3646,9 @@ module Google
2191
3646
  # @return [String]
2192
3647
  attr_accessor :kind
2193
3648
 
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).
3649
+ # Maintenance timing settings: `canary`, `stable`, or `week5`. For more
3650
+ # information, see [About maintenance on Cloud SQL instances](https://cloud.
3651
+ # google.com/sql/docs/mysql/maintenance).
2197
3652
  # Corresponds to the JSON property `updateTrack`
2198
3653
  # @return [String]
2199
3654
  attr_accessor :update_track
@@ -2211,6 +3666,26 @@ module Google
2211
3666
  end
2212
3667
  end
2213
3668
 
3669
+ # The additional metadata information regarding the execution of the SQL
3670
+ # statements.
3671
+ class Metadata
3672
+ include Google::Apis::Core::Hashable
3673
+
3674
+ # The time taken to execute the SQL statements.
3675
+ # Corresponds to the JSON property `sqlStatementExecutionTime`
3676
+ # @return [String]
3677
+ attr_accessor :sql_statement_execution_time
3678
+
3679
+ def initialize(**args)
3680
+ update!(**args)
3681
+ end
3682
+
3683
+ # Update properties of this object
3684
+ def update!(**args)
3685
+ @sql_statement_execution_time = args[:sql_statement_execution_time] if args.key?(:sql_statement_execution_time)
3686
+ end
3687
+ end
3688
+
2214
3689
  # Read-replica configuration specific to MySQL databases.
2215
3690
  class MySqlReplicaConfiguration
2216
3691
  include Google::Apis::Core::Hashable
@@ -2225,7 +3700,7 @@ module Google
2225
3700
  # @return [String]
2226
3701
  attr_accessor :client_certificate
2227
3702
 
2228
- # PEM representation of the replica's private key. The corresponsing public key
3703
+ # PEM representation of the replica's private key. The corresponding public key
2229
3704
  # is encoded in the client's certificate.
2230
3705
  # Corresponds to the JSON property `clientKey`
2231
3706
  # @return [String]
@@ -2330,7 +3805,7 @@ module Google
2330
3805
  # @return [String]
2331
3806
  attr_accessor :client_certificate
2332
3807
 
2333
- # PEM representation of the replica's private key. The corresponsing public key
3808
+ # PEM representation of the replica's private key. The corresponding public key
2334
3809
  # is encoded in the client's certificate.
2335
3810
  # Corresponds to the JSON property `clientKey`
2336
3811
  # @return [String]
@@ -2356,11 +3831,22 @@ module Google
2356
3831
  # @return [String]
2357
3832
  attr_accessor :password
2358
3833
 
3834
+ # Optional. A list of objects that the user selects for replication from an
3835
+ # external source instance.
3836
+ # Corresponds to the JSON property `selectedObjects`
3837
+ # @return [Array<Google::Apis::SqladminV1beta4::SelectedObjects>]
3838
+ attr_accessor :selected_objects
3839
+
2359
3840
  # Reference to another Cloud SQL instance.
2360
3841
  # Corresponds to the JSON property `sourceInstance`
2361
3842
  # @return [Google::Apis::SqladminV1beta4::InstanceReference]
2362
3843
  attr_accessor :source_instance
2363
3844
 
3845
+ # Optional. SslOption for replica connection to the on-premises source.
3846
+ # Corresponds to the JSON property `sslOption`
3847
+ # @return [String]
3848
+ attr_accessor :ssl_option
3849
+
2364
3850
  # The username for connecting to on-premises instance.
2365
3851
  # Corresponds to the JSON property `username`
2366
3852
  # @return [String]
@@ -2379,7 +3865,9 @@ module Google
2379
3865
  @host_port = args[:host_port] if args.key?(:host_port)
2380
3866
  @kind = args[:kind] if args.key?(:kind)
2381
3867
  @password = args[:password] if args.key?(:password)
3868
+ @selected_objects = args[:selected_objects] if args.key?(:selected_objects)
2382
3869
  @source_instance = args[:source_instance] if args.key?(:source_instance)
3870
+ @ssl_option = args[:ssl_option] if args.key?(:ssl_option)
2383
3871
  @username = args[:username] if args.key?(:username)
2384
3872
  end
2385
3873
  end
@@ -2390,6 +3878,16 @@ module Google
2390
3878
  class Operation
2391
3879
  include Google::Apis::Core::Hashable
2392
3880
 
3881
+ # Acquire SSRS lease context.
3882
+ # Corresponds to the JSON property `acquireSsrsLeaseContext`
3883
+ # @return [Google::Apis::SqladminV1beta4::AcquireSsrsLeaseContext]
3884
+ attr_accessor :acquire_ssrs_lease_context
3885
+
3886
+ # An Admin API warning message.
3887
+ # Corresponds to the JSON property `apiWarning`
3888
+ # @return [Google::Apis::SqladminV1beta4::ApiWarning]
3889
+ attr_accessor :api_warning
3890
+
2393
3891
  # Backup context.
2394
3892
  # Corresponds to the JSON property `backupContext`
2395
3893
  # @return [Google::Apis::SqladminV1beta4::BackupContext]
@@ -2457,7 +3955,12 @@ module Google
2457
3955
  # @return [String]
2458
3956
  attr_accessor :status
2459
3957
 
2460
- # Name of the database instance related to this operation.
3958
+ # The sub operation type based on the operation type.
3959
+ # Corresponds to the JSON property `subOperationType`
3960
+ # @return [Google::Apis::SqladminV1beta4::SqlSubOperationType]
3961
+ attr_accessor :sub_operation_type
3962
+
3963
+ # Name of the resource on which this operation runs.
2461
3964
  # Corresponds to the JSON property `targetId`
2462
3965
  # @return [String]
2463
3966
  attr_accessor :target_id
@@ -2483,6 +3986,8 @@ module Google
2483
3986
 
2484
3987
  # Update properties of this object
2485
3988
  def update!(**args)
3989
+ @acquire_ssrs_lease_context = args[:acquire_ssrs_lease_context] if args.key?(:acquire_ssrs_lease_context)
3990
+ @api_warning = args[:api_warning] if args.key?(:api_warning)
2486
3991
  @backup_context = args[:backup_context] if args.key?(:backup_context)
2487
3992
  @end_time = args[:end_time] if args.key?(:end_time)
2488
3993
  @error = args[:error] if args.key?(:error)
@@ -2495,6 +4000,7 @@ module Google
2495
4000
  @self_link = args[:self_link] if args.key?(:self_link)
2496
4001
  @start_time = args[:start_time] if args.key?(:start_time)
2497
4002
  @status = args[:status] if args.key?(:status)
4003
+ @sub_operation_type = args[:sub_operation_type] if args.key?(:sub_operation_type)
2498
4004
  @target_id = args[:target_id] if args.key?(:target_id)
2499
4005
  @target_link = args[:target_link] if args.key?(:target_link)
2500
4006
  @target_project = args[:target_project] if args.key?(:target_project)
@@ -2558,6 +4064,65 @@ module Google
2558
4064
  end
2559
4065
  end
2560
4066
 
4067
+ # Represents the metadata of the long-running operation.
4068
+ class OperationMetadata
4069
+ include Google::Apis::Core::Hashable
4070
+
4071
+ # Output only. API version used to start the operation.
4072
+ # Corresponds to the JSON property `apiVersion`
4073
+ # @return [String]
4074
+ attr_accessor :api_version
4075
+
4076
+ # Output only. Identifies whether the user has requested cancellation of the
4077
+ # operation. Operations that have been cancelled successfully have google.
4078
+ # longrunning.Operation.error value with a google.rpc.Status.code of `1`,
4079
+ # corresponding to `Code.CANCELLED`.
4080
+ # Corresponds to the JSON property `cancelRequested`
4081
+ # @return [Boolean]
4082
+ attr_accessor :cancel_requested
4083
+ alias_method :cancel_requested?, :cancel_requested
4084
+
4085
+ # Output only. The time the operation was created.
4086
+ # Corresponds to the JSON property `createTime`
4087
+ # @return [String]
4088
+ attr_accessor :create_time
4089
+
4090
+ # Output only. The time the operation finished running.
4091
+ # Corresponds to the JSON property `endTime`
4092
+ # @return [String]
4093
+ attr_accessor :end_time
4094
+
4095
+ # Output only. Human-readable status of the operation, if any.
4096
+ # Corresponds to the JSON property `statusDetail`
4097
+ # @return [String]
4098
+ attr_accessor :status_detail
4099
+
4100
+ # Output only. Server-defined resource path for the target of the operation.
4101
+ # Corresponds to the JSON property `target`
4102
+ # @return [String]
4103
+ attr_accessor :target
4104
+
4105
+ # Output only. Name of the verb executed by the operation.
4106
+ # Corresponds to the JSON property `verb`
4107
+ # @return [String]
4108
+ attr_accessor :verb
4109
+
4110
+ def initialize(**args)
4111
+ update!(**args)
4112
+ end
4113
+
4114
+ # Update properties of this object
4115
+ def update!(**args)
4116
+ @api_version = args[:api_version] if args.key?(:api_version)
4117
+ @cancel_requested = args[:cancel_requested] if args.key?(:cancel_requested)
4118
+ @create_time = args[:create_time] if args.key?(:create_time)
4119
+ @end_time = args[:end_time] if args.key?(:end_time)
4120
+ @status_detail = args[:status_detail] if args.key?(:status_detail)
4121
+ @target = args[:target] if args.key?(:target)
4122
+ @verb = args[:verb] if args.key?(:verb)
4123
+ end
4124
+ end
4125
+
2561
4126
  # Operations list response.
2562
4127
  class ListOperationsResponse
2563
4128
  include Google::Apis::Core::Hashable
@@ -2625,33 +4190,313 @@ module Google
2625
4190
  # @return [String]
2626
4191
  attr_accessor :complexity
2627
4192
 
4193
+ # This field is deprecated and will be removed in a future version of the API.
4194
+ # Corresponds to the JSON property `disallowCompromisedCredentials`
4195
+ # @return [Boolean]
4196
+ attr_accessor :disallow_compromised_credentials
4197
+ alias_method :disallow_compromised_credentials?, :disallow_compromised_credentials
4198
+
2628
4199
  # Disallow username as a part of the password.
2629
4200
  # Corresponds to the JSON property `disallowUsernameSubstring`
2630
4201
  # @return [Boolean]
2631
4202
  attr_accessor :disallow_username_substring
2632
4203
  alias_method :disallow_username_substring?, :disallow_username_substring
2633
4204
 
2634
- # Whether the password policy is enabled or not.
2635
- # Corresponds to the JSON property `enablePasswordPolicy`
2636
- # @return [Boolean]
2637
- attr_accessor :enable_password_policy
2638
- alias_method :enable_password_policy?, :enable_password_policy
4205
+ # Whether the password policy is enabled or not.
4206
+ # Corresponds to the JSON property `enablePasswordPolicy`
4207
+ # @return [Boolean]
4208
+ attr_accessor :enable_password_policy
4209
+ alias_method :enable_password_policy?, :enable_password_policy
4210
+
4211
+ # Minimum number of characters allowed.
4212
+ # Corresponds to the JSON property `minLength`
4213
+ # @return [Fixnum]
4214
+ attr_accessor :min_length
4215
+
4216
+ # Minimum interval after which the password can be changed. This flag is only
4217
+ # supported for PostgreSQL.
4218
+ # Corresponds to the JSON property `passwordChangeInterval`
4219
+ # @return [String]
4220
+ attr_accessor :password_change_interval
4221
+
4222
+ # Number of previous passwords that cannot be reused.
4223
+ # Corresponds to the JSON property `reuseInterval`
4224
+ # @return [Fixnum]
4225
+ attr_accessor :reuse_interval
4226
+
4227
+ def initialize(**args)
4228
+ update!(**args)
4229
+ end
4230
+
4231
+ # Update properties of this object
4232
+ def update!(**args)
4233
+ @complexity = args[:complexity] if args.key?(:complexity)
4234
+ @disallow_compromised_credentials = args[:disallow_compromised_credentials] if args.key?(:disallow_compromised_credentials)
4235
+ @disallow_username_substring = args[:disallow_username_substring] if args.key?(:disallow_username_substring)
4236
+ @enable_password_policy = args[:enable_password_policy] if args.key?(:enable_password_policy)
4237
+ @min_length = args[:min_length] if args.key?(:min_length)
4238
+ @password_change_interval = args[:password_change_interval] if args.key?(:password_change_interval)
4239
+ @reuse_interval = args[:reuse_interval] if args.key?(:reuse_interval)
4240
+ end
4241
+ end
4242
+
4243
+ # Perform disk shrink context.
4244
+ class PerformDiskShrinkContext
4245
+ include Google::Apis::Core::Hashable
4246
+
4247
+ # The target disk shrink size in GigaBytes.
4248
+ # Corresponds to the JSON property `targetSizeGb`
4249
+ # @return [Fixnum]
4250
+ attr_accessor :target_size_gb
4251
+
4252
+ def initialize(**args)
4253
+ update!(**args)
4254
+ end
4255
+
4256
+ # Update properties of this object
4257
+ def update!(**args)
4258
+ @target_size_gb = args[:target_size_gb] if args.key?(:target_size_gb)
4259
+ end
4260
+ end
4261
+
4262
+ # Context to perform a point-in-time restore of an instance managed by Google
4263
+ # Cloud Backup and Disaster Recovery.
4264
+ class PointInTimeRestoreContext
4265
+ include Google::Apis::Core::Hashable
4266
+
4267
+ # Optional. The name of the allocated IP range for the internal IP Cloud SQL
4268
+ # instance. For example: "google-managed-services-default". If you set this,
4269
+ # then Cloud SQL creates the IP address for the cloned instance in the allocated
4270
+ # range. This range must comply with [RFC 1035](https://tools.ietf.org/html/
4271
+ # rfc1035) standards. Specifically, the name must be 1-63 characters long and
4272
+ # match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?. Reserved for future
4273
+ # use.
4274
+ # Corresponds to the JSON property `allocatedIpRange`
4275
+ # @return [String]
4276
+ attr_accessor :allocated_ip_range
4277
+
4278
+ # The Google Cloud Backup and Disaster Recovery Datasource URI. Format: projects/
4279
+ # `project`/locations/`region`/backupVaults/`backupvault`/dataSources/`
4280
+ # datasource`.
4281
+ # Corresponds to the JSON property `datasource`
4282
+ # @return [String]
4283
+ attr_accessor :datasource
4284
+
4285
+ # Required. The date and time to which you want to restore the instance.
4286
+ # Corresponds to the JSON property `pointInTime`
4287
+ # @return [String]
4288
+ attr_accessor :point_in_time
4289
+
4290
+ # Optional. Point-in-time recovery of a regional instance in the specified zones.
4291
+ # If not specified, clone to the same secondary zone as the source instance.
4292
+ # This value cannot be the same as the preferred_zone field.
4293
+ # Corresponds to the JSON property `preferredSecondaryZone`
4294
+ # @return [String]
4295
+ attr_accessor :preferred_secondary_zone
4296
+
4297
+ # Optional. Point-in-time recovery of an instance to the specified zone. If no
4298
+ # zone is specified, then clone to the same primary zone as the source instance.
4299
+ # Corresponds to the JSON property `preferredZone`
4300
+ # @return [String]
4301
+ attr_accessor :preferred_zone
4302
+
4303
+ # Optional. The resource link for the VPC network from which the Cloud SQL
4304
+ # instance is accessible for private IP. For example, `/projects/myProject/
4305
+ # global/networks/default`.
4306
+ # Corresponds to the JSON property `privateNetwork`
4307
+ # @return [String]
4308
+ attr_accessor :private_network
4309
+
4310
+ # Target instance name.
4311
+ # Corresponds to the JSON property `targetInstance`
4312
+ # @return [String]
4313
+ attr_accessor :target_instance
4314
+
4315
+ def initialize(**args)
4316
+ update!(**args)
4317
+ end
4318
+
4319
+ # Update properties of this object
4320
+ def update!(**args)
4321
+ @allocated_ip_range = args[:allocated_ip_range] if args.key?(:allocated_ip_range)
4322
+ @datasource = args[:datasource] if args.key?(:datasource)
4323
+ @point_in_time = args[:point_in_time] if args.key?(:point_in_time)
4324
+ @preferred_secondary_zone = args[:preferred_secondary_zone] if args.key?(:preferred_secondary_zone)
4325
+ @preferred_zone = args[:preferred_zone] if args.key?(:preferred_zone)
4326
+ @private_network = args[:private_network] if args.key?(:private_network)
4327
+ @target_instance = args[:target_instance] if args.key?(:target_instance)
4328
+ end
4329
+ end
4330
+
4331
+ # Details of a single read pool node of a read pool.
4332
+ class PoolNodeConfig
4333
+ include Google::Apis::Core::Hashable
4334
+
4335
+ # Output only. The DNS name of the read pool node.
4336
+ # Corresponds to the JSON property `dnsName`
4337
+ # @return [String]
4338
+ attr_accessor :dns_name
4339
+
4340
+ # Output only. The list of DNS names used by this read pool node.
4341
+ # Corresponds to the JSON property `dnsNames`
4342
+ # @return [Array<Google::Apis::SqladminV1beta4::DnsNameMapping>]
4343
+ attr_accessor :dns_names
4344
+
4345
+ # Output only. The zone of the read pool node.
4346
+ # Corresponds to the JSON property `gceZone`
4347
+ # @return [String]
4348
+ attr_accessor :gce_zone
4349
+
4350
+ # Output only. Mappings containing IP addresses that can be used to connect to
4351
+ # the read pool node.
4352
+ # Corresponds to the JSON property `ipAddresses`
4353
+ # @return [Array<Google::Apis::SqladminV1beta4::IpMapping>]
4354
+ attr_accessor :ip_addresses
4355
+
4356
+ # Output only. The name of the read pool node, to be used for retrieving metrics
4357
+ # and logs.
4358
+ # Corresponds to the JSON property `name`
4359
+ # @return [String]
4360
+ attr_accessor :name
4361
+
4362
+ # Output only. The current state of the read pool node.
4363
+ # Corresponds to the JSON property `state`
4364
+ # @return [String]
4365
+ attr_accessor :state
4366
+
4367
+ def initialize(**args)
4368
+ update!(**args)
4369
+ end
4370
+
4371
+ # Update properties of this object
4372
+ def update!(**args)
4373
+ @dns_name = args[:dns_name] if args.key?(:dns_name)
4374
+ @dns_names = args[:dns_names] if args.key?(:dns_names)
4375
+ @gce_zone = args[:gce_zone] if args.key?(:gce_zone)
4376
+ @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
4377
+ @name = args[:name] if args.key?(:name)
4378
+ @state = args[:state] if args.key?(:state)
4379
+ end
4380
+ end
4381
+
4382
+ # Settings for an automatically-setup Private Service Connect consumer endpoint
4383
+ # that is used to connect to a Cloud SQL instance.
4384
+ class PscAutoConnectionConfig
4385
+ include Google::Apis::Core::Hashable
4386
+
4387
+ # Optional. The consumer network of this consumer endpoint. This must be a
4388
+ # resource path that includes both the host project and the network name. For
4389
+ # example, `projects/project1/global/networks/network1`. The consumer host
4390
+ # project of this network might be different from the consumer service project.
4391
+ # Corresponds to the JSON property `consumerNetwork`
4392
+ # @return [String]
4393
+ attr_accessor :consumer_network
4394
+
4395
+ # The connection policy status of the consumer network.
4396
+ # Corresponds to the JSON property `consumerNetworkStatus`
4397
+ # @return [String]
4398
+ attr_accessor :consumer_network_status
4399
+
4400
+ # Optional. This is the project ID of consumer service project of this consumer
4401
+ # endpoint. Optional. This is only applicable if consumer_network is a shared
4402
+ # vpc network.
4403
+ # Corresponds to the JSON property `consumerProject`
4404
+ # @return [String]
4405
+ attr_accessor :consumer_project
4406
+
4407
+ # The IP address of the consumer endpoint.
4408
+ # Corresponds to the JSON property `ipAddress`
4409
+ # @return [String]
4410
+ attr_accessor :ip_address
4411
+
4412
+ # The connection status of the consumer endpoint.
4413
+ # Corresponds to the JSON property `status`
4414
+ # @return [String]
4415
+ attr_accessor :status
4416
+
4417
+ def initialize(**args)
4418
+ update!(**args)
4419
+ end
4420
+
4421
+ # Update properties of this object
4422
+ def update!(**args)
4423
+ @consumer_network = args[:consumer_network] if args.key?(:consumer_network)
4424
+ @consumer_network_status = args[:consumer_network_status] if args.key?(:consumer_network_status)
4425
+ @consumer_project = args[:consumer_project] if args.key?(:consumer_project)
4426
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
4427
+ @status = args[:status] if args.key?(:status)
4428
+ end
4429
+ end
4430
+
4431
+ # PSC settings for a Cloud SQL instance.
4432
+ class PscConfig
4433
+ include Google::Apis::Core::Hashable
4434
+
4435
+ # Optional. The list of consumer projects that are allow-listed for PSC
4436
+ # connections to this instance. This instance can be connected to with PSC from
4437
+ # any network in these projects. Each consumer project in this list may be
4438
+ # represented by a project number (numeric) or by a project id (alphanumeric).
4439
+ # Corresponds to the JSON property `allowedConsumerProjects`
4440
+ # @return [Array<String>]
4441
+ attr_accessor :allowed_consumer_projects
4442
+
4443
+ # Optional. The network attachment of the consumer network that the Private
4444
+ # Service Connect enabled Cloud SQL instance is authorized to connect via PSC
4445
+ # interface. format: projects/PROJECT/regions/REGION/networkAttachments/ID
4446
+ # Corresponds to the JSON property `networkAttachmentUri`
4447
+ # @return [String]
4448
+ attr_accessor :network_attachment_uri
4449
+
4450
+ # Optional. The list of settings for requested Private Service Connect consumer
4451
+ # endpoints that can be used to connect to this Cloud SQL instance.
4452
+ # Corresponds to the JSON property `pscAutoConnections`
4453
+ # @return [Array<Google::Apis::SqladminV1beta4::PscAutoConnectionConfig>]
4454
+ attr_accessor :psc_auto_connections
4455
+
4456
+ # Whether PSC connectivity is enabled for this instance.
4457
+ # Corresponds to the JSON property `pscEnabled`
4458
+ # @return [Boolean]
4459
+ attr_accessor :psc_enabled
4460
+ alias_method :psc_enabled?, :psc_enabled
4461
+
4462
+ def initialize(**args)
4463
+ update!(**args)
4464
+ end
4465
+
4466
+ # Update properties of this object
4467
+ def update!(**args)
4468
+ @allowed_consumer_projects = args[:allowed_consumer_projects] if args.key?(:allowed_consumer_projects)
4469
+ @network_attachment_uri = args[:network_attachment_uri] if args.key?(:network_attachment_uri)
4470
+ @psc_auto_connections = args[:psc_auto_connections] if args.key?(:psc_auto_connections)
4471
+ @psc_enabled = args[:psc_enabled] if args.key?(:psc_enabled)
4472
+ end
4473
+ end
4474
+
4475
+ # QueryResult contains the result of executing a single SQL statement.
4476
+ class QueryResult
4477
+ include Google::Apis::Core::Hashable
2639
4478
 
2640
- # Minimum number of characters allowed.
2641
- # Corresponds to the JSON property `minLength`
2642
- # @return [Fixnum]
2643
- attr_accessor :min_length
4479
+ # List of columns included in the result. This also includes the data type of
4480
+ # the column.
4481
+ # Corresponds to the JSON property `columns`
4482
+ # @return [Array<Google::Apis::SqladminV1beta4::Column>]
4483
+ attr_accessor :columns
2644
4484
 
2645
- # Minimum interval after which the password can be changed. This flag is only
2646
- # supported for PostgreSQL.
2647
- # Corresponds to the JSON property `passwordChangeInterval`
4485
+ # Message related to the SQL execution result.
4486
+ # Corresponds to the JSON property `message`
2648
4487
  # @return [String]
2649
- attr_accessor :password_change_interval
4488
+ attr_accessor :message
2650
4489
 
2651
- # Number of previous passwords that cannot be reused.
2652
- # Corresponds to the JSON property `reuseInterval`
2653
- # @return [Fixnum]
2654
- attr_accessor :reuse_interval
4490
+ # Set to true if the SQL execution's result is truncated due to size limits.
4491
+ # Corresponds to the JSON property `partialResult`
4492
+ # @return [Boolean]
4493
+ attr_accessor :partial_result
4494
+ alias_method :partial_result?, :partial_result
4495
+
4496
+ # Rows returned by the SQL statement.
4497
+ # Corresponds to the JSON property `rows`
4498
+ # @return [Array<Google::Apis::SqladminV1beta4::Row>]
4499
+ attr_accessor :rows
2655
4500
 
2656
4501
  def initialize(**args)
2657
4502
  update!(**args)
@@ -2659,12 +4504,10 @@ module Google
2659
4504
 
2660
4505
  # Update properties of this object
2661
4506
  def update!(**args)
2662
- @complexity = args[:complexity] if args.key?(:complexity)
2663
- @disallow_username_substring = args[:disallow_username_substring] if args.key?(:disallow_username_substring)
2664
- @enable_password_policy = args[:enable_password_policy] if args.key?(:enable_password_policy)
2665
- @min_length = args[:min_length] if args.key?(:min_length)
2666
- @password_change_interval = args[:password_change_interval] if args.key?(:password_change_interval)
2667
- @reuse_interval = args[:reuse_interval] if args.key?(:reuse_interval)
4507
+ @columns = args[:columns] if args.key?(:columns)
4508
+ @message = args[:message] if args.key?(:message)
4509
+ @partial_result = args[:partial_result] if args.key?(:partial_result)
4510
+ @rows = args[:rows] if args.key?(:rows)
2668
4511
  end
2669
4512
  end
2670
4513
 
@@ -2672,6 +4515,14 @@ module Google
2672
4515
  class ReplicaConfiguration
2673
4516
  include Google::Apis::Core::Hashable
2674
4517
 
4518
+ # Optional. Specifies if a SQL Server replica is a cascadable replica. A
4519
+ # cascadable replica is a SQL Server cross region replica that supports replica(
4520
+ # s) under it.
4521
+ # Corresponds to the JSON property `cascadableReplica`
4522
+ # @return [Boolean]
4523
+ attr_accessor :cascadable_replica
4524
+ alias_method :cascadable_replica?, :cascadable_replica
4525
+
2675
4526
  # Specifies if the replica is the failover target. If the field is set to `true`
2676
4527
  # the replica will be designated as a failover replica. In case the primary
2677
4528
  # instance fails, the replica instance will be promoted as the new primary
@@ -2698,12 +4549,59 @@ module Google
2698
4549
 
2699
4550
  # Update properties of this object
2700
4551
  def update!(**args)
4552
+ @cascadable_replica = args[:cascadable_replica] if args.key?(:cascadable_replica)
2701
4553
  @failover_target = args[:failover_target] if args.key?(:failover_target)
2702
4554
  @kind = args[:kind] if args.key?(:kind)
2703
4555
  @mysql_replica_configuration = args[:mysql_replica_configuration] if args.key?(:mysql_replica_configuration)
2704
4556
  end
2705
4557
  end
2706
4558
 
4559
+ # A primary instance and disaster recovery (DR) replica pair. A DR replica is a
4560
+ # cross-region replica that you designate for failover in the event that the
4561
+ # primary instance has regional failure. Applicable to MySQL and PostgreSQL.
4562
+ class ReplicationCluster
4563
+ include Google::Apis::Core::Hashable
4564
+
4565
+ # Output only. Read-only field that indicates whether the replica is a DR
4566
+ # replica. This field is not set if the instance is a primary instance.
4567
+ # Corresponds to the JSON property `drReplica`
4568
+ # @return [Boolean]
4569
+ attr_accessor :dr_replica
4570
+ alias_method :dr_replica?, :dr_replica
4571
+
4572
+ # Optional. If the instance is a primary instance, then this field identifies
4573
+ # the disaster recovery (DR) replica. A DR replica is an optional configuration
4574
+ # for Enterprise Plus edition instances. If the instance is a read replica, then
4575
+ # the field is not set. Set this field to a replica name to designate a DR
4576
+ # replica for a primary instance. Remove the replica name to remove the DR
4577
+ # replica designation.
4578
+ # Corresponds to the JSON property `failoverDrReplicaName`
4579
+ # @return [String]
4580
+ attr_accessor :failover_dr_replica_name
4581
+
4582
+ # Output only. If set, this field indicates this instance has a private service
4583
+ # access (PSA) DNS endpoint that is pointing to the primary instance of the
4584
+ # cluster. If this instance is the primary, then the DNS endpoint points to this
4585
+ # instance. After a switchover or replica failover operation, this DNS endpoint
4586
+ # points to the promoted instance. This is a read-only field, returned to the
4587
+ # user as information. This field can exist even if a standalone instance doesn'
4588
+ # t have a DR replica yet or the DR replica is deleted.
4589
+ # Corresponds to the JSON property `psaWriteEndpoint`
4590
+ # @return [String]
4591
+ attr_accessor :psa_write_endpoint
4592
+
4593
+ def initialize(**args)
4594
+ update!(**args)
4595
+ end
4596
+
4597
+ # Update properties of this object
4598
+ def update!(**args)
4599
+ @dr_replica = args[:dr_replica] if args.key?(:dr_replica)
4600
+ @failover_dr_replica_name = args[:failover_dr_replica_name] if args.key?(:failover_dr_replica_name)
4601
+ @psa_write_endpoint = args[:psa_write_endpoint] if args.key?(:psa_write_endpoint)
4602
+ end
4603
+ end
4604
+
2707
4605
  #
2708
4606
  class Reschedule
2709
4607
  include Google::Apis::Core::Hashable
@@ -2795,6 +4693,72 @@ module Google
2795
4693
  end
2796
4694
  end
2797
4695
 
4696
+ # Instance rotate server certificate context.
4697
+ class RotateServerCertificateContext
4698
+ include Google::Apis::Core::Hashable
4699
+
4700
+ # Optional. This is always `sql#rotateServerCertificateContext`.
4701
+ # Corresponds to the JSON property `kind`
4702
+ # @return [String]
4703
+ attr_accessor :kind
4704
+
4705
+ # Optional. The fingerprint of the next version to be rotated to. If left
4706
+ # unspecified, will be rotated to the most recently added server certificate
4707
+ # version.
4708
+ # Corresponds to the JSON property `nextVersion`
4709
+ # @return [String]
4710
+ attr_accessor :next_version
4711
+
4712
+ def initialize(**args)
4713
+ update!(**args)
4714
+ end
4715
+
4716
+ # Update properties of this object
4717
+ def update!(**args)
4718
+ @kind = args[:kind] if args.key?(:kind)
4719
+ @next_version = args[:next_version] if args.key?(:next_version)
4720
+ end
4721
+ end
4722
+
4723
+ # Contains the values for a row.
4724
+ class Row
4725
+ include Google::Apis::Core::Hashable
4726
+
4727
+ # The values for the row.
4728
+ # Corresponds to the JSON property `values`
4729
+ # @return [Array<Google::Apis::SqladminV1beta4::Value>]
4730
+ attr_accessor :values
4731
+
4732
+ def initialize(**args)
4733
+ update!(**args)
4734
+ end
4735
+
4736
+ # Update properties of this object
4737
+ def update!(**args)
4738
+ @values = args[:values] if args.key?(:values)
4739
+ end
4740
+ end
4741
+
4742
+ # A list of objects that the user selects for replication from an external
4743
+ # source instance.
4744
+ class SelectedObjects
4745
+ include Google::Apis::Core::Hashable
4746
+
4747
+ # Required. The name of the database to migrate.
4748
+ # Corresponds to the JSON property `database`
4749
+ # @return [String]
4750
+ attr_accessor :database
4751
+
4752
+ def initialize(**args)
4753
+ update!(**args)
4754
+ end
4755
+
4756
+ # Update properties of this object
4757
+ def update!(**args)
4758
+ @database = args[:database] if args.key?(:database)
4759
+ end
4760
+ end
4761
+
2798
4762
  # Database instance settings.
2799
4763
  class Settings
2800
4764
  include Google::Apis::Core::Hashable
@@ -2813,6 +4777,11 @@ module Google
2813
4777
  # @return [Google::Apis::SqladminV1beta4::SqlActiveDirectoryConfig]
2814
4778
  attr_accessor :active_directory_config
2815
4779
 
4780
+ # Specifies options for controlling advanced machine features.
4781
+ # Corresponds to the JSON property `advancedMachineFeatures`
4782
+ # @return [Google::Apis::SqladminV1beta4::AdvancedMachineFeatures]
4783
+ attr_accessor :advanced_machine_features
4784
+
2816
4785
  # The App Engine app IDs that can access this instance. (Deprecated) Applied to
2817
4786
  # First Generation instances only.
2818
4787
  # Corresponds to the JSON property `authorizedGaeApplications`
@@ -2838,6 +4807,11 @@ module Google
2838
4807
  # @return [String]
2839
4808
  attr_accessor :collation
2840
4809
 
4810
+ # The managed connection pooling configuration.
4811
+ # Corresponds to the JSON property `connectionPoolConfig`
4812
+ # @return [Google::Apis::SqladminV1beta4::ConnectionPoolConfig]
4813
+ attr_accessor :connection_pool_config
4814
+
2841
4815
  # Specifies if connections must use Cloud SQL connectors. Option values include
2842
4816
  # the following: `NOT_REQUIRED` (Cloud SQL instances can be connected without
2843
4817
  # Cloud SQL Connectors) and `REQUIRED` (Only allow connections that use Cloud
@@ -2857,6 +4831,23 @@ module Google
2857
4831
  attr_accessor :crash_safe_replication_enabled
2858
4832
  alias_method :crash_safe_replication_enabled?, :crash_safe_replication_enabled
2859
4833
 
4834
+ # Data cache configurations.
4835
+ # Corresponds to the JSON property `dataCacheConfig`
4836
+ # @return [Google::Apis::SqladminV1beta4::DataCacheConfig]
4837
+ attr_accessor :data_cache_config
4838
+
4839
+ # Optional. Provisioned number of I/O operations per second for the data disk.
4840
+ # This field is only used for hyperdisk-balanced disk types.
4841
+ # Corresponds to the JSON property `dataDiskProvisionedIops`
4842
+ # @return [Fixnum]
4843
+ attr_accessor :data_disk_provisioned_iops
4844
+
4845
+ # Optional. Provisioned throughput measured in MiB per second for the data disk.
4846
+ # This field is only used for hyperdisk-balanced disk types.
4847
+ # Corresponds to the JSON property `dataDiskProvisionedThroughput`
4848
+ # @return [Fixnum]
4849
+ attr_accessor :data_disk_provisioned_throughput
4850
+
2860
4851
  # The size of data disk, in GB. The data disk size minimum is 10GB.
2861
4852
  # Corresponds to the JSON property `dataDiskSizeGb`
2862
4853
  # @return [Fixnum]
@@ -2891,6 +4882,33 @@ module Google
2891
4882
  # @return [Array<Google::Apis::SqladminV1beta4::DenyMaintenancePeriod>]
2892
4883
  attr_accessor :deny_maintenance_periods
2893
4884
 
4885
+ # Optional. The edition of the instance.
4886
+ # Corresponds to the JSON property `edition`
4887
+ # @return [String]
4888
+ attr_accessor :edition
4889
+
4890
+ # Optional. By default, Cloud SQL instances have schema extraction disabled for
4891
+ # Dataplex. When this parameter is set to true, schema extraction for Dataplex
4892
+ # on Cloud SQL instances is activated.
4893
+ # Corresponds to the JSON property `enableDataplexIntegration`
4894
+ # @return [Boolean]
4895
+ attr_accessor :enable_dataplex_integration
4896
+ alias_method :enable_dataplex_integration?, :enable_dataplex_integration
4897
+
4898
+ # Optional. When this parameter is set to true, Cloud SQL instances can connect
4899
+ # to Vertex AI to pass requests for real-time predictions and insights to the AI.
4900
+ # The default value is false. This applies only to Cloud SQL for MySQL and
4901
+ # Cloud SQL for PostgreSQL instances.
4902
+ # Corresponds to the JSON property `enableGoogleMlIntegration`
4903
+ # @return [Boolean]
4904
+ attr_accessor :enable_google_ml_integration
4905
+ alias_method :enable_google_ml_integration?, :enable_google_ml_integration
4906
+
4907
+ # Config used to determine the final backup settings for the instance.
4908
+ # Corresponds to the JSON property `finalBackupConfig`
4909
+ # @return [Google::Apis::SqladminV1beta4::FinalBackupConfig]
4910
+ attr_accessor :final_backup_config
4911
+
2894
4912
  # Insights configuration. This specifies when Cloud SQL Insights feature is
2895
4913
  # enabled and optional configuration.
2896
4914
  # Corresponds to the JSON property `insightsConfig`
@@ -2931,6 +4949,12 @@ module Google
2931
4949
  # @return [String]
2932
4950
  attr_accessor :pricing_plan
2933
4951
 
4952
+ # Optional. Configuration value for recreation of replica after certain
4953
+ # replication lag.
4954
+ # Corresponds to the JSON property `replicationLagMaxSeconds`
4955
+ # @return [Fixnum]
4956
+ attr_accessor :replication_lag_max_seconds
4957
+
2934
4958
  # The type of replication this instance uses. This can be either `ASYNCHRONOUS`
2935
4959
  # or `SYNCHRONOUS`. (Deprecated) This property was only applicable to First
2936
4960
  # Generation instances.
@@ -2938,6 +4962,15 @@ module Google
2938
4962
  # @return [String]
2939
4963
  attr_accessor :replication_type
2940
4964
 
4965
+ # Optional. When this parameter is set to true, Cloud SQL retains backups of the
4966
+ # instance even after the instance is deleted. The ON_DEMAND backup will be
4967
+ # retained until customer deletes the backup or the project. The AUTOMATED
4968
+ # backup will be retained based on the backups retention setting.
4969
+ # Corresponds to the JSON property `retainBackupsOnDelete`
4970
+ # @return [Boolean]
4971
+ attr_accessor :retain_backups_on_delete
4972
+ alias_method :retain_backups_on_delete?, :retain_backups_on_delete
4973
+
2941
4974
  # The version of instance settings. This is a required field for update method
2942
4975
  # to make sure concurrent updates are handled properly. During update, use the
2943
4976
  # most recent settingsVersion value for this instance and do not try to update
@@ -2989,18 +5022,27 @@ module Google
2989
5022
  def update!(**args)
2990
5023
  @activation_policy = args[:activation_policy] if args.key?(:activation_policy)
2991
5024
  @active_directory_config = args[:active_directory_config] if args.key?(:active_directory_config)
5025
+ @advanced_machine_features = args[:advanced_machine_features] if args.key?(:advanced_machine_features)
2992
5026
  @authorized_gae_applications = args[:authorized_gae_applications] if args.key?(:authorized_gae_applications)
2993
5027
  @availability_type = args[:availability_type] if args.key?(:availability_type)
2994
5028
  @backup_configuration = args[:backup_configuration] if args.key?(:backup_configuration)
2995
5029
  @collation = args[:collation] if args.key?(:collation)
5030
+ @connection_pool_config = args[:connection_pool_config] if args.key?(:connection_pool_config)
2996
5031
  @connector_enforcement = args[:connector_enforcement] if args.key?(:connector_enforcement)
2997
5032
  @crash_safe_replication_enabled = args[:crash_safe_replication_enabled] if args.key?(:crash_safe_replication_enabled)
5033
+ @data_cache_config = args[:data_cache_config] if args.key?(:data_cache_config)
5034
+ @data_disk_provisioned_iops = args[:data_disk_provisioned_iops] if args.key?(:data_disk_provisioned_iops)
5035
+ @data_disk_provisioned_throughput = args[:data_disk_provisioned_throughput] if args.key?(:data_disk_provisioned_throughput)
2998
5036
  @data_disk_size_gb = args[:data_disk_size_gb] if args.key?(:data_disk_size_gb)
2999
5037
  @data_disk_type = args[:data_disk_type] if args.key?(:data_disk_type)
3000
5038
  @database_flags = args[:database_flags] if args.key?(:database_flags)
3001
5039
  @database_replication_enabled = args[:database_replication_enabled] if args.key?(:database_replication_enabled)
3002
5040
  @deletion_protection_enabled = args[:deletion_protection_enabled] if args.key?(:deletion_protection_enabled)
3003
5041
  @deny_maintenance_periods = args[:deny_maintenance_periods] if args.key?(:deny_maintenance_periods)
5042
+ @edition = args[:edition] if args.key?(:edition)
5043
+ @enable_dataplex_integration = args[:enable_dataplex_integration] if args.key?(:enable_dataplex_integration)
5044
+ @enable_google_ml_integration = args[:enable_google_ml_integration] if args.key?(:enable_google_ml_integration)
5045
+ @final_backup_config = args[:final_backup_config] if args.key?(:final_backup_config)
3004
5046
  @insights_config = args[:insights_config] if args.key?(:insights_config)
3005
5047
  @ip_configuration = args[:ip_configuration] if args.key?(:ip_configuration)
3006
5048
  @kind = args[:kind] if args.key?(:kind)
@@ -3008,7 +5050,9 @@ module Google
3008
5050
  @maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
3009
5051
  @password_validation_policy = args[:password_validation_policy] if args.key?(:password_validation_policy)
3010
5052
  @pricing_plan = args[:pricing_plan] if args.key?(:pricing_plan)
5053
+ @replication_lag_max_seconds = args[:replication_lag_max_seconds] if args.key?(:replication_lag_max_seconds)
3011
5054
  @replication_type = args[:replication_type] if args.key?(:replication_type)
5055
+ @retain_backups_on_delete = args[:retain_backups_on_delete] if args.key?(:retain_backups_on_delete)
3012
5056
  @settings_version = args[:settings_version] if args.key?(:settings_version)
3013
5057
  @sql_server_audit_config = args[:sql_server_audit_config] if args.key?(:sql_server_audit_config)
3014
5058
  @storage_auto_resize = args[:storage_auto_resize] if args.key?(:storage_auto_resize)
@@ -3023,6 +5067,17 @@ module Google
3023
5067
  class SqlActiveDirectoryConfig
3024
5068
  include Google::Apis::Core::Hashable
3025
5069
 
5070
+ # Optional. The secret manager key storing the administrator credential. (e.g.,
5071
+ # projects/`project`/secrets/`secret`).
5072
+ # Corresponds to the JSON property `adminCredentialSecretName`
5073
+ # @return [String]
5074
+ attr_accessor :admin_credential_secret_name
5075
+
5076
+ # Optional. Domain controller IPv4 addresses used to bootstrap Active Directory.
5077
+ # Corresponds to the JSON property `dnsServers`
5078
+ # @return [Array<String>]
5079
+ attr_accessor :dns_servers
5080
+
3026
5081
  # The name of the domain (e.g., mydomain.com).
3027
5082
  # Corresponds to the JSON property `domain`
3028
5083
  # @return [String]
@@ -3033,14 +5088,29 @@ module Google
3033
5088
  # @return [String]
3034
5089
  attr_accessor :kind
3035
5090
 
5091
+ # Optional. The mode of the Active Directory configuration.
5092
+ # Corresponds to the JSON property `mode`
5093
+ # @return [String]
5094
+ attr_accessor :mode
5095
+
5096
+ # Optional. The organizational unit distinguished name. This is the full
5097
+ # hierarchical path to the organizational unit.
5098
+ # Corresponds to the JSON property `organizationalUnit`
5099
+ # @return [String]
5100
+ attr_accessor :organizational_unit
5101
+
3036
5102
  def initialize(**args)
3037
5103
  update!(**args)
3038
5104
  end
3039
5105
 
3040
5106
  # Update properties of this object
3041
5107
  def update!(**args)
5108
+ @admin_credential_secret_name = args[:admin_credential_secret_name] if args.key?(:admin_credential_secret_name)
5109
+ @dns_servers = args[:dns_servers] if args.key?(:dns_servers)
3042
5110
  @domain = args[:domain] if args.key?(:domain)
3043
5111
  @kind = args[:kind] if args.key?(:kind)
5112
+ @mode = args[:mode] if args.key?(:mode)
5113
+ @organizational_unit = args[:organizational_unit] if args.key?(:organizational_unit)
3044
5114
  end
3045
5115
  end
3046
5116
 
@@ -3075,6 +5145,132 @@ module Google
3075
5145
  end
3076
5146
  end
3077
5147
 
5148
+ # Acquire SSRS lease response.
5149
+ class SqlInstancesAcquireSsrsLeaseResponse
5150
+ include Google::Apis::Core::Hashable
5151
+
5152
+ # The unique identifier for this operation.
5153
+ # Corresponds to the JSON property `operationId`
5154
+ # @return [String]
5155
+ attr_accessor :operation_id
5156
+
5157
+ def initialize(**args)
5158
+ update!(**args)
5159
+ end
5160
+
5161
+ # Update properties of this object
5162
+ def update!(**args)
5163
+ @operation_id = args[:operation_id] if args.key?(:operation_id)
5164
+ end
5165
+ end
5166
+
5167
+ # Execute SQL statements response.
5168
+ class SqlInstancesExecuteSqlResponse
5169
+ include Google::Apis::Core::Hashable
5170
+
5171
+ # The additional metadata information regarding the execution of the SQL
5172
+ # statements.
5173
+ # Corresponds to the JSON property `metadata`
5174
+ # @return [Google::Apis::SqladminV1beta4::Metadata]
5175
+ attr_accessor :metadata
5176
+
5177
+ # The list of results after executing all the SQL statements.
5178
+ # Corresponds to the JSON property `results`
5179
+ # @return [Array<Google::Apis::SqladminV1beta4::QueryResult>]
5180
+ attr_accessor :results
5181
+
5182
+ def initialize(**args)
5183
+ update!(**args)
5184
+ end
5185
+
5186
+ # Update properties of this object
5187
+ def update!(**args)
5188
+ @metadata = args[:metadata] if args.key?(:metadata)
5189
+ @results = args[:results] if args.key?(:results)
5190
+ end
5191
+ end
5192
+
5193
+ # Instance get disk shrink config response.
5194
+ class SqlInstancesGetDiskShrinkConfigResponse
5195
+ include Google::Apis::Core::Hashable
5196
+
5197
+ # This is always `sql#getDiskShrinkConfig`.
5198
+ # Corresponds to the JSON property `kind`
5199
+ # @return [String]
5200
+ attr_accessor :kind
5201
+
5202
+ # Additional message to customers.
5203
+ # Corresponds to the JSON property `message`
5204
+ # @return [String]
5205
+ attr_accessor :message
5206
+
5207
+ # The minimum size to which a disk can be shrunk in GigaBytes.
5208
+ # Corresponds to the JSON property `minimalTargetSizeGb`
5209
+ # @return [Fixnum]
5210
+ attr_accessor :minimal_target_size_gb
5211
+
5212
+ def initialize(**args)
5213
+ update!(**args)
5214
+ end
5215
+
5216
+ # Update properties of this object
5217
+ def update!(**args)
5218
+ @kind = args[:kind] if args.key?(:kind)
5219
+ @message = args[:message] if args.key?(:message)
5220
+ @minimal_target_size_gb = args[:minimal_target_size_gb] if args.key?(:minimal_target_size_gb)
5221
+ end
5222
+ end
5223
+
5224
+ # Instance get latest recovery time response.
5225
+ class SqlInstancesGetLatestRecoveryTimeResponse
5226
+ include Google::Apis::Core::Hashable
5227
+
5228
+ # Timestamp, identifies the earliest recovery time of the source instance.
5229
+ # Corresponds to the JSON property `earliestRecoveryTime`
5230
+ # @return [String]
5231
+ attr_accessor :earliest_recovery_time
5232
+
5233
+ # This is always `sql#getLatestRecoveryTime`.
5234
+ # Corresponds to the JSON property `kind`
5235
+ # @return [String]
5236
+ attr_accessor :kind
5237
+
5238
+ # Timestamp, identifies the latest recovery time of the source instance.
5239
+ # Corresponds to the JSON property `latestRecoveryTime`
5240
+ # @return [String]
5241
+ attr_accessor :latest_recovery_time
5242
+
5243
+ def initialize(**args)
5244
+ update!(**args)
5245
+ end
5246
+
5247
+ # Update properties of this object
5248
+ def update!(**args)
5249
+ @earliest_recovery_time = args[:earliest_recovery_time] if args.key?(:earliest_recovery_time)
5250
+ @kind = args[:kind] if args.key?(:kind)
5251
+ @latest_recovery_time = args[:latest_recovery_time] if args.key?(:latest_recovery_time)
5252
+ end
5253
+ end
5254
+
5255
+ # The response for the release of the SSRS lease.
5256
+ class SqlInstancesReleaseSsrsLeaseResponse
5257
+ include Google::Apis::Core::Hashable
5258
+
5259
+ # The operation ID.
5260
+ # Corresponds to the JSON property `operationId`
5261
+ # @return [String]
5262
+ attr_accessor :operation_id
5263
+
5264
+ def initialize(**args)
5265
+ update!(**args)
5266
+ end
5267
+
5268
+ # Update properties of this object
5269
+ def update!(**args)
5270
+ @operation_id = args[:operation_id] if args.key?(:operation_id)
5271
+ end
5272
+ end
5273
+
3078
5274
  # Reschedule options for maintenance windows.
3079
5275
  class SqlInstancesRescheduleMaintenanceRequestBody
3080
5276
  include Google::Apis::Core::Hashable
@@ -3094,15 +5290,44 @@ module Google
3094
5290
  end
3095
5291
  end
3096
5292
 
5293
+ # Instance reset replica size request.
5294
+ class SqlInstancesResetReplicaSizeRequest
5295
+ include Google::Apis::Core::Hashable
5296
+
5297
+ def initialize(**args)
5298
+ update!(**args)
5299
+ end
5300
+
5301
+ # Update properties of this object
5302
+ def update!(**args)
5303
+ end
5304
+ end
5305
+
3097
5306
  #
3098
5307
  class SqlInstancesStartExternalSyncRequest
3099
5308
  include Google::Apis::Core::Hashable
3100
5309
 
5310
+ # Optional. MigrationType configures the migration to use physical files or
5311
+ # logical dump files. If not set, then the logical dump file configuration is
5312
+ # used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.
5313
+ # Corresponds to the JSON property `migrationType`
5314
+ # @return [String]
5315
+ attr_accessor :migration_type
5316
+
3101
5317
  # MySQL-specific external server sync settings.
3102
5318
  # Corresponds to the JSON property `mysqlSyncConfig`
3103
5319
  # @return [Google::Apis::SqladminV1beta4::MySqlSyncConfig]
3104
5320
  attr_accessor :mysql_sync_config
3105
5321
 
5322
+ # Optional. MySQL only. True if end-user has confirmed that this SES call will
5323
+ # wipe replica databases overlapping with the proposed selected_objects. If this
5324
+ # field is not set and there are both overlapping and additional databases
5325
+ # proposed, an error will be returned.
5326
+ # Corresponds to the JSON property `replicaOverwriteEnabled`
5327
+ # @return [Boolean]
5328
+ attr_accessor :replica_overwrite_enabled
5329
+ alias_method :replica_overwrite_enabled?, :replica_overwrite_enabled
5330
+
3106
5331
  # Whether to skip the verification step (VESS).
3107
5332
  # Corresponds to the JSON property `skipVerification`
3108
5333
  # @return [Boolean]
@@ -3114,15 +5339,24 @@ module Google
3114
5339
  # @return [String]
3115
5340
  attr_accessor :sync_mode
3116
5341
 
5342
+ # Optional. Parallel level for initial data sync. Currently only applicable for
5343
+ # MySQL.
5344
+ # Corresponds to the JSON property `syncParallelLevel`
5345
+ # @return [String]
5346
+ attr_accessor :sync_parallel_level
5347
+
3117
5348
  def initialize(**args)
3118
5349
  update!(**args)
3119
5350
  end
3120
5351
 
3121
5352
  # Update properties of this object
3122
5353
  def update!(**args)
5354
+ @migration_type = args[:migration_type] if args.key?(:migration_type)
3123
5355
  @mysql_sync_config = args[:mysql_sync_config] if args.key?(:mysql_sync_config)
5356
+ @replica_overwrite_enabled = args[:replica_overwrite_enabled] if args.key?(:replica_overwrite_enabled)
3124
5357
  @skip_verification = args[:skip_verification] if args.key?(:skip_verification)
3125
5358
  @sync_mode = args[:sync_mode] if args.key?(:sync_mode)
5359
+ @sync_parallel_level = args[:sync_parallel_level] if args.key?(:sync_parallel_level)
3126
5360
  end
3127
5361
  end
3128
5362
 
@@ -3130,16 +5364,34 @@ module Google
3130
5364
  class SqlInstancesVerifyExternalSyncSettingsRequest
3131
5365
  include Google::Apis::Core::Hashable
3132
5366
 
5367
+ # Optional. MigrationType configures the migration to use physical files or
5368
+ # logical dump files. If not set, then the logical dump file configuration is
5369
+ # used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.
5370
+ # Corresponds to the JSON property `migrationType`
5371
+ # @return [String]
5372
+ attr_accessor :migration_type
5373
+
3133
5374
  # MySQL-specific external server sync settings.
3134
5375
  # Corresponds to the JSON property `mysqlSyncConfig`
3135
5376
  # @return [Google::Apis::SqladminV1beta4::MySqlSyncConfig]
3136
5377
  attr_accessor :mysql_sync_config
3137
5378
 
5379
+ # Optional. Migrate only the specified objects from the source instance. If this
5380
+ # field is empty, then migrate all objects.
5381
+ # Corresponds to the JSON property `selectedObjects`
5382
+ # @return [Array<Google::Apis::SqladminV1beta4::ExternalSyncSelectedObject>]
5383
+ attr_accessor :selected_objects
5384
+
3138
5385
  # External sync mode
3139
5386
  # Corresponds to the JSON property `syncMode`
3140
5387
  # @return [String]
3141
5388
  attr_accessor :sync_mode
3142
5389
 
5390
+ # Optional. Parallel level for initial data sync. Only applicable for PostgreSQL.
5391
+ # Corresponds to the JSON property `syncParallelLevel`
5392
+ # @return [String]
5393
+ attr_accessor :sync_parallel_level
5394
+
3143
5395
  # Flag to enable verifying connection only
3144
5396
  # Corresponds to the JSON property `verifyConnectionOnly`
3145
5397
  # @return [Boolean]
@@ -3158,8 +5410,11 @@ module Google
3158
5410
 
3159
5411
  # Update properties of this object
3160
5412
  def update!(**args)
5413
+ @migration_type = args[:migration_type] if args.key?(:migration_type)
3161
5414
  @mysql_sync_config = args[:mysql_sync_config] if args.key?(:mysql_sync_config)
5415
+ @selected_objects = args[:selected_objects] if args.key?(:selected_objects)
3162
5416
  @sync_mode = args[:sync_mode] if args.key?(:sync_mode)
5417
+ @sync_parallel_level = args[:sync_parallel_level] if args.key?(:sync_parallel_level)
3163
5418
  @verify_connection_only = args[:verify_connection_only] if args.key?(:verify_connection_only)
3164
5419
  @verify_replication_only = args[:verify_replication_only] if args.key?(:verify_replication_only)
3165
5420
  end
@@ -3352,6 +5607,25 @@ module Google
3352
5607
  end
3353
5608
  end
3354
5609
 
5610
+ # The sub operation type based on the operation type.
5611
+ class SqlSubOperationType
5612
+ include Google::Apis::Core::Hashable
5613
+
5614
+ # The type of maintenance to be performed on the instance.
5615
+ # Corresponds to the JSON property `maintenanceType`
5616
+ # @return [String]
5617
+ attr_accessor :maintenance_type
5618
+
5619
+ def initialize(**args)
5620
+ update!(**args)
5621
+ end
5622
+
5623
+ # Update properties of this object
5624
+ def update!(**args)
5625
+ @maintenance_type = args[:maintenance_type] if args.key?(:maintenance_type)
5626
+ end
5627
+ end
5628
+
3355
5629
  # SslCerts Resource
3356
5630
  class SslCert
3357
5631
  include Google::Apis::Core::Hashable
@@ -3826,9 +6100,7 @@ module Google
3826
6100
  # @return [String]
3827
6101
  attr_accessor :kind
3828
6102
 
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.
6103
+ # Unused.
3832
6104
  # Corresponds to the JSON property `nextPageToken`
3833
6105
  # @return [String]
3834
6106
  attr_accessor :next_page_token
@@ -3844,6 +6116,32 @@ module Google
3844
6116
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3845
6117
  end
3846
6118
  end
6119
+
6120
+ # The cell value of the table.
6121
+ class Value
6122
+ include Google::Apis::Core::Hashable
6123
+
6124
+ # If cell value is null, then this flag will be set to true.
6125
+ # Corresponds to the JSON property `nullValue`
6126
+ # @return [Boolean]
6127
+ attr_accessor :null_value
6128
+ alias_method :null_value?, :null_value
6129
+
6130
+ # The cell value represented in string format.
6131
+ # Corresponds to the JSON property `value`
6132
+ # @return [String]
6133
+ attr_accessor :value
6134
+
6135
+ def initialize(**args)
6136
+ update!(**args)
6137
+ end
6138
+
6139
+ # Update properties of this object
6140
+ def update!(**args)
6141
+ @null_value = args[:null_value] if args.key?(:null_value)
6142
+ @value = args[:value] if args.key?(:value)
6143
+ end
6144
+ end
3847
6145
  end
3848
6146
  end
3849
6147
  end