google-apis-sqladmin_v1 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1fecd8703a8e223b16d1ce6f31bda24a2fbd49a749de32be6a48db87f1098e63
4
- data.tar.gz: 7772af405f79c735fdb3e4a29f19ceae47dc9df74a032cd7d8001f06d3ffa817
3
+ metadata.gz: 359c3bd5147f8a78d34ecda62aa691951170015b10c239c3be33cca80a23772c
4
+ data.tar.gz: 5b63414a563875a44eee1fc4aa154af2f0be032e1b963c512b1d389a3728117b
5
5
  SHA512:
6
- metadata.gz: fc425ed11f644cc81a6754e8563511fec68db60870a0d3e3cde8d2a4358c1485318e7411ed1e6dd93f521d73a1d734fc36e8995617f9b5b28957553b9a7f718f
7
- data.tar.gz: 42ed4bbdc90c7395454826b147b7431285bdb43eb171e66074e167886218c7e0c58da2b40012ca0f6bbe613c5b31a1d0fc0fc631d30f733957f592c9dd1a44f2
6
+ metadata.gz: 898ebfe66aece06ff438e4e0cc381de86dba708880ae3657996ac82d35f9363498335eafd5340f5b146f35ac2935b94626a1aff3aa9e9272ab385be3a7a45d56
7
+ data.tar.gz: e26d7d877e9f933f85c44950985e586cd83974bcdbdfd4467ab4d3e7855867ebf0dd41908032f203fd913d992706d9bd617136270bfeef5b66f14793c58b5b2b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Release history for google-apis-sqladmin_v1
2
2
 
3
+ ### v0.3.0 (2021-07-29)
4
+
5
+ * Regenerated from discovery document revision 20210715
6
+
3
7
  ### v0.2.0 (2021-07-14)
4
8
 
5
9
  * Regenerated from discovery document revision 20210627
@@ -166,6 +166,31 @@ module Google
166
166
  end
167
167
  end
168
168
 
169
+ # Backup context.
170
+ class BackupContext
171
+ include Google::Apis::Core::Hashable
172
+
173
+ # The identifier of the backup.
174
+ # Corresponds to the JSON property `backupId`
175
+ # @return [Fixnum]
176
+ attr_accessor :backup_id
177
+
178
+ # This is always **sql#backupContext**.
179
+ # Corresponds to the JSON property `kind`
180
+ # @return [String]
181
+ attr_accessor :kind
182
+
183
+ def initialize(**args)
184
+ update!(**args)
185
+ end
186
+
187
+ # Update properties of this object
188
+ def update!(**args)
189
+ @backup_id = args[:backup_id] if args.key?(:backup_id)
190
+ @kind = args[:kind] if args.key?(:kind)
191
+ end
192
+ end
193
+
169
194
  # We currently only support backup retention by specifying the number of backups
170
195
  # we will retain.
171
196
  class BackupRetentionSettings
@@ -194,6 +219,228 @@ module Google
194
219
  end
195
220
  end
196
221
 
222
+ # A BackupRun resource.
223
+ class BackupRun
224
+ include Google::Apis::Core::Hashable
225
+
226
+ # Specifies the kind of backup, PHYSICAL or DEFAULT_SNAPSHOT.
227
+ # Corresponds to the JSON property `backupKind`
228
+ # @return [String]
229
+ attr_accessor :backup_kind
230
+
231
+ # The description of this run, only applicable to on-demand backups.
232
+ # Corresponds to the JSON property `description`
233
+ # @return [String]
234
+ attr_accessor :description
235
+
236
+ # Disk encryption configuration for an instance.
237
+ # Corresponds to the JSON property `diskEncryptionConfiguration`
238
+ # @return [Google::Apis::SqladminV1::DiskEncryptionConfiguration]
239
+ attr_accessor :disk_encryption_configuration
240
+
241
+ # Disk encryption status for an instance.
242
+ # Corresponds to the JSON property `diskEncryptionStatus`
243
+ # @return [Google::Apis::SqladminV1::DiskEncryptionStatus]
244
+ attr_accessor :disk_encryption_status
245
+
246
+ # The time the backup operation completed in UTC timezone in RFC 3339 format,
247
+ # for example *2012-11-15T16:19:00.094Z*.
248
+ # Corresponds to the JSON property `endTime`
249
+ # @return [String]
250
+ attr_accessor :end_time
251
+
252
+ # The time the run was enqueued in UTC timezone in RFC 3339 format, for example *
253
+ # 2012-11-15T16:19:00.094Z*.
254
+ # Corresponds to the JSON property `enqueuedTime`
255
+ # @return [String]
256
+ attr_accessor :enqueued_time
257
+
258
+ # Database instance operation error.
259
+ # Corresponds to the JSON property `error`
260
+ # @return [Google::Apis::SqladminV1::OperationError]
261
+ attr_accessor :error
262
+
263
+ # The identifier for this backup run. Unique only for a specific Cloud SQL
264
+ # instance.
265
+ # Corresponds to the JSON property `id`
266
+ # @return [Fixnum]
267
+ attr_accessor :id
268
+
269
+ # Name of the database instance.
270
+ # Corresponds to the JSON property `instance`
271
+ # @return [String]
272
+ attr_accessor :instance
273
+
274
+ # This is always *sql#backupRun*.
275
+ # Corresponds to the JSON property `kind`
276
+ # @return [String]
277
+ attr_accessor :kind
278
+
279
+ # Location of the backups.
280
+ # Corresponds to the JSON property `location`
281
+ # @return [String]
282
+ attr_accessor :location
283
+
284
+ # The URI of this resource.
285
+ # Corresponds to the JSON property `selfLink`
286
+ # @return [String]
287
+ attr_accessor :self_link
288
+
289
+ # The time the backup operation actually started in UTC timezone in RFC 3339
290
+ # format, for example *2012-11-15T16:19:00.094Z*.
291
+ # Corresponds to the JSON property `startTime`
292
+ # @return [String]
293
+ attr_accessor :start_time
294
+
295
+ # The status of this run.
296
+ # Corresponds to the JSON property `status`
297
+ # @return [String]
298
+ attr_accessor :status
299
+
300
+ # The type of this run; can be either "AUTOMATED" or "ON_DEMAND". This field
301
+ # defaults to "ON_DEMAND" and is ignored, when specified for insert requests.
302
+ # Corresponds to the JSON property `type`
303
+ # @return [String]
304
+ attr_accessor :type
305
+
306
+ # The start time of the backup window during which this the backup was attempted
307
+ # in RFC 3339 format, for example *2012-11-15T16:19:00.094Z*.
308
+ # Corresponds to the JSON property `windowStartTime`
309
+ # @return [String]
310
+ attr_accessor :window_start_time
311
+
312
+ def initialize(**args)
313
+ update!(**args)
314
+ end
315
+
316
+ # Update properties of this object
317
+ def update!(**args)
318
+ @backup_kind = args[:backup_kind] if args.key?(:backup_kind)
319
+ @description = args[:description] if args.key?(:description)
320
+ @disk_encryption_configuration = args[:disk_encryption_configuration] if args.key?(:disk_encryption_configuration)
321
+ @disk_encryption_status = args[:disk_encryption_status] if args.key?(:disk_encryption_status)
322
+ @end_time = args[:end_time] if args.key?(:end_time)
323
+ @enqueued_time = args[:enqueued_time] if args.key?(:enqueued_time)
324
+ @error = args[:error] if args.key?(:error)
325
+ @id = args[:id] if args.key?(:id)
326
+ @instance = args[:instance] if args.key?(:instance)
327
+ @kind = args[:kind] if args.key?(:kind)
328
+ @location = args[:location] if args.key?(:location)
329
+ @self_link = args[:self_link] if args.key?(:self_link)
330
+ @start_time = args[:start_time] if args.key?(:start_time)
331
+ @status = args[:status] if args.key?(:status)
332
+ @type = args[:type] if args.key?(:type)
333
+ @window_start_time = args[:window_start_time] if args.key?(:window_start_time)
334
+ end
335
+ end
336
+
337
+ # Backup run list results.
338
+ class BackupRunsListResponse
339
+ include Google::Apis::Core::Hashable
340
+
341
+ # A list of backup runs in reverse chronological order of the enqueued time.
342
+ # Corresponds to the JSON property `items`
343
+ # @return [Array<Google::Apis::SqladminV1::BackupRun>]
344
+ attr_accessor :items
345
+
346
+ # This is always *sql#backupRunsList*.
347
+ # Corresponds to the JSON property `kind`
348
+ # @return [String]
349
+ attr_accessor :kind
350
+
351
+ # The continuation token, used to page through large result sets. Provide this
352
+ # value in a subsequent request to return the next page of results.
353
+ # Corresponds to the JSON property `nextPageToken`
354
+ # @return [String]
355
+ attr_accessor :next_page_token
356
+
357
+ def initialize(**args)
358
+ update!(**args)
359
+ end
360
+
361
+ # Update properties of this object
362
+ def update!(**args)
363
+ @items = args[:items] if args.key?(:items)
364
+ @kind = args[:kind] if args.key?(:kind)
365
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
366
+ end
367
+ end
368
+
369
+ # Binary log coordinates.
370
+ class BinLogCoordinates
371
+ include Google::Apis::Core::Hashable
372
+
373
+ # Name of the binary log file for a Cloud SQL instance.
374
+ # Corresponds to the JSON property `binLogFileName`
375
+ # @return [String]
376
+ attr_accessor :bin_log_file_name
377
+
378
+ # Position (offset) within the binary log file.
379
+ # Corresponds to the JSON property `binLogPosition`
380
+ # @return [Fixnum]
381
+ attr_accessor :bin_log_position
382
+
383
+ # This is always *sql#binLogCoordinates*.
384
+ # Corresponds to the JSON property `kind`
385
+ # @return [String]
386
+ attr_accessor :kind
387
+
388
+ def initialize(**args)
389
+ update!(**args)
390
+ end
391
+
392
+ # Update properties of this object
393
+ def update!(**args)
394
+ @bin_log_file_name = args[:bin_log_file_name] if args.key?(:bin_log_file_name)
395
+ @bin_log_position = args[:bin_log_position] if args.key?(:bin_log_position)
396
+ @kind = args[:kind] if args.key?(:kind)
397
+ end
398
+ end
399
+
400
+ # Database instance clone context.
401
+ class CloneContext
402
+ include Google::Apis::Core::Hashable
403
+
404
+ # Binary log coordinates.
405
+ # Corresponds to the JSON property `binLogCoordinates`
406
+ # @return [Google::Apis::SqladminV1::BinLogCoordinates]
407
+ attr_accessor :bin_log_coordinates
408
+
409
+ # Name of the Cloud SQL instance to be created as a clone.
410
+ # Corresponds to the JSON property `destinationInstanceName`
411
+ # @return [String]
412
+ attr_accessor :destination_instance_name
413
+
414
+ # This is always *sql#cloneContext*.
415
+ # Corresponds to the JSON property `kind`
416
+ # @return [String]
417
+ attr_accessor :kind
418
+
419
+ # Reserved for future use.
420
+ # Corresponds to the JSON property `pitrTimestampMs`
421
+ # @return [Fixnum]
422
+ attr_accessor :pitr_timestamp_ms
423
+
424
+ # Timestamp, if specified, identifies the time to which the source instance is
425
+ # cloned.
426
+ # Corresponds to the JSON property `pointInTime`
427
+ # @return [String]
428
+ attr_accessor :point_in_time
429
+
430
+ def initialize(**args)
431
+ update!(**args)
432
+ end
433
+
434
+ # Update properties of this object
435
+ def update!(**args)
436
+ @bin_log_coordinates = args[:bin_log_coordinates] if args.key?(:bin_log_coordinates)
437
+ @destination_instance_name = args[:destination_instance_name] if args.key?(:destination_instance_name)
438
+ @kind = args[:kind] if args.key?(:kind)
439
+ @pitr_timestamp_ms = args[:pitr_timestamp_ms] if args.key?(:pitr_timestamp_ms)
440
+ @point_in_time = args[:point_in_time] if args.key?(:point_in_time)
441
+ end
442
+ end
443
+
197
444
  # Connect settings retrieval response.
