google-apis-sqladmin_v1beta4 0.36.0 → 0.73.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.
@@ -60,6 +60,64 @@ module Google
60
60
  end
61
61
  end
62
62
 
63
+ # Acquire SSRS lease context.
64
+ class AcquireSsrsLeaseContext
65
+ include Google::Apis::Core::Hashable
66
+
67
+ # Lease duration needed for the SSRS setup.
68
+ # Corresponds to the JSON property `duration`
69
+ # @return [String]
70
+ attr_accessor :duration
71
+
72
+ # The report database to be used for the SSRS setup.
73
+ # Corresponds to the JSON property `reportDatabase`
74
+ # @return [String]
75
+ attr_accessor :report_database
76
+
77
+ # The username to be used as the service login to connect to the report database
78
+ # for SSRS setup.
79
+ # Corresponds to the JSON property `serviceLogin`
80
+ # @return [String]
81
+ attr_accessor :service_login
82
+
83
+ # The username to be used as the setup login to connect to the database server
84
+ # for SSRS setup.
85
+ # Corresponds to the JSON property `setupLogin`
86
+ # @return [String]
87
+ attr_accessor :setup_login
88
+
89
+ def initialize(**args)
90
+ update!(**args)
91
+ end
92
+
93
+ # Update properties of this object
94
+ def update!(**args)
95
+ @duration = args[:duration] if args.key?(:duration)
96
+ @report_database = args[:report_database] if args.key?(:report_database)
97
+ @service_login = args[:service_login] if args.key?(:service_login)
98
+ @setup_login = args[:setup_login] if args.key?(:setup_login)
99
+ end
100
+ end
101
+
102
+ # Specifies options for controlling advanced machine features.
103
+ class AdvancedMachineFeatures
104
+ include Google::Apis::Core::Hashable
105
+
106
+ # The number of threads per physical core.
107
+ # Corresponds to the JSON property `threadsPerCore`
108
+ # @return [Fixnum]
109
+ attr_accessor :threads_per_core
110
+
111
+ def initialize(**args)
112
+ update!(**args)
113
+ end
114
+
115
+ # Update properties of this object
116
+ def update!(**args)
117
+ @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
118
+ end
119
+ end
120
+
63
121
  # An Admin API warning message.
64
122
  class ApiWarning
65
123
  include Google::Apis::Core::Hashable
@@ -91,6 +149,38 @@ module Google
91
149
  end
92
150
  end
93
151
 
152
+ # An available database version. It can be a major or a minor version.
153
+ class AvailableDatabaseVersion
154
+ include Google::Apis::Core::Hashable
155
+
156
+ # The database version's display name.
157
+ # Corresponds to the JSON property `displayName`
158
+ # @return [String]
159
+ attr_accessor :display_name
160
+
161
+ # The version's major version name.
162
+ # Corresponds to the JSON property `majorVersion`
163
+ # @return [String]
164
+ attr_accessor :major_version
165
+
166
+ # The database version name. For MySQL 8.0, this string provides the database
167
+ # major and minor version.
168
+ # Corresponds to the JSON property `name`
169
+ # @return [String]
170
+ attr_accessor :name
171
+
172
+ def initialize(**args)
173
+ update!(**args)
174
+ end
175
+
176
+ # Update properties of this object
177
+ def update!(**args)
178
+ @display_name = args[:display_name] if args.key?(:display_name)
179
+ @major_version = args[:major_version] if args.key?(:major_version)
180
+ @name = args[:name] if args.key?(:name)
181
+ end
182
+ end
183
+
94
184
  # Database instance backup configuration.
95
185
  class BackupConfiguration
96
186
  include Google::Apis::Core::Hashable
@@ -124,7 +214,7 @@ module Google
124
214
  # @return [String]
125
215
  attr_accessor :location
126
216
 
127
- # (Postgres only) Whether point in time recovery is enabled.
217
+ # Whether point in time recovery is enabled.
128
218
  # Corresponds to the JSON property `pointInTimeRecoveryEnabled`
129
219
  # @return [Boolean]
130
220
  attr_accessor :point_in_time_recovery_enabled
@@ -148,6 +238,12 @@ module Google
148
238
  # @return [Fixnum]
149
239
  attr_accessor :transaction_log_retention_days
150
240
 
241
+ # Output only. This value contains the storage location of transactional logs
242
+ # for the database for point-in-time recovery.
243
+ # Corresponds to the JSON property `transactionalLogStorageState`
244
+ # @return [String]
245
+ attr_accessor :transactional_log_storage_state
246
+
151
247
  def initialize(**args)
152
248
  update!(**args)
153
249
  end
@@ -163,6 +259,7 @@ module Google
163
259
  @replication_log_archiving_enabled = args[:replication_log_archiving_enabled] if args.key?(:replication_log_archiving_enabled)
164
260
  @start_time = args[:start_time] if args.key?(:start_time)
165
261
  @transaction_log_retention_days = args[:transaction_log_retention_days] if args.key?(:transaction_log_retention_days)
262
+ @transactional_log_storage_state = args[:transactional_log_storage_state] if args.key?(:transactional_log_storage_state)
166
263
  end
167
264
  end
168
265
 
@@ -191,6 +288,31 @@ module Google
191
288
  end
192
289
  end
193
290
 
291
+ # Backup Reencryption Config
292
+ class BackupReencryptionConfig
293
+ include Google::Apis::Core::Hashable
294
+
295
+ # Backup re-encryption limit
296
+ # Corresponds to the JSON property `backupLimit`
297
+ # @return [Fixnum]
298
+ attr_accessor :backup_limit
299
+
300
+ # Type of backups users want to re-encrypt.
301
+ # Corresponds to the JSON property `backupType`
302
+ # @return [String]
303
+ attr_accessor :backup_type
304
+
305
+ def initialize(**args)
306
+ update!(**args)
307
+ end
308
+
309
+ # Update properties of this object
310
+ def update!(**args)
311
+ @backup_limit = args[:backup_limit] if args.key?(:backup_limit)
312
+ @backup_type = args[:backup_type] if args.key?(:backup_type)
313
+ end
314
+ end
315
+
194
316
  # We currently only support backup retention by specifying the number of backups
195
317
  # we will retain.
196
318
  class BackupRetentionSettings
@@ -411,7 +533,7 @@ module Google
411
533
  class CloneContext
412
534
  include Google::Apis::Core::Hashable
413
535
 
414
- # The name of the allocated ip range for the private ip CloudSQL instance. For
536
+ # The name of the allocated ip range for the private ip Cloud SQL instance. For
415
537
  # example: "google-managed-services-default". If set, the cloned instance ip
416
538
  # will be created in the allocated range. The range name must comply with [RFC
417
539
  # 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-
@@ -453,6 +575,13 @@ module Google
453
575
  # @return [String]
454
576
  attr_accessor :point_in_time
455
577
 
578
+ # Optional. Copy clone and point-in-time recovery clone of an instance to the
579
+ # specified zone. If no zone is specified, clone to the same primary zone as the
580
+ # source instance.
581
+ # Corresponds to the JSON property `preferredZone`
582
+ # @return [String]
583
+ attr_accessor :preferred_zone
584
+
456
585
  def initialize(**args)
457
586
  update!(**args)
458
587
  end
@@ -466,6 +595,7 @@ module Google
466
595
  @kind = args[:kind] if args.key?(:kind)
467
596
  @pitr_timestamp_ms = args[:pitr_timestamp_ms] if args.key?(:pitr_timestamp_ms)
468
597
  @point_in_time = args[:point_in_time] if args.key?(:point_in_time)
598
+ @preferred_zone = args[:preferred_zone] if args.key?(:preferred_zone)
469
599
  end
470
600
  end
471
601
 
@@ -492,6 +622,11 @@ module Google
492
622
  # @return [String]
493
623
  attr_accessor :database_version
494
624
 
625
+ # The dns name of the instance.
626
+ # Corresponds to the JSON property `dnsName`
627
+ # @return [String]
628
+ attr_accessor :dns_name
629
+
495
630
  # The assigned IP addresses for the instance.
496
631
  # Corresponds to the JSON property `ipAddresses`
497
632
  # @return [Array<Google::Apis::SqladminV1beta4::IpMapping>]
@@ -502,6 +637,12 @@ module Google
502
637
  # @return [String]
503
638
  attr_accessor :kind
504
639
 
640
+ # Whether PSC connectivity is enabled for this instance.
641
+ # Corresponds to the JSON property `pscEnabled`
642
+ # @return [Boolean]
643
+ attr_accessor :psc_enabled
644
+ alias_method :psc_enabled?, :psc_enabled
645
+
505
646
  # The cloud region for the instance. e.g. `us-central1`, `europe-west1`. The
506
647
  # region cannot be changed after instance creation.
507
648
  # Corresponds to the JSON property `region`
@@ -521,13 +662,35 @@ module Google
521
662
  def update!(**args)
522
663
  @backend_type = args[:backend_type] if args.key?(:backend_type)
523
664
  @database_version = args[:database_version] if args.key?(:database_version)
665
+ @dns_name = args[:dns_name] if args.key?(:dns_name)
524
666
  @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
