google-apis-sqladmin_v1 0.2.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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,230 @@ 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](https://
247
+ # tools.ietf.org/html/rfc3339) format, 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](https://tools.ietf.
253
+ # org/html/rfc3339) format, for example **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
+ # https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.
291
+ # 094Z**.
292
+ # Corresponds to the JSON property `startTime`
293
+ # @return [String]
294
+ attr_accessor :start_time
295
+
296
+ # The status of this run.
297
+ # Corresponds to the JSON property `status`
298
+ # @return [String]
299
+ attr_accessor :status
300
+
301
+ # The type of this run; can be either "AUTOMATED" or "ON_DEMAND". This field
302
+ # defaults to "ON_DEMAND" and is ignored, when specified for insert requests.
303
+ # Corresponds to the JSON property `type`
304
+ # @return [String]
305
+ attr_accessor :type
306
+
307
+ # The start time of the backup window during which this the backup was attempted
308
+ # in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-
309
+ # 11-15T16:19:00.094Z**.
310
+ # Corresponds to the JSON property `windowStartTime`
311
+ # @return [String]
312
+ attr_accessor :window_start_time
313
+
314
+ def initialize(**args)
315
+ update!(**args)
316
+ end
317
+
318
+ # Update properties of this object
319
+ def update!(**args)
320
+ @backup_kind = args[:backup_kind] if args.key?(:backup_kind)
321
+ @description = args[:description] if args.key?(:description)
322
+ @disk_encryption_configuration = args[:disk_encryption_configuration] if args.key?(:disk_encryption_configuration)
323
+ @disk_encryption_status = args[:disk_encryption_status] if args.key?(:disk_encryption_status)
324
+ @end_time = args[:end_time] if args.key?(:end_time)
325
+ @enqueued_time = args[:enqueued_time] if args.key?(:enqueued_time)
326
+ @error = args[:error] if args.key?(:error)
327
+ @id = args[:id] if args.key?(:id)
328
+ @instance = args[:instance] if args.key?(:instance)
329
+ @kind = args[:kind] if args.key?(:kind)
330
+ @location = args[:location] if args.key?(:location)
331
+ @self_link = args[:self_link] if args.key?(:self_link)
332
+ @start_time = args[:start_time] if args.key?(:start_time)
333
+ @status = args[:status] if args.key?(:status)
334
+ @type = args[:type] if args.key?(:type)
335
+ @window_start_time = args[:window_start_time] if args.key?(:window_start_time)
336
+ end
337
+ end
338
+
339
+ # Backup run list results.
340
+ class BackupRunsListResponse
341
+ include Google::Apis::Core::Hashable
342
+
343
+ # A list of backup runs in reverse chronological order of the enqueued time.
344
+ # Corresponds to the JSON property `items`
345
+ # @return [Array<Google::Apis::SqladminV1::BackupRun>]
346
+ attr_accessor :items
347
+
348
+ # This is always *sql#backupRunsList*.
349
+ # Corresponds to the JSON property `kind`
350
+ # @return [String]
351
+ attr_accessor :kind
352
+
353
+ # The continuation token, used to page through large result sets. Provide this
354
+ # value in a subsequent request to return the next page of results.
355
+ # Corresponds to the JSON property `nextPageToken`
356
+ # @return [String]
357
+ attr_accessor :next_page_token
358
+
359
+ def initialize(**args)
360
+ update!(**args)
361
+ end
362
+
363
+ # Update properties of this object
364
+ def update!(**args)
365
+ @items = args[:items] if args.key?(:items)
366
+ @kind = args[:kind] if args.key?(:kind)
367
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
368
+ end
369
+ end
370
+
371
+ # Binary log coordinates.
372
+ class BinLogCoordinates
373
+ include Google::Apis::Core::Hashable
374
+
375
+ # Name of the binary log file for a Cloud SQL instance.
376
+ # Corresponds to the JSON property `binLogFileName`
377
+ # @return [String]
378
+ attr_accessor :bin_log_file_name
379
+
380
+ # Position (offset) within the binary log file.
381
+ # Corresponds to the JSON property `binLogPosition`
382
+ # @return [Fixnum]
383
+ attr_accessor :bin_log_position
384
+
385
+ # This is always *sql#binLogCoordinates*.
386
+ # Corresponds to the JSON property `kind`
387
+ # @return [String]
388
+ attr_accessor :kind
389
+
390
+ def initialize(**args)
391
+ update!(**args)
392
+ end
393
+
394
+ # Update properties of this object
395
+ def update!(**args)
396
+ @bin_log_file_name = args[:bin_log_file_name] if args.key?(:bin_log_file_name)
397
+ @bin_log_position = args[:bin_log_position] if args.key?(:bin_log_position)
398
+ @kind = args[:kind] if args.key?(:kind)
399
+ end
400
+ end
401
+
402
+ # Database instance clone context.
403
+ class CloneContext
404
+ include Google::Apis::Core::Hashable
405
+
406
+ # Binary log coordinates.
407
+ # Corresponds to the JSON property `binLogCoordinates`
408
+ # @return [Google::Apis::SqladminV1::BinLogCoordinates]
409
+ attr_accessor :bin_log_coordinates
410
+
411
+ # Name of the Cloud SQL instance to be created as a clone.
412
+ # Corresponds to the JSON property `destinationInstanceName`
413
+ # @return [String]
414
+ attr_accessor :destination_instance_name
415
+
416
+ # This is always *sql#cloneContext*.
417
+ # Corresponds to the JSON property `kind`
418
+ # @return [String]
419
+ attr_accessor :kind
420
+
421
+ # Reserved for future use.
422
+ # Corresponds to the JSON property `pitrTimestampMs`
423
+ # @return [Fixnum]
424
+ attr_accessor :pitr_timestamp_ms
425
+
426
+ # Timestamp, if specified, identifies the time to which the source instance is
427
+ # cloned.
428
+ # Corresponds to the JSON property `pointInTime`
429
+ # @return [String]
430
+ attr_accessor :point_in_time
431
+
432
+ def initialize(**args)
433
+ update!(**args)
434
+ end
435
+
436
+ # Update properties of this object
437
+ def update!(**args)
438
+ @bin_log_coordinates = args[:bin_log_coordinates] if args.key?(:bin_log_coordinates)
439
+ @destination_instance_name = args[:destination_instance_name] if args.key?(:destination_instance_name)
440
+ @kind = args[:kind] if args.key?(:kind)
441
+ @pitr_timestamp_ms = args[:pitr_timestamp_ms] if args.key?(:pitr_timestamp_ms)
442
+ @point_in_time = args[:point_in_time] if args.key?(:point_in_time)
443
+ end
444
+ end
445
+
197
446
  # Connect settings retrieval response.
198
447
  class ConnectSettings
199
448
  include Google::Apis::Core::Hashable
@@ -225,6 +474,12 @@ module Google
225
474
  # @return [String]
226
475
  attr_accessor :kind
227
476
 
477
+ # The cloud region for the instance. e.g. **us-central1**, **europe-west1**. The
478
+ # region cannot be changed after instance creation.
479
+ # Corresponds to the JSON property `region`
480
+ # @return [String]
481
+ attr_accessor :region
482
+
228
483
  # SslCerts Resource
229
484
  # Corresponds to the JSON property `serverCaCert`
230
485
  # @return [Google::Apis::SqladminV1::SslCert]
@@ -240,18 +495,88 @@ module Google
240
495
  @database_version = args[:database_version] if args.key?(:database_version)
241
496
  @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
242
497
  @kind = args[:kind] if args.key?(:kind)
498
+ @region = args[:region] if args.key?(:region)
243
499
  @server_ca_cert = args[:server_ca_cert] if args.key?(:server_ca_cert)
244
500
  end
245
501
  end
246
502
 
503
+ # Represents a SQL database on the Cloud SQL instance.
504
+ class Database
505
+ include Google::Apis::Core::Hashable
506
+
507
+ # The Cloud SQL charset value.
508
+ # Corresponds to the JSON property `charset`
509
+ # @return [String]
510
+ attr_accessor :charset
511
+
512
+ # The Cloud SQL collation value.
513
+ # Corresponds to the JSON property `collation`
514
+ # @return [String]
515
+ attr_accessor :collation
516
+
517
+ # This field is deprecated and will be removed from a future version of the API.
518
+ # Corresponds to the JSON property `etag`
519
+ # @return [String]
520
+ attr_accessor :etag
521
+
522
+ # The name of the Cloud SQL instance. This does not include the project ID.
523
+ # Corresponds to the JSON property `instance`
524
+ # @return [String]
525
+ attr_accessor :instance
526
+
527
+ # This is always **sql#database**.
528
+ # Corresponds to the JSON property `kind`
529
+ # @return [String]
530
+ attr_accessor :kind
531
+
532
+ # The name of the database in the Cloud SQL instance. This does not include the
533
+ # project ID or instance name.
534
+ # Corresponds to the JSON property `name`
535
+ # @return [String]
536
+ attr_accessor :name
537
+
538
+ # The project ID of the project containing the Cloud SQL database. The Google
539
+ # apps domain is prefixed if applicable.
540
+ # Corresponds to the JSON property `project`
541
+ # @return [String]
542
+ attr_accessor :project
543
+
544
+ # The URI of this resource.
545
+ # Corresponds to the JSON property `selfLink`
546
+ # @return [String]
547
+ attr_accessor :self_link
548
+
549
+ # Represents a Sql Server database on the Cloud SQL instance.
550
+ # Corresponds to the JSON property `sqlserverDatabaseDetails`
551
+ # @return [Google::Apis::SqladminV1::SqlServerDatabaseDetails]
552
+ attr_accessor :sqlserver_database_details
553
+
554
+ def initialize(**args)
555
+ update!(**args)
556
+ end
557
+
558
+ # Update properties of this object
559
+ def update!(**args)
560
+ @charset = args[:charset] if args.key?(:charset)
561
+ @collation = args[:collation] if args.key?(:collation)
562
+ @etag = args[:etag] if args.key?(:etag)
563
+ @instance = args[:instance] if args.key?(:instance)
564
+ @kind = args[:kind] if args.key?(:kind)
565
+ @name = args[:name] if args.key?(:name)
566
+ @project = args[:project] if args.key?(:project)
567
+ @self_link = args[:self_link] if args.key?(:self_link)
568
+ @sqlserver_database_details = args[:sqlserver_database_details] if args.key?(:sqlserver_database_details)
569
+ end
570
+ end
571
+
247
572
  # Database flags for Cloud SQL instances.
248
573
  class DatabaseFlags
249
574
  include Google::Apis::Core::Hashable
250
575
 
251
576
  # 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.
577
+ # both server options and system variables. Flags are specified with underscores,
578
+ # not hyphens. For more information, see [Configuring Database Flags](https://
579
+ # cloud.google.com/sql/docs/mysql/flags) in the Cloud SQL documentation.
255
580
  # Corresponds to the JSON property `name`
256
581
  # @return [String]
257
582
  attr_accessor :name
@@ -289,6 +614,12 @@ module Google
289
614
  # @return [String]
290
615
  attr_accessor :connection_name
291
616
 
617
+ # Output only. The time when the instance was created in [RFC 3339](https://
618
+ # tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
619
+ # Corresponds to the JSON property `createTime`
620
+ # @return [String]
621
+ attr_accessor :create_time
622
+
292
623
  # The current disk usage of the instance in bytes. This property has been
293
624
  # deprecated. Use the "cloudsql.googleapis.com/database/disk/bytes_used" metric
294
625
  # in Cloud Monitoring API instead. Please see this announcement for details.
@@ -299,9 +630,10 @@ module Google
299
630
  # The database engine type and version. The *databaseVersion* field cannot be
300
631
  # changed after instance creation. MySQL instances: *MYSQL_8_0*, *MYSQL_5_7* (
301
632
  # 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*.
633
+ # *POSTGRES_11*, *POSTGRES_12*, *POSTGRES_13* (default). SQL Server instances: *
634
+ # SQLSERVER_2019_STANDARD*, *SQLSERVER_2019_ENTERPRISE*, *SQLSERVER_2019_EXPRESS*
635
+ # , or *SQLSERVER_2019_WEB*, *SQLSERVER_2017_STANDARD* (default), *
636
+ # SQLSERVER_2017_ENTERPRISE*, *SQLSERVER_2017_EXPRESS*, or *SQLSERVER_2017_WEB*.
305
637
  # Corresponds to the JSON property `databaseVersion`
306
638
  # @return [String]
307
639
  attr_accessor :database_version
@@ -316,20 +648,13 @@ module Google
316
648
  # @return [Google::Apis::SqladminV1::DiskEncryptionStatus]
317
649
  attr_accessor :disk_encryption_status
318
650
 
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
651
  # This field is deprecated and will be removed from a future version of the API.
326
652
  # Use the *settings.settingsVersion* field instead.
327
653
  # Corresponds to the JSON property `etag`
328
654
  # @return [String]
329
655
  attr_accessor :etag
330
656
 
331
- # The name and status of the failover replica. This property is applicable only
332
- # to Second Generation instances.
657
+ # The name and status of the failover replica.
333
658
  # Corresponds to the JSON property `failoverReplica`
334
659
  # @return [Google::Apis::SqladminV1::DatabaseInstance::FailoverReplica]
335
660
  attr_accessor :failover_replica
@@ -341,12 +666,6 @@ module Google
341
666
  # @return [String]
342
667
  attr_accessor :gce_zone
343
668
 
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
669
  # The instance type. This can be one of the following. *CLOUD_SQL_INSTANCE*: A
351
670
  # Cloud SQL instance that is not replicating from a primary instance. *
352
671
  # ON_PREMISES_INSTANCE*: An instance running on the customer's premises. *
@@ -355,11 +674,6 @@ module Google
355
674
  # @return [String]
356
675
  attr_accessor :instance_type
357
676
 
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
677
  # The assigned IP addresses for the instance.
364
678
  # Corresponds to the JSON property `ipAddresses`
365
679
  # @return [Array<Google::Apis::SqladminV1::IpMapping>]
@@ -376,11 +690,6 @@ module Google
376
690
  # @return [String]
377
691
  attr_accessor :kind
378
692
 
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
693
  # The name of the instance which will act as primary in the replication setup.
385
694
  # Corresponds to the JSON property `masterInstanceName`
386
695
  # @return [String]
@@ -425,11 +734,6 @@ module Google
425
734
  # @return [Google::Apis::SqladminV1::ReplicaConfiguration]
426
735
  attr_accessor :replica_configuration
427
736
 
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
737
  # The replicas of the instance.
434
738
  # Corresponds to the JSON property `replicaNames`
435
739
  # @return [Array<String>]
@@ -504,21 +808,18 @@ module Google
504
808
  def update!(**args)
505
809
  @backend_type = args[:backend_type] if args.key?(:backend_type)
506
810
  @connection_name = args[:connection_name] if args.key?(:connection_name)
811
+ @create_time = args[:create_time] if args.key?(:create_time)
507
812
  @current_disk_size = args[:current_disk_size] if args.key?(:current_disk_size)
508
813
  @database_version = args[:database_version] if args.key?(:database_version)
509
814
  @disk_encryption_configuration = args[:disk_encryption_configuration] if args.key?(:disk_encryption_configuration)
510
815
  @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
816
  @etag = args[:etag] if args.key?(:etag)
513
817
  @failover_replica = args[:failover_replica] if args.key?(:failover_replica)
514
818
  @gce_zone = args[:gce_zone] if args.key?(:gce_zone)
515
- @installed_version = args[:installed_version] if args.key?(:installed_version)
516
819
  @instance_type = args[:instance_type] if args.key?(:instance_type)
517
- @instance_uid = args[:instance_uid] if args.key?(:instance_uid)
518
820
  @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
519
821
  @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
520
822
  @kind = args[:kind] if args.key?(:kind)
521
- @master_instance = args[:master_instance] if args.key?(:master_instance)
522
823
  @master_instance_name = args[:master_instance_name] if args.key?(:master_instance_name)
523
824
  @max_disk_size = args[:max_disk_size] if args.key?(:max_disk_size)
524
825
  @name = args[:name] if args.key?(:name)
@@ -527,7 +828,6 @@ module Google
527
828
  @project = args[:project] if args.key?(:project)
528
829
  @region = args[:region] if args.key?(:region)
529
830
  @replica_configuration = args[:replica_configuration] if args.key?(:replica_configuration)
530
- @replica_instances = args[:replica_instances] if args.key?(:replica_instances)
531
831
  @replica_names = args[:replica_names] if args.key?(:replica_names)
532
832
  @root_password = args[:root_password] if args.key?(:root_password)
533
833
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
@@ -541,8 +841,7 @@ module Google
541
841
  @suspension_reason = args[:suspension_reason] if args.key?(:suspension_reason)
542
842
  end
543
843
 
544
- # The name and status of the failover replica. This property is applicable only
545
- # to Second Generation instances.
844
+ # The name and status of the failover replica.
546
845
  class FailoverReplica
547
846
  include Google::Apis::Core::Hashable
548
847
 
@@ -554,14 +853,9 @@ module Google
554
853
  attr_accessor :available
555
854
  alias_method :available?, :available
556
855
 
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
856
  # The name of the failover replica. If specified at instance creation, a
563
857
  # 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.
858
+ # project ID.
565
859
  # Corresponds to the JSON property `name`
566
860
  # @return [String]
567
861
  attr_accessor :name
@@ -573,38 +867,24 @@ module Google
573
867
  # Update properties of this object
574
868
  def update!(**args)
575
869
  @available = args[:available] if args.key?(:available)
576
- @failover_instance = args[:failover_instance] if args.key?(:failover_instance)
577
870
  @name = args[:name] if args.key?(:name)
578
871
  end
579
872
  end
580
873
  end
581
874
 
582
- # Deny maintenance Periods. This specifies a date range during when all CSA
583
- # rollout will be denied.
584
- class DenyMaintenancePeriod
875
+ # Database list response.
876
+ class DatabasesListResponse
585
877
  include Google::Apis::Core::Hashable
586
878
 
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
879
+ # List of database resources in the instance.
880
+ # Corresponds to the JSON property `items`
881
+ # @return [Array<Google::Apis::SqladminV1::Database>]
882
+ attr_accessor :items
594
883
 
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`
884
+ # This is always *sql#databasesList*.
885
+ # Corresponds to the JSON property `kind`
600
886
  # @return [String]
601
- attr_accessor :start_date
602
-
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`
606
- # @return [String]
607
- attr_accessor :time
887
+ attr_accessor :kind
608
888
 
609
889
  def initialize(**args)
610
890
  update!(**args)
@@ -612,25 +892,24 @@ module Google
612
892
 
613
893
  # Update properties of this object
614
894
  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)
895
+ @items = args[:items] if args.key?(:items)
896
+ @kind = args[:kind] if args.key?(:kind)
618
897
  end
619
898
  end
620
899
 
621
- # Disk encryption configuration for an instance.
622
- class DiskEncryptionConfiguration
900
+ # Read-replica configuration for connecting to the on-premises primary instance.
901
+ class DemoteMasterConfiguration
623
902
  include Google::Apis::Core::Hashable
624
903
 
625
- # This is always **sql#diskEncryptionConfiguration**.
904
+ # This is always **sql#demoteMasterConfiguration**.
626
905
  # Corresponds to the JSON property `kind`
627
906
  # @return [String]
628
907
  attr_accessor :kind
629
908
 
630
- # Resource name of KMS key for disk encryption
631
- # Corresponds to the JSON property `kmsKeyName`
632
- # @return [String]
633
- attr_accessor :kms_key_name
909
+ # Read-replica configuration specific to MySQL databases.
910
+ # Corresponds to the JSON property `mysqlReplicaConfiguration`
911
+ # @return [Google::Apis::SqladminV1::DemoteMasterMySqlReplicaConfiguration]
912
+ attr_accessor :mysql_replica_configuration
634
913
 
635
914
  def initialize(**args)
636
915
  update!(**args)
@@ -639,23 +918,46 @@ module Google
639
918
  # Update properties of this object
640
919
  def update!(**args)
641
920
  @kind = args[:kind] if args.key?(:kind)
642
- @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
921
+ @mysql_replica_configuration = args[:mysql_replica_configuration] if args.key?(:mysql_replica_configuration)
643
922
  end
644
923
  end
645
924
 
