google-apis-sqladmin_v1 0.9.0 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -27,12 +27,12 @@ module Google
27
27
  include Google::Apis::Core::Hashable
28
28
 
29
29
  # The time when this access control entry expires in [RFC 3339](https://tools.
30
- # ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
30
+ # ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.
31
31
  # Corresponds to the JSON property `expirationTime`
32
32
  # @return [String]
33
33
  attr_accessor :expiration_time
34
34
 
35
- # This is always **sql#aclEntry**.
35
+ # This is always `sql#aclEntry`.
36
36
  # Corresponds to the JSON property `kind`
37
37
  # @return [String]
38
38
  attr_accessor :kind
@@ -114,7 +114,7 @@ module Google
114
114
  attr_accessor :enabled
115
115
  alias_method :enabled?, :enabled
116
116
 
117
- # This is always **sql#backupConfiguration**.
117
+ # This is always `sql#backupConfiguration`.
118
118
  # Corresponds to the JSON property `kind`
119
119
  # @return [String]
120
120
  attr_accessor :kind
@@ -137,7 +137,7 @@ module Google
137
137
  alias_method :replication_log_archiving_enabled?, :replication_log_archiving_enabled
138
138
 
139
139
  # Start time for the daily backup configuration in UTC timezone in the 24 hour
140
- # format - **HH:MM**.
140
+ # format - `HH:MM`.
141
141
  # Corresponds to the JSON property `startTime`
142
142
  # @return [String]
143
143
  attr_accessor :start_time
@@ -175,7 +175,7 @@ module Google
175
175
  # @return [Fixnum]
176
176
  attr_accessor :backup_id
177
177
 
178
- # This is always **sql#backupContext**.
178
+ # This is always `sql#backupContext`.
179
179
  # Corresponds to the JSON property `kind`
180
180
  # @return [String]
181
181
  attr_accessor :kind
@@ -244,13 +244,13 @@ module Google
244
244
  attr_accessor :disk_encryption_status
245
245
 
246
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**.
247
+ # tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.
248
248
  # Corresponds to the JSON property `endTime`
249
249
  # @return [String]
250
250
  attr_accessor :end_time
251
251
 
252
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**.
253
+ # org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.
254
254
  # Corresponds to the JSON property `enqueuedTime`
255
255
  # @return [String]
256
256
  attr_accessor :enqueued_time
@@ -271,7 +271,7 @@ module Google
271
271
  # @return [String]
272
272
  attr_accessor :instance
273
273
 
274
- # This is always **sql#backupRun**.
274
+ # This is always `sql#backupRun`.
275
275
  # Corresponds to the JSON property `kind`
276
276
  # @return [String]
277
277
  attr_accessor :kind
@@ -287,8 +287,8 @@ module Google
287
287
  attr_accessor :self_link
288
288
 
289
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**.
290
+ # https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.
291
+ # 094Z`.
292
292
  # Corresponds to the JSON property `startTime`
293
293
  # @return [String]
294
294
  attr_accessor :start_time
@@ -305,8 +305,8 @@ module Google
305
305
  attr_accessor :type
306
306
 
307
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**.
308
+ # in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-
309
+ # 11-15T16:19:00.094Z`.
310
310
  # Corresponds to the JSON property `windowStartTime`
311
311
  # @return [String]
312
312
  attr_accessor :window_start_time
@@ -345,7 +345,7 @@ module Google
345
345
  # @return [Array<Google::Apis::SqladminV1::BackupRun>]
346
346
  attr_accessor :items
347
347
 
348
- # This is always **sql#backupRunsList**.
348
+ # This is always `sql#backupRunsList`.
349
349
  # Corresponds to the JSON property `kind`
350
350
  # @return [String]
351
351
  attr_accessor :kind
@@ -382,7 +382,7 @@ module Google
382
382
  # @return [Fixnum]
383
383
  attr_accessor :bin_log_position
384
384
 
385
- # This is always **sql#binLogCoordinates**.
385
+ # This is always `sql#binLogCoordinates`.
386
386
  # Corresponds to the JSON property `kind`
387
387
  # @return [String]
388
388
  attr_accessor :kind
@@ -403,6 +403,16 @@ module Google
403
403
  class CloneContext
404
404
  include Google::Apis::Core::Hashable
405
405
 
406
+ # The name of the allocated ip range for the private ip CloudSQL instance. For
407
+ # example: "google-managed-services-default". If set, the cloned instance ip
408
+ # will be created in the allocated range. The range name must comply with [RFC
409
+ # 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-
410
+ # 63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?.
411
+ # Reserved for future use.
412
+ # Corresponds to the JSON property `allocatedIpRange`
413
+ # @return [String]
414
+ attr_accessor :allocated_ip_range
415
+
406
416
  # Binary log coordinates.
407
417
  # Corresponds to the JSON property `binLogCoordinates`
408
418
  # @return [Google::Apis::SqladminV1::BinLogCoordinates]
@@ -413,7 +423,7 @@ module Google
413
423
  # @return [String]
414
424
  attr_accessor :destination_instance_name
415
425
 
416
- # This is always **sql#cloneContext**.
426
+ # This is always `sql#cloneContext`.
417
427
  # Corresponds to the JSON property `kind`
418
428
  # @return [String]
419
429
  attr_accessor :kind
@@ -435,6 +445,7 @@ module Google
435
445
 
436
446
  # Update properties of this object
437
447
  def update!(**args)
448
+ @allocated_ip_range = args[:allocated_ip_range] if args.key?(:allocated_ip_range)
438
449
  @bin_log_coordinates = args[:bin_log_coordinates] if args.key?(:bin_log_coordinates)
439
450
  @destination_instance_name = args[:destination_instance_name] if args.key?(:destination_instance_name)
440
451
  @kind = args[:kind] if args.key?(:kind)
@@ -447,19 +458,21 @@ module Google
447
458
  class ConnectSettings
448
459
  include Google::Apis::Core::Hashable
449
460
 
450
- # **SECOND_GEN**: Cloud SQL database instance. **EXTERNAL**: A database server
451
- # that is not managed by Google. This property is read-only; use the **tier**
452
- # property in the **settings** object to determine the database type.
461
+ # `SECOND_GEN`: Cloud SQL database instance. `EXTERNAL`: A database server that
462
+ # is not managed by Google. This property is read-only; use the `tier` property
463
+ # in the `settings` object to determine the database type.
453
464
  # Corresponds to the JSON property `backendType`
454
465
  # @return [String]
455
466
  attr_accessor :backend_type
456
467
 
457
- # The database engine type and version. The **databaseVersion** field cannot be
458
- # changed after instance creation. MySQL instances: **MYSQL_8_0**, **MYSQL_5_7**
459
- # (default), or **MYSQL_5_6**. PostgreSQL instances: **POSTGRES_9_6**, **
460
- # POSTGRES_10**, **POSTGRES_11** or **POSTGRES_12** (default). SQL Server
461
- # instances: **SQLSERVER_2017_STANDARD** (default), **SQLSERVER_2017_ENTERPRISE**
462
- # , **SQLSERVER_2017_EXPRESS**, or **SQLSERVER_2017_WEB**.
468
+ # The database engine type and version. The `databaseVersion` field cannot be
469
+ # changed after instance creation. MySQL instances: `MYSQL_8_0`, `MYSQL_5_7` (
470
+ # default), or `MYSQL_5_6`. PostgreSQL instances: `POSTGRES_9_6`, `POSTGRES_10`,
471
+ # `POSTGRES_11`, `POSTGRES_12` (default), `POSTGRES_13`, or `POSTGRES_14`. SQL
472
+ # Server instances: `SQLSERVER_2017_STANDARD` (default), `
473
+ # SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`, `
474
+ # SQLSERVER_2019_STANDARD`, `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`
475
+ # , or `SQLSERVER_2019_WEB`.
463
476
  # Corresponds to the JSON property `databaseVersion`
464
477
  # @return [String]
465
478
  attr_accessor :database_version
@@ -474,8 +487,8 @@ module Google
474
487
  # @return [String]
475
488
  attr_accessor :kind
476
489
 
477
- # The cloud region for the instance. e.g. **us-central1**, **europe-west1**. The
478
- # region cannot be changed after instance creation.
490
+ # The cloud region for the instance. For example, `us-central1`, `europe-west1`.
491
+ # The region cannot be changed after instance creation.
479
492
  # Corresponds to the JSON property `region`
