google-cloud-sql-v1beta4 0.a → 0.1.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.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +153 -8
  5. data/lib/google/cloud/sql/v1beta4/cloud_sql_connect_pb.rb +35 -0
  6. data/lib/google/cloud/sql/v1beta4/cloud_sql_connect_services_pb.rb +53 -0
  7. data/lib/google/cloud/sql/v1beta4/cloud_sql_data_pb.rb +35 -0
  8. data/lib/google/cloud/sql/v1beta4/cloud_sql_data_services_pb.rb +80 -0
  9. data/lib/google/cloud/sql/v1beta4/cloud_sql_iam_policies_pb.rb +23 -0
  10. data/lib/google/cloud/sql/v1beta4/cloud_sql_iam_policies_services_pb.rb +29 -0
  11. data/lib/google/cloud/sql/v1beta4/cloud_sql_pb.rb +117 -0
  12. data/lib/google/cloud/sql/v1beta4/cloud_sql_resources_pb.rb +192 -0
  13. data/lib/google/cloud/sql/v1beta4/cloud_sql_services_pb.rb +325 -0
  14. data/lib/google/cloud/sql/v1beta4/cloud_sql_tiers_pb.rb +26 -0
  15. data/lib/google/cloud/sql/v1beta4/cloud_sql_tiers_services_pb.rb +46 -0
  16. data/lib/google/cloud/sql/v1beta4/cloud_sql_users_pb.rb +40 -0
  17. data/lib/google/cloud/sql/v1beta4/cloud_sql_users_services_pb.rb +52 -0
  18. data/lib/google/cloud/sql/v1beta4/rest.rb +46 -0
  19. data/lib/google/cloud/sql/v1beta4/sql_backup_runs_service/client.rb +807 -0
  20. data/lib/google/cloud/sql/v1beta4/sql_backup_runs_service/credentials.rb +48 -0
  21. data/lib/google/cloud/sql/v1beta4/sql_backup_runs_service/rest/client.rb +718 -0
  22. data/lib/google/cloud/sql/v1beta4/sql_backup_runs_service/rest/service_stub.rb +332 -0
  23. data/lib/google/cloud/sql/v1beta4/sql_backup_runs_service/rest.rb +49 -0
  24. data/lib/google/cloud/sql/v1beta4/sql_backup_runs_service.rb +52 -0
  25. data/lib/google/cloud/sql/v1beta4/sql_backups_service/client.rb +896 -0
  26. data/lib/google/cloud/sql/v1beta4/sql_backups_service/credentials.rb +48 -0
  27. data/lib/google/cloud/sql/v1beta4/sql_backups_service/paths.rb +83 -0
  28. data/lib/google/cloud/sql/v1beta4/sql_backups_service/rest/client.rb +818 -0
  29. data/lib/google/cloud/sql/v1beta4/sql_backups_service/rest/service_stub.rb +388 -0
  30. data/lib/google/cloud/sql/v1beta4/sql_backups_service/rest.rb +50 -0
  31. data/lib/google/cloud/sql/v1beta4/sql_backups_service.rb +53 -0
  32. data/lib/google/cloud/sql/v1beta4/sql_connect_service/client.rb +705 -0
  33. data/lib/google/cloud/sql/v1beta4/sql_connect_service/credentials.rb +48 -0
  34. data/lib/google/cloud/sql/v1beta4/sql_connect_service/rest/client.rb +632 -0
  35. data/lib/google/cloud/sql/v1beta4/sql_connect_service/rest/service_stub.rb +268 -0
  36. data/lib/google/cloud/sql/v1beta4/sql_connect_service/rest.rb +51 -0
  37. data/lib/google/cloud/sql/v1beta4/sql_connect_service.rb +54 -0
  38. data/lib/google/cloud/sql/v1beta4/sql_data_service/client.rb +520 -0
  39. data/lib/google/cloud/sql/v1beta4/sql_data_service/credentials.rb +48 -0
  40. data/lib/google/cloud/sql/v1beta4/sql_data_service/paths.rb +50 -0
  41. data/lib/google/cloud/sql/v1beta4/sql_data_service.rb +49 -0
  42. data/lib/google/cloud/sql/v1beta4/sql_databases_service/client.rb +1009 -0
  43. data/lib/google/cloud/sql/v1beta4/sql_databases_service/credentials.rb +48 -0
  44. data/lib/google/cloud/sql/v1beta4/sql_databases_service/rest/client.rb +894 -0
  45. data/lib/google/cloud/sql/v1beta4/sql_databases_service/rest/service_stub.rb +460 -0
  46. data/lib/google/cloud/sql/v1beta4/sql_databases_service/rest.rb +49 -0
  47. data/lib/google/cloud/sql/v1beta4/sql_databases_service.rb +52 -0
  48. data/lib/google/cloud/sql/v1beta4/sql_flags_service/client.rb +486 -0
  49. data/lib/google/cloud/sql/v1beta4/sql_flags_service/credentials.rb +48 -0
  50. data/lib/google/cloud/sql/v1beta4/sql_flags_service/rest/client.rb +444 -0
  51. data/lib/google/cloud/sql/v1beta4/sql_flags_service/rest/service_stub.rb +140 -0
  52. data/lib/google/cloud/sql/v1beta4/sql_flags_service/rest.rb +49 -0
  53. data/lib/google/cloud/sql/v1beta4/sql_flags_service.rb +52 -0
  54. data/lib/google/cloud/sql/v1beta4/sql_instances_service/client.rb +4745 -0
  55. data/lib/google/cloud/sql/v1beta4/sql_instances_service/credentials.rb +48 -0
  56. data/lib/google/cloud/sql/v1beta4/sql_instances_service/paths.rb +159 -0
  57. data/lib/google/cloud/sql/v1beta4/sql_instances_service/rest/client.rb +4281 -0
  58. data/lib/google/cloud/sql/v1beta4/sql_instances_service/rest/service_stub.rb +2769 -0
  59. data/lib/google/cloud/sql/v1beta4/sql_instances_service/rest.rb +50 -0
  60. data/lib/google/cloud/sql/v1beta4/sql_instances_service.rb +53 -0
  61. data/lib/google/cloud/sql/v1beta4/sql_operations_service/client.rb +699 -0
  62. data/lib/google/cloud/sql/v1beta4/sql_operations_service/credentials.rb +48 -0
  63. data/lib/google/cloud/sql/v1beta4/sql_operations_service/rest/client.rb +629 -0
  64. data/lib/google/cloud/sql/v1beta4/sql_operations_service/rest/service_stub.rb +266 -0
  65. data/lib/google/cloud/sql/v1beta4/sql_operations_service/rest.rb +49 -0
  66. data/lib/google/cloud/sql/v1beta4/sql_operations_service.rb +52 -0
  67. data/lib/google/cloud/sql/v1beta4/sql_ssl_certs_service/client.rb +802 -0
  68. data/lib/google/cloud/sql/v1beta4/sql_ssl_certs_service/credentials.rb +48 -0
  69. data/lib/google/cloud/sql/v1beta4/sql_ssl_certs_service/rest/client.rb +713 -0
  70. data/lib/google/cloud/sql/v1beta4/sql_ssl_certs_service/rest/service_stub.rb +332 -0
  71. data/lib/google/cloud/sql/v1beta4/sql_ssl_certs_service/rest.rb +49 -0
  72. data/lib/google/cloud/sql/v1beta4/sql_ssl_certs_service.rb +52 -0
  73. data/lib/google/cloud/sql/v1beta4/sql_tiers_service/client.rb +493 -0
  74. data/lib/google/cloud/sql/v1beta4/sql_tiers_service/credentials.rb +48 -0
  75. data/lib/google/cloud/sql/v1beta4/sql_tiers_service/rest/client.rb +443 -0
  76. data/lib/google/cloud/sql/v1beta4/sql_tiers_service/rest/service_stub.rb +142 -0
  77. data/lib/google/cloud/sql/v1beta4/sql_tiers_service/rest.rb +51 -0
  78. data/lib/google/cloud/sql/v1beta4/sql_tiers_service.rb +54 -0
  79. data/lib/google/cloud/sql/v1beta4/sql_users_service/client.rb +915 -0
  80. data/lib/google/cloud/sql/v1beta4/sql_users_service/credentials.rb +48 -0
  81. data/lib/google/cloud/sql/v1beta4/sql_users_service/rest/client.rb +819 -0
  82. data/lib/google/cloud/sql/v1beta4/sql_users_service/rest/service_stub.rb +394 -0
  83. data/lib/google/cloud/sql/v1beta4/sql_users_service/rest.rb +49 -0
  84. data/lib/google/cloud/sql/v1beta4/sql_users_service.rb +52 -0
  85. data/lib/google/cloud/sql/v1beta4/version.rb +7 -2
  86. data/lib/google/cloud/sql/v1beta4.rb +56 -0
  87. data/lib/google-cloud-sql-v1beta4.rb +21 -0
  88. data/proto_docs/README.md +4 -0
  89. data/proto_docs/google/api/client.rb +593 -0
  90. data/proto_docs/google/api/field_behavior.rb +85 -0
  91. data/proto_docs/google/api/field_info.rb +88 -0
  92. data/proto_docs/google/api/launch_stage.rb +71 -0
  93. data/proto_docs/google/api/resource.rb +227 -0
  94. data/proto_docs/google/cloud/sql/v1beta4/cloud_sql.rb +1329 -0
  95. data/proto_docs/google/cloud/sql/v1beta4/cloud_sql_connect.rb +207 -0
  96. data/proto_docs/google/cloud/sql/v1beta4/cloud_sql_data.rb +189 -0
  97. data/proto_docs/google/cloud/sql/v1beta4/cloud_sql_resources.rb +4489 -0
  98. data/proto_docs/google/cloud/sql/v1beta4/cloud_sql_tiers.rb +68 -0
  99. data/proto_docs/google/cloud/sql/v1beta4/cloud_sql_users.rb +308 -0
  100. data/proto_docs/google/protobuf/any.rb +145 -0
  101. data/proto_docs/google/protobuf/duration.rb +98 -0
  102. data/proto_docs/google/protobuf/empty.rb +34 -0
  103. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  104. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  105. data/proto_docs/google/protobuf/wrappers.rb +148 -0
  106. data/proto_docs/google/rpc/status.rb +48 -0
  107. data/proto_docs/google/type/interval.rb +45 -0
  108. metadata +153 -9