198
445
  class ConnectSettings
199
446
  include Google::Apis::Core::Hashable
@@ -244,14 +491,83 @@ module Google
244
491
  end
245
492
  end
246
493
 
494
+ # Represents a SQL database on the Cloud SQL instance.
495
+ class Database
496
+ include Google::Apis::Core::Hashable
497
+
498
+ # The Cloud SQL charset value.
499
+ # Corresponds to the JSON property `charset`
500
+ # @return [String]
501
+ attr_accessor :charset
502
+
503
+ # The Cloud SQL collation value.
504
+ # Corresponds to the JSON property `collation`
505
+ # @return [String]
506
+ attr_accessor :collation
507
+
508
+ # This field is deprecated and will be removed from a future version of the API.
509
+ # Corresponds to the JSON property `etag`
510
+ # @return [String]
511
+ attr_accessor :etag
512
+
513
+ # The name of the Cloud SQL instance. This does not include the project ID.
514
+ # Corresponds to the JSON property `instance`
515
+ # @return [String]
516
+ attr_accessor :instance
517
+
518
+ # This is always **sql#database**.
519
+ # Corresponds to the JSON property `kind`
520
+ # @return [String]
521
+ attr_accessor :kind
522
+
523
+ # The name of the database in the Cloud SQL instance. This does not include the
524
+ # project ID or instance name.
525
+ # Corresponds to the JSON property `name`
526
+ # @return [String]
527
+ attr_accessor :name
528
+
529
+ # The project ID of the project containing the Cloud SQL database. The Google
530
+ # apps domain is prefixed if applicable.
531
+ # Corresponds to the JSON property `project`
532
+ # @return [String]
533
+ attr_accessor :project
534
+
535
+ # The URI of this resource.
536
+ # Corresponds to the JSON property `selfLink`
537
+ # @return [String]
538
+ attr_accessor :self_link
539
+
540
+ # Represents a Sql Server database on the Cloud SQL instance.
541
+ # Corresponds to the JSON property `sqlserverDatabaseDetails`
542
+ # @return [Google::Apis::SqladminV1::SqlServerDatabaseDetails]
543
+ attr_accessor :sqlserver_database_details
544
+
545
+ def initialize(**args)
546
+ update!(**args)
547
+ end
548
+
549
+ # Update properties of this object
550
+ def update!(**args)
551
+ @charset = args[:charset] if args.key?(:charset)
552
+ @collation = args[:collation] if args.key?(:collation)
553
+ @etag = args[:etag] if args.key?(:etag)
554
+ @instance = args[:instance] if args.key?(:instance)
555
+ @kind = args[:kind] if args.key?(:kind)
556
+ @name = args[:name] if args.key?(:name)
557
+ @project = args[:project] if args.key?(:project)
558
+ @self_link = args[:self_link] if args.key?(:self_link)
559
+ @sqlserver_database_details = args[:sqlserver_database_details] if args.key?(:sqlserver_database_details)
560
+ end
561
+ end
562
+
247
563
  # Database flags for Cloud SQL instances.
248
564
  class DatabaseFlags
249
565
  include Google::Apis::Core::Hashable
250
566
 
251
567
  # The name of the flag. These flags are passed at instance startup, so include
252
- # both server options and system variables for MySQL. Flags are specified with
253
- # underscores, not hyphens. For more information, see [Configuring Database
254
- # Flags](/sql/docs/mysql/flags) in the Cloud SQL documentation.
568
+ # both server options and system variables. Flags are specified with underscores,
569
+ # not hyphens. For more information, see [Configuring Database Flags](https://
570
+ # cloud.google.com/sql/docs/mysql/flags) in the Cloud SQL documentation.
255
571
  # Corresponds to the JSON property `name`
256
572
  # @return [String]
257
573
  attr_accessor :name
@@ -299,9 +615,10 @@ module Google
299
615
  # The database engine type and version. The *databaseVersion* field cannot be
300
616
  # changed after instance creation. MySQL instances: *MYSQL_8_0*, *MYSQL_5_7* (
301
617
  # default), or *MYSQL_5_6*. PostgreSQL instances: *POSTGRES_9_6*, *POSTGRES_10*,
302
- # *POSTGRES_11*, *POSTGRES_12*, or *POSTGRES_13* (default). SQL Server instances:
303
- # *SQLSERVER_2017_STANDARD* (default), *SQLSERVER_2017_ENTERPRISE*, *
304
- # SQLSERVER_2017_EXPRESS*, or *SQLSERVER_2017_WEB*.
618
+ # *POSTGRES_11*, *POSTGRES_12*, *POSTGRES_13* (default). SQL Server instances: *
619
+ # SQLSERVER_2019_STANDARD*, *SQLSERVER_2019_ENTERPRISE*, *SQLSERVER_2019_EXPRESS*
620
+ # , or *SQLSERVER_2019_WEB*, *SQLSERVER_2017_STANDARD* (default), *
621
+ # SQLSERVER_2017_ENTERPRISE*, *SQLSERVER_2017_EXPRESS*, or *SQLSERVER_2017_WEB*.
305
622
  # Corresponds to the JSON property `databaseVersion`
306
623
  # @return [String]
307
624
  attr_accessor :database_version
@@ -316,20 +633,13 @@ module Google
316
633
  # @return [Google::Apis::SqladminV1::DiskEncryptionStatus]
317
634
  attr_accessor :disk_encryption_status
318
635
 
319
- # For internal usage only. The encrypted password.
320
- # Corresponds to the JSON property `encryptedRootPassword`
321
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
322
- # @return [String]
323
- attr_accessor :encrypted_root_password
324
-
325
636
  # This field is deprecated and will be removed from a future version of the API.
326
637
  # Use the *settings.settingsVersion* field instead.
327
638
  # Corresponds to the JSON property `etag`
328
639
  # @return [String]
329
640
  attr_accessor :etag
330
641
 
331
- # The name and status of the failover replica. This property is applicable only
332
- # to Second Generation instances.
642
+ # The name and status of the failover replica.
333
643
  # Corresponds to the JSON property `failoverReplica`
334
644
  # @return [Google::Apis::SqladminV1::DatabaseInstance::FailoverReplica]
335
645
  attr_accessor :failover_replica
@@ -341,12 +651,6 @@ module Google
341
651
  # @return [String]
342
652
  attr_accessor :gce_zone
343
653
 
344
- # installed_version stores the current fully resolved database version including
345
- # minor version such as MySQL_5.6.50
346
- # Corresponds to the JSON property `installedVersion`
347
- # @return [String]
348
- attr_accessor :installed_version
349
-
350
654
  # The instance type. This can be one of the following. *CLOUD_SQL_INSTANCE*: A
351
655
  # Cloud SQL instance that is not replicating from a primary instance. *
352
656
  # ON_PREMISES_INSTANCE*: An instance running on the customer's premises. *
@@ -355,11 +659,6 @@ module Google
355
659
  # @return [String]
356
660
  attr_accessor :instance_type
357
661
 
358
- # Uid of the Cloud SQL instance. Used by Pantheon to check instance is created
359
- # Corresponds to the JSON property `instanceUid`
360
- # @return [String]
361
- attr_accessor :instance_uid
362
-
363
662
  # The assigned IP addresses for the instance.
364
663
  # Corresponds to the JSON property `ipAddresses`
365
664
  # @return [Array<Google::Apis::SqladminV1::IpMapping>]
@@ -376,11 +675,6 @@ module Google
376
675
  # @return [String]
377
676
  attr_accessor :kind
378
677
 
379
- # Reference to another Cloud SQL instance.
380
- # Corresponds to the JSON property `masterInstance`
381
- # @return [Google::Apis::SqladminV1::InstanceReference]
382
- attr_accessor :master_instance
383
-
384
678
  # The name of the instance which will act as primary in the replication setup.
385
679
  # Corresponds to the JSON property `masterInstanceName`
386
680
  # @return [String]
@@ -425,11 +719,6 @@ module Google
425
719
  # @return [Google::Apis::SqladminV1::ReplicaConfiguration]
426
720
  attr_accessor :replica_configuration
427
721
 
428
- # The replicas of the instance.
429
- # Corresponds to the JSON property `replicaInstances`
430
- # @return [Array<Google::Apis::SqladminV1::InstanceReference>]
431
- attr_accessor :replica_instances
432
-
433
722
  # The replicas of the instance.
434
723
  # Corresponds to the JSON property `replicaNames`
435
724
  # @return [Array<String>]
@@ -508,17 +797,13 @@ module Google
508
797
  @database_version = args[:database_version] if args.key?(:database_version)
509
798
  @disk_encryption_configuration = args[:disk_encryption_configuration] if args.key?(:disk_encryption_configuration)
510
799
  @disk_encryption_status = args[:disk_encryption_status] if args.key?(:disk_encryption_status)
511
- @encrypted_root_password = args[:encrypted_root_password] if args.key?(:encrypted_root_password)
512
800
  @etag = args[:etag] if args.key?(:etag)
513
801
  @failover_replica = args[:failover_replica] if args.key?(:failover_replica)
514
802
  @gce_zone = args[:gce_zone] if args.key?(:gce_zone)
515
- @installed_version = args[:installed_version] if args.key?(:installed_version)
516
803
  @instance_type = args[:instance_type] if args.key?(:instance_type)
517
- @instance_uid = args[:instance_uid] if args.key?(:instance_uid)
518
804
  @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
519
805
  @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
520
806
  @kind = args[:kind] if args.key?(:kind)
521
- @master_instance = args[:master_instance] if args.key?(:master_instance)
522
807
  @master_instance_name = args[:master_instance_name] if args.key?(:master_instance_name)
523
808
  @max_disk_size = args[:max_disk_size] if args.key?(:max_disk_size)
524
809
  @name = args[:name] if args.key?(:name)
@@ -527,7 +812,6 @@ module Google
527
812
  @project = args[:project] if args.key?(:project)
528
813
  @region = args[:region] if args.key?(:region)
529
814
  @replica_configuration = args[:replica_configuration] if args.key?(:replica_configuration)
530
- @replica_instances = args[:replica_instances] if args.key?(:replica_instances)
531
815
  @replica_names = args[:replica_names] if args.key?(:replica_names)
532
816
  @root_password = args[:root_password] if args.key?(:root_password)
533
817
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
@@ -541,8 +825,7 @@ module Google
541
825
  @suspension_reason = args[:suspension_reason] if args.key?(:suspension_reason)
542
826
  end
543
827
 
544
- # The name and status of the failover replica. This property is applicable only
545
- # to Second Generation instances.
828
+ # The name and status of the failover replica.
546
829
  class FailoverReplica
547
830
  include Google::Apis::Core::Hashable
548
831
 
@@ -554,14 +837,9 @@ module Google
554
837
  attr_accessor :available
555
838
  alias_method :available?, :available
556
839
 
557
- # Reference to another Cloud SQL instance.
558
- # Corresponds to the JSON property `failoverInstance`
559
- # @return [Google::Apis::SqladminV1::InstanceReference]
560
- attr_accessor :failover_instance
561
-
562
840
  # The name of the failover replica. If specified at instance creation, a
563
841
  # failover replica is created for the instance. The name doesn't include the
564
- # project ID. This property is applicable only to Second Generation instances.
842
+ # project ID.
565
843
  # Corresponds to the JSON property `name`
566
844
  # @return [String]
567
845
  attr_accessor :name
@@ -573,38 +851,24 @@ module Google
573
851
  # Update properties of this object
574
852
  def update!(**args)
575
853
  @available = args[:available] if args.key?(:available)
576
- @failover_instance = args[:failover_instance] if args.key?(:failover_instance)
577
854
  @name = args[:name] if args.key?(:name)
578
855
  end
579
856
  end
580
857
  end
581
858
 
582
- # Deny maintenance Periods. This specifies a date range during when all CSA
583
- # rollout will be denied.
584
- class DenyMaintenancePeriod
859
+ # Database list response.
860
+ class DatabasesListResponse
585
861
  include Google::Apis::Core::Hashable
586
862
 