525
667
  @kind = args[:kind] if args.key?(:kind)
668
+ @psc_enabled = args[:psc_enabled] if args.key?(:psc_enabled)
526
669
  @region = args[:region] if args.key?(:region)
527
670
  @server_ca_cert = args[:server_ca_cert] if args.key?(:server_ca_cert)
528
671
  end
529
672
  end
530
673
 
674
+ # Data cache configurations.
675
+ class DataCacheConfig
676
+ include Google::Apis::Core::Hashable
677
+
678
+ # Whether data cache is enabled for the instance.
679
+ # Corresponds to the JSON property `dataCacheEnabled`
680
+ # @return [Boolean]
681
+ attr_accessor :data_cache_enabled
682
+ alias_method :data_cache_enabled?, :data_cache_enabled
683
+
684
+ def initialize(**args)
685
+ update!(**args)
686
+ end
687
+
688
+ # Update properties of this object
689
+ def update!(**args)
690
+ @data_cache_enabled = args[:data_cache_enabled] if args.key?(:data_cache_enabled)
691
+ end
692
+ end
693
+
531
694
  # Represents a SQL database on the Cloud SQL instance.
532
695
  class Database
533
696
  include Google::Apis::Core::Hashable
@@ -630,7 +793,7 @@ module Google
630
793
  class DatabaseInstance
631
794
  include Google::Apis::Core::Hashable
632
795
 
633
- # List all maintenance versions applicable on the instance
796
+ # Output only. List all maintenance versions applicable on the instance
634
797
  # Corresponds to the JSON property `availableMaintenanceVersions`
635
798
  # @return [Array<String>]
636
799
  attr_accessor :available_maintenance_versions
@@ -684,6 +847,11 @@ module Google
684
847
  # @return [Google::Apis::SqladminV1beta4::DiskEncryptionStatus]
685
848
  attr_accessor :disk_encryption_status
686
849
 
850
+ # Output only. The dns name of the instance.
851
+ # Corresponds to the JSON property `dnsName`
852
+ # @return [String]
853
+ attr_accessor :dns_name
854
+
687
855
  # This field is deprecated and will be removed from a future version of the API.
688
856
  # Use the `settings.settingsVersion` field instead.
689
857
  # Corresponds to the JSON property `etag`
@@ -703,6 +871,11 @@ module Google
703
871
  # @return [String]
704
872
  attr_accessor :gce_zone
705
873
 
874
+ # Gemini instance configuration.
875
+ # Corresponds to the JSON property `geminiConfig`
876
+ # @return [Google::Apis::SqladminV1beta4::GeminiInstanceConfig]
877
+ attr_accessor :gemini_config
878
+
706
879
  # The instance type.
707
880
  # Corresponds to the JSON property `instanceType`
708
881
  # @return [String]
@@ -754,16 +927,26 @@ module Google
754
927
  # @return [Google::Apis::SqladminV1beta4::SqlOutOfDiskReport]
755
928
  attr_accessor :out_of_disk_report
756
929
 
930
+ # Output only. DEPRECATED: please use write_endpoint instead.
931
+ # Corresponds to the JSON property `primaryDnsName`
932
+ # @return [String]
933
+ attr_accessor :primary_dns_name
934
+
757
935
  # The project ID of the project containing the Cloud SQL instance. The Google
758
936
  # apps domain is prefixed if applicable.
759
937
  # Corresponds to the JSON property `project`
760
938
  # @return [String]
761
939
  attr_accessor :project
762
940
 
763
- # The geographical region. Can be: * `us-central` (`FIRST_GEN` instances only) *
764
- # `us-central1` (`SECOND_GEN` instances only) * `asia-east1` or `europe-west1`.
765
- # Defaults to `us-central` or `us-central1` depending on the instance type. The
766
- # region cannot be changed after instance creation.
941
+ # Output only. The link to service attachment of PSC instance.
942
+ # Corresponds to the JSON property `pscServiceAttachmentLink`
943
+ # @return [String]
944
+ attr_accessor :psc_service_attachment_link
945
+
946
+ # The geographical region of the Cloud SQL instance. It can be one of the [
947
+ # regions](https://cloud.google.com/sql/docs/mysql/locations#location-r) where
948
+ # Cloud SQL operates: For example, `asia-east1`, `europe-west1`, and `us-
949
+ # central1`. The default value is `us-central1`.
767
950
  # Corresponds to the JSON property `region`
768
951
  # @return [String]
769
952
  attr_accessor :region
@@ -778,13 +961,21 @@ module Google
778
961
  # @return [Array<String>]
779
962
  attr_accessor :replica_names
780
963
 
964
+ # A primary instance and disaster recovery (DR) replica pair. A DR replica is a
965
+ # cross-region replica that you designate for failover in the event that the
966
+ # primary instance has regional failure. Only applicable to MySQL.
967
+ # Corresponds to the JSON property `replicationCluster`
968
+ # @return [Google::Apis::SqladminV1beta4::ReplicationCluster]
969
+ attr_accessor :replication_cluster
970
+
781
971
  # Initial root password. Use only on creation. You must set root passwords
782
972
  # before you can connect to PostgreSQL instances.
783
973
  # Corresponds to the JSON property `rootPassword`
784
974
  # @return [String]
785
975
  attr_accessor :root_password
786
976
 
787
- # The status indicating if instance satisfiesPzs. Reserved for future use.
977
+ # This status indicates whether the instance satisfies PZS. The status is
978
+ # reserved for future use.
788
979
  # Corresponds to the JSON property `satisfiesPzs`
789
980
  # @return [Boolean]
790
981
  attr_accessor :satisfies_pzs
@@ -824,6 +1015,11 @@ module Google
824
1015
  # @return [Google::Apis::SqladminV1beta4::Settings]
825
1016
  attr_accessor :settings
826
1017
 
1018
+ # The SQL network architecture for the instance.
1019
+ # Corresponds to the JSON property `sqlNetworkArchitecture`
1020
+ # @return [String]
1021
+ attr_accessor :sql_network_architecture
1022
+
827
1023
  # The current serving state of the Cloud SQL instance.
828
1024
  # Corresponds to the JSON property `state`
829
1025
  # @return [String]
@@ -834,6 +1030,16 @@ module Google
834
1030
  # @return [Array<String>]
835
1031
  attr_accessor :suspension_reason
836
1032
 
1033
+ # Output only. All database versions that are available for upgrade.
1034
+ # Corresponds to the JSON property `upgradableDatabaseVersions`
1035
+ # @return [Array<Google::Apis::SqladminV1beta4::AvailableDatabaseVersion>]
1036
+ attr_accessor :upgradable_database_versions
1037
+
1038
+ # Output only. The dns name of the primary instance in a replication group.
1039
+ # Corresponds to the JSON property `writeEndpoint`
1040
+ # @return [String]
1041
+ attr_accessor :write_endpoint
1042
+
837
1043
  def initialize(**args)
838
1044
  update!(**args)
839
1045
  end
@@ -849,9 +1055,11 @@ module Google
849
1055
  @database_version = args[:database_version] if args.key?(:database_version)
850
1056
  @disk_encryption_configuration = args[:disk_encryption_configuration] if args.key?(:disk_encryption_configuration)
851
1057
  @disk_encryption_status = args[:disk_encryption_status] if args.key?(:disk_encryption_status)
1058
+ @dns_name = args[:dns_name] if args.key?(:dns_name)
852
1059
  @etag = args[:etag] if args.key?(:etag)
853
1060
  @failover_replica = args[:failover_replica] if args.key?(:failover_replica)
854
1061
  @gce_zone = args[:gce_zone] if args.key?(:gce_zone)
1062
+ @gemini_config = args[:gemini_config] if args.key?(:gemini_config)
855
1063
  @instance_type = args[:instance_type] if args.key?(:instance_type)
856
1064
  @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
857
1065
  @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
@@ -862,10 +1070,13 @@ module Google
862
1070
  @name = args[:name] if args.key?(:name)
863
1071
  @on_premises_configuration = args[:on_premises_configuration] if args.key?(:on_premises_configuration)
864
1072
  @out_of_disk_report = args[:out_of_disk_report] if args.key?(:out_of_disk_report)
1073
+ @primary_dns_name = args[:primary_dns_name] if args.key?(:primary_dns_name)
865
1074
  @project = args[:project] if args.key?(:project)
1075
+ @psc_service_attachment_link = args[:psc_service_attachment_link] if args.key?(:psc_service_attachment_link)
866
1076
  @region = args[:region] if args.key?(:region)
867
1077
  @replica_configuration = args[:replica_configuration] if args.key?(:replica_configuration)
868
1078
  @replica_names = args[:replica_names] if args.key?(:replica_names)
1079
+ @replication_cluster = args[:replication_cluster] if args.key?(:replication_cluster)
869
1080
  @root_password = args[:root_password] if args.key?(:root_password)
870
1081
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
871
1082
  @scheduled_maintenance = args[:scheduled_maintenance] if args.key?(:scheduled_maintenance)