@@ -0,0 +1,4489 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Sql
23
+ module V1beta4
24
+ # An entry for an Access Control list.
25
+ # @!attribute [rw] value
26
+ # @return [::String]
27
+ # The allowlisted value for the access control list.
28
+ # @!attribute [rw] expiration_time
29
+ # @return [::Google::Protobuf::Timestamp]
30
+ # The time when this access control entry expires in
31
+ # [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
32
+ # `2012-11-15T16:19:00.094Z`.
33
+ # @!attribute [rw] name
34
+ # @return [::String]
35
+ # Optional. A label to identify this entry.
36
+ # @!attribute [rw] kind
37
+ # @return [::String]
38
+ # This is always `sql#aclEntry`.
39
+ class AclEntry
40
+ include ::Google::Protobuf::MessageExts
41
+ extend ::Google::Protobuf::MessageExts::ClassMethods
42
+ end
43
+
44
+ # An Admin API warning message.
45
+ # @!attribute [rw] code
46
+ # @return [::Google::Cloud::Sql::V1beta4::ApiWarning::SqlApiWarningCode]
47
+ # Code to uniquely identify the warning type.
48
+ # @!attribute [rw] message
49
+ # @return [::String]
50
+ # The warning message.
51
+ # @!attribute [rw] region
52
+ # @return [::String]
53
+ # The region name for REGION_UNREACHABLE warning.
54
+ class ApiWarning
55
+ include ::Google::Protobuf::MessageExts
56
+ extend ::Google::Protobuf::MessageExts::ClassMethods
57
+
58
+ module SqlApiWarningCode
59
+ # An unknown or unset warning type from Cloud SQL API.
60
+ SQL_API_WARNING_CODE_UNSPECIFIED = 0
61
+
62
+ # Warning when one or more regions are not reachable. The returned result
63
+ # set may be incomplete.
64
+ REGION_UNREACHABLE = 1
65
+
66
+ # Warning when user provided maxResults parameter exceeds the limit. The
67
+ # returned result set may be incomplete.
68
+ MAX_RESULTS_EXCEEDS_LIMIT = 2
69
+
70
+ # Warning when user tries to create/update a user with credentials that
71
+ # have previously been compromised by a public data breach.
72
+ COMPROMISED_CREDENTIALS = 3
73
+
74
+ # Warning when the operation succeeds but some non-critical workflow state
75
+ # failed.
76
+ INTERNAL_STATE_FAILURE = 4
77
+ end
78
+ end
79
+
80
+ # We currently only support backup retention by specifying the number
81
+ # of backups we will retain.
82
+ # @!attribute [rw] retention_unit
83
+ # @return [::Google::Cloud::Sql::V1beta4::BackupRetentionSettings::RetentionUnit]
84
+ # The unit that 'retained_backups' represents.
85
+ # @!attribute [rw] retained_backups
86
+ # @return [::Google::Protobuf::Int32Value]
87
+ # Depending on the value of retention_unit, this is used to determine
88
+ # if a backup needs to be deleted. If retention_unit is 'COUNT', we will
89
+ # retain this many backups.
90
+ class BackupRetentionSettings
91
+ include ::Google::Protobuf::MessageExts
92
+ extend ::Google::Protobuf::MessageExts::ClassMethods
93
+
94
+ # The units that retained_backups specifies, we only support COUNT.
95
+ module RetentionUnit
96
+ # Backup retention unit is unspecified, will be treated as COUNT.
97
+ RETENTION_UNIT_UNSPECIFIED = 0
98
+
99
+ # Retention will be by count, eg. "retain the most recent 7 backups".
100
+ COUNT = 1
101
+ end
102
+ end
103
+
104
+ # Database instance backup configuration.
105
+ # @!attribute [rw] start_time
106
+ # @return [::String]
107
+ # Start time for the daily backup configuration in UTC timezone in the 24
108
+ # hour format - `HH:MM`.
109
+ # @!attribute [rw] enabled
110
+ # @return [::Google::Protobuf::BoolValue]
111
+ # Whether this configuration is enabled.
112
+ # @!attribute [rw] kind
113
+ # @return [::String]
114
+ # This is always `sql#backupConfiguration`.
115
+ # @!attribute [rw] binary_log_enabled
116
+ # @return [::Google::Protobuf::BoolValue]
117
+ # (MySQL only) Whether binary log is enabled. If backup configuration is
118
+ # disabled, binarylog must be disabled as well.
119
+ # @!attribute [rw] replication_log_archiving_enabled
120
+ # @deprecated This field is deprecated and may be removed in the next major version update.
121
+ # @return [::Google::Protobuf::BoolValue]
122
+ # Optional. Deprecated: replication_log_archiving_enabled is deprecated and
123
+ # will be removed from a future version of the API. Use
124
+ # {::Google::Cloud::Sql::V1beta4::BackupConfiguration#point_in_time_recovery_enabled point_in_time_recovery_enabled}
125
+ # instead.
126
+ # @!attribute [rw] location
127
+ # @return [::String]
128
+ # Location of the backup
129
+ # @!attribute [rw] point_in_time_recovery_enabled
130
+ # @return [::Google::Protobuf::BoolValue]
131
+ # Whether point in time recovery is enabled.
132
+ # @!attribute [rw] transaction_log_retention_days
133
+ # @return [::Google::Protobuf::Int32Value]
134
+ # The number of days of transaction logs we retain for point in time
135
+ # restore, from 1-7.
136
+ # @!attribute [rw] backup_retention_settings
137
+ # @return [::Google::Cloud::Sql::V1beta4::BackupRetentionSettings]
138
+ # Backup retention settings.
139
+ # @!attribute [r] transactional_log_storage_state
140
+ # @return [::Google::Cloud::Sql::V1beta4::BackupConfiguration::TransactionalLogStorageState]
141
+ # Output only. This value contains the storage location of transactional logs
142
+ # for the database for point-in-time recovery.
143
+ # @!attribute [r] backup_tier
144
+ # @return [::Google::Cloud::Sql::V1beta4::BackupConfiguration::BackupTier]
145
+ # Output only. Backup tier that manages the backups for the instance.
146
+ class BackupConfiguration
147
+ include ::Google::Protobuf::MessageExts
148
+ extend ::Google::Protobuf::MessageExts::ClassMethods
149
+
150
+ # This value contains the storage location of the transactional logs
151
+ # used to perform point-in-time recovery (PITR) for the database.
152
+ module TransactionalLogStorageState
153
+ # Unspecified.
154
+ TRANSACTIONAL_LOG_STORAGE_STATE_UNSPECIFIED = 0
155
+
156
+ # The transaction logs used for PITR for the instance are stored
157
+ # on a data disk.
158
+ DISK = 1
159
+
160
+ # The transaction logs used for PITR for the instance are switching from
161
+ # being stored on a data disk to being stored in Cloud Storage.
162
+ # Only applicable to MySQL.
163
+ SWITCHING_TO_CLOUD_STORAGE = 2
164
+
165
+ # The transaction logs used for PITR for the instance are now stored
166
+ # in Cloud Storage. Previously, they were stored on a data disk.
167
+ # Only applicable to MySQL.
168
+ SWITCHED_TO_CLOUD_STORAGE = 3
169
+
170
+ # The transaction logs used for PITR for the instance are stored in
171
+ # Cloud Storage. Only applicable to MySQL and PostgreSQL.
172
+ CLOUD_STORAGE = 4
173
+ end
174
+
175
+ # Backup tier that manages the backups for the instance.
176
+ module BackupTier
177
+ # Unspecified.
178
+ BACKUP_TIER_UNSPECIFIED = 0
179
+
180
+ # Instance is managed by Cloud SQL.
181
+ STANDARD = 1
182
+
183
+ # Deprecated: ADVANCED is deprecated. Please use ENHANCED instead.
184
+ ADVANCED = 2
185
+
186
+ # Instance is managed by Google Cloud Backup and DR Service.
187
+ ENHANCED = 3
188
+ end
189
+ end
190
+
191
+ # A BackupRun resource.
192
+ # @!attribute [rw] kind
193
+ # @return [::String]
194
+ # This is always `sql#backupRun`.
195
+ # @!attribute [rw] status
196
+ # @return [::Google::Cloud::Sql::V1beta4::SqlBackupRunStatus]
197
+ # The status of this run.
198
+ # @!attribute [rw] enqueued_time
199
+ # @return [::Google::Protobuf::Timestamp]
200
+ # The time the run was enqueued in UTC timezone in
201
+ # [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
202
+ # `2012-11-15T16:19:00.094Z`.
203
+ # @!attribute [rw] id
204
+ # @return [::Integer]
205
+ # The identifier for this backup run. Unique only for a specific Cloud SQL
206
+ # instance.
207
+ # @!attribute [rw] start_time
208
+ # @return [::Google::Protobuf::Timestamp]
209
+ # The time the backup operation actually started in UTC timezone in
210
+ # [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
211
+ # `2012-11-15T16:19:00.094Z`.
212
+ # @!attribute [rw] end_time
213
+ # @return [::Google::Protobuf::Timestamp]
214
+ # The time the backup operation completed in UTC timezone in
215
+ # [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
216
+ # `2012-11-15T16:19:00.094Z`.
217
+ # @!attribute [rw] error
218
+ # @return [::Google::Cloud::Sql::V1beta4::OperationError]
219
+ # Information about why the backup operation failed. This is only present if
220
+ # the run has the FAILED status.
221
+ # @!attribute [rw] type
222
+ # @return [::Google::Cloud::Sql::V1beta4::SqlBackupRunType]
223
+ # The type of this run; can be either "AUTOMATED" or "ON_DEMAND" or "FINAL".
224
+ # This field defaults to "ON_DEMAND" and is ignored, when specified for
225
+ # insert requests.
226
+ # @!attribute [rw] description
227
+ # @return [::String]
228
+ # The description of this run, only applicable to on-demand backups.
229
+ # @!attribute [rw] window_start_time
230
+ # @return [::Google::Protobuf::Timestamp]
231
+ # The start time of the backup window during which this the backup was
232
+ # attempted in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for
233
+ # example `2012-11-15T16:19:00.094Z`.
234
+ # @!attribute [rw] instance
235
+ # @return [::String]
236
+ # Name of the database instance.
237
+ # @!attribute [rw] self_link
238
+ # @return [::String]
239
+ # The URI of this resource.
240
+ # @!attribute [rw] location
241
+ # @return [::String]
242
+ # Location of the backups.
243
+ # @!attribute [r] database_version
244
+ # @return [::Google::Cloud::Sql::V1beta4::SqlDatabaseVersion]
245
+ # Output only. The instance database version at the time this backup was
246
+ # made.
247
+ # @!attribute [rw] disk_encryption_configuration
248
+ # @return [::Google::Cloud::Sql::V1beta4::DiskEncryptionConfiguration]
249
+ # Encryption configuration specific to a backup.
250
+ # @!attribute [rw] disk_encryption_status
251
+ # @return [::Google::Cloud::Sql::V1beta4::DiskEncryptionStatus]
252
+ # Encryption status specific to a backup.
253
+ # @!attribute [rw] backup_kind
254
+ # @return [::Google::Cloud::Sql::V1beta4::SqlBackupKind]
255
+ # Specifies the kind of backup, PHYSICAL or DEFAULT_SNAPSHOT.
256
+ # @!attribute [rw] time_zone
257
+ # @return [::String]
258
+ # Backup time zone to prevent restores to an instance with
259
+ # a different time zone. Now relevant only for SQL Server.
260
+ # @!attribute [r] max_chargeable_bytes
261
+ # @return [::Integer]
262
+ # Output only. The maximum chargeable bytes for the backup.
263
+ class BackupRun
264
+ include ::Google::Protobuf::MessageExts
265
+ extend ::Google::Protobuf::MessageExts::ClassMethods
266
+ end
267
+
268
+ # A backup resource.
269
+ # @!attribute [r] name
270
+ # @return [::String]
271
+ # Output only. The resource name of the backup.
272
+ # Format: projects/\\{project}/backups/\\{backup}.
273
+ # @!attribute [r] kind
274
+ # @return [::String]
275
+ # Output only. This is always `sql#backup`.
276
+ # @!attribute [r] self_link
277
+ # @return [::String]
278
+ # Output only. The URI of this resource.
279
+ # @!attribute [r] type
280
+ # @return [::Google::Cloud::Sql::V1beta4::Backup::SqlBackupType]
281
+ # Output only. The type of this backup. The type can be "AUTOMATED",
282
+ # "ON_DEMAND", or “FINAL”.
283
+ # @!attribute [rw] description
284
+ # @return [::String]
285
+ # The description of this backup.
286
+ # @!attribute [rw] instance
287
+ # @return [::String]
288
+ # The name of the database instance.
289
+ # @!attribute [rw] location
290
+ # @return [::String]
291
+ # The storage location of the backups. The location can be multi-regional.
292
+ # @!attribute [r] backup_interval
293
+ # @return [::Google::Type::Interval]
294
+ # Output only. This output contains the following values:
295
+ # start_time: All database writes up to this time are available.
296
+ # end_time: Any database writes after this time aren't available.
297
+ # @!attribute [r] state
298
+ # @return [::Google::Cloud::Sql::V1beta4::Backup::SqlBackupState]
299
+ # Output only. The state of this backup.
300
+ # @!attribute [r] error
301
+ # @return [::Google::Cloud::Sql::V1beta4::OperationError]
302
+ # Output only. Information about why the backup operation fails (for example,
303
+ # when the backup state fails).
304
+ # @!attribute [r] kms_key
305
+ # @return [::String]
306
+ # Output only. This output contains the encryption configuration for a backup
307
+ # and the resource name of the KMS key for disk encryption.
308
+ # @!attribute [r] kms_key_version
309
+ # @return [::String]
310
+ # Output only. This output contains the encryption status for a backup and
311
+ # the version of the KMS key that's used to encrypt the Cloud SQL instance.
312
+ # @!attribute [r] backup_kind
313
+ # @return [::Google::Cloud::Sql::V1beta4::SqlBackupKind]
314
+ # Output only. Specifies the kind of backup, PHYSICAL or DEFAULT_SNAPSHOT.
315
+ # @!attribute [r] time_zone
316
+ # @return [::String]
317
+ # Output only. This output contains a backup time zone. If a Cloud SQL for
318
+ # SQL Server instance has a different time zone from the backup's time zone,
319
+ # then the restore to the instance doesn't happen.
320
+ # @!attribute [rw] ttl_days
321
+ # @return [::Integer]
322
+ # Input only. The time-to-live (TTL) interval for this resource (in days).
323
+ # For example: ttlDays:7, means 7 days from the current time. The
324
+ # expiration time can't exceed 365 days from the time that the backup is
325
+ # created.
326
+ #
327
+ # Note: The following fields are mutually exclusive: `ttl_days`, `expiry_time`. If a field in that set is populated, all other fields in the set will automatically be cleared.
328
+ # @!attribute [rw] expiry_time
329
+ # @return [::Google::Protobuf::Timestamp]
330
+ # Backup expiration time.
331
+ # A UTC timestamp of when this resource expired.
332
+ #
333
+ # Note: The following fields are mutually exclusive: `expiry_time`, `ttl_days`. If a field in that set is populated, all other fields in the set will automatically be cleared.
334
+ # @!attribute [r] database_version
335
+ # @return [::Google::Cloud::Sql::V1beta4::SqlDatabaseVersion]
336
+ # Output only. The database version of the instance of at the time this
337
+ # backup was made.
338
+ # @!attribute [r] max_chargeable_bytes
339
+ # @return [::Integer]
340
+ # Output only. The maximum chargeable bytes for the backup.
341
+ # @!attribute [r] instance_deletion_time
342
+ # @return [::Google::Protobuf::Timestamp]
343
+ # Optional. Output only. Timestamp in UTC of when the instance associated
344
+ # with this backup is deleted.
345
+ # @!attribute [r] instance_settings
346
+ # @return [::Google::Cloud::Sql::V1beta4::DatabaseInstance]
347
+ # Optional. Output only. Instance setting of the source instance that's
348
+ # associated with this backup.
349
+ # @!attribute [r] backup_run
350
+ # @return [::String]
351
+ # Output only. The mapping to backup run resource used for IAM validations.
352
+ # @!attribute [r] satisfies_pzs
353
+ # @return [::Google::Protobuf::BoolValue]
354
+ # Output only. This status indicates whether the backup satisfies PZS.
355
+ #
356
+ # The status is reserved for future use.
357
+ # @!attribute [r] satisfies_pzi
358
+ # @return [::Google::Protobuf::BoolValue]
359
+ # Output only. This status indicates whether the backup satisfies PZI.
360
+ #
361
+ # The status is reserved for future use.
362
+ class Backup
363
+ include ::Google::Protobuf::MessageExts
364
+ extend ::Google::Protobuf::MessageExts::ClassMethods
365
+
366
+ # The backup type.
367
+ module SqlBackupType
368
+ # This is an unknown backup type.
369
+ SQL_BACKUP_TYPE_UNSPECIFIED = 0
370
+
371
+ # The backup schedule triggers a backup automatically.
372
+ AUTOMATED = 1
373
+
374
+ # The user triggers a backup manually.
375
+ ON_DEMAND = 2
376
+
377
+ # The backup that's created when the instance is deleted.
378
+ FINAL = 3
379
+ end
380
+
381
+ # The backup's state
382
+ module SqlBackupState
383
+ # The state of the backup is unknown.
384
+ SQL_BACKUP_STATE_UNSPECIFIED = 0
385
+
386
+ # The backup that's added to a queue.
387
+ ENQUEUED = 1
388
+
389
+ # The backup is in progress.
390
+ RUNNING = 2
391
+
392
+ # The backup failed.
393
+ FAILED = 3
394
+
395
+ # The backup is successful.
396
+ SUCCESSFUL = 4
397
+
398
+ # The backup is being deleted.
399
+ DELETING = 5
400
+
401
+ # Deletion of the backup failed.
402
+ DELETION_FAILED = 6
403
+ end
404
+ end
405
+
406
+ # Backup run list results.
407
+ # @!attribute [rw] kind
408
+ # @return [::String]
409
+ # This is always `sql#backupRunsList`.
410
+ # @!attribute [rw] items
411
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::BackupRun>]
412
+ # A list of backup runs in reverse chronological order of the enqueued time.
413
+ # @!attribute [rw] next_page_token
414
+ # @return [::String]
415
+ # The continuation token, used to page through large result sets. Provide
416
+ # this value in a subsequent request to return the next page of results.
417
+ class BackupRunsListResponse
418
+ include ::Google::Protobuf::MessageExts
419
+ extend ::Google::Protobuf::MessageExts::ClassMethods
420
+ end
421
+
422
+ # Binary log coordinates.
423
+ # @!attribute [rw] bin_log_file_name
424
+ # @return [::String]
425
+ # Name of the binary log file for a Cloud SQL instance.
426
+ # @!attribute [rw] bin_log_position
427
+ # @return [::Integer]
428
+ # Position (offset) within the binary log file.
429
+ # @!attribute [rw] kind
430
+ # @return [::String]
431
+ # This is always `sql#binLogCoordinates`.
432
+ class BinLogCoordinates
433
+ include ::Google::Protobuf::MessageExts
434
+ extend ::Google::Protobuf::MessageExts::ClassMethods
435
+ end
436
+
437
+ # Backup context.
438
+ # @!attribute [rw] backup_id
439
+ # @return [::Integer]
440
+ # The identifier of the backup.
441
+ # @!attribute [rw] kind
442
+ # @return [::String]
443
+ # This is always `sql#backupContext`.
444
+ # @!attribute [rw] name
445
+ # @return [::String]
446
+ # The name of the backup.
447
+ # Format: projects/\\{project}/backups/\\{backup}
448
+ class BackupContext
449
+ include ::Google::Protobuf::MessageExts
450
+ extend ::Google::Protobuf::MessageExts::ClassMethods
451
+ end
452
+
453
+ # Database instance clone context.
454
+ # @!attribute [rw] kind
455
+ # @return [::String]
456
+ # This is always `sql#cloneContext`.
457
+ # @!attribute [rw] pitr_timestamp_ms
458
+ # @return [::Integer]
459
+ # Reserved for future use.
460
+ # @!attribute [rw] destination_instance_name
461
+ # @return [::String]
462
+ # Name of the Cloud SQL instance to be created as a clone.
463
+ # @!attribute [rw] bin_log_coordinates
464
+ # @return [::Google::Cloud::Sql::V1beta4::BinLogCoordinates]
465
+ # Binary log coordinates, if specified, identify the position up to which the
466
+ # source instance is cloned. If not specified, the source instance is
467
+ # cloned up to the most recent binary log coordinates.
468
+ # @!attribute [rw] point_in_time
469
+ # @return [::Google::Protobuf::Timestamp]
470
+ # Timestamp, if specified, identifies the time to which the source instance
471
+ # is cloned.
472
+ # @!attribute [rw] allocated_ip_range
473
+ # @return [::String]
474
+ # The name of the allocated ip range for the private ip Cloud SQL instance.
475
+ # For example: "google-managed-services-default". If set, the cloned instance
476
+ # ip will be created in the allocated range. The range name must comply with
477
+ # [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name
478
+ # must be 1-63 characters long and match the regular expression
479
+ # [a-z]([-a-z0-9]*[a-z0-9])?.
480
+ # Reserved for future use.
481
+ # @!attribute [rw] database_names
482
+ # @return [::Array<::String>]
483
+ # (SQL Server only) Clone only the specified databases from the source
484
+ # instance. Clone all databases if empty.
485
+ # @!attribute [rw] preferred_zone
486
+ # @return [::String]
487
+ # Optional. Copy clone and point-in-time recovery clone of an instance to the
488
+ # specified zone. If no zone is specified, clone to the same primary zone as
489
+ # the source instance.
490
+ # @!attribute [rw] preferred_secondary_zone
491
+ # @return [::String]
492
+ # Optional. Copy clone and point-in-time recovery clone of a regional
493
+ # instance in the specified zones. If not specified, clone to the same
494
+ # secondary zone as the source instance. This value cannot be the same as the
495
+ # preferred_zone field.
496
+ # @!attribute [rw] source_instance_deletion_time
497
+ # @return [::Google::Protobuf::Timestamp]
498
+ # The timestamp used to identify the time when the source instance is
499
+ # deleted. If this instance is deleted, then you must set the timestamp.
500
+ # @!attribute [rw] destination_project
501
+ # @return [::String]
502
+ # Optional. The project ID of the destination project where the cloned
503
+ # instance will be created. To perform a cross-project clone, this field is
504
+ # required. If not specified, the clone is created in the same project
505
+ # as the source instance.
506
+ # @!attribute [rw] destination_network
507
+ # @return [::String]
508
+ # Optional. The fully qualified URI of the VPC network to which the cloned
509
+ # instance will be connected via private services access for private IP. For
510
+ # example:`projects/my-network-project/global/networks/my-network`. This
511
+ # field is only required for cross-project cloning.
512
+ class CloneContext
513
+ include ::Google::Protobuf::MessageExts
514
+ extend ::Google::Protobuf::MessageExts::ClassMethods
515
+ end
516
+
517
+ # Represents a SQL database on the Cloud SQL instance.
518
+ # @!attribute [rw] kind
519
+ # @return [::String]
520
+ # This is always `sql#database`.
521
+ # @!attribute [rw] charset
522
+ # @return [::String]
523
+ # The Cloud SQL charset value.
524
+ # @!attribute [rw] collation
525
+ # @return [::String]
526
+ # The Cloud SQL collation value.
527
+ # @!attribute [rw] etag
528
+ # @return [::String]
529
+ # This field is deprecated and will be removed from a future version of the
530
+ # API.
531
+ # @!attribute [rw] name
532
+ # @return [::String]
533
+ # The name of the database in the Cloud SQL instance. This does not include
534
+ # the project ID or instance name.
535
+ # @!attribute [rw] instance
536
+ # @return [::String]
537
+ # The name of the Cloud SQL instance. This does not include the project ID.
538
+ # @!attribute [rw] self_link
539
+ # @return [::String]
540
+ # The URI of this resource.
541
+ # @!attribute [rw] project
542
+ # @return [::String]
543
+ # The project ID of the project containing the Cloud SQL database. The Google
544
+ # apps domain is prefixed if applicable.
545
+ # @!attribute [rw] sqlserver_database_details
546
+ # @return [::Google::Cloud::Sql::V1beta4::SqlServerDatabaseDetails]
547
+ class Database
548
+ include ::Google::Protobuf::MessageExts
549
+ extend ::Google::Protobuf::MessageExts::ClassMethods
550
+ end
551
+
552
+ # Represents a Sql Server database on the Cloud SQL instance.
553
+ # @!attribute [rw] compatibility_level
554
+ # @return [::Integer]
555
+ # The version of SQL Server with which the database is to be made compatible
556
+ # @!attribute [rw] recovery_model
557
+ # @return [::String]
558
+ # The recovery model of a SQL Server database
559
+ class SqlServerDatabaseDetails
560
+ include ::Google::Protobuf::MessageExts
561
+ extend ::Google::Protobuf::MessageExts::ClassMethods
562
+ end
563
+
564
+ # Database flags for Cloud SQL instances.
565
+ # @!attribute [rw] name
566
+ # @return [::String]
567
+ # The name of the flag. These flags are passed at instance startup, so
568
+ # include both server options and system variables. Flags are
569
+ # specified with underscores, not hyphens. For more information, see
570
+ # [Configuring Database Flags](https://cloud.google.com/sql/docs/mysql/flags)
571
+ # in the Cloud SQL documentation.
572
+ # @!attribute [rw] value
573
+ # @return [::String]
574
+ # The value of the flag. Boolean flags are set to `on` for true
575
+ # and `off` for false. This field must be omitted if the flag
576
+ # doesn't take a value.
577
+ class DatabaseFlags
578
+ include ::Google::Protobuf::MessageExts
579
+ extend ::Google::Protobuf::MessageExts::ClassMethods
580
+ end
581
+
582
+ # Initial sync flags for certain Cloud SQL APIs.
583
+ # Currently used for the MySQL external server initial dump.
584
+ # @!attribute [rw] name
585
+ # @return [::String]
586
+ # The name of the flag.
587
+ # @!attribute [rw] value
588
+ # @return [::String]
589
+ # The value of the flag. This field must be omitted if the flag
590
+ # doesn't take a value.
591
+ class SyncFlags
592
+ include ::Google::Protobuf::MessageExts
593
+ extend ::Google::Protobuf::MessageExts::ClassMethods
594
+ end
595
+
596
+ # Reference to another Cloud SQL instance.
597
+ # @!attribute [rw] name
598
+ # @return [::String]
599
+ # The name of the Cloud SQL instance being referenced.
600
+ # This does not include the project ID.
601
+ # @!attribute [rw] region
602
+ # @return [::String]
603
+ # The region of the Cloud SQL instance being referenced.
604
+ # @!attribute [rw] project
605
+ # @return [::String]
606
+ # The project ID of the Cloud SQL instance being referenced.
607
+ # The default is the same project ID as the instance references it.
608
+ class InstanceReference
609
+ include ::Google::Protobuf::MessageExts
610
+ extend ::Google::Protobuf::MessageExts::ClassMethods
611
+ end
612
+
613
+ # A Cloud SQL instance resource.
614
+ # @!attribute [rw] kind
615
+ # @return [::String]
616
+ # This is always `sql#instance`.
617
+ # @!attribute [rw] state
618
+ # @return [::Google::Cloud::Sql::V1beta4::DatabaseInstance::SqlInstanceState]
619
+ # The current serving state of the Cloud SQL instance.
620
+ # @!attribute [rw] database_version
621
+ # @return [::Google::Cloud::Sql::V1beta4::SqlDatabaseVersion]
622
+ # The database engine type and version. The `databaseVersion` field cannot
623
+ # be changed after instance creation.
624
+ # @!attribute [rw] settings
625
+ # @return [::Google::Cloud::Sql::V1beta4::Settings]
626
+ # The user settings.
627
+ # @!attribute [rw] etag
628
+ # @return [::String]
629
+ # This field is deprecated and will be removed from a future version of the
630
+ # API. Use the `settings.settingsVersion` field instead.
631
+ # @!attribute [rw] failover_replica
632
+ # @return [::Google::Cloud::Sql::V1beta4::DatabaseInstance::SqlFailoverReplica]
633
+ # The name and status of the failover replica.
634
+ # @!attribute [rw] master_instance_name
635
+ # @return [::String]
636
+ # The name of the instance which will act as primary in the replication
637
+ # setup.
638
+ # @!attribute [rw] replica_names
639
+ # @return [::Array<::String>]
640
+ # The replicas of the instance.
641
+ # @!attribute [rw] max_disk_size
642
+ # @deprecated This field is deprecated and may be removed in the next major version update.
643
+ # @return [::Google::Protobuf::Int64Value]
644
+ # The maximum disk size of the instance in bytes.
645
+ # @!attribute [rw] current_disk_size
646
+ # @deprecated This field is deprecated and may be removed in the next major version update.
647
+ # @return [::Google::Protobuf::Int64Value]
648
+ # The current disk usage of the instance in bytes. This property has been
649
+ # deprecated. Use the
650
+ # "cloudsql.googleapis.com/database/disk/bytes_used" metric in Cloud
651
+ # Monitoring API instead. Please see [this
652
+ # announcement](https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ)
653
+ # for details.
654
+ # @!attribute [rw] ip_addresses
655
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::IpMapping>]
656
+ # The assigned IP addresses for the instance.
657
+ # @!attribute [rw] server_ca_cert
658
+ # @return [::Google::Cloud::Sql::V1beta4::SslCert]
659
+ # SSL configuration.
660
+ # @!attribute [rw] instance_type
661
+ # @return [::Google::Cloud::Sql::V1beta4::SqlInstanceType]
662
+ # The instance type.
663
+ # @!attribute [rw] project
664
+ # @return [::String]
665
+ # The project ID of the project containing the Cloud SQL instance. The Google
666
+ # apps domain is prefixed if applicable.
667
+ # @!attribute [rw] ipv6_address
668
+ # @deprecated This field is deprecated and may be removed in the next major version update.
669
+ # @return [::String]
670
+ # The IPv6 address assigned to the instance.
671
+ # (Deprecated) This property was applicable only
672
+ # to First Generation instances.
673
+ # @!attribute [rw] service_account_email_address
674
+ # @return [::String]
675
+ # The service account email address assigned to the instance. \This
676
+ # property is read-only.
677
+ # @!attribute [rw] on_premises_configuration
678
+ # @return [::Google::Cloud::Sql::V1beta4::OnPremisesConfiguration]
679
+ # Configuration specific to on-premises instances.
680
+ # @!attribute [rw] replica_configuration
681
+ # @return [::Google::Cloud::Sql::V1beta4::ReplicaConfiguration]
682
+ # Configuration specific to failover replicas and read replicas.
683
+ # @!attribute [rw] backend_type
684
+ # @return [::Google::Cloud::Sql::V1beta4::SqlBackendType]
685
+ # The backend type.
686
+ # `SECOND_GEN`: Cloud SQL database instance.
687
+ # `EXTERNAL`: A database server that is not managed by Google.
688
+ #
689
+ # This property is read-only; use the `tier` property in the `settings`
690
+ # object to determine the database type.
691
+ # @!attribute [rw] self_link
692
+ # @return [::String]
693
+ # The URI of this resource.
694
+ # @!attribute [rw] suspension_reason
695
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::SqlSuspensionReason>]
696
+ # If the instance state is SUSPENDED, the reason for the suspension.
697
+ # @!attribute [rw] connection_name
698
+ # @return [::String]
699
+ # Connection name of the Cloud SQL instance used in connection strings.
700
+ # @!attribute [rw] name
701
+ # @return [::String]
702
+ # Name of the Cloud SQL instance. This does not include the project ID.
703
+ # @!attribute [rw] region
704
+ # @return [::String]
705
+ # The geographical region of the Cloud SQL instance.
706
+ #
707
+ # It can be one of the
708
+ # [regions](https://cloud.google.com/sql/docs/mysql/locations#location-r)
709
+ # where Cloud SQL operates:
710
+ #
711
+ # For example, `asia-east1`, `europe-west1`, and `us-central1`.
712
+ # The default value is `us-central1`.
713
+ # @!attribute [rw] gce_zone
714
+ # @return [::String]
715
+ # The Compute Engine zone that the instance is currently serving from. This
716
+ # value could be different from the zone that was specified when the instance
717
+ # was created if the instance has failed over to its secondary zone. WARNING:
718
+ # Changing this might restart the instance.
719
+ # @!attribute [rw] secondary_gce_zone
720
+ # @return [::String]
721
+ # The Compute Engine zone that the failover instance is currently serving
722
+ # from for a regional instance. This value could be different
723
+ # from the zone that was specified when the instance
724
+ # was created if the instance has failed over to its secondary/failover zone.
725
+ # @!attribute [rw] disk_encryption_configuration
726
+ # @return [::Google::Cloud::Sql::V1beta4::DiskEncryptionConfiguration]
727
+ # Disk encryption configuration specific to an instance.
728
+ # @!attribute [rw] disk_encryption_status
729
+ # @return [::Google::Cloud::Sql::V1beta4::DiskEncryptionStatus]
730
+ # Disk encryption status specific to an instance.
731
+ # @!attribute [rw] root_password
732
+ # @return [::String]
733
+ # Initial root password. Use only on creation. You must set root passwords
734
+ # before you can connect to PostgreSQL instances.
735
+ # @!attribute [rw] scheduled_maintenance
736
+ # @return [::Google::Cloud::Sql::V1beta4::DatabaseInstance::SqlScheduledMaintenance]
737
+ # The start time of any upcoming scheduled maintenance for this instance.
738
+ # @!attribute [rw] satisfies_pzs
739
+ # @return [::Google::Protobuf::BoolValue]
740
+ # This status indicates whether the instance satisfies PZS.
741
+ #
742
+ # The status is reserved for future use.
743
+ # @!attribute [r] database_installed_version
744
+ # @return [::String]
745
+ # Output only. Stores the current database version running on the instance
746
+ # including minor version such as `MYSQL_8_0_18`.
747
+ # @!attribute [rw] out_of_disk_report
748
+ # @return [::Google::Cloud::Sql::V1beta4::DatabaseInstance::SqlOutOfDiskReport]
749
+ # This field represents the report generated by the proactive database
750
+ # wellness job for OutOfDisk issues.
751
+ # * Writers:
752
+ # * the proactive database wellness job for OOD.
753
+ # * Readers:
754
+ # * the proactive database wellness job
755
+ # @!attribute [r] create_time
756
+ # @return [::Google::Protobuf::Timestamp]
757
+ # Output only. The time when the instance was created in
758
+ # [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
759
+ # `2012-11-15T16:19:00.094Z`.
760
+ # @!attribute [r] available_maintenance_versions
761
+ # @return [::Array<::String>]
762
+ # Output only. List all maintenance versions applicable on the instance
763
+ # @!attribute [rw] maintenance_version
764
+ # @return [::String]
765
+ # The current software version on the instance.
766
+ # @!attribute [r] upgradable_database_versions
767
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::AvailableDatabaseVersion>]
768
+ # Output only. All database versions that are available for upgrade.
769
+ # @!attribute [rw] sql_network_architecture
770
+ # @return [::Google::Cloud::Sql::V1beta4::DatabaseInstance::SqlNetworkArchitecture]
771
+ # The SQL network architecture for the instance.
772
+ # @!attribute [r] psc_service_attachment_link
773
+ # @return [::String]
774
+ # Output only. The link to service attachment of PSC instance.
775
+ # @!attribute [r] dns_name
776
+ # @return [::String]
777
+ # Output only. The dns name of the instance.
778
+ # @!attribute [r] primary_dns_name
779
+ # @deprecated This field is deprecated and may be removed in the next major version update.
780
+ # @return [::String]
781
+ # Output only. DEPRECATED: please use write_endpoint instead.
782
+ # @!attribute [r] write_endpoint
783
+ # @return [::String]
784
+ # Output only. The dns name of the primary instance in a replication group.
785
+ # @!attribute [rw] replication_cluster
786
+ # @return [::Google::Cloud::Sql::V1beta4::ReplicationCluster]
787
+ # A primary instance and disaster recovery (DR) replica pair.
788
+ # A DR replica is a cross-region replica that you designate
789
+ # for failover in the event that the primary instance
790
+ # experiences regional failure.
791
+ # Applicable to MySQL and PostgreSQL.
792
+ # @!attribute [rw] gemini_config
793
+ # @return [::Google::Cloud::Sql::V1beta4::GeminiInstanceConfig]
794
+ # Gemini instance configuration.
795
+ # @!attribute [r] satisfies_pzi
796
+ # @return [::Google::Protobuf::BoolValue]
797
+ # Output only. This status indicates whether the instance satisfies PZI.
798
+ #
799
+ # The status is reserved for future use.
800
+ # @!attribute [rw] switch_transaction_logs_to_cloud_storage_enabled
801
+ # @return [::Google::Protobuf::BoolValue]
802
+ # Input only. Whether Cloud SQL is enabled to switch storing point-in-time
803
+ # recovery log files from a data disk to Cloud Storage.
804
+ # @!attribute [rw] include_replicas_for_major_version_upgrade
805
+ # @return [::Google::Protobuf::BoolValue]
806
+ # Input only. Determines whether an in-place major version upgrade of
807
+ # replicas happens when an in-place major version upgrade of a primary
808
+ # instance is initiated.
809
+ # @!attribute [rw] tags
810
+ # @return [::Google::Protobuf::Map{::String => ::String}]
811
+ # Optional. Input only. Immutable. Tag keys and tag values that are bound to
812
+ # this instance. You must represent each item in the map as:
813
+ # `"<tag-key-namespaced-name>" : "<tag-value-short-name>"`.
814
+ #
815
+ # For example, a single resource can have the following tags:
816
+ # ```
817
+ # "123/environment": "production",
818
+ # "123/costCenter": "marketing",
819
+ # ```
820
+ #
821
+ # For more information on tag creation and management, see
822
+ # https://cloud.google.com/resource-manager/docs/tags/tags-overview.
823
+ # @!attribute [rw] node_count
824
+ # @return [::Integer]
825
+ # The number of read pool nodes in a read pool.
826
+ # @!attribute [r] nodes
827
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::DatabaseInstance::PoolNodeConfig>]
828
+ # Output only. Entries containing information about each read pool node of
829
+ # the read pool.
830
+ # @!attribute [r] dns_names
831
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::DnsNameMapping>]
832
+ # Output only. The list of DNS names used by this instance.
833
+ # @!attribute [rw] database_center_integration_enabled
834
+ # @return [::Google::Protobuf::BoolValue]
835
+ # Optional. If true, instance metadata is sent to the Database Center. If
836
+ # false, instance metadata is not sent to the Database Center.
837
+ class DatabaseInstance
838
+ include ::Google::Protobuf::MessageExts
839
+ extend ::Google::Protobuf::MessageExts::ClassMethods
840
+
841
+ # @!attribute [rw] name
842
+ # @return [::String]
843
+ # The name of the failover replica. If specified at instance creation, a
844
+ # failover replica is created for the instance. The name
845
+ # doesn't include the project ID.
846
+ # @!attribute [rw] available
847
+ # @return [::Google::Protobuf::BoolValue]
848
+ # The availability status of the failover replica. A false status indicates
849
+ # that the failover replica is out of sync. The primary instance can only
850
+ # failover to the failover replica when the status is true.
851
+ class SqlFailoverReplica
852
+ include ::Google::Protobuf::MessageExts
853
+ extend ::Google::Protobuf::MessageExts::ClassMethods
854
+ end
855
+
856
+ # Any scheduled maintenance for this instance.
857
+ # @!attribute [rw] start_time
858
+ # @return [::Google::Protobuf::Timestamp]
859
+ # The start time of any upcoming scheduled maintenance for this instance.
860
+ # @!attribute [rw] can_defer
861
+ # @deprecated This field is deprecated and may be removed in the next major version update.
862
+ # @return [::Boolean]
863
+ # @!attribute [rw] can_reschedule
864
+ # @return [::Boolean]
865
+ # If the scheduled maintenance can be rescheduled.
866
+ # @!attribute [rw] schedule_deadline_time
867
+ # @return [::Google::Protobuf::Timestamp]
868
+ # Maintenance cannot be rescheduled to start beyond this deadline.
869
+ class SqlScheduledMaintenance
870
+ include ::Google::Protobuf::MessageExts
871
+ extend ::Google::Protobuf::MessageExts::ClassMethods
872
+ end
873
+
874
+ # This message wraps up the information written by out-of-disk detection job.
875
+ # @!attribute [rw] sql_out_of_disk_state
876
+ # @return [::Google::Cloud::Sql::V1beta4::DatabaseInstance::SqlOutOfDiskReport::SqlOutOfDiskState]
877
+ # This field represents the state generated by the proactive database
878
+ # wellness job for OutOfDisk issues.
879
+ # * Writers:
880
+ # * the proactive database wellness job for OOD.
881
+ # * Readers:
882
+ # * the proactive database wellness job
883
+ # @!attribute [rw] sql_min_recommended_increase_size_gb
884
+ # @return [::Integer]
885
+ # The minimum recommended increase size in GigaBytes
886
+ # This field is consumed by the frontend
887
+ # * Writers:
888
+ # * the proactive database wellness job for OOD.
889
+ # * Readers:
890
+ class SqlOutOfDiskReport
891
+ include ::Google::Protobuf::MessageExts
892
+ extend ::Google::Protobuf::MessageExts::ClassMethods
893
+
894
+ # This enum lists all possible states regarding out-of-disk issues.
895
+ module SqlOutOfDiskState
896
+ # Unspecified state
897
+ SQL_OUT_OF_DISK_STATE_UNSPECIFIED = 0
898
+
899
+ # The instance has plenty space on data disk
900
+ NORMAL = 1
901
+
902
+ # Data disk is almost used up. It is shutdown to prevent data
903
+ # corruption.
904
+ SOFT_SHUTDOWN = 2
905
+ end
906
+ end
907
+
908
+ # Details of a single read pool node of a read pool.
909
+ # @!attribute [r] name
910
+ # @return [::String]
911
+ # Output only. The name of the read pool node, to be used for retrieving
912
+ # metrics and logs.
913
+ # @!attribute [r] gce_zone
914
+ # @return [::String]
915
+ # Output only. The zone of the read pool node.
916
+ # @!attribute [r] ip_addresses
917
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::IpMapping>]
918
+ # Output only. Mappings containing IP addresses that can be used to connect
919
+ # to the read pool node.
920
+ # @!attribute [r] dns_name
921
+ # @return [::String]
922
+ # Output only. The DNS name of the read pool node.
923
+ # @!attribute [r] state
924
+ # @return [::Google::Cloud::Sql::V1beta4::DatabaseInstance::SqlInstanceState]
925
+ # Output only. The current state of the read pool node.
926
+ # @!attribute [r] dns_names
927
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::DnsNameMapping>]
928
+ # Output only. The list of DNS names used by this read pool node.
929
+ # @!attribute [r] psc_service_attachment_link
930
+ # @return [::String]
931
+ # Output only. The Private Service Connect (PSC) service attachment of the
932
+ # read pool node.
933
+ # @!attribute [r] psc_auto_connections
934
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::PscAutoConnectionConfig>]
935
+ # Output only. The list of settings for requested automatically-setup
936
+ # Private Service Connect (PSC) consumer endpoints that can be used to
937
+ # connect to this read pool node.
938
+ class PoolNodeConfig
939
+ include ::Google::Protobuf::MessageExts
940
+ extend ::Google::Protobuf::MessageExts::ClassMethods
941
+ end
942
+
943
+ # @!attribute [rw] key
944
+ # @return [::String]
945
+ # @!attribute [rw] value
946
+ # @return [::String]
947
+ class TagsEntry
948
+ include ::Google::Protobuf::MessageExts
949
+ extend ::Google::Protobuf::MessageExts::ClassMethods
950
+ end
951
+
952
+ # The current serving state of the database instance.
953
+ module SqlInstanceState
954
+ # The state of the instance is unknown.
955
+ SQL_INSTANCE_STATE_UNSPECIFIED = 0
956
+
957
+ # The instance is running, or has been stopped by owner.
958
+ RUNNABLE = 1
959
+
960
+ # The instance is not available, for example due to problems with billing.
961
+ SUSPENDED = 2
962
+
963
+ # The instance is being deleted.
964
+ PENDING_DELETE = 3
965
+
966
+ # The instance is being created.
967
+ PENDING_CREATE = 4
968
+
969
+ # The instance is down for maintenance.
970
+ MAINTENANCE = 5
971
+
972
+ # The creation of the instance failed or a fatal error occurred during
973
+ # maintenance.
974
+ FAILED = 6
975
+
976
+ # Deprecated
977
+ ONLINE_MAINTENANCE = 7
978
+
979
+ # (Applicable to read pool nodes only.) The read pool node needs to be
980
+ # repaired. The database might be unavailable.
981
+ REPAIRING = 8
982
+ end
983
+
984
+ # The SQL network architecture for the instance.
985
+ module SqlNetworkArchitecture
986
+ SQL_NETWORK_ARCHITECTURE_UNSPECIFIED = 0
987
+
988
+ # The instance uses the new network architecture.
989
+ NEW_NETWORK_ARCHITECTURE = 1
990
+
991
+ # The instance uses the old network architecture.
992
+ OLD_NETWORK_ARCHITECTURE = 2
993
+ end
994
+ end
995
+
996
+ # DNS metadata.
997
+ # @!attribute [r] name
998
+ # @return [::String]
999
+ # Output only. The DNS name.
1000
+ # @!attribute [r] connection_type
1001
+ # @return [::Google::Cloud::Sql::V1beta4::DnsNameMapping::ConnectionType]
1002
+ # Output only. The connection type of the DNS name.
1003
+ # @!attribute [r] dns_scope
1004
+ # @return [::Google::Cloud::Sql::V1beta4::DnsNameMapping::DnsScope]
1005
+ # Output only. The scope that the DNS name applies to.
1006
+ # @!attribute [r] record_manager
1007
+ # @return [::Google::Cloud::Sql::V1beta4::DnsNameMapping::RecordManager]
1008
+ # Output only. The manager for this DNS record.
1009
+ class DnsNameMapping
1010
+ include ::Google::Protobuf::MessageExts
1011
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1012
+
1013
+ # The connection type of the DNS name.
1014
+ module ConnectionType
1015
+ # Unknown connection type.
1016
+ CONNECTION_TYPE_UNSPECIFIED = 0
1017
+
1018
+ # Public IP.
1019
+ PUBLIC = 1
1020
+
1021
+ # Private services access (private IP).
1022
+ PRIVATE_SERVICES_ACCESS = 2
1023
+
1024
+ # Private Service Connect.
1025
+ PRIVATE_SERVICE_CONNECT = 3
1026
+ end
1027
+
1028
+ # The scope that the DNS name applies to.
1029
+ module DnsScope
1030
+ # DNS scope not set. This value should not be used.
1031
+ DNS_SCOPE_UNSPECIFIED = 0
1032
+
1033
+ # Indicates an instance-level DNS name.
1034
+ INSTANCE = 1
1035
+
1036
+ # Indicates a cluster-level DNS name.
1037
+ CLUSTER = 2
1038
+ end
1039
+
1040
+ # The system responsible for managing the DNS record.
1041
+ module RecordManager
1042
+ # Record manager not set. This value should not be used.
1043
+ RECORD_MANAGER_UNSPECIFIED = 0
1044
+
1045
+ # The record may be managed by the customer. It is not automatically
1046
+ # managed by Cloud SQL automation.
1047
+ CUSTOMER = 1
1048
+
1049
+ # The record is managed by Cloud SQL, which will create, update, and delete
1050
+ # the DNS records for the zone automatically when the Cloud SQL database
1051
+ # instance is created or updated.
1052
+ CLOUD_SQL_AUTOMATION = 2
1053
+ end
1054
+ end
1055
+
1056
+ # Gemini instance configuration.
1057
+ # @!attribute [r] entitled
1058
+ # @return [::Boolean]
1059
+ # Output only. Whether Gemini is enabled.
1060
+ # @!attribute [r] google_vacuum_mgmt_enabled
1061
+ # @return [::Boolean]
1062
+ # Output only. Whether the vacuum management is enabled.
1063
+ # @!attribute [r] oom_session_cancel_enabled
1064
+ # @return [::Boolean]
1065
+ # Output only. Whether canceling the out-of-memory (OOM) session is enabled.
1066
+ # @!attribute [r] active_query_enabled
1067
+ # @return [::Boolean]
1068
+ # Output only. Whether the active query is enabled.
1069
+ # @!attribute [r] index_advisor_enabled
1070
+ # @return [::Boolean]
1071
+ # Output only. Whether the index advisor is enabled.
1072
+ # @!attribute [r] flag_recommender_enabled
1073
+ # @return [::Boolean]
1074
+ # Output only. Whether the flag recommender is enabled.
1075
+ class GeminiInstanceConfig
1076
+ include ::Google::Protobuf::MessageExts
1077
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1078
+ end
1079
+
1080
+ # A primary instance and disaster recovery (DR) replica pair.
1081
+ # A DR replica is a cross-region replica that you designate for failover
1082
+ # in the event that the primary instance has regional failure.
1083
+ # Applicable to MySQL and PostgreSQL.
1084
+ # @!attribute [r] psa_write_endpoint
1085
+ # @return [::String]
1086
+ # Output only. If set, this field indicates this instance has a private
1087
+ # service access (PSA) DNS endpoint that is pointing to the primary instance
1088
+ # of the cluster. If this instance is the primary, then the DNS endpoint
1089
+ # points to this instance. After a switchover or replica failover operation,
1090
+ # this DNS endpoint points to the promoted instance. This is a read-only
1091
+ # field, returned to the user as information. This field can exist even if a
1092
+ # standalone instance doesn't have a DR replica yet or the DR replica is
1093
+ # deleted.
1094
+ # @!attribute [rw] failover_dr_replica_name
1095
+ # @return [::String]
1096
+ # Optional. If the instance is a primary instance, then this field identifies
1097
+ # the disaster recovery (DR) replica. A DR replica is an optional
1098
+ # configuration for Enterprise Plus edition instances. If the instance is a
1099
+ # read replica, then the field is not set. Set this field to a replica name
1100
+ # to designate a DR replica for a primary instance. Remove the replica name
1101
+ # to remove the DR replica designation.
1102
+ # @!attribute [r] dr_replica
1103
+ # @return [::Boolean]
1104
+ # Output only. Read-only field that indicates whether the replica is a DR
1105
+ # replica. This field is not set if the instance is a primary instance.
1106
+ class ReplicationCluster
1107
+ include ::Google::Protobuf::MessageExts
1108
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1109
+ end
1110
+
1111
+ # An available database version. It can be a major or a minor version.
1112
+ # @!attribute [rw] major_version
1113
+ # @return [::String]
1114
+ # The version's major version name.
1115
+ # @!attribute [rw] name
1116
+ # @return [::String]
1117
+ # The database version name. For MySQL 8.0, this string provides the database
1118
+ # major and minor version.
1119
+ # @!attribute [rw] display_name
1120
+ # @return [::String]
1121
+ # The database version's display name.
1122
+ class AvailableDatabaseVersion
1123
+ include ::Google::Protobuf::MessageExts
1124
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1125
+ end
1126
+
1127
+ # Database list response.
1128
+ # @!attribute [rw] kind
1129
+ # @return [::String]
1130
+ # This is always `sql#databasesList`.
1131
+ # @!attribute [rw] items
1132
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::Database>]
1133
+ # List of database resources in the instance.
1134
+ class DatabasesListResponse
1135
+ include ::Google::Protobuf::MessageExts
1136
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1137
+ end
1138
+
1139
+ # Read-replica configuration for connecting to the on-premises primary
1140
+ # instance.
1141
+ # @!attribute [rw] kind
1142
+ # @return [::String]
1143
+ # This is always `sql#demoteMasterConfiguration`.
1144
+ # @!attribute [rw] mysql_replica_configuration
1145
+ # @return [::Google::Cloud::Sql::V1beta4::DemoteMasterMySqlReplicaConfiguration]
1146
+ # MySQL specific configuration when replicating from a MySQL on-premises
1147
+ # primary instance. Replication configuration information such as the
1148
+ # username, password, certificates, and keys are not stored in the instance
1149
+ # metadata. The configuration information is used only to set up the
1150
+ # replication connection and is stored by MySQL in a file named
1151
+ # `master.info` in the data directory.
1152
+ class DemoteMasterConfiguration
1153
+ include ::Google::Protobuf::MessageExts
1154
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1155
+ end
1156
+
1157
+ # Database instance demote primary instance context.
1158
+ # @!attribute [rw] kind
1159
+ # @return [::String]
1160
+ # This is always `sql#demoteMasterContext`.
1161
+ # @!attribute [rw] verify_gtid_consistency
1162
+ # @return [::Google::Protobuf::BoolValue]
1163
+ # Verify the GTID consistency for demote operation. Default value:
1164
+ # `True`. Setting this flag to `false` enables you to bypass the GTID
1165
+ # consistency check between on-premises primary instance and Cloud SQL
1166
+ # instance during the demotion operation but also exposes you to the risk of
1167
+ # future replication failures. Change the value only if you know the reason
1168
+ # for the GTID divergence and are confident that doing so will not cause any
1169
+ # replication issues.
1170
+ # @!attribute [rw] master_instance_name
1171
+ # @return [::String]
1172
+ # The name of the instance which will act as on-premises primary instance
1173
+ # in the replication setup.
1174
+ # @!attribute [rw] replica_configuration
1175
+ # @return [::Google::Cloud::Sql::V1beta4::DemoteMasterConfiguration]
1176
+ # Configuration specific to read-replicas replicating from the on-premises
1177
+ # primary instance.
1178
+ # @!attribute [rw] skip_replication_setup
1179
+ # @return [::Boolean]
1180
+ # Flag to skip replication setup on the instance.
1181
+ class DemoteMasterContext
1182
+ include ::Google::Protobuf::MessageExts
1183
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1184
+ end
1185
+
1186
+ # Read-replica configuration specific to MySQL databases.
1187
+ # @!attribute [rw] kind
1188
+ # @return [::String]
1189
+ # This is always `sql#demoteMasterMysqlReplicaConfiguration`.
1190
+ # @!attribute [rw] username
1191
+ # @return [::String]
1192
+ # The username for the replication connection.
1193
+ # @!attribute [rw] password
1194
+ # @return [::String]
1195
+ # The password for the replication connection.
1196
+ # @!attribute [rw] client_key
1197
+ # @return [::String]
1198
+ # PEM representation of the replica's private key. The corresponding public
1199
+ # key is encoded in the client's certificate. The format of the replica's
1200
+ # private key can be either PKCS #1 or PKCS #8.
1201
+ # @!attribute [rw] client_certificate
1202
+ # @return [::String]
1203
+ # PEM representation of the replica's x509 certificate.
1204
+ # @!attribute [rw] ca_certificate
1205
+ # @return [::String]
1206
+ # PEM representation of the trusted CA's x509 certificate.
1207
+ class DemoteMasterMySqlReplicaConfiguration
1208
+ include ::Google::Protobuf::MessageExts
1209
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1210
+ end
1211
+
1212
+ # This context is used to demote an existing standalone instance to be
1213
+ # a Cloud SQL read replica for an external database server.
1214
+ # @!attribute [rw] kind
1215
+ # @return [::String]
1216
+ # This is always `sql#demoteContext`.
1217
+ # @!attribute [rw] source_representative_instance_name
1218
+ # @return [::String]
1219
+ # Required. The name of the instance which acts as an on-premises primary
1220
+ # instance in the replication setup.
1221
+ class DemoteContext
1222
+ include ::Google::Protobuf::MessageExts
1223
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1224
+ end
1225
+
1226
+ # Database instance export context.
1227
+ # @!attribute [rw] uri
1228
+ # @return [::String]
1229
+ # The path to the file in Google Cloud Storage where the export will be
1230
+ # stored. The URI is in the form `gs://bucketName/fileName`. If the file
1231
+ # already exists, the request succeeds, but the operation fails. If
1232
+ # `fileType` is `SQL` and the filename ends with .gz,
1233
+ # the contents are compressed.
1234
+ # @!attribute [rw] databases
1235
+ # @return [::Array<::String>]
1236
+ # Databases to be exported. <br /> `MySQL instances:` If
1237
+ # `fileType` is `SQL` and no database is specified, all
1238
+ # databases are exported, except for the `mysql` system database.
1239
+ # If `fileType` is `CSV`, you can specify one database,
1240
+ # either by using this property or by using the
1241
+ # `csvExportOptions.selectQuery` property, which takes precedence
1242
+ # over this property. <br /> `PostgreSQL instances:` If you don't specify a
1243
+ # database by name, all user databases in the instance are
1244
+ # exported. This excludes system databases and Cloud SQL databases used to
1245
+ # manage internal operations. Exporting all user databases is only available
1246
+ # for directory-formatted parallel export. If `fileType` is `CSV`,
1247
+ # this database must match the one specified in the
1248
+ # `csvExportOptions.selectQuery` property. <br /> `SQL Server
1249
+ # instances:` You must specify one database to be exported, and the
1250
+ # `fileType` must be `BAK`.
1251
+ # @!attribute [rw] kind
1252
+ # @return [::String]
1253
+ # This is always `sql#exportContext`.
1254
+ # @!attribute [rw] sql_export_options
1255
+ # @return [::Google::Cloud::Sql::V1beta4::ExportContext::SqlExportOptions]
1256
+ # Options for exporting data as SQL statements.
1257
+ # @!attribute [rw] csv_export_options
1258
+ # @return [::Google::Cloud::Sql::V1beta4::ExportContext::SqlCsvExportOptions]
1259
+ # Options for exporting data as CSV. `MySQL` and `PostgreSQL`
1260
+ # instances only.
1261
+ # @!attribute [rw] file_type
1262
+ # @return [::Google::Cloud::Sql::V1beta4::SqlFileType]
1263
+ # The file type for the specified uri.
1264
+ # @!attribute [rw] offload
1265
+ # @return [::Google::Protobuf::BoolValue]
1266
+ # Whether to perform a serverless export.
1267
+ # @!attribute [rw] bak_export_options
1268
+ # @return [::Google::Cloud::Sql::V1beta4::ExportContext::SqlBakExportOptions]
1269
+ # Options for exporting data as BAK files.
1270
+ # @!attribute [rw] tde_export_options
1271
+ # @return [::Google::Cloud::Sql::V1beta4::ExportContext::SqlTdeExportOptions]
1272
+ # Optional. Export parameters specific to SQL Server TDE certificates
1273
+ class ExportContext
1274
+ include ::Google::Protobuf::MessageExts
1275
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1276
+
1277
+ # @!attribute [rw] select_query
1278
+ # @return [::String]
1279
+ # The select query used to extract the data.
1280
+ # @!attribute [rw] escape_character
1281
+ # @return [::String]
1282
+ # Specifies the character that should appear before a data character that
1283
+ # needs to be escaped.
1284
+ # @!attribute [rw] quote_character
1285
+ # @return [::String]
1286
+ # Specifies the quoting character to be used when a data value is quoted.
1287
+ # @!attribute [rw] fields_terminated_by
1288
+ # @return [::String]
1289
+ # Specifies the character that separates columns within each row (line) of
1290
+ # the file.
1291
+ # @!attribute [rw] lines_terminated_by
1292
+ # @return [::String]
1293
+ # This is used to separate lines. If a line does not contain all fields,
1294
+ # the rest of the columns are set to their default values.
1295
+ class SqlCsvExportOptions
1296
+ include ::Google::Protobuf::MessageExts
1297
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1298
+ end
1299
+
1300
+ # @!attribute [rw] tables
1301
+ # @return [::Array<::String>]
1302
+ # Tables to export, or that were exported, from the specified database. If
1303
+ # you specify tables, specify one and only one database. For PostgreSQL
1304
+ # instances, you can specify only one table.
1305
+ # @!attribute [rw] schema_only
1306
+ # @return [::Google::Protobuf::BoolValue]
1307
+ # Export only schemas.
1308
+ # @!attribute [rw] mysql_export_options
1309
+ # @return [::Google::Cloud::Sql::V1beta4::ExportContext::SqlExportOptions::MysqlExportOptions]
1310
+ # @!attribute [rw] threads
1311
+ # @return [::Google::Protobuf::Int32Value]
1312
+ # Optional. The number of threads to use for parallel export.
1313
+ # @!attribute [rw] parallel
1314
+ # @return [::Google::Protobuf::BoolValue]
1315
+ # Optional. Whether or not the export should be parallel.
1316
+ # @!attribute [rw] postgres_export_options
1317
+ # @return [::Google::Cloud::Sql::V1beta4::ExportContext::SqlExportOptions::PostgresExportOptions]
1318
+ # Optional. Options for exporting from a Cloud SQL for PostgreSQL instance.
1319
+ class SqlExportOptions
1320
+ include ::Google::Protobuf::MessageExts
1321
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1322
+
1323
+ # Options for exporting from MySQL.
1324
+ # @!attribute [rw] master_data
1325
+ # @return [::Google::Protobuf::Int32Value]
1326
+ # Option to include SQL statement required to set up replication. If set
1327
+ # to `1`, the dump file includes a CHANGE MASTER TO statement with the
1328
+ # binary log coordinates, and --set-gtid-purged is set to ON. If set to
1329
+ # `2`, the CHANGE MASTER TO statement is written as a SQL comment and
1330
+ # has no effect. If set to any value other than `1`, --set-gtid-purged
1331
+ # is set to OFF.
1332
+ class MysqlExportOptions
1333
+ include ::Google::Protobuf::MessageExts
1334
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1335
+ end
1336
+
1337
+ # Options for exporting from a Cloud SQL for PostgreSQL instance.
1338
+ # @!attribute [rw] clean
1339
+ # @return [::Google::Protobuf::BoolValue]
1340
+ # Optional. Use this option to include DROP <code>&lt;object&gt;</code>
1341
+ # SQL statements. Use these statements to delete database objects before
1342
+ # running the import operation.
1343
+ # @!attribute [rw] if_exists
1344
+ # @return [::Google::Protobuf::BoolValue]
1345
+ # Optional. Option to include an IF EXISTS SQL statement with each DROP
1346
+ # statement produced by clean.
1347
+ class PostgresExportOptions
1348
+ include ::Google::Protobuf::MessageExts
1349
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1350
+ end
1351
+ end
1352
+
1353
+ # Options for exporting BAK files (SQL Server-only)
1354
+ # @!attribute [rw] striped
1355
+ # @return [::Google::Protobuf::BoolValue]
1356
+ # Whether or not the export should be striped.
1357
+ # @!attribute [rw] stripe_count
1358
+ # @return [::Google::Protobuf::Int32Value]
1359
+ # Option for specifying how many stripes to use for the export.
1360
+ # If blank, and the value of the striped field is true,
1361
+ # the number of stripes is automatically chosen.
1362
+ # @!attribute [rw] bak_type
1363
+ # @return [::Google::Cloud::Sql::V1beta4::BakType]
1364
+ # Type of this bak file will be export, FULL or DIFF, SQL Server only
1365
+ # @!attribute [rw] copy_only
1366
+ # @deprecated This field is deprecated and may be removed in the next major version update.
1367
+ # @return [::Google::Protobuf::BoolValue]
1368
+ # Deprecated: copy_only is deprecated. Use differential_base instead
1369
+ # @!attribute [rw] differential_base
1370
+ # @return [::Google::Protobuf::BoolValue]
1371
+ # Whether or not the backup can be used as a differential base
1372
+ # copy_only backup can not be served as differential base
1373
+ # @!attribute [rw] export_log_start_time
1374
+ # @return [::Google::Protobuf::Timestamp]
1375
+ # Optional. The begin timestamp when transaction log will be included in
1376
+ # the export operation. [RFC 3339](https://tools.ietf.org/html/rfc3339)
1377
+ # format (for example, `2023-10-01T16:19:00.094`) in UTC. When omitted, all
1378
+ # available logs from the beginning of retention period will be included.
1379
+ # Only applied to Cloud SQL for SQL Server.
1380
+ # @!attribute [rw] export_log_end_time
1381
+ # @return [::Google::Protobuf::Timestamp]
1382
+ # Optional. The end timestamp when transaction log will be included in the
1383
+ # export operation. [RFC 3339](https://tools.ietf.org/html/rfc3339) format
1384
+ # (for example, `2023-10-01T16:19:00.094`) in UTC. When omitted, all
1385
+ # available logs until current time will be included. Only applied to Cloud
1386
+ # SQL for SQL Server.
1387
+ class SqlBakExportOptions
1388
+ include ::Google::Protobuf::MessageExts
1389
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1390
+ end
1391
+
1392
+ # @!attribute [rw] certificate_path
1393
+ # @return [::String]
1394
+ # Required. Path to the TDE certificate public key
1395
+ # in the form gs://bucketName/fileName.
1396
+ # The instance must have write access to the location.
1397
+ # Applicable only for SQL Server instances.
1398
+ # @!attribute [rw] private_key_path
1399
+ # @return [::String]
1400
+ # Required. Path to the TDE certificate private key
1401
+ # in the form gs://bucketName/fileName.
1402
+ # The instance must have write access to the location.
1403
+ # Applicable only for SQL Server instances.
1404
+ # @!attribute [rw] private_key_password
1405
+ # @return [::String]
1406
+ # Required. Password that encrypts the private key.
1407
+ # @!attribute [rw] name
1408
+ # @return [::String]
1409
+ # Required. Certificate name.
1410
+ # Applicable only for SQL Server instances.
1411
+ class SqlTdeExportOptions
1412
+ include ::Google::Protobuf::MessageExts
1413
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1414
+ end
1415
+ end
1416
+
1417
+ # Database instance failover context.
1418
+ # @!attribute [rw] settings_version
1419
+ # @return [::Integer]
1420
+ # The current settings version of this instance. Request will be rejected if
1421
+ # this version doesn't match the current settings version.
1422
+ # @!attribute [rw] kind
1423
+ # @return [::String]
1424
+ # This is always `sql#failoverContext`.
1425
+ class FailoverContext
1426
+ include ::Google::Protobuf::MessageExts
1427
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1428
+ end
1429
+
1430
+ # A flag resource.
1431
+ # @!attribute [rw] name
1432
+ # @return [::String]
1433
+ # This is the name of the flag. Flag names always use underscores, not
1434
+ # hyphens, for example: `max_allowed_packet`
1435
+ # @!attribute [rw] type
1436
+ # @return [::Google::Cloud::Sql::V1beta4::SqlFlagType]
1437
+ # The type of the flag. Flags are typed to being `BOOLEAN`, `STRING`,
1438
+ # `INTEGER` or `NONE`. `NONE` is used for flags which do not take a
1439
+ # value, such as `skip_grant_tables`.
1440
+ # @!attribute [rw] applies_to
1441
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::SqlDatabaseVersion>]
1442
+ # The database version this flag applies to. Can be
1443
+ # MySQL instances: `MYSQL_8_0`, `MYSQL_8_0_18`, `MYSQL_8_0_26`, `MYSQL_5_7`,
1444
+ # or `MYSQL_5_6`. PostgreSQL instances: `POSTGRES_9_6`, `POSTGRES_10`,
1445
+ # `POSTGRES_11` or `POSTGRES_12`. SQL Server instances:
1446
+ # `SQLSERVER_2017_STANDARD`, `SQLSERVER_2017_ENTERPRISE`,
1447
+ # `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`, `SQLSERVER_2019_STANDARD`,
1448
+ # `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`, or
1449
+ # `SQLSERVER_2019_WEB`.
1450
+ # See [the complete
1451
+ # list](/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).
1452
+ # @!attribute [rw] allowed_string_values
1453
+ # @return [::Array<::String>]
1454
+ # For `STRING` flags, a list of strings that the value can be set to.
1455
+ # @!attribute [rw] min_value
1456
+ # @return [::Google::Protobuf::Int64Value]
1457
+ # For `INTEGER` flags, the minimum allowed value.
1458
+ # @!attribute [rw] max_value
1459
+ # @return [::Google::Protobuf::Int64Value]
1460
+ # For `INTEGER` flags, the maximum allowed value.
1461
+ # @!attribute [rw] requires_restart
1462
+ # @return [::Google::Protobuf::BoolValue]
1463
+ # Indicates whether changing this flag will trigger a database restart. Only
1464
+ # applicable to Second Generation instances.
1465
+ # @!attribute [rw] kind
1466
+ # @return [::String]
1467
+ # This is always `sql#flag`.
1468
+ # @!attribute [rw] in_beta
1469
+ # @return [::Google::Protobuf::BoolValue]
1470
+ # Whether or not the flag is considered in beta.
1471
+ # @!attribute [rw] allowed_int_values
1472
+ # @return [::Array<::Integer>]
1473
+ # Use this field if only certain integers are accepted. Can be combined
1474
+ # with min_value and max_value to add additional values.
1475
+ # @!attribute [rw] flag_scope
1476
+ # @return [::Google::Cloud::Sql::V1beta4::SqlFlagScope]
1477
+ # Scope of flag.
1478
+ # @!attribute [rw] recommended_string_value
1479
+ # @return [::String]
1480
+ # Recommended flag value in string format for UI display.
1481
+ #
1482
+ # Note: The following fields are mutually exclusive: `recommended_string_value`, `recommended_int_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1483
+ # @!attribute [rw] recommended_int_value
1484
+ # @return [::Google::Protobuf::Int64Value]
1485
+ # Recommended flag value in integer format for UI display.
1486
+ #
1487
+ # Note: The following fields are mutually exclusive: `recommended_int_value`, `recommended_string_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1488
+ class Flag
1489
+ include ::Google::Protobuf::MessageExts
1490
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1491
+ end
1492
+
1493
+ # Flags list response.
1494
+ # @!attribute [rw] kind
1495
+ # @return [::String]
1496
+ # This is always `sql#flagsList`.
1497
+ # @!attribute [rw] items
1498
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::Flag>]
1499
+ # List of flags.
1500
+ class FlagsListResponse
1501
+ include ::Google::Protobuf::MessageExts
1502
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1503
+ end
1504
+
1505
+ # Database instance import context.
1506
+ # @!attribute [rw] uri
1507
+ # @return [::String]
1508
+ # Path to the import file in Cloud Storage, in the form
1509
+ # `gs://bucketName/fileName`. Compressed gzip files (.gz) are supported
1510
+ # when `fileType` is `SQL`. The instance must have
1511
+ # write permissions to the bucket and read access to the file.
1512
+ # @!attribute [rw] database
1513
+ # @return [::String]
1514
+ # The target database for the import. If `fileType` is `SQL`, this field
1515
+ # is required only if the import file does not specify a database, and is
1516
+ # overridden by any database specification in the import file. For entire
1517
+ # instance parallel import operations, the database is overridden by the
1518
+ # database name stored in subdirectory name. If
1519
+ # `fileType` is `CSV`, one database must be specified.
1520
+ # @!attribute [rw] kind
1521
+ # @return [::String]
1522
+ # This is always `sql#importContext`.
1523
+ # @!attribute [rw] file_type
1524
+ # @return [::Google::Cloud::Sql::V1beta4::SqlFileType]
1525
+ # The file type for the specified uri.
1526
+ # * `SQL`: The file contains SQL statements.
1527
+ # * `CSV`: The file contains CSV data.
1528
+ # * `BAK`: The file contains backup data for a SQL Server instance.
1529
+ # @!attribute [rw] csv_import_options
1530
+ # @return [::Google::Cloud::Sql::V1beta4::ImportContext::SqlCsvImportOptions]
1531
+ # Options for importing data as CSV.
1532
+ # @!attribute [rw] import_user
1533
+ # @return [::String]
1534
+ # The PostgreSQL user for this import operation. PostgreSQL instances only.
1535
+ # @!attribute [rw] bak_import_options
1536
+ # @return [::Google::Cloud::Sql::V1beta4::ImportContext::SqlBakImportOptions]
1537
+ # Import parameters specific to SQL Server .BAK files
1538
+ # @!attribute [rw] sql_import_options
1539
+ # @return [::Google::Cloud::Sql::V1beta4::ImportContext::SqlImportOptions]
1540
+ # Optional. Options for importing data from SQL statements.
1541
+ # @!attribute [rw] tde_import_options
1542
+ # @return [::Google::Cloud::Sql::V1beta4::ImportContext::SqlTdeImportOptions]
1543
+ # Optional. Import parameters specific to SQL Server .TDE files
1544
+ # Import parameters specific to SQL Server TDE certificates
1545
+ class ImportContext
1546
+ include ::Google::Protobuf::MessageExts
1547
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1548
+
1549
+ # @!attribute [rw] threads
1550
+ # @return [::Google::Protobuf::Int32Value]
1551
+ # Optional. The number of threads to use for parallel import.
1552
+ # @!attribute [rw] parallel
1553
+ # @return [::Google::Protobuf::BoolValue]
1554
+ # Optional. Whether or not the import should be parallel.
1555
+ # @!attribute [rw] postgres_import_options
1556
+ # @return [::Google::Cloud::Sql::V1beta4::ImportContext::SqlImportOptions::PostgresImportOptions]
1557
+ # Optional. Options for importing from a Cloud SQL for PostgreSQL instance.
1558
+ class SqlImportOptions
1559
+ include ::Google::Protobuf::MessageExts
1560
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1561
+
1562
+ # @!attribute [rw] clean
1563
+ # @return [::Google::Protobuf::BoolValue]
1564
+ # Optional. The --clean flag for the pg_restore utility. This flag
1565
+ # applies only if you enabled Cloud SQL to import files in parallel.
1566
+ # @!attribute [rw] if_exists
1567
+ # @return [::Google::Protobuf::BoolValue]
1568
+ # Optional. The --if-exists flag for the pg_restore utility. This flag
1569
+ # applies only if you enabled Cloud SQL to import files in parallel.
1570
+ class PostgresImportOptions
1571
+ include ::Google::Protobuf::MessageExts
1572
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1573
+ end
1574
+ end
1575
+
1576
+ # @!attribute [rw] table
1577
+ # @return [::String]
1578
+ # The table to which CSV data is imported.
1579
+ # @!attribute [rw] columns
1580
+ # @return [::Array<::String>]
1581
+ # The columns to which CSV data is imported. If not specified, all columns
1582
+ # of the database table are loaded with CSV data.
1583
+ # @!attribute [rw] escape_character
1584
+ # @return [::String]
1585
+ # Specifies the character that should appear before a data character that
1586
+ # needs to be escaped.
1587
+ # @!attribute [rw] quote_character
1588
+ # @return [::String]
1589
+ # Specifies the quoting character to be used when a data value is quoted.
1590
+ # @!attribute [rw] fields_terminated_by
1591
+ # @return [::String]
1592
+ # Specifies the character that separates columns within each row (line) of
1593
+ # the file.
1594
+ # @!attribute [rw] lines_terminated_by
1595
+ # @return [::String]
1596
+ # This is used to separate lines. If a line does not contain all fields,
1597
+ # the rest of the columns are set to their default values.
1598
+ class SqlCsvImportOptions
1599
+ include ::Google::Protobuf::MessageExts
1600
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1601
+ end
1602
+
1603
+ # @!attribute [rw] encryption_options
1604
+ # @return [::Google::Cloud::Sql::V1beta4::ImportContext::SqlBakImportOptions::EncryptionOptions]
1605
+ # @!attribute [rw] striped
1606
+ # @return [::Google::Protobuf::BoolValue]
1607
+ # Whether or not the backup set being restored is striped.
1608
+ # Applies only to Cloud SQL for SQL Server.
1609
+ # @!attribute [rw] no_recovery
1610
+ # @return [::Google::Protobuf::BoolValue]
1611
+ # Whether or not the backup importing will restore database
1612
+ # with NORECOVERY option.
1613
+ # Applies only to Cloud SQL for SQL Server.
1614
+ # @!attribute [rw] recovery_only
1615
+ # @return [::Google::Protobuf::BoolValue]
1616
+ # Whether or not the backup importing request will just bring database
1617
+ # online without downloading Bak content only one of "no_recovery" and
1618
+ # "recovery_only" can be true otherwise error will return. Applies only to
1619
+ # Cloud SQL for SQL Server.
1620
+ # @!attribute [rw] bak_type
1621
+ # @return [::Google::Cloud::Sql::V1beta4::BakType]
1622
+ # Type of the bak content, FULL or DIFF.
1623
+ # @!attribute [rw] stop_at
1624
+ # @return [::Google::Protobuf::Timestamp]
1625
+ # Optional. The timestamp when the import should stop. This timestamp is in
1626
+ # the [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example,
1627
+ # `2023-10-01T16:19:00.094`). This field is equivalent to the STOPAT
1628
+ # keyword and applies to Cloud SQL for SQL Server only.
1629
+ # @!attribute [rw] stop_at_mark
1630
+ # @return [::String]
1631
+ # Optional. The marked transaction where the import should stop. This field
1632
+ # is equivalent to the STOPATMARK keyword and applies to Cloud SQL for SQL
1633
+ # Server only.
1634
+ class SqlBakImportOptions
1635
+ include ::Google::Protobuf::MessageExts
1636
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1637
+
1638
+ # @!attribute [rw] cert_path
1639
+ # @return [::String]
1640
+ # Path to the Certificate (.cer) in Cloud Storage, in the form
1641
+ # `gs://bucketName/fileName`. The instance must have write permissions
1642
+ # to the bucket and read access to the file.
1643
+ # @!attribute [rw] pvk_path
1644
+ # @return [::String]
1645
+ # Path to the Certificate Private Key (.pvk) in Cloud Storage, in the
1646
+ # form `gs://bucketName/fileName`. The instance must have write
1647
+ # permissions to the bucket and read access to the file.
1648
+ # @!attribute [rw] pvk_password
1649
+ # @return [::String]
1650
+ # Password that encrypts the private key
1651
+ # @!attribute [rw] keep_encrypted
1652
+ # @return [::Google::Protobuf::BoolValue]
1653
+ # Optional. Whether the imported file remains encrypted.
1654
+ class EncryptionOptions
1655
+ include ::Google::Protobuf::MessageExts
1656
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1657
+ end
1658
+ end
1659
+
1660
+ # @!attribute [rw] certificate_path
1661
+ # @return [::String]
1662
+ # Required. Path to the TDE certificate public key
1663
+ # in the form gs://bucketName/fileName.
1664
+ # The instance must have read access to the file.
1665
+ # Applicable only for SQL Server instances.
1666
+ # @!attribute [rw] private_key_path
1667
+ # @return [::String]
1668
+ # Required. Path to the TDE certificate private key
1669
+ # in the form gs://bucketName/fileName.
1670
+ # The instance must have read access to the file.
1671
+ # Applicable only for SQL Server instances.
1672
+ # @!attribute [rw] private_key_password
1673
+ # @return [::String]
1674
+ # Required. Password that encrypts the private key.
1675
+ # @!attribute [rw] name
1676
+ # @return [::String]
1677
+ # Required. Certificate name.
1678
+ # Applicable only for SQL Server instances.
1679
+ class SqlTdeImportOptions
1680
+ include ::Google::Protobuf::MessageExts
1681
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1682
+ end
1683
+ end
1684
+
1685
+ # Database instance clone request.
1686
+ # @!attribute [rw] clone_context
1687
+ # @return [::Google::Cloud::Sql::V1beta4::CloneContext]
1688
+ # Contains details about the clone operation.
1689
+ class InstancesCloneRequest
1690
+ include ::Google::Protobuf::MessageExts
1691
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1692
+ end
1693
+
1694
+ # Database demote primary instance request.
1695
+ # @!attribute [rw] demote_master_context
1696
+ # @return [::Google::Cloud::Sql::V1beta4::DemoteMasterContext]
1697
+ # Contains details about the demoteMaster operation.
1698
+ class InstancesDemoteMasterRequest
1699
+ include ::Google::Protobuf::MessageExts
1700
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1701
+ end
1702
+
1703
+ # This request is used to demote an existing standalone instance to be a
1704
+ # Cloud SQL read replica for an external database server.
1705
+ # @!attribute [rw] demote_context
1706
+ # @return [::Google::Cloud::Sql::V1beta4::DemoteContext]
1707
+ # Required. This context is used to demote an existing standalone instance to
1708
+ # be a Cloud SQL read replica for an external database server.
1709
+ class InstancesDemoteRequest
1710
+ include ::Google::Protobuf::MessageExts
1711
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1712
+ end
1713
+
1714
+ # Database instance export request.
1715
+ # @!attribute [rw] export_context
1716
+ # @return [::Google::Cloud::Sql::V1beta4::ExportContext]
1717
+ # Contains details about the export operation.
1718
+ class InstancesExportRequest
1719
+ include ::Google::Protobuf::MessageExts
1720
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1721
+ end
1722
+
1723
+ # Instance failover request.
1724
+ # @!attribute [rw] failover_context
1725
+ # @return [::Google::Cloud::Sql::V1beta4::FailoverContext]
1726
+ # Failover Context.
1727
+ class InstancesFailoverRequest
1728
+ include ::Google::Protobuf::MessageExts
1729
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1730
+ end
1731
+
1732
+ # Database instance import request.
1733
+ # @!attribute [rw] import_context
1734
+ # @return [::Google::Cloud::Sql::V1beta4::ImportContext]
1735
+ # Contains details about the import operation.
1736
+ class InstancesImportRequest
1737
+ include ::Google::Protobuf::MessageExts
1738
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1739
+ end
1740
+
1741
+ # Request for Pre-checks for MVU
1742
+ # @!attribute [rw] pre_check_major_version_upgrade_context
1743
+ # @return [::Google::Cloud::Sql::V1beta4::PreCheckMajorVersionUpgradeContext]
1744
+ # Required. Contains details about the pre-check major version upgrade
1745
+ # operation.
1746
+ class InstancesPreCheckMajorVersionUpgradeRequest
1747
+ include ::Google::Protobuf::MessageExts
1748
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1749
+ end
1750
+
1751
+ # MySQL-specific external server sync settings.
1752
+ # @!attribute [rw] initial_sync_flags
1753
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::SyncFlags>]
1754
+ # Flags to use for the initial dump.
1755
+ class MySqlSyncConfig
1756
+ include ::Google::Protobuf::MessageExts
1757
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1758
+ end
1759
+
1760
+ # Database instances list response.
1761
+ # @!attribute [rw] kind
1762
+ # @return [::String]
1763
+ # This is always `sql#instancesList`.
1764
+ # @!attribute [rw] warnings
1765
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::ApiWarning>]
1766
+ # List of warnings that occurred while handling the request.
1767
+ # @!attribute [rw] items
1768
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::DatabaseInstance>]
1769
+ # List of database instance resources.
1770
+ # @!attribute [rw] next_page_token
1771
+ # @return [::String]
1772
+ # The continuation token, used to page through large result sets. Provide
1773
+ # this value in a subsequent request to return the next page of results.
1774
+ class InstancesListResponse
1775
+ include ::Google::Protobuf::MessageExts
1776
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1777
+ end
1778
+
1779
+ # Instances ListServerCas response.
1780
+ # @!attribute [rw] certs
1781
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::SslCert>]
1782
+ # List of server CA certificates for the instance.
1783
+ # @!attribute [rw] active_version
1784
+ # @return [::String]
1785
+ # @!attribute [rw] kind
1786
+ # @return [::String]
1787
+ # This is always `sql#instancesListServerCas`.
1788
+ class InstancesListServerCasResponse
1789
+ include ::Google::Protobuf::MessageExts
1790
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1791
+ end
1792
+
1793
+ # Instances ListServerCertificatess response.
1794
+ # @!attribute [rw] ca_certs
1795
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::SslCert>]
1796
+ # List of server CA certificates for the instance.
1797
+ # @!attribute [rw] server_certs
1798
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::SslCert>]
1799
+ # List of server certificates for the instance, signed by the corresponding
1800
+ # CA from the `ca_certs` list.
1801
+ # @!attribute [rw] active_version
1802
+ # @return [::String]
1803
+ # The `sha1_fingerprint` of the active certificate from `server_certs`.
1804
+ # @!attribute [rw] kind
1805
+ # @return [::String]
1806
+ # This is always `sql#instancesListServerCertificates`.
1807
+ class InstancesListServerCertificatesResponse
1808
+ include ::Google::Protobuf::MessageExts
1809
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1810
+ end
1811
+
1812
+ # Instances ListEntraIdCertificates response.
1813
+ # @!attribute [rw] certs
1814
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::SslCert>]
1815
+ # List of Entra ID certificates for the instance.
1816
+ # @!attribute [rw] active_version
1817
+ # @return [::String]
1818
+ # The `sha1_fingerprint` of the active certificate from `certs`.
1819
+ # @!attribute [rw] kind
1820
+ # @return [::String]
1821
+ # This is always `sql#instancesListEntraIdCertificates`.
1822
+ class InstancesListEntraIdCertificatesResponse
1823
+ include ::Google::Protobuf::MessageExts
1824
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1825
+ end
1826
+
1827
+ # Database instance restore backup request.
1828
+ # @!attribute [rw] restore_backup_context
1829
+ # @return [::Google::Cloud::Sql::V1beta4::RestoreBackupContext]
1830
+ # Parameters required to perform the restore backup operation.
1831
+ # @!attribute [rw] backup
1832
+ # @return [::String]
1833
+ # The name of the backup that's used to restore a Cloud SQL instance:
1834
+ # Format: projects/\\{project-id}/backups/\\{backup-uid}. Only one of
1835
+ # restore_backup_context, backup, backupdr_backup can be passed to the input.
1836
+ # @!attribute [rw] backupdr_backup
1837
+ # @return [::String]
1838
+ # The name of the backup that's used to restore a Cloud SQL instance:
1839
+ # Format:
1840
+ # "projects/\\{project-id}/locations/\\{location}/backupVaults/\\{backupvault}/dataSources/\\{datasource}/backups/\\{backup-uid}".
1841
+ # Only one of restore_backup_context, backup, backupdr_backup can be
1842
+ # passed to the input.
1843
+ # @!attribute [rw] restore_instance_settings
1844
+ # @return [::Google::Cloud::Sql::V1beta4::DatabaseInstance]
1845
+ # Optional. By using this parameter, Cloud SQL overrides any instance
1846
+ # settings stored in the backup you are restoring from. You can't change the
1847
+ # instance's major database version and you can only increase the disk size.
1848
+ # You can use this field to restore new instances only. This field is not
1849
+ # applicable for restore to existing instances.
1850
+ # @!attribute [rw] restore_instance_clear_overrides_field_names
1851
+ # @return [::Array<::String>]
1852
+ # Optional. This field has the same purpose as restore_instance_settings,
1853
+ # changes any instance settings stored in the backup you are restoring from.
1854
+ # With the difference that these fields are cleared in the settings.
1855
+ class InstancesRestoreBackupRequest
1856
+ include ::Google::Protobuf::MessageExts
1857
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1858
+ end
1859
+
1860
+ # Rotate Server CA request.
1861
+ # @!attribute [rw] rotate_server_ca_context
1862
+ # @return [::Google::Cloud::Sql::V1beta4::RotateServerCaContext]
1863
+ # Contains details about the rotate server CA operation.
1864
+ class InstancesRotateServerCaRequest
1865
+ include ::Google::Protobuf::MessageExts
1866
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1867
+ end
1868
+
1869
+ # Rotate Server Certificate request.
1870
+ # @!attribute [rw] rotate_server_certificate_context
1871
+ # @return [::Google::Cloud::Sql::V1beta4::RotateServerCertificateContext]
1872
+ # Optional. Contains details about the rotate server CA operation.
1873
+ class InstancesRotateServerCertificateRequest
1874
+ include ::Google::Protobuf::MessageExts
1875
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1876
+ end
1877
+
1878
+ # Rotate Entra ID Certificate request.
1879
+ # @!attribute [rw] rotate_entra_id_certificate_context
1880
+ # @return [::Google::Cloud::Sql::V1beta4::RotateEntraIdCertificateContext]
1881
+ # Optional. Contains details about the rotate Entra ID certificate operation.
1882
+ class InstancesRotateEntraIdCertificateRequest
1883
+ include ::Google::Protobuf::MessageExts
1884
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1885
+ end
1886
+
1887
+ # Instance truncate log request.
1888
+ # @!attribute [rw] truncate_log_context
1889
+ # @return [::Google::Cloud::Sql::V1beta4::TruncateLogContext]
1890
+ # Contains details about the truncate log operation.
1891
+ class InstancesTruncateLogRequest
1892
+ include ::Google::Protobuf::MessageExts
1893
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1894
+ end
1895
+
1896
+ # Request to acquire an SSRS lease for an instance.
1897
+ # @!attribute [rw] acquire_ssrs_lease_context
1898
+ # @return [::Google::Cloud::Sql::V1beta4::AcquireSsrsLeaseContext]
1899
+ # Contains details about the acquire SSRS lease operation.
1900
+ class InstancesAcquireSsrsLeaseRequest
1901
+ include ::Google::Protobuf::MessageExts
1902
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1903
+ end
1904
+
1905
+ # Context to perform a point-in-time restore of an instance managed by
1906
+ # Backup and Disaster Recovery (DR) Service.
1907
+ # @!attribute [rw] datasource
1908
+ # @return [::String]
1909
+ # The Backup and Disaster Recovery (DR) Service Datasource URI.
1910
+ # Format:
1911
+ # projects/\\{project}/locations/\\{region}/backupVaults/\\{backupvault}/dataSources/\\{datasource}.
1912
+ # @!attribute [rw] point_in_time
1913
+ # @return [::Google::Protobuf::Timestamp]
1914
+ # Required. The date and time to which you want to restore the instance.
1915
+ # @!attribute [rw] target_instance
1916
+ # @return [::String]
1917
+ # Target instance name.
1918
+ # @!attribute [rw] private_network
1919
+ # @return [::String]
1920
+ # Optional. The resource link for the VPC network from which the Cloud SQL
1921
+ # instance is accessible for private IP. For example,
1922
+ # `/projects/myProject/global/networks/default`.
1923
+ # @!attribute [rw] allocated_ip_range
1924
+ # @return [::String]
1925
+ # Optional. The name of the allocated IP range for the internal IP Cloud SQL
1926
+ # instance. For example: "google-managed-services-default". If you set this,
1927
+ # then Cloud SQL creates the IP address for the cloned instance in the
1928
+ # allocated range. This range must comply with [RFC
1929
+ # 1035](https://tools.ietf.org/html/rfc1035) standards. Specifically, the
1930
+ # name must be 1-63 characters long and match the regular expression
1931
+ # [a-z]([-a-z0-9]*[a-z0-9])?. Reserved for future use.
1932
+ # @!attribute [rw] preferred_zone
1933
+ # @return [::String]
1934
+ # Optional. Point-in-time recovery of an instance to the specified zone. If
1935
+ # no zone is specified, then clone to the same primary zone as the source
1936
+ # instance.
1937
+ # @!attribute [rw] preferred_secondary_zone
1938
+ # @return [::String]
1939
+ # Optional. Point-in-time recovery of a regional instance in the specified
1940
+ # zones. If not specified, clone to the same secondary zone as the source
1941
+ # instance. This value cannot be the same as the preferred_zone field.
1942
+ # @!attribute [rw] target_instance_settings
1943
+ # @return [::Google::Cloud::Sql::V1beta4::DatabaseInstance]
1944
+ # Optional. Specifies the instance settings that will be overridden from the
1945
+ # source instance. This field is only applicable for cross project PITRs.
1946
+ # @!attribute [rw] target_instance_clear_settings_field_names
1947
+ # @return [::Array<::String>]
1948
+ # Optional. Specifies the instance settings that will be cleared from the
1949
+ # source instance. This field is only applicable for cross project PITRs.
1950
+ # @!attribute [rw] region
1951
+ # @return [::String]
1952
+ # Optional. The region of the target instance where the datasource will be
1953
+ # restored. For example: "us-central1".
1954
+ class PointInTimeRestoreContext
1955
+ include ::Google::Protobuf::MessageExts
1956
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1957
+ end
1958
+
1959
+ # Perform disk shrink context.
1960
+ # @!attribute [rw] target_size_gb
1961
+ # @return [::Integer]
1962
+ # The target disk shrink size in GigaBytes.
1963
+ class PerformDiskShrinkContext
1964
+ include ::Google::Protobuf::MessageExts
1965
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1966
+ end
1967
+
1968
+ # Structured PreCheckResponse containing message, type, and required
1969
+ # actions.
1970
+ # @!attribute [rw] message
1971
+ # @return [::String]
1972
+ # The message to be displayed to the user.
1973
+ # @!attribute [rw] message_type
1974
+ # @return [::Google::Cloud::Sql::V1beta4::PreCheckResponse::MessageType]
1975
+ # The type of message whether it is an info, warning, or error.
1976
+ # @!attribute [rw] actions_required
1977
+ # @return [::Array<::String>]
1978
+ # The actions that the user needs to take. Use repeated for multiple
1979
+ # actions.
1980
+ class PreCheckResponse
1981
+ include ::Google::Protobuf::MessageExts
1982
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1983
+
1984
+ # The type of message which can be an info, a warning, or an error that
1985
+ # requires user intervention.
1986
+ module MessageType
1987
+ # Default unspecified value to prevent unintended behavior changes.
1988
+ MESSAGE_TYPE_UNSPECIFIED = 0
1989
+
1990
+ # General informational messages that don't require action.
1991
+ INFO = 1
1992
+
1993
+ # Warnings that might impact the upgrade but don't block it.
1994
+ WARNING = 2
1995
+
1996
+ # Errors that a user must resolve before proceeding with the upgrade.
1997
+ ERROR = 3
1998
+ end
1999
+ end
2000
+
2001
+ # Pre-check major version upgrade context.
2002
+ # @!attribute [rw] target_database_version
2003
+ # @return [::Google::Cloud::Sql::V1beta4::SqlDatabaseVersion]
2004
+ # Required. The target database version to upgrade to.
2005
+ # @!attribute [r] pre_check_response
2006
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::PreCheckResponse>]
2007
+ # Output only. The responses from the precheck operation.
2008
+ # @!attribute [rw] kind
2009
+ # @return [::String]
2010
+ # Optional. This is always `sql#preCheckMajorVersionUpgradeContext`.
2011
+ class PreCheckMajorVersionUpgradeContext
2012
+ include ::Google::Protobuf::MessageExts
2013
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2014
+ end
2015
+
2016
+ # Instance get disk shrink config response.
2017
+ # @!attribute [rw] kind
2018
+ # @return [::String]
2019
+ # This is always `sql#getDiskShrinkConfig`.
2020
+ # @!attribute [rw] minimal_target_size_gb
2021
+ # @return [::Integer]
2022
+ # The minimum size to which a disk can be shrunk in GigaBytes.
2023
+ # @!attribute [rw] message
2024
+ # @return [::String]
2025
+ # Additional message to customers.
2026
+ class SqlInstancesGetDiskShrinkConfigResponse
2027
+ include ::Google::Protobuf::MessageExts
2028
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2029
+ end
2030
+
2031
+ # Instance verify external sync settings response.
2032
+ # @!attribute [rw] kind
2033
+ # @return [::String]
2034
+ # This is always `sql#migrationSettingErrorList`.
2035
+ # @!attribute [rw] errors
2036
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::SqlExternalSyncSettingError>]
2037
+ # List of migration violations.
2038
+ # @!attribute [rw] warnings
2039
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::SqlExternalSyncSettingError>]
2040
+ # List of migration warnings.
2041
+ class SqlInstancesVerifyExternalSyncSettingsResponse
2042
+ include ::Google::Protobuf::MessageExts
2043
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2044
+ end
2045
+
2046
+ # External primary instance migration setting error/warning.
2047
+ # @!attribute [rw] kind
2048
+ # @return [::String]
2049
+ # Can be `sql#externalSyncSettingError` or
2050
+ # `sql#externalSyncSettingWarning`.
2051
+ # @!attribute [rw] type
2052
+ # @return [::Google::Cloud::Sql::V1beta4::SqlExternalSyncSettingError::SqlExternalSyncSettingErrorType]
2053
+ # Identifies the specific error that occurred.
2054
+ # @!attribute [rw] detail
2055
+ # @return [::String]
2056
+ # Additional information about the error encountered.
2057
+ class SqlExternalSyncSettingError
2058
+ include ::Google::Protobuf::MessageExts
2059
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2060
+
2061
+ module SqlExternalSyncSettingErrorType
2062
+ SQL_EXTERNAL_SYNC_SETTING_ERROR_TYPE_UNSPECIFIED = 0
2063
+
2064
+ CONNECTION_FAILURE = 1
2065
+
2066
+ BINLOG_NOT_ENABLED = 2
2067
+
2068
+ INCOMPATIBLE_DATABASE_VERSION = 3
2069
+
2070
+ REPLICA_ALREADY_SETUP = 4
2071
+
2072
+ # The replication user is missing privileges that are required.
2073
+ INSUFFICIENT_PRIVILEGE = 5
2074
+
2075
+ # Unsupported migration type.
2076
+ UNSUPPORTED_MIGRATION_TYPE = 6
2077
+
2078
+ # No pglogical extension installed on databases, applicable for postgres.
2079
+ NO_PGLOGICAL_INSTALLED = 7
2080
+
2081
+ # pglogical node already exists on databases, applicable for postgres.
2082
+ PGLOGICAL_NODE_ALREADY_EXISTS = 8
2083
+
2084
+ # The value of parameter wal_level is not set to logical.
2085
+ INVALID_WAL_LEVEL = 9
2086
+
2087
+ # The value of parameter shared_preload_libraries does not include
2088
+ # pglogical.
2089
+ INVALID_SHARED_PRELOAD_LIBRARY = 10
2090
+
2091
+ # The value of parameter max_replication_slots is not sufficient.
2092
+ INSUFFICIENT_MAX_REPLICATION_SLOTS = 11
2093
+
2094
+ # The value of parameter max_wal_senders is not sufficient.
2095
+ INSUFFICIENT_MAX_WAL_SENDERS = 12
2096
+
2097
+ # The value of parameter max_worker_processes is not sufficient.
2098
+ INSUFFICIENT_MAX_WORKER_PROCESSES = 13
2099
+
2100
+ # Extensions installed are either not supported or having unsupported
2101
+ # versions
2102
+ UNSUPPORTED_EXTENSIONS = 14
2103
+
2104
+ # The value of parameter rds.logical_replication is not set to 1.
2105
+ INVALID_RDS_LOGICAL_REPLICATION = 15
2106
+
2107
+ # The primary instance logging setup doesn't allow EM sync.
2108
+ INVALID_LOGGING_SETUP = 16
2109
+
2110
+ # The primary instance database parameter setup doesn't allow EM sync.
2111
+ INVALID_DB_PARAM = 17
2112
+
2113
+ # The gtid_mode is not supported, applicable for MySQL.
2114
+ UNSUPPORTED_GTID_MODE = 18
2115
+
2116
+ # SQL Server Agent is not running.
2117
+ SQLSERVER_AGENT_NOT_RUNNING = 19
2118
+
2119
+ # The table definition is not support due to missing primary key or replica
2120
+ # identity, applicable for postgres. Note that this is a warning and won't
2121
+ # block the migration.
2122
+ UNSUPPORTED_TABLE_DEFINITION = 20
2123
+
2124
+ # The customer has a definer that will break EM setup.
2125
+ UNSUPPORTED_DEFINER = 21
2126
+
2127
+ # SQL Server @@SERVERNAME does not match actual host name.
2128
+ SQLSERVER_SERVERNAME_MISMATCH = 22
2129
+
2130
+ # The primary instance has been setup and will fail the setup.
2131
+ PRIMARY_ALREADY_SETUP = 23
2132
+
2133
+ # The primary instance has unsupported binary log format.
2134
+ UNSUPPORTED_BINLOG_FORMAT = 24
2135
+
2136
+ # The primary instance's binary log retention setting.
2137
+ BINLOG_RETENTION_SETTING = 25
2138
+
2139
+ # The primary instance has tables with unsupported storage engine.
2140
+ UNSUPPORTED_STORAGE_ENGINE = 26
2141
+
2142
+ # Source has tables with limited support
2143
+ # eg: PostgreSQL tables without primary keys.
2144
+ LIMITED_SUPPORT_TABLES = 27
2145
+
2146
+ # The replica instance contains existing data.
2147
+ EXISTING_DATA_IN_REPLICA = 28
2148
+
2149
+ # The replication user is missing privileges that are optional.
2150
+ MISSING_OPTIONAL_PRIVILEGES = 29
2151
+
2152
+ # Additional BACKUP_ADMIN privilege is granted to the replication user
2153
+ # which may lock source MySQL 8 instance for DDLs during initial sync.
2154
+ RISKY_BACKUP_ADMIN_PRIVILEGE = 30
2155
+
2156
+ # The Cloud Storage bucket is missing necessary permissions.
2157
+ INSUFFICIENT_GCS_PERMISSIONS = 31
2158
+
2159
+ # The Cloud Storage bucket has an error in the file or contains invalid
2160
+ # file information.
2161
+ INVALID_FILE_INFO = 32
2162
+
2163
+ # The source instance has unsupported database settings for migration.
2164
+ UNSUPPORTED_DATABASE_SETTINGS = 33
2165
+
2166
+ # The replication user is missing parallel import specific privileges.
2167
+ # (e.g. LOCK TABLES) for MySQL.
2168
+ MYSQL_PARALLEL_IMPORT_INSUFFICIENT_PRIVILEGE = 34
2169
+
2170
+ # The global variable local_infile is off on external server replica.
2171
+ LOCAL_INFILE_OFF = 35
2172
+
2173
+ # This code instructs customers to turn on point-in-time recovery manually
2174
+ # for the instance after promoting the Cloud SQL for PostgreSQL instance.
2175
+ TURN_ON_PITR_AFTER_PROMOTE = 36
2176
+
2177
+ # The minor version of replica database is incompatible with the source.
2178
+ INCOMPATIBLE_DATABASE_MINOR_VERSION = 37
2179
+
2180
+ # This warning message indicates that Cloud SQL uses the maximum number of
2181
+ # subscriptions to migrate data from the source to the destination.
2182
+ SOURCE_MAX_SUBSCRIPTIONS = 38
2183
+
2184
+ # Unable to verify definers on the source for MySQL.
2185
+ UNABLE_TO_VERIFY_DEFINERS = 39
2186
+
2187
+ # If a time out occurs while the subscription counts are calculated, then
2188
+ # this value is set to 1. Otherwise, this value is set to 2.
2189
+ SUBSCRIPTION_CALCULATION_STATUS = 40
2190
+
2191
+ # Count of subscriptions needed to sync source data for PostgreSQL
2192
+ # database.
2193
+ PG_SUBSCRIPTION_COUNT = 41
2194
+
2195
+ # Final parallel level that is used to do migration.
2196
+ PG_SYNC_PARALLEL_LEVEL = 42
2197
+
2198
+ # The disk size of the replica instance is smaller than the data size of
2199
+ # the source instance.
2200
+ INSUFFICIENT_DISK_SIZE = 43
2201
+
2202
+ # The data size of the source instance is greater than 1 TB, the number of
2203
+ # cores of the replica instance is less than 8, and the memory of the
2204
+ # replica is less than 32 GB.
2205
+ INSUFFICIENT_MACHINE_TIER = 44
2206
+
2207
+ # The warning message indicates the unsupported extensions will not be
2208
+ # migrated to the destination.
2209
+ UNSUPPORTED_EXTENSIONS_NOT_MIGRATED = 45
2210
+
2211
+ # The warning message indicates the pg_cron extension and settings will not
2212
+ # be migrated to the destination.
2213
+ EXTENSIONS_NOT_MIGRATED = 46
2214
+
2215
+ # The error message indicates that pg_cron flags are enabled on the
2216
+ # destination which is not supported during the migration.
2217
+ PG_CRON_FLAG_ENABLED_IN_REPLICA = 47
2218
+
2219
+ # This error message indicates that the specified extensions are not
2220
+ # enabled on destination instance. For example, before you can migrate
2221
+ # data to the destination instance, you must enable the PGAudit extension
2222
+ # on the instance.
2223
+ EXTENSIONS_NOT_ENABLED_IN_REPLICA = 48
2224
+
2225
+ # The source database has generated columns that can't be migrated. Please
2226
+ # change them to regular columns before migration.
2227
+ UNSUPPORTED_COLUMNS = 49
2228
+
2229
+ # The source database has users that aren't created in the replica.
2230
+ # First, create all users, which are in the pg_user_mappings table
2231
+ # of the source database, in the destination instance. Then, perform the
2232
+ # migration.
2233
+ USERS_NOT_CREATED_IN_REPLICA = 50
2234
+
2235
+ # The selected objects include system objects that aren't supported for
2236
+ # migration.
2237
+ UNSUPPORTED_SYSTEM_OBJECTS = 51
2238
+
2239
+ # The source database has tables with the FULL or NOTHING replica identity.
2240
+ # Before starting your migration, either remove the identity or change it
2241
+ # to DEFAULT. Note that this is an error and will block the migration.
2242
+ UNSUPPORTED_TABLES_WITH_REPLICA_IDENTITY = 52
2243
+
2244
+ # The selected objects don't exist on the source instance.
2245
+ SELECTED_OBJECTS_NOT_EXIST_ON_SOURCE = 53
2246
+
2247
+ # PSC only destination instance does not have a network attachment URI.
2248
+ PSC_ONLY_INSTANCE_WITH_NO_NETWORK_ATTACHMENT_URI = 54
2249
+
2250
+ # Selected objects reference unselected objects. Based on their object type
2251
+ # (foreign key constraint or view), selected objects will fail during
2252
+ # migration.
2253
+ SELECTED_OBJECTS_REFERENCE_UNSELECTED_OBJECTS = 55
2254
+
2255
+ # The migration will delete existing data in the replica; set
2256
+ # {::Google::Cloud::Sql::V1beta4::SqlInstancesStartExternalSyncRequest#replica_overwrite_enabled replica_overwrite_enabled}
2257
+ # in the request to acknowledge this. This is an error. MySQL only.
2258
+ PROMPT_DELETE_EXISTING = 56
2259
+
2260
+ # The migration will delete existing data in the replica;
2261
+ # {::Google::Cloud::Sql::V1beta4::SqlInstancesStartExternalSyncRequest#replica_overwrite_enabled replica_overwrite_enabled}
2262
+ # was set in the request acknowledging this. This is a warning rather than
2263
+ # an error. MySQL only.
2264
+ WILL_DELETE_EXISTING = 57
2265
+
2266
+ # The replication user is missing specific privileges to setup DDL
2267
+ # replication. (e.g. CREATE EVENT TRIGGER, CREATE SCHEMA) for PostgreSQL.
2268
+ PG_DDL_REPLICATION_INSUFFICIENT_PRIVILEGE = 58
2269
+ end
2270
+ end
2271
+
2272
+ # IP Management configuration.
2273
+ # @!attribute [rw] ipv4_enabled
2274
+ # @return [::Google::Protobuf::BoolValue]
2275
+ # Whether the instance is assigned a public IP address or not.
2276
+ # @!attribute [rw] private_network
2277
+ # @return [::String]
2278
+ # The resource link for the VPC network from which the Cloud SQL instance is
2279
+ # accessible for private IP. For example,
2280
+ # `/projects/myProject/global/networks/default`. This setting can
2281
+ # be updated, but it cannot be removed after it is set.
2282
+ # @!attribute [rw] require_ssl
2283
+ # @return [::Google::Protobuf::BoolValue]
2284
+ # Use `ssl_mode` instead.
2285
+ #
2286
+ # Whether SSL/TLS connections over IP are enforced.
2287
+ # If set to false, then allow both non-SSL/non-TLS and SSL/TLS connections.
2288
+ # For SSL/TLS connections, the client certificate won't be verified. If
2289
+ # set to true, then only allow connections encrypted with SSL/TLS and with
2290
+ # valid client certificates. If you want to enforce SSL/TLS without enforcing
2291
+ # the requirement for valid client certificates, then use the `ssl_mode` flag
2292
+ # instead of the legacy `require_ssl` flag.
2293
+ # @!attribute [rw] authorized_networks
2294
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::AclEntry>]
2295
+ # The list of external networks that are allowed to connect to the instance
2296
+ # using the IP. In 'CIDR' notation, also known as 'slash' notation (for
2297
+ # example: `157.197.200.0/24`).
2298
+ # @!attribute [rw] allocated_ip_range
2299
+ # @return [::String]
2300
+ # The name of the allocated ip range for the private ip Cloud SQL instance.
2301
+ # For example: "google-managed-services-default". If set, the instance ip
2302
+ # will be created in the allocated range. The range name must comply with
2303
+ # [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name
2304
+ # must be 1-63 characters long and match the regular expression
2305
+ # `[a-z]([-a-z0-9]*[a-z0-9])?.`
2306
+ # @!attribute [rw] enable_private_path_for_google_cloud_services
2307
+ # @return [::Google::Protobuf::BoolValue]
2308
+ # Controls connectivity to private IP instances from Google services,
2309
+ # such as BigQuery.
2310
+ # @!attribute [rw] ssl_mode
2311
+ # @return [::Google::Cloud::Sql::V1beta4::IpConfiguration::SslMode]
2312
+ # Specify how SSL/TLS is enforced in database connections. If you must use
2313
+ # the `require_ssl` flag for backward compatibility, then only the following
2314
+ # value pairs are valid:
2315
+ #
2316
+ # For PostgreSQL and MySQL:
2317
+ #
2318
+ # * `ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false`
2319
+ # * `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=false`
2320
+ # * `ssl_mode=TRUSTED_CLIENT_CERTIFICATE_REQUIRED` and `require_ssl=true`
2321
+ #
2322
+ # For SQL Server:
2323
+ #
2324
+ # * `ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false`
2325
+ # * `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=true`
2326
+ #
2327
+ # The value of `ssl_mode` has priority over the value of `require_ssl`.
2328
+ #
2329
+ # For example, for the pair `ssl_mode=ENCRYPTED_ONLY` and
2330
+ # `require_ssl=false`, `ssl_mode=ENCRYPTED_ONLY` means accept only SSL
2331
+ # connections, while `require_ssl=false` means accept both non-SSL
2332
+ # and SSL connections. In this case, MySQL and PostgreSQL databases respect
2333
+ # `ssl_mode` and accepts only SSL connections.
2334
+ # @!attribute [rw] psc_config
2335
+ # @return [::Google::Cloud::Sql::V1beta4::PscConfig]
2336
+ # PSC settings for this instance.
2337
+ # @!attribute [rw] server_ca_mode
2338
+ # @return [::Google::Cloud::Sql::V1beta4::IpConfiguration::CaMode]
2339
+ # Specify what type of CA is used for the server certificate.
2340
+ # @!attribute [rw] custom_subject_alternative_names
2341
+ # @return [::Array<::String>]
2342
+ # Optional. Custom Subject Alternative Name(SAN)s for a Cloud SQL instance.
2343
+ # @!attribute [rw] server_ca_pool
2344
+ # @return [::String]
2345
+ # Optional. The resource name of the server CA pool for an instance with
2346
+ # `CUSTOMER_MANAGED_CAS_CA` as the `server_ca_mode`.
2347
+ # Format: projects/\\{PROJECT}/locations/\\{REGION}/caPools/\\{CA_POOL_ID}
2348
+ # @!attribute [rw] server_certificate_rotation_mode
2349
+ # @return [::Google::Cloud::Sql::V1beta4::IpConfiguration::ServerCertificateRotationMode]
2350
+ # Optional. Controls the automatic server certificate rotation feature. This
2351
+ # feature is disabled by default. When enabled, the server certificate will
2352
+ # be automatically rotated during Cloud SQL scheduled maintenance or
2353
+ # self-service maintenance updates up to six months before it expires. This
2354
+ # setting can only be set if server_ca_mode is either GOOGLE_MANAGED_CAS_CA
2355
+ # or CUSTOMER_MANAGED_CAS_CA.
2356
+ class IpConfiguration
2357
+ include ::Google::Protobuf::MessageExts
2358
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2359
+
2360
+ # The SSL options for database connections.
2361
+ module SslMode
2362
+ # The SSL mode is unknown.
2363
+ SSL_MODE_UNSPECIFIED = 0
2364
+
2365
+ # Allow non-SSL/non-TLS and SSL/TLS connections.
2366
+ # For SSL connections to MySQL and PostgreSQL, the client certificate
2367
+ # isn't verified.
2368
+ #
2369
+ # When this value is used, the legacy `require_ssl` flag must be false or
2370
+ # cleared to avoid a conflict between the values of the two flags.
2371
+ ALLOW_UNENCRYPTED_AND_ENCRYPTED = 1
2372
+
2373
+ # Only allow connections encrypted with SSL/TLS.
2374
+ # For SSL connections to MySQL and PostgreSQL, the client certificate
2375
+ # isn't verified.
2376
+ #
2377
+ # When this value is used, the legacy `require_ssl` flag must be false or
2378
+ # cleared to avoid a conflict between the values of the two flags.
2379
+ ENCRYPTED_ONLY = 2
2380
+
2381
+ # Only allow connections encrypted with SSL/TLS and with valid
2382
+ # client certificates.
2383
+ #
2384
+ # When this value is used, the legacy `require_ssl` flag must be true or
2385
+ # cleared to avoid the conflict between values of two flags.
2386
+ # PostgreSQL clients or users that connect using IAM database
2387
+ # authentication must use either the
2388
+ # [Cloud SQL Auth
2389
+ # Proxy](https://cloud.google.com/sql/docs/postgres/connect-auth-proxy) or
2390
+ # [Cloud SQL
2391
+ # Connectors](https://cloud.google.com/sql/docs/postgres/connect-connectors)
2392
+ # to enforce client identity verification.
2393
+ #
2394
+ # Only applicable to MySQL and PostgreSQL. Not applicable to SQL Server.
2395
+ TRUSTED_CLIENT_CERTIFICATE_REQUIRED = 3
2396
+ end
2397
+
2398
+ # Various Certificate Authority (CA) modes for certificate signing.
2399
+ module CaMode
2400
+ # CA mode is unspecified. It is effectively the same as
2401
+ # `GOOGLE_MANAGED_INTERNAL_CA`.
2402
+ CA_MODE_UNSPECIFIED = 0
2403
+
2404
+ # Google-managed self-signed internal CA.
2405
+ GOOGLE_MANAGED_INTERNAL_CA = 1
2406
+
2407
+ # Google-managed regional CA part of root CA hierarchy hosted on Google
2408
+ # Cloud's Certificate Authority Service (CAS).
2409
+ GOOGLE_MANAGED_CAS_CA = 2
2410
+
2411
+ # Customer-managed CA hosted on Google Cloud's Certificate Authority
2412
+ # Service (CAS).
2413
+ CUSTOMER_MANAGED_CAS_CA = 3
2414
+ end
2415
+
2416
+ # Settings for automatic server certificate rotation.
2417
+ module ServerCertificateRotationMode
2418
+ # Unspecified: no automatic server certificate rotation.
2419
+ SERVER_CERTIFICATE_ROTATION_MODE_UNSPECIFIED = 0
2420
+
2421
+ # No automatic server certificate rotation. The user must [manage server
2422
+ # certificate
2423
+ # rotation](/sql/docs/mysql/manage-ssl-instance#rotate-server-certificate-cas)
2424
+ # on their side.
2425
+ NO_AUTOMATIC_ROTATION = 1
2426
+
2427
+ # Automatic server certificate rotation during Cloud SQL scheduled
2428
+ # maintenance or self-service maintenance updates. Requires
2429
+ # `server_ca_mode` to be `GOOGLE_MANAGED_CAS_CA` or
2430
+ # `CUSTOMER_MANAGED_CAS_CA`.
2431
+ AUTOMATIC_ROTATION_DURING_MAINTENANCE = 2
2432
+ end
2433
+ end
2434
+
2435
+ # PSC settings for a Cloud SQL instance.
2436
+ # @!attribute [rw] psc_enabled
2437
+ # @return [::Boolean]
2438
+ # Whether PSC connectivity is enabled for this instance.
2439
+ # @!attribute [rw] allowed_consumer_projects
2440
+ # @return [::Array<::String>]
2441
+ # Optional. The list of consumer projects that are allow-listed for PSC
2442
+ # connections to this instance. This instance can be connected to with PSC
2443
+ # from any network in these projects.
2444
+ #
2445
+ # Each consumer project in this list may be represented by a project number
2446
+ # (numeric) or by a project id (alphanumeric).
2447
+ # @!attribute [rw] psc_auto_connections
2448
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::PscAutoConnectionConfig>]
2449
+ # Optional. The list of settings for requested Private Service Connect
2450
+ # consumer endpoints that can be used to connect to this Cloud SQL instance.
2451
+ # @!attribute [rw] network_attachment_uri
2452
+ # @return [::String]
2453
+ # Optional. The network attachment of the consumer network that the
2454
+ # Private Service Connect enabled Cloud SQL instance is
2455
+ # authorized to connect via PSC interface.
2456
+ # format: projects/PROJECT/regions/REGION/networkAttachments/ID
2457
+ # @!attribute [rw] psc_auto_dns_enabled
2458
+ # @return [::Boolean]
2459
+ # Optional. Indicates whether Private Service Connect DNS automation is
2460
+ # enabled for this instance. When enabled, Cloud SQL provisions a universal
2461
+ # DNS record across all networks configured with Private Service Connect
2462
+ # auto-connections. This will default to true for new instances when
2463
+ # Private Service Connect is enabled.
2464
+ # @!attribute [rw] psc_write_endpoint_dns_enabled
2465
+ # @return [::Boolean]
2466
+ # Optional. Indicates whether Private Service Connect write endpoint DNS
2467
+ # automation is enabled for this instance. When enabled, Cloud SQL provisions
2468
+ # a universal global DNS record across all networks configured with Private
2469
+ # Service Connect auto-connections that points to the cluster primary
2470
+ # instance. This feature is only supported for Enterprise Plus edition. This
2471
+ # will default to true for new enterprise plus instances when
2472
+ # `psc_auto_dns_enabled` is enabled.
2473
+ # @!attribute [rw] psc_auto_connection_policy_enabled
2474
+ # @return [::Boolean]
2475
+ # Optional. Whether to set up the PSC service connection policy
2476
+ # automatically.
2477
+ class PscConfig
2478
+ include ::Google::Protobuf::MessageExts
2479
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2480
+ end
2481
+
2482
+ # Settings for an automatically-setup Private Service Connect consumer endpoint
2483
+ # that is used to connect to a Cloud SQL instance.
2484
+ # @!attribute [rw] consumer_project
2485
+ # @return [::String]
2486
+ # Optional. This is the project ID of consumer service project of this
2487
+ # consumer endpoint.
2488
+ #
2489
+ # Optional. This is only applicable if consumer_network is a shared vpc
2490
+ # network.
2491
+ # @!attribute [rw] consumer_network
2492
+ # @return [::String]
2493
+ # Optional. The consumer network of this consumer endpoint. This must be a
2494
+ # resource path that includes both the host project and the network name.
2495
+ #
2496
+ # For example, `projects/project1/global/networks/network1`.
2497
+ #
2498
+ # The consumer host project of this network might be different from the
2499
+ # consumer service project.
2500
+ # @!attribute [rw] ip_address
2501
+ # @return [::String]
2502
+ # The IP address of the consumer endpoint.
2503
+ # @!attribute [rw] status
2504
+ # @return [::String]
2505
+ # The connection status of the consumer endpoint.
2506
+ # @!attribute [rw] consumer_network_status
2507
+ # @return [::String]
2508
+ # The connection policy status of the consumer network.
2509
+ # @!attribute [r] service_connection_policy
2510
+ # @return [::String]
2511
+ # Output only. The service connection policy created automatically for the
2512
+ # consumer network when `psc_auto_connection_policy_enabled` is true. It is
2513
+ # in the format of:
2514
+ # `projects/{project}/regions/{region}/serviceConnectionPolicies/{policy_id}`
2515
+ # The `policy_id` is in format of `$NETWORK-$RANDOM`.
2516
+ # @!attribute [r] service_connection_policy_creation_result
2517
+ # @return [::String]
2518
+ # Output only. The status of service connection policy creation.
2519
+ # @!attribute [r] instance_auto_dns_status
2520
+ # @return [::Google::Cloud::Sql::V1beta4::AutoDnsStatus]
2521
+ # Output only. The status of automated DNS provisioning.
2522
+ # @!attribute [r] write_endpoint_auto_dns_status
2523
+ # @return [::Google::Cloud::Sql::V1beta4::AutoDnsStatus]
2524
+ # Output only. The status of automated DNS provisioning for the write
2525
+ # endpoint.
2526
+ class PscAutoConnectionConfig
2527
+ include ::Google::Protobuf::MessageExts
2528
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2529
+ end
2530
+
2531
+ # Database instance IP mapping
2532
+ # @!attribute [rw] type
2533
+ # @return [::Google::Cloud::Sql::V1beta4::SqlIpAddressType]
2534
+ # The type of this IP address. A `PRIMARY` address is a public address that
2535
+ # can accept incoming connections. A `PRIVATE` address is a private address
2536
+ # that can accept incoming connections. An `OUTGOING` address is the source
2537
+ # address of connections originating from the instance, if supported.
2538
+ # @!attribute [rw] ip_address
2539
+ # @return [::String]
2540
+ # The IP address assigned.
2541
+ # @!attribute [rw] time_to_retire
2542
+ # @return [::Google::Protobuf::Timestamp]
2543
+ # The due time for this IP to be retired in
2544
+ # [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
2545
+ # `2012-11-15T16:19:00.094Z`. This field is only available when
2546
+ # the IP is scheduled to be retired.
2547
+ class IpMapping
2548
+ include ::Google::Protobuf::MessageExts
2549
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2550
+ end
2551
+
2552
+ # Preferred location. This specifies where a Cloud SQL instance is located.
2553
+ # Note that if the preferred location is not available, the instance will be
2554
+ # located as close as possible within the region. Only one location may be
2555
+ # specified.
2556
+ # @!attribute [rw] follow_gae_application
2557
+ # @deprecated This field is deprecated and may be removed in the next major version update.
2558
+ # @return [::String]
2559
+ # The App Engine application to follow, it must be in the same region as the
2560
+ # Cloud SQL instance. WARNING: Changing this might restart the instance.
2561
+ # @!attribute [rw] zone
2562
+ # @return [::String]
2563
+ # The preferred Compute Engine zone (for example: us-central1-a,
2564
+ # us-central1-b, etc.). WARNING: Changing this might restart the instance.
2565
+ # @!attribute [rw] secondary_zone
2566
+ # @return [::String]
2567
+ # The preferred Compute Engine zone for the secondary/failover
2568
+ # (for example: us-central1-a, us-central1-b, etc.).
2569
+ # To disable this field, set it to 'no_secondary_zone'.
2570
+ # @!attribute [rw] kind
2571
+ # @return [::String]
2572
+ # This is always `sql#locationPreference`.
2573
+ class LocationPreference
2574
+ include ::Google::Protobuf::MessageExts
2575
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2576
+ end
2577
+
2578
+ # Maintenance window. This specifies when a Cloud SQL instance
2579
+ # is restarted for system maintenance purposes.
2580
+ # @!attribute [rw] hour
2581
+ # @return [::Google::Protobuf::Int32Value]
2582
+ # Hour of day - 0 to 23. Specify in the UTC time zone.
2583
+ # @!attribute [rw] day
2584
+ # @return [::Google::Protobuf::Int32Value]
2585
+ # Day of week - `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`,
2586
+ # `SATURDAY`, or `SUNDAY`. Specify in the UTC time zone.
2587
+ # Returned in output as an integer, 1 to 7, where `1` equals Monday.
2588
+ # @!attribute [rw] update_track
2589
+ # @return [::Google::Cloud::Sql::V1beta4::SqlUpdateTrack]
2590
+ # Maintenance timing settings: `canary`, `stable`, or `week5`.
2591
+ # For more information, see [About maintenance on Cloud SQL
2592
+ # instances](https://cloud.google.com/sql/docs/mysql/maintenance).
2593
+ # @!attribute [rw] kind
2594
+ # @return [::String]
2595
+ # This is always `sql#maintenanceWindow`.
2596
+ class MaintenanceWindow
2597
+ include ::Google::Protobuf::MessageExts
2598
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2599
+ end
2600
+
2601
+ # Deny Maintenance Periods. This specifies a date range during when all CSA
2602
+ # rollout will be denied.
2603
+ # @!attribute [rw] start_date
2604
+ # @return [::String]
2605
+ # "deny maintenance period" start date. If the year of the start date is
2606
+ # empty, the year of the end date also must be empty. In this case, it means
2607
+ # the deny maintenance period recurs every year. The date is in format
2608
+ # yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01
2609
+ # @!attribute [rw] end_date
2610
+ # @return [::String]
2611
+ # "deny maintenance period" end date. If the year of the end date is empty,
2612
+ # the year of the start date also must be empty. In this case, it means the
2613
+ # deny maintenance period recurs every year. The date is in format yyyy-mm-dd
2614
+ # i.e., 2020-11-01, or mm-dd, i.e., 11-01
2615
+ # @!attribute [rw] time
2616
+ # @return [::String]
2617
+ # Time in UTC when the "deny maintenance period" starts on start_date and
2618
+ # ends on end_date. The time is in format: HH:mm:SS, i.e., 00:00:00
2619
+ class DenyMaintenancePeriod
2620
+ include ::Google::Protobuf::MessageExts
2621
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2622
+ end
2623
+
2624
+ # Insights configuration. This specifies when Cloud SQL Insights feature is
2625
+ # enabled and optional configuration.
2626
+ # @!attribute [rw] query_insights_enabled
2627
+ # @return [::Boolean]
2628
+ # Whether Query Insights feature is enabled.
2629
+ # @!attribute [rw] record_client_address
2630
+ # @return [::Boolean]
2631
+ # Whether Query Insights will record client address when enabled.
2632
+ # @!attribute [rw] record_application_tags
2633
+ # @return [::Boolean]
2634
+ # Whether Query Insights will record application tags from query when
2635
+ # enabled.
2636
+ # @!attribute [rw] query_string_length
2637
+ # @return [::Google::Protobuf::Int32Value]
2638
+ # Maximum query length stored in bytes. Default value: 1024 bytes.
2639
+ # Range: 256-4500 bytes. Query lengths greater than this field value will be
2640
+ # truncated to this value. When unset, query length will be the default
2641
+ # value. Changing query length will restart the database.
2642
+ # @!attribute [rw] query_plans_per_minute
2643
+ # @return [::Google::Protobuf::Int32Value]
2644
+ # Number of query execution plans captured by Insights per minute
2645
+ # for all queries combined. Default is 5.
2646
+ # @!attribute [rw] enhanced_query_insights_enabled
2647
+ # @return [::Google::Protobuf::BoolValue]
2648
+ # Optional. Whether enhanced query insights feature is enabled.
2649
+ class InsightsConfig
2650
+ include ::Google::Protobuf::MessageExts
2651
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2652
+ end
2653
+
2654
+ # Read-replica configuration specific to MySQL databases.
2655
+ # @!attribute [rw] dump_file_path
2656
+ # @return [::String]
2657
+ # Path to a SQL dump file in Google Cloud Storage from which the replica
2658
+ # instance is to be created. The URI is in the form gs://bucketName/fileName.
2659
+ # Compressed gzip files (.gz) are also supported.
2660
+ # Dumps have the binlog co-ordinates from which replication
2661
+ # begins. This can be accomplished by setting --master-data to 1 when using
2662
+ # mysqldump.
2663
+ # @!attribute [rw] username
2664
+ # @return [::String]
2665
+ # The username for the replication connection.
2666
+ # @!attribute [rw] password
2667
+ # @return [::String]
2668
+ # The password for the replication connection.
2669
+ # @!attribute [rw] connect_retry_interval
2670
+ # @return [::Google::Protobuf::Int32Value]
2671
+ # Seconds to wait between connect retries. MySQL's default is 60 seconds.
2672
+ # @!attribute [rw] master_heartbeat_period
2673
+ # @return [::Google::Protobuf::Int64Value]
2674
+ # Interval in milliseconds between replication heartbeats.
2675
+ # @!attribute [rw] ca_certificate
2676
+ # @return [::String]
2677
+ # PEM representation of the trusted CA's x509 certificate.
2678
+ # @!attribute [rw] client_certificate
2679
+ # @return [::String]
2680
+ # PEM representation of the replica's x509 certificate.
2681
+ # @!attribute [rw] client_key
2682
+ # @return [::String]
2683
+ # PEM representation of the replica's private key. The corresponding public
2684
+ # key is encoded in the client's certificate.
2685
+ # @!attribute [rw] ssl_cipher
2686
+ # @return [::String]
2687
+ # A list of permissible ciphers to use for SSL encryption.
2688
+ # @!attribute [rw] verify_server_certificate
2689
+ # @return [::Google::Protobuf::BoolValue]
2690
+ # Whether or not to check the primary instance's Common Name value in the
2691
+ # certificate that it sends during the SSL handshake.
2692
+ # @!attribute [rw] kind
2693
+ # @return [::String]
2694
+ # This is always `sql#mysqlReplicaConfiguration`.
2695
+ class MySqlReplicaConfiguration
2696
+ include ::Google::Protobuf::MessageExts
2697
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2698
+ end
2699
+
2700
+ # A list of objects that the user selects for replication from an external
2701
+ # source instance.
2702
+ # @!attribute [rw] database
2703
+ # @return [::String]
2704
+ # Required. The name of the database to migrate.
2705
+ class SelectedObjects
2706
+ include ::Google::Protobuf::MessageExts
2707
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2708
+ end
2709
+
2710
+ # On-premises instance configuration.
2711
+ # @!attribute [rw] host_port
2712
+ # @return [::String]
2713
+ # The host and port of the on-premises instance in host:port format
2714
+ # @!attribute [rw] kind
2715
+ # @return [::String]
2716
+ # This is always `sql#onPremisesConfiguration`.
2717
+ # @!attribute [rw] username
2718
+ # @return [::String]
2719
+ # The username for connecting to on-premises instance.
2720
+ # @!attribute [rw] password
2721
+ # @return [::String]
2722
+ # The password for connecting to on-premises instance.
2723
+ # @!attribute [rw] ca_certificate
2724
+ # @return [::String]
2725
+ # PEM representation of the trusted CA's x509 certificate.
2726
+ # @!attribute [rw] client_certificate
2727
+ # @return [::String]
2728
+ # PEM representation of the replica's x509 certificate.
2729
+ # @!attribute [rw] client_key
2730
+ # @return [::String]
2731
+ # PEM representation of the replica's private key. The corresponding public
2732
+ # key is encoded in the client's certificate.
2733
+ # @!attribute [rw] dump_file_path
2734
+ # @return [::String]
2735
+ # The dump file to create the Cloud SQL replica.
2736
+ # @!attribute [rw] source_instance
2737
+ # @return [::Google::Cloud::Sql::V1beta4::InstanceReference]
2738
+ # The reference to Cloud SQL instance if the source is Cloud SQL.
2739
+ # @!attribute [rw] selected_objects
2740
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::SelectedObjects>]
2741
+ # Optional. A list of objects that the user selects for replication from an
2742
+ # external source instance.
2743
+ # @!attribute [rw] ssl_option
2744
+ # @return [::Google::Cloud::Sql::V1beta4::OnPremisesConfiguration::SslOption]
2745
+ # Optional. SslOption for replica connection to the on-premises source.
2746
+ # @!attribute [r] dms_managed
2747
+ # @return [::Boolean]
2748
+ # Output only. Indicates whether the resource is managed by Database
2749
+ # Migration Service.
2750
+ class OnPremisesConfiguration
2751
+ include ::Google::Protobuf::MessageExts
2752
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2753
+
2754
+ # SslOption defines the SSL mode to be used for replica connection to the
2755
+ # on-premises source.
2756
+ module SslOption
2757
+ # Unknown SSL option i.e. SSL option not specified by user.
2758
+ SSL_OPTION_UNSPECIFIED = 0
2759
+
2760
+ # SSL is disabled for replica connection to the on-premises source.
2761
+ DISABLE = 1
2762
+
2763
+ # SSL is required for replica connection to the on-premises source.
2764
+ REQUIRE = 2
2765
+
2766
+ # Verify CA is required for replica connection to the on-premises source.
2767
+ VERIFY_CA = 3
2768
+ end
2769
+ end
2770
+
2771
+ # Disk encryption configuration for an instance.
2772
+ # @!attribute [rw] kms_key_name
2773
+ # @return [::String]
2774
+ # Resource name of KMS key for disk encryption
2775
+ # @!attribute [rw] kind
2776
+ # @return [::String]
2777
+ # This is always `sql#diskEncryptionConfiguration`.
2778
+ class DiskEncryptionConfiguration
2779
+ include ::Google::Protobuf::MessageExts
2780
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2781
+ end
2782
+
2783
+ # Disk encryption status for an instance.
2784
+ # @!attribute [rw] kms_key_version_name
2785
+ # @return [::String]
2786
+ # KMS key version used to encrypt the Cloud SQL instance resource
2787
+ # @!attribute [rw] kind
2788
+ # @return [::String]
2789
+ # This is always `sql#diskEncryptionStatus`.
2790
+ class DiskEncryptionStatus
2791
+ include ::Google::Protobuf::MessageExts
2792
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2793
+ end
2794
+
2795
+ # The sub operation type based on the operation type.
2796
+ # @!attribute [rw] maintenance_type
2797
+ # @return [::Google::Cloud::Sql::V1beta4::SqlMaintenanceType]
2798
+ # The type of maintenance to be performed on the instance.
2799
+ class SqlSubOperationType
2800
+ include ::Google::Protobuf::MessageExts
2801
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2802
+ end
2803
+
2804
+ # An Operation resource.&nbsp;For successful operations that return an
2805
+ # Operation resource, only the fields relevant to the operation are populated
2806
+ # in the resource.
2807
+ # @!attribute [rw] kind
2808
+ # @return [::String]
2809
+ # This is always `sql#operation`.
2810
+ # @!attribute [rw] target_link
2811
+ # @return [::String]
2812
+ # @!attribute [rw] status
2813
+ # @return [::Google::Cloud::Sql::V1beta4::Operation::SqlOperationStatus]
2814
+ # The status of an operation.
2815
+ # @!attribute [rw] user
2816
+ # @return [::String]
2817
+ # The email address of the user who initiated this operation.
2818
+ # @!attribute [rw] insert_time
2819
+ # @return [::Google::Protobuf::Timestamp]
2820
+ # The time this operation was enqueued in UTC timezone in
2821
+ # [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
2822
+ # `2012-11-15T16:19:00.094Z`.
2823
+ # @!attribute [rw] start_time
2824
+ # @return [::Google::Protobuf::Timestamp]
2825
+ # The time this operation actually started in UTC timezone in
2826
+ # [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
2827
+ # `2012-11-15T16:19:00.094Z`.
2828
+ # @!attribute [rw] end_time
2829
+ # @return [::Google::Protobuf::Timestamp]
2830
+ # The time this operation finished in UTC timezone in
2831
+ # [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
2832
+ # `2012-11-15T16:19:00.094Z`.
2833
+ # @!attribute [rw] error
2834
+ # @return [::Google::Cloud::Sql::V1beta4::OperationErrors]
2835
+ # If errors occurred during processing of this operation, this field will be
2836
+ # populated.
2837
+ # @!attribute [rw] api_warning
2838
+ # @return [::Google::Cloud::Sql::V1beta4::ApiWarning]
2839
+ # An Admin API warning message.
2840
+ # @!attribute [rw] operation_type
2841
+ # @return [::Google::Cloud::Sql::V1beta4::Operation::SqlOperationType]
2842
+ # The type of the operation. Valid values are:
2843
+ # * `CREATE`
2844
+ # * `DELETE`
2845
+ # * `UPDATE`
2846
+ # * `RESTART`
2847
+ # * `IMPORT`
2848
+ # * `EXPORT`
2849
+ # * `BACKUP_VOLUME`
2850
+ # * `RESTORE_VOLUME`
2851
+ # * `CREATE_USER`
2852
+ # * `DELETE_USER`
2853
+ # * `CREATE_DATABASE`
2854
+ # * `DELETE_DATABASE`
2855
+ # @!attribute [rw] import_context
2856
+ # @return [::Google::Cloud::Sql::V1beta4::ImportContext]
2857
+ # The context for import operation, if applicable.
2858
+ # @!attribute [rw] export_context
2859
+ # @return [::Google::Cloud::Sql::V1beta4::ExportContext]
2860
+ # The context for export operation, if applicable.
2861
+ # @!attribute [rw] backup_context
2862
+ # @return [::Google::Cloud::Sql::V1beta4::BackupContext]
2863
+ # The context for backup operation, if applicable.
2864
+ # @!attribute [rw] pre_check_major_version_upgrade_context
2865
+ # @return [::Google::Cloud::Sql::V1beta4::PreCheckMajorVersionUpgradeContext]
2866
+ # The context for pre-check major version upgrade operation, if applicable.
2867
+ # This field is only populated when the operation_type is
2868
+ # PRE_CHECK_MAJOR_VERSION_UPGRADE.
2869
+ # The PreCheckMajorVersionUpgradeContext message itself contains the details
2870
+ # for that pre-check, such as the target database version for the upgrade
2871
+ # and the results of the check (including any warnings or errors found).
2872
+ # @!attribute [rw] name
2873
+ # @return [::String]
2874
+ # An identifier that uniquely identifies the operation. You can use this
2875
+ # identifier to retrieve the Operations resource that has information about
2876
+ # the operation.
2877
+ # @!attribute [rw] target_id
2878
+ # @return [::String]
2879
+ # Name of the resource on which this operation runs.
2880
+ # @!attribute [rw] self_link
2881
+ # @return [::String]
2882
+ # The URI of this resource.
2883
+ # @!attribute [rw] target_project
2884
+ # @return [::String]
2885
+ # The project ID of the target instance related to this operation.
2886
+ # @!attribute [rw] acquire_ssrs_lease_context
2887
+ # @return [::Google::Cloud::Sql::V1beta4::AcquireSsrsLeaseContext]
2888
+ # The context for acquire SSRS lease operation, if applicable.
2889
+ # @!attribute [rw] sub_operation_type
2890
+ # @return [::Google::Cloud::Sql::V1beta4::SqlSubOperationType]
2891
+ # Optional. The sub operation based on the operation type.
2892
+ class Operation
2893
+ include ::Google::Protobuf::MessageExts
2894
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2895
+
2896
+ # The type of Cloud SQL operation.
2897
+ module SqlOperationType
2898
+ # Unknown operation type.
2899
+ SQL_OPERATION_TYPE_UNSPECIFIED = 0
2900
+
2901
+ # Imports data into a Cloud SQL instance.
2902
+ IMPORT = 1
2903
+
2904
+ # Exports data from a Cloud SQL instance to a Cloud Storage
2905
+ # bucket.
2906
+ EXPORT = 2
2907
+
2908
+ # Creates a new Cloud SQL instance.
2909
+ CREATE = 3
2910
+
2911
+ # Updates the settings of a Cloud SQL instance.
2912
+ UPDATE = 4
2913
+
2914
+ # Deletes a Cloud SQL instance.
2915
+ DELETE = 5
2916
+
2917
+ # Restarts the Cloud SQL instance.
2918
+ RESTART = 6
2919
+
2920
+ BACKUP = 7
2921
+
2922
+ SNAPSHOT = 8
2923
+
2924
+ # Performs instance backup.
2925
+ BACKUP_VOLUME = 9
2926
+
2927
+ # Deletes an instance backup.
2928
+ DELETE_VOLUME = 10
2929
+
2930
+ # Restores an instance backup.
2931
+ RESTORE_VOLUME = 11
2932
+
2933
+ # Injects a privileged user in mysql for MOB instances.
2934
+ INJECT_USER = 12
2935
+
2936
+ # Clones a Cloud SQL instance.
2937
+ CLONE = 14
2938
+
2939
+ # Stops replication on a Cloud SQL read replica instance.
2940
+ STOP_REPLICA = 15
2941
+
2942
+ # Starts replication on a Cloud SQL read replica instance.
2943
+ START_REPLICA = 16
2944
+
2945
+ # Promotes a Cloud SQL replica instance.
2946
+ PROMOTE_REPLICA = 17
2947
+
2948
+ # Creates a Cloud SQL replica instance.
2949
+ CREATE_REPLICA = 18
2950
+
2951
+ # Creates a new user in a Cloud SQL instance.
2952
+ CREATE_USER = 19
2953
+
2954
+ # Deletes a user from a Cloud SQL instance.
2955
+ DELETE_USER = 20
2956
+
2957
+ # Updates an existing user in a Cloud SQL instance. If a user with the
2958
+ # specified username doesn't exist, a new user is created.
2959
+ UPDATE_USER = 21
2960
+
2961
+ # Creates a database in the Cloud SQL instance.
2962
+ CREATE_DATABASE = 22
2963
+
2964
+ # Deletes a database in the Cloud SQL instance.
2965
+ DELETE_DATABASE = 23
2966
+
2967
+ # Updates a database in the Cloud SQL instance.
2968
+ UPDATE_DATABASE = 24
2969
+
2970
+ # Performs failover of an HA-enabled Cloud SQL
2971
+ # failover replica.
2972
+ FAILOVER = 25
2973
+
2974
+ # Deletes the backup taken by a backup run.
2975
+ DELETE_BACKUP = 26
2976
+
2977
+ RECREATE_REPLICA = 27
2978
+
2979
+ # Truncates a general or slow log table in MySQL.
2980
+ TRUNCATE_LOG = 28
2981
+
2982
+ # Demotes the stand-alone instance to be a Cloud SQL
2983
+ # read replica for an external database server.
2984
+ DEMOTE_MASTER = 29
2985
+
2986
+ # Indicates that the instance is currently in maintenance. Maintenance
2987
+ # typically causes the instance to be unavailable for 1-3 minutes.
2988
+ MAINTENANCE = 30
2989
+
2990
+ # This field is deprecated, and will be removed in future version of API.
2991
+ ENABLE_PRIVATE_IP = 31
2992
+
2993
+ DEFER_MAINTENANCE = 32
2994
+
2995
+ # Creates clone instance.
2996
+ CREATE_CLONE = 33
2997
+
2998
+ # Reschedule maintenance to another time.
2999
+ RESCHEDULE_MAINTENANCE = 34
3000
+
3001
+ # Starts external sync of a Cloud SQL EM replica to an external primary
3002
+ # instance.
3003
+ START_EXTERNAL_SYNC = 35
3004
+
3005
+ # Recovers logs from an instance's old data disk.
3006
+ LOG_CLEANUP = 36
3007
+
3008
+ # Performs auto-restart of an HA-enabled Cloud SQL database for auto
3009
+ # recovery.
3010
+ AUTO_RESTART = 37
3011
+
3012
+ # Re-encrypts CMEK instances with latest key version.
3013
+ REENCRYPT = 38
3014
+
3015
+ # Switches the roles of the primary and replica pair. The target instance
3016
+ # should be the replica.
3017
+ SWITCHOVER = 39
3018
+
3019
+ # Update a backup.
3020
+ UPDATE_BACKUP = 40
3021
+
3022
+ # Acquire a lease for the setup of SQL Server Reporting Services (SSRS).
3023
+ ACQUIRE_SSRS_LEASE = 42
3024
+
3025
+ # Release a lease for the setup of SQL Server Reporting Services (SSRS).
3026
+ RELEASE_SSRS_LEASE = 43
3027
+
3028
+ # Reconfigures old primary after a promote replica operation. Effect of a
3029
+ # promote operation to the old primary is executed in this operation,
3030
+ # asynchronously from the promote replica operation executed to the
3031
+ # replica.
3032
+ RECONFIGURE_OLD_PRIMARY = 44
3033
+
3034
+ # Indicates that the instance, its read replicas, and its cascading
3035
+ # replicas are in maintenance. Maintenance typically gets initiated on
3036
+ # groups of replicas first, followed by the primary instance. For each
3037
+ # instance, maintenance typically causes the instance to be unavailable for
3038
+ # 1-3 minutes.
3039
+ CLUSTER_MAINTENANCE = 45
3040
+
3041
+ # Indicates that the instance (and any of its replicas) are currently in
3042
+ # maintenance. This is initiated as a self-service request by using SSM.
3043
+ # Maintenance typically causes the instance to be unavailable for 1-3
3044
+ # minutes.
3045
+ SELF_SERVICE_MAINTENANCE = 46
3046
+
3047
+ # Switches a primary instance to a replica. This operation runs as part of
3048
+ # a switchover operation to the original primary instance.
3049
+ SWITCHOVER_TO_REPLICA = 47
3050
+
3051
+ # Updates the major version of a Cloud SQL instance.
3052
+ MAJOR_VERSION_UPGRADE = 48
3053
+
3054
+ # Deprecated: ADVANCED_BACKUP is deprecated. Use ENHANCED_BACKUP instead.
3055
+ ADVANCED_BACKUP = 49
3056
+
3057
+ # Changes the BackupTier of a Cloud SQL instance.
3058
+ MANAGE_BACKUP = 50
3059
+
3060
+ # Creates a backup for an Enhanced BackupTier Cloud SQL instance.
3061
+ ENHANCED_BACKUP = 51
3062
+
3063
+ # Repairs entire read pool or specified read pool nodes in the read pool.
3064
+ REPAIR_READ_POOL = 52
3065
+
3066
+ # Creates a Cloud SQL read pool instance.
3067
+ CREATE_READ_POOL = 53
3068
+
3069
+ # Pre-checks for major version upgrade.
3070
+ PRE_CHECK_MAJOR_VERSION_UPGRADE = 54
3071
+
3072
+ # This operation type represents individual steps in a multi-step setup
3073
+ # migration workflow: including configuration, replication,
3074
+ # switchover/back, and data reseeding, as defined by operation's intent.
3075
+ SETUP_MIGRATION = 58
3076
+
3077
+ # Sends a message to a Cloud SQL agent.
3078
+ AGENT_SEND_MESSAGE = 59
3079
+ end
3080
+
3081
+ # The status of an operation.
3082
+ module SqlOperationStatus
3083
+ # The state of the operation is unknown.
3084
+ SQL_OPERATION_STATUS_UNSPECIFIED = 0
3085
+
3086
+ # The operation has been queued, but has not started yet.
3087
+ PENDING = 1
3088
+
3089
+ # The operation is running.
3090
+ RUNNING = 2
3091
+
3092
+ # The operation completed.
3093
+ DONE = 3
3094
+ end
3095
+ end
3096
+
3097
+ # Database instance operation error.
3098
+ # @!attribute [rw] kind
3099
+ # @return [::String]
3100
+ # This is always `sql#operationError`.
3101
+ # @!attribute [rw] code
3102
+ # @return [::String]
3103
+ # Identifies the specific error that occurred.
3104
+ # @!attribute [rw] message
3105
+ # @return [::String]
3106
+ # Additional information about the error encountered.
3107
+ class OperationError
3108
+ include ::Google::Protobuf::MessageExts
3109
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3110
+ end
3111
+
3112
+ # Database instance operation errors list wrapper.
3113
+ # @!attribute [rw] kind
3114
+ # @return [::String]
3115
+ # This is always `sql#operationErrors`.
3116
+ # @!attribute [rw] errors
3117
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::OperationError>]
3118
+ # The list of errors encountered while processing this operation.
3119
+ class OperationErrors
3120
+ include ::Google::Protobuf::MessageExts
3121
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3122
+ end
3123
+
3124
+ # Database instance local user password validation policy.
3125
+ # This message defines the password policy for local database users.
3126
+ # When enabled, it enforces constraints on password complexity, length,
3127
+ # and reuse. Keep this policy enabled to help prevent unauthorized access.
3128
+ # @!attribute [rw] min_length
3129
+ # @return [::Google::Protobuf::Int32Value]
3130
+ # Minimum number of characters allowed.
3131
+ # @!attribute [rw] complexity
3132
+ # @return [::Google::Cloud::Sql::V1beta4::PasswordValidationPolicy::Complexity]
3133
+ # The complexity of the password.
3134
+ # @!attribute [rw] reuse_interval
3135
+ # @return [::Google::Protobuf::Int32Value]
3136
+ # Number of previous passwords that cannot be reused.
3137
+ # @!attribute [rw] disallow_username_substring
3138
+ # @return [::Google::Protobuf::BoolValue]
3139
+ # Disallow username as a part of the password.
3140
+ # @!attribute [rw] password_change_interval
3141
+ # @return [::Google::Protobuf::Duration]
3142
+ # Minimum interval after which the password can be changed. This flag is only
3143
+ # supported for PostgreSQL.
3144
+ # @!attribute [rw] enable_password_policy
3145
+ # @return [::Google::Protobuf::BoolValue]
3146
+ # Whether to enable the password policy or not. When enabled, passwords must
3147
+ # meet complexity requirements. Keep this policy enabled to help prevent
3148
+ # unauthorized access. Disabling this policy allows weak passwords.
3149
+ # @!attribute [rw] disallow_compromised_credentials
3150
+ # @deprecated This field is deprecated and may be removed in the next major version update.
3151
+ # @return [::Google::Protobuf::BoolValue]
3152
+ # This field is deprecated and will be removed in a future version of the
3153
+ # API.
3154
+ class PasswordValidationPolicy
3155
+ include ::Google::Protobuf::MessageExts
3156
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3157
+
3158
+ # The complexity choices of the password.
3159
+ module Complexity
3160
+ # Complexity check is not specified.
3161
+ COMPLEXITY_UNSPECIFIED = 0
3162
+
3163
+ # A combination of lowercase, uppercase, numeric, and non-alphanumeric
3164
+ # characters.
3165
+ COMPLEXITY_DEFAULT = 1
3166
+ end
3167
+ end
3168
+
3169
+ # Operations list response.
3170
+ # @!attribute [rw] kind
3171
+ # @return [::String]
3172
+ # This is always `sql#operationsList`.
3173
+ # @!attribute [rw] items
3174
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::Operation>]
3175
+ # List of operation resources.
3176
+ # @!attribute [rw] next_page_token
3177
+ # @return [::String]
3178
+ # The continuation token, used to page through large result sets. Provide
3179
+ # this value in a subsequent request to return the next page of results.
3180
+ class OperationsListResponse
3181
+ include ::Google::Protobuf::MessageExts
3182
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3183
+ end
3184
+
3185
+ # Read-replica configuration for connecting to the primary instance.
3186
+ # @!attribute [rw] kind
3187
+ # @return [::String]
3188
+ # This is always `sql#replicaConfiguration`.
3189
+ # @!attribute [rw] mysql_replica_configuration
3190
+ # @return [::Google::Cloud::Sql::V1beta4::MySqlReplicaConfiguration]
3191
+ # MySQL specific configuration when replicating from a MySQL on-premises
3192
+ # primary instance. Replication configuration information such as the
3193
+ # username, password, certificates, and keys are not stored in the instance
3194
+ # metadata. The configuration information is used only to set up the
3195
+ # replication connection and is stored by MySQL in a file named
3196
+ # `master.info` in the data directory.
3197
+ # @!attribute [rw] failover_target
3198
+ # @return [::Google::Protobuf::BoolValue]
3199
+ # Specifies if the replica is the failover target. If the field is set to
3200
+ # `true` the replica will be designated as a failover replica. In case the
3201
+ # primary instance fails, the replica instance will be promoted as the new
3202
+ # primary instance. Only one replica can be specified as failover target, and
3203
+ # the replica has to be in different zone with the primary instance.
3204
+ # @!attribute [rw] cascadable_replica
3205
+ # @return [::Google::Protobuf::BoolValue]
3206
+ # Optional. Specifies if a SQL Server replica is a cascadable replica. A
3207
+ # cascadable replica is a SQL Server cross region replica that supports
3208
+ # replica(s) under it.
3209
+ class ReplicaConfiguration
3210
+ include ::Google::Protobuf::MessageExts
3211
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3212
+ end
3213
+
3214
+ # Database instance restore from backup context.
3215
+ # Backup context contains source instance id and project id.
3216
+ # @!attribute [rw] kind
3217
+ # @return [::String]
3218
+ # This is always `sql#restoreBackupContext`.
3219
+ # @!attribute [rw] backup_run_id
3220
+ # @return [::Integer]
3221
+ # The ID of the backup run to restore from.
3222
+ # @!attribute [rw] instance_id
3223
+ # @return [::String]
3224
+ # The ID of the instance that the backup was taken from.
3225
+ # @!attribute [rw] project
3226
+ # @return [::String]
3227
+ # The full project ID of the source instance.
3228
+ class RestoreBackupContext
3229
+ include ::Google::Protobuf::MessageExts
3230
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3231
+ end
3232
+
3233
+ # Instance rotate server CA context.
3234
+ # @!attribute [rw] kind
3235
+ # @return [::String]
3236
+ # This is always `sql#rotateServerCaContext`.
3237
+ # @!attribute [rw] next_version
3238
+ # @return [::String]
3239
+ # The fingerprint of the next version to be rotated to. If left unspecified,
3240
+ # will be rotated to the most recently added server CA version.
3241
+ class RotateServerCaContext
3242
+ include ::Google::Protobuf::MessageExts
3243
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3244
+ end
3245
+
3246
+ # Instance rotate server certificate context.
3247
+ # @!attribute [rw] kind
3248
+ # @return [::String]
3249
+ # Optional. This is always `sql#rotateServerCertificateContext`.
3250
+ # @!attribute [rw] next_version
3251
+ # @return [::String]
3252
+ # Optional. The fingerprint of the next version to be rotated to. If left
3253
+ # unspecified, will be rotated to the most recently added server certificate
3254
+ # version.
3255
+ class RotateServerCertificateContext
3256
+ include ::Google::Protobuf::MessageExts
3257
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3258
+ end
3259
+
3260
+ # Instance rotate Entra ID certificate context.
3261
+ # @!attribute [rw] kind
3262
+ # @return [::String]
3263
+ # Optional. This is always `sql#rotateEntraIdCertificateContext`.
3264
+ # @!attribute [rw] next_version
3265
+ # @return [::String]
3266
+ # Optional. The fingerprint of the next version to be rotated to. If left
3267
+ # unspecified, will be rotated to the most recently added Entra ID
3268
+ # certificate version.
3269
+ class RotateEntraIdCertificateContext
3270
+ include ::Google::Protobuf::MessageExts
3271
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3272
+ end
3273
+
3274
+ # Data cache configurations.
3275
+ # @!attribute [rw] data_cache_enabled
3276
+ # @return [::Boolean]
3277
+ # Whether data cache is enabled for the instance.
3278
+ class DataCacheConfig
3279
+ include ::Google::Protobuf::MessageExts
3280
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3281
+ end
3282
+
3283
+ # Config used to determine the final backup settings for the instance.
3284
+ # @!attribute [rw] enabled
3285
+ # @return [::Boolean]
3286
+ # Whether the final backup is enabled for the instance.
3287
+ # @!attribute [rw] retention_days
3288
+ # @return [::Integer]
3289
+ # The number of days to retain the final backup after the instance deletion.
3290
+ # The final backup will be purged at (time_of_instance_deletion +
3291
+ # retention_days).
3292
+ class FinalBackupConfig
3293
+ include ::Google::Protobuf::MessageExts
3294
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3295
+ end
3296
+
3297
+ # Database instance settings.
3298
+ # @!attribute [rw] settings_version
3299
+ # @return [::Google::Protobuf::Int64Value]
3300
+ # The version of instance settings. This is a required field for update
3301
+ # method to make sure concurrent updates are handled properly. During update,
3302
+ # use the most recent settingsVersion value for this instance and do not try
3303
+ # to update this value.
3304
+ # @!attribute [rw] authorized_gae_applications
3305
+ # @deprecated This field is deprecated and may be removed in the next major version update.
3306
+ # @return [::Array<::String>]
3307
+ # The App Engine app IDs that can access this instance.
3308
+ # (Deprecated) Applied to First Generation instances only.
3309
+ # @!attribute [rw] tier
3310
+ # @return [::String]
3311
+ # The tier (or machine type) for this instance, for example
3312
+ # `db-custom-1-3840`. WARNING: Changing this restarts the instance.
3313
+ # @!attribute [rw] kind
3314
+ # @return [::String]
3315
+ # This is always `sql#settings`.
3316
+ # @!attribute [rw] user_labels
3317
+ # @return [::Google::Protobuf::Map{::String => ::String}]
3318
+ # User-provided labels, represented as a dictionary where each label is a
3319
+ # single key value pair.
3320
+ # @!attribute [rw] availability_type
3321
+ # @return [::Google::Cloud::Sql::V1beta4::SqlAvailabilityType]
3322
+ # Availability type. Potential values:
3323
+ # * `ZONAL`: The instance serves data from only one zone. Outages in that
3324
+ # zone affect data accessibility.
3325
+ # * `REGIONAL`: The instance can serve data from more than one zone in a
3326
+ # region (it is highly available)./
3327
+ #
3328
+ # For more information, see [Overview of the High Availability
3329
+ # Configuration](https://cloud.google.com/sql/docs/mysql/high-availability).
3330
+ # @!attribute [rw] pricing_plan
3331
+ # @return [::Google::Cloud::Sql::V1beta4::SqlPricingPlan]
3332
+ # The pricing plan for this instance. This can be either `PER_USE` or
3333
+ # `PACKAGE`. Only `PER_USE` is supported for Second Generation instances.
3334
+ # @!attribute [rw] replication_type
3335
+ # @deprecated This field is deprecated and may be removed in the next major version update.
3336
+ # @return [::Google::Cloud::Sql::V1beta4::SqlReplicationType]
3337
+ # The type of replication this instance uses. This can be either
3338
+ # `ASYNCHRONOUS` or `SYNCHRONOUS`. (Deprecated) This property was only
3339
+ # applicable to First Generation instances.
3340
+ # @!attribute [rw] storage_auto_resize_limit
3341
+ # @return [::Google::Protobuf::Int64Value]
3342
+ # The maximum size to which storage capacity can be automatically increased.
3343
+ # The default value is 0, which specifies that there is no limit.
3344
+ # @!attribute [rw] activation_policy
3345
+ # @return [::Google::Cloud::Sql::V1beta4::Settings::SqlActivationPolicy]
3346
+ # The activation policy specifies when the instance is activated; it is
3347
+ # applicable only when the instance state is RUNNABLE. Valid values:
3348
+ # * `ALWAYS`: The instance is on, and remains so even in the absence of
3349
+ # connection requests.
3350
+ # * `NEVER`: The instance is off; it is not activated, even if a
3351
+ # connection request arrives.
3352
+ # @!attribute [rw] ip_configuration
3353
+ # @return [::Google::Cloud::Sql::V1beta4::IpConfiguration]
3354
+ # The settings for IP Management. This allows to enable or disable the
3355
+ # instance IP and manage which external networks can connect to the instance.
3356
+ # The IPv4 address cannot be disabled for Second Generation instances.
3357
+ # @!attribute [rw] storage_auto_resize
3358
+ # @return [::Google::Protobuf::BoolValue]
3359
+ # Configuration to increase storage size automatically. The default value is
3360
+ # true.
3361
+ # @!attribute [rw] location_preference
3362
+ # @return [::Google::Cloud::Sql::V1beta4::LocationPreference]
3363
+ # The location preference settings. This allows the instance to be located as
3364
+ # near as possible to either an App Engine app or Compute Engine zone for
3365
+ # better performance. App Engine co-location was only applicable to First
3366
+ # Generation instances.
3367
+ # @!attribute [rw] database_flags
3368
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::DatabaseFlags>]
3369
+ # The database flags passed to the instance at startup.
3370
+ # @!attribute [rw] data_disk_type
3371
+ # @return [::Google::Cloud::Sql::V1beta4::SqlDataDiskType]
3372
+ # The type of data disk: `PD_SSD` (default) or `PD_HDD`. Not used for
3373
+ # First Generation instances.
3374
+ # @!attribute [rw] maintenance_window
3375
+ # @return [::Google::Cloud::Sql::V1beta4::MaintenanceWindow]
3376
+ # The maintenance window for this instance. This specifies when the instance
3377
+ # can be restarted for maintenance purposes.
3378
+ # @!attribute [rw] backup_configuration
3379
+ # @return [::Google::Cloud::Sql::V1beta4::BackupConfiguration]
3380
+ # The daily backup configuration for the instance.
3381
+ # @!attribute [rw] database_replication_enabled
3382
+ # @return [::Google::Protobuf::BoolValue]
3383
+ # Configuration specific to read replica instances. Indicates whether
3384
+ # replication is enabled or not. WARNING: Changing this restarts the
3385
+ # instance.
3386
+ # @!attribute [rw] crash_safe_replication_enabled
3387
+ # @deprecated This field is deprecated and may be removed in the next major version update.
3388
+ # @return [::Google::Protobuf::BoolValue]
3389
+ # Configuration specific to read replica instances. Indicates whether
3390
+ # database flags for crash-safe replication are enabled. This property was
3391
+ # only applicable to First Generation instances.
3392
+ # @!attribute [rw] data_disk_size_gb
3393
+ # @return [::Google::Protobuf::Int64Value]
3394
+ # The size of data disk, in GB. The data disk size minimum is 10GB.
3395
+ # @!attribute [rw] active_directory_config
3396
+ # @return [::Google::Cloud::Sql::V1beta4::SqlActiveDirectoryConfig]
3397
+ # Active Directory configuration, relevant only for Cloud SQL for SQL Server.
3398
+ # @!attribute [rw] collation
3399
+ # @return [::String]
3400
+ # The name of server Instance collation.
3401
+ # @!attribute [rw] deny_maintenance_periods
3402
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::DenyMaintenancePeriod>]
3403
+ # Deny maintenance periods
3404
+ # @!attribute [rw] insights_config
3405
+ # @return [::Google::Cloud::Sql::V1beta4::InsightsConfig]
3406
+ # Insights configuration, for now relevant only for Postgres.
3407
+ # @!attribute [rw] password_validation_policy
3408
+ # @return [::Google::Cloud::Sql::V1beta4::PasswordValidationPolicy]
3409
+ # The local user password validation policy of the instance.
3410
+ # @!attribute [rw] sql_server_audit_config
3411
+ # @return [::Google::Cloud::Sql::V1beta4::SqlServerAuditConfig]
3412
+ # SQL Server specific audit configuration.
3413
+ # @!attribute [rw] edition
3414
+ # @return [::Google::Cloud::Sql::V1beta4::Settings::Edition]
3415
+ # Optional. The edition type of the Cloud SQL instance.
3416
+ # @!attribute [rw] connector_enforcement
3417
+ # @return [::Google::Cloud::Sql::V1beta4::Settings::ConnectorEnforcement]
3418
+ # Specifies if connections must use Cloud SQL connectors.
3419
+ # Option values include the following: `NOT_REQUIRED` (Cloud SQL instances
3420
+ # can be connected without Cloud SQL
3421
+ # Connectors) and `REQUIRED` (Only allow connections that use Cloud SQL
3422
+ # Connectors)
3423
+ #
3424
+ # Note that using REQUIRED disables all existing authorized networks. If
3425
+ # this field is not specified when creating a new instance, NOT_REQUIRED is
3426
+ # used. If this field is not specified when patching or updating an existing
3427
+ # instance, it is left unchanged in the instance.
3428
+ # @!attribute [rw] deletion_protection_enabled
3429
+ # @return [::Google::Protobuf::BoolValue]
3430
+ # Configuration to protect against accidental instance deletion.
3431
+ # @!attribute [rw] time_zone
3432
+ # @return [::String]
3433
+ # Server timezone, relevant only for Cloud SQL for SQL Server.
3434
+ # @!attribute [rw] advanced_machine_features
3435
+ # @return [::Google::Cloud::Sql::V1beta4::AdvancedMachineFeatures]
3436
+ # Specifies advanced machine configuration for the instances relevant only
3437
+ # for SQL Server.
3438
+ # @!attribute [rw] data_cache_config
3439
+ # @return [::Google::Cloud::Sql::V1beta4::DataCacheConfig]
3440
+ # Configuration for data cache.
3441
+ # @!attribute [rw] replication_lag_max_seconds
3442
+ # @return [::Google::Protobuf::Int32Value]
3443
+ # Optional. Configuration value for recreation of replica after certain
3444
+ # replication lag.
3445
+ # @!attribute [rw] enable_google_ml_integration
3446
+ # @return [::Google::Protobuf::BoolValue]
3447
+ # Optional. When this parameter is set to true, Cloud SQL instances can
3448
+ # connect to Vertex AI to pass requests for real-time predictions and
3449
+ # insights to the AI. The default value is false. This applies only to Cloud
3450
+ # SQL for MySQL and Cloud SQL for PostgreSQL instances.
3451
+ # @!attribute [rw] enable_dataplex_integration
3452
+ # @return [::Google::Protobuf::BoolValue]
3453
+ # Optional. By default, Cloud SQL instances have schema extraction disabled
3454
+ # for Dataplex. When this parameter is set to true, schema extraction for
3455
+ # Dataplex on Cloud SQL instances is activated.
3456
+ # @!attribute [rw] retain_backups_on_delete
3457
+ # @return [::Google::Protobuf::BoolValue]
3458
+ # Optional. When this parameter is set to true, Cloud SQL retains backups of
3459
+ # the instance even after the instance is deleted. The ON_DEMAND backup will
3460
+ # be retained until customer deletes the backup or the project. The AUTOMATED
3461
+ # backup will be retained based on the backups retention setting.
3462
+ # @!attribute [rw] data_disk_provisioned_iops
3463
+ # @return [::Integer]
3464
+ # Optional. Provisioned number of I/O operations per second for the data
3465
+ # disk. This field is only used for hyperdisk-balanced disk types.
3466
+ # @!attribute [rw] data_disk_provisioned_throughput
3467
+ # @return [::Integer]
3468
+ # Optional. Provisioned throughput measured in MiB per second for the data
3469
+ # disk. This field is only used for hyperdisk-balanced disk types.
3470
+ # @!attribute [rw] connection_pool_config
3471
+ # @return [::Google::Cloud::Sql::V1beta4::ConnectionPoolConfig]
3472
+ # Optional. The managed connection pooling configuration for the instance.
3473
+ # @!attribute [rw] final_backup_config
3474
+ # @return [::Google::Cloud::Sql::V1beta4::FinalBackupConfig]
3475
+ # Optional. The final backup configuration for the instance.
3476
+ # @!attribute [rw] read_pool_auto_scale_config
3477
+ # @return [::Google::Cloud::Sql::V1beta4::ReadPoolAutoScaleConfig]
3478
+ # Optional. The read pool auto-scale configuration for the instance.
3479
+ # @!attribute [rw] accelerated_replica_mode
3480
+ # @return [::Google::Protobuf::BoolValue]
3481
+ # Optional. Configures whether the replica is in accelerated mode. This
3482
+ # feature is in private preview and requires allowlisting to take effect.
3483
+ # @!attribute [rw] auto_upgrade_enabled
3484
+ # @return [::Boolean]
3485
+ # Optional. Cloud SQL for MySQL auto-upgrade configuration. When this
3486
+ # parameter is set to true, auto-upgrade is enabled for MySQL 8.0 minor
3487
+ # versions. The MySQL version must be 8.0.35 or higher.
3488
+ # @!attribute [rw] entraid_config
3489
+ # @return [::Google::Cloud::Sql::V1beta4::SqlServerEntraIdConfig]
3490
+ # Optional. The Microsoft Entra ID configuration for the SQL Server instance.
3491
+ # @!attribute [rw] data_api_access
3492
+ # @return [::Google::Cloud::Sql::V1beta4::Settings::DataApiAccess]
3493
+ # This parameter controls whether to allow using ExecuteSql API to connect to
3494
+ # the instance. Not allowed by default.
3495
+ # @!attribute [rw] performance_capture_config
3496
+ # @return [::Google::Cloud::Sql::V1beta4::PerformanceCaptureConfig]
3497
+ # Optional. Configuration for Performance Capture, provides diagnostic
3498
+ # metrics during high load situations.
3499
+ class Settings
3500
+ include ::Google::Protobuf::MessageExts
3501
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3502
+
3503
+ # @!attribute [rw] key
3504
+ # @return [::String]
3505
+ # @!attribute [rw] value
3506
+ # @return [::String]
3507
+ class UserLabelsEntry
3508
+ include ::Google::Protobuf::MessageExts
3509
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3510
+ end
3511
+
3512
+ # Specifies when the instance is activated.
3513
+ module SqlActivationPolicy
3514
+ # Unknown activation plan.
3515
+ SQL_ACTIVATION_POLICY_UNSPECIFIED = 0
3516
+
3517
+ # The instance is always up and running.
3518
+ ALWAYS = 1
3519
+
3520
+ # The instance never starts.
3521
+ NEVER = 2
3522
+
3523
+ # The instance starts upon receiving requests.
3524
+ ON_DEMAND = 3
3525
+ end
3526
+
3527
+ # The list of Cloud SQL editions available to users.
3528
+ module Edition
3529
+ # The instance did not specify the edition.
3530
+ EDITION_UNSPECIFIED = 0
3531
+
3532
+ # The instance is an enterprise edition.
3533
+ ENTERPRISE = 2
3534
+
3535
+ # The instance is an Enterprise Plus edition.
3536
+ ENTERPRISE_PLUS = 3
3537
+
3538
+ # This instance is a Cloud SQL developer edition instance.
3539
+ DEVELOPER = 5
3540
+ end
3541
+
3542
+ # The options for enforcing Cloud SQL connectors in the instance.
3543
+ module ConnectorEnforcement
3544
+ # The requirement for Cloud SQL connectors is unknown.
3545
+ CONNECTOR_ENFORCEMENT_UNSPECIFIED = 0
3546
+
3547
+ # Do not require Cloud SQL connectors.
3548
+ NOT_REQUIRED = 1
3549
+
3550
+ # Require all connections to use Cloud SQL connectors, including the
3551
+ # Cloud SQL Auth Proxy and Cloud SQL Java, Python, and Go connectors.
3552
+ # Note: This disables all existing authorized networks.
3553
+ REQUIRED = 2
3554
+ end
3555
+
3556
+ # ExecuteSql API's access to the instance.
3557
+ module DataApiAccess
3558
+ # Unspecified, effectively the same as `DISALLOW_DATA_API`.
3559
+ DATA_API_ACCESS_UNSPECIFIED = 0
3560
+
3561
+ # Disallow using ExecuteSql API to connect to the instance.
3562
+ DISALLOW_DATA_API = 1
3563
+
3564
+ # Allow using ExecuteSql API to connect to the instance. For private IP
3565
+ # instances, this allows authorized users to access the instance from
3566
+ # the public internet using ExecuteSql API.
3567
+ ALLOW_DATA_API = 2
3568
+ end
3569
+ end
3570
+
3571
+ # Performance capture configuration.
3572
+ # @!attribute [rw] enabled
3573
+ # @return [::Boolean]
3574
+ # Optional. Enables or disables the performance capture feature.
3575
+ # @!attribute [rw] probing_interval_seconds
3576
+ # @return [::Integer]
3577
+ # Optional. Specifies the interval in seconds between consecutive probes that
3578
+ # check if any trigger condition thresholds have been reached.
3579
+ # @!attribute [rw] probe_threshold
3580
+ # @return [::Integer]
3581
+ # Optional. Specifies the minimum number of consecutive probe threshold that
3582
+ # triggers performance capture.
3583
+ # @!attribute [rw] running_threads_threshold
3584
+ # @return [::Integer]
3585
+ # Optional. Specifies the minimum number of MySQL `Threads_running` to
3586
+ # trigger the performance capture on the primary instance.
3587
+ # @!attribute [rw] seconds_behind_source_threshold
3588
+ # @return [::Integer]
3589
+ # Optional. Specifies the minimum number of seconds replica must be lagging
3590
+ # behind primary instance to trigger the performance capture on replica.
3591
+ # @!attribute [rw] transaction_duration_threshold
3592
+ # @return [::Integer]
3593
+ # Optional. Specifies the amount of time in seconds that a transaction needs
3594
+ # to have been open before the watcher starts recording it.
3595
+ # @!attribute [rw] cpu_utilization_threshold_percent
3596
+ # @return [::Integer]
3597
+ # Optional. Specifies the minimum percentage of CPU utilization to trigger
3598
+ # the performance capture. Valid integers range from `10` to `99`. Enter `0`
3599
+ # to disable the check.
3600
+ # @!attribute [rw] memory_usage_threshold_percent
3601
+ # @return [::Integer]
3602
+ # Optional. Specifies the minimum percentage of memory usage to trigger the
3603
+ # performance capture.
3604
+ # Valid integers range from `10` to `99`. Enter `0` to disable the check.
3605
+ # @!attribute [rw] transaction_lock_wait_threshold_count
3606
+ # @return [::Integer]
3607
+ # Optional. Specifies the minimum allowed number of transactions in lock wait
3608
+ # state to trigger the performance capture. Valid integers range from `10` to
3609
+ # `10000`. Enter `0` to disable the check.
3610
+ # @!attribute [rw] semaphore_wait_threshold_count
3611
+ # @return [::Integer]
3612
+ # Optional. Specifies the minimum allowed number of semaphore waits to
3613
+ # trigger the performance capture. Valid integers range from `10` to `10000`.
3614
+ # Enter `0` to disable the check.
3615
+ # @!attribute [rw] history_list_length_threshold_count
3616
+ # @return [::Integer]
3617
+ # Optional. Specifies the minimum number of undo log entries in the history
3618
+ # list length to trigger the performance capture. Valid integers range from
3619
+ # `10000` to `10000000`. Enter `0` to disable the check.
3620
+ # @!attribute [rw] transaction_kill_threshold_seconds
3621
+ # @return [::Integer]
3622
+ # Optional. Specifies the amount of time in seconds that a transaction needs
3623
+ # to have been open before the watcher starts terminating it. Valid integers
3624
+ # range from `60` to `604800` (7 days). Enter `0` to disable. If enabled
3625
+ # (i.e., > 0), this value must be greater than or equal to
3626
+ # `transaction_duration_threshold`. Configurations where
3627
+ # `0 < transaction_kill_threshold_seconds < transaction_duration_threshold`
3628
+ # will be rejected.
3629
+ # @!attribute [rw] transaction_kill_excluded_user_hosts
3630
+ # @return [::Array<::String>]
3631
+ # Optional. Specifies a customer-defined list of users to exclude from
3632
+ # transaction termination. Entries can be in the format 'user@host' or just
3633
+ # 'user'. A standalone 'user' implies 'user@%', excluding the user from any
3634
+ # host. Wildcard '%' is allowed in the host part of the 'user@host' format.
3635
+ # Example: `["app_user", "db_admin@10.1.2.3", "report_user@%"]`
3636
+ # @!attribute [rw] transaction_kill_type
3637
+ # @return [::Google::Cloud::Sql::V1beta4::PerformanceCaptureConfig::TransactionKillType]
3638
+ # Optional. Determines which transactions are allowed to be terminated when
3639
+ # they exceed `transaction_kill_threshold_seconds`. This allows protecting
3640
+ # write-heavy transactions from auto-termination if desired. Defaults to
3641
+ # `READ_ONLY_TRANSACTIONS` if unspecified.
3642
+ class PerformanceCaptureConfig
3643
+ include ::Google::Protobuf::MessageExts
3644
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3645
+
3646
+ # Defines the categories of long-running transactions eligible for automatic
3647
+ # termination by the Performance Capture.
3648
+ module TransactionKillType
3649
+ # Unspecified.
3650
+ TRANSACTION_KILL_TYPE_UNSPECIFIED = 0
3651
+
3652
+ # Only read-only transactions are eligible for termination.
3653
+ READ_ONLY_TRANSACTIONS = 1
3654
+
3655
+ # All transactions are eligible for termination, including those with write
3656
+ # operations (such as INSERT, UPDATE, DELETE, or DDL).
3657
+ ALL_TRANSACTIONS = 2
3658
+ end
3659
+ end
3660
+
3661
+ # Specifies options for controlling advanced machine features.
3662
+ # @!attribute [rw] threads_per_core
3663
+ # @return [::Integer]
3664
+ # The number of threads per physical core.
3665
+ class AdvancedMachineFeatures
3666
+ include ::Google::Protobuf::MessageExts
3667
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3668
+ end
3669
+
3670
+ # SslCerts Resource
3671
+ # @!attribute [rw] kind
3672
+ # @return [::String]
3673
+ # This is always `sql#sslCert`.
3674
+ # @!attribute [rw] cert_serial_number
3675
+ # @return [::String]
3676
+ # Serial number, as extracted from the certificate.
3677
+ # @!attribute [rw] cert
3678
+ # @return [::String]
3679
+ # PEM representation.
3680
+ # @!attribute [rw] create_time
3681
+ # @return [::Google::Protobuf::Timestamp]
3682
+ # The time when the certificate was created in
3683
+ # [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
3684
+ # `2012-11-15T16:19:00.094Z`.
3685
+ # @!attribute [rw] common_name
3686
+ # @return [::String]
3687
+ # User supplied name. Constrained to [a-zA-Z.-_ ]+.
3688
+ # @!attribute [rw] expiration_time
3689
+ # @return [::Google::Protobuf::Timestamp]
3690
+ # The time when the certificate expires in
3691
+ # [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
3692
+ # `2012-11-15T16:19:00.094Z`.
3693
+ # @!attribute [rw] sha1_fingerprint
3694
+ # @return [::String]
3695
+ # Sha1 Fingerprint.
3696
+ # @!attribute [rw] instance
3697
+ # @return [::String]
3698
+ # Name of the database instance.
3699
+ # @!attribute [rw] self_link
3700
+ # @return [::String]
3701
+ # The URI of this resource.
3702
+ class SslCert
3703
+ include ::Google::Protobuf::MessageExts
3704
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3705
+ end
3706
+
3707
+ # SslCertDetail.
3708
+ # @!attribute [rw] cert_info
3709
+ # @return [::Google::Cloud::Sql::V1beta4::SslCert]
3710
+ # The public information about the cert.
3711
+ # @!attribute [rw] cert_private_key
3712
+ # @return [::String]
3713
+ # The private key for the client cert, in pem format. Keep private in order
3714
+ # to protect your security.
3715
+ class SslCertDetail
3716
+ include ::Google::Protobuf::MessageExts
3717
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3718
+ end
3719
+
3720
+ # SslCerts create ephemeral certificate request.
3721
+ # @!attribute [rw] public_key
3722
+ # @return [::String]
3723
+ # PEM encoded public key to include in the signed certificate.
3724
+ # @!attribute [rw] access_token
3725
+ # @return [::String]
3726
+ # Access token to include in the signed certificate.
3727
+ class SslCertsCreateEphemeralRequest
3728
+ include ::Google::Protobuf::MessageExts
3729
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3730
+ end
3731
+
3732
+ # SslCerts insert request.
3733
+ # @!attribute [rw] common_name
3734
+ # @return [::String]
3735
+ # User supplied name. Must be a distinct name from the other certificates
3736
+ # for this instance.
3737
+ class SslCertsInsertRequest
3738
+ include ::Google::Protobuf::MessageExts
3739
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3740
+ end
3741
+
3742
+ # Reschedule options for maintenance windows.
3743
+ # @!attribute [rw] reschedule
3744
+ # @return [::Google::Cloud::Sql::V1beta4::SqlInstancesRescheduleMaintenanceRequestBody::Reschedule]
3745
+ # Required. The type of the reschedule the user wants.
3746
+ class SqlInstancesRescheduleMaintenanceRequestBody
3747
+ include ::Google::Protobuf::MessageExts
3748
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3749
+
3750
+ # @!attribute [rw] reschedule_type
3751
+ # @return [::Google::Cloud::Sql::V1beta4::SqlInstancesRescheduleMaintenanceRequestBody::RescheduleType]
3752
+ # Required. The type of the reschedule.
3753
+ # @!attribute [rw] schedule_time
3754
+ # @return [::Google::Protobuf::Timestamp]
3755
+ # Optional. Timestamp when the maintenance shall be rescheduled to if
3756
+ # reschedule_type=SPECIFIC_TIME, in
3757
+ # [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
3758
+ # `2012-11-15T16:19:00.094Z`.
3759
+ class Reschedule
3760
+ include ::Google::Protobuf::MessageExts
3761
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3762
+ end
3763
+
3764
+ module RescheduleType
3765
+ RESCHEDULE_TYPE_UNSPECIFIED = 0
3766
+
3767
+ # Reschedules maintenance to happen now (within 5 minutes).
3768
+ IMMEDIATE = 1
3769
+
3770
+ # Reschedules maintenance to occur within one week from the originally
3771
+ # scheduled day and time.
3772
+ NEXT_AVAILABLE_WINDOW = 2
3773
+
3774
+ # Reschedules maintenance to a specific time and day.
3775
+ SPECIFIC_TIME = 3
3776
+ end
3777
+ end
3778
+
3779
+ # SslCert insert response.
3780
+ # @!attribute [rw] kind
3781
+ # @return [::String]
3782
+ # This is always `sql#sslCertsInsert`.
3783
+ # @!attribute [rw] operation
3784
+ # @return [::Google::Cloud::Sql::V1beta4::Operation]
3785
+ # The operation to track the ssl certs insert request.
3786
+ # @!attribute [rw] server_ca_cert
3787
+ # @return [::Google::Cloud::Sql::V1beta4::SslCert]
3788
+ # The server Certificate Authority's certificate. If this is missing you can
3789
+ # force a new one to be generated by calling resetSslConfig method on
3790
+ # instances resource.
3791
+ # @!attribute [rw] client_cert
3792
+ # @return [::Google::Cloud::Sql::V1beta4::SslCertDetail]
3793
+ # The new client certificate and private key.
3794
+ class SslCertsInsertResponse
3795
+ include ::Google::Protobuf::MessageExts
3796
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3797
+ end
3798
+
3799
+ # SslCerts list response.
3800
+ # @!attribute [rw] kind
3801
+ # @return [::String]
3802
+ # This is always `sql#sslCertsList`.
3803
+ # @!attribute [rw] items
3804
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::SslCert>]
3805
+ # List of client certificates for the instance.
3806
+ class SslCertsListResponse
3807
+ include ::Google::Protobuf::MessageExts
3808
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3809
+ end
3810
+
3811
+ # Database Instance truncate log context.
3812
+ # @!attribute [rw] kind
3813
+ # @return [::String]
3814
+ # This is always `sql#truncateLogContext`.
3815
+ # @!attribute [rw] log_type
3816
+ # @return [::String]
3817
+ # The type of log to truncate. Valid values are `MYSQL_GENERAL_TABLE` and
3818
+ # `MYSQL_SLOW_TABLE`.
3819
+ class TruncateLogContext
3820
+ include ::Google::Protobuf::MessageExts
3821
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3822
+ end
3823
+
3824
+ # Active Directory configuration, relevant only for Cloud SQL for SQL Server.
3825
+ # @!attribute [rw] kind
3826
+ # @return [::String]
3827
+ # This is always sql#activeDirectoryConfig.
3828
+ # @!attribute [rw] domain
3829
+ # @return [::String]
3830
+ # The name of the domain (e.g., mydomain.com).
3831
+ # @!attribute [rw] mode
3832
+ # @return [::Google::Cloud::Sql::V1beta4::SqlActiveDirectoryConfig::ActiveDirectoryMode]
3833
+ # Optional. The mode of the Active Directory configuration.
3834
+ # @!attribute [rw] dns_servers
3835
+ # @return [::Array<::String>]
3836
+ # Optional. Domain controller IPv4 addresses used to bootstrap Active
3837
+ # Directory.
3838
+ # @!attribute [rw] admin_credential_secret_name
3839
+ # @return [::String]
3840
+ # Optional. The secret manager key storing the administrator credential.
3841
+ # (e.g., projects/\\{project}/secrets/\\{secret}).
3842
+ # @!attribute [rw] organizational_unit
3843
+ # @return [::String]
3844
+ # Optional. The organizational unit distinguished name. This is the full
3845
+ # hierarchical path to the organizational unit.
3846
+ class SqlActiveDirectoryConfig
3847
+ include ::Google::Protobuf::MessageExts
3848
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3849
+
3850
+ # The modes of Active Directory configuration.
3851
+ module ActiveDirectoryMode
3852
+ # Unspecified mode.
3853
+ ACTIVE_DIRECTORY_MODE_UNSPECIFIED = 0
3854
+
3855
+ # Managed Active Directory mode. This is the fallback option to maintain
3856
+ # backward compatibility.
3857
+ MANAGED_ACTIVE_DIRECTORY = 1
3858
+
3859
+ # Deprecated: Use CUSTOMER_MANAGED_ACTIVE_DIRECTORY instead.
3860
+ SELF_MANAGED_ACTIVE_DIRECTORY = 2
3861
+
3862
+ # Customer-managed Active Directory mode.
3863
+ CUSTOMER_MANAGED_ACTIVE_DIRECTORY = 3
3864
+ end
3865
+ end
3866
+
3867
+ # SQL Server specific audit configuration.
3868
+ # @!attribute [rw] kind
3869
+ # @return [::String]
3870
+ # This is always sql#sqlServerAuditConfig
3871
+ # @!attribute [rw] bucket
3872
+ # @return [::String]
3873
+ # The name of the destination bucket (e.g., gs://mybucket).
3874
+ # @!attribute [rw] retention_interval
3875
+ # @return [::Google::Protobuf::Duration]
3876
+ # How long to keep generated audit files.
3877
+ # @!attribute [rw] upload_interval
3878
+ # @return [::Google::Protobuf::Duration]
3879
+ # How often to upload generated audit files.
3880
+ class SqlServerAuditConfig
3881
+ include ::Google::Protobuf::MessageExts
3882
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3883
+ end
3884
+
3885
+ # SQL Server Entra ID configuration.
3886
+ # @!attribute [r] kind
3887
+ # @return [::String]
3888
+ # Output only. This is always sql#sqlServerEntraIdConfig
3889
+ # @!attribute [rw] tenant_id
3890
+ # @return [::String]
3891
+ # Optional. The tenant ID for the Entra ID configuration.
3892
+ # @!attribute [rw] application_id
3893
+ # @return [::String]
3894
+ # Optional. The application ID for the Entra ID configuration.
3895
+ class SqlServerEntraIdConfig
3896
+ include ::Google::Protobuf::MessageExts
3897
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3898
+ end
3899
+
3900
+ # Connection pool flags for Cloud SQL instances managed connection pool
3901
+ # configuration.
3902
+ # @!attribute [rw] name
3903
+ # @return [::String]
3904
+ # Required. The name of the flag.
3905
+ # @!attribute [rw] value
3906
+ # @return [::String]
3907
+ # Required. The value of the flag. Boolean flags are set to `on` for true
3908
+ # and `off` for false. This field must be omitted if the flag
3909
+ # doesn't take a value.
3910
+ class ConnectionPoolFlags
3911
+ include ::Google::Protobuf::MessageExts
3912
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3913
+ end
3914
+
3915
+ # The read pool auto-scale configuration.
3916
+ # @!attribute [rw] enabled
3917
+ # @return [::Boolean]
3918
+ # Indicates whether read pool auto scaling is enabled.
3919
+ # @!attribute [rw] min_node_count
3920
+ # @return [::Integer]
3921
+ # Minimum number of read pool nodes to be maintained.
3922
+ # @!attribute [rw] max_node_count
3923
+ # @return [::Integer]
3924
+ # Maximum number of read pool nodes to be maintained.
3925
+ # @!attribute [rw] target_metrics
3926
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::ReadPoolAutoScaleConfig::TargetMetric>]
3927
+ # Optional. Target metrics for read pool auto scaling.
3928
+ # @!attribute [rw] disable_scale_in
3929
+ # @return [::Boolean]
3930
+ # Indicates whether read pool auto scaling supports scale in operations
3931
+ # (removing nodes).
3932
+ # @!attribute [rw] scale_in_cooldown_seconds
3933
+ # @return [::Integer]
3934
+ # The cooldown period for scale in operations.
3935
+ # @!attribute [rw] scale_out_cooldown_seconds
3936
+ # @return [::Integer]
3937
+ # The cooldown period for scale out operations.
3938
+ class ReadPoolAutoScaleConfig
3939
+ include ::Google::Protobuf::MessageExts
3940
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3941
+
3942
+ # Target metric for read pool auto scaling.
3943
+ # @!attribute [rw] metric
3944
+ # @return [::String]
3945
+ # The metric name to be used for auto scaling.
3946
+ # @!attribute [rw] target_value
3947
+ # @return [::Float]
3948
+ # The target value for the metric.
3949
+ class TargetMetric
3950
+ include ::Google::Protobuf::MessageExts
3951
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3952
+ end
3953
+ end
3954
+
3955
+ # The managed connection pooling configuration.
3956
+ # @!attribute [rw] connection_pooling_enabled
3957
+ # @return [::Boolean]
3958
+ # Whether managed connection pooling is enabled.
3959
+ # @!attribute [rw] flags
3960
+ # @return [::Array<::Google::Cloud::Sql::V1beta4::ConnectionPoolFlags>]
3961
+ # Optional. List of connection pool configuration flags.
3962
+ # @!attribute [r] pooler_count
3963
+ # @return [::Integer]
3964
+ # Output only. Number of connection poolers.
3965
+ class ConnectionPoolConfig
3966
+ include ::Google::Protobuf::MessageExts
3967
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3968
+ end
3969
+
3970
+ # Acquire SSRS lease context.
3971
+ # @!attribute [rw] setup_login
3972
+ # @return [::String]
3973
+ # The username to be used as the setup login to connect to the database
3974
+ # server for SSRS setup.
3975
+ # @!attribute [rw] service_login
3976
+ # @return [::String]
3977
+ # The username to be used as the service login to connect to the report
3978
+ # database for SSRS setup.
3979
+ # @!attribute [rw] report_database
3980
+ # @return [::String]
3981
+ # The report database to be used for the SSRS setup.
3982
+ # @!attribute [rw] duration
3983
+ # @return [::Google::Protobuf::Duration]
3984
+ # Lease duration needed for the SSRS setup.
3985
+ class AcquireSsrsLeaseContext
3986
+ include ::Google::Protobuf::MessageExts
3987
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3988
+ end
3989
+
3990
+ module SqlFileType
3991
+ # Unknown file type.
3992
+ SQL_FILE_TYPE_UNSPECIFIED = 0
3993
+
3994
+ # File containing SQL statements.
3995
+ SQL = 1
3996
+
3997
+ # File in CSV format.
3998
+ CSV = 2
3999
+
4000
+ BAK = 4
4001
+
4002
+ # TDE certificate.
4003
+ TDE = 8
4004
+ end
4005
+
4006
+ module BakType
4007
+ # Default type.
4008
+ BAK_TYPE_UNSPECIFIED = 0
4009
+
4010
+ # Full backup.
4011
+ FULL = 1
4012
+
4013
+ # Differential backup.
4014
+ DIFF = 2
4015
+
4016
+ # SQL Server Transaction Log
4017
+ TLOG = 3
4018
+ end
4019
+
4020
+ # The status of automated DNS provisioning.
4021
+ module AutoDnsStatus
4022
+ # Unspecified status. This means status is missing from dependency service.
4023
+ AUTO_DNS_STATUS_UNSPECIFIED = 0
4024
+
4025
+ # DNS provisioning is OK.
4026
+ AUTO_DNS_OK = 1
4027
+
4028
+ # DNS provisioning failed.
4029
+ AUTO_DNS_FAILED = 2
4030
+
4031
+ # DNS provisioning status is not recognized by Cloud SQL.
4032
+ AUTO_DNS_UNKNOWN = 3
4033
+ end
4034
+
4035
+ # The type of maintenance to be performed on the instance.
4036
+ module SqlMaintenanceType
4037
+ # Maintenance type is unspecified.
4038
+ SQL_MAINTENANCE_TYPE_UNSPECIFIED = 0
4039
+
4040
+ # Indicates that a standalone instance is undergoing maintenance. The
4041
+ # instance can be either a primary instance or a replica.
4042
+ INSTANCE_MAINTENANCE = 1
4043
+
4044
+ # Indicates that the primary instance and all of its replicas, including
4045
+ # cascading replicas, are undergoing maintenance. Maintenance is performed on
4046
+ # groups of replicas first, followed by the primary instance.
4047
+ REPLICA_INCLUDED_MAINTENANCE = 2
4048
+
4049
+ # Indicates that the standalone instance is undergoing maintenance, initiated
4050
+ # by self-service. The instance can be either a primary instance or a
4051
+ # replica.
4052
+ INSTANCE_SELF_SERVICE_MAINTENANCE = 3
4053
+
4054
+ # Indicates that the primary instance and all of its replicas are undergoing
4055
+ # maintenance, initiated by self-service. Maintenance is performed on groups
4056
+ # of replicas first, followed by the primary instance.
4057
+ REPLICA_INCLUDED_SELF_SERVICE_MAINTENANCE = 4
4058
+ end
4059
+
4060
+ # The status of a backup run.
4061
+ module SqlBackupRunStatus
4062
+ # The status of the run is unknown.
4063
+ SQL_BACKUP_RUN_STATUS_UNSPECIFIED = 0
4064
+
4065
+ # The backup operation was enqueued.
4066
+ ENQUEUED = 1
4067
+
4068
+ # The backup is overdue across a given backup window. Indicates a
4069
+ # problem. Example: Long-running operation in progress during
4070
+ # the whole window.
4071
+ OVERDUE = 2
4072
+
4073
+ # The backup is in progress.
4074
+ RUNNING = 3
4075
+
4076
+ # The backup failed.
4077
+ FAILED = 4
4078
+
4079
+ # The backup was successful.
4080
+ SUCCESSFUL = 5
4081
+
4082
+ # The backup was skipped (without problems) for a given backup
4083
+ # window. Example: Instance was idle.
4084
+ SKIPPED = 6
4085
+
4086
+ # The backup is about to be deleted.
4087
+ DELETION_PENDING = 7
4088
+
4089
+ # The backup deletion failed.
4090
+ DELETION_FAILED = 8
4091
+
4092
+ # The backup has been deleted.
4093
+ DELETED = 9
4094
+ end
4095
+
4096
+ module SqlBackupRunType
4097
+ # This is an unknown BackupRun type.
4098
+ SQL_BACKUP_RUN_TYPE_UNSPECIFIED = 0
4099
+
4100
+ # The backup schedule automatically triggers a backup.
4101
+ AUTOMATED = 1
4102
+
4103
+ # The user manually triggers a backup.
4104
+ ON_DEMAND = 2
4105
+ end
4106
+
4107
+ # Defines the supported backup kinds
4108
+ module SqlBackupKind
4109
+ # This is an unknown BackupKind.
4110
+ SQL_BACKUP_KIND_UNSPECIFIED = 0
4111
+
4112
+ # Snapshot-based backups.
4113
+ SNAPSHOT = 1
4114
+
4115
+ # Physical backups.
4116
+ PHYSICAL = 2
4117
+ end
4118
+
4119
+ module SqlBackendType
4120
+ # This is an unknown backend type for instance.
4121
+ SQL_BACKEND_TYPE_UNSPECIFIED = 0
4122
+
4123
+ # V1 speckle instance.
4124
+ FIRST_GEN = 1
4125
+
4126
+ # V2 speckle instance.
4127
+ SECOND_GEN = 2
4128
+
4129
+ # On premises instance.
4130
+ EXTERNAL = 3
4131
+ end
4132
+
4133
+ module SqlIpAddressType
4134
+ # This is an unknown IP address type.
4135
+ SQL_IP_ADDRESS_TYPE_UNSPECIFIED = 0
4136
+
4137
+ # IP address the customer is supposed to connect to. Usually this is the
4138
+ # load balancer's IP address
4139
+ PRIMARY = 1
4140
+
4141
+ # Source IP address of the connection a read replica establishes to its
4142
+ # external primary instance. This IP address can be allowlisted by the
4143
+ # customer in case it has a firewall that filters incoming connection to its
4144
+ # on premises primary instance.
4145
+ OUTGOING = 2
4146
+
4147
+ # Private IP used when using private IPs and network peering.
4148
+ PRIVATE = 3
4149
+
4150
+ # V1 IP of a migrated instance. We want the user to
4151
+ # decommission this IP as soon as the migration is complete.
4152
+ # Note: V1 instances with V1 ip addresses will be counted as PRIMARY.
4153
+ MIGRATED_1ST_GEN = 4
4154
+ end
4155
+
4156
+ module SqlInstanceType
4157
+ # This is an unknown Cloud SQL instance type.
4158
+ SQL_INSTANCE_TYPE_UNSPECIFIED = 0
4159
+
4160
+ # A regular Cloud SQL instance that is not replicating from a primary
4161
+ # instance.
4162
+ CLOUD_SQL_INSTANCE = 1
4163
+
4164
+ # An instance running on the customer's premises that is not managed by
4165
+ # Cloud SQL.
4166
+ ON_PREMISES_INSTANCE = 2
4167
+
4168
+ # A Cloud SQL instance acting as a read-replica.
4169
+ READ_REPLICA_INSTANCE = 3
4170
+
4171
+ # A Cloud SQL read pool.
4172
+ READ_POOL_INSTANCE = 5
4173
+ end
4174
+
4175
+ # The database engine type and version.
4176
+ module SqlDatabaseVersion
4177
+ # This is an unknown database version.
4178
+ SQL_DATABASE_VERSION_UNSPECIFIED = 0
4179
+
4180
+ # The database version is MySQL 5.1.
4181
+ MYSQL_5_1 = 2
4182
+
4183
+ # The database version is MySQL 5.5.
4184
+ MYSQL_5_5 = 3
4185
+
4186
+ # The database version is MySQL 5.6.
4187
+ MYSQL_5_6 = 5
4188
+
4189
+ # The database version is MySQL 5.7.
4190
+ MYSQL_5_7 = 6
4191
+
4192
+ # The database version is MySQL 8.
4193
+ MYSQL_8_0 = 20
4194
+
4195
+ # The database major version is MySQL 8.0 and the minor version is 18.
4196
+ MYSQL_8_0_18 = 41
4197
+
4198
+ # The database major version is MySQL 8.0 and the minor version is 26.
4199
+ MYSQL_8_0_26 = 85
4200
+
4201
+ # The database major version is MySQL 8.0 and the minor version is 27.
4202
+ MYSQL_8_0_27 = 111
4203
+
4204
+ # The database major version is MySQL 8.0 and the minor version is 28.
4205
+ MYSQL_8_0_28 = 132
4206
+
4207
+ # The database major version is MySQL 8.0 and the minor version is 29.
4208
+ MYSQL_8_0_29 = 148
4209
+
4210
+ # The database major version is MySQL 8.0 and the minor version is 30.
4211
+ MYSQL_8_0_30 = 174
4212
+
4213
+ # The database major version is MySQL 8.0 and the minor version is 31.
4214
+ MYSQL_8_0_31 = 197
4215
+
4216
+ # The database major version is MySQL 8.0 and the minor version is 32.
4217
+ MYSQL_8_0_32 = 213
4218
+
4219
+ # The database major version is MySQL 8.0 and the minor version is 33.
4220
+ MYSQL_8_0_33 = 238
4221
+
4222
+ # The database major version is MySQL 8.0 and the minor version is 34.
4223
+ MYSQL_8_0_34 = 239
4224
+
4225
+ # The database major version is MySQL 8.0 and the minor version is 35.
4226
+ MYSQL_8_0_35 = 240
4227
+
4228
+ # The database major version is MySQL 8.0 and the minor version is 36.
4229
+ MYSQL_8_0_36 = 241
4230
+
4231
+ # The database major version is MySQL 8.0 and the minor version is 37.
4232
+ MYSQL_8_0_37 = 355
4233
+
4234
+ # The database major version is MySQL 8.0 and the minor version is 39.
4235
+ MYSQL_8_0_39 = 357
4236
+
4237
+ # The database major version is MySQL 8.0 and the minor version is 40.
4238
+ MYSQL_8_0_40 = 358
4239
+
4240
+ # The database major version is MySQL 8.0 and the minor version is 41.
4241
+ MYSQL_8_0_41 = 488
4242
+
4243
+ # The database major version is MySQL 8.0 and the minor version is 42.
4244
+ MYSQL_8_0_42 = 489
4245
+
4246
+ # The database major version is MySQL 8.0 and the minor version is 43.
4247
+ MYSQL_8_0_43 = 553
4248
+
4249
+ # The database major version is MySQL 8.0 and the minor version is 44.
4250
+ MYSQL_8_0_44 = 554
4251
+
4252
+ # The database major version is MySQL 8.0 and the minor version is 45.
4253
+ MYSQL_8_0_45 = 555
4254
+
4255
+ # The database major version is MySQL 8.0 and the minor version is 46.
4256
+ MYSQL_8_0_46 = 556
4257
+
4258
+ # The database version is MySQL 8.4.
4259
+ MYSQL_8_4 = 398
4260
+
4261
+ # The database version is MySQL 9.7.
4262
+ MYSQL_9_7 = 654
4263
+
4264
+ # The database version is SQL Server 2017 Standard.
4265
+ SQLSERVER_2017_STANDARD = 11
4266
+
4267
+ # The database version is SQL Server 2017 Enterprise.
4268
+ SQLSERVER_2017_ENTERPRISE = 14
4269
+
4270
+ # The database version is SQL Server 2017 Express.
4271
+ SQLSERVER_2017_EXPRESS = 15
4272
+
4273
+ # The database version is SQL Server 2017 Web.
4274
+ SQLSERVER_2017_WEB = 16
4275
+
4276
+ # The database version is PostgreSQL 9.6.
4277
+ POSTGRES_9_6 = 9
4278
+
4279
+ # The database version is PostgreSQL 10.
4280
+ POSTGRES_10 = 18
4281
+
4282
+ # The database version is PostgreSQL 11.
4283
+ POSTGRES_11 = 10
4284
+
4285
+ # The database version is PostgreSQL 12.
4286
+ POSTGRES_12 = 19
4287
+
4288
+ # The database version is PostgreSQL 13.
4289
+ POSTGRES_13 = 23
4290
+
4291
+ # The database version is PostgreSQL 14.
4292
+ POSTGRES_14 = 110
4293
+
4294
+ # The database version is PostgreSQL 15.
4295
+ POSTGRES_15 = 172
4296
+
4297
+ # The database version is PostgreSQL 16.
4298
+ POSTGRES_16 = 272
4299
+
4300
+ # The database version is PostgreSQL 17.
4301
+ POSTGRES_17 = 408
4302
+
4303
+ # The database version is PostgreSQL 18.
4304
+ POSTGRES_18 = 557
4305
+
4306
+ # The database version is PostgreSQL 19.
4307
+ POSTGRES_19 = 684
4308
+
4309
+ # The database version is PostgreSQL 20.
4310
+ POSTGRES_20 = 781
4311
+
4312
+ # The database version is SQL Server 2019 Standard.
4313
+ SQLSERVER_2019_STANDARD = 26
4314
+
4315
+ # The database version is SQL Server 2019 Enterprise.
4316
+ SQLSERVER_2019_ENTERPRISE = 27
4317
+
4318
+ # The database version is SQL Server 2019 Express.
4319
+ SQLSERVER_2019_EXPRESS = 28
4320
+
4321
+ # The database version is SQL Server 2019 Web.
4322
+ SQLSERVER_2019_WEB = 29
4323
+
4324
+ # The database version is SQL Server 2022 Standard.
4325
+ SQLSERVER_2022_STANDARD = 199
4326
+
4327
+ # The database version is SQL Server 2022 Enterprise.
4328
+ SQLSERVER_2022_ENTERPRISE = 200
4329
+
4330
+ # The database version is SQL Server 2022 Express.
4331
+ SQLSERVER_2022_EXPRESS = 201
4332
+
4333
+ # The database version is SQL Server 2022 Web.
4334
+ SQLSERVER_2022_WEB = 202
4335
+
4336
+ # The database version is SQL Server 2025 Standard.
4337
+ SQLSERVER_2025_STANDARD = 549
4338
+
4339
+ # The database version is SQL Server 2025 Enterprise.
4340
+ SQLSERVER_2025_ENTERPRISE = 550
4341
+
4342
+ # The database version is SQL Server 2025 Express.
4343
+ SQLSERVER_2025_EXPRESS = 551
4344
+ end
4345
+
4346
+ # The suspension reason of the database instance if the state is SUSPENDED.
4347
+ module SqlSuspensionReason
4348
+ # This is an unknown suspension reason.
4349
+ SQL_SUSPENSION_REASON_UNSPECIFIED = 0
4350
+
4351
+ # The instance is suspended due to billing issues (for example:, account
4352
+ # issue)
4353
+ BILLING_ISSUE = 2
4354
+
4355
+ # The instance is suspended due to illegal content (for example:, child
4356
+ # pornography, copyrighted material, etc.).
4357
+ LEGAL_ISSUE = 3
4358
+
4359
+ # The instance is causing operational issues (for example:, causing the
4360
+ # database to crash).
4361
+ OPERATIONAL_ISSUE = 4
4362
+
4363
+ # The KMS key used by the instance is either revoked or denied access to
4364
+ KMS_KEY_ISSUE = 5
4365
+
4366
+ # The project is suspended due to abuse detected by Ares.
4367
+ PROJECT_ABUSE = 8
4368
+ end
4369
+
4370
+ # The pricing plan for this instance.
4371
+ module SqlPricingPlan
4372
+ # This is an unknown pricing plan for this instance.
4373
+ SQL_PRICING_PLAN_UNSPECIFIED = 0
4374
+
4375
+ # The instance is billed at a monthly flat rate.
4376
+ PACKAGE = 1
4377
+
4378
+ # The instance is billed per usage.
4379
+ PER_USE = 2
4380
+ end
4381
+
4382
+ module SqlReplicationType
4383
+ # This is an unknown replication type for a Cloud SQL instance.
4384
+ SQL_REPLICATION_TYPE_UNSPECIFIED = 0
4385
+
4386
+ # The synchronous replication mode for First Generation instances. It is the
4387
+ # default value.
4388
+ SYNCHRONOUS = 1
4389
+
4390
+ # The asynchronous replication mode for First Generation instances. It
4391
+ # provides a slight performance gain, but if an outage occurs while this
4392
+ # option is set to asynchronous, you can lose up to a few seconds of updates
4393
+ # to your data.
4394
+ ASYNCHRONOUS = 2
4395
+ end
4396
+
4397
+ # The type of disk that is used for a v2 instance to use.
4398
+ module SqlDataDiskType
4399
+ # This is an unknown data disk type.
4400
+ SQL_DATA_DISK_TYPE_UNSPECIFIED = 0
4401
+
4402
+ # An SSD data disk.
4403
+ PD_SSD = 1
4404
+
4405
+ # An HDD data disk.
4406
+ PD_HDD = 2
4407
+
4408
+ # This field is deprecated and will be removed from a future version of the
4409
+ # API.
4410
+ OBSOLETE_LOCAL_SSD = 3
4411
+
4412
+ # A Hyperdisk Balanced data disk.
4413
+ HYPERDISK_BALANCED = 4
4414
+ end
4415
+
4416
+ # The availability type of the given Cloud SQL instance.
4417
+ module SqlAvailabilityType
4418
+ # This is an unknown Availability type.
4419
+ SQL_AVAILABILITY_TYPE_UNSPECIFIED = 0
4420
+
4421
+ # Zonal available instance.
4422
+ ZONAL = 1
4423
+
4424
+ # Regional available instance.
4425
+ REGIONAL = 2
4426
+ end
4427
+
4428
+ module SqlUpdateTrack
4429
+ # This is an unknown maintenance timing preference.
4430
+ SQL_UPDATE_TRACK_UNSPECIFIED = 0
4431
+
4432
+ # For an instance with a scheduled maintenance window, this maintenance
4433
+ # timing indicates that the maintenance update is scheduled 7 to 14 days
4434
+ # after the notification is sent out. Also referred to as `Week 1` (Console)
4435
+ # and `preview` (gcloud CLI).
4436
+
4437
+ # For an instance with a scheduled maintenance window, this maintenance
4438
+ # timing indicates that the maintenance update is scheduled 15 to 21 days
4439
+ # after the notification is sent out. Also referred to as `Week 2` (Console)
4440
+ # and `production` (gcloud CLI).
4441
+
4442
+ # For instance with a scheduled maintenance window, this maintenance
4443
+ # timing indicates that the maintenance update is scheduled 35 to 42 days
4444
+ # after the notification is sent out.
4445
+ 3
4446
+ end
4447
+
4448
+ module SqlFlagType
4449
+ # This is an unknown flag type.
4450
+ SQL_FLAG_TYPE_UNSPECIFIED = 0
4451
+
4452
+ # Boolean type flag.
4453
+ BOOLEAN = 1
4454
+
4455
+ # String type flag.
4456
+ STRING = 2
4457
+
4458
+ # Integer type flag.
4459
+ INTEGER = 3
4460
+
4461
+ # Flag type used for a server startup option.
4462
+ NONE = 4
4463
+
4464
+ # Type introduced specially for MySQL TimeZone offset. Accept a string value
4465
+ # with the format [-12:59, 13:00].
4466
+ MYSQL_TIMEZONE_OFFSET = 5
4467
+
4468
+ # Float type flag.
4469
+ FLOAT = 6
4470
+
4471
+ # Comma-separated list of the strings in a SqlFlagType enum.
4472
+ REPEATED_STRING = 7
4473
+ end
4474
+
4475
+ # Scopes of a flag describe where the flag is used.
4476
+ module SqlFlagScope
4477
+ # Assume database flags if unspecified
4478
+ SQL_FLAG_SCOPE_UNSPECIFIED = 0
4479
+
4480
+ # database flags
4481
+ SQL_FLAG_SCOPE_DATABASE = 1
4482
+
4483
+ # connection pool configuration flags
4484
+ SQL_FLAG_SCOPE_CONNECTION_POOL = 2
4485
+ end
4486
+ end
4487
+ end
4488
+ end
4489
+ end