587
- # "deny maintenance period" end date. If the year of the end date is empty, the
588
- # year of the start date also must be empty. In this case, it means the no
589
- # maintenance interval recurs every year. The date is in format yyyy-mm-dd i.e.,
590
- # 2020-11-01, or mm-dd, i.e., 11-01
591
- # Corresponds to the JSON property `endDate`
592
- # @return [String]
593
- attr_accessor :end_date
594
-
595
- # "deny maintenance period" start date. If the year of the start date is empty,
596
- # the year of the end date also must be empty. In this case, it means the no
597
- # maintenance interval recurs every year. The date is in format yyyy-mm-dd i.e.,
598
- # 2020-11-01, or mm-dd, i.e., 11-01
599
- # Corresponds to the JSON property `startDate`
600
- # @return [String]
601
- attr_accessor :start_date
863
+ # List of database resources in the instance.
864
+ # Corresponds to the JSON property `items`
865
+ # @return [Array<Google::Apis::SqladminV1::Database>]
866
+ attr_accessor :items
602
867
 
603
- # Time in UTC when the "deny maintenance period" starts on start_date and ends
604
- # on end_date. The time is in format: HH:mm:SS, i.e., 00:00:00
605
- # Corresponds to the JSON property `time`
868
+ # This is always *sql#databasesList*.
869
+ # Corresponds to the JSON property `kind`
606
870
  # @return [String]
607
- attr_accessor :time
871
+ attr_accessor :kind
608
872
 
609
873
  def initialize(**args)
610
874
  update!(**args)
@@ -612,22 +876,180 @@ module Google
612
876
 
613
877
  # Update properties of this object
614
878
  def update!(**args)
615
- @end_date = args[:end_date] if args.key?(:end_date)
616
- @start_date = args[:start_date] if args.key?(:start_date)
617
- @time = args[:time] if args.key?(:time)
879
+ @items = args[:items] if args.key?(:items)
880
+ @kind = args[:kind] if args.key?(:kind)
618
881
  end
619
882
  end
620
883
 
621
- # Disk encryption configuration for an instance.
622
- class DiskEncryptionConfiguration
884
+ # Read-replica configuration for connecting to the on-premises primary instance.
885
+ class DemoteMasterConfiguration
623
886
  include Google::Apis::Core::Hashable
624
887
 
625
- # This is always **sql#diskEncryptionConfiguration**.
888
+ # This is always **sql#demoteMasterConfiguration**.
626
889
  # Corresponds to the JSON property `kind`
627
890
  # @return [String]
628
891
  attr_accessor :kind
629
892
 
630
- # Resource name of KMS key for disk encryption
893
+ # Read-replica configuration specific to MySQL databases.
894
+ # Corresponds to the JSON property `mysqlReplicaConfiguration`
895
+ # @return [Google::Apis::SqladminV1::DemoteMasterMySqlReplicaConfiguration]
896
+ attr_accessor :mysql_replica_configuration
897
+
898
+ def initialize(**args)
899
+ update!(**args)
900
+ end
901
+
902
+ # Update properties of this object
903
+ def update!(**args)
904
+ @kind = args[:kind] if args.key?(:kind)
905
+ @mysql_replica_configuration = args[:mysql_replica_configuration] if args.key?(:mysql_replica_configuration)
906
+ end
907
+ end
908
+
909
+ # Database instance demote primary instance context.
910
+ class DemoteMasterContext
911
+ include Google::Apis::Core::Hashable
912
+
913
+ # This is always *sql#demoteMasterContext*.
914
+ # Corresponds to the JSON property `kind`
915
+ # @return [String]
916
+ attr_accessor :kind
917
+
918
+ # The name of the instance which will act as on-premises primary instance in the
919
+ # replication setup.
920
+ # Corresponds to the JSON property `masterInstanceName`
921
+ # @return [String]
922
+ attr_accessor :master_instance_name
923
+
924
+ # Read-replica configuration for connecting to the on-premises primary instance.
925
+ # Corresponds to the JSON property `replicaConfiguration`
926
+ # @return [Google::Apis::SqladminV1::DemoteMasterConfiguration]
927
+ attr_accessor :replica_configuration
928
+
929
+ # Verify GTID consistency for demote operation. Default value: *True*. Setting
930
+ # this flag to false enables you to bypass GTID consistency check between on-
931
+ # premises primary instance and Cloud SQL instance during the demotion operation
932
+ # but also exposes you to the risk of future replication failures. Change the
933
+ # value value only if you know the reason for the GTID divergence and are
934
+ # confident that doing so will not cause any replication issues.
935
+ # Corresponds to the JSON property `verifyGtidConsistency`
936
+ # @return [Boolean]
937
+ attr_accessor :verify_gtid_consistency
938
+ alias_method :verify_gtid_consistency?, :verify_gtid_consistency
939
+
940
+ def initialize(**args)
941
+ update!(**args)
942
+ end
943
+
944
+ # Update properties of this object
945
+ def update!(**args)
946
+ @kind = args[:kind] if args.key?(:kind)
947
+ @master_instance_name = args[:master_instance_name] if args.key?(:master_instance_name)
948
+ @replica_configuration = args[:replica_configuration] if args.key?(:replica_configuration)
949
+ @verify_gtid_consistency = args[:verify_gtid_consistency] if args.key?(:verify_gtid_consistency)
950
+ end
951
+ end
952
+
953
+ # Read-replica configuration specific to MySQL databases.
954
+ class DemoteMasterMySqlReplicaConfiguration
955
+ include Google::Apis::Core::Hashable
956
+
957
+ # PEM representation of the trusted CA's x509 certificate.
958
+ # Corresponds to the JSON property `caCertificate`
959
+ # @return [String]
960
+ attr_accessor :ca_certificate
961
+
962
+ # PEM representation of the replica's x509 certificate.
963
+ # Corresponds to the JSON property `clientCertificate`
964
+ # @return [String]
965
+ attr_accessor :client_certificate
966
+
967
+ # PEM representation of the replica's private key. The corresponsing public key
968
+ # is encoded in the client's certificate. The format of the replica's private
969
+ # key can be either PKCS #1 or PKCS #8.
970
+ # Corresponds to the JSON property `clientKey`
971
+ # @return [String]
972
+ attr_accessor :client_key
973
+
974
+ # This is always **sql#demoteMasterMysqlReplicaConfiguration**.
975
+ # Corresponds to the JSON property `kind`
976
+ # @return [String]
977
+ attr_accessor :kind
978
+
979
+ # The password for the replication connection.
980
+ # Corresponds to the JSON property `password`
981
+ # @return [String]
982
+ attr_accessor :password
983
+
984
+ # The username for the replication connection.
985
+ # Corresponds to the JSON property `username`
986
+ # @return [String]
987
+ attr_accessor :username
988
+
989
+ def initialize(**args)
990
+ update!(**args)
991
+ end
992
+
993
+ # Update properties of this object
994
+ def update!(**args)
995
+ @ca_certificate = args[:ca_certificate] if args.key?(:ca_certificate)
996
+ @client_certificate = args[:client_certificate] if args.key?(:client_certificate)
997
+ @client_key = args[:client_key] if args.key?(:client_key)
998
+ @kind = args[:kind] if args.key?(:kind)
999
+ @password = args[:password] if args.key?(:password)
1000
+ @username = args[:username] if args.key?(:username)
1001
+ end
1002
+ end
1003
+
1004
+ # Deny maintenance Periods. This specifies a date range during when all CSA
1005
+ # rollout will be denied.
1006
+ class DenyMaintenancePeriod
1007
+ include Google::Apis::Core::Hashable
1008
+
1009
+ # "deny maintenance period" end date. If the year of the end date is empty, the
1010
+ # year of the start date also must be empty. In this case, it means the no
1011
+ # maintenance interval recurs every year. The date is in format yyyy-mm-dd i.e.,
1012
+ # 2020-11-01, or mm-dd, i.e., 11-01
1013
+ # Corresponds to the JSON property `endDate`
1014
+ # @return [String]
1015
+ attr_accessor :end_date
1016
+
1017
+ # "deny maintenance period" start date. If the year of the start date is empty,
1018
+ # the year of the end date also must be empty. In this case, it means the no
1019
+ # maintenance interval recurs every year. The date is in format yyyy-mm-dd i.e.,
1020
+ # 2020-11-01, or mm-dd, i.e., 11-01
1021
+ # Corresponds to the JSON property `startDate`
1022
+ # @return [String]
1023
+ attr_accessor :start_date
1024
+
1025
+ # Time in UTC when the "deny maintenance period" starts on start_date and ends
1026
+ # on end_date. The time is in format: HH:mm:SS, i.e., 00:00:00
1027
+ # Corresponds to the JSON property `time`
1028
+ # @return [String]
1029
+ attr_accessor :time
1030
+
1031
+ def initialize(**args)
1032
+ update!(**args)
1033
+ end
1034
+
1035
+ # Update properties of this object
1036
+ def update!(**args)
1037
+ @end_date = args[:end_date] if args.key?(:end_date)
1038
+ @start_date = args[:start_date] if args.key?(:start_date)
1039
+ @time = args[:time] if args.key?(:time)
1040
+ end
1041
+ end
1042
+
1043
+ # Disk encryption configuration for an instance.
1044
+ class DiskEncryptionConfiguration
1045
+ include Google::Apis::Core::Hashable
1046
+
1047
+ # This is always **sql#diskEncryptionConfiguration**.
1048
+ # Corresponds to the JSON property `kind`
1049
+ # @return [String]
1050
+ attr_accessor :kind
1051
+
1052
+ # Resource name of KMS key for disk encryption
631
1053
  # Corresponds to the JSON property `kmsKeyName`
632
1054
  # @return [String]
633
1055
  attr_accessor :kms_key_name
@@ -668,6 +1090,283 @@ module Google
668
1090
  end
669
1091
  end
670
1092
 
