google-apis-sqladmin_v1beta4 0.41.0 → 0.77.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
@@ -281,6 +403,11 @@ module Google
281
403
  # @return [String]
282
404
  attr_accessor :location
283
405
 
406
+ # Output only. The maximum chargeable bytes for the backup.
407
+ # Corresponds to the JSON property `maxChargeableBytes`
408
+ # @return [Fixnum]
409
+ attr_accessor :max_chargeable_bytes
410
+
284
411
  # The URI of this resource.
285
412
  # Corresponds to the JSON property `selfLink`
286
413
  # @return [String]
@@ -335,6 +462,7 @@ module Google
335
462
  @instance = args[:instance] if args.key?(:instance)
336
463
  @kind = args[:kind] if args.key?(:kind)
337
464
  @location = args[:location] if args.key?(:location)
465
+ @max_chargeable_bytes = args[:max_chargeable_bytes] if args.key?(:max_chargeable_bytes)
338
466
  @self_link = args[:self_link] if args.key?(:self_link)
339
467
  @start_time = args[:start_time] if args.key?(:start_time)
340
468
  @status = args[:status] if args.key?(:status)
@@ -453,6 +581,20 @@ module Google
453
581
  # @return [String]
454
582
  attr_accessor :point_in_time
455
583
 
584
+ # Optional. Copy clone and point-in-time recovery clone of a regional instance
585
+ # in the specified zones. If not specified, clone to the same secondary zone as
586
+ # the source instance. This value cannot be the same as the preferred_zone field.
587
+ # Corresponds to the JSON property `preferredSecondaryZone`
588
+ # @return [String]
589
+ attr_accessor :preferred_secondary_zone
590
+
591
+ # Optional. Copy clone and point-in-time recovery clone of an instance to the
592
+ # specified zone. If no zone is specified, clone to the same primary zone as the
593
+ # source instance.
594
+ # Corresponds to the JSON property `preferredZone`
595
+ # @return [String]
596
+ attr_accessor :preferred_zone
597
+
456
598
  def initialize(**args)
457
599
  update!(**args)
458
600
  end
@@ -466,6 +608,8 @@ module Google
466
608
  @kind = args[:kind] if args.key?(:kind)
467
609
  @pitr_timestamp_ms = args[:pitr_timestamp_ms] if args.key?(:pitr_timestamp_ms)
468
610
  @point_in_time = args[:point_in_time] if args.key?(:point_in_time)
611
+ @preferred_secondary_zone = args[:preferred_secondary_zone] if args.key?(:preferred_secondary_zone)
612
+ @preferred_zone = args[:preferred_zone] if args.key?(:preferred_zone)
469
613
  end
470
614
  end
471
615
 
@@ -480,6 +624,11 @@ module Google
480
624
  # @return [String]
481
625
  attr_accessor :backend_type
482
626
 
627
+ # Custom subject alternative names for the server certificate.
628
+ # Corresponds to the JSON property `customSubjectAlternativeNames`
629
+ # @return [Array<String>]
630
+ attr_accessor :custom_subject_alternative_names
631
+
483
632
  # The database engine type and version. The `databaseVersion` field cannot be
484
633
  # changed after instance creation. MySQL instances: `MYSQL_8_0`, `MYSQL_5_7` (
485
634
  # default), or `MYSQL_5_6`. PostgreSQL instances: `POSTGRES_9_6`, `POSTGRES_10`,
@@ -492,6 +641,11 @@ module Google
492
641
  # @return [String]
493
642
  attr_accessor :database_version
494
643
 
644
+ # The dns name of the instance.
645
+ # Corresponds to the JSON property `dnsName`
646
+ # @return [String]
647
+ attr_accessor :dns_name
648
+
495
649
  # The assigned IP addresses for the instance.
496
650
  # Corresponds to the JSON property `ipAddresses`
497
651
  # @return [Array<Google::Apis::SqladminV1beta4::IpMapping>]
@@ -502,6 +656,12 @@ module Google
502
656
  # @return [String]
503
657
  attr_accessor :kind
504
658
 
659
+ # Whether PSC connectivity is enabled for this instance.
660
+ # Corresponds to the JSON property `pscEnabled`
661
+ # @return [Boolean]
662
+ attr_accessor :psc_enabled
663
+ alias_method :psc_enabled?, :psc_enabled
664
+
505
665
  # The cloud region for the instance. e.g. `us-central1`, `europe-west1`. The
506
666
  # region cannot be changed after instance creation.
507
667
  # Corresponds to the JSON property `region`
@@ -513,6 +673,11 @@ module Google
513
673
  # @return [Google::Apis::SqladminV1beta4::SslCert]
514
674
  attr_accessor :server_ca_cert
515
675
 
676
+ # Specify what type of CA is used for the server certificate.
677
+ # Corresponds to the JSON property `serverCaMode`
678
+ # @return [String]
679
+ attr_accessor :server_ca_mode
680
+
516
681
  def initialize(**args)
517
682
  update!(**args)
518
683
  end
@@ -520,11 +685,35 @@ module Google
520
685
  # Update properties of this object
521
686
  def update!(**args)
522
687
  @backend_type = args[:backend_type] if args.key?(:backend_type)
688
+ @custom_subject_alternative_names = args[:custom_subject_alternative_names] if args.key?(:custom_subject_alternative_names)
523
689
  @database_version = args[:database_version] if args.key?(:database_version)
690
+ @dns_name = args[:dns_name] if args.key?(:dns_name)
524
691
  @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
525
692
  @kind = args[:kind] if args.key?(:kind)
693
+ @psc_enabled = args[:psc_enabled] if args.key?(:psc_enabled)
526
694
  @region = args[:region] if args.key?(:region)
527
695
  @server_ca_cert = args[:server_ca_cert] if args.key?(:server_ca_cert)
696
+ @server_ca_mode = args[:server_ca_mode] if args.key?(:server_ca_mode)
697
+ end
698
+ end
699
+
700
+ # Data cache configurations.
701
+ class DataCacheConfig
702
+ include Google::Apis::Core::Hashable
703
+
704
+ # Whether data cache is enabled for the instance.
705
+ # Corresponds to the JSON property `dataCacheEnabled`
706
+ # @return [Boolean]
707
+ attr_accessor :data_cache_enabled
708
+ alias_method :data_cache_enabled?, :data_cache_enabled
709
+
710
+ def initialize(**args)
711
+ update!(**args)
712
+ end
713
+
714
+ # Update properties of this object
715
+ def update!(**args)
716
+ @data_cache_enabled = args[:data_cache_enabled] if args.key?(:data_cache_enabled)
528
717
  end
529
718
  end
530
719
 
@@ -630,7 +819,7 @@ module Google
630
819
  class DatabaseInstance
631
820
  include Google::Apis::Core::Hashable
632
821
 
633
- # List all maintenance versions applicable on the instance
822
+ # Output only. List all maintenance versions applicable on the instance
634
823
  # Corresponds to the JSON property `availableMaintenanceVersions`
635
824
  # @return [Array<String>]
636
825
  attr_accessor :available_maintenance_versions
@@ -684,6 +873,11 @@ module Google
684
873
  # @return [Google::Apis::SqladminV1beta4::DiskEncryptionStatus]
685
874
  attr_accessor :disk_encryption_status
686
875
 
876
+ # Output only. The dns name of the instance.
877
+ # Corresponds to the JSON property `dnsName`
878
+ # @return [String]
879
+ attr_accessor :dns_name
880
+
687
881
  # This field is deprecated and will be removed from a future version of the API.
688
882
  # Use the `settings.settingsVersion` field instead.
689
883
  # Corresponds to the JSON property `etag`
@@ -703,6 +897,11 @@ module Google
703
897
  # @return [String]
704
898
  attr_accessor :gce_zone
705
899
 
900
+ # Gemini instance configuration.
901
+ # Corresponds to the JSON property `geminiConfig`
902
+ # @return [Google::Apis::SqladminV1beta4::GeminiInstanceConfig]
903
+ attr_accessor :gemini_config
904
+
706
905
  # The instance type.
707
906
  # Corresponds to the JSON property `instanceType`
708
907
  # @return [String]
@@ -754,16 +953,26 @@ module Google
754
953
  # @return [Google::Apis::SqladminV1beta4::SqlOutOfDiskReport]
755
954
  attr_accessor :out_of_disk_report
756
955
 
956
+ # Output only. DEPRECATED: please use write_endpoint instead.
957
+ # Corresponds to the JSON property `primaryDnsName`
958
+ # @return [String]
959
+ attr_accessor :primary_dns_name
960
+
757
961
  # The project ID of the project containing the Cloud SQL instance. The Google
758
962
  # apps domain is prefixed if applicable.
759
963
  # Corresponds to the JSON property `project`
760
964
  # @return [String]
761
965
  attr_accessor :project
762
966
 
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.
967
+ # Output only. The link to service attachment of PSC instance.
968
+ # Corresponds to the JSON property `pscServiceAttachmentLink`
969
+ # @return [String]
970
+ attr_accessor :psc_service_attachment_link
971
+
972
+ # The geographical region of the Cloud SQL instance. It can be one of the [
973
+ # regions](https://cloud.google.com/sql/docs/mysql/locations#location-r) where
974
+ # Cloud SQL operates: For example, `asia-east1`, `europe-west1`, and `us-
975
+ # central1`. The default value is `us-central1`.
767
976
  # Corresponds to the JSON property `region`
768
977
  # @return [String]
769
978
  attr_accessor :region
@@ -778,13 +987,28 @@ module Google
778
987
  # @return [Array<String>]
779
988
  attr_accessor :replica_names
780
989
 
990
+ # A primary instance and disaster recovery (DR) replica pair. A DR replica is a
991
+ # cross-region replica that you designate for failover in the event that the
992
+ # primary instance has regional failure. Applicable to MySQL and PostgreSQL.
993
+ # Corresponds to the JSON property `replicationCluster`
994
+ # @return [Google::Apis::SqladminV1beta4::ReplicationCluster]
995
+ attr_accessor :replication_cluster
996
+
781
997
  # Initial root password. Use only on creation. You must set root passwords
782
998
  # before you can connect to PostgreSQL instances.
783
999
  # Corresponds to the JSON property `rootPassword`
784
1000
  # @return [String]
785
1001
  attr_accessor :root_password
786
1002
 
787
- # The status indicating if instance satisfiesPzs. Reserved for future use.
1003
+ # Output only. This status indicates whether the instance satisfies PZI. The
1004
+ # status is reserved for future use.
1005
+ # Corresponds to the JSON property `satisfiesPzi`
1006
+ # @return [Boolean]
1007
+ attr_accessor :satisfies_pzi
1008
+ alias_method :satisfies_pzi?, :satisfies_pzi
1009
+
1010
+ # This status indicates whether the instance satisfies PZS. The status is
1011
+ # reserved for future use.
788
1012
  # Corresponds to the JSON property `satisfiesPzs`