646
- # Disk encryption status for an instance.
647
- class DiskEncryptionStatus
925
+ # Database instance demote primary instance context.
926
+ class DemoteMasterContext
648
927
  include Google::Apis::Core::Hashable
649
928
 
650
- # This is always **sql#diskEncryptionStatus**.
929
+ # This is always *sql#demoteMasterContext*.
651
930
  # Corresponds to the JSON property `kind`
652
931
  # @return [String]
653
932
  attr_accessor :kind
654
933
 
655
- # KMS key version used to encrypt the Cloud SQL instance resource
656
- # Corresponds to the JSON property `kmsKeyVersionName`
934
+ # The name of the instance which will act as on-premises primary instance in the
935
+ # replication setup.
936
+ # Corresponds to the JSON property `masterInstanceName`
657
937
  # @return [String]
658
- attr_accessor :kms_key_version_name
938
+ attr_accessor :master_instance_name
939
+
940
+ # Read-replica configuration for connecting to the on-premises primary instance.
941
+ # Corresponds to the JSON property `replicaConfiguration`
942
+ # @return [Google::Apis::SqladminV1::DemoteMasterConfiguration]
943
+ attr_accessor :replica_configuration
944
+
945
+ # Flag to skip replication setup on the instance.
946
+ # Corresponds to the JSON property `skipReplicationSetup`
947
+ # @return [Boolean]
948
+ attr_accessor :skip_replication_setup
949
+ alias_method :skip_replication_setup?, :skip_replication_setup
950
+
951
+ # Verify GTID consistency for demote operation. Default value: **True**. Setting
952
+ # this flag to false enables you to bypass GTID consistency check between on-
953
+ # premises primary instance and Cloud SQL instance during the demotion operation
954
+ # but also exposes you to the risk of future replication failures. Change the
955
+ # value only if you know the reason for the GTID divergence and are confident
956
+ # that doing so will not cause any replication issues.
957
+ # Corresponds to the JSON property `verifyGtidConsistency`
958
+ # @return [Boolean]
959
+ attr_accessor :verify_gtid_consistency
960
+ alias_method :verify_gtid_consistency?, :verify_gtid_consistency
659
961
 
660
962
  def initialize(**args)
661
963
  update!(**args)
@@ -664,49 +966,48 @@ module Google
664
966
  # Update properties of this object
665
967
  def update!(**args)
666
968
  @kind = args[:kind] if args.key?(:kind)
667
- @kms_key_version_name = args[:kms_key_version_name] if args.key?(:kms_key_version_name)
969
+ @master_instance_name = args[:master_instance_name] if args.key?(:master_instance_name)
970
+ @replica_configuration = args[:replica_configuration] if args.key?(:replica_configuration)
971
+ @skip_replication_setup = args[:skip_replication_setup] if args.key?(:skip_replication_setup)
972
+ @verify_gtid_consistency = args[:verify_gtid_consistency] if args.key?(:verify_gtid_consistency)
668
973
  end
669
974
  end
670
975
 
671
- # Ephemeral certificate creation request.
672
- class GenerateEphemeralCertRequest
976
+ # Read-replica configuration specific to MySQL databases.
977
+ class DemoteMasterMySqlReplicaConfiguration
673
978
  include Google::Apis::Core::Hashable
674
979
 
675
- # Optional. Access token to include in the signed certificate.
676
- # Corresponds to the JSON property `access_token`
980
+ # PEM representation of the trusted CA's x509 certificate.
981
+ # Corresponds to the JSON property `caCertificate`
677
982
  # @return [String]
678
- attr_accessor :access_token
983
+ attr_accessor :ca_certificate
679
984
 
680
- # PEM encoded public key to include in the signed certificate.
681
- # Corresponds to the JSON property `public_key`
985
+ # PEM representation of the replica's x509 certificate.
986
+ # Corresponds to the JSON property `clientCertificate`
682
987
  # @return [String]
683
- attr_accessor :public_key
988
+ attr_accessor :client_certificate
684
989
 
685
- # Optional. Optional snapshot read timestamp to trade freshness for performance.
686
- # Corresponds to the JSON property `readTime`
990
+ # PEM representation of the replica's private key. The corresponsing public key
991
+ # is encoded in the client's certificate. The format of the replica's private
992
+ # key can be either PKCS #1 or PKCS #8.
993
+ # Corresponds to the JSON property `clientKey`
687
994
  # @return [String]
688
- attr_accessor :read_time
689
-
690
- def initialize(**args)
691
- update!(**args)
692
- end
995
+ attr_accessor :client_key
693
996
 
694
- # Update properties of this object
695
- def update!(**args)
696
- @access_token = args[:access_token] if args.key?(:access_token)
697
- @public_key = args[:public_key] if args.key?(:public_key)
698
- @read_time = args[:read_time] if args.key?(:read_time)
699
- end
700
- end
997
+ # This is always **sql#demoteMasterMysqlReplicaConfiguration**.
998
+ # Corresponds to the JSON property `kind`
999
+ # @return [String]
1000
+ attr_accessor :kind
701
1001
 
702
- # Ephemeral certificate creation request.
703
- class GenerateEphemeralCertResponse
704
- include Google::Apis::Core::Hashable
1002
+ # The password for the replication connection.
1003
+ # Corresponds to the JSON property `password`
1004
+ # @return [String]
1005
+ attr_accessor :password
705
1006
 
706
- # SslCerts Resource
707
- # Corresponds to the JSON property `ephemeralCert`
708
- # @return [Google::Apis::SqladminV1::SslCert]
709
- attr_accessor :ephemeral_cert
1007
+ # The username for the replication connection.
1008
+ # Corresponds to the JSON property `username`
1009
+ # @return [String]
1010
+ attr_accessor :username
710
1011
 
711
1012
  def initialize(**args)
712
1013
  update!(**args)
@@ -714,46 +1015,41 @@ module Google
714
1015
 
715
1016
  # Update properties of this object
716
1017
  def update!(**args)
717
- @ephemeral_cert = args[:ephemeral_cert] if args.key?(:ephemeral_cert)
1018
+ @ca_certificate = args[:ca_certificate] if args.key?(:ca_certificate)
1019
+ @client_certificate = args[:client_certificate] if args.key?(:client_certificate)
1020
+ @client_key = args[:client_key] if args.key?(:client_key)
1021
+ @kind = args[:kind] if args.key?(:kind)
1022
+ @password = args[:password] if args.key?(:password)
1023
+ @username = args[:username] if args.key?(:username)
718
1024
  end
719
1025
  end
720
1026
 
721
- # Insights configuration. This specifies when Cloud SQL Insights feature is
722
- # enabled and optional configuration.
723
- class InsightsConfig
1027
+ # Deny maintenance Periods. This specifies a date range during when all CSA
1028
+ # rollout will be denied.
1029
+ class DenyMaintenancePeriod
724
1030
  include Google::Apis::Core::Hashable
725
1031
 
726
- # Whether Query Insights feature is enabled.
727
- # Corresponds to the JSON property `queryInsightsEnabled`
728
- # @return [Boolean]
729
- attr_accessor :query_insights_enabled
730
- alias_method :query_insights_enabled?, :query_insights_enabled
731
-
732
- # Number of query plans generated by Insights per minute. Default is 5. Changing
733
- # this will restart the database.
734
- # Corresponds to the JSON property `queryPlansPerMinute`
735
- # @return [Fixnum]
736
- attr_accessor :query_plans_per_minute
737
-
738
- # Maximum query length stored in bytes. Default value: 1024 bytes. Range: 256-
739
- # 4500 bytes. Query length more than this field value will be truncated to this
740
- # value. When unset, query length will be the default value. Changing query
741
- # length will restart the database.
742
- # Corresponds to the JSON property `queryStringLength`
743
- # @return [Fixnum]
744
- attr_accessor :query_string_length
1032
+ # "deny maintenance period" end date. If the year of the end date is empty, the
1033
+ # year of the start date also must be empty. In this case, it means the no
1034
+ # maintenance interval recurs every year. The date is in format yyyy-mm-dd i.e.,
1035
+ # 2020-11-01, or mm-dd, i.e., 11-01
1036
+ # Corresponds to the JSON property `endDate`
1037
+ # @return [String]
1038
+ attr_accessor :end_date
745
1039
 
746
- # Whether Query Insights will record application tags from query when enabled.
747
- # Corresponds to the JSON property `recordApplicationTags`
748
- # @return [Boolean]
749
- attr_accessor :record_application_tags
750
- alias_method :record_application_tags?, :record_application_tags
1040
+ # "deny maintenance period" start date. If the year of the start date is empty,
1041
+ # the year of the end date also must be empty. In this case, it means the deny
1042
+ # maintenance period recurs every year. The date is in format yyyy-mm-dd i.e.,
1043
+ # 2020-11-01, or mm-dd, i.e., 11-01
1044
+ # Corresponds to the JSON property `startDate`
1045
+ # @return [String]
1046
+ attr_accessor :start_date
751
1047
 
752
- # Whether Query Insights will record client address when enabled.
753
- # Corresponds to the JSON property `recordClientAddress`
754
- # @return [Boolean]
755
- attr_accessor :record_client_address
756
- alias_method :record_client_address?, :record_client_address
1048
+ # Time in UTC when the "deny maintenance period" starts on start_date and ends
1049
+ # on end_date. The time is in format: HH:mm:SS, i.e., 00:00:00
1050
+ # Corresponds to the JSON property `time`
1051
+ # @return [String]
1052
+ attr_accessor :time
757
1053
 
758
1054
  def initialize(**args)
759
1055
  update!(**args)
@@ -761,27 +1057,25 @@ module Google
761
1057
 
762
1058
  # Update properties of this object
763
1059
  def update!(**args)
764
- @query_insights_enabled = args[:query_insights_enabled] if args.key?(:query_insights_enabled)
765
- @query_plans_per_minute = args[:query_plans_per_minute] if args.key?(:query_plans_per_minute)
766
- @query_string_length = args[:query_string_length] if args.key?(:query_string_length)
767
- @record_application_tags = args[:record_application_tags] if args.key?(:record_application_tags)
768
- @record_client_address = args[:record_client_address] if args.key?(:record_client_address)
1060
+ @end_date = args[:end_date] if args.key?(:end_date)
1061
+ @start_date = args[:start_date] if args.key?(:start_date)
1062
+ @time = args[:time] if args.key?(:time)
769
1063
  end
770
1064
  end
771
1065
 
772
- # Reference to another Cloud SQL instance.
773
- class InstanceReference
1066
+ # Disk encryption configuration for an instance.
1067
+ class DiskEncryptionConfiguration
774
1068
  include Google::Apis::Core::Hashable
775
1069
 
776
- # The name of the Cloud SQL instance being referenced.
777
- # Corresponds to the JSON property `name`
1070
+ # This is always **sql#diskEncryptionConfiguration**.
1071
+ # Corresponds to the JSON property `kind`
778
1072
  # @return [String]
779
- attr_accessor :name
1073
+ attr_accessor :kind
780
1074
 
781
- # The region of the Cloud SQL instance being referenced.
782
- # Corresponds to the JSON property `region`
1075
+ # Resource name of KMS key for disk encryption
1076
+ # Corresponds to the JSON property `kmsKeyName`
783
1077
  # @return [String]
784
- attr_accessor :region
1078
+ attr_accessor :kms_key_name
785
1079
 
786
1080
  def initialize(**args)
787
1081
  update!(**args)
@@ -789,35 +1083,24 @@ module Google
789
1083
 
790
1084
  # Update properties of this object
791
1085
  def update!(**args)
792
- @name = args[:name] if args.key?(:name)
793
- @region = args[:region] if args.key?(:region)
1086
+ @kind = args[:kind] if args.key?(:kind)
1087
+ @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
794
1088
  end
795
1089
  end
796
1090
 
797
- # Database instances list response.
798
- class InstancesListResponse
1091
+ # Disk encryption status for an instance.
1092
+ class DiskEncryptionStatus
799
1093
  include Google::Apis::Core::Hashable
800
1094
 
801
- # List of database instance resources.
802
- # Corresponds to the JSON property `items`
803
- # @return [Array<Google::Apis::SqladminV1::DatabaseInstance>]
804
- attr_accessor :items
805
-
806
- # This is always *sql#instancesList*.
1095
+ # This is always **sql#diskEncryptionStatus**.
807
1096
  # Corresponds to the JSON property `kind`
808
1097
  # @return [String]
809
1098
  attr_accessor :kind