1093
+ # Database instance export context.
1094
+ class ExportContext
1095
+ include Google::Apis::Core::Hashable
1096
+
1097
+ # Options for exporting data as CSV. **MySQL** and **PostgreSQL** instances only.
1098
+ # Corresponds to the JSON property `csvExportOptions`
1099
+ # @return [Google::Apis::SqladminV1::ExportContext::CsvExportOptions]
1100
+ attr_accessor :csv_export_options
1101
+
1102
+ # Databases to be exported. **MySQL instances:** If **fileType** is **SQL** and
1103
+ # no database is specified, all databases are exported, except for the **mysql**
1104
+ # system database. If **fileType** is **CSV**, you can specify one database,
1105
+ # either by using this property or by using the **csvExportOptions.selectQuery**
1106
+ # property, which takes precedence over this property. **PostgreSQL instances:**
1107
+ # You must specify one database to be exported. If **fileType** is **CSV**, this
1108
+ # database must match the one specified in the **csvExportOptions.selectQuery**
1109
+ # property. **SQL Server instances:** You must specify one database to be
1110
+ # exported, and the **fileType** must be **BAK**.
1111
+ # Corresponds to the JSON property `databases`
1112
+ # @return [Array<String>]
1113
+ attr_accessor :databases
1114
+
1115
+ # The file type for the specified uri. **SQL**: The file contains SQL statements.
1116
+ # **CSV**: The file contains CSV data. **BAK**: The file contains backup data
1117
+ # for a SQL Server instance.
1118
+ # Corresponds to the JSON property `fileType`
1119
+ # @return [String]
1120
+ attr_accessor :file_type
1121
+
1122
+ # This is always **sql#exportContext**.
1123
+ # Corresponds to the JSON property `kind`
1124
+ # @return [String]
1125
+ attr_accessor :kind
1126
+
1127
+ # Option for export offload.
1128
+ # Corresponds to the JSON property `offload`
1129
+ # @return [Boolean]
1130
+ attr_accessor :offload
1131
+ alias_method :offload?, :offload
1132
+
1133
+ # Options for exporting data as SQL statements.
1134
+ # Corresponds to the JSON property `sqlExportOptions`
1135
+ # @return [Google::Apis::SqladminV1::ExportContext::SqlExportOptions]
1136
+ attr_accessor :sql_export_options
1137
+
1138
+ # The path to the file in Google Cloud Storage where the export will be stored.
1139
+ # The URI is in the form **gs://bucketName/fileName**. If the file already
1140
+ # exists, the request succeeds, but the operation fails. If **fileType** is **
1141
+ # SQL** and the filename ends with .gz, the contents are compressed.
1142
+ # Corresponds to the JSON property `uri`
1143
+ # @return [String]
1144
+ attr_accessor :uri
1145
+
1146
+ def initialize(**args)
1147
+ update!(**args)
1148
+ end
1149
+
1150
+ # Update properties of this object
1151
+ def update!(**args)
1152
+ @csv_export_options = args[:csv_export_options] if args.key?(:csv_export_options)
1153
+ @databases = args[:databases] if args.key?(:databases)
1154
+ @file_type = args[:file_type] if args.key?(:file_type)
1155
+ @kind = args[:kind] if args.key?(:kind)
1156
+ @offload = args[:offload] if args.key?(:offload)
1157
+ @sql_export_options = args[:sql_export_options] if args.key?(:sql_export_options)
1158
+ @uri = args[:uri] if args.key?(:uri)
1159
+ end
1160
+
1161
+ # Options for exporting data as CSV. **MySQL** and **PostgreSQL** instances only.
1162
+ class CsvExportOptions
1163
+ include Google::Apis::Core::Hashable
1164
+
1165
+ # The select query used to extract the data.
1166
+ # Corresponds to the JSON property `selectQuery`
1167
+ # @return [String]
1168
+ attr_accessor :select_query
1169
+
1170
+ def initialize(**args)
1171
+ update!(**args)
1172
+ end
1173
+
1174
+ # Update properties of this object
1175
+ def update!(**args)
1176
+ @select_query = args[:select_query] if args.key?(:select_query)
1177
+ end
1178
+ end
1179
+
1180
+ # Options for exporting data as SQL statements.
1181
+ class SqlExportOptions
1182
+ include Google::Apis::Core::Hashable
1183
+
1184
+ # Options for exporting from MySQL.
1185
+ # Corresponds to the JSON property `mysqlExportOptions`
1186
+ # @return [Google::Apis::SqladminV1::ExportContext::SqlExportOptions::MysqlExportOptions]
1187
+ attr_accessor :mysql_export_options
1188
+
1189
+ # Export only schemas.
1190
+ # Corresponds to the JSON property `schemaOnly`
1191
+ # @return [Boolean]
1192
+ attr_accessor :schema_only
1193
+ alias_method :schema_only?, :schema_only
1194
+
1195
+ # Tables to export, or that were exported, from the specified database. If you
1196
+ # specify tables, specify one and only one database. For PostgreSQL instances,
1197
+ # you can specify only one table.
1198
+ # Corresponds to the JSON property `tables`
1199
+ # @return [Array<String>]
1200
+ attr_accessor :tables
1201
+
1202
+ def initialize(**args)
1203
+ update!(**args)
1204
+ end
1205
+
1206
+ # Update properties of this object
1207
+ def update!(**args)
1208
+ @mysql_export_options = args[:mysql_export_options] if args.key?(:mysql_export_options)
1209
+ @schema_only = args[:schema_only] if args.key?(:schema_only)
1210
+ @tables = args[:tables] if args.key?(:tables)
1211
+ end
1212
+
1213
+ # Options for exporting from MySQL.
1214
+ class MysqlExportOptions
1215
+ include Google::Apis::Core::Hashable
1216
+
1217
+ # Option to include SQL statement required to set up replication. If set to **1**
1218
+ # , the dump file includes a CHANGE MASTER TO statement with the binary log
1219
+ # coordinates, and --set-gtid-purged is set to ON. If set to **2**, the CHANGE
1220
+ # MASTER TO statement is written as a SQL comment and has no effect. If set to
1221
+ # any value other than **1**, --set-gtid-purged is set to OFF.
1222
+ # Corresponds to the JSON property `masterData`
1223
+ # @return [Fixnum]
1224
+ attr_accessor :master_data
1225
+
1226
+ def initialize(**args)
1227
+ update!(**args)
1228
+ end
1229
+
1230
+ # Update properties of this object
1231
+ def update!(**args)
1232
+ @master_data = args[:master_data] if args.key?(:master_data)
1233
+ end
1234
+ end
1235
+ end
1236
+ end
1237
+
1238
+ # Database instance failover context.
1239
+ class FailoverContext
1240
+ include Google::Apis::Core::Hashable
1241
+
1242
+ # This is always *sql#failoverContext*.
1243
+ # Corresponds to the JSON property `kind`
1244
+ # @return [String]
1245
+ attr_accessor :kind
1246
+
1247
+ # The current settings version of this instance. Request will be rejected if
1248
+ # this version doesn't match the current settings version.
1249
+ # Corresponds to the JSON property `settingsVersion`
1250
+ # @return [Fixnum]
1251
+ attr_accessor :settings_version
1252
+
1253
+ def initialize(**args)
1254
+ update!(**args)
1255
+ end
1256
+
1257
+ # Update properties of this object
1258
+ def update!(**args)
1259
+ @kind = args[:kind] if args.key?(:kind)
1260
+ @settings_version = args[:settings_version] if args.key?(:settings_version)
1261
+ end
1262
+ end
1263
+
1264
+ # A flag resource.
1265
+ class Flag
1266
+ include Google::Apis::Core::Hashable
1267
+
1268
+ # Use this field if only certain integers are accepted. Can be combined with
1269
+ # min_value and max_value to add additional values.
1270
+ # Corresponds to the JSON property `allowedIntValues`
1271
+ # @return [Array<Fixnum>]
1272
+ attr_accessor :allowed_int_values
1273
+
1274
+ # For **STRING** flags, a list of strings that the value can be set to.
1275
+ # Corresponds to the JSON property `allowedStringValues`
1276
+ # @return [Array<String>]
1277
+ attr_accessor :allowed_string_values
1278
+
1279
+ # The database version this flag applies to. Can be **MYSQL_8_0**, **MYSQL_5_6**,
1280
+ # or **MYSQL_5_7**.
1281
+ # Corresponds to the JSON property `appliesTo`
1282
+ # @return [Array<String>]
1283
+ attr_accessor :applies_to
1284
+
1285
+ # Whether or not the flag is considered in beta.
1286
+ # Corresponds to the JSON property `inBeta`
1287
+ # @return [Boolean]
1288
+ attr_accessor :in_beta
1289
+ alias_method :in_beta?, :in_beta
1290
+
1291
+ # This is always **sql#flag**.
1292
+ # Corresponds to the JSON property `kind`
1293
+ # @return [String]
1294
+ attr_accessor :kind
1295
+
1296
+ # For **INTEGER** flags, the maximum allowed value.
1297
+ # Corresponds to the JSON property `maxValue`
1298
+ # @return [Fixnum]
1299
+ attr_accessor :max_value
1300
+
1301
+ # For **INTEGER** flags, the minimum allowed value.
1302
+ # Corresponds to the JSON property `minValue`
1303
+ # @return [Fixnum]
1304
+ attr_accessor :min_value
1305
+
1306
+ # This is the name of the flag. Flag names always use underscores, not hyphens,
1307
+ # for example: **max_allowed_packet**
1308
+ # Corresponds to the JSON property `name`
1309
+ # @return [String]
1310
+ attr_accessor :name
1311
+
1312
+ # Indicates whether changing this flag will trigger a database restart. Only
1313
+ # applicable to Second Generation instances.
1314
+ # Corresponds to the JSON property `requiresRestart`
1315
+ # @return [Boolean]
1316
+ attr_accessor :requires_restart
1317
+ alias_method :requires_restart?, :requires_restart
1318
+
1319
+ # The type of the flag. Flags are typed to being **BOOLEAN**, **STRING**, **
1320
+ # INTEGER** or **NONE**. **NONE** is used for flags which do not take a value,
1321
+ # such as **skip_grant_tables**.
1322
+ # Corresponds to the JSON property `type`
1323
+ # @return [String]
1324
+ attr_accessor :type
1325
+
1326
+ def initialize(**args)
1327
+ update!(**args)
1328
+ end
1329
+
1330
+ # Update properties of this object
1331
+ def update!(**args)
1332
+ @allowed_int_values = args[:allowed_int_values] if args.key?(:allowed_int_values)
1333
+ @allowed_string_values = args[:allowed_string_values] if args.key?(:allowed_string_values)
1334
+ @applies_to = args[:applies_to] if args.key?(:applies_to)
1335
+ @in_beta = args[:in_beta] if args.key?(:in_beta)
1336
+ @kind = args[:kind] if args.key?(:kind)
1337
+ @max_value = args[:max_value] if args.key?(:max_value)
1338
+ @min_value = args[:min_value] if args.key?(:min_value)
1339
+ @name = args[:name] if args.key?(:name)
1340
+ @requires_restart = args[:requires_restart] if args.key?(:requires_restart)
1341
+ @type = args[:type] if args.key?(:type)
1342
+ end
1343
+ end
1344
+
1345
+ # Flags list response.
1346
+ class FlagsListResponse
1347
+ include Google::Apis::Core::Hashable
1348
+
1349
+ # List of flags.
1350
+ # Corresponds to the JSON property `items`
1351
+ # @return [Array<Google::Apis::SqladminV1::Flag>]
1352
+ attr_accessor :items
1353
+
1354
+ # This is always **sql#flagsList**.
1355
+ # Corresponds to the JSON property `kind`
1356
+ # @return [String]
1357
+ attr_accessor :kind
1358
+
1359
+ def initialize(**args)
1360
+ update!(**args)
1361
+ end
1362
+
1363
+ # Update properties of this object
1364
+ def update!(**args)
1365
+ @items = args[:items] if args.key?(:items)
1366
+ @kind = args[:kind] if args.key?(:kind)
1367
+ end
1368
+ end
1369
+
671
1370
  # Ephemeral certificate creation request.
672
1371
  class GenerateEphemeralCertRequest
673
1372
  include Google::Apis::Core::Hashable
@@ -718,6 +1417,148 @@ module Google
718
1417
  end
719
1418
  end
720
1419
 
