google-apis-sqladmin_v1 0.9.0 → 0.13.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.
@@ -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