789
1013
  # @return [Boolean]
790
1014
  attr_accessor :satisfies_pzs
@@ -824,6 +1048,11 @@ module Google
824
1048
  # @return [Google::Apis::SqladminV1beta4::Settings]
825
1049
  attr_accessor :settings
826
1050
 
1051
+ # The SQL network architecture for the instance.
1052
+ # Corresponds to the JSON property `sqlNetworkArchitecture`
1053
+ # @return [String]
1054
+ attr_accessor :sql_network_architecture
1055
+
827
1056
  # The current serving state of the Cloud SQL instance.
828
1057
  # Corresponds to the JSON property `state`
829
1058
  # @return [String]
@@ -834,6 +1063,33 @@ module Google
834
1063
  # @return [Array<String>]
835
1064
  attr_accessor :suspension_reason
836
1065
 
1066
+ # Input only. Whether Cloud SQL is enabled to switch storing point-in-time
1067
+ # recovery log files from a data disk to Cloud Storage.
1068
+ # Corresponds to the JSON property `switchTransactionLogsToCloudStorageEnabled`
1069
+ # @return [Boolean]
1070
+ attr_accessor :switch_transaction_logs_to_cloud_storage_enabled
1071
+ alias_method :switch_transaction_logs_to_cloud_storage_enabled?, :switch_transaction_logs_to_cloud_storage_enabled
1072
+
1073
+ # Optional. Input only. Immutable. Tag keys and tag values that are bound to
1074
+ # this instance. You must represent each item in the map as: `"" : ""`. For
1075
+ # example, a single resource can have the following tags: ``` "123/environment":
1076
+ # "production", "123/costCenter": "marketing", ``` For more information on tag
1077
+ # creation and management, see https://cloud.google.com/resource-manager/docs/
1078
+ # tags/tags-overview.
1079
+ # Corresponds to the JSON property `tags`
1080
+ # @return [Hash<String,String>]
1081
+ attr_accessor :tags
1082
+
1083
+ # Output only. All database versions that are available for upgrade.
1084
+ # Corresponds to the JSON property `upgradableDatabaseVersions`
1085
+ # @return [Array<Google::Apis::SqladminV1beta4::AvailableDatabaseVersion>]
1086
+ attr_accessor :upgradable_database_versions
1087
+
1088
+ # Output only. The dns name of the primary instance in a replication group.
1089
+ # Corresponds to the JSON property `writeEndpoint`
1090
+ # @return [String]
1091
+ attr_accessor :write_endpoint
1092
+
837
1093
  def initialize(**args)
838
1094
  update!(**args)
839
1095
  end
@@ -849,9 +1105,11 @@ module Google
849
1105
  @database_version = args[:database_version] if args.key?(:database_version)
850
1106
  @disk_encryption_configuration = args[:disk_encryption_configuration] if args.key?(:disk_encryption_configuration)
851
1107
  @disk_encryption_status = args[:disk_encryption_status] if args.key?(:disk_encryption_status)
1108
+ @dns_name = args[:dns_name] if args.key?(:dns_name)
852
1109
  @etag = args[:etag] if args.key?(:etag)
853
1110
  @failover_replica = args[:failover_replica] if args.key?(:failover_replica)
854
1111
  @gce_zone = args[:gce_zone] if args.key?(:gce_zone)
1112
+ @gemini_config = args[:gemini_config] if args.key?(:gemini_config)
855
1113
  @instance_type = args[:instance_type] if args.key?(:instance_type)
856
1114
  @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
857
1115
  @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
@@ -862,11 +1120,15 @@ module Google
862
1120
  @name = args[:name] if args.key?(:name)
863
1121
  @on_premises_configuration = args[:on_premises_configuration] if args.key?(:on_premises_configuration)
864
1122
  @out_of_disk_report = args[:out_of_disk_report] if args.key?(:out_of_disk_report)
1123
+ @primary_dns_name = args[:primary_dns_name] if args.key?(:primary_dns_name)
865
1124
  @project = args[:project] if args.key?(:project)
1125
+ @psc_service_attachment_link = args[:psc_service_attachment_link] if args.key?(:psc_service_attachment_link)
866
1126
  @region = args[:region] if args.key?(:region)
867
1127
  @replica_configuration = args[:replica_configuration] if args.key?(:replica_configuration)
868
1128
  @replica_names = args[:replica_names] if args.key?(:replica_names)
1129
+ @replication_cluster = args[:replication_cluster] if args.key?(:replication_cluster)
869
1130
  @root_password = args[:root_password] if args.key?(:root_password)
1131
+ @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
870
1132
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
871
1133
  @scheduled_maintenance = args[:scheduled_maintenance] if args.key?(:scheduled_maintenance)
872
1134
  @secondary_gce_zone = args[:secondary_gce_zone] if args.key?(:secondary_gce_zone)
@@ -874,8 +1136,13 @@ module Google
874
1136
  @server_ca_cert = args[:server_ca_cert] if args.key?(:server_ca_cert)
875
1137
  @service_account_email_address = args[:service_account_email_address] if args.key?(:service_account_email_address)
876
1138
  @settings = args[:settings] if args.key?(:settings)
1139
+ @sql_network_architecture = args[:sql_network_architecture] if args.key?(:sql_network_architecture)
877
1140
  @state = args[:state] if args.key?(:state)
878
1141
  @suspension_reason = args[:suspension_reason] if args.key?(:suspension_reason)
1142
+ @switch_transaction_logs_to_cloud_storage_enabled = args[:switch_transaction_logs_to_cloud_storage_enabled] if args.key?(:switch_transaction_logs_to_cloud_storage_enabled)
1143
+ @tags = args[:tags] if args.key?(:tags)
1144
+ @upgradable_database_versions = args[:upgradable_database_versions] if args.key?(:upgradable_database_versions)
1145
+ @write_endpoint = args[:write_endpoint] if args.key?(:write_endpoint)
879
1146
  end
880
1147
 
881
1148
  # The name and status of the failover replica.
@@ -934,6 +1201,33 @@ module Google
934
1201
  end
935
1202
  end
936
1203
 
1204
+ # This context is used to demote an existing standalone instance to be a Cloud
1205
+ # SQL read replica for an external database server.
1206
+ class DemoteContext
1207
+ include Google::Apis::Core::Hashable
1208
+
1209
+ # This is always `sql#demoteContext`.
1210
+ # Corresponds to the JSON property `kind`
1211
+ # @return [String]
1212
+ attr_accessor :kind
1213
+
1214
+ # Required. The name of the instance which acts as an on-premises primary
1215
+ # instance in the replication setup.
1216
+ # Corresponds to the JSON property `sourceRepresentativeInstanceName`
1217
+ # @return [String]
1218
+ attr_accessor :source_representative_instance_name
1219
+
1220
+ def initialize(**args)
1221
+ update!(**args)
1222
+ end
1223
+
1224
+ # Update properties of this object
1225
+ def update!(**args)
1226
+ @kind = args[:kind] if args.key?(:kind)
1227
+ @source_representative_instance_name = args[:source_representative_instance_name] if args.key?(:source_representative_instance_name)
1228
+ end
1229
+ end
1230
+
937
1231
  # Read-replica configuration for connecting to the on-premises primary instance.
938
1232
  class DemoteMasterConfiguration
939
1233
  include Google::Apis::Core::Hashable
@@ -1150,6 +1444,22 @@ module Google
1150
1444
  end
1151
1445
  end
1152
1446
 
1447
+ # A generic empty message that you can re-use to avoid defining duplicated empty
1448
+ # messages in your APIs. A typical example is to use it as the request or the
1449
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
1450
+ # protobuf.Empty) returns (google.protobuf.Empty); `
1451
+ class Empty
1452
+ include Google::Apis::Core::Hashable
1453
+
1454
+ def initialize(**args)
1455
+ update!(**args)
1456
+ end
1457
+
1458
+ # Update properties of this object
1459
+ def update!(**args)
1460
+ end
1461
+ end
1462
+
1153
1463
  # Database instance export context.
1154
1464
  class ExportContext
1155
1465
  include Google::Apis::Core::Hashable
@@ -1226,6 +1536,41 @@ module Google
1226
1536
  class BakExportOptions
1227
1537
  include Google::Apis::Core::Hashable
1228
1538
 
1539
+ # Type of this bak file will be export, FULL or DIFF, SQL Server only
1540
+ # Corresponds to the JSON property `bakType`
1541
+ # @return [String]
1542
+ attr_accessor :bak_type
1543
+
1544
+ # Deprecated: copy_only is deprecated. Use differential_base instead
1545
+ # Corresponds to the JSON property `copyOnly`
1546
+ # @return [Boolean]
1547
+ attr_accessor :copy_only
1548
+ alias_method :copy_only?, :copy_only
1549
+
1550
+ # Whether or not the backup can be used as a differential base copy_only backup
1551
+ # can not be served as differential base
1552
+ # Corresponds to the JSON property `differentialBase`
1553
+ # @return [Boolean]
1554
+ attr_accessor :differential_base
1555
+ alias_method :differential_base?, :differential_base
1556
+
1557
+ # Optional. The end timestamp when transaction log will be included in the
1558
+ # export operation. [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for
1559
+ # example, `2023-10-01T16:19:00.094`) in UTC. When omitted, all available logs
1560
+ # until current time will be included. Only applied to Cloud SQL for SQL Server.
1561
+ # Corresponds to the JSON property `exportLogEndTime`
1562
+ # @return [String]
1563
+ attr_accessor :export_log_end_time
1564
+
1565
+ # Optional. The begin timestamp when transaction log will be included in the
1566
+ # export operation. [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for
1567
+ # example, `2023-10-01T16:19:00.094`) in UTC. When omitted, all available logs
1568
+ # from the beginning of retention period will be included. Only applied to Cloud
1569
+ # SQL for SQL Server.
1570
+ # Corresponds to the JSON property `exportLogStartTime`
1571
+ # @return [String]
1572
+ attr_accessor :export_log_start_time
1573
+
1229
1574
  # Option for specifying how many stripes to use for the export. If blank, and
1230
1575
  # the value of the striped field is true, the number of stripes is automatically
1231
1576
  # chosen.
@@ -1245,6 +1590,11 @@ module Google
1245
1590
 
1246
1591
  # Update properties of this object
1247
1592
  def update!(**args)