1420
+ # Database instance import context.
1421
+ class ImportContext
1422
+ include Google::Apis::Core::Hashable
1423
+
1424
+ # Import parameters specific to SQL Server .BAK files
1425
+ # Corresponds to the JSON property `bakImportOptions`
1426
+ # @return [Google::Apis::SqladminV1::ImportContext::BakImportOptions]
1427
+ attr_accessor :bak_import_options
1428
+
1429
+ # Options for importing data as CSV.
1430
+ # Corresponds to the JSON property `csvImportOptions`
1431
+ # @return [Google::Apis::SqladminV1::ImportContext::CsvImportOptions]
1432
+ attr_accessor :csv_import_options
1433
+
1434
+ # The target database for the import. If **fileType** is **SQL**, this field is
1435
+ # required only if the import file does not specify a database, and is
1436
+ # overridden by any database specification in the import file. If **fileType**
1437
+ # is **CSV**, one database must be specified.
1438
+ # Corresponds to the JSON property `database`
1439
+ # @return [String]
1440
+ attr_accessor :database
1441
+
1442
+ # The file type for the specified uri. **SQL**: The file contains SQL statements.
1443
+ # **CSV**: The file contains CSV data.
1444
+ # Corresponds to the JSON property `fileType`
1445
+ # @return [String]
1446
+ attr_accessor :file_type
1447
+
1448
+ # The PostgreSQL user for this import operation. PostgreSQL instances only.
1449
+ # Corresponds to the JSON property `importUser`
1450
+ # @return [String]
1451
+ attr_accessor :import_user
1452
+
1453
+ # This is always **sql#importContext**.
1454
+ # Corresponds to the JSON property `kind`
1455
+ # @return [String]
1456
+ attr_accessor :kind
1457
+
1458
+ # Path to the import file in Cloud Storage, in the form **gs://bucketName/
1459
+ # fileName**. Compressed gzip files (.gz) are supported when **fileType** is **
1460
+ # SQL**. The instance must have write permissions to the bucket and read access
1461
+ # to the file.
1462
+ # Corresponds to the JSON property `uri`
1463
+ # @return [String]
1464
+ attr_accessor :uri
1465
+
1466
+ def initialize(**args)
1467
+ update!(**args)
1468
+ end
1469
+
1470
+ # Update properties of this object
1471
+ def update!(**args)
1472
+ @bak_import_options = args[:bak_import_options] if args.key?(:bak_import_options)
1473
+ @csv_import_options = args[:csv_import_options] if args.key?(:csv_import_options)
1474
+ @database = args[:database] if args.key?(:database)
1475
+ @file_type = args[:file_type] if args.key?(:file_type)
1476
+ @import_user = args[:import_user] if args.key?(:import_user)
1477
+ @kind = args[:kind] if args.key?(:kind)
1478
+ @uri = args[:uri] if args.key?(:uri)
1479
+ end
1480
+
1481
+ # Import parameters specific to SQL Server .BAK files
1482
+ class BakImportOptions
1483
+ include Google::Apis::Core::Hashable
1484
+
1485
+ #
1486
+ # Corresponds to the JSON property `encryptionOptions`
1487
+ # @return [Google::Apis::SqladminV1::ImportContext::BakImportOptions::EncryptionOptions]
1488
+ attr_accessor :encryption_options
1489
+
1490
+ def initialize(**args)
1491
+ update!(**args)
1492
+ end
1493
+
1494
+ # Update properties of this object
1495
+ def update!(**args)
1496
+ @encryption_options = args[:encryption_options] if args.key?(:encryption_options)
1497
+ end
1498
+
1499
+ #
1500
+ class EncryptionOptions
1501
+ include Google::Apis::Core::Hashable
1502
+
1503
+ # Path to the Certificate (.cer) in Cloud Storage, in the form **gs://bucketName/
1504
+ # fileName**. The instance must have write permissions to the bucket and read
1505
+ # access to the file.
1506
+ # Corresponds to the JSON property `certPath`
1507
+ # @return [String]
1508
+ attr_accessor :cert_path
1509
+
1510
+ # Password that encrypts the private key
1511
+ # Corresponds to the JSON property `pvkPassword`
1512
+ # @return [String]
1513
+ attr_accessor :pvk_password
1514
+
1515
+ # Path to the Certificate Private Key (.pvk) in Cloud Storage, in the form **gs:/
1516
+ # /bucketName/fileName**. The instance must have write permissions to the bucket
1517
+ # and read access to the file.
1518
+ # Corresponds to the JSON property `pvkPath`
1519
+ # @return [String]
1520
+ attr_accessor :pvk_path
1521
+
1522
+ def initialize(**args)
1523
+ update!(**args)
1524
+ end
1525
+
1526
+ # Update properties of this object
1527
+ def update!(**args)
1528
+ @cert_path = args[:cert_path] if args.key?(:cert_path)
1529
+ @pvk_password = args[:pvk_password] if args.key?(:pvk_password)
1530
+ @pvk_path = args[:pvk_path] if args.key?(:pvk_path)
1531
+ end
1532
+ end
1533
+ end
1534
+
1535
+ # Options for importing data as CSV.
1536
+ class CsvImportOptions
1537
+ include Google::Apis::Core::Hashable
1538
+
1539
+ # The columns to which CSV data is imported. If not specified, all columns of
1540
+ # the database table are loaded with CSV data.
1541
+ # Corresponds to the JSON property `columns`
1542
+ # @return [Array<String>]
1543
+ attr_accessor :columns
1544
+
1545
+ # The table to which CSV data is imported.
1546
+ # Corresponds to the JSON property `table`
1547
+ # @return [String]
1548
+ attr_accessor :table
1549
+
1550
+ def initialize(**args)
1551
+ update!(**args)
1552
+ end
1553
+
1554
+ # Update properties of this object
1555
+ def update!(**args)
1556
+ @columns = args[:columns] if args.key?(:columns)
1557
+ @table = args[:table] if args.key?(:table)
1558
+ end
1559
+ end
1560
+ end
1561
+
721
1562
  # Insights configuration. This specifies when Cloud SQL Insights feature is
722
1563
  # enabled and optional configuration.
723
1564
  class InsightsConfig
@@ -729,8 +1570,8 @@ module Google
729
1570
  attr_accessor :query_insights_enabled
730
1571
  alias_method :query_insights_enabled?, :query_insights_enabled
731
1572
 
732
- # Number of query plans generated by Insights per minute. Default is 5. Changing
733
- # this will restart the database.
1573
+ # Number of query execution plans captured by Insights per minute for all
1574
+ # queries combined. Default is 5.
734
1575
  # Corresponds to the JSON property `queryPlansPerMinute`
735
1576
  # @return [Fixnum]
736
1577
  attr_accessor :query_plans_per_minute
@@ -769,19 +1610,33 @@ module Google
769
1610
  end
770
1611
  end
771
1612
 
772
- # Reference to another Cloud SQL instance.
773
- class InstanceReference
1613
+ # Database instance clone request.
1614
+ class InstancesCloneRequest
774
1615
  include Google::Apis::Core::Hashable
775
1616
 
776
- # The name of the Cloud SQL instance being referenced.
777
- # Corresponds to the JSON property `name`
778
- # @return [String]
779
- attr_accessor :name
1617
+ # Database instance clone context.
1618
+ # Corresponds to the JSON property `cloneContext`
1619
+ # @return [Google::Apis::SqladminV1::CloneContext]
1620
+ attr_accessor :clone_context
780
1621
 
781
- # The region of the Cloud SQL instance being referenced.
782
- # Corresponds to the JSON property `region`
783
- # @return [String]
784
- attr_accessor :region
1622
+ def initialize(**args)
1623
+ update!(**args)
1624
+ end
1625
+
1626
+ # Update properties of this object
1627
+ def update!(**args)
1628
+ @clone_context = args[:clone_context] if args.key?(:clone_context)
1629
+ end
1630
+ end
1631
+
1632
+ # Database demote primary instance request.
1633
+ class InstancesDemoteMasterRequest
1634
+ include Google::Apis::Core::Hashable
1635
+
1636
+ # Database instance demote primary instance context.
1637
+ # Corresponds to the JSON property `demoteMasterContext`
1638
+ # @return [Google::Apis::SqladminV1::DemoteMasterContext]
1639
+ attr_accessor :demote_master_context
785
1640
 
786
1641
  def initialize(**args)
787
1642
  update!(**args)
@@ -789,8 +1644,64 @@ module Google
789
1644
 
790
1645
  # Update properties of this object
791
1646
  def update!(**args)
792
- @name = args[:name] if args.key?(:name)
793
- @region = args[:region] if args.key?(:region)
1647
+ @demote_master_context = args[:demote_master_context] if args.key?(:demote_master_context)
1648
+ end
1649
+ end
1650
+
1651
+ # Database instance export request.
1652
+ class InstancesExportRequest
1653
+ include Google::Apis::Core::Hashable
1654
+
1655
+ # Database instance export context.
1656
+ # Corresponds to the JSON property `exportContext`
1657
+ # @return [Google::Apis::SqladminV1::ExportContext]
1658
+ attr_accessor :export_context
1659
+
1660
+ def initialize(**args)
1661
+ update!(**args)
1662
+ end
1663
+
1664
+ # Update properties of this object
1665
+ def update!(**args)
1666
+ @export_context = args[:export_context] if args.key?(:export_context)
1667
+ end
1668
+ end
1669
+
1670
+ # Instance failover request.
1671
+ class InstancesFailoverRequest
1672
+ include Google::Apis::Core::Hashable
1673
+
1674
+ # Database instance failover context.
1675
+ # Corresponds to the JSON property `failoverContext`
1676
+ # @return [Google::Apis::SqladminV1::FailoverContext]
1677
+ attr_accessor :failover_context
1678
+
1679
+ def initialize(**args)
1680
+ update!(**args)
1681
+ end
1682
+
1683
+ # Update properties of this object
1684
+ def update!(**args)
1685
+ @failover_context = args[:failover_context] if args.key?(:failover_context)
1686
+ end
1687
+ end
1688
+
1689
+ # Database instance import request.
1690
+ class InstancesImportRequest
1691
+ include Google::Apis::Core::Hashable
1692
+
1693
+ # Database instance import context.
1694
+ # Corresponds to the JSON property `importContext`
1695
+ # @return [Google::Apis::SqladminV1::ImportContext]
1696
+ attr_accessor :import_context
1697
+
1698
+ def initialize(**args)
1699
+ update!(**args)
1700
+ end
1701
+
1702
+ # Update properties of this object
1703
+ def update!(**args)
1704
+ @import_context = args[:import_context] if args.key?(:import_context)
794
1705
  end
795
1706
  end
796
1707
 
@@ -808,16 +1719,108 @@ module Google
808
1719
  # @return [String]
809
1720
  attr_accessor :kind
810
1721
 
811
- # The continuation token, used to page through large result sets. Provide this
812
- # value in a subsequent request to return the next page of results.
813
- # Corresponds to the JSON property `nextPageToken`
814
- # @return [String]
815
- attr_accessor :next_page_token
1722
+ # The continuation token, used to page through large result sets. Provide this
1723
+ # value in a subsequent request to return the next page of results.
1724
+ # Corresponds to the JSON property `nextPageToken`
1725
+ # @return [String]
1726
+ attr_accessor :next_page_token
1727
+
1728
+ # List of warnings that occurred while handling the request.
1729
+ # Corresponds to the JSON property `warnings`
1730
+ # @return [Array<Google::Apis::SqladminV1::ApiWarning>]
1731
+ attr_accessor :warnings
1732
+
1733
+ def initialize(**args)
1734
+ update!(**args)
1735
+ end
1736
+
1737
+ # Update properties of this object
1738
+ def update!(**args)
1739
+ @items = args[:items] if args.key?(:items)
1740
+ @kind = args[:kind] if args.key?(:kind)
1741
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1742
+ @warnings = args[:warnings] if args.key?(:warnings)
1743
+ end
1744
+ end
1745
+
1746
+ # Instances ListServerCas response.
1747
+ class InstancesListServerCasResponse
1748
+ include Google::Apis::Core::Hashable
1749
+
1750
+ #
1751
+ # Corresponds to the JSON property `activeVersion`
1752
+ # @return [String]
1753
+ attr_accessor :active_version
1754
+
1755
+ # List of server CA certificates for the instance.
1756
+ # Corresponds to the JSON property `certs`
1757
+ # @return [Array<Google::Apis::SqladminV1::SslCert>]
1758
+ attr_accessor :certs
1759
+
1760
+ # This is always *sql#instancesListServerCas*.
1761
+ # Corresponds to the JSON property `kind`
1762
+ # @return [String]
1763
+ attr_accessor :kind
1764
+
1765
+ def initialize(**args)
1766
+ update!(**args)
1767
+ end
1768
+
1769
+ # Update properties of this object
1770
+ def update!(**args)
1771
+ @active_version = args[:active_version] if args.key?(:active_version)
1772
+ @certs = args[:certs] if args.key?(:certs)
1773
+ @kind = args[:kind] if args.key?(:kind)
1774
+ end
1775
+ end
1776
+
1777
+ # Database instance restore backup request.
1778
+ class InstancesRestoreBackupRequest
1779
+ include Google::Apis::Core::Hashable
1780
+
1781
+ # Database instance restore from backup context. Backup context contains source
1782
+ # instance id and project id.
1783
+ # Corresponds to the JSON property `restoreBackupContext`
1784
+ # @return [Google::Apis::SqladminV1::RestoreBackupContext]
1785
+ attr_accessor :restore_backup_context
1786
+
1787
+ def initialize(**args)
1788
+ update!(**args)
1789
+ end
1790
+
1791
+ # Update properties of this object
1792
+ def update!(**args)
1793
+ @restore_backup_context = args[:restore_backup_context] if args.key?(:restore_backup_context)
1794
+ end
1795
+ end
1796
+
1797
+ # Rotate server CA request.
1798
+ class InstancesRotateServerCaRequest
1799
+ include Google::Apis::Core::Hashable
1800
+
1801
+ # Instance rotate server CA context.
1802
+ # Corresponds to the JSON property `rotateServerCaContext`
1803
+ # @return [Google::Apis::SqladminV1::RotateServerCaContext]
1804
+ attr_accessor :rotate_server_ca_context
1805
+
1806
+ def initialize(**args)
1807
+ update!(**args)
1808
+ end
1809
+
1810
+ # Update properties of this object
1811
+ def update!(**args)
1812
+ @rotate_server_ca_context = args[:rotate_server_ca_context] if args.key?(:rotate_server_ca_context)
1813
+ end
1814
+ end
1815
+
1816
+ # Instance truncate log request.
1817
+ class InstancesTruncateLogRequest
1818
+ include Google::Apis::Core::Hashable
816
1819
 