810
1099
 
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`
1100
+ # KMS key version used to encrypt the Cloud SQL instance resource
1101
+ # Corresponds to the JSON property `kmsKeyVersionName`
814
1102
  # @return [String]
815
- attr_accessor :next_page_token
816
-
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
1103
+ attr_accessor :kms_key_version_name
821
1104
 
822
1105
  def initialize(**args)
823
1106
  update!(**args)
@@ -825,43 +1108,63 @@ module Google
825
1108
 
826
1109
  # Update properties of this object
827
1110
  def update!(**args)
828
- @items = args[:items] if args.key?(:items)
829
1111
  @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)
1112
+ @kms_key_version_name = args[:kms_key_version_name] if args.key?(:kms_key_version_name)
832
1113
  end
833
1114
  end
834
1115
 
835
- # IP Management configuration.
836
- class IpConfiguration
1116
+ # Database instance export context.
1117
+ class ExportContext
837
1118
  include Google::Apis::Core::Hashable
838
1119
 
839
- # The list of external networks that are allowed to connect to the instance
840
- # using the IP. In 'CIDR' notation, also known as 'slash' notation (for example:
841
- # **192.168.100.0/24**).
842
- # Corresponds to the JSON property `authorizedNetworks`
843
- # @return [Array<Google::Apis::SqladminV1::AclEntry>]
844
- attr_accessor :authorized_networks
1120
+ # Options for exporting data as CSV. **MySQL** and **PostgreSQL** instances only.
1121
+ # Corresponds to the JSON property `csvExportOptions`
1122
+ # @return [Google::Apis::SqladminV1::ExportContext::CsvExportOptions]
1123
+ attr_accessor :csv_export_options
1124
+
1125
+ # Databases to be exported. * **MySQL instances:** If **fileType** is **SQL**
1126
+ # and no database is specified, all databases are exported, except for the **
1127
+ # mysql** system database. If **fileType** is **CSV**, you can specify one
1128
+ # database, either by using this property or by using the **csvExportOptions.
1129
+ # selectQuery** property, which takes precedence over this property. * **
1130
+ # PostgreSQL instances:** You must specify one database to be exported. If **
1131
+ # fileType** is **CSV**, this database must match the one specified in the **
1132
+ # csvExportOptions.selectQuery** property. * **SQL Server instances:** You must
1133
+ # specify one database to be exported, and the **fileType** must be **BAK**.
1134
+ # Corresponds to the JSON property `databases`
1135
+ # @return [Array<String>]
1136
+ attr_accessor :databases
845
1137
 
846
- # Whether the instance is assigned a public IP address or not.
847
- # Corresponds to the JSON property `ipv4Enabled`
848
- # @return [Boolean]
849
- attr_accessor :ipv4_enabled
850
- alias_method :ipv4_enabled?, :ipv4_enabled
1138
+ # The file type for the specified uri. * **SQL**: The file contains SQL
1139
+ # statements. * **CSV**: The file contains CSV data. * **BAK**: The file
1140
+ # contains backup data for a SQL Server instance.
1141
+ # Corresponds to the JSON property `fileType`
1142
+ # @return [String]
1143
+ attr_accessor :file_type
851
1144
 
852
- # The resource link for the VPC network from which the Cloud SQL instance is
853
- # accessible for private IP. For example, **/projects/myProject/global/networks/
854
- # default**. This setting can be updated, but it cannot be removed after it is
855
- # set.
856
- # Corresponds to the JSON property `privateNetwork`
1145
+ # This is always **sql#exportContext**.
1146
+ # Corresponds to the JSON property `kind`
857
1147
  # @return [String]
858
- attr_accessor :private_network
1148
+ attr_accessor :kind
859
1149
 
860
- # Whether SSL connections over IP are enforced or not.
861
- # Corresponds to the JSON property `requireSsl`
1150
+ # Option for export offload.
1151
+ # Corresponds to the JSON property `offload`
862
1152
  # @return [Boolean]
863
- attr_accessor :require_ssl
864
- alias_method :require_ssl?, :require_ssl
1153
+ attr_accessor :offload
1154
+ alias_method :offload?, :offload
1155
+
1156
+ # Options for exporting data as SQL statements.
1157
+ # Corresponds to the JSON property `sqlExportOptions`
1158
+ # @return [Google::Apis::SqladminV1::ExportContext::SqlExportOptions]
1159
+ attr_accessor :sql_export_options
1160
+
1161
+ # The path to the file in Google Cloud Storage where the export will be stored.
1162
+ # The URI is in the form **gs://bucketName/fileName**. If the file already
1163
+ # exists, the request succeeds, but the operation fails. If **fileType** is **
1164
+ # SQL** and the filename ends with .gz, the contents are compressed.
1165
+ # Corresponds to the JSON property `uri`
1166
+ # @return [String]
1167
+ attr_accessor :uri
865
1168
 
866
1169
  def initialize(**args)
867
1170
  update!(**args)
@@ -869,36 +1172,133 @@ module Google
869
1172
 
870
1173
  # Update properties of this object
871
1174
  def update!(**args)
872
- @authorized_networks = args[:authorized_networks] if args.key?(:authorized_networks)
873
- @ipv4_enabled = args[:ipv4_enabled] if args.key?(:ipv4_enabled)
874
- @private_network = args[:private_network] if args.key?(:private_network)
875
- @require_ssl = args[:require_ssl] if args.key?(:require_ssl)
1175
+ @csv_export_options = args[:csv_export_options] if args.key?(:csv_export_options)
1176
+ @databases = args[:databases] if args.key?(:databases)
1177
+ @file_type = args[:file_type] if args.key?(:file_type)
1178
+ @kind = args[:kind] if args.key?(:kind)
1179
+ @offload = args[:offload] if args.key?(:offload)
1180
+ @sql_export_options = args[:sql_export_options] if args.key?(:sql_export_options)
1181
+ @uri = args[:uri] if args.key?(:uri)
876
1182
  end
877
- end
878
-
879
- # Database instance IP Mapping.
880
- class IpMapping
881
- include Google::Apis::Core::Hashable
882
-
883
- # The IP address assigned.
884
- # Corresponds to the JSON property `ipAddress`
885
- # @return [String]
886
- attr_accessor :ip_address
887
-
888
- # The due time for this IP to be retired in [RFC 3339](https://tools.ietf.org/
889
- # html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**. This field is
890
- # only available when the IP is scheduled to be retired.
891
- # Corresponds to the JSON property `timeToRetire`
892
- # @return [String]
893
- attr_accessor :time_to_retire
894
-
895
- # The type of this IP address. A **PRIMARY** address is a public address that
896
- # can accept incoming connections. A **PRIVATE** address is a private address
897
- # that can accept incoming connections. An **OUTGOING** address is the source
898
- # address of connections originating from the instance, if supported.
899
- # Corresponds to the JSON property `type`
1183
+
1184
+ # Options for exporting data as CSV. **MySQL** and **PostgreSQL** instances only.
1185
+ class CsvExportOptions
1186
+ include Google::Apis::Core::Hashable
1187
+
1188
+ # Specifies the character that should appear before a data character that needs
1189
+ # to be escaped.
1190
+ # Corresponds to the JSON property `escapeCharacter`
1191
+ # @return [String]
1192
+ attr_accessor :escape_character
1193
+
1194
+ # Specifies the character that separates columns within each row (line) of the
1195
+ # file.
1196
+ # Corresponds to the JSON property `fieldsTerminatedBy`
1197
+ # @return [String]
1198
+ attr_accessor :fields_terminated_by
1199
+
1200
+ # This is used to separate lines. If a line does not contain all fields, the
1201
+ # rest of the columns are set to their default values.
1202
+ # Corresponds to the JSON property `linesTerminatedBy`
1203
+ # @return [String]
1204
+ attr_accessor :lines_terminated_by
1205
+
1206
+ # Specifies the quoting character to be used when a data value is quoted.
1207
+ # Corresponds to the JSON property `quoteCharacter`
1208
+ # @return [String]
1209
+ attr_accessor :quote_character
1210
+
1211
+ # The select query used to extract the data.
1212
+ # Corresponds to the JSON property `selectQuery`
1213
+ # @return [String]
1214
+ attr_accessor :select_query
1215
+
1216
+ def initialize(**args)
1217
+ update!(**args)
1218
+ end
1219
+
1220
+ # Update properties of this object
1221
+ def update!(**args)
1222
+ @escape_character = args[:escape_character] if args.key?(:escape_character)
1223
+ @fields_terminated_by = args[:fields_terminated_by] if args.key?(:fields_terminated_by)
1224
+ @lines_terminated_by = args[:lines_terminated_by] if args.key?(:lines_terminated_by)
1225
+ @quote_character = args[:quote_character] if args.key?(:quote_character)
1226
+ @select_query = args[:select_query] if args.key?(:select_query)
1227
+ end
1228
+ end
1229
+
1230
+ # Options for exporting data as SQL statements.
1231
+ class SqlExportOptions
1232
+ include Google::Apis::Core::Hashable
1233
+
1234
+ # Options for exporting from MySQL.
1235
+ # Corresponds to the JSON property `mysqlExportOptions`
1236
+ # @return [Google::Apis::SqladminV1::ExportContext::SqlExportOptions::MysqlExportOptions]
1237
+ attr_accessor :mysql_export_options
1238
+
1239
+ # Export only schemas.
1240
+ # Corresponds to the JSON property `schemaOnly`
1241
+ # @return [Boolean]
1242
+ attr_accessor :schema_only
1243
+ alias_method :schema_only?, :schema_only
1244
+
1245
+ # Tables to export, or that were exported, from the specified database. If you
1246
+ # specify tables, specify one and only one database. For PostgreSQL instances,
1247
+ # you can specify only one table.
1248
+ # Corresponds to the JSON property `tables`
1249
+ # @return [Array<String>]
1250
+ attr_accessor :tables
1251
+
1252
+ def initialize(**args)
1253
+ update!(**args)
1254
+ end
1255
+
1256
+ # Update properties of this object
1257
+ def update!(**args)
1258
+ @mysql_export_options = args[:mysql_export_options] if args.key?(:mysql_export_options)
1259
+ @schema_only = args[:schema_only] if args.key?(:schema_only)
1260
+ @tables = args[:tables] if args.key?(:tables)
1261
+ end
1262
+
1263
+ # Options for exporting from MySQL.
1264
+ class MysqlExportOptions
1265
+ include Google::Apis::Core::Hashable
1266
+
1267
+ # Option to include SQL statement required to set up replication. * If set to **
1268
+ # 1**, the dump file includes a CHANGE MASTER TO statement with the binary log
1269
+ # coordinates, and --set-gtid-purged is set to ON. * If set to **2**, the CHANGE
1270
+ # MASTER TO statement is written as a SQL comment and has no effect. * If set to
1271
+ # any value other than **1**, --set-gtid-purged is set to OFF.
1272
+ # Corresponds to the JSON property `masterData`
1273
+ # @return [Fixnum]
1274
+ attr_accessor :master_data
1275
+
1276
+ def initialize(**args)
1277
+ update!(**args)
1278
+ end
1279
+
1280
+ # Update properties of this object
1281
+ def update!(**args)
1282
+ @master_data = args[:master_data] if args.key?(:master_data)
1283
+ end
1284
+ end
1285
+ end
1286
+ end
1287
+
1288
+ # Database instance failover context.
1289
+ class FailoverContext
1290
+ include Google::Apis::Core::Hashable
1291
+
1292
+ # This is always *sql#failoverContext*.
1293
+ # Corresponds to the JSON property `kind`
900
1294
  # @return [String]
901
- attr_accessor :type
1295
+ attr_accessor :kind
1296
+
1297
+ # The current settings version of this instance. Request will be rejected if
1298
+ # this version doesn't match the current settings version.
1299
+ # Corresponds to the JSON property `settingsVersion`
1300
+ # @return [Fixnum]
1301
+ attr_accessor :settings_version
902
1302
 
903
1303
  def initialize(**args)
904
1304
  update!(**args)
@@ -906,34 +1306,72 @@ module Google
906
1306
 
907
1307
  # Update properties of this object
908
1308
  def update!(**args)
909
- @ip_address = args[:ip_address] if args.key?(:ip_address)
910
- @time_to_retire = args[:time_to_retire] if args.key?(:time_to_retire)
911
- @type = args[:type] if args.key?(:type)
1309
+ @kind = args[:kind] if args.key?(:kind)
1310
+ @settings_version = args[:settings_version] if args.key?(:settings_version)
912
1311
  end
913
1312
  end
914
1313
 
915
- # Preferred location. This specifies where a Cloud SQL instance is located. Note
916
- # that if the preferred location is not available, the instance will be located
917
- # as close as possible within the region. Only one location may be specified.
918
- class LocationPreference
1314
+ # A flag resource.
1315
+ class Flag
919
1316
  include Google::Apis::Core::Hashable
920
1317
 
921
- # This is always **sql#locationPreference**.
1318
+ # Use this field if only certain integers are accepted. Can be combined with
1319
+ # min_value and max_value to add additional values.
1320
+ # Corresponds to the JSON property `allowedIntValues`
1321
+ # @return [Array<Fixnum>]
1322
+ attr_accessor :allowed_int_values
1323
+
1324
+ # For **STRING** flags, a list of strings that the value can be set to.
1325
+ # Corresponds to the JSON property `allowedStringValues`
1326
+ # @return [Array<String>]
1327
+ attr_accessor :allowed_string_values
1328
+
1329
+ # The database version this flag applies to. Can be **MYSQL_8_0**, **MYSQL_5_6**,
1330
+ # or **MYSQL_5_7**.
1331
+ # Corresponds to the JSON property `appliesTo`
1332
+ # @return [Array<String>]
1333
+ attr_accessor :applies_to
1334
+
1335
+ # Whether or not the flag is considered in beta.
1336
+ # Corresponds to the JSON property `inBeta`
1337
+ # @return [Boolean]
1338
+ attr_accessor :in_beta
1339
+ alias_method :in_beta?, :in_beta
1340
+
1341
+ # This is always **sql#flag**.
922
1342
  # Corresponds to the JSON property `kind`
923
1343
  # @return [String]
924
1344
  attr_accessor :kind
925
1345
 
926
- # The preferred Compute Engine zone for the secondary/failover (for example: us-
927
- # central1-a, us-central1-b, etc.). Reserved for future use.
928
- # Corresponds to the JSON property `secondaryZone`
1346
+ # For **INTEGER** flags, the maximum allowed value.
1347
+ # Corresponds to the JSON property `maxValue`
1348
+ # @return [Fixnum]
1349
+ attr_accessor :max_value
1350
+
1351
+ # For **INTEGER** flags, the minimum allowed value.
1352
+ # Corresponds to the JSON property `minValue`
1353
+ # @return [Fixnum]
1354
+ attr_accessor :min_value
1355
+
1356
+ # This is the name of the flag. Flag names always use underscores, not hyphens,
1357
+ # for example: **max_allowed_packet**
1358
+ # Corresponds to the JSON property `name`
929
1359
  # @return [String]
930
- attr_accessor :secondary_zone
1360
+ attr_accessor :name
931
1361
 
932
- # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b,
933
- # etc.).
934
- # Corresponds to the JSON property `zone`
1362
+ # Indicates whether changing this flag will trigger a database restart. Only
1363
+ # applicable to Second Generation instances.
1364
+ # Corresponds to the JSON property `requiresRestart`
1365
+ # @return [Boolean]
1366
+ attr_accessor :requires_restart
1367
+ alias_method :requires_restart?, :requires_restart
1368
+
1369
+ # The type of the flag. Flags are typed to being **BOOLEAN**, **STRING**, **
1370
+ # INTEGER** or **NONE**. **NONE** is used for flags which do not take a value,
1371
+ # such as **skip_grant_tables**.
1372
+ # Corresponds to the JSON property `type`
935
1373
  # @return [String]
936
- attr_accessor :zone
1374
+ attr_accessor :type
937
1375
 
938
1376
  def initialize(**args)
939
1377
  update!(**args)
@@ -941,117 +1379,83 @@ module Google
941
1379
 
942
1380
  # Update properties of this object
943
1381
  def update!(**args)
1382
+ @allowed_int_values = args[:allowed_int_values] if args.key?(:allowed_int_values)
1383
+ @allowed_string_values = args[:allowed_string_values] if args.key?(:allowed_string_values)
1384
+ @applies_to = args[:applies_to] if args.key?(:applies_to)
1385
+ @in_beta = args[:in_beta] if args.key?(:in_beta)
944
1386
  @kind = args[:kind] if args.key?(:kind)
945
- @secondary_zone = args[:secondary_zone] if args.key?(:secondary_zone)
946
- @zone = args[:zone] if args.key?(:zone)
1387
+ @max_value = args[:max_value] if args.key?(:max_value)
1388
+ @min_value = args[:min_value] if args.key?(:min_value)
1389
+ @name = args[:name] if args.key?(:name)
1390
+ @requires_restart = args[:requires_restart] if args.key?(:requires_restart)
1391
+ @type = args[:type] if args.key?(:type)
947
1392
  end
948
1393
  end
949
1394
 
950
- # Maintenance window. This specifies when a Cloud SQL instance is restarted for
951
- # system maintenance purposes.
952
- class MaintenanceWindow
1395
+ # Flags list response.
1396
+ class FlagsListResponse
953
1397
  include Google::Apis::Core::Hashable
954
1398
 
955
- # day of week (1-7), starting on Monday.
956
- # Corresponds to the JSON property `day`
957
- # @return [Fixnum]
958
- attr_accessor :day
959
-
960
- # hour of day - 0 to 23.
961
- # Corresponds to the JSON property `hour`
962
- # @return [Fixnum]
963
- attr_accessor :hour
1399
+ # List of flags.
1400
+ # Corresponds to the JSON property `items`
1401
+ # @return [Array<Google::Apis::SqladminV1::Flag>]
1402
+ attr_accessor :items
964
1403
 
965
- # This is always **sql#maintenanceWindow**.
1404
+ # This is always **sql#flagsList**.
966
1405
  # Corresponds to the JSON property `kind`
967
1406
  # @return [String]
968
1407
  attr_accessor :kind
969
1408
 
970
- # 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).
973
- # Corresponds to the JSON property `updateTrack`
974
- # @return [String]
975
- attr_accessor :update_track
976
-
977
1409
  def initialize(**args)
978
1410
  update!(**args)
979
1411
  end
980
1412
 
981
1413
  # Update properties of this object
982
1414
  def update!(**args)
983
- @day = args[:day] if args.key?(:day)
984
- @hour = args[:hour] if args.key?(:hour)
1415
+ @items = args[:items] if args.key?(:items)
985
1416
  @kind = args[:kind] if args.key?(:kind)
986
- @update_track = args[:update_track] if args.key?(:update_track)
987
1417
  end
988
1418
  end
989
1419
 
990
- # Read-replica configuration specific to MySQL databases.
991
- class MySqlReplicaConfiguration
1420
+ # Ephemeral certificate creation request.
1421
+ class GenerateEphemeralCertRequest
992
1422
  include Google::Apis::Core::Hashable
993
1423
 
994
- # PEM representation of the trusted CA's x509 certificate.
995
- # Corresponds to the JSON property `caCertificate`
996
- # @return [String]
997
- attr_accessor :ca_certificate
998
-
999
- # PEM representation of the replica's x509 certificate.
1000
- # Corresponds to the JSON property `clientCertificate`
1001
- # @return [String]
1002
- attr_accessor :client_certificate
1003
-
1004
- # PEM representation of the replica's private key. The corresponsing public key
1005
- # is encoded in the client's certificate.
1006
- # Corresponds to the JSON property `clientKey`
1424
+ # Optional. Access token to include in the signed certificate.
1425
+ # Corresponds to the JSON property `access_token`
1007
1426
  # @return [String]
1008
- attr_accessor :client_key
1009
-
1010
- # Seconds to wait between connect retries. MySQL's default is 60 seconds.
1011
- # Corresponds to the JSON property `connectRetryInterval`
1012
- # @return [Fixnum]
1013
- attr_accessor :connect_retry_interval
1427
+ attr_accessor :access_token
1014
1428
 
1015
- # Path to a SQL dump file in Google Cloud Storage from which the replica
1016
- # instance is to be created. The URI is in the form gs://bucketName/fileName.
1017
- # Compressed gzip files (.gz) are also supported. Dumps have the binlog co-
1018
- # ordinates from which replication begins. This can be accomplished by setting --
1019
- # master-data to 1 when using mysqldump.
1020
- # Corresponds to the JSON property `dumpFilePath`
1429
+ # PEM encoded public key to include in the signed certificate.
1430
+ # Corresponds to the JSON property `public_key`
1021
1431
  # @return [String]
1022
- attr_accessor :dump_file_path
1432
+ attr_accessor :public_key
1023
1433
 
1024
- # This is always **sql#mysqlReplicaConfiguration**.
1025
- # Corresponds to the JSON property `kind`
1434
+ # Optional. Optional snapshot read timestamp to trade freshness for performance.
1435
+ # Corresponds to the JSON property `readTime`
1026
1436
  # @return [String]
1027
- attr_accessor :kind
1028
-
1029
- # Interval in milliseconds between replication heartbeats.
1030
- # Corresponds to the JSON property `masterHeartbeatPeriod`
1031
- # @return [Fixnum]
1032
- attr_accessor :master_heartbeat_period
1437
+ attr_accessor :read_time
1033
1438
 
1034
- # The password for the replication connection.
1035
- # Corresponds to the JSON property `password`
1036
- # @return [String]
1037
- attr_accessor :password
1439
+ def initialize(**args)
1440
+ update!(**args)
1441
+ end
1038
1442
 
1039
- # A list of permissible ciphers to use for SSL encryption.
1040
- # Corresponds to the JSON property `sslCipher`
1041
- # @return [String]
1042
- attr_accessor :ssl_cipher
1443
+ # Update properties of this object
1444
+ def update!(**args)
1445
+ @access_token = args[:access_token] if args.key?(:access_token)
1446
+ @public_key = args[:public_key] if args.key?(:public_key)
1447
+ @read_time = args[:read_time] if args.key?(:read_time)
1448
+ end
1449
+ end
1043
1450
 
1044
- # The username for the replication connection.
1045
- # Corresponds to the JSON property `username`
1046
- # @return [String]
1047
- attr_accessor :username
1451
+ # Ephemeral certificate creation request.
1452
+ class GenerateEphemeralCertResponse
1453
+ include Google::Apis::Core::Hashable
1048
1454
 
1049
- # Whether or not to check the primary instance's Common Name value in the
1050
- # certificate that it sends during the SSL handshake.
1051
- # Corresponds to the JSON property `verifyServerCertificate`
1052
- # @return [Boolean]
1053
- attr_accessor :verify_server_certificate
1054
- alias_method :verify_server_certificate?, :verify_server_certificate
1455
+ # SslCerts Resource
1456
+ # Corresponds to the JSON property `ephemeralCert`
1457
+ # @return [Google::Apis::SqladminV1::SslCert]
1458
+ attr_accessor :ephemeral_cert
1055
1459
 
1056
1460
  def initialize(**args)
1057
1461
  update!(**args)
@@ -1059,64 +1463,55 @@ module Google
1059
1463
 
1060
1464
  # Update properties of this object
1061
1465
  def update!(**args)
1062
- @ca_certificate = args[:ca_certificate] if args.key?(:ca_certificate)
1063
- @client_certificate = args[:client_certificate] if args.key?(:client_certificate)
1064
- @client_key = args[:client_key] if args.key?(:client_key)
1065
- @connect_retry_interval = args[:connect_retry_interval] if args.key?(:connect_retry_interval)
1066
- @dump_file_path = args[:dump_file_path] if args.key?(:dump_file_path)
1067
- @kind = args[:kind] if args.key?(:kind)
1068
- @master_heartbeat_period = args[:master_heartbeat_period] if args.key?(:master_heartbeat_period)
1069
- @password = args[:password] if args.key?(:password)
1070
- @ssl_cipher = args[:ssl_cipher] if args.key?(:ssl_cipher)
1071
- @username = args[:username] if args.key?(:username)
1072
- @verify_server_certificate = args[:verify_server_certificate] if args.key?(:verify_server_certificate)
1466
+ @ephemeral_cert = args[:ephemeral_cert] if args.key?(:ephemeral_cert)
1073
1467
  end
1074
1468
  end
1075
1469
 
1076
- # On-premises instance configuration.
1077
- class OnPremisesConfiguration
1470
+ # Database instance import context.
1471
+ class ImportContext
1078
1472
  include Google::Apis::Core::Hashable
1079
1473
 
1080
- # PEM representation of the trusted CA's x509 certificate.
1081
- # Corresponds to the JSON property `caCertificate`
1082
- # @return [String]
1083
- attr_accessor :ca_certificate
1474
+ # Import parameters specific to SQL Server .BAK files
1475
+ # Corresponds to the JSON property `bakImportOptions`
1476
+ # @return [Google::Apis::SqladminV1::ImportContext::BakImportOptions]
1477
+ attr_accessor :bak_import_options
1084
1478
 
1085
- # PEM representation of the replica's x509 certificate.
1086
- # Corresponds to the JSON property `clientCertificate`
1087
- # @return [String]
1088
- attr_accessor :client_certificate
1479
+ # Options for importing data as CSV.
1480
+ # Corresponds to the JSON property `csvImportOptions`
1481
+ # @return [Google::Apis::SqladminV1::ImportContext::CsvImportOptions]
1482
+ attr_accessor :csv_import_options
1089
1483
 
1090
- # PEM representation of the replica's private key. The corresponsing public key
1091
- # is encoded in the client's certificate.
1092
- # Corresponds to the JSON property `clientKey`
1484
+ # The target database for the import. If **fileType** is **SQL**, this field is
1485
+ # required only if the import file does not specify a database, and is
1486
+ # overridden by any database specification in the import file. If **fileType**
1487
+ # is **CSV**, one database must be specified.
1488
+ # Corresponds to the JSON property `database`
1093
1489
  # @return [String]
1094
- attr_accessor :client_key
1490
+ attr_accessor :database
1095
1491
 
1096
- # The dump file to create the Cloud SQL replica.
1097
- # Corresponds to the JSON property `dumpFilePath`
1492
+ # The file type for the specified uri. **SQL**: The file contains SQL statements.
1493
+ # **CSV**: The file contains CSV data.
1494
+ # Corresponds to the JSON property `fileType`
1098
1495
  # @return [String]
1099
- attr_accessor :dump_file_path
1496
+ attr_accessor :file_type
1100
1497
 
1101
- # The host and port of the on-premises instance in host:port format
1102
- # Corresponds to the JSON property `hostPort`
1498
+ # The PostgreSQL user for this import operation. PostgreSQL instances only.
1499
+ # Corresponds to the JSON property `importUser`
1103
1500
  # @return [String]
1104
- attr_accessor :host_port
1501
+ attr_accessor :import_user
1105
1502
 
1106
- # This is always *sql#onPremisesConfiguration*.
1503
+ # This is always **sql#importContext**.
1107
1504
  # Corresponds to the JSON property `kind`
1108
1505
  # @return [String]
1109
1506
  attr_accessor :kind
1110
1507
 
1111
- # The password for connecting to on-premises instance.
1112
- # Corresponds to the JSON property `password`
1113
- # @return [String]
1114
- attr_accessor :password
1115
-
1116
- # The username for connecting to on-premises instance.
1117
- # Corresponds to the JSON property `username`
1508
+ # Path to the import file in Cloud Storage, in the form **gs://bucketName/
1509
+ # fileName**. Compressed gzip files (.gz) are supported when **fileType** is **
1510
+ # SQL**. The instance must have write permissions to the bucket and read access
1511
+ # to the file.
1512
+ # Corresponds to the JSON property `uri`
1118
1513
  # @return [String]
1119
- attr_accessor :username
1514
+ attr_accessor :uri
1120
1515
 
1121
1516
  def initialize(**args)
1122
1517
  update!(**args)
@@ -1124,40 +1519,1467 @@ module Google
1124
1519
 
1125
1520
  # Update properties of this object
1126
1521
  def update!(**args)
1127
- @ca_certificate = args[:ca_certificate] if args.key?(:ca_certificate)
1128
- @client_certificate = args[:client_certificate] if args.key?(:client_certificate)
1129
- @client_key = args[:client_key] if args.key?(:client_key)
1130
- @dump_file_path = args[:dump_file_path] if args.key?(:dump_file_path)
1131
- @host_port = args[:host_port] if args.key?(:host_port)
1522
+ @bak_import_options = args[:bak_import_options] if args.key?(:bak_import_options)
1523
+ @csv_import_options = args[:csv_import_options] if args.key?(:csv_import_options)
1524
+ @database = args[:database] if args.key?(:database)
1525
+ @file_type = args[:file_type] if args.key?(:file_type)
1526
+ @import_user = args[:import_user] if args.key?(:import_user)
1132
1527
  @kind = args[:kind] if args.key?(:kind)
1133
- @password = args[:password] if args.key?(:password)
1134
- @username = args[:username] if args.key?(:username)
1528
+ @uri = args[:uri] if args.key?(:uri)
1135
1529
  end
1136
- end
1137
-
1138
- # Read-replica configuration for connecting to the primary instance.
1139
- class ReplicaConfiguration
1140
- include Google::Apis::Core::Hashable
1141
-
1142
- # Specifies if the replica is the failover target. If the field is set to *true*
1143
- # the replica will be designated as a failover replica. In case the primary
1144
- # instance fails, the replica instance will be promoted as the new primary
1145
- # instance. Only one replica can be specified as failover target, and the
1146
- # replica has to be in different zone with the primary instance.
1147
- # Corresponds to the JSON property `failoverTarget`
1148
- # @return [Boolean]
1149
- attr_accessor :failover_target
1150
- alias_method :failover_target?, :failover_target
1530
+
1531
+ # Import parameters specific to SQL Server .BAK files
1532
+ class BakImportOptions
1533
+ include Google::Apis::Core::Hashable
1534
+
1535
+ #
1536
+ # Corresponds to the JSON property `encryptionOptions`
1537
+ # @return [Google::Apis::SqladminV1::ImportContext::BakImportOptions::EncryptionOptions]
1538
+ attr_accessor :encryption_options
1539
+
1540
+ def initialize(**args)
1541
+ update!(**args)
1542
+ end
1543
+
1544
+ # Update properties of this object
1545
+ def update!(**args)
1546
+ @encryption_options = args[:encryption_options] if args.key?(:encryption_options)
1547
+ end
1548
+
1549
+ #
1550
+ class EncryptionOptions
1551
+ include Google::Apis::Core::Hashable
1552
+
1553
+ # Path to the Certificate (.cer) in Cloud Storage, in the form **gs://bucketName/
1554
+ # fileName**. The instance must have write permissions to the bucket and read
1555
+ # access to the file.
1556
+ # Corresponds to the JSON property `certPath`
1557
+ # @return [String]
1558
+ attr_accessor :cert_path
1559
+
1560
+ # Password that encrypts the private key
1561
+ # Corresponds to the JSON property `pvkPassword`
1562
+ # @return [String]
1563
+ attr_accessor :pvk_password
1564
+
1565
+ # Path to the Certificate Private Key (.pvk) in Cloud Storage, in the form **gs:/
1566
+ # /bucketName/fileName**. The instance must have write permissions to the bucket
1567
+ # and read access to the file.
1568
+ # Corresponds to the JSON property `pvkPath`
1569
+ # @return [String]
1570
+ attr_accessor :pvk_path
1571
+
1572
+ def initialize(**args)
1573
+ update!(**args)
1574
+ end
1575
+
1576
+ # Update properties of this object
1577
+ def update!(**args)
1578
+ @cert_path = args[:cert_path] if args.key?(:cert_path)
1579
+ @pvk_password = args[:pvk_password] if args.key?(:pvk_password)
1580
+ @pvk_path = args[:pvk_path] if args.key?(:pvk_path)
1581
+ end
1582
+ end
1583
+ end
1584
+
1585
+ # Options for importing data as CSV.
1586
+ class CsvImportOptions
1587
+ include Google::Apis::Core::Hashable
1588
+
1589
+ # The columns to which CSV data is imported. If not specified, all columns of
1590
+ # the database table are loaded with CSV data.
1591
+ # Corresponds to the JSON property `columns`
1592
+ # @return [Array<String>]
1593
+ attr_accessor :columns
1594
+
1595
+ # Specifies the character that should appear before a data character that needs
1596
+ # to be escaped.
1597
+ # Corresponds to the JSON property `escapeCharacter`
1598
+ # @return [String]
1599
+ attr_accessor :escape_character
1600
+
1601
+ # Specifies the character that separates columns within each row (line) of the
1602
+ # file.
1603
+ # Corresponds to the JSON property `fieldsTerminatedBy`
1604
+ # @return [String]
1605
+ attr_accessor :fields_terminated_by
1606
+
1607
+ # This is used to separate lines. If a line does not contain all fields, the
1608
+ # rest of the columns are set to their default values.
1609
+ # Corresponds to the JSON property `linesTerminatedBy`
1610
+ # @return [String]
1611
+ attr_accessor :lines_terminated_by
1612
+
1613
+ # Specifies the quoting character to be used when a data value is quoted.
1614
+ # Corresponds to the JSON property `quoteCharacter`
1615
+ # @return [String]
1616
+ attr_accessor :quote_character
1617
+
1618
+ # The table to which CSV data is imported.
1619
+ # Corresponds to the JSON property `table`
1620
+ # @return [String]
1621
+ attr_accessor :table
1622
+
1623
+ def initialize(**args)
1624
+ update!(**args)
1625
+ end
1626
+
1627
+ # Update properties of this object
1628
+ def update!(**args)
1629
+ @columns = args[:columns] if args.key?(:columns)
1630
+ @escape_character = args[:escape_character] if args.key?(:escape_character)
1631
+ @fields_terminated_by = args[:fields_terminated_by] if args.key?(:fields_terminated_by)
1632
+ @lines_terminated_by = args[:lines_terminated_by] if args.key?(:lines_terminated_by)
1633
+ @quote_character = args[:quote_character] if args.key?(:quote_character)
1634
+ @table = args[:table] if args.key?(:table)
1635
+ end
1636
+ end
1637
+ end
1638
+
1639
+ # Insights configuration. This specifies when Cloud SQL Insights feature is
1640
+ # enabled and optional configuration.
1641
+ class InsightsConfig
1642
+ include Google::Apis::Core::Hashable
1643
+
1644
+ # Whether Query Insights feature is enabled.
1645
+ # Corresponds to the JSON property `queryInsightsEnabled`
1646
+ # @return [Boolean]
1647
+ attr_accessor :query_insights_enabled
1648
+ alias_method :query_insights_enabled?, :query_insights_enabled
1649
+
1650
+ # Number of query execution plans captured by Insights per minute for all
1651
+ # queries combined. Default is 5.
1652
+ # Corresponds to the JSON property `queryPlansPerMinute`
1653
+ # @return [Fixnum]
1654
+ attr_accessor :query_plans_per_minute
1655
+
1656
+ # Maximum query length stored in bytes. Default value: 1024 bytes. Range: 256-
1657
+ # 4500 bytes. Query length more than this field value will be truncated to this
1658
+ # value. When unset, query length will be the default value. Changing query
1659
+ # length will restart the database.
1660
+ # Corresponds to the JSON property `queryStringLength`
1661
+ # @return [Fixnum]
1662
+ attr_accessor :query_string_length
1663
+
1664
+ # Whether Query Insights will record application tags from query when enabled.
1665
+ # Corresponds to the JSON property `recordApplicationTags`
1666
+ # @return [Boolean]
1667
+ attr_accessor :record_application_tags
1668
+ alias_method :record_application_tags?, :record_application_tags
1669
+
1670
+ # Whether Query Insights will record client address when enabled.
1671
+ # Corresponds to the JSON property `recordClientAddress`
1672
+ # @return [Boolean]
1673
+ attr_accessor :record_client_address
1674
+ alias_method :record_client_address?, :record_client_address
1675
+
1676
+ def initialize(**args)
1677
+ update!(**args)
1678
+ end
1679
+
1680
+ # Update properties of this object
1681
+ def update!(**args)
1682
+ @query_insights_enabled = args[:query_insights_enabled] if args.key?(:query_insights_enabled)
1683
+ @query_plans_per_minute = args[:query_plans_per_minute] if args.key?(:query_plans_per_minute)
1684
+ @query_string_length = args[:query_string_length] if args.key?(:query_string_length)
1685
+ @record_application_tags = args[:record_application_tags] if args.key?(:record_application_tags)
1686
+ @record_client_address = args[:record_client_address] if args.key?(:record_client_address)
1687
+ end
1688
+ end
1689
+
1690
+ # Reference to another Cloud SQL instance.
1691
+ class InstanceReference
1692
+ include Google::Apis::Core::Hashable
1693
+
1694
+ # The name of the Cloud SQL instance being referenced. This does not include the
1695
+ # project ID.
1696
+ # Corresponds to the JSON property `name`
1697
+ # @return [String]
1698
+ attr_accessor :name
1699
+
1700
+ # The project ID of the Cloud SQL instance being referenced. The default is the
1701
+ # same project ID as the instance references it.
1702
+ # Corresponds to the JSON property `project`
1703
+ # @return [String]
1704
+ attr_accessor :project
1705
+
1706
+ # The region of the Cloud SQL instance being referenced.
1707
+ # Corresponds to the JSON property `region`
1708
+ # @return [String]
1709
+ attr_accessor :region
1710
+
1711
+ def initialize(**args)
1712
+ update!(**args)
1713
+ end
1714
+
1715
+ # Update properties of this object
1716
+ def update!(**args)
1717
+ @name = args[:name] if args.key?(:name)
1718
+ @project = args[:project] if args.key?(:project)
1719
+ @region = args[:region] if args.key?(:region)
1720
+ end
1721
+ end
1722
+
1723
+ # Database instance clone request.
1724
+ class InstancesCloneRequest
1725
+ include Google::Apis::Core::Hashable
1726
+
1727
+ # Database instance clone context.
1728
+ # Corresponds to the JSON property `cloneContext`
1729
+ # @return [Google::Apis::SqladminV1::CloneContext]
1730
+ attr_accessor :clone_context
1731
+
1732
+ def initialize(**args)
1733
+ update!(**args)
1734
+ end
1735
+
1736
+ # Update properties of this object
1737
+ def update!(**args)
1738
+ @clone_context = args[:clone_context] if args.key?(:clone_context)
1739
+ end
1740
+ end
1741
+
1742
+ # Database demote primary instance request.
1743
+ class InstancesDemoteMasterRequest
1744
+ include Google::Apis::Core::Hashable
1745
+
1746
+ # Database instance demote primary instance context.
1747
+ # Corresponds to the JSON property `demoteMasterContext`
1748
+ # @return [Google::Apis::SqladminV1::DemoteMasterContext]
1749
+ attr_accessor :demote_master_context
1750
+
1751
+ def initialize(**args)
1752
+ update!(**args)
1753
+ end
1754
+
1755
+ # Update properties of this object
1756
+ def update!(**args)
1757
+ @demote_master_context = args[:demote_master_context] if args.key?(:demote_master_context)
1758
+ end
1759
+ end
1760
+
1761
+ # Database instance export request.
1762
+ class InstancesExportRequest
1763
+ include Google::Apis::Core::Hashable
1764
+
1765
+ # Database instance export context.
1766
+ # Corresponds to the JSON property `exportContext`
1767
+ # @return [Google::Apis::SqladminV1::ExportContext]
1768
+ attr_accessor :export_context
1769
+
1770
+ def initialize(**args)
1771
+ update!(**args)
1772
+ end
1773
+
1774
+ # Update properties of this object
1775
+ def update!(**args)
1776
+ @export_context = args[:export_context] if args.key?(:export_context)
1777
+ end
1778
+ end
1779
+
1780
+ # Instance failover request.
1781
+ class InstancesFailoverRequest
1782
+ include Google::Apis::Core::Hashable
1783
+
1784
+ # Database instance failover context.
1785
+ # Corresponds to the JSON property `failoverContext`
1786
+ # @return [Google::Apis::SqladminV1::FailoverContext]
1787
+ attr_accessor :failover_context
1788
+
1789
+ def initialize(**args)
1790
+ update!(**args)
1791
+ end
1792
+
1793
+ # Update properties of this object
1794
+ def update!(**args)
1795
+ @failover_context = args[:failover_context] if args.key?(:failover_context)
1796
+ end
1797
+ end
1798
+
1799
+ # Database instance import request.
1800
+ class InstancesImportRequest
1801
+ include Google::Apis::Core::Hashable
1802
+
1803
+ # Database instance import context.
1804
+ # Corresponds to the JSON property `importContext`
1805
+ # @return [Google::Apis::SqladminV1::ImportContext]
1806
+ attr_accessor :import_context
1807
+
1808
+ def initialize(**args)
1809
+ update!(**args)
1810
+ end
1811
+
1812
+ # Update properties of this object
1813
+ def update!(**args)
1814
+ @import_context = args[:import_context] if args.key?(:import_context)
1815
+ end
1816
+ end
1817
+
1818
+ # Database instances list response.
1819
+ class InstancesListResponse
1820
+ include Google::Apis::Core::Hashable
1821
+
1822
+ # List of database instance resources.
1823
+ # Corresponds to the JSON property `items`
1824
+ # @return [Array<Google::Apis::SqladminV1::DatabaseInstance>]
1825
+ attr_accessor :items
1826
+
1827
+ # This is always *sql#instancesList*.
1828
+ # Corresponds to the JSON property `kind`
1829
+ # @return [String]
1830
+ attr_accessor :kind
1831
+
1832
+ # The continuation token, used to page through large result sets. Provide this
1833
+ # value in a subsequent request to return the next page of results.
1834
+ # Corresponds to the JSON property `nextPageToken`
1835
+ # @return [String]
1836
+ attr_accessor :next_page_token
1837
+
1838
+ # List of warnings that occurred while handling the request.
1839
+ # Corresponds to the JSON property `warnings`
1840
+ # @return [Array<Google::Apis::SqladminV1::ApiWarning>]
1841
+ attr_accessor :warnings
1842
+
1843
+ def initialize(**args)
1844
+ update!(**args)
1845
+ end
1846
+
1847
+ # Update properties of this object
1848
+ def update!(**args)
1849
+ @items = args[:items] if args.key?(:items)
1850
+ @kind = args[:kind] if args.key?(:kind)
1851
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1852
+ @warnings = args[:warnings] if args.key?(:warnings)
1853
+ end
1854
+ end
1855
+
1856
+ # Instances ListServerCas response.
1857
+ class InstancesListServerCasResponse
1858
+ include Google::Apis::Core::Hashable
1859
+
1860
+ #
1861
+ # Corresponds to the JSON property `activeVersion`
1862
+ # @return [String]
1863
+ attr_accessor :active_version
1864
+
1865
+ # List of server CA certificates for the instance.
1866
+ # Corresponds to the JSON property `certs`
1867
+ # @return [Array<Google::Apis::SqladminV1::SslCert>]
1868
+ attr_accessor :certs
1869
+
1870
+ # This is always *sql#instancesListServerCas*.
1871
+ # Corresponds to the JSON property `kind`
1872
+ # @return [String]
1873
+ attr_accessor :kind
1874
+
1875
+ def initialize(**args)
1876
+ update!(**args)
1877
+ end
1878
+
1879
+ # Update properties of this object
1880
+ def update!(**args)
1881
+ @active_version = args[:active_version] if args.key?(:active_version)
1882
+ @certs = args[:certs] if args.key?(:certs)
1883
+ @kind = args[:kind] if args.key?(:kind)
1884
+ end
1885
+ end
1886
+
1887
+ # Database instance restore backup request.
1888
+ class InstancesRestoreBackupRequest
1889
+ include Google::Apis::Core::Hashable
1890
+
1891
+ # Database instance restore from backup context. Backup context contains source
1892
+ # instance id and project id.
1893
+ # Corresponds to the JSON property `restoreBackupContext`
1894
+ # @return [Google::Apis::SqladminV1::RestoreBackupContext]
1895
+ attr_accessor :restore_backup_context
1896
+
1897
+ def initialize(**args)
1898
+ update!(**args)
1899
+ end
1900
+
1901
+ # Update properties of this object
1902
+ def update!(**args)
1903
+ @restore_backup_context = args[:restore_backup_context] if args.key?(:restore_backup_context)
1904
+ end
1905
+ end
1906
+
1907
+ # Rotate server CA request.
1908
+ class InstancesRotateServerCaRequest
1909
+ include Google::Apis::Core::Hashable
1910
+
1911
+ # Instance rotate server CA context.
1912
+ # Corresponds to the JSON property `rotateServerCaContext`
1913
+ # @return [Google::Apis::SqladminV1::RotateServerCaContext]
1914
+ attr_accessor :rotate_server_ca_context
1915
+
1916
+ def initialize(**args)
1917
+ update!(**args)
1918
+ end
1919
+
1920
+ # Update properties of this object
1921
+ def update!(**args)
1922
+ @rotate_server_ca_context = args[:rotate_server_ca_context] if args.key?(:rotate_server_ca_context)
1923
+ end
1924
+ end
1925
+
1926
+ # Instance truncate log request.
1927
+ class InstancesTruncateLogRequest
1928
+ include Google::Apis::Core::Hashable
1929
+
1930
+ # Database Instance truncate log context.
1931
+ # Corresponds to the JSON property `truncateLogContext`
1932
+ # @return [Google::Apis::SqladminV1::TruncateLogContext]
1933
+ attr_accessor :truncate_log_context
1934
+
1935
+ def initialize(**args)
1936
+ update!(**args)
1937
+ end
1938
+
1939
+ # Update properties of this object
1940
+ def update!(**args)
1941
+ @truncate_log_context = args[:truncate_log_context] if args.key?(:truncate_log_context)
1942
+ end
1943
+ end
1944
+
1945
+ # IP Management configuration.
1946
+ class IpConfiguration
1947
+ include Google::Apis::Core::Hashable
1948
+
1949
+ # The name of the allocated ip range for the private ip CloudSQL instance. For
1950
+ # example: "google-managed-services-default". If set, the instance ip will be
1951
+ # created in the allocated range. The range name must comply with [RFC 1035](
1952
+ # https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63
1953
+ # characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?.`
1954
+ # Reserved for future use.
1955
+ # Corresponds to the JSON property `allocatedIpRange`
1956
+ # @return [String]
1957
+ attr_accessor :allocated_ip_range
1958
+
1959
+ # The list of external networks that are allowed to connect to the instance
1960
+ # using the IP. In 'CIDR' notation, also known as 'slash' notation (for example:
1961
+ # **192.168.100.0/24**).
1962
+ # Corresponds to the JSON property `authorizedNetworks`
1963
+ # @return [Array<Google::Apis::SqladminV1::AclEntry>]
1964
+ attr_accessor :authorized_networks
1965
+
1966
+ # Whether the instance is assigned a public IP address or not.
1967
+ # Corresponds to the JSON property `ipv4Enabled`
1968
+ # @return [Boolean]
1969
+ attr_accessor :ipv4_enabled
1970
+ alias_method :ipv4_enabled?, :ipv4_enabled
1971
+
1972
+ # The resource link for the VPC network from which the Cloud SQL instance is
1973
+ # accessible for private IP. For example, **/projects/myProject/global/networks/
1974
+ # default**. This setting can be updated, but it cannot be removed after it is
1975
+ # set.
1976
+ # Corresponds to the JSON property `privateNetwork`
1977
+ # @return [String]
1978
+ attr_accessor :private_network
1979
+
1980
+ # Whether SSL connections over IP are enforced or not.
1981
+ # Corresponds to the JSON property `requireSsl`
1982
+ # @return [Boolean]
1983
+ attr_accessor :require_ssl
1984
+ alias_method :require_ssl?, :require_ssl
1985
+
1986
+ def initialize(**args)
1987
+ update!(**args)
1988
+ end
1989
+
1990
+ # Update properties of this object
1991
+ def update!(**args)
1992
+ @allocated_ip_range = args[:allocated_ip_range] if args.key?(:allocated_ip_range)
1993
+ @authorized_networks = args[:authorized_networks] if args.key?(:authorized_networks)
1994
+ @ipv4_enabled = args[:ipv4_enabled] if args.key?(:ipv4_enabled)
1995
+ @private_network = args[:private_network] if args.key?(:private_network)
1996
+ @require_ssl = args[:require_ssl] if args.key?(:require_ssl)
1997
+ end
1998
+ end
1999
+
2000
+ # Database instance IP Mapping.
2001
+ class IpMapping
2002
+ include Google::Apis::Core::Hashable
2003
+
2004
+ # The IP address assigned.
2005
+ # Corresponds to the JSON property `ipAddress`
2006
+ # @return [String]
2007
+ attr_accessor :ip_address
2008
+
2009
+ # The due time for this IP to be retired in [RFC 3339](https://tools.ietf.org/
2010
+ # html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**. This field is
2011
+ # only available when the IP is scheduled to be retired.
2012
+ # Corresponds to the JSON property `timeToRetire`
2013
+ # @return [String]
2014
+ attr_accessor :time_to_retire
2015
+
2016
+ # The type of this IP address. A **PRIMARY** address is a public address that
2017
+ # can accept incoming connections. A **PRIVATE** address is a private address
2018
+ # that can accept incoming connections. An **OUTGOING** address is the source
2019
+ # address of connections originating from the instance, if supported.
2020
+ # Corresponds to the JSON property `type`
2021
+ # @return [String]
2022
+ attr_accessor :type
2023
+
2024
+ def initialize(**args)
2025
+ update!(**args)
2026
+ end
2027
+
2028
+ # Update properties of this object
2029
+ def update!(**args)
2030
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
2031
+ @time_to_retire = args[:time_to_retire] if args.key?(:time_to_retire)
2032
+ @type = args[:type] if args.key?(:type)
2033
+ end
2034
+ end
2035
+
2036
+ # Preferred location. This specifies where a Cloud SQL instance is located. Note
2037
+ # that if the preferred location is not available, the instance will be located
2038
+ # as close as possible within the region. Only one location may be specified.
2039
+ class LocationPreference
2040
+ include Google::Apis::Core::Hashable
2041
+
2042
+ # The App Engine application to follow, it must be in the same region as the
2043
+ # Cloud SQL instance.
2044
+ # Corresponds to the JSON property `followGaeApplication`
2045
+ # @return [String]
2046
+ attr_accessor :follow_gae_application
2047
+
2048
+ # This is always **sql#locationPreference**.
2049
+ # Corresponds to the JSON property `kind`
2050
+ # @return [String]
2051
+ attr_accessor :kind
2052
+
2053
+ # The preferred Compute Engine zone for the secondary/failover (for example: us-
2054
+ # central1-a, us-central1-b, etc.). Reserved for future use.
2055
+ # Corresponds to the JSON property `secondaryZone`
2056
+ # @return [String]
2057
+ attr_accessor :secondary_zone
2058
+
2059
+ # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b,
2060
+ # etc.).
2061
+ # Corresponds to the JSON property `zone`
2062
+ # @return [String]
2063
+ attr_accessor :zone
2064
+
2065
+ def initialize(**args)
2066
+ update!(**args)
2067
+ end
2068
+
2069
+ # Update properties of this object
2070
+ def update!(**args)
2071
+ @follow_gae_application = args[:follow_gae_application] if args.key?(:follow_gae_application)
2072
+ @kind = args[:kind] if args.key?(:kind)
2073
+ @secondary_zone = args[:secondary_zone] if args.key?(:secondary_zone)
2074
+ @zone = args[:zone] if args.key?(:zone)
2075
+ end
2076
+ end
2077
+
2078
+ # Maintenance window. This specifies when a Cloud SQL instance is restarted for
2079
+ # system maintenance purposes.
2080
+ class MaintenanceWindow
2081
+ include Google::Apis::Core::Hashable
2082
+
2083
+ # day of week (1-7), starting on Monday.
2084
+ # Corresponds to the JSON property `day`
2085
+ # @return [Fixnum]
2086
+ attr_accessor :day
2087
+
2088
+ # hour of day - 0 to 23.
2089
+ # Corresponds to the JSON property `hour`
2090
+ # @return [Fixnum]
2091
+ attr_accessor :hour
2092
+
2093
+ # This is always **sql#maintenanceWindow**.
2094
+ # Corresponds to the JSON property `kind`
2095
+ # @return [String]
2096
+ attr_accessor :kind
2097
+
2098
+ # Maintenance timing setting: **canary** (Earlier) or **stable** (Later). [Learn
2099
+ # more](https://cloud.google.com/sql/docs/mysql/instance-settings#maintenance-
2100
+ # timing-2ndgen).
2101
+ # Corresponds to the JSON property `updateTrack`
2102
+ # @return [String]
2103
+ attr_accessor :update_track
2104
+
2105
+ def initialize(**args)
2106
+ update!(**args)
2107
+ end
2108
+
2109
+ # Update properties of this object
2110
+ def update!(**args)
2111
+ @day = args[:day] if args.key?(:day)
2112
+ @hour = args[:hour] if args.key?(:hour)
2113
+ @kind = args[:kind] if args.key?(:kind)
2114
+ @update_track = args[:update_track] if args.key?(:update_track)
2115
+ end
2116
+ end
2117
+
2118
+ # Read-replica configuration specific to MySQL databases.
2119
+ class MySqlReplicaConfiguration
2120
+ include Google::Apis::Core::Hashable
2121
+
2122
+ # PEM representation of the trusted CA's x509 certificate.
2123
+ # Corresponds to the JSON property `caCertificate`
2124
+ # @return [String]
2125
+ attr_accessor :ca_certificate
2126
+
2127
+ # PEM representation of the replica's x509 certificate.
2128
+ # Corresponds to the JSON property `clientCertificate`
2129
+ # @return [String]
2130
+ attr_accessor :client_certificate
2131
+
2132
+ # PEM representation of the replica's private key. The corresponsing public key
2133
+ # is encoded in the client's certificate.
2134
+ # Corresponds to the JSON property `clientKey`
2135
+ # @return [String]
2136
+ attr_accessor :client_key
2137
+
2138
+ # Seconds to wait between connect retries. MySQL's default is 60 seconds.
2139
+ # Corresponds to the JSON property `connectRetryInterval`
2140
+ # @return [Fixnum]
2141
+ attr_accessor :connect_retry_interval
2142
+
2143
+ # Path to a SQL dump file in Google Cloud Storage from which the replica
2144
+ # instance is to be created. The URI is in the form gs://bucketName/fileName.
2145
+ # Compressed gzip files (.gz) are also supported. Dumps have the binlog co-
2146
+ # ordinates from which replication begins. This can be accomplished by setting --
2147
+ # master-data to 1 when using mysqldump.
2148
+ # Corresponds to the JSON property `dumpFilePath`
2149
+ # @return [String]
2150
+ attr_accessor :dump_file_path
2151
+
2152
+ # This is always **sql#mysqlReplicaConfiguration**.
2153
+ # Corresponds to the JSON property `kind`
2154
+ # @return [String]
2155
+ attr_accessor :kind
2156
+
2157
+ # Interval in milliseconds between replication heartbeats.
2158
+ # Corresponds to the JSON property `masterHeartbeatPeriod`
2159
+ # @return [Fixnum]
2160
+ attr_accessor :master_heartbeat_period
2161
+
2162
+ # The password for the replication connection.
2163
+ # Corresponds to the JSON property `password`
2164
+ # @return [String]
2165
+ attr_accessor :password
2166
+
2167
+ # A list of permissible ciphers to use for SSL encryption.
2168
+ # Corresponds to the JSON property `sslCipher`
2169
+ # @return [String]
2170
+ attr_accessor :ssl_cipher
2171
+
2172
+ # The username for the replication connection.
2173
+ # Corresponds to the JSON property `username`
2174
+ # @return [String]
2175
+ attr_accessor :username
2176
+
2177
+ # Whether or not to check the primary instance's Common Name value in the
2178
+ # certificate that it sends during the SSL handshake.
2179
+ # Corresponds to the JSON property `verifyServerCertificate`
2180
+ # @return [Boolean]
2181
+ attr_accessor :verify_server_certificate
2182
+ alias_method :verify_server_certificate?, :verify_server_certificate
2183
+
2184
+ def initialize(**args)
2185
+ update!(**args)
2186
+ end
2187
+
2188
+ # Update properties of this object
2189
+ def update!(**args)
2190
+ @ca_certificate = args[:ca_certificate] if args.key?(:ca_certificate)
2191
+ @client_certificate = args[:client_certificate] if args.key?(:client_certificate)
2192
+ @client_key = args[:client_key] if args.key?(:client_key)
2193
+ @connect_retry_interval = args[:connect_retry_interval] if args.key?(:connect_retry_interval)
2194
+ @dump_file_path = args[:dump_file_path] if args.key?(:dump_file_path)
2195
+ @kind = args[:kind] if args.key?(:kind)
2196
+ @master_heartbeat_period = args[:master_heartbeat_period] if args.key?(:master_heartbeat_period)
2197
+ @password = args[:password] if args.key?(:password)
2198
+ @ssl_cipher = args[:ssl_cipher] if args.key?(:ssl_cipher)
2199
+ @username = args[:username] if args.key?(:username)
2200
+ @verify_server_certificate = args[:verify_server_certificate] if args.key?(:verify_server_certificate)
2201
+ end
2202
+ end
2203
+
2204
+ # MySQL-specific external server sync settings.
2205
+ class MySqlSyncConfig
2206
+ include Google::Apis::Core::Hashable
2207
+
2208
+ # Flags to use for the initial dump.
2209
+ # Corresponds to the JSON property `initialSyncFlags`
2210
+ # @return [Array<Google::Apis::SqladminV1::SyncFlags>]
2211
+ attr_accessor :initial_sync_flags
2212
+
2213
+ def initialize(**args)
2214
+ update!(**args)
2215
+ end
2216
+
2217
+ # Update properties of this object
2218
+ def update!(**args)
2219
+ @initial_sync_flags = args[:initial_sync_flags] if args.key?(:initial_sync_flags)
2220
+ end
2221
+ end
2222
+
2223
+ # On-premises instance configuration.
2224
+ class OnPremisesConfiguration
2225
+ include Google::Apis::Core::Hashable
2226
+
2227
+ # PEM representation of the trusted CA's x509 certificate.
2228
+ # Corresponds to the JSON property `caCertificate`
2229
+ # @return [String]
2230
+ attr_accessor :ca_certificate
2231
+
2232
+ # PEM representation of the replica's x509 certificate.
2233
+ # Corresponds to the JSON property `clientCertificate`
2234
+ # @return [String]
2235
+ attr_accessor :client_certificate
2236
+
2237
+ # PEM representation of the replica's private key. The corresponsing public key
2238
+ # is encoded in the client's certificate.
2239
+ # Corresponds to the JSON property `clientKey`
2240
+ # @return [String]
2241
+ attr_accessor :client_key
2242
+
2243
+ # The dump file to create the Cloud SQL replica.
2244
+ # Corresponds to the JSON property `dumpFilePath`
2245
+ # @return [String]
2246
+ attr_accessor :dump_file_path
2247
+
2248
+ # The host and port of the on-premises instance in host:port format
2249
+ # Corresponds to the JSON property `hostPort`
2250
+ # @return [String]
2251
+ attr_accessor :host_port
2252
+
2253
+ # This is always *sql#onPremisesConfiguration*.
2254
+ # Corresponds to the JSON property `kind`
2255
+ # @return [String]
2256
+ attr_accessor :kind
2257
+
2258
+ # The password for connecting to on-premises instance.
2259
+ # Corresponds to the JSON property `password`
2260
+ # @return [String]
2261
+ attr_accessor :password
2262
+
2263
+ # Reference to another Cloud SQL instance.
2264
+ # Corresponds to the JSON property `sourceInstance`
2265
+ # @return [Google::Apis::SqladminV1::InstanceReference]
2266
+ attr_accessor :source_instance
2267
+
2268
+ # The username for connecting to on-premises instance.
2269
+ # Corresponds to the JSON property `username`
2270
+ # @return [String]
2271
+ attr_accessor :username
2272
+
2273
+ def initialize(**args)
2274
+ update!(**args)
2275
+ end
2276
+
2277
+ # Update properties of this object
2278
+ def update!(**args)
2279
+ @ca_certificate = args[:ca_certificate] if args.key?(:ca_certificate)
2280
+ @client_certificate = args[:client_certificate] if args.key?(:client_certificate)
2281
+ @client_key = args[:client_key] if args.key?(:client_key)
2282
+ @dump_file_path = args[:dump_file_path] if args.key?(:dump_file_path)
2283
+ @host_port = args[:host_port] if args.key?(:host_port)
2284
+ @kind = args[:kind] if args.key?(:kind)
2285
+ @password = args[:password] if args.key?(:password)
2286
+ @source_instance = args[:source_instance] if args.key?(:source_instance)
2287
+ @username = args[:username] if args.key?(:username)
2288
+ end
2289
+ end
2290
+
2291
+ # An Operation resource. For successful operations that return an Operation
2292
+ # resource, only the fields relevant to the operation are populated in the
2293
+ # resource.
2294
+ class Operation
2295
+ include Google::Apis::Core::Hashable
2296
+
2297
+ # Backup context.
2298
+ # Corresponds to the JSON property `backupContext`
2299
+ # @return [Google::Apis::SqladminV1::BackupContext]
2300
+ attr_accessor :backup_context
2301
+
2302
+ # The time this operation finished in UTC timezone in [RFC 3339](https://tools.
2303
+ # ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
2304
+ # Corresponds to the JSON property `endTime`
2305
+ # @return [String]
2306
+ attr_accessor :end_time
2307
+
2308
+ # Database instance operation errors list wrapper.
2309
+ # Corresponds to the JSON property `error`
2310
+ # @return [Google::Apis::SqladminV1::OperationErrors]
2311
+ attr_accessor :error
2312
+
2313
+ # Database instance export context.
2314
+ # Corresponds to the JSON property `exportContext`
2315
+ # @return [Google::Apis::SqladminV1::ExportContext]
2316
+ attr_accessor :export_context
2317
+
2318
+ # Database instance import context.
2319
+ # Corresponds to the JSON property `importContext`
2320
+ # @return [Google::Apis::SqladminV1::ImportContext]
2321
+ attr_accessor :import_context
2322
+
2323
+ # The time this operation was enqueued in UTC timezone in [RFC 3339](https://
2324
+ # tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
2325
+ # Corresponds to the JSON property `insertTime`
2326
+ # @return [String]
2327
+ attr_accessor :insert_time
2328
+
2329
+ # This is always **sql#operation**.
2330
+ # Corresponds to the JSON property `kind`
2331
+ # @return [String]
2332
+ attr_accessor :kind
2333
+
2334
+ # An identifier that uniquely identifies the operation. You can use this
2335
+ # identifier to retrieve the Operations resource that has information about the
2336
+ # operation.
2337
+ # Corresponds to the JSON property `name`
2338
+ # @return [String]
2339
+ attr_accessor :name
2340
+
2341
+ # The type of the operation. Valid values are: * **CREATE** * **DELETE** * **
2342
+ # UPDATE** * **RESTART** * **IMPORT** * **EXPORT** * **BACKUP_VOLUME** * **
2343
+ # RESTORE_VOLUME** * **CREATE_USER** * **DELETE_USER** * **CREATE_DATABASE** * **
2344
+ # DELETE_DATABASE**
2345
+ # Corresponds to the JSON property `operationType`
2346
+ # @return [String]
2347
+ attr_accessor :operation_type
2348
+
2349
+ # The URI of this resource.
2350
+ # Corresponds to the JSON property `selfLink`
2351
+ # @return [String]
2352
+ attr_accessor :self_link
2353
+
2354
+ # The time this operation actually started in UTC timezone in [RFC 3339](https://
2355
+ # tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
2356
+ # Corresponds to the JSON property `startTime`
2357
+ # @return [String]
2358
+ attr_accessor :start_time
2359
+
2360
+ # The status of an operation. Valid values are: * **PENDING** * **RUNNING** * **
2361
+ # DONE** * **SQL_OPERATION_STATUS_UNSPECIFIED**
2362
+ # Corresponds to the JSON property `status`
2363
+ # @return [String]
2364
+ attr_accessor :status
2365
+
2366
+ # Name of the database instance related to this operation.
2367
+ # Corresponds to the JSON property `targetId`
2368
+ # @return [String]
2369
+ attr_accessor :target_id
2370
+
2371
+ #
2372
+ # Corresponds to the JSON property `targetLink`
2373
+ # @return [String]
2374
+ attr_accessor :target_link
2375
+
2376
+ # The project ID of the target instance related to this operation.
2377
+ # Corresponds to the JSON property `targetProject`
2378
+ # @return [String]
2379
+ attr_accessor :target_project
2380
+
2381
+ # The email address of the user who initiated this operation.
2382
+ # Corresponds to the JSON property `user`
2383
+ # @return [String]
2384
+ attr_accessor :user
2385
+
2386
+ def initialize(**args)
2387
+ update!(**args)
2388
+ end
2389
+
2390
+ # Update properties of this object
2391
+ def update!(**args)
2392
+ @backup_context = args[:backup_context] if args.key?(:backup_context)
2393
+ @end_time = args[:end_time] if args.key?(:end_time)
2394
+ @error = args[:error] if args.key?(:error)
2395
+ @export_context = args[:export_context] if args.key?(:export_context)
2396
+ @import_context = args[:import_context] if args.key?(:import_context)
2397
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
2398
+ @kind = args[:kind] if args.key?(:kind)
2399
+ @name = args[:name] if args.key?(:name)
2400
+ @operation_type = args[:operation_type] if args.key?(:operation_type)
2401
+ @self_link = args[:self_link] if args.key?(:self_link)
2402
+ @start_time = args[:start_time] if args.key?(:start_time)
2403
+ @status = args[:status] if args.key?(:status)
2404
+ @target_id = args[:target_id] if args.key?(:target_id)
2405
+ @target_link = args[:target_link] if args.key?(:target_link)
2406
+ @target_project = args[:target_project] if args.key?(:target_project)
2407
+ @user = args[:user] if args.key?(:user)
2408
+ end
2409
+ end
2410
+
2411
+ # Database instance operation error.
2412
+ class OperationError
2413
+ include Google::Apis::Core::Hashable
2414
+
2415
+ # Identifies the specific error that occurred.
2416
+ # Corresponds to the JSON property `code`
2417
+ # @return [String]
2418
+ attr_accessor :code
2419
+
2420
+ # This is always **sql#operationError**.
2421
+ # Corresponds to the JSON property `kind`
2422
+ # @return [String]
2423
+ attr_accessor :kind
2424
+
2425
+ # Additional information about the error encountered.
2426
+ # Corresponds to the JSON property `message`
2427
+ # @return [String]
2428
+ attr_accessor :message
2429
+
2430
+ def initialize(**args)
2431
+ update!(**args)
2432
+ end
2433
+
2434
+ # Update properties of this object
2435
+ def update!(**args)
2436
+ @code = args[:code] if args.key?(:code)
2437
+ @kind = args[:kind] if args.key?(:kind)
2438
+ @message = args[:message] if args.key?(:message)
2439
+ end
2440
+ end
2441
+
2442
+ # Database instance operation errors list wrapper.
2443
+ class OperationErrors
2444
+ include Google::Apis::Core::Hashable
2445
+
2446
+ # The list of errors encountered while processing this operation.
2447
+ # Corresponds to the JSON property `errors`
2448
+ # @return [Array<Google::Apis::SqladminV1::OperationError>]
2449
+ attr_accessor :errors
2450
+
2451
+ # This is always **sql#operationErrors**.
2452
+ # Corresponds to the JSON property `kind`
2453
+ # @return [String]
2454
+ attr_accessor :kind
2455
+
2456
+ def initialize(**args)
2457
+ update!(**args)
2458
+ end
2459
+
2460
+ # Update properties of this object
2461
+ def update!(**args)
2462
+ @errors = args[:errors] if args.key?(:errors)
2463
+ @kind = args[:kind] if args.key?(:kind)
2464
+ end
2465
+ end
2466
+
2467
+ # Operations list response.
2468
+ class OperationsListResponse
2469
+ include Google::Apis::Core::Hashable
2470
+
2471
+ # List of operation resources.
2472
+ # Corresponds to the JSON property `items`
2473
+ # @return [Array<Google::Apis::SqladminV1::Operation>]
2474
+ attr_accessor :items
2475
+
2476
+ # This is always *sql#operationsList*.
2477
+ # Corresponds to the JSON property `kind`
2478
+ # @return [String]
2479
+ attr_accessor :kind
2480
+
2481
+ # The continuation token, used to page through large result sets. Provide this
2482
+ # value in a subsequent request to return the next page of results.
2483
+ # Corresponds to the JSON property `nextPageToken`
2484
+ # @return [String]
2485
+ attr_accessor :next_page_token
2486
+
2487
+ def initialize(**args)
2488
+ update!(**args)
2489
+ end
2490
+
2491
+ # Update properties of this object
2492
+ def update!(**args)
2493
+ @items = args[:items] if args.key?(:items)
2494
+ @kind = args[:kind] if args.key?(:kind)
2495
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2496
+ end
2497
+ end
2498
+
2499
+ # Read-replica configuration for connecting to the primary instance.
2500
+ class ReplicaConfiguration
2501
+ include Google::Apis::Core::Hashable
2502
+
2503
+ # Specifies if the replica is the failover target. If the field is set to *true*
2504
+ # the replica will be designated as a failover replica. In case the primary
2505
+ # instance fails, the replica instance will be promoted as the new primary
2506
+ # instance. Only one replica can be specified as failover target, and the
2507
+ # replica has to be in different zone with the primary instance.
2508
+ # Corresponds to the JSON property `failoverTarget`
2509
+ # @return [Boolean]
2510
+ attr_accessor :failover_target
2511
+ alias_method :failover_target?, :failover_target
2512
+
2513
+ # This is always *sql#replicaConfiguration*.
2514
+ # Corresponds to the JSON property `kind`
2515
+ # @return [String]
2516
+ attr_accessor :kind
2517
+
2518
+ # Read-replica configuration specific to MySQL databases.
2519
+ # Corresponds to the JSON property `mysqlReplicaConfiguration`
2520
+ # @return [Google::Apis::SqladminV1::MySqlReplicaConfiguration]
2521
+ attr_accessor :mysql_replica_configuration
2522
+
2523
+ def initialize(**args)
2524
+ update!(**args)
2525
+ end
2526
+
2527
+ # Update properties of this object
2528
+ def update!(**args)
2529
+ @failover_target = args[:failover_target] if args.key?(:failover_target)
2530
+ @kind = args[:kind] if args.key?(:kind)
2531
+ @mysql_replica_configuration = args[:mysql_replica_configuration] if args.key?(:mysql_replica_configuration)
2532
+ end
2533
+ end
2534
+
2535
+ #
2536
+ class Reschedule
2537
+ include Google::Apis::Core::Hashable
2538
+
2539
+ # Required. The type of the reschedule.
2540
+ # Corresponds to the JSON property `rescheduleType`
2541
+ # @return [String]
2542
+ attr_accessor :reschedule_type
2543
+
2544
+ # Optional. Timestamp when the maintenance shall be rescheduled to if
2545
+ # reschedule_type=SPECIFIC_TIME, in [RFC 3339](https://tools.ietf.org/html/
2546
+ # rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
2547
+ # Corresponds to the JSON property `scheduleTime`
2548
+ # @return [String]
2549
+ attr_accessor :schedule_time
2550
+
2551
+ def initialize(**args)
2552
+ update!(**args)
2553
+ end
2554
+
2555
+ # Update properties of this object
2556
+ def update!(**args)
2557
+ @reschedule_type = args[:reschedule_type] if args.key?(:reschedule_type)
2558
+ @schedule_time = args[:schedule_time] if args.key?(:schedule_time)
2559
+ end
2560
+ end
2561
+
2562
+ # Database instance restore from backup context. Backup context contains source
2563
+ # instance id and project id.
2564
+ class RestoreBackupContext
2565
+ include Google::Apis::Core::Hashable
2566
+
2567
+ # The ID of the backup run to restore from.
2568
+ # Corresponds to the JSON property `backupRunId`
2569
+ # @return [Fixnum]
2570
+ attr_accessor :backup_run_id
2571
+
2572
+ # The ID of the instance that the backup was taken from.
2573
+ # Corresponds to the JSON property `instanceId`
2574
+ # @return [String]
2575
+ attr_accessor :instance_id
2576
+
2577
+ # This is always *sql#restoreBackupContext*.
2578
+ # Corresponds to the JSON property `kind`
2579
+ # @return [String]
2580
+ attr_accessor :kind
2581
+
2582
+ # The full project ID of the source instance.
2583
+ # Corresponds to the JSON property `project`
2584
+ # @return [String]
2585
+ attr_accessor :project
2586
+
2587
+ def initialize(**args)
2588
+ update!(**args)
2589
+ end
2590
+
2591
+ # Update properties of this object
2592
+ def update!(**args)
2593
+ @backup_run_id = args[:backup_run_id] if args.key?(:backup_run_id)
2594
+ @instance_id = args[:instance_id] if args.key?(:instance_id)
2595
+ @kind = args[:kind] if args.key?(:kind)
2596
+ @project = args[:project] if args.key?(:project)
2597
+ end
2598
+ end
2599
+
2600
+ # Instance rotate server CA context.
2601
+ class RotateServerCaContext
2602
+ include Google::Apis::Core::Hashable
2603
+
2604
+ # This is always *sql#rotateServerCaContext*.
2605
+ # Corresponds to the JSON property `kind`
2606
+ # @return [String]
2607
+ attr_accessor :kind
2608
+
2609
+ # The fingerprint of the next version to be rotated to. If left unspecified,
2610
+ # will be rotated to the most recently added server CA version.
2611
+ # Corresponds to the JSON property `nextVersion`
2612
+ # @return [String]
2613
+ attr_accessor :next_version
2614
+
2615
+ def initialize(**args)
2616
+ update!(**args)
2617
+ end
2618
+
2619
+ # Update properties of this object
2620
+ def update!(**args)
2621
+ @kind = args[:kind] if args.key?(:kind)
2622
+ @next_version = args[:next_version] if args.key?(:next_version)
2623
+ end
2624
+ end
2625
+
2626
+ # Database instance settings.
2627
+ class Settings
2628
+ include Google::Apis::Core::Hashable
2629
+
2630
+ # The activation policy specifies when the instance is activated; it is
2631
+ # applicable only when the instance state is RUNNABLE. Valid values: * **ALWAYS**
2632
+ # : The instance is on, and remains so even in the absence of connection
2633
+ # requests. * **NEVER**: The instance is off; it is not activated, even if a
2634
+ # connection request arrives.
2635
+ # Corresponds to the JSON property `activationPolicy`
2636
+ # @return [String]
2637
+ attr_accessor :activation_policy
2638
+
2639
+ # Active Directory configuration, relevant only for Cloud SQL for SQL Server.
2640
+ # Corresponds to the JSON property `activeDirectoryConfig`
2641
+ # @return [Google::Apis::SqladminV1::SqlActiveDirectoryConfig]
2642
+ attr_accessor :active_directory_config
2643
+
2644
+ # The App Engine app IDs that can access this instance. (Deprecated) Applied to
2645
+ # First Generation instances only.
2646
+ # Corresponds to the JSON property `authorizedGaeApplications`
2647
+ # @return [Array<String>]
2648
+ attr_accessor :authorized_gae_applications
2649
+
2650
+ # Availability type. Potential values: * **ZONAL**: The instance serves data
2651
+ # from only one zone. Outages in that zone affect data accessibility. * **
2652
+ # REGIONAL**: The instance can serve data from more than one zone in a region (
2653
+ # it is highly available)./ For more information, see [Overview of the High
2654
+ # Availability Configuration](https://cloud.google.com/sql/docs/mysql/high-
2655
+ # availability).
2656
+ # Corresponds to the JSON property `availabilityType`
2657
+ # @return [String]
2658
+ attr_accessor :availability_type
1151
2659
 