1593
+ @bak_type = args[:bak_type] if args.key?(:bak_type)
1594
+ @copy_only = args[:copy_only] if args.key?(:copy_only)
1595
+ @differential_base = args[:differential_base] if args.key?(:differential_base)
1596
+ @export_log_end_time = args[:export_log_end_time] if args.key?(:export_log_end_time)
1597
+ @export_log_start_time = args[:export_log_start_time] if args.key?(:export_log_start_time)
1248
1598
  @stripe_count = args[:stripe_count] if args.key?(:stripe_count)
1249
1599
  @striped = args[:striped] if args.key?(:striped)
1250
1600
  end
@@ -1305,6 +1655,17 @@ module Google
1305
1655
  # @return [Google::Apis::SqladminV1beta4::ExportContext::SqlExportOptions::MysqlExportOptions]
1306
1656
  attr_accessor :mysql_export_options
1307
1657
 
1658
+ # Optional. Whether or not the export should be parallel.
1659
+ # Corresponds to the JSON property `parallel`
1660
+ # @return [Boolean]
1661
+ attr_accessor :parallel
1662
+ alias_method :parallel?, :parallel
1663
+
1664
+ # Options for exporting from a Cloud SQL for PostgreSQL instance.
1665
+ # Corresponds to the JSON property `postgresExportOptions`
1666
+ # @return [Google::Apis::SqladminV1beta4::ExportContext::SqlExportOptions::PostgresExportOptions]
1667
+ attr_accessor :postgres_export_options
1668
+
1308
1669
  # Export only schemas.
1309
1670
  # Corresponds to the JSON property `schemaOnly`
1310
1671
  # @return [Boolean]
@@ -1318,6 +1679,11 @@ module Google
1318
1679
  # @return [Array<String>]
1319
1680
  attr_accessor :tables
1320
1681
 
1682
+ # Optional. The number of threads to use for parallel export.
1683
+ # Corresponds to the JSON property `threads`
1684
+ # @return [Fixnum]
1685
+ attr_accessor :threads
1686
+
1321
1687
  def initialize(**args)
1322
1688
  update!(**args)
1323
1689
  end
@@ -1325,8 +1691,11 @@ module Google
1325
1691
  # Update properties of this object
1326
1692
  def update!(**args)
1327
1693
  @mysql_export_options = args[:mysql_export_options] if args.key?(:mysql_export_options)
1694
+ @parallel = args[:parallel] if args.key?(:parallel)
1695
+ @postgres_export_options = args[:postgres_export_options] if args.key?(:postgres_export_options)
1328
1696
  @schema_only = args[:schema_only] if args.key?(:schema_only)
1329
1697
  @tables = args[:tables] if args.key?(:tables)
1698
+ @threads = args[:threads] if args.key?(:threads)
1330
1699
  end
1331
1700
 
1332
1701
  # Options for exporting from MySQL.
@@ -1351,6 +1720,54 @@ module Google
1351
1720
  @master_data = args[:master_data] if args.key?(:master_data)
1352
1721
  end
1353
1722
  end
1723
+
1724
+ # Options for exporting from a Cloud SQL for PostgreSQL instance.
1725
+ class PostgresExportOptions
1726
+ include Google::Apis::Core::Hashable
1727
+
1728
+ # Optional. Use this option to include DROP SQL statements. These statements are
1729
+ # used to delete database objects before running the import operation.
1730
+ # Corresponds to the JSON property `clean`
1731
+ # @return [Boolean]
1732
+ attr_accessor :clean
1733
+ alias_method :clean?, :clean
1734
+
1735
+ # Optional. Option to include an IF EXISTS SQL statement with each DROP
1736
+ # statement produced by clean.
1737
+ # Corresponds to the JSON property `ifExists`
1738
+ # @return [Boolean]
1739
+ attr_accessor :if_exists
1740
+ alias_method :if_exists?, :if_exists
1741
+
1742
+ def initialize(**args)
1743
+ update!(**args)
1744
+ end
1745
+
1746
+ # Update properties of this object
1747
+ def update!(**args)
1748
+ @clean = args[:clean] if args.key?(:clean)
1749
+ @if_exists = args[:if_exists] if args.key?(:if_exists)
1750
+ end
1751
+ end
1752
+ end
1753
+ end
1754
+
1755
+ # The selected object that Cloud SQL migrates.
1756
+ class ExternalSyncSelectedObject
1757
+ include Google::Apis::Core::Hashable
1758
+
1759
+ # The name of the database that Cloud SQL migrates.
1760
+ # Corresponds to the JSON property `database`
1761
+ # @return [String]
1762
+ attr_accessor :database
1763
+
1764
+ def initialize(**args)
1765
+ update!(**args)
1766
+ end
1767
+
1768
+ # Update properties of this object
1769
+ def update!(**args)
1770
+ @database = args[:database] if args.key?(:database)
1354
1771
  end
1355
1772
  end
1356
1773
 
@@ -1491,6 +1908,61 @@ module Google
1491
1908
  end
1492
1909
  end
1493
1910
 
1911
+ # Gemini instance configuration.
1912
+ class GeminiInstanceConfig
1913
+ include Google::Apis::Core::Hashable
1914
+
1915
+ # Output only. Whether the active query is enabled.
1916
+ # Corresponds to the JSON property `activeQueryEnabled`
1917
+ # @return [Boolean]
1918
+ attr_accessor :active_query_enabled
1919
+ alias_method :active_query_enabled?, :active_query_enabled
1920
+
1921
+ # Output only. Whether Gemini is enabled.
1922
+ # Corresponds to the JSON property `entitled`
1923
+ # @return [Boolean]
1924
+ attr_accessor :entitled
1925
+ alias_method :entitled?, :entitled
1926
+
1927
+ # Output only. Whether the flag recommender is enabled.
1928
+ # Corresponds to the JSON property `flagRecommenderEnabled`
1929
+ # @return [Boolean]
1930
+ attr_accessor :flag_recommender_enabled
1931
+ alias_method :flag_recommender_enabled?, :flag_recommender_enabled
1932
+
1933
+ # Output only. Whether the vacuum management is enabled.
1934
+ # Corresponds to the JSON property `googleVacuumMgmtEnabled`
1935
+ # @return [Boolean]
1936
+ attr_accessor :google_vacuum_mgmt_enabled
1937
+ alias_method :google_vacuum_mgmt_enabled?, :google_vacuum_mgmt_enabled
1938
+
1939
+ # Output only. Whether the index advisor is enabled.
1940
+ # Corresponds to the JSON property `indexAdvisorEnabled`
1941
+ # @return [Boolean]
1942
+ attr_accessor :index_advisor_enabled
1943
+ alias_method :index_advisor_enabled?, :index_advisor_enabled
1944
+
1945
+ # Output only. Whether canceling the out-of-memory (OOM) session is enabled.
1946
+ # Corresponds to the JSON property `oomSessionCancelEnabled`
1947
+ # @return [Boolean]
1948
+ attr_accessor :oom_session_cancel_enabled
1949
+ alias_method :oom_session_cancel_enabled?, :oom_session_cancel_enabled
1950
+
1951
+ def initialize(**args)
1952
+ update!(**args)
1953
+ end
1954
+
1955
+ # Update properties of this object
1956
+ def update!(**args)
1957
+ @active_query_enabled = args[:active_query_enabled] if args.key?(:active_query_enabled)
1958
+ @entitled = args[:entitled] if args.key?(:entitled)
1959
+ @flag_recommender_enabled = args[:flag_recommender_enabled] if args.key?(:flag_recommender_enabled)
1960
+ @google_vacuum_mgmt_enabled = args[:google_vacuum_mgmt_enabled] if args.key?(:google_vacuum_mgmt_enabled)
1961
+ @index_advisor_enabled = args[:index_advisor_enabled] if args.key?(:index_advisor_enabled)
1962
+ @oom_session_cancel_enabled = args[:oom_session_cancel_enabled] if args.key?(:oom_session_cancel_enabled)
1963
+ end
1964
+ end
1965
+
1494
1966
  # Ephemeral certificate creation request.
1495
1967
  class GenerateEphemeralCertRequest
1496
1968
  include Google::Apis::Core::Hashable
@@ -1586,6 +2058,11 @@ module Google
1586
2058
  # @return [String]
1587
2059
  attr_accessor :kind
1588
2060
 
2061
+ # Optional. Options for importing data from SQL statements.
2062
+ # Corresponds to the JSON property `sqlImportOptions`
2063
+ # @return [Google::Apis::SqladminV1beta4::ImportContext::SqlImportOptions]
2064
+ attr_accessor :sql_import_options
2065
+
1589
2066
  # Path to the import file in Cloud Storage, in the form `gs://bucketName/
1590
2067
  # fileName`. Compressed gzip files (.gz) are supported when `fileType` is `SQL`.
1591
2068
  # The instance must have write permissions to the bucket and read access to the
@@ -1606,6 +2083,7 @@ module Google
1606
2083
  @file_type = args[:file_type] if args.key?(:file_type)
1607
2084
  @import_user = args[:import_user] if args.key?(:import_user)
1608
2085
  @kind = args[:kind] if args.key?(:kind)
2086
+ @sql_import_options = args[:sql_import_options] if args.key?(:sql_import_options)
1609
2087
  @uri = args[:uri] if args.key?(:uri)
1610
2088
  end
1611
2089
 
@@ -1613,11 +2091,47 @@ module Google
1613
2091
  class BakImportOptions
1614
2092
  include Google::Apis::Core::Hashable
1615
2093
 
2094
+ # Type of the bak content, FULL or DIFF.
2095
+ # Corresponds to the JSON property `bakType`
2096
+ # @return [String]
2097
+ attr_accessor :bak_type
2098
+
1616
2099
  #
1617
2100
  # Corresponds to the JSON property `encryptionOptions`
1618
2101
  # @return [Google::Apis::SqladminV1beta4::ImportContext::BakImportOptions::EncryptionOptions]
1619
2102
  attr_accessor :encryption_options
1620
2103
 
2104
+ # Whether or not the backup importing will restore database with NORECOVERY
2105
+ # option Applies only to Cloud SQL for SQL Server.
2106
+ # Corresponds to the JSON property `noRecovery`
2107
+ # @return [Boolean]
2108
+ attr_accessor :no_recovery
2109
+ alias_method :no_recovery?, :no_recovery
2110
+
2111
+ # Whether or not the backup importing request will just bring database online
2112
+ # without downloading Bak content only one of "no_recovery" and "recovery_only"
2113
+ # can be true otherwise error will return. Applies only to Cloud SQL for SQL
2114
+ # Server.
2115
+ # Corresponds to the JSON property `recoveryOnly`
2116
+ # @return [Boolean]
2117
+ attr_accessor :recovery_only
2118
+ alias_method :recovery_only?, :recovery_only
2119
+
2120
+ # Optional. The timestamp when the import should stop. This timestamp is in the [
2121
+ # RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example, `2023-10-
2122
+ # 01T16:19:00.094`). This field is equivalent to the STOPAT keyword and applies
2123
+ # to Cloud SQL for SQL Server only.
2124
+ # Corresponds to the JSON property `stopAt`
2125
+ # @return [String]
2126
+ attr_accessor :stop_at
2127
+
2128
+ # Optional. The marked transaction where the import should stop. This field is
2129
+ # equivalent to the STOPATMARK keyword and applies to Cloud SQL for SQL Server
2130
+ # only.
2131
+ # Corresponds to the JSON property `stopAtMark`
2132
+ # @return [String]
2133
+ attr_accessor :stop_at_mark
2134
+
1621
2135
  # Whether or not the backup set being restored is striped. Applies only to Cloud