480
493
  # @return [String]
481
494
  attr_accessor :region
@@ -524,7 +537,7 @@ module Google
524
537
  # @return [String]
525
538
  attr_accessor :instance
526
539
 
527
- # This is always **sql#database**.
540
+ # This is always `sql#database`.
528
541
  # Corresponds to the JSON property `kind`
529
542
  # @return [String]
530
543
  attr_accessor :kind
@@ -581,7 +594,7 @@ module Google
581
594
  # @return [String]
582
595
  attr_accessor :name
583
596
 
584
- # The value of the flag. Booleans are set to **on** for true and **off** for
597
+ # The value of the flag. Boolean flags are set to `on` for true and `off` for
585
598
  # false. This field must be omitted if the flag doesn't take a value.
586
599
  # Corresponds to the JSON property `value`
587
600
  # @return [String]
@@ -602,10 +615,14 @@ module Google
602
615
  class DatabaseInstance
603
616
  include Google::Apis::Core::Hashable
604
617
 
605
- # The backend type. **SECOND_GEN**: Cloud SQL database instance. **EXTERNAL**: A
618
+ # List all maintenance versions applicable on the instance
619
+ # Corresponds to the JSON property `availableMaintenanceVersions`
620
+ # @return [Array<String>]
621
+ attr_accessor :available_maintenance_versions
622
+
623
+ # The backend type. `SECOND_GEN`: Cloud SQL database instance. `EXTERNAL`: A
606
624
  # database server that is not managed by Google. This property is read-only; use
607
- # the **tier** property in the **settings** object to determine the database
608
- # type.
625
+ # the `tier` property in the `settings` object to determine the database type.
609
626
  # Corresponds to the JSON property `backendType`
610
627
  # @return [String]
611
628
  attr_accessor :backend_type
@@ -616,7 +633,7 @@ module Google
616
633
  attr_accessor :connection_name
617
634
 
618
635
  # Output only. The time when the instance was created in [RFC 3339](https://
619
- # tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
636
+ # tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.
620
637
  # Corresponds to the JSON property `createTime`
621
638
  # @return [String]
622
639
  attr_accessor :create_time
@@ -630,7 +647,13 @@ module Google
630
647
  # @return [Fixnum]
631
648
  attr_accessor :current_disk_size
632
649
 
633
- # The database engine type and version. The **databaseVersion** field cannot be
650
+ # Output only. Stores the current database version running on the instance
651
+ # including minor version such as `MYSQL_8_0_18`.
652
+ # Corresponds to the JSON property `databaseInstalledVersion`
653
+ # @return [String]
654
+ attr_accessor :database_installed_version
655
+
656
+ # The database engine type and version. The `databaseVersion` field cannot be
634
657
  # changed after instance creation.
635
658
  # Corresponds to the JSON property `databaseVersion`
636
659
  # @return [String]
@@ -647,7 +670,7 @@ module Google
647
670
  attr_accessor :disk_encryption_status
648
671
 
649
672
  # This field is deprecated and will be removed from a future version of the API.
650
- # Use the **settings.settingsVersion** field instead.
673
+ # Use the `settings.settingsVersion` field instead.
651
674
  # Corresponds to the JSON property `etag`
652
675
  # @return [String]
653
676
  attr_accessor :etag
@@ -659,15 +682,13 @@ module Google
659
682
 
660
683
  # The Compute Engine zone that the instance is currently serving from. This
661
684
  # value could be different from the zone that was specified when the instance
662
- # was created if the instance has failed over to its secondary zone.
685
+ # was created if the instance has failed over to its secondary zone. WARNING:
686
+ # Changing this might restart the instance.
663
687
  # Corresponds to the JSON property `gceZone`
664
688
  # @return [String]
665
689
  attr_accessor :gce_zone
666
690
 
667
- # The instance type. This can be one of the following: * **CLOUD_SQL_INSTANCE**:
668
- # A Cloud SQL instance that is not replicating from a primary instance. * **
669
- # ON_PREMISES_INSTANCE**: An instance running on the customer's premises. * **
670
- # READ_REPLICA_INSTANCE**: A Cloud SQL instance configured as a read-replica.
691
+ # The instance type.
671
692
  # Corresponds to the JSON property `instanceType`
672
693
  # @return [String]
673
694
  attr_accessor :instance_type
@@ -683,11 +704,16 @@ module Google
683
704
  # @return [String]
684
705
  attr_accessor :ipv6_address
685
706
 
686
- # This is always **sql#instance**.
707
+ # This is always `sql#instance`.
687
708
  # Corresponds to the JSON property `kind`
688
709
  # @return [String]
689
710
  attr_accessor :kind
690
711
 
712
+ # The current software version on the instance.
713
+ # Corresponds to the JSON property `maintenanceVersion`
714
+ # @return [String]
715
+ attr_accessor :maintenance_version
716
+
691
717
  # The name of the instance which will act as primary in the replication setup.
692
718
  # Corresponds to the JSON property `masterInstanceName`
693
719
  # @return [String]
@@ -719,10 +745,10 @@ module Google
719
745
  # @return [String]
720
746
  attr_accessor :project
721
747
 
722
- # The geographical region. Can be: * **us-central** (**FIRST_GEN** instances
723
- # only) * **us-central1** (**SECOND_GEN** instances only) * **asia-east1** or **
724
- # europe-west1**. Defaults to **us-central** or **us-central1** depending on the
725
- # instance type. The region cannot be changed after instance creation.
748
+ # The geographical region. Can be: * `us-central` (`FIRST_GEN` instances only) *
749
+ # `us-central1` (`SECOND_GEN` instances only) * `asia-east1` or `europe-west1`.
750
+ # Defaults to `us-central` or `us-central1` depending on the instance type. The
751
+ # region cannot be changed after instance creation.
726
752
  # Corresponds to the JSON property `region`
727
753
  # @return [String]
728
754
  attr_accessor :region
@@ -771,7 +797,7 @@ module Google
771
797
  # @return [Google::Apis::SqladminV1::SslCert]
772
798
  attr_accessor :server_ca_cert
773
799
 
774
- # The service account email address assigned to the instance. This property is
800
+ # The service account email address assigned to the instance.\This property is
775
801
  # read-only.
776
802
  # Corresponds to the JSON property `serviceAccountEmailAddress`
777
803
  # @return [String]
@@ -798,10 +824,12 @@ module Google
798
824
 
799
825
  # Update properties of this object
800
826
  def update!(**args)
827
+ @available_maintenance_versions = args[:available_maintenance_versions] if args.key?(:available_maintenance_versions)
801
828
  @backend_type = args[:backend_type] if args.key?(:backend_type)
802
829
  @connection_name = args[:connection_name] if args.key?(:connection_name)
803
830
  @create_time = args[:create_time] if args.key?(:create_time)
804
831
  @current_disk_size = args[:current_disk_size] if args.key?(:current_disk_size)
832
+ @database_installed_version = args[:database_installed_version] if args.key?(:database_installed_version)
805
833
  @database_version = args[:database_version] if args.key?(:database_version)
806
834
  @disk_encryption_configuration = args[:disk_encryption_configuration] if args.key?(:disk_encryption_configuration)
807
835
  @disk_encryption_status = args[:disk_encryption_status] if args.key?(:disk_encryption_status)
@@ -812,6 +840,7 @@ module Google
812
840
  @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
813
841
  @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
814
842
  @kind = args[:kind] if args.key?(:kind)
843
+ @maintenance_version = args[:maintenance_version] if args.key?(:maintenance_version)
815
844
  @master_instance_name = args[:master_instance_name] if args.key?(:master_instance_name)
816
845
  @max_disk_size = args[:max_disk_size] if args.key?(:max_disk_size)
817
846
  @name = args[:name] if args.key?(:name)
@@ -873,7 +902,7 @@ module Google
873
902
  # @return [Array<Google::Apis::SqladminV1::Database>]
874
903
  attr_accessor :items
875
904
 
876
- # This is always **sql#databasesList**.
905
+ # This is always `sql#databasesList`.
877
906
  # Corresponds to the JSON property `kind`
878
907
  # @return [String]
879
908
  attr_accessor :kind