1152
- # This is always *sql#replicaConfiguration*.
2660
+ # Database instance backup configuration.
2661
+ # Corresponds to the JSON property `backupConfiguration`
2662
+ # @return [Google::Apis::SqladminV1::BackupConfiguration]
2663
+ attr_accessor :backup_configuration
2664
+
2665
+ # The name of server Instance collation.
2666
+ # Corresponds to the JSON property `collation`
2667
+ # @return [String]
2668
+ attr_accessor :collation
2669
+
2670
+ # Configuration specific to read replica instances. Indicates whether database
2671
+ # flags for crash-safe replication are enabled. This property was only
2672
+ # applicable to First Generation instances.
2673
+ # Corresponds to the JSON property `crashSafeReplicationEnabled`
2674
+ # @return [Boolean]
2675
+ attr_accessor :crash_safe_replication_enabled
2676
+ alias_method :crash_safe_replication_enabled?, :crash_safe_replication_enabled
2677
+
2678
+ # The size of data disk, in GB. The data disk size minimum is 10GB.
2679
+ # Corresponds to the JSON property `dataDiskSizeGb`
2680
+ # @return [Fixnum]
2681
+ attr_accessor :data_disk_size_gb
2682
+
2683
+ # The type of data disk: **PD_SSD** (default) or **PD_HDD**. Not used for First
2684
+ # Generation instances.
2685
+ # Corresponds to the JSON property `dataDiskType`
2686
+ # @return [String]
2687
+ attr_accessor :data_disk_type
2688
+
2689
+ # The database flags passed to the instance at startup.
2690
+ # Corresponds to the JSON property `databaseFlags`
2691
+ # @return [Array<Google::Apis::SqladminV1::DatabaseFlags>]
2692
+ attr_accessor :database_flags
2693
+
2694
+ # Configuration specific to read replica instances. Indicates whether
2695
+ # replication is enabled or not.
2696
+ # Corresponds to the JSON property `databaseReplicationEnabled`
2697
+ # @return [Boolean]
2698
+ attr_accessor :database_replication_enabled
2699
+ alias_method :database_replication_enabled?, :database_replication_enabled
2700
+
2701
+ # Deny maintenance periods
2702
+ # Corresponds to the JSON property `denyMaintenancePeriods`
2703
+ # @return [Array<Google::Apis::SqladminV1::DenyMaintenancePeriod>]
2704
+ attr_accessor :deny_maintenance_periods
2705
+
2706
+ # Insights configuration. This specifies when Cloud SQL Insights feature is
2707
+ # enabled and optional configuration.
2708
+ # Corresponds to the JSON property `insightsConfig`
2709
+ # @return [Google::Apis::SqladminV1::InsightsConfig]
2710
+ attr_accessor :insights_config
2711
+
2712
+ # IP Management configuration.
2713
+ # Corresponds to the JSON property `ipConfiguration`
2714
+ # @return [Google::Apis::SqladminV1::IpConfiguration]
2715
+ attr_accessor :ip_configuration
2716
+
2717
+ # This is always **sql#settings**.
1153
2718
  # Corresponds to the JSON property `kind`