1622
2136
  # SQL for SQL Server.
1623
2137
  # Corresponds to the JSON property `striped`
@@ -1631,7 +2145,12 @@ module Google
1631
2145
 
1632
2146
  # Update properties of this object
1633
2147
  def update!(**args)
2148
+ @bak_type = args[:bak_type] if args.key?(:bak_type)
1634
2149
  @encryption_options = args[:encryption_options] if args.key?(:encryption_options)
2150
+ @no_recovery = args[:no_recovery] if args.key?(:no_recovery)
2151
+ @recovery_only = args[:recovery_only] if args.key?(:recovery_only)
2152
+ @stop_at = args[:stop_at] if args.key?(:stop_at)
2153
+ @stop_at_mark = args[:stop_at_mark] if args.key?(:stop_at_mark)
1635
2154
  @striped = args[:striped] if args.key?(:striped)
1636
2155
  end
1637
2156
 
@@ -1723,6 +2242,67 @@ module Google
1723
2242
  @table = args[:table] if args.key?(:table)
1724
2243
  end
1725
2244
  end
2245
+
2246
+ # Optional. Options for importing data from SQL statements.
2247
+ class SqlImportOptions
2248
+ include Google::Apis::Core::Hashable
2249
+
2250
+ # Optional. Whether or not the import should be parallel.
2251
+ # Corresponds to the JSON property `parallel`
2252
+ # @return [Boolean]
2253
+ attr_accessor :parallel
2254
+ alias_method :parallel?, :parallel
2255
+
2256
+ # Optional. Options for importing from a Cloud SQL for PostgreSQL instance.
2257
+ # Corresponds to the JSON property `postgresImportOptions`
2258
+ # @return [Google::Apis::SqladminV1beta4::ImportContext::SqlImportOptions::PostgresImportOptions]
2259
+ attr_accessor :postgres_import_options
2260
+
2261
+ # Optional. The number of threads to use for parallel import.
2262
+ # Corresponds to the JSON property `threads`
2263
+ # @return [Fixnum]
2264
+ attr_accessor :threads
2265
+
2266
+ def initialize(**args)
2267
+ update!(**args)
2268
+ end
2269
+
2270
+ # Update properties of this object
2271
+ def update!(**args)
2272
+ @parallel = args[:parallel] if args.key?(:parallel)
2273
+ @postgres_import_options = args[:postgres_import_options] if args.key?(:postgres_import_options)
2274
+ @threads = args[:threads] if args.key?(:threads)
2275
+ end
2276
+
2277
+ # Optional. Options for importing from a Cloud SQL for PostgreSQL instance.
2278
+ class PostgresImportOptions
2279
+ include Google::Apis::Core::Hashable
2280
+
2281
+ # Optional. The --clean flag for the pg_restore utility. This flag applies only
2282
+ # if you enabled Cloud SQL to import files in parallel.
2283
+ # Corresponds to the JSON property `clean`
2284
+ # @return [Boolean]
2285
+ attr_accessor :clean
2286
+ alias_method :clean?, :clean
2287
+
2288
+ # Optional. The --if-exists flag for the pg_restore utility. This flag applies
2289
+ # only if you enabled Cloud SQL to import files in parallel.
2290
+ # Corresponds to the JSON property `ifExists`
2291
+ # @return [Boolean]
2292
+ attr_accessor :if_exists
2293
+ alias_method :if_exists?, :if_exists
2294
+
2295
+ def initialize(**args)
2296
+ update!(**args)
2297
+ end
2298
+
2299
+ # Update properties of this object
2300
+ def update!(**args)
2301
+ @clean = args[:clean] if args.key?(:clean)
2302
+ @if_exists = args[:if_exists] if args.key?(:if_exists)
2303
+ end
2304
+ end
2305
+ end
1726
2306
  end
1727
2307
 
1728
2308
  # Insights configuration. This specifies when Cloud SQL Insights feature is
@@ -1809,12 +2389,31 @@ module Google
1809
2389
  end
1810
2390
  end
1811
2391
 
1812
- # Database instance clone request.
1813
- class CloneInstancesRequest
2392
+ # Request to acquire an SSRS lease for an instance.
2393
+ class InstancesAcquireSsrsLeaseRequest
1814
2394
  include Google::Apis::Core::Hashable
1815
2395
 
1816
- # Database instance clone context.
1817
- # Corresponds to the JSON property `cloneContext`
2396
+ # Acquire SSRS lease context.
2397
+ # Corresponds to the JSON property `acquireSsrsLeaseContext`
2398
+ # @return [Google::Apis::SqladminV1beta4::AcquireSsrsLeaseContext]
2399
+ attr_accessor :acquire_ssrs_lease_context
2400
+
2401
+ def initialize(**args)
2402
+ update!(**args)
2403
+ end
2404
+
2405
+ # Update properties of this object
2406
+ def update!(**args)
2407
+ @acquire_ssrs_lease_context = args[:acquire_ssrs_lease_context] if args.key?(:acquire_ssrs_lease_context)
2408
+ end
2409
+ end
2410
+
2411
+ # Database instance clone request.
2412
+ class CloneInstancesRequest
2413
+ include Google::Apis::Core::Hashable
2414
+
2415
+ # Database instance clone context.
2416
+ # Corresponds to the JSON property `cloneContext`
1818
2417
  # @return [Google::Apis::SqladminV1beta4::CloneContext]
1819
2418
  attr_accessor :clone_context
1820
2419
 
@@ -1847,6 +2446,27 @@ module Google
1847
2446
  end
1848
2447
  end
1849
2448
 
2449
+ # This request is used to demote an existing standalone instance to be a Cloud
2450
+ # SQL read replica for an external database server.
2451
+ class InstancesDemoteRequest
2452
+ include Google::Apis::Core::Hashable
2453
+
2454
+ # This context is used to demote an existing standalone instance to be a Cloud
2455
+ # SQL read replica for an external database server.
2456
+ # Corresponds to the JSON property `demoteContext`
2457
+ # @return [Google::Apis::SqladminV1beta4::DemoteContext]
2458
+ attr_accessor :demote_context
2459
+
2460
+ def initialize(**args)
2461
+ update!(**args)
2462
+ end
2463
+
2464
+ # Update properties of this object
2465
+ def update!(**args)
2466
+ @demote_context = args[:demote_context] if args.key?(:demote_context)
2467
+ end
2468
+ end
2469
+
1850
2470
  # Database instance export request.
1851
2471
  class ExportInstancesRequest
1852
2472
  include Google::Apis::Core::Hashable
@@ -1973,6 +2593,63 @@ module Google
1973
2593
  end
1974
2594
  end
1975
2595
 
2596
+ # Instances ListServerCertificatess response.
2597
+ class InstancesListServerCertificatesResponse
2598
+ include Google::Apis::Core::Hashable
2599
+
2600
+ # The `sha1_fingerprint` of the active certificate from `server_certs`.
2601
+ # Corresponds to the JSON property `activeVersion`
2602
+ # @return [String]
2603
+ attr_accessor :active_version
2604
+
2605
+ # List of server CA certificates for the instance.
2606
+ # Corresponds to the JSON property `caCerts`
2607
+ # @return [Array<Google::Apis::SqladminV1beta4::SslCert>]
2608
+ attr_accessor :ca_certs
2609
+
2610
+ # This is always `sql#instancesListServerCertificates`.
2611
+ # Corresponds to the JSON property `kind`
2612
+ # @return [String]
2613
+ attr_accessor :kind
2614
+
2615
+ # List of server certificates for the instance, signed by the corresponding CA
2616
+ # from the `ca_certs` list.
2617
+ # Corresponds to the JSON property `serverCerts`
2618
+ # @return [Array<Google::Apis::SqladminV1beta4::SslCert>]
2619
+ attr_accessor :server_certs
2620
+
2621
+ def initialize(**args)
2622
+ update!(**args)
2623
+ end
2624
+
2625
+ # Update properties of this object
2626
+ def update!(**args)
2627
+ @active_version = args[:active_version] if args.key?(:active_version)
2628
+ @ca_certs = args[:ca_certs] if args.key?(:ca_certs)
2629
+ @kind = args[:kind] if args.key?(:kind)
2630
+ @server_certs = args[:server_certs] if args.key?(:server_certs)
2631
+ end
2632
+ end
2633
+
2634
+ # Database Instance reencrypt request.
2635
+ class InstancesReencryptRequest
2636
+ include Google::Apis::Core::Hashable
2637
+
2638
+ # Backup Reencryption Config
2639
+ # Corresponds to the JSON property `backupReencryptionConfig`
2640
+ # @return [Google::Apis::SqladminV1beta4::BackupReencryptionConfig]
2641
+ attr_accessor :backup_reencryption_config
2642
+
2643
+ def initialize(**args)
2644
+ update!(**args)
2645
+ end
2646
+
2647
+ # Update properties of this object
2648
+ def update!(**args)
2649
+ @backup_reencryption_config = args[:backup_reencryption_config] if args.key?(:backup_reencryption_config)
2650
+ end
2651
+ end
2652
+
1976
2653
  # Database instance restore backup request.
1977
2654
  class RestoreInstancesBackupRequest
1978
2655
  include Google::Apis::Core::Hashable
@@ -2012,6 +2689,25 @@ module Google
2012
2689
  end
2013
2690
  end
2014
2691
 
2692
+ # Rotate Server Certificate request.
2693
+ class InstancesRotateServerCertificateRequest
2694
+ include Google::Apis::Core::Hashable
2695
+
2696
+ # Instance rotate server certificate context.
2697
+ # Corresponds to the JSON property `rotateServerCertificateContext`
2698
+ # @return [Google::Apis::SqladminV1beta4::RotateServerCertificateContext]
2699
+ attr_accessor :rotate_server_certificate_context
2700
+
2701
+ def initialize(**args)
2702
+ update!(**args)
2703
+ end
2704
+
2705
+ # Update properties of this object
2706
+ def update!(**args)
2707
+ @rotate_server_certificate_context = args[:rotate_server_certificate_context] if args.key?(:rotate_server_certificate_context)
2708
+ end
2709
+ end
2710
+
2015
2711
  # Instance truncate log request.