@@ -893,7 +922,7 @@ module Google
893
922
  class DemoteMasterConfiguration
894
923
  include Google::Apis::Core::Hashable
895
924
 
896
- # This is always **sql#demoteMasterConfiguration**.
925
+ # This is always `sql#demoteMasterConfiguration`.
897
926
  # Corresponds to the JSON property `kind`
898
927
  # @return [String]
899
928
  attr_accessor :kind
@@ -918,7 +947,7 @@ module Google
918
947
  class DemoteMasterContext
919
948
  include Google::Apis::Core::Hashable
920
949
 
921
- # This is always **sql#demoteMasterContext**.
950
+ # This is always `sql#demoteMasterContext`.
922
951
  # Corresponds to the JSON property `kind`
923
952
  # @return [String]
924
953
  attr_accessor :kind
@@ -940,12 +969,12 @@ module Google
940
969
  attr_accessor :skip_replication_setup
941
970
  alias_method :skip_replication_setup?, :skip_replication_setup
942
971
 
943
- # Verify GTID consistency for demote operation. Default value: **True**. Setting
944
- # this flag to false enables you to bypass GTID consistency check between on-
945
- # premises primary instance and Cloud SQL instance during the demotion operation
946
- # but also exposes you to the risk of future replication failures. Change the
947
- # value only if you know the reason for the GTID divergence and are confident
948
- # that doing so will not cause any replication issues.
972
+ # Verify the GTID consistency for demote operation. Default value: `True`.
973
+ # Setting this flag to `false` enables you to bypass the GTID consistency check
974
+ # between on-premises primary instance and Cloud SQL instance during the
975
+ # demotion operation but also exposes you to the risk of future replication
976
+ # failures. Change the value only if you know the reason for the GTID divergence
977
+ # and are confident that doing so will not cause any replication issues.
949
978
  # Corresponds to the JSON property `verifyGtidConsistency`
950
979
  # @return [Boolean]
951
980
  attr_accessor :verify_gtid_consistency
@@ -986,7 +1015,7 @@ module Google
986
1015
  # @return [String]
987
1016
  attr_accessor :client_key
988
1017
 
989
- # This is always **sql#demoteMasterMysqlReplicaConfiguration**.
1018
+ # This is always `sql#demoteMasterMysqlReplicaConfiguration`.
990
1019
  # Corresponds to the JSON property `kind`
991
1020
  # @return [String]
992
1021
  attr_accessor :kind
@@ -1059,7 +1088,7 @@ module Google
1059
1088
  class DiskEncryptionConfiguration
1060
1089
  include Google::Apis::Core::Hashable
1061
1090
 
1062
- # This is always **sql#diskEncryptionConfiguration**.
1091
+ # This is always `sql#diskEncryptionConfiguration`.
1063
1092
  # Corresponds to the JSON property `kind`
1064
1093
  # @return [String]
1065
1094
  attr_accessor :kind
@@ -1084,7 +1113,7 @@ module Google
1084
1113
  class DiskEncryptionStatus
1085
1114
  include Google::Apis::Core::Hashable
1086
1115
 
1087
- # This is always **sql#diskEncryptionStatus**.
1116
+ # This is always `sql#diskEncryptionStatus`.
1088
1117
  # Corresponds to the JSON property `kind`
1089
1118
  # @return [String]
1090
1119
  attr_accessor :kind
@@ -1109,32 +1138,30 @@ module Google
1109
1138
  class ExportContext
1110
1139
  include Google::Apis::Core::Hashable
1111
1140
 
1112
- # Options for exporting data as CSV. **MySQL** and **PostgreSQL** instances only.
1141
+ # Options for exporting data as CSV. `MySQL` and `PostgreSQL` instances only.
1113
1142
  # Corresponds to the JSON property `csvExportOptions`
1114
1143
  # @return [Google::Apis::SqladminV1::ExportContext::CsvExportOptions]
1115
1144
  attr_accessor :csv_export_options
1116
1145
 
1117
- # Databases to be exported. * **MySQL instances:** If **fileType** is **SQL**
1118
- # and no database is specified, all databases are exported, except for the **
1119
- # mysql** system database. If **fileType** is **CSV**, you can specify one
1120
- # database, either by using this property or by using the **csvExportOptions.
1121
- # selectQuery** property, which takes precedence over this property. * **
1122
- # PostgreSQL instances:** You must specify one database to be exported. If **
1123
- # fileType** is **CSV**, this database must match the one specified in the **
1124
- # csvExportOptions.selectQuery** property. * **SQL Server instances:** You must
1125
- # specify one database to be exported, and the **fileType** must be **BAK**.
1146
+ # Databases to be exported. `MySQL instances:` If `fileType` is `SQL` and no
1147
+ # database is specified, all databases are exported, except for the `mysql`
1148
+ # system database. If `fileType` is `CSV`, you can specify one database, either
1149
+ # by using this property or by using the `csvExportOptions.selectQuery` property,
1150
+ # which takes precedence over this property. `PostgreSQL instances:` You must
1151
+ # specify one database to be exported. If `fileType` is `CSV`, this database
1152
+ # must match the one specified in the `csvExportOptions.selectQuery` property. `
1153
+ # SQL Server instances:` You must specify one database to be exported, and the `
1154
+ # fileType` must be `BAK`.
1126
1155
  # Corresponds to the JSON property `databases`
1127
1156
  # @return [Array<String>]
1128
1157
  attr_accessor :databases
1129
1158
 
1130
- # The file type for the specified uri. * **SQL**: The file contains SQL
1131
- # statements. * **CSV**: The file contains CSV data. * **BAK**: The file
1132
- # contains backup data for a SQL Server instance.
1159
+ # The file type for the specified uri.
1133
1160
  # Corresponds to the JSON property `fileType`
1134
1161
  # @return [String]
1135
1162
  attr_accessor :file_type
1136
1163
 
1137
- # This is always **sql#exportContext**.
1164
+ # This is always `sql#exportContext`.
1138
1165
  # Corresponds to the JSON property `kind`
1139
1166
  # @return [String]
1140
1167
  attr_accessor :kind
@@ -1151,9 +1178,9 @@ module Google
1151
1178
  attr_accessor :sql_export_options
1152
1179
 
1153
1180
  # The path to the file in Google Cloud Storage where the export will be stored.
1154
- # The URI is in the form **gs://bucketName/fileName**. If the file already
1155
- # exists, the request succeeds, but the operation fails. If **fileType** is **
1156
- # SQL** and the filename ends with .gz, the contents are compressed.
1181
+ # The URI is in the form `gs://bucketName/fileName`. If the file already exists,
1182
+ # the request succeeds, but the operation fails. If `fileType` is `SQL` and the
1183
+ # filename ends with .gz, the contents are compressed.
1157
1184
  # Corresponds to the JSON property `uri`
1158
1185
  # @return [String]
1159
1186
  attr_accessor :uri
@@ -1173,7 +1200,7 @@ module Google
1173
1200
  @uri = args[:uri] if args.key?(:uri)
1174
1201
  end
1175
1202
 
1176
- # Options for exporting data as CSV. **MySQL** and **PostgreSQL** instances only.
1203
+ # Options for exporting data as CSV. `MySQL` and `PostgreSQL` instances only.
1177
1204
  class CsvExportOptions
1178
1205
  include Google::Apis::Core::Hashable
1179
1206
 
@@ -1256,11 +1283,11 @@ module Google
1256
1283
  class MysqlExportOptions
1257
1284
  include Google::Apis::Core::Hashable
1258
1285
 
1259
- # Option to include SQL statement required to set up replication. * If set to **
1260
- # 1**, the dump file includes a CHANGE MASTER TO statement with the binary log
1261
- # coordinates, and --set-gtid-purged is set to ON. * If set to **2**, the CHANGE
1262
- # MASTER TO statement is written as a SQL comment and has no effect. * If set to
1263
- # any value other than **1**, --set-gtid-purged is set to OFF.
1286
+ # Option to include SQL statement required to set up replication. If set to `1`,
1287
+ # the dump file includes a CHANGE MASTER TO statement with the binary log
1288
+ # coordinates, and --set-gtid-purged is set to ON. If set to `2`, the CHANGE
1289
+ # MASTER TO statement is written as a SQL comment and has no effect. If set to
1290
+ # any value other than `1`, --set-gtid-purged is set to OFF.
1264
1291
  # Corresponds to the JSON property `masterData`