1154
2719
  # @return [String]
1155
2720
  attr_accessor :kind
1156
2721
 
1157
- # Read-replica configuration specific to MySQL databases.
1158
- # Corresponds to the JSON property `mysqlReplicaConfiguration`
1159
- # @return [Google::Apis::SqladminV1::MySqlReplicaConfiguration]
1160
- attr_accessor :mysql_replica_configuration
2722
+ # Preferred location. This specifies where a Cloud SQL instance is located. Note
2723
+ # that if the preferred location is not available, the instance will be located
2724
+ # as close as possible within the region. Only one location may be specified.
2725
+ # Corresponds to the JSON property `locationPreference`
2726
+ # @return [Google::Apis::SqladminV1::LocationPreference]
2727
+ attr_accessor :location_preference
2728
+
2729
+ # Maintenance window. This specifies when a Cloud SQL instance is restarted for
2730
+ # system maintenance purposes.
2731
+ # Corresponds to the JSON property `maintenanceWindow`
2732
+ # @return [Google::Apis::SqladminV1::MaintenanceWindow]
2733
+ attr_accessor :maintenance_window
2734
+
2735
+ # The pricing plan for this instance. This can be either **PER_USE** or **
2736
+ # PACKAGE**. Only **PER_USE** is supported for Second Generation instances.
2737
+ # Corresponds to the JSON property `pricingPlan`
2738
+ # @return [String]
2739
+ attr_accessor :pricing_plan
2740
+
2741
+ # The type of replication this instance uses. This can be either **ASYNCHRONOUS**
2742
+ # or **SYNCHRONOUS**. (Deprecated) This property was only applicable to First
2743
+ # Generation instances.
2744
+ # Corresponds to the JSON property `replicationType`
2745
+ # @return [String]
2746
+ attr_accessor :replication_type
2747
+
2748
+ # The version of instance settings. This is a required field for update method
2749
+ # to make sure concurrent updates are handled properly. During update, use the
2750
+ # most recent settingsVersion value for this instance and do not try to update
2751
+ # this value.
2752
+ # Corresponds to the JSON property `settingsVersion`
2753
+ # @return [Fixnum]
2754
+ attr_accessor :settings_version
2755
+
2756
+ # SQL Server specific audit configuration.
2757
+ # Corresponds to the JSON property `sqlServerAuditConfig`
2758
+ # @return [Google::Apis::SqladminV1::SqlServerAuditConfig]
2759
+ attr_accessor :sql_server_audit_config
2760
+
2761
+ # Configuration to increase storage size automatically. The default value is
2762
+ # true.
2763
+ # Corresponds to the JSON property `storageAutoResize`
2764
+ # @return [Boolean]
2765
+ attr_accessor :storage_auto_resize
2766
+ alias_method :storage_auto_resize?, :storage_auto_resize
2767
+
2768
+ # The maximum size to which storage capacity can be automatically increased. The
2769
+ # default value is 0, which specifies that there is no limit.
2770
+ # Corresponds to the JSON property `storageAutoResizeLimit`
2771
+ # @return [Fixnum]
2772
+ attr_accessor :storage_auto_resize_limit
2773
+
2774
+ # The tier (or machine type) for this instance, for example **db-custom-1-3840**.
2775
+ # Corresponds to the JSON property `tier`
2776
+ # @return [String]
2777
+ attr_accessor :tier
2778
+
2779
+ # User-provided labels, represented as a dictionary where each label is a single
2780
+ # key value pair.
2781
+ # Corresponds to the JSON property `userLabels`
2782
+ # @return [Hash<String,String>]
2783
+ attr_accessor :user_labels
2784
+
2785
+ def initialize(**args)
2786
+ update!(**args)
2787
+ end
2788
+
2789
+ # Update properties of this object
2790
+ def update!(**args)
2791
+ @activation_policy = args[:activation_policy] if args.key?(:activation_policy)
2792
+ @active_directory_config = args[:active_directory_config] if args.key?(:active_directory_config)
2793
+ @authorized_gae_applications = args[:authorized_gae_applications] if args.key?(:authorized_gae_applications)
2794
+ @availability_type = args[:availability_type] if args.key?(:availability_type)
2795
+ @backup_configuration = args[:backup_configuration] if args.key?(:backup_configuration)
2796
+ @collation = args[:collation] if args.key?(:collation)
2797
+ @crash_safe_replication_enabled = args[:crash_safe_replication_enabled] if args.key?(:crash_safe_replication_enabled)
2798
+ @data_disk_size_gb = args[:data_disk_size_gb] if args.key?(:data_disk_size_gb)
2799
+ @data_disk_type = args[:data_disk_type] if args.key?(:data_disk_type)
2800
+ @database_flags = args[:database_flags] if args.key?(:database_flags)
2801
+ @database_replication_enabled = args[:database_replication_enabled] if args.key?(:database_replication_enabled)
2802
+ @deny_maintenance_periods = args[:deny_maintenance_periods] if args.key?(:deny_maintenance_periods)
2803
+ @insights_config = args[:insights_config] if args.key?(:insights_config)
2804
+ @ip_configuration = args[:ip_configuration] if args.key?(:ip_configuration)
2805
+ @kind = args[:kind] if args.key?(:kind)
2806
+ @location_preference = args[:location_preference] if args.key?(:location_preference)
2807
+ @maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
2808
+ @pricing_plan = args[:pricing_plan] if args.key?(:pricing_plan)
2809
+ @replication_type = args[:replication_type] if args.key?(:replication_type)
2810
+ @settings_version = args[:settings_version] if args.key?(:settings_version)
2811
+ @sql_server_audit_config = args[:sql_server_audit_config] if args.key?(:sql_server_audit_config)
2812
+ @storage_auto_resize = args[:storage_auto_resize] if args.key?(:storage_auto_resize)
2813
+ @storage_auto_resize_limit = args[:storage_auto_resize_limit] if args.key?(:storage_auto_resize_limit)
2814
+ @tier = args[:tier] if args.key?(:tier)
2815
+ @user_labels = args[:user_labels] if args.key?(:user_labels)
2816
+ end
2817
+ end
2818
+
2819
+ # Active Directory configuration, relevant only for Cloud SQL for SQL Server.
2820
+ class SqlActiveDirectoryConfig
2821
+ include Google::Apis::Core::Hashable
2822
+
2823
+ # The name of the domain (e.g., mydomain.com).
2824
+ # Corresponds to the JSON property `domain`
2825
+ # @return [String]
2826
+ attr_accessor :domain
2827
+
2828
+ # This is always sql#activeDirectoryConfig.
2829
+ # Corresponds to the JSON property `kind`
2830
+ # @return [String]
2831
+ attr_accessor :kind
2832
+
2833
+ def initialize(**args)
2834
+ update!(**args)
2835
+ end
2836
+
2837
+ # Update properties of this object
2838
+ def update!(**args)
2839
+ @domain = args[:domain] if args.key?(:domain)
2840
+ @kind = args[:kind] if args.key?(:kind)
2841
+ end
2842
+ end
2843
+
2844
+ # External primary instance migration setting error/warning.
2845
+ class SqlExternalSyncSettingError
2846
+ include Google::Apis::Core::Hashable
2847
+
2848
+ # Additional information about the error encountered.
2849
+ # Corresponds to the JSON property `detail`
2850
+ # @return [String]
2851
+ attr_accessor :detail
2852
+
2853
+ # Can be *sql#externalSyncSettingError* or *sql#externalSyncSettingWarning*.
2854
+ # Corresponds to the JSON property `kind`
2855
+ # @return [String]
2856
+ attr_accessor :kind
2857
+
2858
+ # Identifies the specific error that occurred.
2859
+ # Corresponds to the JSON property `type`
2860
+ # @return [String]
2861
+ attr_accessor :type
2862
+
2863
+ def initialize(**args)
2864
+ update!(**args)
2865
+ end
2866
+
2867
+ # Update properties of this object
2868
+ def update!(**args)
2869
+ @detail = args[:detail] if args.key?(:detail)
2870
+ @kind = args[:kind] if args.key?(:kind)
2871
+ @type = args[:type] if args.key?(:type)
2872
+ end
2873
+ end
2874
+
2875
+ # Reschedule options for maintenance windows.
2876
+ class SqlInstancesRescheduleMaintenanceRequestBody
2877
+ include Google::Apis::Core::Hashable
2878
+
2879
+ # Required. The type of the reschedule the user wants.
2880
+ # Corresponds to the JSON property `reschedule`
2881
+ # @return [Google::Apis::SqladminV1::Reschedule]
2882
+ attr_accessor :reschedule
2883
+
2884
+ def initialize(**args)
2885
+ update!(**args)
2886
+ end
2887
+
2888
+ # Update properties of this object
2889
+ def update!(**args)
2890
+ @reschedule = args[:reschedule] if args.key?(:reschedule)
2891
+ end
2892
+ end
2893
+
2894
+ # Instance start external sync request.
2895
+ class SqlInstancesStartExternalSyncRequest
2896
+ include Google::Apis::Core::Hashable
2897
+
2898
+ # MySQL-specific external server sync settings.
2899
+ # Corresponds to the JSON property `mysqlSyncConfig`
2900
+ # @return [Google::Apis::SqladminV1::MySqlSyncConfig]
2901
+ attr_accessor :mysql_sync_config
2902
+
2903
+ # Whether to skip the verification step (VESS).
2904
+ # Corresponds to the JSON property `skipVerification`
2905
+ # @return [Boolean]
2906
+ attr_accessor :skip_verification
2907
+ alias_method :skip_verification?, :skip_verification
2908
+
2909
+ # External sync mode.
2910
+ # Corresponds to the JSON property `syncMode`
2911
+ # @return [String]
2912
+ attr_accessor :sync_mode
2913
+
2914
+ def initialize(**args)
2915
+ update!(**args)
2916
+ end
2917
+
2918
+ # Update properties of this object
2919
+ def update!(**args)
2920
+ @mysql_sync_config = args[:mysql_sync_config] if args.key?(:mysql_sync_config)
2921
+ @skip_verification = args[:skip_verification] if args.key?(:skip_verification)
2922
+ @sync_mode = args[:sync_mode] if args.key?(:sync_mode)
2923
+ end
2924
+ end
2925
+
2926
+ # Instance verify external sync settings request.
2927
+ class SqlInstancesVerifyExternalSyncSettingsRequest
2928
+ include Google::Apis::Core::Hashable
2929
+
2930
+ # MySQL-specific external server sync settings.
2931
+ # Corresponds to the JSON property `mysqlSyncConfig`
2932
+ # @return [Google::Apis::SqladminV1::MySqlSyncConfig]
2933
+ attr_accessor :mysql_sync_config
2934
+
2935
+ # External sync mode
2936
+ # Corresponds to the JSON property `syncMode`
2937
+ # @return [String]
2938
+ attr_accessor :sync_mode
2939
+
2940
+ # Flag to enable verifying connection only
2941
+ # Corresponds to the JSON property `verifyConnectionOnly`
2942
+ # @return [Boolean]
2943
+ attr_accessor :verify_connection_only
2944
+ alias_method :verify_connection_only?, :verify_connection_only
2945
+
2946
+ # Optional. Flag to verify settings required by replication setup only
2947
+ # Corresponds to the JSON property `verifyReplicationOnly`
2948
+ # @return [Boolean]
2949
+ attr_accessor :verify_replication_only
2950
+ alias_method :verify_replication_only?, :verify_replication_only
2951
+
2952
+ def initialize(**args)
2953
+ update!(**args)
2954
+ end
2955
+
2956
+ # Update properties of this object
2957
+ def update!(**args)
2958
+ @mysql_sync_config = args[:mysql_sync_config] if args.key?(:mysql_sync_config)
2959
+ @sync_mode = args[:sync_mode] if args.key?(:sync_mode)
2960
+ @verify_connection_only = args[:verify_connection_only] if args.key?(:verify_connection_only)
2961
+ @verify_replication_only = args[:verify_replication_only] if args.key?(:verify_replication_only)
2962
+ end
2963
+ end
2964
+
2965
+ # Instance verify external sync settings response.
2966
+ class SqlInstancesVerifyExternalSyncSettingsResponse
2967
+ include Google::Apis::Core::Hashable
2968
+
2969
+ # List of migration violations.
2970
+ # Corresponds to the JSON property `errors`
2971
+ # @return [Array<Google::Apis::SqladminV1::SqlExternalSyncSettingError>]
2972
+ attr_accessor :errors
2973
+
2974
+ # This is always *sql#migrationSettingErrorList*.
2975
+ # Corresponds to the JSON property `kind`
2976
+ # @return [String]
2977
+ attr_accessor :kind
2978
+
2979
+ # List of migration warnings.
2980
+ # Corresponds to the JSON property `warnings`
2981
+ # @return [Array<Google::Apis::SqladminV1::SqlExternalSyncSettingError>]
2982
+ attr_accessor :warnings
1161
2983
 