2016
2712
  class InstancesTruncateLogRequest
2017
2713
  include Google::Apis::Core::Hashable
@@ -2051,6 +2747,11 @@ module Google
2051
2747
  # @return [Array<Google::Apis::SqladminV1beta4::AclEntry>]
2052
2748
  attr_accessor :authorized_networks
2053
2749
 
2750
+ # Optional. Custom Subject Alternative Name(SAN)s for a Cloud SQL instance.
2751
+ # Corresponds to the JSON property `customSubjectAlternativeNames`
2752
+ # @return [Array<String>]
2753
+ attr_accessor :custom_subject_alternative_names
2754
+
2054
2755
  # Controls connectivity to private IP instances from Google services, such as
2055
2756
  # BigQuery.
2056
2757
  # Corresponds to the JSON property `enablePrivatePathForGoogleCloudServices`
@@ -2072,12 +2773,52 @@ module Google
2072
2773
  # @return [String]
2073
2774
  attr_accessor :private_network
2074
2775
 
2075
- # Whether SSL connections over IP are enforced or not.
2776
+ # PSC settings for a Cloud SQL instance.
2777
+ # Corresponds to the JSON property `pscConfig`
2778
+ # @return [Google::Apis::SqladminV1beta4::PscConfig]
2779
+ attr_accessor :psc_config
2780
+
2781
+ # Use `ssl_mode` instead. Whether SSL/TLS connections over IP are enforced. If
2782
+ # set to false, then allow both non-SSL/non-TLS and SSL/TLS connections. For SSL/
2783
+ # TLS connections, the client certificate won't be verified. If set to true,
2784
+ # then only allow connections encrypted with SSL/TLS and with valid client
2785
+ # certificates. If you want to enforce SSL/TLS without enforcing the requirement
2786
+ # for valid client certificates, then use the `ssl_mode` flag instead of the
2787
+ # legacy `require_ssl` flag.
2076
2788
  # Corresponds to the JSON property `requireSsl`
2077
2789
  # @return [Boolean]
2078
2790
  attr_accessor :require_ssl
2079
2791
  alias_method :require_ssl?, :require_ssl
2080
2792
 
2793
+ # Specify what type of CA is used for the server certificate.
2794
+ # Corresponds to the JSON property `serverCaMode`
2795
+ # @return [String]
2796
+ attr_accessor :server_ca_mode
2797
+
2798
+ # Optional. The resource name of the server CA pool for an instance with `
2799
+ # CUSTOMER_MANAGED_CAS_CA` as the `server_ca_mode`. Format: projects//locations//
2800
+ # caPools/
2801
+ # Corresponds to the JSON property `serverCaPool`
2802
+ # @return [String]
2803
+ attr_accessor :server_ca_pool
2804
+
2805
+ # Specify how SSL/TLS is enforced in database connections. If you must use the `
2806
+ # require_ssl` flag for backward compatibility, then only the following value
2807
+ # pairs are valid: For PostgreSQL and MySQL: * `ssl_mode=
2808
+ # ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=
2809
+ # ENCRYPTED_ONLY` and `require_ssl=false` * `ssl_mode=
2810
+ # TRUSTED_CLIENT_CERTIFICATE_REQUIRED` and `require_ssl=true` For SQL Server: * `
2811
+ # ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=
2812
+ # ENCRYPTED_ONLY` and `require_ssl=true` The value of `ssl_mode` has priority
2813
+ # over the value of `require_ssl`. For example, for the pair `ssl_mode=
2814
+ # ENCRYPTED_ONLY` and `require_ssl=false`, `ssl_mode=ENCRYPTED_ONLY` means
2815
+ # accept only SSL connections, while `require_ssl=false` means accept both non-
2816
+ # SSL and SSL connections. In this case, MySQL and PostgreSQL databases respect `
2817
+ # ssl_mode` and accepts only SSL connections.
2818
+ # Corresponds to the JSON property `sslMode`
2819
+ # @return [String]
2820
+ attr_accessor :ssl_mode
2821
+
2081
2822
  def initialize(**args)
2082
2823
  update!(**args)
2083
2824
  end
@@ -2086,14 +2827,19 @@ module Google
2086
2827
  def update!(**args)
2087
2828
  @allocated_ip_range = args[:allocated_ip_range] if args.key?(:allocated_ip_range)
2088
2829
  @authorized_networks = args[:authorized_networks] if args.key?(:authorized_networks)
2830
+ @custom_subject_alternative_names = args[:custom_subject_alternative_names] if args.key?(:custom_subject_alternative_names)
2089
2831
  @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)
2090
2832
  @ipv4_enabled = args[:ipv4_enabled] if args.key?(:ipv4_enabled)
2091
2833
  @private_network = args[:private_network] if args.key?(:private_network)
2834
+ @psc_config = args[:psc_config] if args.key?(:psc_config)
2092
2835
  @require_ssl = args[:require_ssl] if args.key?(:require_ssl)
2836
+ @server_ca_mode = args[:server_ca_mode] if args.key?(:server_ca_mode)
2837
+ @server_ca_pool = args[:server_ca_pool] if args.key?(:server_ca_pool)
2838
+ @ssl_mode = args[:ssl_mode] if args.key?(:ssl_mode)
2093
2839
  end
2094
2840
  end
2095
2841
 
2096
- # Database instance IP Mapping.
2842
+ # Database instance IP mapping
2097
2843
  class IpMapping
2098
2844
  include Google::Apis::Core::Hashable
2099
2845
 
@@ -2147,7 +2893,8 @@ module Google
2147
2893
  attr_accessor :kind
2148
2894
 
2149
2895
  # The preferred Compute Engine zone for the secondary/failover (for example: us-
2150
- # central1-a, us-central1-b, etc.).
2896
+ # central1-a, us-central1-b, etc.). To disable this field, set it to '
2897
+ # no_secondary_zone'.
2151
2898
  # Corresponds to the JSON property `secondaryZone`
2152
2899
  # @return [String]
2153
2900
  attr_accessor :secondary_zone
@@ -2176,12 +2923,14 @@ module Google
2176
2923
  class MaintenanceWindow
2177
2924
  include Google::Apis::Core::Hashable
2178
2925
 
2179
- # day of week (1-7), starting on Monday.
2926
+ # Day of week - `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `
2927
+ # SATURDAY`, or `SUNDAY`. Specify in the UTC time zone. Returned in output as an
2928
+ # integer, 1 to 7, where `1` equals Monday.
2180
2929
  # Corresponds to the JSON property `day`
2181
2930
  # @return [Fixnum]
2182
2931
  attr_accessor :day
2183
2932
 
2184
- # hour of day - 0 to 23.
2933
+ # Hour of day - 0 to 23. Specify in the UTC time zone.
2185
2934
  # Corresponds to the JSON property `hour`
2186
2935
  # @return [Fixnum]
2187
2936
  attr_accessor :hour
@@ -2191,9 +2940,9 @@ module Google
2191
2940
  # @return [String]
2192
2941
  attr_accessor :kind
2193
2942
 
2194
- # Maintenance timing setting: `canary` (Earlier) or `stable` (Later). [Learn
2195
- # more](https://cloud.google.com/sql/docs/mysql/instance-settings#maintenance-
2196
- # timing-2ndgen).
2943
+ # Maintenance timing settings: `canary`, `stable`, or `week5`. For more
2944
+ # information, see [About maintenance on Cloud SQL instances](https://cloud.
2945
+ # google.com/sql/docs/mysql/maintenance).
2197
2946
  # Corresponds to the JSON property `updateTrack`
2198
2947
  # @return [String]
2199
2948
  attr_accessor :update_track
@@ -2356,11 +3105,22 @@ module Google
2356
3105
  # @return [String]
2357
3106
  attr_accessor :password
2358
3107
 
3108
+ # Optional. A list of objects that the user selects for replication from an
3109
+ # external source instance.
3110
+ # Corresponds to the JSON property `selectedObjects`
3111
+ # @return [Array<Google::Apis::SqladminV1beta4::SelectedObjects>]
3112
+ attr_accessor :selected_objects
3113
+
2359
3114
  # Reference to another Cloud SQL instance.
2360
3115
  # Corresponds to the JSON property `sourceInstance`
2361
3116
  # @return [Google::Apis::SqladminV1beta4::InstanceReference]
2362
3117
  attr_accessor :source_instance
2363
3118
 
3119
+ # Optional. SslOption for replica connection to the on-premises source.
3120
+ # Corresponds to the JSON property `sslOption`
3121
+ # @return [String]
3122
+ attr_accessor :ssl_option
3123
+
2364
3124
  # The username for connecting to on-premises instance.
2365
3125
  # Corresponds to the JSON property `username`
2366
3126
  # @return [String]
@@ -2379,7 +3139,9 @@ module Google
2379
3139
  @host_port = args[:host_port] if args.key?(:host_port)
2380
3140
  @kind = args[:kind] if args.key?(:kind)
2381
3141
  @password = args[:password] if args.key?(:password)
3142
+ @selected_objects = args[:selected_objects] if args.key?(:selected_objects)
2382
3143
  @source_instance = args[:source_instance] if args.key?(:source_instance)
3144
+ @ssl_option = args[:ssl_option] if args.key?(:ssl_option)
2383
3145
  @username = args[:username] if args.key?(:username)
2384
3146
  end
2385
3147
  end
@@ -2390,6 +3152,16 @@ module Google
2390
3152
  class Operation
2391
3153
  include Google::Apis::Core::Hashable
2392
3154
 
3155
+ # Acquire SSRS lease context.
3156
+ # Corresponds to the JSON property `acquireSsrsLeaseContext`
3157
+ # @return [Google::Apis::SqladminV1beta4::AcquireSsrsLeaseContext]
3158
+ attr_accessor :acquire_ssrs_lease_context
3159
+
3160
+ # An Admin API warning message.
3161
+ # Corresponds to the JSON property `apiWarning`
3162
+ # @return [Google::Apis::SqladminV1beta4::ApiWarning]
3163
+ attr_accessor :api_warning
3164
+
2393
3165
  # Backup context.
2394
3166
  # Corresponds to the JSON property `backupContext`
2395
3167
  # @return [Google::Apis::SqladminV1beta4::BackupContext]
@@ -2457,7 +3229,12 @@ module Google
2457
3229
  # @return [String]
2458
3230
  attr_accessor :status
2459
3231
 