@@ -874,8 +1085,11 @@ module Google
874
1085
  @server_ca_cert = args[:server_ca_cert] if args.key?(:server_ca_cert)
875
1086
  @service_account_email_address = args[:service_account_email_address] if args.key?(:service_account_email_address)
876
1087
  @settings = args[:settings] if args.key?(:settings)
1088
+ @sql_network_architecture = args[:sql_network_architecture] if args.key?(:sql_network_architecture)
877
1089
  @state = args[:state] if args.key?(:state)
878
1090
  @suspension_reason = args[:suspension_reason] if args.key?(:suspension_reason)
1091
+ @upgradable_database_versions = args[:upgradable_database_versions] if args.key?(:upgradable_database_versions)
1092
+ @write_endpoint = args[:write_endpoint] if args.key?(:write_endpoint)
879
1093
  end
880
1094
 
881
1095
  # The name and status of the failover replica.
@@ -934,6 +1148,33 @@ module Google
934
1148
  end
935
1149
  end
936
1150
 
1151
+ # This context is used to demote an existing standalone instance to be a Cloud
1152
+ # SQL read replica for an external database server.
1153
+ class DemoteContext
1154
+ include Google::Apis::Core::Hashable
1155
+
1156
+ # This is always `sql#demoteContext`.
1157
+ # Corresponds to the JSON property `kind`
1158
+ # @return [String]
1159
+ attr_accessor :kind
1160
+
1161
+ # Required. The name of the instance which acts as an on-premises primary
1162
+ # instance in the replication setup.
1163
+ # Corresponds to the JSON property `sourceRepresentativeInstanceName`
1164
+ # @return [String]
1165
+ attr_accessor :source_representative_instance_name
1166
+
1167
+ def initialize(**args)
1168
+ update!(**args)
1169
+ end
1170
+
1171
+ # Update properties of this object
1172
+ def update!(**args)
1173
+ @kind = args[:kind] if args.key?(:kind)
1174
+ @source_representative_instance_name = args[:source_representative_instance_name] if args.key?(:source_representative_instance_name)
1175
+ end
1176
+ end
1177
+
937
1178
  # Read-replica configuration for connecting to the on-premises primary instance.
938
1179
  class DemoteMasterConfiguration
939
1180
  include Google::Apis::Core::Hashable
@@ -1150,10 +1391,31 @@ module Google
1150
1391
  end
1151
1392
  end
1152
1393
 
1394
+ # A generic empty message that you can re-use to avoid defining duplicated empty
1395
+ # messages in your APIs. A typical example is to use it as the request or the
1396
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
1397
+ # protobuf.Empty) returns (google.protobuf.Empty); `
1398
+ class Empty
1399
+ include Google::Apis::Core::Hashable
1400
+
1401
+ def initialize(**args)
1402
+ update!(**args)
1403
+ end
1404
+
1405
+ # Update properties of this object
1406
+ def update!(**args)
1407
+ end
1408
+ end
1409
+
1153
1410
  # Database instance export context.
1154
1411
  class ExportContext
1155
1412
  include Google::Apis::Core::Hashable
1156
1413
 
1414
+ # Options for exporting BAK files (SQL Server-only)
1415
+ # Corresponds to the JSON property `bakExportOptions`
1416
+ # @return [Google::Apis::SqladminV1beta4::ExportContext::BakExportOptions]
1417
+ attr_accessor :bak_export_options
1418
+
1157
1419
  # Options for exporting data as CSV. `MySQL` and `PostgreSQL` instances only.
1158
1420
  # Corresponds to the JSON property `csvExportOptions`
1159
1421
  # @return [Google::Apis::SqladminV1beta4::ExportContext::CsvExportOptions]
@@ -1207,6 +1469,7 @@ module Google
1207
1469
 
1208
1470
  # Update properties of this object
1209
1471
  def update!(**args)
1472
+ @bak_export_options = args[:bak_export_options] if args.key?(:bak_export_options)
1210
1473
  @csv_export_options = args[:csv_export_options] if args.key?(:csv_export_options)
1211
1474
  @databases = args[:databases] if args.key?(:databases)
1212
1475
  @file_type = args[:file_type] if args.key?(:file_type)
@@ -1216,6 +1479,55 @@ module Google
1216
1479
  @uri = args[:uri] if args.key?(:uri)
1217
1480
  end
1218
1481
 
1482
+ # Options for exporting BAK files (SQL Server-only)
1483
+ class BakExportOptions
1484
+ include Google::Apis::Core::Hashable
1485
+
1486
+ # Type of this bak file will be export, FULL or DIFF, SQL Server only
1487
+ # Corresponds to the JSON property `bakType`
1488
+ # @return [String]
1489
+ attr_accessor :bak_type
1490
+
1491
+ # Deprecated: copy_only is deprecated. Use differential_base instead
1492
+ # Corresponds to the JSON property `copyOnly`
1493
+ # @return [Boolean]
1494
+ attr_accessor :copy_only
1495
+ alias_method :copy_only?, :copy_only
1496
+
1497
+ # Whether or not the backup can be used as a differential base copy_only backup
1498
+ # can not be served as differential base
1499
+ # Corresponds to the JSON property `differentialBase`
1500
+ # @return [Boolean]
1501
+ attr_accessor :differential_base
1502
+ alias_method :differential_base?, :differential_base
1503
+
1504
+ # Option for specifying how many stripes to use for the export. If blank, and
1505
+ # the value of the striped field is true, the number of stripes is automatically
1506
+ # chosen.
1507
+ # Corresponds to the JSON property `stripeCount`
1508
+ # @return [Fixnum]
1509
+ attr_accessor :stripe_count
1510
+
1511
+ # Whether or not the export should be striped.
1512
+ # Corresponds to the JSON property `striped`
1513
+ # @return [Boolean]
1514
+ attr_accessor :striped
1515
+ alias_method :striped?, :striped
1516
+
1517
+ def initialize(**args)
1518
+ update!(**args)
1519
+ end
1520
+
1521
+ # Update properties of this object
1522
+ def update!(**args)
1523
+ @bak_type = args[:bak_type] if args.key?(:bak_type)
1524
+ @copy_only = args[:copy_only] if args.key?(:copy_only)
1525
+ @differential_base = args[:differential_base] if args.key?(:differential_base)
1526
+ @stripe_count = args[:stripe_count] if args.key?(:stripe_count)
1527
+ @striped = args[:striped] if args.key?(:striped)
1528
+ end
1529
+ end
1530
+
1219
1531
  # Options for exporting data as CSV. `MySQL` and `PostgreSQL` instances only.
1220
1532
  class CsvExportOptions
1221
1533
  include Google::Apis::Core::Hashable
@@ -1271,6 +1583,12 @@ module Google
1271
1583
  # @return [Google::Apis::SqladminV1beta4::ExportContext::SqlExportOptions::MysqlExportOptions]
1272
1584
  attr_accessor :mysql_export_options
1273
1585
 
1586
+ # Optional. Whether or not the export should be parallel.
1587
+ # Corresponds to the JSON property `parallel`
1588
+ # @return [Boolean]
1589
+ attr_accessor :parallel
1590
+ alias_method :parallel?, :parallel
1591
+
1274
1592
  # Export only schemas.
1275
1593
  # Corresponds to the JSON property `schemaOnly`
1276
1594
  # @return [Boolean]
@@ -1284,6 +1602,11 @@ module Google
1284
1602
  # @return [Array<String>]
1285
1603
  attr_accessor :tables
1286
1604
 
1605
+ # Optional. The number of threads to use for parallel export.
1606
+ # Corresponds to the JSON property `threads`
1607
+ # @return [Fixnum]
1608
+ attr_accessor :threads
1609
+
1287
1610
  def initialize(**args)
1288
1611
  update!(**args)
1289
1612
  end
@@ -1291,8 +1614,10 @@ module Google
1291
1614
  # Update properties of this object
1292
1615
  def update!(**args)
1293
1616
  @mysql_export_options = args[:mysql_export_options] if args.key?(:mysql_export_options)
1617
+ @parallel = args[:parallel] if args.key?(:parallel)
1294
1618
  @schema_only = args[:schema_only] if args.key?(:schema_only)
1295
1619
  @tables = args[:tables] if args.key?(:tables)
1620
+ @threads = args[:threads] if args.key?(:threads)
1296
1621
  end
1297
1622
 
1298
1623
  # Options for exporting from MySQL.
@@ -1457,6 +1782,61 @@ module Google
1457
1782
  end
1458
1783
  end
1459
1784
 
