google-apis-sqladmin_v1 0.2.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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