2460
- # Name of the database instance related to this operation.
3232
+ # The sub operation type based on the operation type.
3233
+ # Corresponds to the JSON property `subOperationType`
3234
+ # @return [Google::Apis::SqladminV1beta4::SqlSubOperationType]
3235
+ attr_accessor :sub_operation_type
3236
+
3237
+ #
2461
3238
  # Corresponds to the JSON property `targetId`
2462
3239
  # @return [String]
2463
3240
  attr_accessor :target_id
@@ -2483,6 +3260,8 @@ module Google
2483
3260
 
2484
3261
  # Update properties of this object
2485
3262
  def update!(**args)
3263
+ @acquire_ssrs_lease_context = args[:acquire_ssrs_lease_context] if args.key?(:acquire_ssrs_lease_context)
3264
+ @api_warning = args[:api_warning] if args.key?(:api_warning)
2486
3265
  @backup_context = args[:backup_context] if args.key?(:backup_context)
2487
3266
  @end_time = args[:end_time] if args.key?(:end_time)
2488
3267
  @error = args[:error] if args.key?(:error)
@@ -2495,6 +3274,7 @@ module Google
2495
3274
  @self_link = args[:self_link] if args.key?(:self_link)
2496
3275
  @start_time = args[:start_time] if args.key?(:start_time)
2497
3276
  @status = args[:status] if args.key?(:status)
3277
+ @sub_operation_type = args[:sub_operation_type] if args.key?(:sub_operation_type)
2498
3278
  @target_id = args[:target_id] if args.key?(:target_id)
2499
3279
  @target_link = args[:target_link] if args.key?(:target_link)
2500
3280
  @target_project = args[:target_project] if args.key?(:target_project)
@@ -2558,6 +3338,65 @@ module Google
2558
3338
  end
2559
3339
  end
2560
3340
 
3341
+ # Represents the metadata of the long-running operation.
3342
+ class OperationMetadata
3343
+ include Google::Apis::Core::Hashable
3344
+
3345
+ # Output only. API version used to start the operation.
3346
+ # Corresponds to the JSON property `apiVersion`
3347
+ # @return [String]
3348
+ attr_accessor :api_version
3349
+
3350
+ # Output only. Identifies whether the user has requested cancellation of the
3351
+ # operation. Operations that have been cancelled successfully have google.
3352
+ # longrunning.Operation.error value with a google.rpc.Status.code of `1`,
3353
+ # corresponding to `Code.CANCELLED`.
3354
+ # Corresponds to the JSON property `cancelRequested`
3355
+ # @return [Boolean]
3356
+ attr_accessor :cancel_requested
3357
+ alias_method :cancel_requested?, :cancel_requested
3358
+
3359
+ # Output only. The time the operation was created.
3360
+ # Corresponds to the JSON property `createTime`
3361
+ # @return [String]
3362
+ attr_accessor :create_time
3363
+
3364
+ # Output only. The time the operation finished running.
3365
+ # Corresponds to the JSON property `endTime`
3366
+ # @return [String]
3367
+ attr_accessor :end_time
3368
+
3369
+ # Output only. Human-readable status of the operation, if any.
3370
+ # Corresponds to the JSON property `statusDetail`
3371
+ # @return [String]
3372
+ attr_accessor :status_detail
3373
+
3374
+ # Output only. Server-defined resource path for the target of the operation.
3375
+ # Corresponds to the JSON property `target`
3376
+ # @return [String]
3377
+ attr_accessor :target
3378
+
3379
+ # Output only. Name of the verb executed by the operation.
3380
+ # Corresponds to the JSON property `verb`
3381
+ # @return [String]
3382
+ attr_accessor :verb
3383
+
3384
+ def initialize(**args)
3385
+ update!(**args)
3386
+ end
3387
+
3388
+ # Update properties of this object
3389
+ def update!(**args)
3390
+ @api_version = args[:api_version] if args.key?(:api_version)
3391
+ @cancel_requested = args[:cancel_requested] if args.key?(:cancel_requested)
3392
+ @create_time = args[:create_time] if args.key?(:create_time)
3393
+ @end_time = args[:end_time] if args.key?(:end_time)
3394
+ @status_detail = args[:status_detail] if args.key?(:status_detail)
3395
+ @target = args[:target] if args.key?(:target)
3396
+ @verb = args[:verb] if args.key?(:verb)
3397
+ end
3398
+ end
3399
+
2561
3400
  # Operations list response.
2562
3401
  class ListOperationsResponse
2563
3402
  include Google::Apis::Core::Hashable
@@ -2625,6 +3464,12 @@ module Google
2625
3464
  # @return [String]
2626
3465
  attr_accessor :complexity
2627
3466
 
3467
+ # This field is deprecated and will be removed in a future version of the API.
3468
+ # Corresponds to the JSON property `disallowCompromisedCredentials`
3469
+ # @return [Boolean]
3470
+ attr_accessor :disallow_compromised_credentials
3471
+ alias_method :disallow_compromised_credentials?, :disallow_compromised_credentials
3472
+
2628
3473
  # Disallow username as a part of the password.
2629
3474
  # Corresponds to the JSON property `disallowUsernameSubstring`
2630
3475
  # @return [Boolean]
@@ -2660,6 +3505,7 @@ module Google
2660
3505
  # Update properties of this object
2661
3506
  def update!(**args)
2662
3507
  @complexity = args[:complexity] if args.key?(:complexity)
3508
+ @disallow_compromised_credentials = args[:disallow_compromised_credentials] if args.key?(:disallow_compromised_credentials)
2663
3509
  @disallow_username_substring = args[:disallow_username_substring] if args.key?(:disallow_username_substring)
2664
3510
  @enable_password_policy = args[:enable_password_policy] if args.key?(:enable_password_policy)
2665
3511
  @min_length = args[:min_length] if args.key?(:min_length)
@@ -2668,10 +3514,121 @@ module Google
2668
3514
  end
2669
3515
  end
2670
3516
 
3517
+ # Perform disk shrink context.
3518
+ class PerformDiskShrinkContext
3519
+ include Google::Apis::Core::Hashable
3520
+
3521
+ # The target disk shrink size in GigaBytes.
3522
+ # Corresponds to the JSON property `targetSizeGb`
3523
+ # @return [Fixnum]
3524
+ attr_accessor :target_size_gb
3525
+
3526
+ def initialize(**args)
3527
+ update!(**args)
3528
+ end
3529
+
3530
+ # Update properties of this object
3531
+ def update!(**args)
3532
+ @target_size_gb = args[:target_size_gb] if args.key?(:target_size_gb)
3533
+ end
3534
+ end
3535
+
3536
+ # Settings for an automatically-setup Private Service Connect consumer endpoint
3537
+ # that is used to connect to a Cloud SQL instance.
3538
+ class PscAutoConnectionConfig
3539
+ include Google::Apis::Core::Hashable
3540
+
3541
+ # The consumer network of this consumer endpoint. This must be a resource path
3542
+ # that includes both the host project and the network name. For example, `
3543
+ # projects/project1/global/networks/network1`. The consumer host project of this
3544
+ # network might be different from the consumer service project.
3545
+ # Corresponds to the JSON property `consumerNetwork`
3546
+ # @return [String]
3547
+ attr_accessor :consumer_network
3548
+
3549
+ # The connection policy status of the consumer network.
3550
+ # Corresponds to the JSON property `consumerNetworkStatus`
3551
+ # @return [String]
3552
+ attr_accessor :consumer_network_status
3553
+
3554
+ # This is the project ID of consumer service project of this consumer endpoint.
3555
+ # Optional. This is only applicable if consumer_network is a shared vpc network.
3556
+ # Corresponds to the JSON property `consumerProject`
3557
+ # @return [String]
3558
+ attr_accessor :consumer_project
3559
+
3560
+ # The IP address of the consumer endpoint.
3561
+ # Corresponds to the JSON property `ipAddress`
3562
+ # @return [String]
3563
+ attr_accessor :ip_address
3564
+
3565
+ # The connection status of the consumer endpoint.
3566
+ # Corresponds to the JSON property `status`
3567
+ # @return [String]
3568
+ attr_accessor :status
3569
+
3570
+ def initialize(**args)
3571
+ update!(**args)
3572
+ end
3573
+
3574
+ # Update properties of this object
3575
+ def update!(**args)
3576
+ @consumer_network = args[:consumer_network] if args.key?(:consumer_network)
3577
+ @consumer_network_status = args[:consumer_network_status] if args.key?(:consumer_network_status)
3578
+ @consumer_project = args[:consumer_project] if args.key?(:consumer_project)
3579
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
3580
+ @status = args[:status] if args.key?(:status)
3581
+ end
3582
+ end
3583
+
3584
+ # PSC settings for a Cloud SQL instance.
3585
+ class PscConfig
3586
+ include Google::Apis::Core::Hashable
3587
+
3588
+ # Optional. The list of consumer projects that are allow-listed for PSC
3589
+ # connections to this instance. This instance can be connected to with PSC from
3590
+ # any network in these projects. Each consumer project in this list may be
3591
+ # represented by a project number (numeric) or by a project id (alphanumeric).
3592
+ # Corresponds to the JSON property `allowedConsumerProjects`
3593
+ # @return [Array<String>]
3594
+ attr_accessor :allowed_consumer_projects
3595
+
3596
+ # Optional. The list of settings for requested Private Service Connect consumer
3597
+ # endpoints that can be used to connect to this Cloud SQL instance.
3598
+ # Corresponds to the JSON property `pscAutoConnections`
3599
+ # @return [Array<Google::Apis::SqladminV1beta4::PscAutoConnectionConfig>]
3600
+ attr_accessor :psc_auto_connections
3601
+
3602
+ # Whether PSC connectivity is enabled for this instance.
3603
+ # Corresponds to the JSON property `pscEnabled`
3604
+ # @return [Boolean]
3605
+ attr_accessor :psc_enabled
3606
+ alias_method :psc_enabled?, :psc_enabled
3607
+
3608
+ def initialize(**args)
3609
+ update!(**args)
3610
+ end
3611
+
3612
+ # Update properties of this object
3613
+ def update!(**args)
3614
+ @allowed_consumer_projects = args[:allowed_consumer_projects] if args.key?(:allowed_consumer_projects)
3615
+ @psc_auto_connections = args[:psc_auto_connections] if args.key?(:psc_auto_connections)
3616
+ @psc_enabled = args[:psc_enabled] if args.key?(:psc_enabled)
3617
+ end
3618
+ end
3619
+
2671
3620
  # Read-replica configuration for connecting to the primary instance.
2672
3621
  class ReplicaConfiguration
2673
3622
  include Google::Apis::Core::Hashable
2674
3623
 