1785
+ # Gemini instance configuration.
1786
+ class GeminiInstanceConfig
1787
+ include Google::Apis::Core::Hashable
1788
+
1789
+ # Output only. Whether the active query is enabled.
1790
+ # Corresponds to the JSON property `activeQueryEnabled`
1791
+ # @return [Boolean]
1792
+ attr_accessor :active_query_enabled
1793
+ alias_method :active_query_enabled?, :active_query_enabled
1794
+
1795
+ # Output only. Whether Gemini is enabled.
1796
+ # Corresponds to the JSON property `entitled`
1797
+ # @return [Boolean]
1798
+ attr_accessor :entitled
1799
+ alias_method :entitled?, :entitled
1800
+
1801
+ # Output only. Whether the flag recommender is enabled.
1802
+ # Corresponds to the JSON property `flagRecommenderEnabled`
1803
+ # @return [Boolean]
1804
+ attr_accessor :flag_recommender_enabled
1805
+ alias_method :flag_recommender_enabled?, :flag_recommender_enabled
1806
+
1807
+ # Output only. Whether the vacuum management is enabled.
1808
+ # Corresponds to the JSON property `googleVacuumMgmtEnabled`
1809
+ # @return [Boolean]
1810
+ attr_accessor :google_vacuum_mgmt_enabled
1811
+ alias_method :google_vacuum_mgmt_enabled?, :google_vacuum_mgmt_enabled
1812
+
1813
+ # Output only. Whether the index advisor is enabled.
1814
+ # Corresponds to the JSON property `indexAdvisorEnabled`
1815
+ # @return [Boolean]
1816
+ attr_accessor :index_advisor_enabled
1817
+ alias_method :index_advisor_enabled?, :index_advisor_enabled
1818
+
1819
+ # Output only. Whether canceling the out-of-memory (OOM) session is enabled.
1820
+ # Corresponds to the JSON property `oomSessionCancelEnabled`
1821
+ # @return [Boolean]
1822
+ attr_accessor :oom_session_cancel_enabled
1823
+ alias_method :oom_session_cancel_enabled?, :oom_session_cancel_enabled
1824
+
1825
+ def initialize(**args)
1826
+ update!(**args)
1827
+ end
1828
+
1829
+ # Update properties of this object
1830
+ def update!(**args)
1831
+ @active_query_enabled = args[:active_query_enabled] if args.key?(:active_query_enabled)
1832
+ @entitled = args[:entitled] if args.key?(:entitled)
1833
+ @flag_recommender_enabled = args[:flag_recommender_enabled] if args.key?(:flag_recommender_enabled)
1834
+ @google_vacuum_mgmt_enabled = args[:google_vacuum_mgmt_enabled] if args.key?(:google_vacuum_mgmt_enabled)
1835
+ @index_advisor_enabled = args[:index_advisor_enabled] if args.key?(:index_advisor_enabled)
1836
+ @oom_session_cancel_enabled = args[:oom_session_cancel_enabled] if args.key?(:oom_session_cancel_enabled)
1837
+ end
1838
+ end
1839
+
1460
1840
  # Ephemeral certificate creation request.
1461
1841
  class GenerateEphemeralCertRequest
1462
1842
  include Google::Apis::Core::Hashable
@@ -1552,6 +1932,11 @@ module Google
1552
1932
  # @return [String]
1553
1933
  attr_accessor :kind
1554
1934
 
1935
+ # Optional. Options for importing data from SQL statements.
1936
+ # Corresponds to the JSON property `sqlImportOptions`
1937
+ # @return [Google::Apis::SqladminV1beta4::ImportContext::SqlImportOptions]
1938
+ attr_accessor :sql_import_options
1939
+
1555
1940
  # Path to the import file in Cloud Storage, in the form `gs://bucketName/
1556
1941
  # fileName`. Compressed gzip files (.gz) are supported when `fileType` is `SQL`.
1557
1942
  # The instance must have write permissions to the bucket and read access to the
@@ -1572,6 +1957,7 @@ module Google
1572
1957
  @file_type = args[:file_type] if args.key?(:file_type)
1573
1958
  @import_user = args[:import_user] if args.key?(:import_user)
1574
1959
  @kind = args[:kind] if args.key?(:kind)
1960
+ @sql_import_options = args[:sql_import_options] if args.key?(:sql_import_options)
1575
1961
  @uri = args[:uri] if args.key?(:uri)
1576
1962
  end
1577
1963
 
@@ -1579,18 +1965,67 @@ module Google
1579
1965
  class BakImportOptions
1580
1966
  include Google::Apis::Core::Hashable
1581
1967
 
1968
+ # Type of the bak content, FULL or DIFF.
1969
+ # Corresponds to the JSON property `bakType`
1970
+ # @return [String]
1971
+ attr_accessor :bak_type
1972
+
1582
1973
  #
1583
1974
  # Corresponds to the JSON property `encryptionOptions`
1584
1975
  # @return [Google::Apis::SqladminV1beta4::ImportContext::BakImportOptions::EncryptionOptions]
1585
1976
  attr_accessor :encryption_options
1586
1977
 
1978
+ # Whether or not the backup importing will restore database with NORECOVERY
1979
+ # option Applies only to Cloud SQL for SQL Server.
1980
+ # Corresponds to the JSON property `noRecovery`
1981
+ # @return [Boolean]
1982
+ attr_accessor :no_recovery
1983
+ alias_method :no_recovery?, :no_recovery
1984
+
1985
+ # Whether or not the backup importing request will just bring database online
1986
+ # without downloading Bak content only one of "no_recovery" and "recovery_only"
1987
+ # can be true otherwise error will return. Applies only to Cloud SQL for SQL
1988
+ # Server.
1989
+ # Corresponds to the JSON property `recoveryOnly`
1990
+ # @return [Boolean]
1991
+ attr_accessor :recovery_only
1992
+ alias_method :recovery_only?, :recovery_only
1993
+
1994
+ # Optional. The timestamp when the import should stop. This timestamp is in the [
1995
+ # RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example, `2023-10-
1996
+ # 01T16:19:00.094`). This field is equivalent to the STOPAT keyword and applies
1997
+ # to Cloud SQL for SQL Server only.
1998
+ # Corresponds to the JSON property `stopAt`
1999
+ # @return [String]
2000
+ attr_accessor :stop_at
2001
+
2002
+ # Optional. The marked transaction where the import should stop. This field is
2003
+ # equivalent to the STOPATMARK keyword and applies to Cloud SQL for SQL Server
2004
+ # only.
2005
+ # Corresponds to the JSON property `stopAtMark`
2006
+ # @return [String]
2007
+ attr_accessor :stop_at_mark
2008
+
2009
+ # Whether or not the backup set being restored is striped. Applies only to Cloud
2010
+ # SQL for SQL Server.
2011
+ # Corresponds to the JSON property `striped`
2012
+ # @return [Boolean]
2013
+ attr_accessor :striped
2014
+ alias_method :striped?, :striped
2015
+
1587
2016
  def initialize(**args)
1588
2017
  update!(**args)
1589
2018
  end
1590
2019
 
1591
2020
  # Update properties of this object
1592
2021
  def update!(**args)
2022
+ @bak_type = args[:bak_type] if args.key?(:bak_type)
1593
2023
  @encryption_options = args[:encryption_options] if args.key?(:encryption_options)
2024
+ @no_recovery = args[:no_recovery] if args.key?(:no_recovery)
2025
+ @recovery_only = args[:recovery_only] if args.key?(:recovery_only)
2026
+ @stop_at = args[:stop_at] if args.key?(:stop_at)
2027
+ @stop_at_mark = args[:stop_at_mark] if args.key?(:stop_at_mark)
2028
+ @striped = args[:striped] if args.key?(:striped)
1594
2029
  end
1595
2030
 
1596
2031
  #
@@ -1681,6 +2116,32 @@ module Google
1681
2116
  @table = args[:table] if args.key?(:table)
1682
2117
  end
1683
2118
  end
2119
+
2120
+ # Optional. Options for importing data from SQL statements.
2121
+ class SqlImportOptions
2122
+ include Google::Apis::Core::Hashable
2123
+
2124
+ # Optional. Whether or not the import should be parallel.
2125
+ # Corresponds to the JSON property `parallel`
2126
+ # @return [Boolean]
2127
+ attr_accessor :parallel
2128
+ alias_method :parallel?, :parallel
2129
+
2130
+ # Optional. The number of threads to use for parallel import.
2131
+ # Corresponds to the JSON property `threads`
2132
+ # @return [Fixnum]
2133
+ attr_accessor :threads
2134
+
2135
+ def initialize(**args)
2136
+ update!(**args)
2137
+ end
2138
+
2139
+ # Update properties of this object
2140
+ def update!(**args)
2141
+ @parallel = args[:parallel] if args.key?(:parallel)
2142
+ @threads = args[:threads] if args.key?(:threads)
2143
+ end
2144
+ end
1684
2145
  end
1685
2146
 
1686
2147
  # Insights configuration. This specifies when Cloud SQL Insights feature is
@@ -1767,6 +2228,25 @@ module Google
1767
2228
  end
1768
2229
  end
1769
2230
 
2231
+ # Request to acquire an SSRS lease for an instance.
2232
+ class InstancesAcquireSsrsLeaseRequest
2233
+ include Google::Apis::Core::Hashable
2234
+
2235
+ # Acquire SSRS lease context.
2236
+ # Corresponds to the JSON property `acquireSsrsLeaseContext`
2237
+ # @return [Google::Apis::SqladminV1beta4::AcquireSsrsLeaseContext]
2238
+ attr_accessor :acquire_ssrs_lease_context
2239
+
2240
+ def initialize(**args)
2241
+ update!(**args)
2242
+ end
2243
+
2244
+ # Update properties of this object
2245
+ def update!(**args)
2246
+ @acquire_ssrs_lease_context = args[:acquire_ssrs_lease_context] if args.key?(:acquire_ssrs_lease_context)
2247
+ end
2248
+ end
2249
+
1770
2250
  # Database instance clone request.