1265
1292
  # @return [Fixnum]
1266
1293
  attr_accessor :master_data
@@ -1281,7 +1308,7 @@ module Google
1281
1308
  class FailoverContext
1282
1309
  include Google::Apis::Core::Hashable
1283
1310
 
1284
- # This is always **sql#failoverContext**.
1311
+ # This is always `sql#failoverContext`.
1285
1312
  # Corresponds to the JSON property `kind`
1286
1313
  # @return [String]
1287
1314
  attr_accessor :kind
@@ -1313,13 +1340,18 @@ module Google
1313
1340
  # @return [Array<Fixnum>]
1314
1341
  attr_accessor :allowed_int_values
1315
1342
 
1316
- # For **STRING** flags, a list of strings that the value can be set to.
1343
+ # For `STRING` flags, a list of strings that the value can be set to.
1317
1344
  # Corresponds to the JSON property `allowedStringValues`
1318
1345
  # @return [Array<String>]
1319
1346
  attr_accessor :allowed_string_values
1320
1347
 
1321
- # The database version this flag applies to. Can be **MYSQL_8_0**, **MYSQL_5_6**,
1322
- # or **MYSQL_5_7**.
1348
+ # The database version this flag applies to. Can be MySQL instances: `MYSQL_8_0`,
1349
+ # `MYSQL_8_0_18`, `MYSQL_8_0_26`, `MYSQL_5_7`, or `MYSQL_5_6`. PostgreSQL
1350
+ # instances: `POSTGRES_9_6`, `POSTGRES_10`, `POSTGRES_11` or `POSTGRES_12`. SQL
1351
+ # Server instances: `SQLSERVER_2017_STANDARD`, `SQLSERVER_2017_ENTERPRISE`, `
1352
+ # SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`, `SQLSERVER_2019_STANDARD`, `
1353
+ # SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`, or `SQLSERVER_2019_WEB`.
1354
+ # See [the complete list](/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).
1323
1355
  # Corresponds to the JSON property `appliesTo`
1324
1356
  # @return [Array<String>]
1325
1357
  attr_accessor :applies_to
@@ -1330,23 +1362,23 @@ module Google
1330
1362
  attr_accessor :in_beta
1331
1363
  alias_method :in_beta?, :in_beta
1332
1364
 
1333
- # This is always **sql#flag**.
1365
+ # This is always `sql#flag`.
1334
1366
  # Corresponds to the JSON property `kind`
1335
1367
  # @return [String]
1336
1368
  attr_accessor :kind
1337
1369
 
1338
- # For **INTEGER** flags, the maximum allowed value.
1370
+ # For `INTEGER` flags, the maximum allowed value.
1339
1371
  # Corresponds to the JSON property `maxValue`
1340
1372
  # @return [Fixnum]
1341
1373
  attr_accessor :max_value
1342
1374
 
1343
- # For **INTEGER** flags, the minimum allowed value.
1375
+ # For `INTEGER` flags, the minimum allowed value.
1344
1376
  # Corresponds to the JSON property `minValue`
1345
1377
  # @return [Fixnum]
1346
1378
  attr_accessor :min_value
1347
1379
 
1348
1380
  # This is the name of the flag. Flag names always use underscores, not hyphens,
1349
- # for example: **max_allowed_packet**
1381
+ # for example: `max_allowed_packet`
1350
1382
  # Corresponds to the JSON property `name`
1351
1383
  # @return [String]
1352
1384
  attr_accessor :name
@@ -1358,9 +1390,9 @@ module Google
1358
1390
  attr_accessor :requires_restart
1359
1391
  alias_method :requires_restart?, :requires_restart
1360
1392
 
1361
- # The type of the flag. Flags are typed to being **BOOLEAN**, **STRING**, **
1362
- # INTEGER** or **NONE**. **NONE** is used for flags which do not take a value,
1363
- # such as **skip_grant_tables**.
1393
+ # The type of the flag. Flags are typed to being `BOOLEAN`, `STRING`, `INTEGER`
1394
+ # or `NONE`. `NONE` is used for flags that do not take a value, such as `
1395
+ # skip_grant_tables`.
1364
1396
  # Corresponds to the JSON property `type`
1365
1397
  # @return [String]
1366
1398
  attr_accessor :type
@@ -1393,7 +1425,7 @@ module Google
1393
1425
  # @return [Array<Google::Apis::SqladminV1::Flag>]
1394
1426
  attr_accessor :items
1395
1427
 
1396
- # This is always **sql#flagsList**.
1428
+ # This is always `sql#flagsList`.
1397
1429
  # Corresponds to the JSON property `kind`
1398
1430
  # @return [String]
1399
1431
  attr_accessor :kind
@@ -1479,16 +1511,16 @@ module Google
1479
1511
  # @return [Google::Apis::SqladminV1::ImportContext::CsvImportOptions]
1480
1512
  attr_accessor :csv_import_options
1481
1513
 
1482
- # The target database for the import. If **fileType** is **SQL**, this field is
1514
+ # The target database for the import. If `fileType` is `SQL`, this field is
1483
1515
  # required only if the import file does not specify a database, and is
1484
- # overridden by any database specification in the import file. If **fileType**
1485
- # is **CSV**, one database must be specified.
1516
+ # overridden by any database specification in the import file. If `fileType` is `
1517
+ # CSV`, one database must be specified.
1486
1518
  # Corresponds to the JSON property `database`
1487
1519
  # @return [String]
1488
1520
  attr_accessor :database
1489
1521
 
1490
- # The file type for the specified uri. **SQL**: The file contains SQL statements.
1491
- # **CSV**: The file contains CSV data.
1522
+ # The file type for the specified uri.\`SQL`: The file contains SQL statements. \
1523
+ # `CSV`: The file contains CSV data.
1492
1524
  # Corresponds to the JSON property `fileType`
1493
1525
  # @return [String]
1494
1526
  attr_accessor :file_type
@@ -1498,15 +1530,15 @@ module Google
1498
1530
  # @return [String]
1499
1531
  attr_accessor :import_user
1500
1532
 
1501
- # This is always **sql#importContext**.
1533
+ # This is always `sql#importContext`.
1502
1534
  # Corresponds to the JSON property `kind`
1503
1535
  # @return [String]
1504
1536
  attr_accessor :kind
1505
1537
 
1506
- # Path to the import file in Cloud Storage, in the form **gs://bucketName/
1507
- # fileName**. Compressed gzip files (.gz) are supported when **fileType** is **
1508
- # SQL**. The instance must have write permissions to the bucket and read access
1509
- # to the file.
1538
+ # Path to the import file in Cloud Storage, in the form `gs://bucketName/
1539
+ # fileName`. Compressed gzip files (.gz) are supported when `fileType` is `SQL`.
1540
+ # The instance must have write permissions to the bucket and read access to the
1541
+ # file.
1510
1542
  # Corresponds to the JSON property `uri`
1511
1543
  # @return [String]
1512
1544
  attr_accessor :uri
@@ -1548,8 +1580,8 @@ module Google
1548
1580
  class EncryptionOptions
1549
1581
  include Google::Apis::Core::Hashable
1550
1582
 
1551
- # Path to the Certificate (.cer) in Cloud Storage, in the form **gs://bucketName/
1552
- # fileName**. The instance must have write permissions to the bucket and read
1583
+ # Path to the Certificate (.cer) in Cloud Storage, in the form `gs://bucketName/
1584
+ # fileName`. The instance must have write permissions to the bucket and read
1553
1585
  # access to the file.
1554
1586
  # Corresponds to the JSON property `certPath`
1555
1587
  # @return [String]
@@ -1560,8 +1592,8 @@ module Google
1560
1592
  # @return [String]
1561
1593
  attr_accessor :pvk_password
1562
1594
 
1563
- # Path to the Certificate Private Key (.pvk) in Cloud Storage, in the form **gs:/
1564
- # /bucketName/fileName**. The instance must have write permissions to the bucket
1595
+ # Path to the Certificate Private Key (.pvk) in Cloud Storage, in the form `gs://
1596
+ # bucketName/fileName`. The instance must have write permissions to the bucket
1565
1597
  # and read access to the file.
1566
1598
  # Corresponds to the JSON property `pvkPath`