3624
+ # Optional. Specifies if a SQL Server replica is a cascadable replica. A
3625
+ # cascadable replica is a SQL Server cross region replica that supports replica(
3626
+ # s) under it.
3627
+ # Corresponds to the JSON property `cascadableReplica`
3628
+ # @return [Boolean]
3629
+ attr_accessor :cascadable_replica
3630
+ alias_method :cascadable_replica?, :cascadable_replica
3631
+
2675
3632
  # Specifies if the replica is the failover target. If the field is set to `true`
2676
3633
  # the replica will be designated as a failover replica. In case the primary
2677
3634
  # instance fails, the replica instance will be promoted as the new primary
@@ -2698,12 +3655,59 @@ module Google
2698
3655
 
2699
3656
  # Update properties of this object
2700
3657
  def update!(**args)
3658
+ @cascadable_replica = args[:cascadable_replica] if args.key?(:cascadable_replica)
2701
3659
  @failover_target = args[:failover_target] if args.key?(:failover_target)
2702
3660
  @kind = args[:kind] if args.key?(:kind)
2703
3661
  @mysql_replica_configuration = args[:mysql_replica_configuration] if args.key?(:mysql_replica_configuration)
2704
3662
  end
2705
3663
  end
2706
3664
 
3665
+ # A primary instance and disaster recovery (DR) replica pair. A DR replica is a
3666
+ # cross-region replica that you designate for failover in the event that the
3667
+ # primary instance has regional failure. Applicable to MySQL and PostgreSQL.
3668
+ class ReplicationCluster
3669
+ include Google::Apis::Core::Hashable
3670
+
3671
+ # Output only. Read-only field that indicates whether the replica is a DR
3672
+ # replica. This field is not set if the instance is a primary instance.
3673
+ # Corresponds to the JSON property `drReplica`
3674
+ # @return [Boolean]
3675
+ attr_accessor :dr_replica
3676
+ alias_method :dr_replica?, :dr_replica
3677
+
3678
+ # Optional. If the instance is a primary instance, then this field identifies
3679
+ # the disaster recovery (DR) replica. A DR replica is an optional configuration
3680
+ # for Enterprise Plus edition instances. If the instance is a read replica, then
3681
+ # the field is not set. Set this field to a replica name to designate a DR
3682
+ # replica for a primary instance. Remove the replica name to remove the DR
3683
+ # replica designation.
3684
+ # Corresponds to the JSON property `failoverDrReplicaName`
3685
+ # @return [String]
3686
+ attr_accessor :failover_dr_replica_name
3687
+
3688
+ # Output only. If set, this field indicates this instance has a private service
3689
+ # access (PSA) DNS endpoint that is pointing to the primary instance of the
3690
+ # cluster. If this instance is the primary, then the DNS endpoint points to this
3691
+ # instance. After a switchover or replica failover operation, this DNS endpoint
3692
+ # points to the promoted instance. This is a read-only field, returned to the
3693
+ # user as information. This field can exist even if a standalone instance doesn'
3694
+ # t have a DR replica yet or the DR replica is deleted.
3695
+ # Corresponds to the JSON property `psaWriteEndpoint`
3696
+ # @return [String]
3697
+ attr_accessor :psa_write_endpoint
3698
+
3699
+ def initialize(**args)
3700
+ update!(**args)
3701
+ end
3702
+
3703
+ # Update properties of this object
3704
+ def update!(**args)
3705
+ @dr_replica = args[:dr_replica] if args.key?(:dr_replica)
3706
+ @failover_dr_replica_name = args[:failover_dr_replica_name] if args.key?(:failover_dr_replica_name)
3707
+ @psa_write_endpoint = args[:psa_write_endpoint] if args.key?(:psa_write_endpoint)
3708
+ end
3709
+ end
3710
+
2707
3711
  #
2708
3712
  class Reschedule
2709
3713
  include Google::Apis::Core::Hashable
@@ -2795,6 +3799,53 @@ module Google
2795
3799
  end
2796
3800
  end
2797
3801
 
3802
+ # Instance rotate server certificate context.
3803
+ class RotateServerCertificateContext
3804
+ include Google::Apis::Core::Hashable
3805
+
3806
+ # Optional. This is always `sql#rotateServerCertificateContext`.
3807
+ # Corresponds to the JSON property `kind`
3808
+ # @return [String]
3809
+ attr_accessor :kind
3810
+
3811
+ # Optional. The fingerprint of the next version to be rotated to. If left
3812
+ # unspecified, will be rotated to the most recently added server certificate
3813
+ # version.
3814
+ # Corresponds to the JSON property `nextVersion`
3815
+ # @return [String]
3816
+ attr_accessor :next_version
3817
+
3818
+ def initialize(**args)
3819
+ update!(**args)
3820
+ end
3821
+
3822
+ # Update properties of this object
3823
+ def update!(**args)
3824
+ @kind = args[:kind] if args.key?(:kind)
3825
+ @next_version = args[:next_version] if args.key?(:next_version)
3826
+ end
3827
+ end
3828
+
3829
+ # A list of objects that the user selects for replication from an external
3830
+ # source instance.
3831
+ class SelectedObjects
3832
+ include Google::Apis::Core::Hashable
3833
+
3834
+ # Required. The name of the database to migrate.
3835
+ # Corresponds to the JSON property `database`
3836
+ # @return [String]
3837
+ attr_accessor :database
3838
+
3839
+ def initialize(**args)
3840
+ update!(**args)
3841
+ end
3842
+
3843
+ # Update properties of this object
3844
+ def update!(**args)
3845
+ @database = args[:database] if args.key?(:database)
3846
+ end
3847
+ end
3848
+
2798
3849
  # Database instance settings.
2799
3850
  class Settings
2800
3851
  include Google::Apis::Core::Hashable
@@ -2813,6 +3864,11 @@ module Google
2813
3864
  # @return [Google::Apis::SqladminV1beta4::SqlActiveDirectoryConfig]
2814
3865
  attr_accessor :active_directory_config
2815
3866
 
3867
+ # Specifies options for controlling advanced machine features.
3868
+ # Corresponds to the JSON property `advancedMachineFeatures`
3869
+ # @return [Google::Apis::SqladminV1beta4::AdvancedMachineFeatures]
3870
+ attr_accessor :advanced_machine_features
3871
+
2816
3872
  # The App Engine app IDs that can access this instance. (Deprecated) Applied to
2817
3873
  # First Generation instances only.
2818
3874
  # Corresponds to the JSON property `authorizedGaeApplications`
@@ -2857,6 +3913,11 @@ module Google
2857
3913
  attr_accessor :crash_safe_replication_enabled
2858
3914
  alias_method :crash_safe_replication_enabled?, :crash_safe_replication_enabled
2859
3915
 
3916
+ # Data cache configurations.
3917
+ # Corresponds to the JSON property `dataCacheConfig`
3918
+ # @return [Google::Apis::SqladminV1beta4::DataCacheConfig]
3919
+ attr_accessor :data_cache_config
3920
+
2860
3921
  # The size of data disk, in GB. The data disk size minimum is 10GB.
2861
3922
  # Corresponds to the JSON property `dataDiskSizeGb`
2862
3923
  # @return [Fixnum]
@@ -2891,6 +3952,28 @@ module Google
2891
3952
  # @return [Array<Google::Apis::SqladminV1beta4::DenyMaintenancePeriod>]
2892
3953
  attr_accessor :deny_maintenance_periods
2893
3954
 
3955
+ # Optional. The edition of the instance.
3956
+ # Corresponds to the JSON property `edition`
3957
+ # @return [String]
3958
+ attr_accessor :edition
3959
+
3960
+ # Optional. By default, Cloud SQL instances have schema extraction disabled for
3961
+ # Dataplex. When this parameter is set to true, schema extraction for Dataplex
3962
+ # on Cloud SQL instances is activated.
3963
+ # Corresponds to the JSON property `enableDataplexIntegration`
3964
+ # @return [Boolean]
3965
+ attr_accessor :enable_dataplex_integration
3966
+ alias_method :enable_dataplex_integration?, :enable_dataplex_integration
3967
+
3968
+ # Optional. When this parameter is set to true, Cloud SQL instances can connect
3969
+ # to Vertex AI to pass requests for real-time predictions and insights to the AI.
3970
+ # The default value is false. This applies only to Cloud SQL for PostgreSQL
3971
+ # instances.
3972
+ # Corresponds to the JSON property `enableGoogleMlIntegration`
3973
+ # @return [Boolean]
3974
+ attr_accessor :enable_google_ml_integration
3975
+ alias_method :enable_google_ml_integration?, :enable_google_ml_integration
3976
+
2894
3977
  # Insights configuration. This specifies when Cloud SQL Insights feature is
2895
3978
  # enabled and optional configuration.
2896
3979
  # Corresponds to the JSON property `insightsConfig`
@@ -2989,18 +4072,23 @@ module Google
2989
4072
  def update!(**args)
2990
4073
  @activation_policy = args[:activation_policy] if args.key?(:activation_policy)
2991
4074
  @active_directory_config = args[:active_directory_config] if args.key?(:active_directory_config)
4075
+ @advanced_machine_features = args[:advanced_machine_features] if args.key?(:advanced_machine_features)
2992
4076
  @authorized_gae_applications = args[:authorized_gae_applications] if args.key?(:authorized_gae_applications)
2993
4077
  @availability_type = args[:availability_type] if args.key?(:availability_type)
2994
4078
  @backup_configuration = args[:backup_configuration] if args.key?(:backup_configuration)
2995
4079
  @collation = args[:collation] if args.key?(:collation)
2996
4080
  @connector_enforcement = args[:connector_enforcement] if args.key?(:connector_enforcement)
2997
4081
  @crash_safe_replication_enabled = args[:crash_safe_replication_enabled] if args.key?(:crash_safe_replication_enabled)
4082
+ @data_cache_config = args[:data_cache_config] if args.key?(:data_cache_config)
2998
4083
  @data_disk_size_gb = args[:data_disk_size_gb] if args.key?(:data_disk_size_gb)
2999
4084
  @data_disk_type = args[:data_disk_type] if args.key?(:data_disk_type)
3000
4085
  @database_flags = args[:database_flags] if args.key?(:database_flags)
3001
4086
  @database_replication_enabled = args[:database_replication_enabled] if args.key?(:database_replication_enabled)
3002
4087
  @deletion_protection_enabled = args[:deletion_protection_enabled] if args.key?(:deletion_protection_enabled)
3003
4088
  @deny_maintenance_periods = args[:deny_maintenance_periods] if args.key?(:deny_maintenance_periods)