1771
2251
  class CloneInstancesRequest
1772
2252
  include Google::Apis::Core::Hashable
@@ -1805,6 +2285,27 @@ module Google
1805
2285
  end
1806
2286
  end
1807
2287
 
2288
+ # This request is used to demote an existing standalone instance to be a Cloud
2289
+ # SQL read replica for an external database server.
2290
+ class InstancesDemoteRequest
2291
+ include Google::Apis::Core::Hashable
2292
+
2293
+ # This context is used to demote an existing standalone instance to be a Cloud
2294
+ # SQL read replica for an external database server.
2295
+ # Corresponds to the JSON property `demoteContext`
2296
+ # @return [Google::Apis::SqladminV1beta4::DemoteContext]
2297
+ attr_accessor :demote_context
2298
+
2299
+ def initialize(**args)
2300
+ update!(**args)
2301
+ end
2302
+
2303
+ # Update properties of this object
2304
+ def update!(**args)
2305
+ @demote_context = args[:demote_context] if args.key?(:demote_context)
2306
+ end
2307
+ end
2308
+
1808
2309
  # Database instance export request.
1809
2310
  class ExportInstancesRequest
1810
2311
  include Google::Apis::Core::Hashable
@@ -1931,6 +2432,25 @@ module Google
1931
2432
  end
1932
2433
  end
1933
2434
 
2435
+ # Database Instance reencrypt request.
2436
+ class InstancesReencryptRequest
2437
+ include Google::Apis::Core::Hashable
2438
+
2439
+ # Backup Reencryption Config
2440
+ # Corresponds to the JSON property `backupReencryptionConfig`
2441
+ # @return [Google::Apis::SqladminV1beta4::BackupReencryptionConfig]
2442
+ attr_accessor :backup_reencryption_config
2443
+
2444
+ def initialize(**args)
2445
+ update!(**args)
2446
+ end
2447
+
2448
+ # Update properties of this object
2449
+ def update!(**args)
2450
+ @backup_reencryption_config = args[:backup_reencryption_config] if args.key?(:backup_reencryption_config)
2451
+ end
2452
+ end
2453
+
1934
2454
  # Database instance restore backup request.
1935
2455
  class RestoreInstancesBackupRequest
1936
2456
  include Google::Apis::Core::Hashable
@@ -1993,7 +2513,7 @@ module Google
1993
2513
  class IpConfiguration
1994
2514
  include Google::Apis::Core::Hashable
1995
2515
 
1996
- # The name of the allocated ip range for the private ip CloudSQL instance. For
2516
+ # The name of the allocated ip range for the private ip Cloud SQL instance. For
1997
2517
  # example: "google-managed-services-default". If set, the instance ip will be
1998
2518
  # created in the allocated range. The range name must comply with [RFC 1035](
1999
2519
  # https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63
@@ -2009,6 +2529,13 @@ module Google
2009
2529
  # @return [Array<Google::Apis::SqladminV1beta4::AclEntry>]
2010
2530
  attr_accessor :authorized_networks
2011
2531
 
2532
+ # Controls connectivity to private IP instances from Google services, such as
2533
+ # BigQuery.
2534
+ # Corresponds to the JSON property `enablePrivatePathForGoogleCloudServices`
2535
+ # @return [Boolean]
2536
+ attr_accessor :enable_private_path_for_google_cloud_services
2537
+ alias_method :enable_private_path_for_google_cloud_services?, :enable_private_path_for_google_cloud_services
2538
+
2012
2539
  # Whether the instance is assigned a public IP address or not.
2013
2540
  # Corresponds to the JSON property `ipv4Enabled`
2014
2541
  # @return [Boolean]
@@ -2023,12 +2550,40 @@ module Google
2023
2550
  # @return [String]
2024
2551
  attr_accessor :private_network
2025
2552
 
2026
- # Whether SSL connections over IP are enforced or not.
2553
+ # PSC settings for a Cloud SQL instance.
2554
+ # Corresponds to the JSON property `pscConfig`
2555
+ # @return [Google::Apis::SqladminV1beta4::PscConfig]
2556
+ attr_accessor :psc_config
2557
+
2558
+ # Use `ssl_mode` instead. Whether SSL/TLS connections over IP are enforced. If
2559
+ # set to false, then allow both non-SSL/non-TLS and SSL/TLS connections. For SSL/
2560
+ # TLS connections, the client certificate won't be verified. If set to true,
2561
+ # then only allow connections encrypted with SSL/TLS and with valid client
2562
+ # certificates. If you want to enforce SSL/TLS without enforcing the requirement
2563
+ # for valid client certificates, then use the `ssl_mode` flag instead of the
2564
+ # legacy `require_ssl` flag.
2027
2565
  # Corresponds to the JSON property `requireSsl`
2028
2566
  # @return [Boolean]
2029
2567
  attr_accessor :require_ssl
2030
2568
  alias_method :require_ssl?, :require_ssl
2031
2569
 
2570
+ # Specify how SSL/TLS is enforced in database connections. If you must use the `
2571
+ # require_ssl` flag for backward compatibility, then only the following value
2572
+ # pairs are valid: For PostgreSQL and MySQL: * `ssl_mode=
2573
+ # ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=
2574
+ # ENCRYPTED_ONLY` and `require_ssl=false` * `ssl_mode=
2575
+ # TRUSTED_CLIENT_CERTIFICATE_REQUIRED` and `require_ssl=true` For SQL Server: * `
2576
+ # ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=
2577
+ # ENCRYPTED_ONLY` and `require_ssl=true` The value of `ssl_mode` has priority
2578
+ # over the value of `require_ssl`. For example, for the pair `ssl_mode=
2579
+ # ENCRYPTED_ONLY` and `require_ssl=false`, `ssl_mode=ENCRYPTED_ONLY` means
2580
+ # accept only SSL connections, while `require_ssl=false` means accept both non-
2581
+ # SSL and SSL connections. In this case, MySQL and PostgreSQL databases respect `
2582
+ # ssl_mode` and accepts only SSL connections.
2583
+ # Corresponds to the JSON property `sslMode`
2584
+ # @return [String]
2585
+ attr_accessor :ssl_mode
2586
+
2032
2587
  def initialize(**args)
2033
2588
  update!(**args)
2034
2589
  end
@@ -2037,13 +2592,16 @@ module Google
2037
2592
  def update!(**args)
2038
2593
  @allocated_ip_range = args[:allocated_ip_range] if args.key?(:allocated_ip_range)
2039
2594
  @authorized_networks = args[:authorized_networks] if args.key?(:authorized_networks)
2595
+ @enable_private_path_for_google_cloud_services = args[:enable_private_path_for_google_cloud_services] if args.key?(:enable_private_path_for_google_cloud_services)
2040
2596
  @ipv4_enabled = args[:ipv4_enabled] if args.key?(:ipv4_enabled)
2041
2597
  @private_network = args[:private_network] if args.key?(:private_network)
2598
+ @psc_config = args[:psc_config] if args.key?(:psc_config)
2042
2599
  @require_ssl = args[:require_ssl] if args.key?(:require_ssl)
2600
+ @ssl_mode = args[:ssl_mode] if args.key?(:ssl_mode)
2043
2601
  end
2044
2602
  end
2045
2603
 
2046
- # Database instance IP Mapping.
2604
+ # Database instance IP mapping
2047
2605
  class IpMapping
2048
2606
  include Google::Apis::Core::Hashable
2049
2607
 
@@ -2097,7 +2655,8 @@ module Google
2097
2655
  attr_accessor :kind
2098
2656
 
2099
2657
  # The preferred Compute Engine zone for the secondary/failover (for example: us-
2100
- # central1-a, us-central1-b, etc.).
2658
+ # central1-a, us-central1-b, etc.). To disable this field, set it to '
2659
+ # no_secondary_zone'.
2101
2660
  # Corresponds to the JSON property `secondaryZone`
2102
2661
  # @return [String]
2103
2662
  attr_accessor :secondary_zone
@@ -2126,12 +2685,14 @@ module Google
2126
2685
  class MaintenanceWindow
2127
2686
  include Google::Apis::Core::Hashable
2128
2687
 
2129
- # day of week (1-7), starting on Monday.
2688
+ # Day of week - `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `
2689
+ # SATURDAY`, or `SUNDAY`. Specify in the UTC time zone. Returned in output as an
2690
+ # integer, 1 to 7, where `1` equals Monday.
2130
2691
  # Corresponds to the JSON property `day`
2131
2692
  # @return [Fixnum]
2132
2693
  attr_accessor :day
2133
2694
 
2134
- # hour of day - 0 to 23.
2695
+ # Hour of day - 0 to 23. Specify in the UTC time zone.
2135
2696
  # Corresponds to the JSON property `hour`