1162
2984
  def initialize(**args)
1163
2985
  update!(**args)
@@ -1165,157 +2987,321 @@ module Google
1165
2987
 
1166
2988
  # Update properties of this object
1167
2989
  def update!(**args)
1168
- @failover_target = args[:failover_target] if args.key?(:failover_target)
2990
+ @errors = args[:errors] if args.key?(:errors)
1169
2991
  @kind = args[:kind] if args.key?(:kind)
1170
- @mysql_replica_configuration = args[:mysql_replica_configuration] if args.key?(:mysql_replica_configuration)
2992
+ @warnings = args[:warnings] if args.key?(:warnings)
1171
2993
  end
1172
2994
  end
1173
2995
 
1174
- # Database instance settings.
1175
- class Settings
2996
+ # This message wraps up the information written by out-of-disk detection job.
2997
+ class SqlOutOfDiskReport
1176
2998
  include Google::Apis::Core::Hashable
1177
2999
 
1178
- # The activation policy specifies when the instance is activated; it is
1179
- # applicable only when the instance state is RUNNABLE. Valid values: **ALWAYS**:
1180
- # The instance is on, and remains so even in the absence of connection requests.
1181
- # **NEVER**: The instance is off; it is not activated, even if a connection
1182
- # request arrives.
1183
- # Corresponds to the JSON property `activationPolicy`
3000
+ # The minimum recommended increase size in GigaBytes This field is consumed by
3001
+ # the frontend * Writers: * the proactive database wellness job for OOD. *
3002
+ # Readers:
3003
+ # Corresponds to the JSON property `sqlMinRecommendedIncreaseSizeGb`
3004
+ # @return [Fixnum]
3005
+ attr_accessor :sql_min_recommended_increase_size_gb
3006
+
3007
+ # This field represents the state generated by the proactive database wellness
3008
+ # job for OutOfDisk issues. * Writers: * the proactive database wellness job for
3009
+ # OOD. * Readers: * the proactive database wellness job
3010
+ # Corresponds to the JSON property `sqlOutOfDiskState`
1184
3011
  # @return [String]