4089
+ @edition = args[:edition] if args.key?(:edition)
4090
+ @enable_dataplex_integration = args[:enable_dataplex_integration] if args.key?(:enable_dataplex_integration)
4091
+ @enable_google_ml_integration = args[:enable_google_ml_integration] if args.key?(:enable_google_ml_integration)
3004
4092
  @insights_config = args[:insights_config] if args.key?(:insights_config)
3005
4093
  @ip_configuration = args[:ip_configuration] if args.key?(:ip_configuration)
3006
4094
  @kind = args[:kind] if args.key?(:kind)
@@ -3075,6 +4163,100 @@ module Google
3075
4163
  end
3076
4164
  end
3077
4165
 
4166
+ # Acquire SSRS lease response.
4167
+ class SqlInstancesAcquireSsrsLeaseResponse
4168
+ include Google::Apis::Core::Hashable
4169
+
4170
+ # The unique identifier for this operation.
4171
+ # Corresponds to the JSON property `operationId`
4172
+ # @return [String]
4173
+ attr_accessor :operation_id
4174
+
4175
+ def initialize(**args)
4176
+ update!(**args)
4177
+ end
4178
+
4179
+ # Update properties of this object
4180
+ def update!(**args)
4181
+ @operation_id = args[:operation_id] if args.key?(:operation_id)
4182
+ end
4183
+ end
4184
+
4185
+ # Instance get disk shrink config response.
4186
+ class SqlInstancesGetDiskShrinkConfigResponse
4187
+ include Google::Apis::Core::Hashable
4188
+
4189
+ # This is always `sql#getDiskShrinkConfig`.
4190
+ # Corresponds to the JSON property `kind`
4191
+ # @return [String]
4192
+ attr_accessor :kind
4193
+
4194
+ # Additional message to customers.
4195
+ # Corresponds to the JSON property `message`
4196
+ # @return [String]
4197
+ attr_accessor :message
4198
+
4199
+ # The minimum size to which a disk can be shrunk in GigaBytes.
4200
+ # Corresponds to the JSON property `minimalTargetSizeGb`
4201
+ # @return [Fixnum]
4202
+ attr_accessor :minimal_target_size_gb
4203
+
4204
+ def initialize(**args)
4205
+ update!(**args)
4206
+ end
4207
+
4208
+ # Update properties of this object
4209
+ def update!(**args)
4210
+ @kind = args[:kind] if args.key?(:kind)
4211
+ @message = args[:message] if args.key?(:message)
4212
+ @minimal_target_size_gb = args[:minimal_target_size_gb] if args.key?(:minimal_target_size_gb)
4213
+ end
4214
+ end
4215
+
4216
+ # Instance get latest recovery time response.
4217
+ class SqlInstancesGetLatestRecoveryTimeResponse
4218
+ include Google::Apis::Core::Hashable
4219
+
4220
+ # This is always `sql#getLatestRecoveryTime`.
4221
+ # Corresponds to the JSON property `kind`
4222
+ # @return [String]
4223
+ attr_accessor :kind
4224
+
4225
+ # Timestamp, identifies the latest recovery time of the source instance.
4226
+ # Corresponds to the JSON property `latestRecoveryTime`
4227
+ # @return [String]
4228
+ attr_accessor :latest_recovery_time
4229
+
4230
+ def initialize(**args)
4231
+ update!(**args)
4232
+ end
4233
+
4234
+ # Update properties of this object
4235
+ def update!(**args)
4236
+ @kind = args[:kind] if args.key?(:kind)
4237
+ @latest_recovery_time = args[:latest_recovery_time] if args.key?(:latest_recovery_time)
4238
+ end
4239
+ end
4240
+
4241
+ # The response for the release of the SSRS lease.
4242
+ class SqlInstancesReleaseSsrsLeaseResponse
4243
+ include Google::Apis::Core::Hashable
4244
+
4245
+ # The operation ID.
4246
+ # Corresponds to the JSON property `operationId`
4247
+ # @return [String]
4248
+ attr_accessor :operation_id
4249
+
4250
+ def initialize(**args)
4251
+ update!(**args)
4252
+ end
4253
+
4254
+ # Update properties of this object
4255
+ def update!(**args)
4256
+ @operation_id = args[:operation_id] if args.key?(:operation_id)
4257
+ end
4258
+ end
4259
+
3078
4260
  # Reschedule options for maintenance windows.
3079
4261
  class SqlInstancesRescheduleMaintenanceRequestBody
3080
4262
  include Google::Apis::Core::Hashable
@@ -3094,10 +4276,30 @@ module Google
3094
4276
  end
3095
4277
  end
3096
4278
 
4279
+ # Instance reset replica size request.
4280
+ class SqlInstancesResetReplicaSizeRequest
4281
+ include Google::Apis::Core::Hashable
4282
+
4283
+ def initialize(**args)
4284
+ update!(**args)
4285
+ end
4286
+
4287
+ # Update properties of this object
4288
+ def update!(**args)
4289
+ end
4290
+ end
4291
+
3097
4292
  #
3098
4293
  class SqlInstancesStartExternalSyncRequest
3099
4294
  include Google::Apis::Core::Hashable
3100
4295
 
4296
+ # Optional. MigrationType configures the migration to use physical files or
4297
+ # logical dump files. If not set, then the logical dump file configuration is
4298
+ # used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.
4299
+ # Corresponds to the JSON property `migrationType`
4300
+ # @return [String]
4301
+ attr_accessor :migration_type
4302
+
3101
4303
  # MySQL-specific external server sync settings.
3102
4304
  # Corresponds to the JSON property `mysqlSyncConfig`
3103
4305
  # @return [Google::Apis::SqladminV1beta4::MySqlSyncConfig]
@@ -3114,15 +4316,23 @@ module Google
3114
4316
  # @return [String]
3115
4317
  attr_accessor :sync_mode
3116
4318
 
4319
+ # Optional. Parallel level for initial data sync. Currently only applicable for
4320
+ # MySQL.
4321
+ # Corresponds to the JSON property `syncParallelLevel`
4322
+ # @return [String]
4323
+ attr_accessor :sync_parallel_level
4324
+
3117
4325
  def initialize(**args)
3118
4326
  update!(**args)
3119
4327
  end
3120
4328
 
3121
4329
  # Update properties of this object
3122
4330
  def update!(**args)
4331
+ @migration_type = args[:migration_type] if args.key?(:migration_type)
3123
4332
  @mysql_sync_config = args[:mysql_sync_config] if args.key?(:mysql_sync_config)
3124
4333
  @skip_verification = args[:skip_verification] if args.key?(:skip_verification)
3125
4334
  @sync_mode = args[:sync_mode] if args.key?(:sync_mode)
4335
+ @sync_parallel_level = args[:sync_parallel_level] if args.key?(:sync_parallel_level)
3126
4336
  end
3127
4337
  end
3128
4338
 
@@ -3130,16 +4340,34 @@ module Google
3130
4340
  class SqlInstancesVerifyExternalSyncSettingsRequest
3131
4341
  include Google::Apis::Core::Hashable
3132
4342
 
4343
+ # Optional. MigrationType configures the migration to use physical files or
4344
+ # logical dump files. If not set, then the logical dump file configuration is
4345
+ # used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.
4346
+ # Corresponds to the JSON property `migrationType`
4347
+ # @return [String]
4348
+ attr_accessor :migration_type
4349
+
3133
4350
  # MySQL-specific external server sync settings.
3134
4351
  # Corresponds to the JSON property `mysqlSyncConfig`
3135
4352
  # @return [Google::Apis::SqladminV1beta4::MySqlSyncConfig]
3136
4353
  attr_accessor :mysql_sync_config
3137
4354
 
4355
+ # Optional. Migrate only the specified objects from the source instance. If this
4356
+ # field is empty, then migrate all objects.
4357
+ # Corresponds to the JSON property `selectedObjects`
4358
+ # @return [Array<Google::Apis::SqladminV1beta4::ExternalSyncSelectedObject>]
4359
+ attr_accessor :selected_objects
4360
+
3138
4361
  # External sync mode
3139
4362
  # Corresponds to the JSON property `syncMode`
3140
4363
  # @return [String]
3141
4364
  attr_accessor :sync_mode
3142
4365
 
4366
+ # Optional. Parallel level for initial data sync. Only applicable for PostgreSQL.
4367
+ # Corresponds to the JSON property `syncParallelLevel`
4368
+ # @return [String]
4369
+ attr_accessor :sync_parallel_level
4370
+
3143
4371
  # Flag to enable verifying connection only
3144
4372
  # Corresponds to the JSON property `verifyConnectionOnly`
3145
4373
  # @return [Boolean]
@@ -3158,8 +4386,11 @@ module Google
3158
4386
 
3159
4387
  # Update properties of this object
3160
4388
  def update!(**args)
4389
+ @migration_type = args[:migration_type] if args.key?(:migration_type)
3161
4390
  @mysql_sync_config = args[:mysql_sync_config] if args.key?(:mysql_sync_config)
4391
+ @selected_objects = args[:selected_objects] if args.key?(:selected_objects)
3162
4392
  @sync_mode = args[:sync_mode] if args.key?(:sync_mode)
4393
+ @sync_parallel_level = args[:sync_parallel_level] if args.key?(:sync_parallel_level)
3163
4394
  @verify_connection_only = args[:verify_connection_only] if args.key?(:verify_connection_only)
3164
4395
  @verify_replication_only = args[:verify_replication_only] if args.key?(:verify_replication_only)
3165
4396
  end
@@ -3352,6 +4583,25 @@ module Google
3352
4583
  end
3353
4584
  end
3354
4585
 
4586
+ # The sub operation type based on the operation type.
4587
+ class SqlSubOperationType
4588
+ include Google::Apis::Core::Hashable
4589
+
4590
+ # The type of maintenance to be performed on the instance.
4591
+ # Corresponds to the JSON property `maintenanceType`
4592
+ # @return [String]
4593
+ attr_accessor :maintenance_type
4594
+
4595
+ def initialize(**args)
4596
+ update!(**args)
4597
+ end
4598
+
4599
+ # Update properties of this object
4600
+ def update!(**args)
4601
+ @maintenance_type = args[:maintenance_type] if args.key?(:maintenance_type)
4602
+ end
4603
+ end
4604
+
3355
4605
  # SslCerts Resource
3356
4606
  class SslCert
3357
4607
  include Google::Apis::Core::Hashable
@@ -3826,9 +5076,7 @@ module Google
3826
5076
  # @return [String]
3827
5077
  attr_accessor :kind
3828
5078
 
3829
- # An identifier that uniquely identifies the operation. You can use this
3830
- # identifier to retrieve the Operations resource that has information about the
3831
- # operation.
5079
+ # Unused.
3832
5080
  # Corresponds to the JSON property `nextPageToken`
3833
5081
  # @return [String]
3834
5082
  attr_accessor :next_page_token