2136
2697
  # @return [Fixnum]
2137
2698
  attr_accessor :hour
@@ -2141,9 +2702,9 @@ module Google
2141
2702
  # @return [String]
2142
2703
  attr_accessor :kind
2143
2704
 
2144
- # Maintenance timing setting: `canary` (Earlier) or `stable` (Later). [Learn
2145
- # more](https://cloud.google.com/sql/docs/mysql/instance-settings#maintenance-
2146
- # timing-2ndgen).
2705
+ # Maintenance timing settings: `canary`, `stable`, or `week5`. For more
2706
+ # information, see [About maintenance on Cloud SQL instances](https://cloud.
2707
+ # google.com/sql/docs/mysql/maintenance).
2147
2708
  # Corresponds to the JSON property `updateTrack`
2148
2709
  # @return [String]
2149
2710
  attr_accessor :update_track
@@ -2340,6 +2901,16 @@ module Google
2340
2901
  class Operation
2341
2902
  include Google::Apis::Core::Hashable
2342
2903
 
2904
+ # Acquire SSRS lease context.
2905
+ # Corresponds to the JSON property `acquireSsrsLeaseContext`
2906
+ # @return [Google::Apis::SqladminV1beta4::AcquireSsrsLeaseContext]
2907
+ attr_accessor :acquire_ssrs_lease_context
2908
+
2909
+ # An Admin API warning message.
2910
+ # Corresponds to the JSON property `apiWarning`
2911
+ # @return [Google::Apis::SqladminV1beta4::ApiWarning]
2912
+ attr_accessor :api_warning
2913
+
2343
2914
  # Backup context.
2344
2915
  # Corresponds to the JSON property `backupContext`
2345
2916
  # @return [Google::Apis::SqladminV1beta4::BackupContext]
@@ -2433,6 +3004,8 @@ module Google
2433
3004
 
2434
3005
  # Update properties of this object
2435
3006
  def update!(**args)
3007
+ @acquire_ssrs_lease_context = args[:acquire_ssrs_lease_context] if args.key?(:acquire_ssrs_lease_context)
3008
+ @api_warning = args[:api_warning] if args.key?(:api_warning)
2436
3009
  @backup_context = args[:backup_context] if args.key?(:backup_context)
2437
3010
  @end_time = args[:end_time] if args.key?(:end_time)
2438
3011
  @error = args[:error] if args.key?(:error)
@@ -2508,6 +3081,65 @@ module Google
2508
3081
  end
2509
3082
  end
2510
3083
 
3084
+ # Represents the metadata of the long-running operation.
3085
+ class OperationMetadata
3086
+ include Google::Apis::Core::Hashable
3087
+
3088
+ # Output only. API version used to start the operation.
3089
+ # Corresponds to the JSON property `apiVersion`
3090
+ # @return [String]
3091
+ attr_accessor :api_version
3092
+
3093
+ # Output only. Identifies whether the user has requested cancellation of the
3094
+ # operation. Operations that have been cancelled successfully have Operation.
3095
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
3096
+ # CANCELLED`.
3097
+ # Corresponds to the JSON property `cancelRequested`
3098
+ # @return [Boolean]
3099
+ attr_accessor :cancel_requested
3100
+ alias_method :cancel_requested?, :cancel_requested
3101
+
3102
+ # Output only. The time the operation was created.
3103
+ # Corresponds to the JSON property `createTime`
3104
+ # @return [String]
3105
+ attr_accessor :create_time
3106
+
3107
+ # Output only. The time the operation finished running.
3108
+ # Corresponds to the JSON property `endTime`
3109
+ # @return [String]
3110
+ attr_accessor :end_time
3111
+
3112
+ # Output only. Human-readable status of the operation, if any.
3113
+ # Corresponds to the JSON property `statusDetail`
3114
+ # @return [String]
3115
+ attr_accessor :status_detail
3116
+
3117
+ # Output only. Server-defined resource path for the target of the operation.
3118
+ # Corresponds to the JSON property `target`
3119
+ # @return [String]
3120
+ attr_accessor :target
3121
+
3122
+ # Output only. Name of the verb executed by the operation.
3123
+ # Corresponds to the JSON property `verb`
3124
+ # @return [String]
3125
+ attr_accessor :verb
3126
+
3127
+ def initialize(**args)
3128
+ update!(**args)
3129
+ end
3130
+
3131
+ # Update properties of this object
3132
+ def update!(**args)
3133
+ @api_version = args[:api_version] if args.key?(:api_version)
3134
+ @cancel_requested = args[:cancel_requested] if args.key?(:cancel_requested)
3135
+ @create_time = args[:create_time] if args.key?(:create_time)
3136
+ @end_time = args[:end_time] if args.key?(:end_time)
3137
+ @status_detail = args[:status_detail] if args.key?(:status_detail)
3138
+ @target = args[:target] if args.key?(:target)
3139
+ @verb = args[:verb] if args.key?(:verb)
3140
+ end
3141
+ end
3142
+
2511
3143
  # Operations list response.
2512
3144
  class ListOperationsResponse
2513
3145
  include Google::Apis::Core::Hashable
@@ -2575,6 +3207,12 @@ module Google
2575
3207
  # @return [String]
2576
3208
  attr_accessor :complexity
2577
3209
 
3210
+ # This field is deprecated and will be removed in a future version of the API.
3211
+ # Corresponds to the JSON property `disallowCompromisedCredentials`
3212
+ # @return [Boolean]
3213
+ attr_accessor :disallow_compromised_credentials
3214
+ alias_method :disallow_compromised_credentials?, :disallow_compromised_credentials
3215
+
2578
3216
  # Disallow username as a part of the password.
2579
3217
  # Corresponds to the JSON property `disallowUsernameSubstring`
2580
3218
  # @return [Boolean]
@@ -2593,7 +3231,7 @@ module Google
2593
3231
  attr_accessor :min_length
2594
3232
 
2595
3233
  # Minimum interval after which the password can be changed. This flag is only
2596
- # supported for PostgresSQL.
3234
+ # supported for PostgreSQL.
2597
3235
  # Corresponds to the JSON property `passwordChangeInterval`
2598
3236
  # @return [String]
2599
3237
  attr_accessor :password_change_interval
@@ -2610,6 +3248,7 @@ module Google
2610
3248
  # Update properties of this object
2611
3249
  def update!(**args)
2612
3250
  @complexity = args[:complexity] if args.key?(:complexity)
3251
+ @disallow_compromised_credentials = args[:disallow_compromised_credentials] if args.key?(:disallow_compromised_credentials)
2613
3252
  @disallow_username_substring = args[:disallow_username_substring] if args.key?(:disallow_username_substring)
2614
3253
  @enable_password_policy = args[:enable_password_policy] if args.key?(:enable_password_policy)
2615
3254
  @min_length = args[:min_length] if args.key?(:min_length)
@@ -2618,10 +3257,66 @@ module Google
2618
3257
  end
2619
3258
  end
2620
3259
 
3260
+ # Perform disk shrink context.
3261
+ class PerformDiskShrinkContext
3262
+ include Google::Apis::Core::Hashable
3263
+
3264
+ # The target disk shrink size in GigaBytes.
3265
+ # Corresponds to the JSON property `targetSizeGb`
3266
+ # @return [Fixnum]
3267
+ attr_accessor :target_size_gb
3268
+
3269
+ def initialize(**args)
3270
+ update!(**args)
3271
+ end
3272
+
3273
+ # Update properties of this object
3274
+ def update!(**args)
3275
+ @target_size_gb = args[:target_size_gb] if args.key?(:target_size_gb)
3276
+ end
3277
+ end
3278
+
3279
+ # PSC settings for a Cloud SQL instance.
3280
+ class PscConfig
3281
+ include Google::Apis::Core::Hashable
3282
+
3283
+ # Optional. The list of consumer projects that are allow-listed for PSC
3284
+ # connections to this instance. This instance can be connected to with PSC from
3285
+ # any network in these projects. Each consumer project in this list may be
3286
+ # represented by a project number (numeric) or by a project id (alphanumeric).
3287
+ # Corresponds to the JSON property `allowedConsumerProjects`
3288
+ # @return [Array<String>]
3289
+ attr_accessor :allowed_consumer_projects
3290
+
3291
+ # Whether PSC connectivity is enabled for this instance.
3292
+ # Corresponds to the JSON property `pscEnabled`
3293
+ # @return [Boolean]
3294
+ attr_accessor :psc_enabled
3295
+ alias_method :psc_enabled?, :psc_enabled
3296
+
3297
+ def initialize(**args)
3298
+ update!(**args)
3299
+ end
3300
+
3301
+ # Update properties of this object
3302
+ def update!(**args)
3303
+ @allowed_consumer_projects = args[:allowed_consumer_projects] if args.key?(:allowed_consumer_projects)
3304
+ @psc_enabled = args[:psc_enabled] if args.key?(:psc_enabled)
3305
+ end
3306
+ end
3307
+
2621
3308
  # Read-replica configuration for connecting to the primary instance.
2622
3309
  class ReplicaConfiguration
2623
3310
  include Google::Apis::Core::Hashable
