google-apis-sqladmin_v1 0.2.0 → 0.3.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.
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