1567
1599
  # @return [String]
@@ -1822,7 +1854,7 @@ module Google
1822
1854
  # @return [Array<Google::Apis::SqladminV1::DatabaseInstance>]
1823
1855
  attr_accessor :items
1824
1856
 
1825
- # This is always **sql#instancesList**.
1857
+ # This is always `sql#instancesList`.
1826
1858
  # Corresponds to the JSON property `kind`
1827
1859
  # @return [String]
1828
1860
  attr_accessor :kind
@@ -1865,7 +1897,7 @@ module Google
1865
1897
  # @return [Array<Google::Apis::SqladminV1::SslCert>]
1866
1898
  attr_accessor :certs
1867
1899
 
1868
- # This is always **sql#instancesListServerCas**.
1900
+ # This is always `sql#instancesListServerCas`.
1869
1901
  # Corresponds to the JSON property `kind`
1870
1902
  # @return [String]
1871
1903
  attr_accessor :kind
@@ -1949,14 +1981,13 @@ module Google
1949
1981
  # created in the allocated range. The range name must comply with [RFC 1035](
1950
1982
  # https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63
1951
1983
  # characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?.`
1952
- # Reserved for future use.
1953
1984
  # Corresponds to the JSON property `allocatedIpRange`
1954
1985
  # @return [String]
1955
1986
  attr_accessor :allocated_ip_range
1956
1987
 
1957
1988
  # The list of external networks that are allowed to connect to the instance
1958
1989
  # using the IP. In 'CIDR' notation, also known as 'slash' notation (for example:
1959
- # **192.168.100.0/24**).
1990
+ # `157.197.200.0/24`).
1960
1991
  # Corresponds to the JSON property `authorizedNetworks`
1961
1992
  # @return [Array<Google::Apis::SqladminV1::AclEntry>]
1962
1993
  attr_accessor :authorized_networks
@@ -1968,8 +1999,8 @@ module Google
1968
1999
  alias_method :ipv4_enabled?, :ipv4_enabled
1969
2000
 
1970
2001
  # The resource link for the VPC network from which the Cloud SQL instance is
1971
- # accessible for private IP. For example, **/projects/myProject/global/networks/
1972
- # default**. This setting can be updated, but it cannot be removed after it is
2002
+ # accessible for private IP. For example, `/projects/myProject/global/networks/
2003
+ # default`. This setting can be updated, but it cannot be removed after it is
1973
2004
  # set.
1974
2005
  # Corresponds to the JSON property `privateNetwork`
1975
2006
  # @return [String]
@@ -2005,16 +2036,16 @@ module Google
2005
2036
  attr_accessor :ip_address
2006
2037
 
2007
2038
  # The due time for this IP to be retired in [RFC 3339](https://tools.ietf.org/
2008
- # html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**. This field is
2039
+ # html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. This field is
2009
2040
  # only available when the IP is scheduled to be retired.
2010
2041
  # Corresponds to the JSON property `timeToRetire`
2011
2042
  # @return [String]
2012
2043
  attr_accessor :time_to_retire
2013
2044
 
2014
- # The type of this IP address. A **PRIMARY** address is a public address that
2015
- # can accept incoming connections. A **PRIVATE** address is a private address
2016
- # that can accept incoming connections. An **OUTGOING** address is the source
2017
- # address of connections originating from the instance, if supported.
2045
+ # The type of this IP address. A `PRIMARY` address is a public address that can
2046
+ # accept incoming connections. A `PRIVATE` address is a private address that can
2047
+ # accept incoming connections. An `OUTGOING` address is the source address of
2048
+ # connections originating from the instance, if supported.
2018
2049
  # Corresponds to the JSON property `type`
2019
2050
  # @return [String]
2020
2051
  attr_accessor :type
@@ -2038,12 +2069,12 @@ module Google
2038
2069
  include Google::Apis::Core::Hashable
2039
2070
 
2040
2071
  # The App Engine application to follow, it must be in the same region as the
2041
- # Cloud SQL instance.
2072
+ # Cloud SQL instance. WARNING: Changing this might restart the instance.
2042
2073
  # Corresponds to the JSON property `followGaeApplication`
2043
2074
  # @return [String]
2044
2075
  attr_accessor :follow_gae_application
2045
2076
 
2046
- # This is always **sql#locationPreference**.
2077
+ # This is always `sql#locationPreference`.
2047
2078
  # Corresponds to the JSON property `kind`
2048
2079
  # @return [String]
2049
2080
  attr_accessor :kind
@@ -2055,7 +2086,7 @@ module Google
2055
2086
  attr_accessor :secondary_zone
2056
2087
 
2057
2088
  # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b,
2058
- # etc.).
2089
+ # etc.). WARNING: Changing this might restart the instance.
2059
2090
  # Corresponds to the JSON property `zone`
2060
2091
  # @return [String]
2061
2092
  attr_accessor :zone
@@ -2088,12 +2119,12 @@ module Google
2088
2119
  # @return [Fixnum]
2089
2120
  attr_accessor :hour
2090
2121
 
2091
- # This is always **sql#maintenanceWindow**.
2122
+ # This is always `sql#maintenanceWindow`.
2092
2123
  # Corresponds to the JSON property `kind`
2093
2124
  # @return [String]
2094
2125
  attr_accessor :kind
2095
2126
 
2096
- # Maintenance timing setting: **canary** (Earlier) or **stable** (Later). [Learn
2127
+ # Maintenance timing setting: `canary` (Earlier) or `stable` (Later). [Learn
2097
2128
  # more](https://cloud.google.com/sql/docs/mysql/instance-settings#maintenance-
2098
2129
  # timing-2ndgen).
2099
2130
  # Corresponds to the JSON property `updateTrack`
@@ -2147,7 +2178,7 @@ module Google
2147
2178
  # @return [String]
2148
2179
  attr_accessor :dump_file_path
2149
2180
 
2150
- # This is always **sql#mysqlReplicaConfiguration**.
2181
+ # This is always `sql#mysqlReplicaConfiguration`.
2151
2182
  # Corresponds to the JSON property `kind`
2152
2183
  # @return [String]
2153
2184
  attr_accessor :kind
@@ -2248,7 +2279,7 @@ module Google
2248
2279
  # @return [String]
2249
2280
  attr_accessor :host_port
2250
2281
 
2251
- # This is always **sql#onPremisesConfiguration**.
2282
+ # This is always `sql#onPremisesConfiguration`.
2252
2283
  # Corresponds to the JSON property `kind`
2253
2284
  # @return [String]
2254
2285
  attr_accessor :kind
@@ -2298,7 +2329,7 @@ module Google
2298
2329
  attr_accessor :backup_context
2299
2330
 
2300
2331
  # The time this operation finished in UTC timezone in [RFC 3339](https://tools.
2301
- # ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
2332
+ # ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.
2302
2333
  # Corresponds to the JSON property `endTime`
2303
2334
  # @return [String]
2304
2335
  attr_accessor :end_time
@@ -2319,12 +2350,12 @@ module Google
2319
2350
  attr_accessor :import_context
2320
2351
 
2321
2352
  # The time this operation was enqueued in UTC timezone in [RFC 3339](https://
2322
- # tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
2353
+ # tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.
2323
2354
  # Corresponds to the JSON property `insertTime`
2324
2355
  # @return [String]
2325
2356
  attr_accessor :insert_time
2326
2357
 
2327
- # This is always **sql#operation**.
2358
+ # This is always `sql#operation`.
2328
2359
  # Corresponds to the JSON property `kind`
2329
2360
  # @return [String]
2330
2361
  attr_accessor :kind
@@ -2336,10 +2367,9 @@ module Google
2336
2367
  # @return [String]
2337
2368
  attr_accessor :name
2338
2369
 
2339
- # The type of the operation. Valid values are: * **CREATE** * **DELETE** * **
2340
- # UPDATE** * **RESTART** * **IMPORT** * **EXPORT** * **BACKUP_VOLUME** * **
2341
- # RESTORE_VOLUME** * **CREATE_USER** * **DELETE_USER** * **CREATE_DATABASE** * **
2342
- # DELETE_DATABASE**
2370
+ # The type of the operation. Valid values are: * `CREATE` * `DELETE` * `UPDATE` *
2371
+ # `RESTART` * `IMPORT` * `EXPORT` * `BACKUP_VOLUME` * `RESTORE_VOLUME` * `
2372
+ # CREATE_USER` * `DELETE_USER` * `CREATE_DATABASE` * `DELETE_DATABASE`
2343
2373
  # Corresponds to the JSON property `operationType`