1185
- attr_accessor :activation_policy
3012
+ attr_accessor :sql_out_of_disk_state
1186
3013
 
1187
- # Active Directory configuration, relevant only for Cloud SQL for SQL Server.
1188
- # Corresponds to the JSON property `activeDirectoryConfig`
1189
- # @return [Google::Apis::SqladminV1::SqlActiveDirectoryConfig]
1190
- attr_accessor :active_directory_config
3014
+ def initialize(**args)
3015
+ update!(**args)
3016
+ end
1191
3017
 
1192
- # Availability type. Potential values: **ZONAL**: The instance serves data from
1193
- # only one zone. Outages in that zone affect data accessibility. **REGIONAL**:
1194
- # The instance can serve data from more than one zone in a region (it is highly
1195
- # available). For more information, see [Overview of the High Availability
1196
- # Configuration](/sql/docs/postgres/high-availability).
1197
- # Corresponds to the JSON property `availabilityType`
3018
+ # Update properties of this object
3019
+ def update!(**args)
3020
+ @sql_min_recommended_increase_size_gb = args[:sql_min_recommended_increase_size_gb] if args.key?(:sql_min_recommended_increase_size_gb)
3021
+ @sql_out_of_disk_state = args[:sql_out_of_disk_state] if args.key?(:sql_out_of_disk_state)
3022
+ end
3023
+ end
3024
+
3025
+ # Any scheduled maintenancce for this instance.
3026
+ class SqlScheduledMaintenance
3027
+ include Google::Apis::Core::Hashable
3028
+
3029
+ #
3030
+ # Corresponds to the JSON property `canDefer`
3031
+ # @return [Boolean]
3032
+ attr_accessor :can_defer
3033
+ alias_method :can_defer?, :can_defer
3034
+
3035
+ # If the scheduled maintenance can be rescheduled.
3036
+ # Corresponds to the JSON property `canReschedule`
3037
+ # @return [Boolean]
3038
+ attr_accessor :can_reschedule
3039
+ alias_method :can_reschedule?, :can_reschedule
3040
+
3041
+ # Maintenance cannot be rescheduled to start beyond this deadline.
3042
+ # Corresponds to the JSON property `scheduleDeadlineTime`
1198
3043
  # @return [String]
1199
- attr_accessor :availability_type
3044
+ attr_accessor :schedule_deadline_time
1200
3045
 
1201
- # Database instance backup configuration.
1202
- # Corresponds to the JSON property `backupConfiguration`
1203
- # @return [Google::Apis::SqladminV1::BackupConfiguration]
1204
- attr_accessor :backup_configuration
3046
+ # The start time of any upcoming scheduled maintenance for this instance.
3047
+ # Corresponds to the JSON property `startTime`
3048
+ # @return [String]
3049
+ attr_accessor :start_time
1205
3050
 
1206
- # The name of server Instance collation.
1207
- # Corresponds to the JSON property `collation`
3051
+ def initialize(**args)
3052
+ update!(**args)
3053
+ end
3054
+
3055
+ # Update properties of this object
3056
+ def update!(**args)
3057
+ @can_defer = args[:can_defer] if args.key?(:can_defer)
3058
+ @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
3059
+ @schedule_deadline_time = args[:schedule_deadline_time] if args.key?(:schedule_deadline_time)
3060
+ @start_time = args[:start_time] if args.key?(:start_time)
3061
+ end
3062
+ end
3063
+
3064
+ # SQL Server specific audit configuration.
3065
+ class SqlServerAuditConfig
3066
+ include Google::Apis::Core::Hashable
3067
+
3068
+ # The name of the destination bucket (e.g., gs://mybucket).
3069
+ # Corresponds to the JSON property `bucket`
1208
3070
  # @return [String]
1209
- attr_accessor :collation
3071
+ attr_accessor :bucket
1210
3072
 
1211
- # Configuration specific to read replica instances. Indicates whether database
1212
- # flags for crash-safe replication are enabled. This property was only
1213
- # applicable to First Generation instances.
1214
- # Corresponds to the JSON property `crashSafeReplicationEnabled`
1215
- # @return [Boolean]
1216
- attr_accessor :crash_safe_replication_enabled
1217
- alias_method :crash_safe_replication_enabled?, :crash_safe_replication_enabled
3073
+ # This is always sql#sqlServerAuditConfig
3074
+ # Corresponds to the JSON property `kind`
3075
+ # @return [String]
3076
+ attr_accessor :kind
1218
3077
 
1219
- # The size of data disk, in GB. The data disk size minimum is 10GB.
1220
- # Corresponds to the JSON property `dataDiskSizeGb`
3078
+ def initialize(**args)
3079
+ update!(**args)
3080
+ end
3081
+
3082
+ # Update properties of this object
3083
+ def update!(**args)
3084
+ @bucket = args[:bucket] if args.key?(:bucket)
3085
+ @kind = args[:kind] if args.key?(:kind)
3086
+ end
3087
+ end
3088
+
3089
+ # Represents a Sql Server database on the Cloud SQL instance.
3090
+ class SqlServerDatabaseDetails
3091
+ include Google::Apis::Core::Hashable
3092
+
3093
+ # The version of SQL Server with which the database is to be made compatible
3094
+ # Corresponds to the JSON property `compatibilityLevel`
1221
3095
  # @return [Fixnum]
1222
- attr_accessor :data_disk_size_gb
3096
+ attr_accessor :compatibility_level
1223
3097
 
1224
- # The type of data disk: **PD_SSD** (default) or **PD_HDD**.
1225
- # Corresponds to the JSON property `dataDiskType`
3098
+ # The recovery model of a SQL Server database
3099
+ # Corresponds to the JSON property `recoveryModel`
1226
3100
  # @return [String]
1227
- attr_accessor :data_disk_type
3101
+ attr_accessor :recovery_model
1228
3102
 
1229
- # The database flags passed to the instance at startup.
1230
- # Corresponds to the JSON property `databaseFlags`
1231
- # @return [Array<Google::Apis::SqladminV1::DatabaseFlags>]
1232
- attr_accessor :database_flags
3103
+ def initialize(**args)
3104
+ update!(**args)
3105
+ end
1233
3106
 
1234
- # Configuration specific to read replica instances. Indicates whether
1235
- # replication is enabled or not.
1236
- # Corresponds to the JSON property `databaseReplicationEnabled`
3107
+ # Update properties of this object
3108
+ def update!(**args)
3109
+ @compatibility_level = args[:compatibility_level] if args.key?(:compatibility_level)
3110
+ @recovery_model = args[:recovery_model] if args.key?(:recovery_model)
3111
+ end
3112
+ end
3113
+
3114
+ # Represents a Sql Server user on the Cloud SQL instance.
3115
+ class SqlServerUserDetails
3116
+ include Google::Apis::Core::Hashable
3117
+
3118
+ # If the user has been disabled
3119
+ # Corresponds to the JSON property `disabled`
1237
3120
  # @return [Boolean]
1238
- attr_accessor :database_replication_enabled
1239
- alias_method :database_replication_enabled?, :database_replication_enabled
3121
+ attr_accessor :disabled
3122
+ alias_method :disabled?, :disabled
1240
3123
 
1241
- # Deny maintenance periods
1242
- # Corresponds to the JSON property `denyMaintenancePeriods`
1243
- # @return [Array<Google::Apis::SqladminV1::DenyMaintenancePeriod>]
1244
- attr_accessor :deny_maintenance_periods
3124
+ # The server roles for this user
3125
+ # Corresponds to the JSON property `serverRoles`
3126
+ # @return [Array<String>]
3127
+ attr_accessor :server_roles
1245
3128
 
1246
- # Insights configuration. This specifies when Cloud SQL Insights feature is
1247
- # enabled and optional configuration.
1248
- # Corresponds to the JSON property `insightsConfig`
1249
- # @return [Google::Apis::SqladminV1::InsightsConfig]
1250
- attr_accessor :insights_config
3129
+ def initialize(**args)
3130
+ update!(**args)
3131
+ end
1251
3132
 
1252
- # IP Management configuration.
1253
- # Corresponds to the JSON property `ipConfiguration`
1254
- # @return [Google::Apis::SqladminV1::IpConfiguration]
1255
- attr_accessor :ip_configuration
3133
+ # Update properties of this object
3134
+ def update!(**args)
3135
+ @disabled = args[:disabled] if args.key?(:disabled)
3136
+ @server_roles = args[:server_roles] if args.key?(:server_roles)
3137
+ end
3138
+ end
1256
3139
 
1257
- # This is always **sql#settings**.
3140
+ # SslCerts Resource
3141
+ class SslCert
3142
+ include Google::Apis::Core::Hashable
3143
+
3144
+ # PEM representation.
3145
+ # Corresponds to the JSON property `cert`
3146
+ # @return [String]
3147
+ attr_accessor :cert
3148
+
3149
+ # Serial number, as extracted from the certificate.
3150
+ # Corresponds to the JSON property `certSerialNumber`
3151
+ # @return [String]
3152
+ attr_accessor :cert_serial_number
3153
+
3154
+ # User supplied name. Constrained to [a-zA-Z.-_ ]+.
3155
+ # Corresponds to the JSON property `commonName`
3156
+ # @return [String]
3157
+ attr_accessor :common_name
3158
+
3159
+ # The time when the certificate was created in [RFC 3339](https://tools.ietf.org/
3160
+ # html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**
3161
+ # Corresponds to the JSON property `createTime`
3162
+ # @return [String]
3163
+ attr_accessor :create_time
3164
+
3165
+ # The time when the certificate expires in [RFC 3339](https://tools.ietf.org/
3166
+ # html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
3167
+ # Corresponds to the JSON property `expirationTime`
3168
+ # @return [String]
3169
+ attr_accessor :expiration_time
3170
+
3171
+ # Name of the database instance.
3172
+ # Corresponds to the JSON property `instance`
3173
+ # @return [String]
3174
+ attr_accessor :instance
3175
+
3176
+ # This is always **sql#sslCert**.
1258
3177
  # Corresponds to the JSON property `kind`
1259
3178
  # @return [String]
1260
3179
  attr_accessor :kind
1261
3180
 
1262
- # Preferred location. This specifies where a Cloud SQL instance is located. Note
1263
- # that if the preferred location is not available, the instance will be located
1264
- # as close as possible within the region. Only one location may be specified.
1265
- # Corresponds to the JSON property `locationPreference`
1266
- # @return [Google::Apis::SqladminV1::LocationPreference]
1267
- attr_accessor :location_preference
3181
+ # The URI of this resource.
3182
+ # Corresponds to the JSON property `selfLink`
3183
+ # @return [String]
3184
+ attr_accessor :self_link
3185
+
3186
+ # Sha1 Fingerprint.
3187
+ # Corresponds to the JSON property `sha1Fingerprint`
3188
+ # @return [String]
3189
+ attr_accessor :sha1_fingerprint
3190
+
3191
+ def initialize(**args)
3192
+ update!(**args)
3193
+ end
3194
+
3195
+ # Update properties of this object
3196
+ def update!(**args)
3197
+ @cert = args[:cert] if args.key?(:cert)
3198
+ @cert_serial_number = args[:cert_serial_number] if args.key?(:cert_serial_number)
3199
+ @common_name = args[:common_name] if args.key?(:common_name)
3200
+ @create_time = args[:create_time] if args.key?(:create_time)
3201
+ @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
3202
+ @instance = args[:instance] if args.key?(:instance)
3203
+ @kind = args[:kind] if args.key?(:kind)
3204
+ @self_link = args[:self_link] if args.key?(:self_link)
3205
+ @sha1_fingerprint = args[:sha1_fingerprint] if args.key?(:sha1_fingerprint)
3206
+ end
3207
+ end
3208
+
3209
+ # SslCertDetail.
3210
+ class SslCertDetail
3211
+ include Google::Apis::Core::Hashable
3212
+
3213
+ # SslCerts Resource
3214
+ # Corresponds to the JSON property `certInfo`
3215
+ # @return [Google::Apis::SqladminV1::SslCert]
3216
+ attr_accessor :cert_info
3217
+
3218
+ # The private key for the client cert, in pem format. Keep private in order to
3219
+ # protect your security.
3220
+ # Corresponds to the JSON property `certPrivateKey`
3221
+ # @return [String]
3222
+ attr_accessor :cert_private_key
3223
+
3224
+ def initialize(**args)
3225
+ update!(**args)
3226
+ end
3227
+
3228
+ # Update properties of this object
3229
+ def update!(**args)
3230
+ @cert_info = args[:cert_info] if args.key?(:cert_info)
3231
+ @cert_private_key = args[:cert_private_key] if args.key?(:cert_private_key)
3232
+ end
3233
+ end
3234
+
3235
+ # SslCerts create ephemeral certificate request.
3236
+ class SslCertsCreateEphemeralRequest
3237
+ include Google::Apis::Core::Hashable
3238
+
3239
+ # Access token to include in the signed certificate.
3240
+ # Corresponds to the JSON property `access_token`
3241
+ # @return [String]
3242
+ attr_accessor :access_token
3243
+
3244
+ # PEM encoded public key to include in the signed certificate.
3245
+ # Corresponds to the JSON property `public_key`
3246
+ # @return [String]
3247
+ attr_accessor :public_key
3248
+
3249
+ def initialize(**args)
3250
+ update!(**args)
3251
+ end
3252
+
3253
+ # Update properties of this object
3254
+ def update!(**args)
3255
+ @access_token = args[:access_token] if args.key?(:access_token)
3256
+ @public_key = args[:public_key] if args.key?(:public_key)
3257
+ end
3258
+ end
1268
3259
 
1269
- # Maintenance window. This specifies when a Cloud SQL instance is restarted for
1270
- # system maintenance purposes.
1271
- # Corresponds to the JSON property `maintenanceWindow`
1272
- # @return [Google::Apis::SqladminV1::MaintenanceWindow]
1273
- attr_accessor :maintenance_window
3260
+ # SslCerts insert request.
3261
+ class SslCertsInsertRequest
3262
+ include Google::Apis::Core::Hashable
1274
3263
 
1275
- # The pricing plan for this instance. This can be either **PER_USE** or **
1276
- # PACKAGE**. Only **PER_USE** is supported for Second Generation instances.
1277
- # Corresponds to the JSON property `pricingPlan`
3264
+ # User supplied name. Must be a distinct name from the other certificates for
3265
+ # this instance.
3266
+ # Corresponds to the JSON property `commonName`
1278
3267
  # @return [String]
1279
- attr_accessor :pricing_plan
3268
+ attr_accessor :common_name
1280
3269
 
1281
- # The type of replication this instance uses. This can be either **ASYNCHRONOUS**
1282
- # or **SYNCHRONOUS**. (Deprecated) This property was only applicable to First
1283
- # Generation instances.
1284
- # Corresponds to the JSON property `replicationType`
1285
- # @return [String]
1286
- attr_accessor :replication_type
3270
+ def initialize(**args)
3271
+ update!(**args)
3272
+ end
1287
3273
 