817
- # List of warnings that occurred while handling the request.
818
- # Corresponds to the JSON property `warnings`
819
- # @return [Array<Google::Apis::SqladminV1::ApiWarning>]
820
- attr_accessor :warnings
1820
+ # Database Instance truncate log context.
1821
+ # Corresponds to the JSON property `truncateLogContext`
1822
+ # @return [Google::Apis::SqladminV1::TruncateLogContext]
1823
+ attr_accessor :truncate_log_context
821
1824
 
822
1825
  def initialize(**args)
823
1826
  update!(**args)
@@ -825,10 +1828,7 @@ module Google
825
1828
 
826
1829
  # Update properties of this object
827
1830
  def update!(**args)
828
- @items = args[:items] if args.key?(:items)
829
- @kind = args[:kind] if args.key?(:kind)
830
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
831
- @warnings = args[:warnings] if args.key?(:warnings)
1831
+ @truncate_log_context = args[:truncate_log_context] if args.key?(:truncate_log_context)
832
1832
  end
833
1833
  end
834
1834
 
@@ -918,6 +1918,12 @@ module Google
918
1918
  class LocationPreference
919
1919
  include Google::Apis::Core::Hashable
920
1920
 
1921
+ # The App Engine application to follow, it must be in the same region as the
1922
+ # Cloud SQL instance.
1923
+ # Corresponds to the JSON property `followGaeApplication`
1924
+ # @return [String]
1925
+ attr_accessor :follow_gae_application
1926
+
921
1927
  # This is always **sql#locationPreference**.
922
1928
  # Corresponds to the JSON property `kind`
923
1929
  # @return [String]
@@ -941,6 +1947,7 @@ module Google
941
1947
 
942
1948
  # Update properties of this object
943
1949
  def update!(**args)
1950
+ @follow_gae_application = args[:follow_gae_application] if args.key?(:follow_gae_application)
944
1951
  @kind = args[:kind] if args.key?(:kind)
945
1952
  @secondary_zone = args[:secondary_zone] if args.key?(:secondary_zone)
946
1953
  @zone = args[:zone] if args.key?(:zone)
@@ -968,8 +1975,8 @@ module Google
968
1975
  attr_accessor :kind
969
1976
 
970
1977
  # Maintenance timing setting: **canary** (Earlier) or **stable** (Later). [Learn
971
- # more] (https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/instance-
972
- # settings#maintenance-timing-2ndgen).
1978
+ # more] (https://cloud.google.com/sql/docs/mysql/instance-settings#maintenance-
1979
+ # timing-2ndgen).
973
1980
  # Corresponds to the JSON property `updateTrack`
974
1981
  # @return [String]
975
1982
  attr_accessor :update_track
@@ -1135,6 +2142,213 @@ module Google
1135
2142
  end
1136
2143
  end
1137
2144
 
2145
+ # An Operation resource. For successful operations that return an Operation
2146
+ # resource, only the fields relevant to the operation are populated in the
2147
+ # resource.
2148
+ class Operation
2149
+ include Google::Apis::Core::Hashable
2150
+
2151
+ # Backup context.
2152
+ # Corresponds to the JSON property `backupContext`
2153
+ # @return [Google::Apis::SqladminV1::BackupContext]
2154
+ attr_accessor :backup_context
2155
+
2156
+ # The time this operation finished in UTC timezone in [RFC 3339](https://tools.
2157
+ # ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
2158
+ # Corresponds to the JSON property `endTime`
2159
+ # @return [String]
2160
+ attr_accessor :end_time
2161
+
2162
+ # Database instance operation errors list wrapper.
2163
+ # Corresponds to the JSON property `error`
2164
+ # @return [Google::Apis::SqladminV1::OperationErrors]
2165
+ attr_accessor :error
2166
+
2167
+ # Database instance export context.
2168
+ # Corresponds to the JSON property `exportContext`
2169
+ # @return [Google::Apis::SqladminV1::ExportContext]
2170
+ attr_accessor :export_context
2171
+
2172
+ # Database instance import context.
2173
+ # Corresponds to the JSON property `importContext`
2174
+ # @return [Google::Apis::SqladminV1::ImportContext]
2175
+ attr_accessor :import_context
2176
+
2177
+ # The time this operation was enqueued in UTC timezone in [RFC 3339](https://
2178
+ # tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
2179
+ # Corresponds to the JSON property `insertTime`
2180
+ # @return [String]
2181
+ attr_accessor :insert_time
2182
+
2183
+ # This is always **sql#operation**.
2184
+ # Corresponds to the JSON property `kind`
2185
+ # @return [String]
2186
+ attr_accessor :kind
2187
+
2188
+ # An identifier that uniquely identifies the operation. You can use this
2189
+ # identifier to retrieve the Operations resource that has information about the
2190
+ # operation.
2191
+ # Corresponds to the JSON property `name`
2192
+ # @return [String]
2193
+ attr_accessor :name
2194
+
2195
+ # The type of the operation. Valid values are: **CREATE** **DELETE** **UPDATE** *
2196
+ # *RESTART** **IMPORT** **EXPORT** **BACKUP_VOLUME** **RESTORE_VOLUME** **
2197
+ # CREATE_USER** **DELETE_USER** **CREATE_DATABASE** **DELETE_DATABASE**
2198
+ # Corresponds to the JSON property `operationType`
2199
+ # @return [String]
2200
+ attr_accessor :operation_type
2201
+
2202
+ # The URI of this resource.
2203
+ # Corresponds to the JSON property `selfLink`
2204
+ # @return [String]
2205
+ attr_accessor :self_link
2206
+
2207
+ # The time this operation actually started in UTC timezone in [RFC 3339](https://
2208
+ # tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
2209
+ # Corresponds to the JSON property `startTime`
2210
+ # @return [String]
2211
+ attr_accessor :start_time
2212
+
2213
+ # The status of an operation. Valid values are: **PENDING** **RUNNING** **DONE**
2214
+ # **SQL_OPERATION_STATUS_UNSPECIFIED**
2215
+ # Corresponds to the JSON property `status`
2216
+ # @return [String]
2217
+ attr_accessor :status
2218
+
2219
+ # Name of the database instance related to this operation.
2220
+ # Corresponds to the JSON property `targetId`
2221
+ # @return [String]
2222
+ attr_accessor :target_id
2223
+
2224
+ #
2225
+ # Corresponds to the JSON property `targetLink`
2226
+ # @return [String]
2227
+ attr_accessor :target_link
2228
+
2229
+ # The project ID of the target instance related to this operation.
2230
+ # Corresponds to the JSON property `targetProject`
2231
+ # @return [String]
2232
+ attr_accessor :target_project
2233
+
2234
+ # The email address of the user who initiated this operation.
2235
+ # Corresponds to the JSON property `user`
2236
+ # @return [String]
2237
+ attr_accessor :user
2238
+
2239
+ def initialize(**args)
2240
+ update!(**args)
2241
+ end
2242
+
2243
+ # Update properties of this object
2244
+ def update!(**args)
2245
+ @backup_context = args[:backup_context] if args.key?(:backup_context)
2246
+ @end_time = args[:end_time] if args.key?(:end_time)
2247
+ @error = args[:error] if args.key?(:error)
2248
+ @export_context = args[:export_context] if args.key?(:export_context)
2249
+ @import_context = args[:import_context] if args.key?(:import_context)
2250
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
2251
+ @kind = args[:kind] if args.key?(:kind)
2252
+ @name = args[:name] if args.key?(:name)
2253
+ @operation_type = args[:operation_type] if args.key?(:operation_type)
2254
+ @self_link = args[:self_link] if args.key?(:self_link)
2255
+ @start_time = args[:start_time] if args.key?(:start_time)
2256
+ @status = args[:status] if args.key?(:status)
2257
+ @target_id = args[:target_id] if args.key?(:target_id)
2258
+ @target_link = args[:target_link] if args.key?(:target_link)
2259
+ @target_project = args[:target_project] if args.key?(:target_project)
2260
+ @user = args[:user] if args.key?(:user)
2261
+ end
2262
+ end
2263
+
2264
+ # Database instance operation error.
2265
+ class OperationError
2266
+ include Google::Apis::Core::Hashable
2267
+
2268
+ # Identifies the specific error that occurred.
2269
+ # Corresponds to the JSON property `code`
2270
+ # @return [String]
2271
+ attr_accessor :code
2272
+
2273
+ # This is always **sql#operationError**.
2274
+ # Corresponds to the JSON property `kind`
2275
+ # @return [String]
2276
+ attr_accessor :kind
2277
+
2278
+ # Additional information about the error encountered.
2279
+ # Corresponds to the JSON property `message`
2280
+ # @return [String]
2281
+ attr_accessor :message
2282
+
2283
+ def initialize(**args)
2284
+ update!(**args)
2285
+ end
2286
+
2287
+ # Update properties of this object
2288
+ def update!(**args)
2289
+ @code = args[:code] if args.key?(:code)
2290
+ @kind = args[:kind] if args.key?(:kind)
2291
+ @message = args[:message] if args.key?(:message)
2292
+ end
2293
+ end
2294
+
2295
+ # Database instance operation errors list wrapper.
2296
+ class OperationErrors
2297
+ include Google::Apis::Core::Hashable
2298
+
2299
+ # The list of errors encountered while processing this operation.
2300
+ # Corresponds to the JSON property `errors`
2301
+ # @return [Array<Google::Apis::SqladminV1::OperationError>]
2302
+ attr_accessor :errors
2303
+
2304
+ # This is always **sql#operationErrors**.
2305
+ # Corresponds to the JSON property `kind`
2306
+ # @return [String]
2307
+ attr_accessor :kind
2308
+
2309
+ def initialize(**args)
2310
+ update!(**args)
2311
+ end
2312
+
2313
+ # Update properties of this object
2314
+ def update!(**args)
2315
+ @errors = args[:errors] if args.key?(:errors)
2316
+ @kind = args[:kind] if args.key?(:kind)
2317
+ end
2318
+ end
2319
+
2320
+ # Operations list response.
2321
+ class OperationsListResponse
2322
+ include Google::Apis::Core::Hashable
2323
+
2324
+ # List of operation resources.
2325
+ # Corresponds to the JSON property `items`
2326
+ # @return [Array<Google::Apis::SqladminV1::Operation>]
2327
+ attr_accessor :items
2328
+
2329
+ # This is always *sql#operationsList*.
2330
+ # Corresponds to the JSON property `kind`
2331
+ # @return [String]
2332
+ attr_accessor :kind
2333
+
2334
+ # The continuation token, used to page through large result sets. Provide this
2335
+ # value in a subsequent request to return the next page of results.
2336
+ # Corresponds to the JSON property `nextPageToken`
2337
+ # @return [String]
2338
+ attr_accessor :next_page_token
2339
+
2340
+ def initialize(**args)
2341
+ update!(**args)
2342
+ end
2343
+
2344
+ # Update properties of this object
2345
+ def update!(**args)
2346
+ @items = args[:items] if args.key?(:items)
2347
+ @kind = args[:kind] if args.key?(:kind)
2348
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2349
+ end
2350
+ end
2351
+
1138
2352
  # Read-replica configuration for connecting to the primary instance.
1139
2353
  class ReplicaConfiguration
1140
2354
  include Google::Apis::Core::Hashable
@@ -1171,6 +2385,97 @@ module Google
1171
2385
  end
1172
2386
  end
1173
2387
 