2344
2374
  # @return [String]
2345
2375
  attr_accessor :operation_type
@@ -2350,13 +2380,12 @@ module Google
2350
2380
  attr_accessor :self_link
2351
2381
 
2352
2382
  # The time this operation actually started in UTC timezone in [RFC 3339](https://
2353
- # tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
2383
+ # tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.
2354
2384
  # Corresponds to the JSON property `startTime`
2355
2385
  # @return [String]
2356
2386
  attr_accessor :start_time
2357
2387
 
2358
- # The status of an operation. Valid values are: * **PENDING** * **RUNNING** * **
2359
- # DONE** * **SQL_OPERATION_STATUS_UNSPECIFIED**
2388
+ # The status of an operation.
2360
2389
  # Corresponds to the JSON property `status`
2361
2390
  # @return [String]
2362
2391
  attr_accessor :status
@@ -2415,7 +2444,7 @@ module Google
2415
2444
  # @return [String]
2416
2445
  attr_accessor :code
2417
2446
 
2418
- # This is always **sql#operationError**.
2447
+ # This is always `sql#operationError`.
2419
2448
  # Corresponds to the JSON property `kind`
2420
2449
  # @return [String]
2421
2450
  attr_accessor :kind
@@ -2446,7 +2475,7 @@ module Google
2446
2475
  # @return [Array<Google::Apis::SqladminV1::OperationError>]
2447
2476
  attr_accessor :errors
2448
2477
 
2449
- # This is always **sql#operationErrors**.
2478
+ # This is always `sql#operationErrors`.
2450
2479
  # Corresponds to the JSON property `kind`
2451
2480
  # @return [String]
2452
2481
  attr_accessor :kind
@@ -2471,7 +2500,7 @@ module Google
2471
2500
  # @return [Array<Google::Apis::SqladminV1::Operation>]
2472
2501
  attr_accessor :items
2473
2502
 
2474
- # This is always **sql#operationsList**.
2503
+ # This is always `sql#operationsList`.
2475
2504
  # Corresponds to the JSON property `kind`
2476
2505
  # @return [String]
2477
2506
  attr_accessor :kind
@@ -2494,12 +2523,83 @@ module Google
2494
2523
  end
2495
2524
  end
2496
2525
 
2526
+ # Read-only password status.
2527
+ class PasswordStatus
2528
+ include Google::Apis::Core::Hashable
2529
+
2530
+ # If true, user does not have login privileges.
2531
+ # Corresponds to the JSON property `locked`
2532
+ # @return [Boolean]
2533
+ attr_accessor :locked
2534
+ alias_method :locked?, :locked
2535
+
2536
+ # The expiration time of the current password.
2537
+ # Corresponds to the JSON property `passwordExpirationTime`
2538
+ # @return [String]
2539
+ attr_accessor :password_expiration_time
2540
+
2541
+ def initialize(**args)
2542
+ update!(**args)
2543
+ end
2544
+
2545
+ # Update properties of this object
2546
+ def update!(**args)
2547
+ @locked = args[:locked] if args.key?(:locked)
2548
+ @password_expiration_time = args[:password_expiration_time] if args.key?(:password_expiration_time)
2549
+ end
2550
+ end
2551
+
2552
+ # Database instance local user password validation policy
2553
+ class PasswordValidationPolicy
2554
+ include Google::Apis::Core::Hashable
2555
+
2556
+ # The complexity of the password.
2557
+ # Corresponds to the JSON property `complexity`
2558
+ # @return [String]
2559
+ attr_accessor :complexity
2560
+
2561
+ # Disallow username as a part of the password.
2562
+ # Corresponds to the JSON property `disallowUsernameSubstring`
2563
+ # @return [Boolean]
2564
+ attr_accessor :disallow_username_substring
2565
+ alias_method :disallow_username_substring?, :disallow_username_substring
2566
+
2567
+ # Minimum number of characters allowed.
2568
+ # Corresponds to the JSON property `minLength`
2569
+ # @return [Fixnum]
2570
+ attr_accessor :min_length
2571
+
2572
+ # Minimum interval after which the password can be changed. This flag is only
2573
+ # supported for PostgresSQL.
2574
+ # Corresponds to the JSON property `passwordChangeInterval`
2575
+ # @return [String]
2576
+ attr_accessor :password_change_interval
2577
+
2578
+ # Number of previous passwords that cannot be reused.
2579
+ # Corresponds to the JSON property `reuseInterval`
2580
+ # @return [Fixnum]
2581
+ attr_accessor :reuse_interval
2582
+
2583
+ def initialize(**args)
2584
+ update!(**args)
2585
+ end
2586
+
2587
+ # Update properties of this object
2588
+ def update!(**args)
2589
+ @complexity = args[:complexity] if args.key?(:complexity)
2590
+ @disallow_username_substring = args[:disallow_username_substring] if args.key?(:disallow_username_substring)
2591
+ @min_length = args[:min_length] if args.key?(:min_length)
2592
+ @password_change_interval = args[:password_change_interval] if args.key?(:password_change_interval)
2593
+ @reuse_interval = args[:reuse_interval] if args.key?(:reuse_interval)
2594
+ end
2595
+ end
2596
+
2497
2597
  # Read-replica configuration for connecting to the primary instance.
2498
2598
  class ReplicaConfiguration
2499
2599
  include Google::Apis::Core::Hashable
2500
2600
 
2501
- # Specifies if the replica is the failover target. If the field is set to **true*
2502
- # * the replica will be designated as a failover replica. In case the primary
2601
+ # Specifies if the replica is the failover target. If the field is set to `true`,
2602
+ # the replica will be designated as a failover replica. In case the primary
2503
2603
  # instance fails, the replica instance will be promoted as the new primary
2504
2604
  # instance. Only one replica can be specified as failover target, and the
2505
2605
  # replica has to be in different zone with the primary instance.
@@ -2508,7 +2608,7 @@ module Google
2508
2608
  attr_accessor :failover_target
2509
2609
  alias_method :failover_target?, :failover_target
2510
2610
 
2511
- # This is always **sql#replicaConfiguration**.
2611
+ # This is always `sql#replicaConfiguration`.
2512
2612
  # Corresponds to the JSON property `kind`
2513
2613
  # @return [String]
2514
2614
  attr_accessor :kind
@@ -2541,7 +2641,7 @@ module Google
2541
2641
 
2542
2642
  # Optional. Timestamp when the maintenance shall be rescheduled to if
2543
2643
  # reschedule_type=SPECIFIC_TIME, in [RFC 3339](https://tools.ietf.org/html/
2544
- # rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
2644
+ # rfc3339) format, for example `2012-11-15T16:19:00.094Z`.
2545
2645
  # Corresponds to the JSON property `scheduleTime`
2546
2646
  # @return [String]
2547
2647
  attr_accessor :schedule_time
@@ -2572,7 +2672,7 @@ module Google
2572
2672
  # @return [String]
2573
2673
  attr_accessor :instance_id
2574
2674
 
2575
- # This is always **sql#restoreBackupContext**.
2675
+ # This is always `sql#restoreBackupContext`.
2576
2676
  # Corresponds to the JSON property `kind`
2577
2677
  # @return [String]
2578
2678
  attr_accessor :kind
@@ -2599,7 +2699,7 @@ module Google
2599
2699
  class RotateServerCaContext
2600
2700
  include Google::Apis::Core::Hashable
2601
2701
 
2602
- # This is always **sql#rotateServerCaContext**.
2702
+ # This is always `sql#rotateServerCaContext`.
2603
2703
  # Corresponds to the JSON property `kind`
2604
2704
  # @return [String]
2605
2705
  attr_accessor :kind
@@ -2626,10 +2726,10 @@ module Google
2626
2726
  include Google::Apis::Core::Hashable
2627
2727
 
2628
2728
  # The activation policy specifies when the instance is activated; it is