1288
- # The version of instance settings. This is a required field for update method
1289
- # to make sure concurrent updates are handled properly. During update, use the
1290
- # most recent settingsVersion value for this instance and do not try to update
1291
- # this value.
1292
- # Corresponds to the JSON property `settingsVersion`
1293
- # @return [Fixnum]
1294
- attr_accessor :settings_version
3274
+ # Update properties of this object
3275
+ def update!(**args)
3276
+ @common_name = args[:common_name] if args.key?(:common_name)
3277
+ end
3278
+ end
1295
3279
 
1296
- # Configuration to increase storage size automatically. The default value is
1297
- # true.
1298
- # Corresponds to the JSON property `storageAutoResize`
1299
- # @return [Boolean]
1300
- attr_accessor :storage_auto_resize
1301
- alias_method :storage_auto_resize?, :storage_auto_resize
3280
+ # SslCert insert response.
3281
+ class SslCertsInsertResponse
3282
+ include Google::Apis::Core::Hashable
1302
3283
 
1303
- # The maximum size to which storage capacity can be automatically increased. The
1304
- # default value is 0, which specifies that there is no limit.
1305
- # Corresponds to the JSON property `storageAutoResizeLimit`
1306
- # @return [Fixnum]
1307
- attr_accessor :storage_auto_resize_limit
3284
+ # SslCertDetail.
3285
+ # Corresponds to the JSON property `clientCert`
3286
+ # @return [Google::Apis::SqladminV1::SslCertDetail]
3287
+ attr_accessor :client_cert
1308
3288
 
1309
- # The tier (or machine type) for this instance, for example **db-custom-1-3840**.
1310
- # Corresponds to the JSON property `tier`
3289
+ # This is always *sql#sslCertsInsert*.
3290
+ # Corresponds to the JSON property `kind`
1311
3291
  # @return [String]
1312
- attr_accessor :tier
3292
+ attr_accessor :kind
1313
3293
 
1314
- # User-provided labels, represented as a dictionary where each label is a single
1315
- # key value pair.
1316
- # Corresponds to the JSON property `userLabels`
1317
- # @return [Hash<String,String>]
1318
- attr_accessor :user_labels
3294
+ # An Operation resource. For successful operations that return an Operation
3295
+ # resource, only the fields relevant to the operation are populated in the
3296
+ # resource.
3297
+ # Corresponds to the JSON property `operation`
3298
+ # @return [Google::Apis::SqladminV1::Operation]
3299
+ attr_accessor :operation
3300
+
3301
+ # SslCerts Resource
3302
+ # Corresponds to the JSON property `serverCaCert`
3303
+ # @return [Google::Apis::SqladminV1::SslCert]
3304
+ attr_accessor :server_ca_cert
1319
3305
 
1320
3306
  def initialize(**args)
1321
3307
  update!(**args)
@@ -1323,42 +3309,23 @@ module Google
1323
3309
 
1324
3310
  # Update properties of this object
1325
3311
  def update!(**args)
1326
- @activation_policy = args[:activation_policy] if args.key?(:activation_policy)
1327
- @active_directory_config = args[:active_directory_config] if args.key?(:active_directory_config)
1328
- @availability_type = args[:availability_type] if args.key?(:availability_type)
1329
- @backup_configuration = args[:backup_configuration] if args.key?(:backup_configuration)
1330
- @collation = args[:collation] if args.key?(:collation)
1331
- @crash_safe_replication_enabled = args[:crash_safe_replication_enabled] if args.key?(:crash_safe_replication_enabled)
1332
- @data_disk_size_gb = args[:data_disk_size_gb] if args.key?(:data_disk_size_gb)
1333
- @data_disk_type = args[:data_disk_type] if args.key?(:data_disk_type)
1334
- @database_flags = args[:database_flags] if args.key?(:database_flags)
1335
- @database_replication_enabled = args[:database_replication_enabled] if args.key?(:database_replication_enabled)
1336
- @deny_maintenance_periods = args[:deny_maintenance_periods] if args.key?(:deny_maintenance_periods)
1337
- @insights_config = args[:insights_config] if args.key?(:insights_config)
1338
- @ip_configuration = args[:ip_configuration] if args.key?(:ip_configuration)
3312
+ @client_cert = args[:client_cert] if args.key?(:client_cert)
1339
3313
  @kind = args[:kind] if args.key?(:kind)
1340
- @location_preference = args[:location_preference] if args.key?(:location_preference)
1341
- @maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
1342
- @pricing_plan = args[:pricing_plan] if args.key?(:pricing_plan)
1343
- @replication_type = args[:replication_type] if args.key?(:replication_type)
1344
- @settings_version = args[:settings_version] if args.key?(:settings_version)
1345
- @storage_auto_resize = args[:storage_auto_resize] if args.key?(:storage_auto_resize)
1346
- @storage_auto_resize_limit = args[:storage_auto_resize_limit] if args.key?(:storage_auto_resize_limit)
1347
- @tier = args[:tier] if args.key?(:tier)
1348
- @user_labels = args[:user_labels] if args.key?(:user_labels)
3314
+ @operation = args[:operation] if args.key?(:operation)
3315
+ @server_ca_cert = args[:server_ca_cert] if args.key?(:server_ca_cert)
1349
3316
  end
1350
3317
  end
1351
3318
 
1352
- # Active Directory configuration, relevant only for Cloud SQL for SQL Server.
1353
- class SqlActiveDirectoryConfig
3319
+ # SslCerts list response.
3320
+ class SslCertsListResponse
1354
3321
  include Google::Apis::Core::Hashable
1355
3322
 
1356
- # The name of the domain (e.g., mydomain.com).
1357
- # Corresponds to the JSON property `domain`
1358
- # @return [String]
1359
- attr_accessor :domain
3323
+ # List of client certificates for the instance.
3324
+ # Corresponds to the JSON property `items`
3325
+ # @return [Array<Google::Apis::SqladminV1::SslCert>]
3326
+ attr_accessor :items
1360
3327
 
1361
- # This is always sql#activeDirectoryConfig.
3328
+ # This is always *sql#sslCertsList*.
1362
3329
  # Corresponds to the JSON property `kind`
1363
3330
  # @return [String]
1364
3331
  attr_accessor :kind
@@ -1369,28 +3336,26 @@ module Google
1369
3336
 
1370
3337
  # Update properties of this object
1371
3338
  def update!(**args)
1372
- @domain = args[:domain] if args.key?(:domain)
3339
+ @items = args[:items] if args.key?(:items)
1373
3340
  @kind = args[:kind] if args.key?(:kind)
1374
3341
  end
1375
3342
  end
1376
3343
 
1377
- # This message wraps up the information written by out-of-disk detection job.
1378
- class SqlOutOfDiskReport
3344
+ # Initial sync flags for certain Cloud SQL APIs. Currently used for the MySQL
3345
+ # external server initial dump.
3346
+ class SyncFlags
1379
3347
  include Google::Apis::Core::Hashable
1380
3348
 
1381
- # The minimum recommended increase size in GigaBytes This field is consumed by
1382
- # the frontend Writers: -- the proactive database wellness job for OOD. Readers:
1383
- # -- the Pantheon frontend
1384
- # Corresponds to the JSON property `sqlMinRecommendedIncreaseSizeGb`
1385
- # @return [Fixnum]
1386
- attr_accessor :sql_min_recommended_increase_size_gb
3349
+ # The name of the flag.
3350
+ # Corresponds to the JSON property `name`
3351
+ # @return [String]
3352
+ attr_accessor :name
1387
3353
 
1388
- # This field represents the state generated by the proactive database wellness
1389
- # job for OutOfDisk issues. Writers: -- the proactive database wellness job for
1390
- # OOD. Readers: -- the Pantheon frontend -- the proactive database wellness job
1391
- # Corresponds to the JSON property `sqlOutOfDiskState`
3354
+ # The value of the flag. This field must be omitted if the flag doesn't take a
3355
+ # value.
3356
+ # Corresponds to the JSON property `value`
1392
3357
  # @return [String]
1393
- attr_accessor :sql_out_of_disk_state
3358
+ attr_accessor :value
1394
3359
 
1395
3360
  def initialize(**args)
1396
3361
  update!(**args)
@@ -1398,36 +3363,40 @@ module Google
1398
3363
 
1399
3364
  # Update properties of this object
1400
3365
  def update!(**args)
1401
- @sql_min_recommended_increase_size_gb = args[:sql_min_recommended_increase_size_gb] if args.key?(:sql_min_recommended_increase_size_gb)
1402
- @sql_out_of_disk_state = args[:sql_out_of_disk_state] if args.key?(:sql_out_of_disk_state)
3366
+ @name = args[:name] if args.key?(:name)
3367
+ @value = args[:value] if args.key?(:value)
1403
3368
  end
1404
3369
  end
1405
3370
 
1406
- # Any scheduled maintenancce for this instance.
1407
- class SqlScheduledMaintenance
3371
+ # A Google Cloud SQL service tier resource.
3372
+ class Tier
1408
3373
  include Google::Apis::Core::Hashable
1409
3374
 
1410
- #
1411
- # Corresponds to the JSON property `canDefer`
1412
- # @return [Boolean]
1413
- attr_accessor :can_defer
1414
- alias_method :can_defer?, :can_defer
3375
+ # The maximum disk size of this tier in bytes.
3376
+ # Corresponds to the JSON property `DiskQuota`
3377
+ # @return [Fixnum]
3378
+ attr_accessor :disk_quota
1415
3379
 
1416
- # If the scheduled maintenance can be rescheduled.
1417
- # Corresponds to the JSON property `canReschedule`
1418
- # @return [Boolean]
1419
- attr_accessor :can_reschedule
1420
- alias_method :can_reschedule?, :can_reschedule
3380
+ # The maximum RAM usage of this tier in bytes.
3381
+ # Corresponds to the JSON property `RAM`
3382
+ # @return [Fixnum]
3383
+ attr_accessor :ram
1421
3384
 
1422
- # Maintenance cannot be rescheduled to start beyond this deadline.
1423
- # Corresponds to the JSON property `scheduleDeadlineTime`
3385
+ # This is always *sql#tier*.
3386
+ # Corresponds to the JSON property `kind`
1424
3387
  # @return [String]
1425
- attr_accessor :schedule_deadline_time
3388
+ attr_accessor :kind
1426
3389
 
1427
- # The start time of any upcoming scheduled maintenance for this instance.
1428
- # Corresponds to the JSON property `startTime`
3390
+ # The applicable regions for this tier.
3391
+ # Corresponds to the JSON property `region`
3392
+ # @return [Array<String>]
3393
+ attr_accessor :region
3394
+
3395
+ # An identifier for the machine type, for example, db-custom-1-3840. For related
3396
+ # information, see Pricing.
3397
+ # Corresponds to the JSON property `tier`
1429
3398
  # @return [String]
1430
- attr_accessor :start_time
3399
+ attr_accessor :tier
1431
3400
 
1432
3401
  def initialize(**args)
1433
3402
  update!(**args)
@@ -1435,58 +3404,120 @@ module Google
1435
3404
 
1436
3405
  # Update properties of this object
1437
3406
  def update!(**args)
1438
- @can_defer = args[:can_defer] if args.key?(:can_defer)
1439
- @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
1440
- @schedule_deadline_time = args[:schedule_deadline_time] if args.key?(:schedule_deadline_time)
1441
- @start_time = args[:start_time] if args.key?(:start_time)
3407
+ @disk_quota = args[:disk_quota] if args.key?(:disk_quota)
3408
+ @ram = args[:ram] if args.key?(:ram)
3409
+ @kind = args[:kind] if args.key?(:kind)
3410
+ @region = args[:region] if args.key?(:region)
3411
+ @tier = args[:tier] if args.key?(:tier)
1442
3412
  end
1443
3413
  end
1444
3414
 
1445
- # SslCerts Resource
1446
- class SslCert
3415
+ # Tiers list response.
3416
+ class TiersListResponse
1447
3417
  include Google::Apis::Core::Hashable
1448
3418
 
1449
- # PEM representation.
1450
- # Corresponds to the JSON property `cert`
3419
+ # List of tiers.
3420
+ # Corresponds to the JSON property `items`
3421
+ # @return [Array<Google::Apis::SqladminV1::Tier>]
3422
+ attr_accessor :items
3423
+
3424
+ # This is always *sql#tiersList*.
3425
+ # Corresponds to the JSON property `kind`
1451
3426
  # @return [String]
1452
- attr_accessor :cert
3427
+ attr_accessor :kind
1453
3428
 
1454
- # Serial number, as extracted from the certificate.
1455
- # Corresponds to the JSON property `certSerialNumber`
3429
+ def initialize(**args)
3430
+ update!(**args)
3431
+ end
3432
+
3433
+ # Update properties of this object
3434
+ def update!(**args)
3435
+ @items = args[:items] if args.key?(:items)
3436
+ @kind = args[:kind] if args.key?(:kind)
3437
+ end
3438
+ end
3439
+
3440
+ # Database Instance truncate log context.
3441
+ class TruncateLogContext
3442
+ include Google::Apis::Core::Hashable
3443
+
3444
+ # This is always *sql#truncateLogContext*.
3445
+ # Corresponds to the JSON property `kind`
1456
3446
  # @return [String]
1457
- attr_accessor :cert_serial_number
3447
+ attr_accessor :kind
1458
3448
 
1459
- # User supplied name. Constrained to [a-zA-Z.-_ ]+.
1460
- # Corresponds to the JSON property `commonName`
3449
+ # The type of log to truncate. Valid values are *MYSQL_GENERAL_TABLE* and *
3450
+ # MYSQL_SLOW_TABLE*.
3451
+ # Corresponds to the JSON property `logType`
1461
3452
  # @return [String]
1462
- attr_accessor :common_name
3453
+ attr_accessor :log_type
1463
3454
 
1464
- # The time when the certificate was created in [RFC 3339](https://tools.ietf.org/
1465
- # html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**
1466
- # Corresponds to the JSON property `createTime`
3455
+ def initialize(**args)
3456
+ update!(**args)
3457
+ end
3458
+
3459
+ # Update properties of this object
3460
+ def update!(**args)
3461
+ @kind = args[:kind] if args.key?(:kind)
3462
+ @log_type = args[:log_type] if args.key?(:log_type)
3463
+ end
3464
+ end
3465
+
3466
+ # A Cloud SQL user resource.
3467
+ class User
3468
+ include Google::Apis::Core::Hashable
3469
+
3470
+ # This field is deprecated and will be removed from a future version of the API.
3471
+ # Corresponds to the JSON property `etag`
1467
3472
  # @return [String]
1468
- attr_accessor :create_time
3473
+ attr_accessor :etag
1469
3474
 
1470
- # The time when the certificate expires in [RFC 3339](https://tools.ietf.org/
1471
- # html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
1472
- # Corresponds to the JSON property `expirationTime`
3475
+ # The host name from which the user can connect. For *insert* operations, host
3476
+ # defaults to an empty string. For *update* operations, host is specified as
3477
+ # part of the request URL. The host name cannot be updated after insertion.
3478
+ # Corresponds to the JSON property `host`
1473
3479
  # @return [String]
1474
- attr_accessor :expiration_time
3480
+ attr_accessor :host
1475
3481
 
1476
- # Name of the database instance.
3482
+ # The name of the Cloud SQL instance. This does not include the project ID. Can
3483
+ # be omitted for *update* since it is already specified on the URL.
1477
3484
  # Corresponds to the JSON property `instance`
1478
3485
  # @return [String]
1479
3486
  attr_accessor :instance
1480
3487
 
1481
- # This is always sql#sslCert.
3488
+ # This is always *sql#user*.
1482
3489
  # Corresponds to the JSON property `kind`
1483
3490
  # @return [String]
1484
3491
  attr_accessor :kind
1485
3492
 
1486
- # Sha1 Fingerprint.
1487
- # Corresponds to the JSON property `sha1Fingerprint`
3493
+ # The name of the user in the Cloud SQL instance. Can be omitted for *update*
3494
+ # since it is already specified in the URL.
3495
+ # Corresponds to the JSON property `name`
1488
3496
  # @return [String]
1489
- attr_accessor :sha1_fingerprint
3497
+ attr_accessor :name
3498
+
3499
+ # The password for the user.
3500
+ # Corresponds to the JSON property `password`
3501
+ # @return [String]
3502
+ attr_accessor :password
3503
+
3504
+ # The project ID of the project containing the Cloud SQL database. The Google
3505
+ # apps domain is prefixed if applicable. Can be omitted for *update* since it is
3506
+ # already specified on the URL.
3507
+ # Corresponds to the JSON property `project`
3508
+ # @return [String]
3509
+ attr_accessor :project
3510
+
3511
+ # Represents a Sql Server user on the Cloud SQL instance.
3512
+ # Corresponds to the JSON property `sqlserverUserDetails`
3513
+ # @return [Google::Apis::SqladminV1::SqlServerUserDetails]
3514
+ attr_accessor :sqlserver_user_details
3515
+
3516
+ # The user type. It determines the method to authenticate the user during login.
3517
+ # The default is the database's built-in user type.
3518
+ # Corresponds to the JSON property `type`
3519
+ # @return [String]
3520
+ attr_accessor :type
1490
3521
 
1491
3522
  def initialize(**args)
1492
3523
  update!(**args)
@@ -1494,30 +3525,38 @@ module Google
1494
3525
 
1495
3526
  # Update properties of this object
1496
3527
  def update!(**args)
1497
- @cert = args[:cert] if args.key?(:cert)
1498
- @cert_serial_number = args[:cert_serial_number] if args.key?(:cert_serial_number)
1499
- @common_name = args[:common_name] if args.key?(:common_name)
1500
- @create_time = args[:create_time] if args.key?(:create_time)
1501
- @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
3528
+ @etag = args[:etag] if args.key?(:etag)
3529
+ @host = args[:host] if args.key?(:host)
1502
3530
  @instance = args[:instance] if args.key?(:instance)
1503
3531
  @kind = args[:kind] if args.key?(:kind)
1504
- @sha1_fingerprint = args[:sha1_fingerprint] if args.key?(:sha1_fingerprint)
3532
+ @name = args[:name] if args.key?(:name)
3533
+ @password = args[:password] if args.key?(:password)
3534
+ @project = args[:project] if args.key?(:project)
3535
+ @sqlserver_user_details = args[:sqlserver_user_details] if args.key?(:sqlserver_user_details)
3536
+ @type = args[:type] if args.key?(:type)
1505
3537
  end
1506
3538
  end
1507
3539
 
1508
- # SslCerts create ephemeral certificate request.
1509
- class SslCertsCreateEphemeralRequest
3540
+ # User list response.
3541
+ class UsersListResponse
1510
3542
  include Google::Apis::Core::Hashable
1511
3543
 
1512
- # Access token to include in the signed certificate.
1513
- # Corresponds to the JSON property `access_token`
3544
+ # List of user resources in the instance.
3545
+ # Corresponds to the JSON property `items`
3546
+ # @return [Array<Google::Apis::SqladminV1::User>]
3547
+ attr_accessor :items
3548
+
3549
+ # This is always *sql#usersList*.
3550
+ # Corresponds to the JSON property `kind`
1514
3551
  # @return [String]
1515
- attr_accessor :access_token
3552
+ attr_accessor :kind
1516
3553
 
1517
- # PEM encoded public key to include in the signed certificate.
1518
- # Corresponds to the JSON property `public_key`
3554
+ # An identifier that uniquely identifies the operation. You can use this
3555
+ # identifier to retrieve the Operations resource that has information about the
3556
+ # operation.
3557
+ # Corresponds to the JSON property `nextPageToken`
1519
3558
  # @return [String]
1520
- attr_accessor :public_key
3559
+ attr_accessor :next_page_token
1521
3560
 
1522
3561
  def initialize(**args)
1523
3562
  update!(**args)
@@ -1525,8 +3564,9 @@ module Google
1525
3564
 
1526
3565
  # Update properties of this object
1527
3566
  def update!(**args)
1528
- @access_token = args[:access_token] if args.key?(:access_token)
1529
- @public_key = args[:public_key] if args.key?(:public_key)
3567
+ @items = args[:items] if args.key?(:items)
3568
+ @kind = args[:kind] if args.key?(:kind)
3569
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1530
3570
  end
1531
3571
  end
1532
3572
  end