2624
3311
 
3312
+ # Optional. Specifies if a SQL Server replica is a cascadable replica. A
3313
+ # cascadable replica is a SQL Server cross region replica that supports replica(
3314
+ # s) under it.
3315
+ # Corresponds to the JSON property `cascadableReplica`
3316
+ # @return [Boolean]
3317
+ attr_accessor :cascadable_replica
3318
+ alias_method :cascadable_replica?, :cascadable_replica
3319
+
2625
3320
  # Specifies if the replica is the failover target. If the field is set to `true`
2626
3321
  # the replica will be designated as a failover replica. In case the primary
2627
3322
  # instance fails, the replica instance will be promoted as the new primary
@@ -2648,12 +3343,59 @@ module Google
2648
3343
 
2649
3344
  # Update properties of this object
2650
3345
  def update!(**args)
3346
+ @cascadable_replica = args[:cascadable_replica] if args.key?(:cascadable_replica)
2651
3347
  @failover_target = args[:failover_target] if args.key?(:failover_target)
2652
3348
  @kind = args[:kind] if args.key?(:kind)
2653
3349
  @mysql_replica_configuration = args[:mysql_replica_configuration] if args.key?(:mysql_replica_configuration)
2654
3350
  end
2655
3351
  end
2656
3352
 
3353
+ # A primary instance and disaster recovery (DR) replica pair. A DR replica is a
3354
+ # cross-region replica that you designate for failover in the event that the
3355
+ # primary instance has regional failure. Only applicable to MySQL.
3356
+ class ReplicationCluster
3357
+ include Google::Apis::Core::Hashable
3358
+
3359
+ # Output only. Read-only field that indicates whether the replica is a DR
3360
+ # replica. This field is not set if the instance is a primary instance.
3361
+ # Corresponds to the JSON property `drReplica`
3362
+ # @return [Boolean]
3363
+ attr_accessor :dr_replica
3364
+ alias_method :dr_replica?, :dr_replica
3365
+
3366
+ # Optional. If the instance is a primary instance, then this field identifies
3367
+ # the disaster recovery (DR) replica. A DR replica is an optional configuration
3368
+ # for Enterprise Plus edition instances. If the instance is a read replica, then
3369
+ # the field is not set. Set this field to a replica name to designate a DR
3370
+ # replica for a primary instance. Remove the replica name to remove the DR
3371
+ # replica designation.
3372
+ # Corresponds to the JSON property `failoverDrReplicaName`
3373
+ # @return [String]
3374
+ attr_accessor :failover_dr_replica_name
3375
+
3376
+ # Output only. If set, it indicates this instance has a private service access (
3377
+ # PSA) dns endpoint that is pointing to the primary instance of the cluster. If
3378
+ # this instance is the primary, the dns should be pointing to this instance.
3379
+ # After Switchover or Replica failover, this DNS endpoint points to the promoted
3380
+ # instance. This is a read-only field, returned to the user as information. This
3381
+ # field can exist even if a standalone instance does not yet have a replica, or
3382
+ # had a DR replica that was deleted.
3383
+ # Corresponds to the JSON property `psaWriteEndpoint`
3384
+ # @return [String]
3385
+ attr_accessor :psa_write_endpoint
3386
+
3387
+ def initialize(**args)
3388
+ update!(**args)
3389
+ end
3390
+
3391
+ # Update properties of this object
3392
+ def update!(**args)
3393
+ @dr_replica = args[:dr_replica] if args.key?(:dr_replica)
3394
+ @failover_dr_replica_name = args[:failover_dr_replica_name] if args.key?(:failover_dr_replica_name)
3395
+ @psa_write_endpoint = args[:psa_write_endpoint] if args.key?(:psa_write_endpoint)
3396
+ end
3397
+ end
3398
+
2657
3399
  #
2658
3400
  class Reschedule
2659
3401
  include Google::Apis::Core::Hashable
@@ -2763,6 +3505,11 @@ module Google
2763
3505
  # @return [Google::Apis::SqladminV1beta4::SqlActiveDirectoryConfig]
2764
3506
  attr_accessor :active_directory_config
2765
3507
 
3508
+ # Specifies options for controlling advanced machine features.
3509
+ # Corresponds to the JSON property `advancedMachineFeatures`
3510
+ # @return [Google::Apis::SqladminV1beta4::AdvancedMachineFeatures]
3511
+ attr_accessor :advanced_machine_features
3512
+
2766
3513
  # The App Engine app IDs that can access this instance. (Deprecated) Applied to
2767
3514
  # First Generation instances only.
2768
3515
  # Corresponds to the JSON property `authorizedGaeApplications`
@@ -2807,6 +3554,11 @@ module Google
2807
3554
  attr_accessor :crash_safe_replication_enabled
2808
3555
  alias_method :crash_safe_replication_enabled?, :crash_safe_replication_enabled
2809
3556
 
3557
+ # Data cache configurations.
3558
+ # Corresponds to the JSON property `dataCacheConfig`
3559
+ # @return [Google::Apis::SqladminV1beta4::DataCacheConfig]
3560
+ attr_accessor :data_cache_config
3561
+
2810
3562
  # The size of data disk, in GB. The data disk size minimum is 10GB.
2811
3563
  # Corresponds to the JSON property `dataDiskSizeGb`
2812
3564
  # @return [Fixnum]
@@ -2841,6 +3593,28 @@ module Google
2841
3593
  # @return [Array<Google::Apis::SqladminV1beta4::DenyMaintenancePeriod>]
2842
3594
  attr_accessor :deny_maintenance_periods
2843
3595
 
3596
+ # Optional. The edition of the instance.
3597
+ # Corresponds to the JSON property `edition`
3598
+ # @return [String]
3599
+ attr_accessor :edition
3600
+
3601
+ # Optional. By default, Cloud SQL instances have schema extraction disabled for
3602
+ # Dataplex. When this parameter is set to true, schema extraction for Dataplex
3603
+ # on Cloud SQL instances is activated.
3604
+ # Corresponds to the JSON property `enableDataplexIntegration`
3605
+ # @return [Boolean]
3606
+ attr_accessor :enable_dataplex_integration
3607
+ alias_method :enable_dataplex_integration?, :enable_dataplex_integration
3608
+
3609
+ # Optional. When this parameter is set to true, Cloud SQL instances can connect
3610
+ # to Vertex AI to pass requests for real-time predictions and insights to the AI.
3611
+ # The default value is false. This applies only to Cloud SQL for PostgreSQL
3612
+ # instances.
3613
+ # Corresponds to the JSON property `enableGoogleMlIntegration`
3614
+ # @return [Boolean]
3615
+ attr_accessor :enable_google_ml_integration
3616
+ alias_method :enable_google_ml_integration?, :enable_google_ml_integration
3617
+
2844
3618
  # Insights configuration. This specifies when Cloud SQL Insights feature is
2845
3619
  # enabled and optional configuration.
2846
3620
  # Corresponds to the JSON property `insightsConfig`
@@ -2939,18 +3713,23 @@ module Google
2939
3713
  def update!(**args)
2940
3714
  @activation_policy = args[:activation_policy] if args.key?(:activation_policy)
2941
3715
  @active_directory_config = args[:active_directory_config] if args.key?(:active_directory_config)
3716
+ @advanced_machine_features = args[:advanced_machine_features] if args.key?(:advanced_machine_features)
2942
3717
  @authorized_gae_applications = args[:authorized_gae_applications] if args.key?(:authorized_gae_applications)
2943
3718
  @availability_type = args[:availability_type] if args.key?(:availability_type)
2944
3719
  @backup_configuration = args[:backup_configuration] if args.key?(:backup_configuration)
2945
3720
  @collation = args[:collation] if args.key?(:collation)
2946
3721
  @connector_enforcement = args[:connector_enforcement] if args.key?(:connector_enforcement)
2947
3722
  @crash_safe_replication_enabled = args[:crash_safe_replication_enabled] if args.key?(:crash_safe_replication_enabled)
3723
+ @data_cache_config = args[:data_cache_config] if args.key?(:data_cache_config)
2948
3724
  @data_disk_size_gb = args[:data_disk_size_gb] if args.key?(:data_disk_size_gb)
2949
3725
  @data_disk_type = args[:data_disk_type] if args.key?(:data_disk_type)
2950
3726
  @database_flags = args[:database_flags] if args.key?(:database_flags)
2951
3727
  @database_replication_enabled = args[:database_replication_enabled] if args.key?(:database_replication_enabled)
2952
3728
  @deletion_protection_enabled = args[:deletion_protection_enabled] if args.key?(:deletion_protection_enabled)
2953
3729
  @deny_maintenance_periods = args[:deny_maintenance_periods] if args.key?(:deny_maintenance_periods)
3730
+ @edition = args[:edition] if args.key?(:edition)
3731
+ @enable_dataplex_integration = args[:enable_dataplex_integration] if args.key?(:enable_dataplex_integration)
3732
+ @enable_google_ml_integration = args[:enable_google_ml_integration] if args.key?(:enable_google_ml_integration)
2954
3733
  @insights_config = args[:insights_config] if args.key?(:insights_config)