2629
- # applicable only when the instance state is RUNNABLE. Valid values: * **ALWAYS**
2630
- # : The instance is on, and remains so even in the absence of connection
2631
- # requests. * **NEVER**: The instance is off; it is not activated, even if a
2632
- # connection request arrives.
2729
+ # applicable only when the instance state is RUNNABLE. Valid values: * `ALWAYS`:
2730
+ # The instance is on, and remains so even in the absence of connection requests.
2731
+ # * `NEVER`: The instance is off; it is not activated, even if a connection
2732
+ # request arrives.
2633
2733
  # Corresponds to the JSON property `activationPolicy`
2634
2734
  # @return [String]
2635
2735
  attr_accessor :activation_policy
@@ -2645,12 +2745,11 @@ module Google
2645
2745
  # @return [Array<String>]
2646
2746
  attr_accessor :authorized_gae_applications
2647
2747
 
2648
- # Availability type. Potential values: * **ZONAL**: The instance serves data
2649
- # from only one zone. Outages in that zone affect data accessibility. * **
2650
- # REGIONAL**: The instance can serve data from more than one zone in a region (
2651
- # it is highly available)./ For more information, see [Overview of the High
2652
- # Availability Configuration](https://cloud.google.com/sql/docs/mysql/high-
2653
- # availability).
2748
+ # Availability type. Potential values: * `ZONAL`: The instance serves data from
2749
+ # only one zone. Outages in that zone affect data accessibility. * `REGIONAL`:
2750
+ # The instance can serve data from more than one zone in a region (it is highly
2751
+ # available)./ For more information, see [Overview of the High Availability
2752
+ # Configuration](https://cloud.google.com/sql/docs/mysql/high-availability).
2654
2753
  # Corresponds to the JSON property `availabilityType`
2655
2754
  # @return [String]
2656
2755
  attr_accessor :availability_type
@@ -2678,7 +2777,7 @@ module Google
2678
2777
  # @return [Fixnum]
2679
2778
  attr_accessor :data_disk_size_gb
2680
2779
 
2681
- # The type of data disk: **PD_SSD** (default) or **PD_HDD**. Not used for First
2780
+ # The type of data disk: `PD_SSD` (default) or `PD_HDD`. Not used for First
2682
2781
  # Generation instances.
2683
2782
  # Corresponds to the JSON property `dataDiskType`
2684
2783
  # @return [String]
@@ -2690,7 +2789,7 @@ module Google
2690
2789
  attr_accessor :database_flags
2691
2790
 
2692
2791
  # Configuration specific to read replica instances. Indicates whether
2693
- # replication is enabled or not.
2792
+ # replication is enabled or not. WARNING: Changing this restarts the instance.
2694
2793
  # Corresponds to the JSON property `databaseReplicationEnabled`
2695
2794
  # @return [Boolean]
2696
2795
  attr_accessor :database_replication_enabled
@@ -2712,7 +2811,7 @@ module Google
2712
2811
  # @return [Google::Apis::SqladminV1::IpConfiguration]
2713
2812
  attr_accessor :ip_configuration
2714
2813
 
2715
- # This is always **sql#settings**.
2814
+ # This is always `sql#settings`.
2716
2815
  # Corresponds to the JSON property `kind`
2717
2816
  # @return [String]
2718
2817
  attr_accessor :kind
@@ -2730,14 +2829,19 @@ module Google
2730
2829
  # @return [Google::Apis::SqladminV1::MaintenanceWindow]
2731
2830
  attr_accessor :maintenance_window
2732
2831
 
2733
- # The pricing plan for this instance. This can be either **PER_USE** or **
2734
- # PACKAGE**. Only **PER_USE** is supported for Second Generation instances.
2832
+ # Database instance local user password validation policy
2833
+ # Corresponds to the JSON property `passwordValidationPolicy`
2834
+ # @return [Google::Apis::SqladminV1::PasswordValidationPolicy]
2835
+ attr_accessor :password_validation_policy
2836
+
2837
+ # The pricing plan for this instance. This can be either `PER_USE` or `PACKAGE`.
2838
+ # Only `PER_USE` is supported for Second Generation instances.
2735
2839
  # Corresponds to the JSON property `pricingPlan`
2736
2840
  # @return [String]
2737
2841
  attr_accessor :pricing_plan
2738
2842
 
2739
- # The type of replication this instance uses. This can be either **ASYNCHRONOUS**
2740
- # or **SYNCHRONOUS**. (Deprecated) This property was only applicable to First
2843
+ # The type of replication this instance uses. This can be either `ASYNCHRONOUS`
2844
+ # or `SYNCHRONOUS`. (Deprecated) This property was only applicable to First
2741
2845
  # Generation instances.
2742
2846
  # Corresponds to the JSON property `replicationType`
2743
2847
  # @return [String]
@@ -2769,7 +2873,8 @@ module Google
2769
2873
  # @return [Fixnum]
2770
2874
  attr_accessor :storage_auto_resize_limit
2771
2875
 
2772
- # The tier (or machine type) for this instance, for example **db-custom-1-3840**.
2876
+ # The tier (or machine type) for this instance, for example `db-custom-1-3840`.
2877
+ # WARNING: Changing this restarts the instance.
2773
2878
  # Corresponds to the JSON property `tier`
2774
2879
  # @return [String]
2775
2880
  attr_accessor :tier
@@ -2803,6 +2908,7 @@ module Google
2803
2908
  @kind = args[:kind] if args.key?(:kind)
2804
2909
  @location_preference = args[:location_preference] if args.key?(:location_preference)
2805
2910
  @maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
2911
+ @password_validation_policy = args[:password_validation_policy] if args.key?(:password_validation_policy)
2806
2912
  @pricing_plan = args[:pricing_plan] if args.key?(:pricing_plan)
2807
2913
  @replication_type = args[:replication_type] if args.key?(:replication_type)
2808
2914
  @settings_version = args[:settings_version] if args.key?(:settings_version)
@@ -2848,7 +2954,7 @@ module Google
2848
2954
  # @return [String]
2849
2955
  attr_accessor :detail
2850
2956
 
2851
- # Can be **sql#externalSyncSettingError** or **sql#externalSyncSettingWarning**.
2957
+ # Can be `sql#externalSyncSettingError` or `sql#externalSyncSettingWarning`.
2852
2958
  # Corresponds to the JSON property `kind`
2853
2959
  # @return [String]
2854
2960
  attr_accessor :kind
@@ -2969,7 +3075,7 @@ module Google
2969
3075
  # @return [Array<Google::Apis::SqladminV1::SqlExternalSyncSettingError>]
2970
3076
  attr_accessor :errors
2971
3077
 
2972
- # This is always **sql#migrationSettingErrorList**.
3078
+ # This is always `sql#migrationSettingErrorList`.
2973
3079
  # Corresponds to the JSON property `kind`
2974
3080
  # @return [String]
2975
3081
  attr_accessor :kind
@@ -3155,13 +3261,13 @@ module Google
3155
3261
  attr_accessor :common_name
3156
3262
 
3157
3263
  # The time when the certificate was created in [RFC 3339](https://tools.ietf.org/
3158
- # html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**
3264
+ # html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`
3159
3265
  # Corresponds to the JSON property `createTime`
3160
3266
  # @return [String]
3161
3267
  attr_accessor :create_time
3162
3268
 
3163
3269
  # The time when the certificate expires in [RFC 3339](https://tools.ietf.org/
3164
- # html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
3270
+ # html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.
3165
3271
  # Corresponds to the JSON property `expirationTime`
3166
3272
  # @return [String]
3167
3273
  attr_accessor :expiration_time
@@ -3171,7 +3277,7 @@ module Google
3171
3277
  # @return [String]
3172
3278
  attr_accessor :instance
3173
3279
 
3174
- # This is always **sql#sslCert**.
3280
+ # This is always `sql#sslCert`.
3175
3281
  # Corresponds to the JSON property `kind`
3176
3282
  # @return [String]
3177
3283
  attr_accessor :kind
@@ -3284,7 +3390,7 @@ module Google
3284
3390
  # @return [Google::Apis::SqladminV1::SslCertDetail]
3285
3391
  attr_accessor :client_cert
3286
3392
 
3287
- # This is always **sql#sslCertsInsert**.
3393
+ # This is always `sql#sslCertsInsert`.
3288
3394
  # Corresponds to the JSON property `kind`
3289
3395
  # @return [String]
3290
3396
  attr_accessor :kind