2388
+ #
2389
+ class Reschedule
2390
+ include Google::Apis::Core::Hashable
2391
+
2392
+ # Required. The type of the reschedule.
2393
+ # Corresponds to the JSON property `rescheduleType`
2394
+ # @return [String]
2395
+ attr_accessor :reschedule_type
2396
+
2397
+ # Optional. Timestamp when the maintenance shall be rescheduled to if
2398
+ # reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for example *2012-11-15T16:
2399
+ # 19:00.094Z*.
2400
+ # Corresponds to the JSON property `scheduleTime`
2401
+ # @return [String]
2402
+ attr_accessor :schedule_time
2403
+
2404
+ def initialize(**args)
2405
+ update!(**args)
2406
+ end
2407
+
2408
+ # Update properties of this object
2409
+ def update!(**args)
2410
+ @reschedule_type = args[:reschedule_type] if args.key?(:reschedule_type)
2411
+ @schedule_time = args[:schedule_time] if args.key?(:schedule_time)
2412
+ end
2413
+ end
2414
+
2415
+ # Database instance restore from backup context. Backup context contains source
2416
+ # instance id and project id.
2417
+ class RestoreBackupContext
2418
+ include Google::Apis::Core::Hashable
2419
+
2420
+ # The ID of the backup run to restore from.
2421
+ # Corresponds to the JSON property `backupRunId`
2422
+ # @return [Fixnum]
2423
+ attr_accessor :backup_run_id
2424
+
2425
+ # The ID of the instance that the backup was taken from.
2426
+ # Corresponds to the JSON property `instanceId`
2427
+ # @return [String]
2428
+ attr_accessor :instance_id
2429
+
2430
+ # This is always *sql#restoreBackupContext*.
2431
+ # Corresponds to the JSON property `kind`
2432
+ # @return [String]
2433
+ attr_accessor :kind
2434
+
2435
+ # The full project ID of the source instance.
2436
+ # Corresponds to the JSON property `project`
2437
+ # @return [String]
2438
+ attr_accessor :project
2439
+
2440
+ def initialize(**args)
2441
+ update!(**args)
2442
+ end
2443
+
2444
+ # Update properties of this object
2445
+ def update!(**args)
2446
+ @backup_run_id = args[:backup_run_id] if args.key?(:backup_run_id)
2447
+ @instance_id = args[:instance_id] if args.key?(:instance_id)
2448
+ @kind = args[:kind] if args.key?(:kind)
2449
+ @project = args[:project] if args.key?(:project)
2450
+ end
2451
+ end
2452
+
2453
+ # Instance rotate server CA context.
2454
+ class RotateServerCaContext
2455
+ include Google::Apis::Core::Hashable
2456
+
2457
+ # This is always *sql#rotateServerCaContext*.
2458
+ # Corresponds to the JSON property `kind`
2459
+ # @return [String]
2460
+ attr_accessor :kind
2461
+
2462
+ # The fingerprint of the next version to be rotated to. If left unspecified,
2463
+ # will be rotated to the most recently added server CA version.
2464
+ # Corresponds to the JSON property `nextVersion`
2465
+ # @return [String]
2466
+ attr_accessor :next_version
2467
+
2468
+ def initialize(**args)
2469
+ update!(**args)
2470
+ end
2471
+
2472
+ # Update properties of this object
2473
+ def update!(**args)
2474
+ @kind = args[:kind] if args.key?(:kind)
2475
+ @next_version = args[:next_version] if args.key?(:next_version)
2476
+ end
2477
+ end
2478
+
1174
2479
  # Database instance settings.
1175
2480
  class Settings
1176
2481
  include Google::Apis::Core::Hashable
@@ -1189,11 +2494,17 @@ module Google
1189
2494
  # @return [Google::Apis::SqladminV1::SqlActiveDirectoryConfig]
1190
2495
  attr_accessor :active_directory_config
1191
2496
 
2497
+ # The App Engine app IDs that can access this instance. (Deprecated) Applied to
2498
+ # First Generation instances only.
2499
+ # Corresponds to the JSON property `authorizedGaeApplications`
2500
+ # @return [Array<String>]
2501
+ attr_accessor :authorized_gae_applications
2502
+
1192
2503
  # Availability type. Potential values: **ZONAL**: The instance serves data from
1193
2504
  # only one zone. Outages in that zone affect data accessibility. **REGIONAL**:
1194
2505
  # The instance can serve data from more than one zone in a region (it is highly
1195
2506
  # available). For more information, see [Overview of the High Availability
1196
- # Configuration](/sql/docs/postgres/high-availability).
2507
+ # Configuration](https://cloud.google.com/sql/docs/mysql/high-availability).
1197
2508
  # Corresponds to the JSON property `availabilityType`
1198
2509
  # @return [String]
1199
2510
  attr_accessor :availability_type
@@ -1325,6 +2636,7 @@ module Google
1325
2636
  def update!(**args)
1326
2637
  @activation_policy = args[:activation_policy] if args.key?(:activation_policy)
1327
2638
  @active_directory_config = args[:active_directory_config] if args.key?(:active_directory_config)
2639
+ @authorized_gae_applications = args[:authorized_gae_applications] if args.key?(:authorized_gae_applications)
1328
2640
  @availability_type = args[:availability_type] if args.key?(:availability_type)
1329
2641
  @backup_configuration = args[:backup_configuration] if args.key?(:backup_configuration)
1330
2642
  @collation = args[:collation] if args.key?(:collation)
@@ -1374,6 +2686,87 @@ module Google
1374
2686
  end
1375
2687
  end
1376
2688
 
2689
+ # External primary instance migration setting error.
2690
+ class SqlExternalSyncSettingError
2691
+ include Google::Apis::Core::Hashable
2692
+
2693
+ # Additional information about the error encountered.
2694
+ # Corresponds to the JSON property `detail`
2695
+ # @return [String]
2696
+ attr_accessor :detail
2697
+
2698
+ # Can be *sql#externalSyncSettingError* or *sql#externalSyncSettingWarning*.
2699
+ # Corresponds to the JSON property `kind`
2700
+ # @return [String]
2701
+ attr_accessor :kind
2702
+
2703
+ # Identifies the specific error that occurred.
2704
+ # Corresponds to the JSON property `type`
2705
+ # @return [String]
2706
+ attr_accessor :type
2707
+
2708
+ def initialize(**args)
2709
+ update!(**args)
2710
+ end
2711
+
2712
+ # Update properties of this object
2713
+ def update!(**args)
2714
+ @detail = args[:detail] if args.key?(:detail)
2715
+ @kind = args[:kind] if args.key?(:kind)
2716
+ @type = args[:type] if args.key?(:type)
2717
+ end
2718
+ end
2719
+
2720
+ # Reschedule options for maintenance windows.
2721
+ class SqlInstancesRescheduleMaintenanceRequestBody
2722
+ include Google::Apis::Core::Hashable
2723
+
2724
+ # Required. The type of the reschedule the user wants.
2725
+ # Corresponds to the JSON property `reschedule`
2726
+ # @return [Google::Apis::SqladminV1::Reschedule]
2727
+ attr_accessor :reschedule
2728
+
2729
+ def initialize(**args)
2730
+ update!(**args)
2731
+ end
2732
+
2733
+ # Update properties of this object
2734
+ def update!(**args)
2735
+ @reschedule = args[:reschedule] if args.key?(:reschedule)
2736
+ end
2737
+ end
2738
+
2739
+ # Instance verify external sync settings response.
2740
+ class SqlInstancesVerifyExternalSyncSettingsResponse
2741
+ include Google::Apis::Core::Hashable
2742
+
2743
+ # List of migration violations.
2744
+ # Corresponds to the JSON property `errors`
2745
+ # @return [Array<Google::Apis::SqladminV1::SqlExternalSyncSettingError>]
2746
+ attr_accessor :errors
2747
+
2748
+ # This is always *sql#migrationSettingErrorList*.
2749
+ # Corresponds to the JSON property `kind`
2750
+ # @return [String]
2751
+ attr_accessor :kind
2752
+
2753
+ # List of migration warnings.
2754
+ # Corresponds to the JSON property `warnings`
2755
+ # @return [Array<Google::Apis::SqladminV1::SqlExternalSyncSettingError>]
2756
+ attr_accessor :warnings
2757
+
2758
+ def initialize(**args)
2759
+ update!(**args)
2760
+ end
2761
+
2762
+ # Update properties of this object
2763
+ def update!(**args)
2764
+ @errors = args[:errors] if args.key?(:errors)
2765
+ @kind = args[:kind] if args.key?(:kind)
2766
+ @warnings = args[:warnings] if args.key?(:warnings)
2767
+ end
2768
+ end
2769
+
1377
2770
  # This message wraps up the information written by out-of-disk detection job.
1378
2771
  class SqlOutOfDiskReport
1379
2772
  include Google::Apis::Core::Hashable
@@ -1442,6 +2835,57 @@ module Google
1442
2835
  end
1443
2836
  end
1444
2837
 
2838
+ # Represents a Sql Server database on the Cloud SQL instance.
2839
+ class SqlServerDatabaseDetails
2840
+ include Google::Apis::Core::Hashable
2841
+
2842
+ # The version of SQL Server with which the database is to be made compatible
2843
+ # Corresponds to the JSON property `compatibilityLevel`
2844
+ # @return [Fixnum]
2845
+ attr_accessor :compatibility_level
2846
+
2847
+ # The recovery model of a SQL Server database
2848
+ # Corresponds to the JSON property `recoveryModel`
2849
+ # @return [String]
2850
+ attr_accessor :recovery_model
2851
+
2852
+ def initialize(**args)
2853
+ update!(**args)
2854
+ end
2855
+
2856
+ # Update properties of this object
2857
+ def update!(**args)
2858
+ @compatibility_level = args[:compatibility_level] if args.key?(:compatibility_level)
2859
+ @recovery_model = args[:recovery_model] if args.key?(:recovery_model)
2860
+ end
2861
+ end
2862
+
2863
+ # Represents a Sql Server user on the Cloud SQL instance.
2864
+ class SqlServerUserDetails
2865
+ include Google::Apis::Core::Hashable
2866
+
2867
+ # If the user has been disabled
2868
+ # Corresponds to the JSON property `disabled`
2869
+ # @return [Boolean]
2870
+ attr_accessor :disabled
2871
+ alias_method :disabled?, :disabled
2872
+
2873
+ # The server roles for this user
2874
+ # Corresponds to the JSON property `serverRoles`
2875
+ # @return [Array<String>]
2876
+ attr_accessor :server_roles
2877
+
2878
+ def initialize(**args)
2879
+ update!(**args)
2880
+ end
2881
+
2882
+ # Update properties of this object
2883
+ def update!(**args)
2884
+ @disabled = args[:disabled] if args.key?(:disabled)
2885
+ @server_roles = args[:server_roles] if args.key?(:server_roles)
2886
+ end
2887
+ end
2888
+
1445
2889
  # SslCerts Resource
1446
2890
  class SslCert
1447
2891
  include Google::Apis::Core::Hashable
@@ -1483,6 +2927,11 @@ module Google
1483
2927
  # @return [String]
1484
2928
  attr_accessor :kind
1485
2929
 
2930
+ # The URI of this resource.
2931
+ # Corresponds to the JSON property `selfLink`
2932
+ # @return [String]
2933
+ attr_accessor :self_link
2934
+
1486
2935
  # Sha1 Fingerprint.
1487
2936
  # Corresponds to the JSON property `sha1Fingerprint`
1488
2937
  # @return [String]
@@ -1501,10 +2950,37 @@ module Google
1501
2950
  @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
1502
2951
  @instance = args[:instance] if args.key?(:instance)
1503
2952
  @kind = args[:kind] if args.key?(:kind)
2953
+ @self_link = args[:self_link] if args.key?(:self_link)
1504
2954
  @sha1_fingerprint = args[:sha1_fingerprint] if args.key?(:sha1_fingerprint)
1505
2955
  end
1506
2956
  end
1507
2957
 