2955
3734
  @ip_configuration = args[:ip_configuration] if args.key?(:ip_configuration)
2956
3735
  @kind = args[:kind] if args.key?(:kind)
@@ -3025,6 +3804,100 @@ module Google
3025
3804
  end
3026
3805
  end
3027
3806
 
3807
+ # Acquire SSRS lease response.
3808
+ class SqlInstancesAcquireSsrsLeaseResponse
3809
+ include Google::Apis::Core::Hashable
3810
+
3811
+ # The unique identifier for this operation.
3812
+ # Corresponds to the JSON property `operationId`
3813
+ # @return [String]
3814
+ attr_accessor :operation_id
3815
+
3816
+ def initialize(**args)
3817
+ update!(**args)
3818
+ end
3819
+
3820
+ # Update properties of this object
3821
+ def update!(**args)
3822
+ @operation_id = args[:operation_id] if args.key?(:operation_id)
3823
+ end
3824
+ end
3825
+
3826
+ # Instance get disk shrink config response.
3827
+ class SqlInstancesGetDiskShrinkConfigResponse
3828
+ include Google::Apis::Core::Hashable
3829
+
3830
+ # This is always `sql#getDiskShrinkConfig`.
3831
+ # Corresponds to the JSON property `kind`
3832
+ # @return [String]
3833
+ attr_accessor :kind
3834
+
3835
+ # Additional message to customers.
3836
+ # Corresponds to the JSON property `message`
3837
+ # @return [String]
3838
+ attr_accessor :message
3839
+
3840
+ # The minimum size to which a disk can be shrunk in GigaBytes.
3841
+ # Corresponds to the JSON property `minimalTargetSizeGb`
3842
+ # @return [Fixnum]
3843
+ attr_accessor :minimal_target_size_gb
3844
+
3845
+ def initialize(**args)
3846
+ update!(**args)
3847
+ end
3848
+
3849
+ # Update properties of this object
3850
+ def update!(**args)
3851
+ @kind = args[:kind] if args.key?(:kind)
3852
+ @message = args[:message] if args.key?(:message)
3853
+ @minimal_target_size_gb = args[:minimal_target_size_gb] if args.key?(:minimal_target_size_gb)
3854
+ end
3855
+ end
3856
+
3857
+ # Instance get latest recovery time response.
3858
+ class SqlInstancesGetLatestRecoveryTimeResponse
3859
+ include Google::Apis::Core::Hashable
3860
+
3861
+ # This is always `sql#getLatestRecoveryTime`.
3862
+ # Corresponds to the JSON property `kind`
3863
+ # @return [String]
3864
+ attr_accessor :kind
3865
+
3866
+ # Timestamp, identifies the latest recovery time of the source instance.
3867
+ # Corresponds to the JSON property `latestRecoveryTime`
3868
+ # @return [String]
3869
+ attr_accessor :latest_recovery_time
3870
+
3871
+ def initialize(**args)
3872
+ update!(**args)
3873
+ end
3874
+
3875
+ # Update properties of this object
3876
+ def update!(**args)
3877
+ @kind = args[:kind] if args.key?(:kind)
3878
+ @latest_recovery_time = args[:latest_recovery_time] if args.key?(:latest_recovery_time)
3879
+ end
3880
+ end
3881
+
3882
+ # The response for the release of the SSRS lease.
3883
+ class SqlInstancesReleaseSsrsLeaseResponse
3884
+ include Google::Apis::Core::Hashable
3885
+
3886
+ # The operation ID.
3887
+ # Corresponds to the JSON property `operationId`
3888
+ # @return [String]
3889
+ attr_accessor :operation_id
3890
+
3891
+ def initialize(**args)
3892
+ update!(**args)
3893
+ end
3894
+
3895
+ # Update properties of this object
3896
+ def update!(**args)
3897
+ @operation_id = args[:operation_id] if args.key?(:operation_id)
3898
+ end
3899
+ end
3900
+
3028
3901
  # Reschedule options for maintenance windows.
3029
3902
  class SqlInstancesRescheduleMaintenanceRequestBody
3030
3903
  include Google::Apis::Core::Hashable
@@ -3044,10 +3917,30 @@ module Google
3044
3917
  end
3045
3918
  end
3046
3919
 
3920
+ # Instance reset replica size request.
3921
+ class SqlInstancesResetReplicaSizeRequest
3922
+ include Google::Apis::Core::Hashable
3923
+
3924
+ def initialize(**args)
3925
+ update!(**args)
3926
+ end
3927
+
3928
+ # Update properties of this object
3929
+ def update!(**args)
3930
+ end
3931
+ end
3932
+
3047
3933
  #
3048
3934
  class SqlInstancesStartExternalSyncRequest
3049
3935
  include Google::Apis::Core::Hashable
3050
3936
 
3937
+ # Optional. MigrationType configures the migration to use physical files or
3938
+ # logical dump files. If not set, then the logical dump file configuration is
3939
+ # used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.
3940
+ # Corresponds to the JSON property `migrationType`
3941
+ # @return [String]
3942
+ attr_accessor :migration_type
3943
+
3051
3944
  # MySQL-specific external server sync settings.
3052
3945
  # Corresponds to the JSON property `mysqlSyncConfig`
3053
3946
  # @return [Google::Apis::SqladminV1beta4::MySqlSyncConfig]
@@ -3064,15 +3957,23 @@ module Google
3064
3957
  # @return [String]
3065
3958
  attr_accessor :sync_mode
3066
3959
 
3960
+ # Optional. Parallel level for initial data sync. Currently only applicable for
3961
+ # MySQL.
3962
+ # Corresponds to the JSON property `syncParallelLevel`
3963
+ # @return [String]
3964
+ attr_accessor :sync_parallel_level
3965
+
3067
3966
  def initialize(**args)
3068
3967
  update!(**args)
3069
3968
  end
3070
3969
 
3071
3970
  # Update properties of this object
3072
3971
  def update!(**args)
3972
+ @migration_type = args[:migration_type] if args.key?(:migration_type)
3073
3973
  @mysql_sync_config = args[:mysql_sync_config] if args.key?(:mysql_sync_config)
3074
3974
  @skip_verification = args[:skip_verification] if args.key?(:skip_verification)
3075
3975
  @sync_mode = args[:sync_mode] if args.key?(:sync_mode)
3976
+ @sync_parallel_level = args[:sync_parallel_level] if args.key?(:sync_parallel_level)
3076
3977
  end
3077
3978
  end
3078
3979
 
@@ -3080,6 +3981,13 @@ module Google
3080
3981
  class SqlInstancesVerifyExternalSyncSettingsRequest
3081
3982
  include Google::Apis::Core::Hashable
3082
3983
 
3984
+ # Optional. MigrationType configures the migration to use physical files or
3985
+ # logical dump files. If not set, then the logical dump file configuration is
3986
+ # used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.
3987
+ # Corresponds to the JSON property `migrationType`
3988
+ # @return [String]
3989
+ attr_accessor :migration_type
3990
+
3083
3991
  # MySQL-specific external server sync settings.
3084
3992
  # Corresponds to the JSON property `mysqlSyncConfig`
3085
3993
  # @return [Google::Apis::SqladminV1beta4::MySqlSyncConfig]
@@ -3090,6 +3998,11 @@ module Google
3090
3998
  # @return [String]
3091
3999
  attr_accessor :sync_mode
3092
4000
 
4001
+ # Optional. Parallel level for initial data sync. Only applicable for PostgreSQL.
4002
+ # Corresponds to the JSON property `syncParallelLevel`
4003
+ # @return [String]
4004
+ attr_accessor :sync_parallel_level
4005
+
3093
4006
  # Flag to enable verifying connection only
3094
4007
  # Corresponds to the JSON property `verifyConnectionOnly`
3095
4008
  # @return [Boolean]
@@ -3108,8 +4021,10 @@ module Google
3108
4021
 
3109
4022
  # Update properties of this object
3110
4023
  def update!(**args)
4024
+ @migration_type = args[:migration_type] if args.key?(:migration_type)
3111
4025
  @mysql_sync_config = args[:mysql_sync_config] if args.key?(:mysql_sync_config)
3112
4026
  @sync_mode = args[:sync_mode] if args.key?(:sync_mode)
4027
+ @sync_parallel_level = args[:sync_parallel_level] if args.key?(:sync_parallel_level)
3113
4028
  @verify_connection_only = args[:verify_connection_only] if args.key?(:verify_connection_only)
3114
4029
  @verify_replication_only = args[:verify_replication_only] if args.key?(:verify_replication_only)
3115
4030
  end
@@ -3776,9 +4691,7 @@ module Google
3776
4691
  # @return [String]
3777
4692
  attr_accessor :kind
3778
4693
 
3779
- # An identifier that uniquely identifies the operation. You can use this
3780
- # identifier to retrieve the Operations resource that has information about the
3781
- # operation.
4694
+ # Unused.
3782
4695
  # Corresponds to the JSON property `nextPageToken`
3783
4696
  # @return [String]
3784
4697
  attr_accessor :next_page_token