@@ -3323,7 +3429,7 @@ module Google
3323
3429
  # @return [Array<Google::Apis::SqladminV1::SslCert>]
3324
3430
  attr_accessor :items
3325
3431
 
3326
- # This is always **sql#sslCertsList**.
3432
+ # This is always `sql#sslCertsList`.
3327
3433
  # Corresponds to the JSON property `kind`
3328
3434
  # @return [String]
3329
3435
  attr_accessor :kind
@@ -3380,7 +3486,7 @@ module Google
3380
3486
  # @return [Fixnum]
3381
3487
  attr_accessor :ram
3382
3488
 
3383
- # This is always **sql#tier**.
3489
+ # This is always `sql#tier`.
3384
3490
  # Corresponds to the JSON property `kind`
3385
3491
  # @return [String]
3386
3492
  attr_accessor :kind
@@ -3390,8 +3496,8 @@ module Google
3390
3496
  # @return [Array<String>]
3391
3497
  attr_accessor :region
3392
3498
 
3393
- # An identifier for the machine type, for example, db-custom-1-3840. For related
3394
- # information, see [Pricing](/sql/pricing).
3499
+ # An identifier for the machine type, for example, `db-custom-1-3840`. For
3500
+ # related information, see [Pricing](/sql/pricing).
3395
3501
  # Corresponds to the JSON property `tier`
3396
3502
  # @return [String]
3397
3503
  attr_accessor :tier
@@ -3419,7 +3525,7 @@ module Google
3419
3525
  # @return [Array<Google::Apis::SqladminV1::Tier>]
3420
3526
  attr_accessor :items
3421
3527
 
3422
- # This is always **sql#tiersList**.
3528
+ # This is always `sql#tiersList`.
3423
3529
  # Corresponds to the JSON property `kind`
3424
3530
  # @return [String]
3425
3531
  attr_accessor :kind
@@ -3439,13 +3545,13 @@ module Google
3439
3545
  class TruncateLogContext
3440
3546
  include Google::Apis::Core::Hashable
3441
3547
 
3442
- # This is always **sql#truncateLogContext**.
3548
+ # This is always `sql#truncateLogContext`.
3443
3549
  # Corresponds to the JSON property `kind`
3444
3550
  # @return [String]
3445
3551
  attr_accessor :kind
3446
3552
 
3447
- # The type of log to truncate. Valid values are **MYSQL_GENERAL_TABLE** and **
3448
- # MYSQL_SLOW_TABLE**.
3553
+ # The type of log to truncate. Valid values are `MYSQL_GENERAL_TABLE` and `
3554
+ # MYSQL_SLOW_TABLE`.
3449
3555
  # Corresponds to the JSON property `logType`
3450
3556
  # @return [String]
3451
3557
  attr_accessor :log_type
@@ -3470,26 +3576,28 @@ module Google
3470
3576
  # @return [String]
3471
3577
  attr_accessor :etag
3472
3578
 
3473
- # The host name from which the user can connect. For **insert** operations, host
3474
- # defaults to an empty string. For **update** operations, host is specified as
3475
- # part of the request URL. The host name cannot be updated after insertion.
3579
+ # Optional. The host from which the user can connect. For `insert` operations,
3580
+ # host defaults to an empty string. For `update` operations, host is specified
3581
+ # as part of the request URL. The host name cannot be updated after insertion.
3582
+ # For a MySQL instance, it's required; for a PostgreSQL or SQL Server instance,
3583
+ # it's optional.
3476
3584
  # Corresponds to the JSON property `host`
3477
3585
  # @return [String]
3478
3586
  attr_accessor :host
3479
3587
 
3480
3588
  # The name of the Cloud SQL instance. This does not include the project ID. Can
3481
- # be omitted for **update** since it is already specified on the URL.
3589
+ # be omitted for `update` because it is already specified on the URL.
3482
3590
  # Corresponds to the JSON property `instance`
3483
3591
  # @return [String]
3484
3592
  attr_accessor :instance
3485
3593
 
3486
- # This is always **sql#user**.
3594
+ # This is always `sql#user`.
3487
3595
  # Corresponds to the JSON property `kind`
3488
3596
  # @return [String]
3489
3597
  attr_accessor :kind
3490
3598
 
3491
- # The name of the user in the Cloud SQL instance. Can be omitted for **update**
3492
- # since it is already specified in the URL.
3599
+ # The name of the user in the Cloud SQL instance. Can be omitted for `update`
3600
+ # because it is already specified in the URL.
3493
3601
  # Corresponds to the JSON property `name`
3494
3602
  # @return [String]
3495
3603
  attr_accessor :name
@@ -3499,8 +3607,13 @@ module Google
3499
3607
  # @return [String]
3500
3608
  attr_accessor :password
3501
3609
 
3610
+ # User level password validation policy.
3611
+ # Corresponds to the JSON property `passwordPolicy`
3612
+ # @return [Google::Apis::SqladminV1::UserPasswordValidationPolicy]
3613
+ attr_accessor :password_policy
3614
+
3502
3615
  # The project ID of the project containing the Cloud SQL database. The Google
3503
- # apps domain is prefixed if applicable. Can be omitted for **update** since it
3616
+ # apps domain is prefixed if applicable. Can be omitted for `update` because it
3504
3617
  # is already specified on the URL.
3505
3618
  # Corresponds to the JSON property `project`
3506
3619
  # @return [String]
@@ -3529,12 +3642,51 @@ module Google
3529
3642
  @kind = args[:kind] if args.key?(:kind)
3530
3643
  @name = args[:name] if args.key?(:name)
3531
3644
  @password = args[:password] if args.key?(:password)
3645
+ @password_policy = args[:password_policy] if args.key?(:password_policy)
3532
3646
  @project = args[:project] if args.key?(:project)
3533
3647
  @sqlserver_user_details = args[:sqlserver_user_details] if args.key?(:sqlserver_user_details)
3534
3648
  @type = args[:type] if args.key?(:type)
3535
3649
  end
3536
3650
  end
3537
3651
 
3652
+ # User level password validation policy.
3653
+ class UserPasswordValidationPolicy
3654
+ include Google::Apis::Core::Hashable
3655
+
3656
+ # Number of failed login attempts allowed before user get locked.
3657
+ # Corresponds to the JSON property `allowedFailedAttempts`
3658
+ # @return [Fixnum]
3659
+ attr_accessor :allowed_failed_attempts
3660
+
3661
+ # If true, failed login attempts check will be enabled.
3662
+ # Corresponds to the JSON property `enableFailedAttemptsCheck`
3663
+ # @return [Boolean]
3664
+ attr_accessor :enable_failed_attempts_check
3665
+ alias_method :enable_failed_attempts_check?, :enable_failed_attempts_check
3666
+
3667
+ # Expiration duration after password is updated.
3668
+ # Corresponds to the JSON property `passwordExpirationDuration`
3669
+ # @return [String]
3670
+ attr_accessor :password_expiration_duration
3671
+
3672
+ # Read-only password status.
3673
+ # Corresponds to the JSON property `status`
3674
+ # @return [Google::Apis::SqladminV1::PasswordStatus]
3675
+ attr_accessor :status
3676
+
3677
+ def initialize(**args)
3678
+ update!(**args)
3679
+ end
3680
+
3681
+ # Update properties of this object
3682
+ def update!(**args)
3683
+ @allowed_failed_attempts = args[:allowed_failed_attempts] if args.key?(:allowed_failed_attempts)
3684
+ @enable_failed_attempts_check = args[:enable_failed_attempts_check] if args.key?(:enable_failed_attempts_check)
3685
+ @password_expiration_duration = args[:password_expiration_duration] if args.key?(:password_expiration_duration)
3686
+ @status = args[:status] if args.key?(:status)
3687
+ end
3688
+ end
3689
+
3538
3690
  # User list response.
3539
3691
  class UsersListResponse
3540
3692
  include Google::Apis::Core::Hashable
@@ -3544,7 +3696,7 @@ module Google
3544
3696
  # @return [Array<Google::Apis::SqladminV1::User>]
3545
3697
  attr_accessor :items
3546
3698
 
3547
- # This is always **sql#usersList**.
3699
+ # This is always `sql#usersList`.
3548
3700
  # Corresponds to the JSON property `kind`
3549
3701
  # @return [String]
3550
3702
  attr_accessor :kind