2958
+ # SslCertDetail.
2959
+ class SslCertDetail
2960
+ include Google::Apis::Core::Hashable
2961
+
2962
+ # SslCerts Resource
2963
+ # Corresponds to the JSON property `certInfo`
2964
+ # @return [Google::Apis::SqladminV1::SslCert]
2965
+ attr_accessor :cert_info
2966
+
2967
+ # The private key for the client cert, in pem format. Keep private in order to
2968
+ # protect your security.
2969
+ # Corresponds to the JSON property `certPrivateKey`
2970
+ # @return [String]
2971
+ attr_accessor :cert_private_key
2972
+
2973
+ def initialize(**args)
2974
+ update!(**args)
2975
+ end
2976
+
2977
+ # Update properties of this object
2978
+ def update!(**args)
2979
+ @cert_info = args[:cert_info] if args.key?(:cert_info)
2980
+ @cert_private_key = args[:cert_private_key] if args.key?(:cert_private_key)
2981
+ end
2982
+ end
2983
+
1508
2984
  # SslCerts create ephemeral certificate request.
1509
2985
  class SslCertsCreateEphemeralRequest
1510
2986
  include Google::Apis::Core::Hashable
@@ -1529,6 +3005,292 @@ module Google
1529
3005
  @public_key = args[:public_key] if args.key?(:public_key)
1530
3006
  end
1531
3007
  end
3008
+
3009
+ # SslCerts insert request.
3010
+ class SslCertsInsertRequest
3011
+ include Google::Apis::Core::Hashable
3012
+
3013
+ # User supplied name. Must be a distinct name from the other certificates for
3014
+ # this instance.
3015
+ # Corresponds to the JSON property `commonName`
3016
+ # @return [String]
3017
+ attr_accessor :common_name
3018
+
3019
+ def initialize(**args)
3020
+ update!(**args)
3021
+ end
3022
+
3023
+ # Update properties of this object
3024
+ def update!(**args)
3025
+ @common_name = args[:common_name] if args.key?(:common_name)
3026
+ end
3027
+ end
3028
+
3029
+ # SslCert insert response.
3030
+ class SslCertsInsertResponse
3031
+ include Google::Apis::Core::Hashable
3032
+
3033
+ # SslCertDetail.
3034
+ # Corresponds to the JSON property `clientCert`
3035
+ # @return [Google::Apis::SqladminV1::SslCertDetail]
3036
+ attr_accessor :client_cert
3037
+
3038
+ # This is always *sql#sslCertsInsert*.
3039
+ # Corresponds to the JSON property `kind`
3040
+ # @return [String]
3041
+ attr_accessor :kind
3042
+
3043
+ # An Operation resource. For successful operations that return an Operation
3044
+ # resource, only the fields relevant to the operation are populated in the
3045
+ # resource.
3046
+ # Corresponds to the JSON property `operation`
3047
+ # @return [Google::Apis::SqladminV1::Operation]
3048
+ attr_accessor :operation
3049
+
3050
+ # SslCerts Resource
3051
+ # Corresponds to the JSON property `serverCaCert`
3052
+ # @return [Google::Apis::SqladminV1::SslCert]
3053
+ attr_accessor :server_ca_cert
3054
+
3055
+ def initialize(**args)
3056
+ update!(**args)
3057
+ end
3058
+
3059
+ # Update properties of this object
3060
+ def update!(**args)
3061
+ @client_cert = args[:client_cert] if args.key?(:client_cert)
3062
+ @kind = args[:kind] if args.key?(:kind)
3063
+ @operation = args[:operation] if args.key?(:operation)
3064
+ @server_ca_cert = args[:server_ca_cert] if args.key?(:server_ca_cert)
3065
+ end
3066
+ end
3067
+
3068
+ # SslCerts list response.
3069
+ class SslCertsListResponse
3070
+ include Google::Apis::Core::Hashable
3071
+
3072
+ # List of client certificates for the instance.
3073
+ # Corresponds to the JSON property `items`
3074
+ # @return [Array<Google::Apis::SqladminV1::SslCert>]
3075
+ attr_accessor :items
3076
+
3077
+ # This is always *sql#sslCertsList*.
3078
+ # Corresponds to the JSON property `kind`
3079
+ # @return [String]
3080
+ attr_accessor :kind
3081
+
3082
+ def initialize(**args)
3083
+ update!(**args)
3084
+ end
3085
+
3086
+ # Update properties of this object
3087
+ def update!(**args)
3088
+ @items = args[:items] if args.key?(:items)
3089
+ @kind = args[:kind] if args.key?(:kind)
3090
+ end
3091
+ end
3092
+
3093
+ # A Google Cloud SQL service tier resource.
3094
+ class Tier
3095
+ include Google::Apis::Core::Hashable
3096
+
3097
+ # The maximum disk size of this tier in bytes.
3098
+ # Corresponds to the JSON property `DiskQuota`
3099
+ # @return [Fixnum]
3100
+ attr_accessor :disk_quota
3101
+
3102
+ # The maximum RAM usage of this tier in bytes.
3103
+ # Corresponds to the JSON property `RAM`
3104
+ # @return [Fixnum]
3105
+ attr_accessor :ram
3106
+
3107
+ # This is always *sql#tier*.
3108
+ # Corresponds to the JSON property `kind`
3109
+ # @return [String]
3110
+ attr_accessor :kind
3111
+
3112
+ # The applicable regions for this tier.
3113
+ # Corresponds to the JSON property `region`
3114
+ # @return [Array<String>]
3115
+ attr_accessor :region
3116
+
3117
+ # An identifier for the machine type, for example, db-custom-1-3840. For related
3118
+ # information, see Pricing.
3119
+ # Corresponds to the JSON property `tier`
3120
+ # @return [String]
3121
+ attr_accessor :tier
3122
+
3123
+ def initialize(**args)
3124
+ update!(**args)
3125
+ end
3126
+
3127
+ # Update properties of this object
3128
+ def update!(**args)
3129
+ @disk_quota = args[:disk_quota] if args.key?(:disk_quota)
3130
+ @ram = args[:ram] if args.key?(:ram)
3131
+ @kind = args[:kind] if args.key?(:kind)
3132
+ @region = args[:region] if args.key?(:region)
3133
+ @tier = args[:tier] if args.key?(:tier)
3134
+ end
3135
+ end
3136
+
3137
+ # Tiers list response.
3138
+ class TiersListResponse
3139
+ include Google::Apis::Core::Hashable
3140
+
3141
+ # List of tiers.
3142
+ # Corresponds to the JSON property `items`
3143
+ # @return [Array<Google::Apis::SqladminV1::Tier>]
3144
+ attr_accessor :items
3145
+
3146
+ # This is always *sql#tiersList*.
3147
+ # Corresponds to the JSON property `kind`
3148
+ # @return [String]
3149
+ attr_accessor :kind
3150
+
3151
+ def initialize(**args)
3152
+ update!(**args)
3153
+ end
3154
+
3155
+ # Update properties of this object
3156
+ def update!(**args)
3157
+ @items = args[:items] if args.key?(:items)
3158
+ @kind = args[:kind] if args.key?(:kind)
3159
+ end
3160
+ end
3161
+
3162
+ # Database Instance truncate log context.
3163
+ class TruncateLogContext
3164
+ include Google::Apis::Core::Hashable
3165
+
3166
+ # This is always *sql#truncateLogContext*.
3167
+ # Corresponds to the JSON property `kind`
3168
+ # @return [String]
3169
+ attr_accessor :kind
3170
+
3171
+ # The type of log to truncate. Valid values are *MYSQL_GENERAL_TABLE* and *
3172
+ # MYSQL_SLOW_TABLE*.
3173
+ # Corresponds to the JSON property `logType`
3174
+ # @return [String]
3175
+ attr_accessor :log_type
3176
+
3177
+ def initialize(**args)
3178
+ update!(**args)
3179
+ end
3180
+
3181
+ # Update properties of this object
3182
+ def update!(**args)
3183
+ @kind = args[:kind] if args.key?(:kind)
3184
+ @log_type = args[:log_type] if args.key?(:log_type)
3185
+ end
3186
+ end
3187
+
3188
+ # A Cloud SQL user resource.
3189
+ class User
3190
+ include Google::Apis::Core::Hashable
3191
+
3192
+ # This field is deprecated and will be removed from a future version of the API.
3193
+ # Corresponds to the JSON property `etag`
3194
+ # @return [String]
3195
+ attr_accessor :etag
3196
+
3197
+ # The host name from which the user can connect. For *insert* operations, host
3198
+ # defaults to an empty string. For *update* operations, host is specified as
3199
+ # part of the request URL. The host name cannot be updated after insertion.
3200
+ # Corresponds to the JSON property `host`
3201
+ # @return [String]
3202
+ attr_accessor :host
3203
+
3204
+ # The name of the Cloud SQL instance. This does not include the project ID. Can
3205
+ # be omitted for *update* since it is already specified on the URL.
3206
+ # Corresponds to the JSON property `instance`
3207
+ # @return [String]
3208
+ attr_accessor :instance
3209
+
3210
+ # This is always *sql#user*.
3211
+ # Corresponds to the JSON property `kind`
3212
+ # @return [String]
3213
+ attr_accessor :kind
3214
+
3215
+ # The name of the user in the Cloud SQL instance. Can be omitted for *update*
3216
+ # since it is already specified in the URL.
3217
+ # Corresponds to the JSON property `name`
3218
+ # @return [String]
3219
+ attr_accessor :name
3220
+
3221
+ # The password for the user.
3222
+ # Corresponds to the JSON property `password`
3223
+ # @return [String]
3224
+ attr_accessor :password
3225
+
3226
+ # The project ID of the project containing the Cloud SQL database. The Google
3227
+ # apps domain is prefixed if applicable. Can be omitted for *update* since it is
3228
+ # already specified on the URL.
3229
+ # Corresponds to the JSON property `project`
3230
+ # @return [String]
3231
+ attr_accessor :project
3232
+
3233
+ # Represents a Sql Server user on the Cloud SQL instance.
3234
+ # Corresponds to the JSON property `sqlserverUserDetails`
3235
+ # @return [Google::Apis::SqladminV1::SqlServerUserDetails]
3236
+ attr_accessor :sqlserver_user_details
3237
+
3238
+ # The user type. It determines the method to authenticate the user during login.
3239
+ # The default is the database's built-in user type.
3240
+ # Corresponds to the JSON property `type`
3241
+ # @return [String]
3242
+ attr_accessor :type
3243
+
3244
+ def initialize(**args)
3245
+ update!(**args)
3246
+ end
3247
+
3248
+ # Update properties of this object
3249
+ def update!(**args)
3250
+ @etag = args[:etag] if args.key?(:etag)
3251
+ @host = args[:host] if args.key?(:host)
3252
+ @instance = args[:instance] if args.key?(:instance)
3253
+ @kind = args[:kind] if args.key?(:kind)
3254
+ @name = args[:name] if args.key?(:name)
3255
+ @password = args[:password] if args.key?(:password)
3256
+ @project = args[:project] if args.key?(:project)
3257
+ @sqlserver_user_details = args[:sqlserver_user_details] if args.key?(:sqlserver_user_details)
3258
+ @type = args[:type] if args.key?(:type)
3259
+ end
3260
+ end
3261
+
3262
+ # User list response.
3263
+ class UsersListResponse
3264
+ include Google::Apis::Core::Hashable
3265
+
3266
+ # List of user resources in the instance.
3267
+ # Corresponds to the JSON property `items`
3268
+ # @return [Array<Google::Apis::SqladminV1::User>]
3269
+ attr_accessor :items
3270
+
3271
+ # This is always *sql#usersList*.
3272
+ # Corresponds to the JSON property `kind`
3273
+ # @return [String]
3274
+ attr_accessor :kind
3275
+
3276
+ # An identifier that uniquely identifies the operation. You can use this
3277
+ # identifier to retrieve the Operations resource that has information about the
3278
+ # operation.
3279
+ # Corresponds to the JSON property `nextPageToken`
3280
+ # @return [String]
3281
+ attr_accessor :next_page_token
3282
+
3283
+ def initialize(**args)
3284
+ update!(**args)
3285
+ end
3286
+
3287
+ # Update properties of this object
3288
+ def update!(**args)
3289
+ @items = args[:items] if args.key?(:items)
3290
+ @kind = args[:kind] if args.key?(:kind)
3291
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3292
+ end
3293
+ end
1532
3294
  end
1533
3295
  end
1534
3296
  end