google-cloud-sql-v1 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 (129) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +146 -8
  5. data/lib/google/cloud/sql/v1/cloud_sql_available_database_versions_pb.rb +25 -0
  6. data/lib/google/cloud/sql/v1/cloud_sql_available_database_versions_services_pb.rb +29 -0
  7. data/lib/google/cloud/sql/v1/cloud_sql_backup_runs_pb.rb +35 -0
  8. data/lib/google/cloud/sql/v1/cloud_sql_backup_runs_services_pb.rb +53 -0
  9. data/lib/google/cloud/sql/v1/cloud_sql_backups_pb.rb +41 -0
  10. data/lib/google/cloud/sql/v1/cloud_sql_backups_services_pb.rb +54 -0
  11. data/lib/google/cloud/sql/v1/cloud_sql_connect_pb.rb +34 -0
  12. data/lib/google/cloud/sql/v1/cloud_sql_connect_services_pb.rb +50 -0
  13. data/lib/google/cloud/sql/v1/cloud_sql_databases_pb.rb +30 -0
  14. data/lib/google/cloud/sql/v1/cloud_sql_databases_services_pb.rb +61 -0
  15. data/lib/google/cloud/sql/v1/cloud_sql_events_pb.rb +25 -0
  16. data/lib/google/cloud/sql/v1/cloud_sql_events_services_pb.rb +29 -0
  17. data/lib/google/cloud/sql/v1/cloud_sql_feature_eligibility_pb.rb +24 -0
  18. data/lib/google/cloud/sql/v1/cloud_sql_feature_eligibility_services_pb.rb +29 -0
  19. data/lib/google/cloud/sql/v1/cloud_sql_flags_pb.rb +31 -0
  20. data/lib/google/cloud/sql/v1/cloud_sql_flags_services_pb.rb +45 -0
  21. data/lib/google/cloud/sql/v1/cloud_sql_iam_policies_pb.rb +23 -0
  22. data/lib/google/cloud/sql/v1/cloud_sql_iam_policies_services_pb.rb +29 -0
  23. data/lib/google/cloud/sql/v1/cloud_sql_instance_names_pb.rb +24 -0
  24. data/lib/google/cloud/sql/v1/cloud_sql_instance_names_services_pb.rb +29 -0
  25. data/lib/google/cloud/sql/v1/cloud_sql_instances_pb.rb +146 -0
  26. data/lib/google/cloud/sql/v1/cloud_sql_instances_services_pb.rb +184 -0
  27. data/lib/google/cloud/sql/v1/cloud_sql_operations_pb.rb +30 -0
  28. data/lib/google/cloud/sql/v1/cloud_sql_operations_services_pb.rb +50 -0
  29. data/lib/google/cloud/sql/v1/cloud_sql_regions_pb.rb +25 -0
  30. data/lib/google/cloud/sql/v1/cloud_sql_regions_services_pb.rb +29 -0
  31. data/lib/google/cloud/sql/v1/cloud_sql_resources_pb.rb +119 -0
  32. data/lib/google/cloud/sql/v1/cloud_sql_ssl_certs_pb.rb +31 -0
  33. data/lib/google/cloud/sql/v1/cloud_sql_ssl_certs_services_pb.rb +56 -0
  34. data/lib/google/cloud/sql/v1/cloud_sql_tiers_pb.rb +26 -0
  35. data/lib/google/cloud/sql/v1/cloud_sql_tiers_services_pb.rb +47 -0
  36. data/lib/google/cloud/sql/v1/cloud_sql_users_pb.rb +41 -0
  37. data/lib/google/cloud/sql/v1/cloud_sql_users_services_pb.rb +53 -0
  38. data/lib/google/cloud/sql/v1/rest.rb +46 -0
  39. data/lib/google/cloud/sql/v1/sql_backup_runs_service/client.rb +809 -0
  40. data/lib/google/cloud/sql/v1/sql_backup_runs_service/credentials.rb +48 -0
  41. data/lib/google/cloud/sql/v1/sql_backup_runs_service/rest/client.rb +720 -0
  42. data/lib/google/cloud/sql/v1/sql_backup_runs_service/rest/service_stub.rb +332 -0
  43. data/lib/google/cloud/sql/v1/sql_backup_runs_service/rest.rb +51 -0
  44. data/lib/google/cloud/sql/v1/sql_backup_runs_service.rb +54 -0
  45. data/lib/google/cloud/sql/v1/sql_backups_service/client.rb +896 -0
  46. data/lib/google/cloud/sql/v1/sql_backups_service/credentials.rb +48 -0
  47. data/lib/google/cloud/sql/v1/sql_backups_service/paths.rb +64 -0
  48. data/lib/google/cloud/sql/v1/sql_backups_service/rest/client.rb +818 -0
  49. data/lib/google/cloud/sql/v1/sql_backups_service/rest/service_stub.rb +388 -0
  50. data/lib/google/cloud/sql/v1/sql_backups_service/rest.rb +50 -0
  51. data/lib/google/cloud/sql/v1/sql_backups_service.rb +53 -0
  52. data/lib/google/cloud/sql/v1/sql_connect_service/client.rb +607 -0
  53. data/lib/google/cloud/sql/v1/sql_connect_service/credentials.rb +48 -0
  54. data/lib/google/cloud/sql/v1/sql_connect_service/rest/client.rb +544 -0
  55. data/lib/google/cloud/sql/v1/sql_connect_service/rest/service_stub.rb +206 -0
  56. data/lib/google/cloud/sql/v1/sql_connect_service/rest.rb +51 -0
  57. data/lib/google/cloud/sql/v1/sql_connect_service.rb +54 -0
  58. data/lib/google/cloud/sql/v1/sql_databases_service/client.rb +1011 -0
  59. data/lib/google/cloud/sql/v1/sql_databases_service/credentials.rb +48 -0
  60. data/lib/google/cloud/sql/v1/sql_databases_service/rest/client.rb +896 -0
  61. data/lib/google/cloud/sql/v1/sql_databases_service/rest/service_stub.rb +460 -0
  62. data/lib/google/cloud/sql/v1/sql_databases_service/rest.rb +51 -0
  63. data/lib/google/cloud/sql/v1/sql_databases_service.rb +54 -0
  64. data/lib/google/cloud/sql/v1/sql_flags_service/client.rb +488 -0
  65. data/lib/google/cloud/sql/v1/sql_flags_service/credentials.rb +48 -0
  66. data/lib/google/cloud/sql/v1/sql_flags_service/rest/client.rb +446 -0
  67. data/lib/google/cloud/sql/v1/sql_flags_service/rest/service_stub.rb +140 -0
  68. data/lib/google/cloud/sql/v1/sql_flags_service/rest.rb +51 -0
  69. data/lib/google/cloud/sql/v1/sql_flags_service.rb +54 -0
  70. data/lib/google/cloud/sql/v1/sql_instances_service/client.rb +4738 -0
  71. data/lib/google/cloud/sql/v1/sql_instances_service/credentials.rb +48 -0
  72. data/lib/google/cloud/sql/v1/sql_instances_service/paths.rb +95 -0
  73. data/lib/google/cloud/sql/v1/sql_instances_service/rest/client.rb +4274 -0
  74. data/lib/google/cloud/sql/v1/sql_instances_service/rest/service_stub.rb +2769 -0
  75. data/lib/google/cloud/sql/v1/sql_instances_service/rest.rb +50 -0
  76. data/lib/google/cloud/sql/v1/sql_instances_service.rb +53 -0
  77. data/lib/google/cloud/sql/v1/sql_operations_service/client.rb +694 -0
  78. data/lib/google/cloud/sql/v1/sql_operations_service/credentials.rb +48 -0
  79. data/lib/google/cloud/sql/v1/sql_operations_service/rest/client.rb +624 -0
  80. data/lib/google/cloud/sql/v1/sql_operations_service/rest/service_stub.rb +266 -0
  81. data/lib/google/cloud/sql/v1/sql_operations_service/rest.rb +51 -0
  82. data/lib/google/cloud/sql/v1/sql_operations_service.rb +54 -0
  83. data/lib/google/cloud/sql/v1/sql_ssl_certs_service/client.rb +804 -0
  84. data/lib/google/cloud/sql/v1/sql_ssl_certs_service/credentials.rb +48 -0
  85. data/lib/google/cloud/sql/v1/sql_ssl_certs_service/rest/client.rb +715 -0
  86. data/lib/google/cloud/sql/v1/sql_ssl_certs_service/rest/service_stub.rb +332 -0
  87. data/lib/google/cloud/sql/v1/sql_ssl_certs_service/rest.rb +51 -0
  88. data/lib/google/cloud/sql/v1/sql_ssl_certs_service.rb +54 -0
  89. data/lib/google/cloud/sql/v1/sql_tiers_service/client.rb +494 -0
  90. data/lib/google/cloud/sql/v1/sql_tiers_service/credentials.rb +48 -0
  91. data/lib/google/cloud/sql/v1/sql_tiers_service/rest/client.rb +444 -0
  92. data/lib/google/cloud/sql/v1/sql_tiers_service/rest/service_stub.rb +142 -0
  93. data/lib/google/cloud/sql/v1/sql_tiers_service/rest.rb +51 -0
  94. data/lib/google/cloud/sql/v1/sql_tiers_service.rb +54 -0
  95. data/lib/google/cloud/sql/v1/sql_users_service/client.rb +909 -0
  96. data/lib/google/cloud/sql/v1/sql_users_service/credentials.rb +48 -0
  97. data/lib/google/cloud/sql/v1/sql_users_service/rest/client.rb +813 -0
  98. data/lib/google/cloud/sql/v1/sql_users_service/rest/service_stub.rb +394 -0
  99. data/lib/google/cloud/sql/v1/sql_users_service/rest.rb +51 -0
  100. data/lib/google/cloud/sql/v1/sql_users_service.rb +54 -0
  101. data/lib/google/cloud/sql/v1/version.rb +8 -3
  102. data/lib/google/cloud/sql/v1.rb +60 -0
  103. data/lib/google-cloud-sql-v1.rb +21 -0
  104. data/proto_docs/README.md +4 -0
  105. data/proto_docs/google/api/client.rb +593 -0
  106. data/proto_docs/google/api/field_behavior.rb +85 -0
  107. data/proto_docs/google/api/field_info.rb +88 -0
  108. data/proto_docs/google/api/launch_stage.rb +71 -0
  109. data/proto_docs/google/api/resource.rb +227 -0
  110. data/proto_docs/google/cloud/sql/v1/cloud_sql_backup_runs.rb +245 -0
  111. data/proto_docs/google/cloud/sql/v1/cloud_sql_backups.rb +259 -0
  112. data/proto_docs/google/cloud/sql/v1/cloud_sql_connect.rb +190 -0
  113. data/proto_docs/google/cloud/sql/v1/cloud_sql_databases.rb +111 -0
  114. data/proto_docs/google/cloud/sql/v1/cloud_sql_flags.rb +154 -0
  115. data/proto_docs/google/cloud/sql/v1/cloud_sql_instances.rb +2357 -0
  116. data/proto_docs/google/cloud/sql/v1/cloud_sql_operations.rb +85 -0
  117. data/proto_docs/google/cloud/sql/v1/cloud_sql_resources.rb +2522 -0
  118. data/proto_docs/google/cloud/sql/v1/cloud_sql_ssl_certs.rb +120 -0
  119. data/proto_docs/google/cloud/sql/v1/cloud_sql_tiers.rb +69 -0
  120. data/proto_docs/google/cloud/sql/v1/cloud_sql_users.rb +291 -0
  121. data/proto_docs/google/protobuf/any.rb +145 -0
  122. data/proto_docs/google/protobuf/duration.rb +98 -0
  123. data/proto_docs/google/protobuf/empty.rb +34 -0
  124. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  125. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  126. data/proto_docs/google/protobuf/wrappers.rb +148 -0
  127. data/proto_docs/google/rpc/status.rb +48 -0
  128. data/proto_docs/google/type/interval.rb +45 -0
  129. metadata +176 -14
@@ -0,0 +1,2522 @@
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 V1
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::V1::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::V1::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
+ # @return [::Google::Protobuf::BoolValue]
121
+ # Reserved for future use.
122
+ # @!attribute [rw] location
123
+ # @return [::String]
124
+ # Location of the backup
125
+ # @!attribute [rw] point_in_time_recovery_enabled
126
+ # @return [::Google::Protobuf::BoolValue]
127
+ # Whether point in time recovery is enabled.
128
+ # @!attribute [rw] backup_retention_settings
129
+ # @return [::Google::Cloud::Sql::V1::BackupRetentionSettings]
130
+ # Backup retention settings.
131
+ # @!attribute [rw] transaction_log_retention_days
132
+ # @return [::Google::Protobuf::Int32Value]
133
+ # The number of days of transaction logs we retain for point in time
134
+ # restore, from 1-7.
135
+ # @!attribute [r] transactional_log_storage_state
136
+ # @return [::Google::Cloud::Sql::V1::BackupConfiguration::TransactionalLogStorageState]
137
+ # Output only. This value contains the storage location of transactional logs
138
+ # used to perform point-in-time recovery (PITR) for the database.
139
+ # @!attribute [r] backup_tier
140
+ # @return [::Google::Cloud::Sql::V1::BackupConfiguration::BackupTier]
141
+ # Output only. Backup tier that manages the backups for the instance.
142
+ class BackupConfiguration
143
+ include ::Google::Protobuf::MessageExts
144
+ extend ::Google::Protobuf::MessageExts::ClassMethods
145
+
146
+ # This value contains the storage location of the transactional logs
147
+ # used to perform point-in-time recovery (PITR) for the database.
148
+ module TransactionalLogStorageState
149
+ # Unspecified.
150
+ TRANSACTIONAL_LOG_STORAGE_STATE_UNSPECIFIED = 0
151
+
152
+ # The transaction logs used for PITR for the instance are stored
153
+ # on a data disk.
154
+ DISK = 1
155
+
156
+ # The transaction logs used for PITR for the instance are switching from
157
+ # being stored on a data disk to being stored in Cloud Storage.
158
+ # Only applicable to MySQL.
159
+ SWITCHING_TO_CLOUD_STORAGE = 2
160
+
161
+ # The transaction logs used for PITR for the instance are now stored
162
+ # in Cloud Storage. Previously, they were stored on a data disk.
163
+ # Only applicable to MySQL.
164
+ SWITCHED_TO_CLOUD_STORAGE = 3
165
+
166
+ # The transaction logs used for PITR for the instance are stored in
167
+ # Cloud Storage. Only applicable to MySQL and PostgreSQL.
168
+ CLOUD_STORAGE = 4
169
+ end
170
+
171
+ # Backup tier that manages the backups for the instance.
172
+ module BackupTier
173
+ # Unspecified.
174
+ BACKUP_TIER_UNSPECIFIED = 0
175
+
176
+ # Instance is managed by Cloud SQL.
177
+ STANDARD = 1
178
+
179
+ # Deprecated: ADVANCED is deprecated. Please use ENHANCED instead.
180
+ ADVANCED = 2
181
+
182
+ # Instance is managed by Google Cloud Backup and DR Service.
183
+ ENHANCED = 3
184
+ end
185
+ end
186
+
187
+ # Perform disk shrink context.
188
+ # @!attribute [rw] target_size_gb
189
+ # @return [::Integer]
190
+ # The target disk shrink size in GigaBytes.
191
+ class PerformDiskShrinkContext
192
+ include ::Google::Protobuf::MessageExts
193
+ extend ::Google::Protobuf::MessageExts::ClassMethods
194
+ end
195
+
196
+ # Structured PreCheckResponse containing message, type, and required
197
+ # actions.
198
+ # @!attribute [rw] message
199
+ # @return [::String]
200
+ # The message to be displayed to the user.
201
+ # @!attribute [rw] message_type
202
+ # @return [::Google::Cloud::Sql::V1::PreCheckResponse::MessageType]
203
+ # The type of message whether it is an info, warning, or error.
204
+ # @!attribute [rw] actions_required
205
+ # @return [::Array<::String>]
206
+ # The actions that the user needs to take. Use repeated for multiple
207
+ # actions.
208
+ class PreCheckResponse
209
+ include ::Google::Protobuf::MessageExts
210
+ extend ::Google::Protobuf::MessageExts::ClassMethods
211
+
212
+ # The type of message which can be an info, a warning, or an error that
213
+ # requires user intervention.
214
+ module MessageType
215
+ # Default unspecified value to prevent unintended behavior changes.
216
+ MESSAGE_TYPE_UNSPECIFIED = 0
217
+
218
+ # General informational messages that don't require action.
219
+ INFO = 1
220
+
221
+ # Warnings that might impact the upgrade but don't block it.
222
+ WARNING = 2
223
+
224
+ # Errors that a user must resolve before proceeding with the upgrade.
225
+ ERROR = 3
226
+ end
227
+ end
228
+
229
+ # Pre-check major version upgrade context.
230
+ # @!attribute [rw] target_database_version
231
+ # @return [::Google::Cloud::Sql::V1::SqlDatabaseVersion]
232
+ # Required. The target database version to upgrade to.
233
+ # @!attribute [r] pre_check_response
234
+ # @return [::Array<::Google::Cloud::Sql::V1::PreCheckResponse>]
235
+ # Output only. The responses from the precheck operation.
236
+ # @!attribute [rw] kind
237
+ # @return [::String]
238
+ # Optional. This is always `sql#preCheckMajorVersionUpgradeContext`.
239
+ class PreCheckMajorVersionUpgradeContext
240
+ include ::Google::Protobuf::MessageExts
241
+ extend ::Google::Protobuf::MessageExts::ClassMethods
242
+ end
243
+
244
+ # Backup context.
245
+ # @!attribute [rw] backup_id
246
+ # @return [::Integer]
247
+ # The identifier of the backup.
248
+ # @!attribute [rw] kind
249
+ # @return [::String]
250
+ # This is always `sql#backupContext`.
251
+ # @!attribute [rw] name
252
+ # @return [::String]
253
+ # The name of the backup.
254
+ # Format: projects/\\{project}/backups/\\{backup}
255
+ class BackupContext
256
+ include ::Google::Protobuf::MessageExts
257
+ extend ::Google::Protobuf::MessageExts::ClassMethods
258
+ end
259
+
260
+ # Represents a SQL database on the Cloud SQL instance.
261
+ # @!attribute [rw] kind
262
+ # @return [::String]
263
+ # This is always `sql#database`.
264
+ # @!attribute [rw] charset
265
+ # @return [::String]
266
+ # The Cloud SQL charset value.
267
+ # @!attribute [rw] collation
268
+ # @return [::String]
269
+ # The Cloud SQL collation value.
270
+ # @!attribute [rw] etag
271
+ # @return [::String]
272
+ # This field is deprecated and will be removed from a future version of the
273
+ # API.
274
+ # @!attribute [rw] name
275
+ # @return [::String]
276
+ # The name of the database in the Cloud SQL instance. This does not include
277
+ # the project ID or instance name.
278
+ # @!attribute [rw] instance
279
+ # @return [::String]
280
+ # The name of the Cloud SQL instance. This does not include the project ID.
281
+ # @!attribute [rw] self_link
282
+ # @return [::String]
283
+ # The URI of this resource.
284
+ # @!attribute [rw] project
285
+ # @return [::String]
286
+ # The project ID of the project containing the Cloud SQL database. The Google
287
+ # apps domain is prefixed if applicable.
288
+ # @!attribute [rw] sqlserver_database_details
289
+ # @return [::Google::Cloud::Sql::V1::SqlServerDatabaseDetails]
290
+ class Database
291
+ include ::Google::Protobuf::MessageExts
292
+ extend ::Google::Protobuf::MessageExts::ClassMethods
293
+ end
294
+
295
+ # Represents a Sql Server database on the Cloud SQL instance.
296
+ # @!attribute [rw] compatibility_level
297
+ # @return [::Integer]
298
+ # The version of SQL Server with which the database is to be made compatible
299
+ # @!attribute [rw] recovery_model
300
+ # @return [::String]
301
+ # The recovery model of a SQL Server database
302
+ class SqlServerDatabaseDetails
303
+ include ::Google::Protobuf::MessageExts
304
+ extend ::Google::Protobuf::MessageExts::ClassMethods
305
+ end
306
+
307
+ # Database flags for Cloud SQL instances.
308
+ # @!attribute [rw] name
309
+ # @return [::String]
310
+ # The name of the flag. These flags are passed at instance startup, so
311
+ # include both server options and system variables. Flags are
312
+ # specified with underscores, not hyphens. For more information, see
313
+ # [Configuring Database Flags](https://cloud.google.com/sql/docs/mysql/flags)
314
+ # in the Cloud SQL documentation.
315
+ # @!attribute [rw] value
316
+ # @return [::String]
317
+ # The value of the flag. Boolean flags are set to `on` for true
318
+ # and `off` for false. This field must be omitted if the flag
319
+ # doesn't take a value.
320
+ class DatabaseFlags
321
+ include ::Google::Protobuf::MessageExts
322
+ extend ::Google::Protobuf::MessageExts::ClassMethods
323
+ end
324
+
325
+ # MySQL-specific external server sync settings.
326
+ # @!attribute [rw] initial_sync_flags
327
+ # @return [::Array<::Google::Cloud::Sql::V1::SyncFlags>]
328
+ # Flags to use for the initial dump.
329
+ class MySqlSyncConfig
330
+ include ::Google::Protobuf::MessageExts
331
+ extend ::Google::Protobuf::MessageExts::ClassMethods
332
+ end
333
+
334
+ # Initial sync flags for certain Cloud SQL APIs.
335
+ # Currently used for the MySQL external server initial dump.
336
+ # @!attribute [rw] name
337
+ # @return [::String]
338
+ # The name of the flag.
339
+ # @!attribute [rw] value
340
+ # @return [::String]
341
+ # The value of the flag. This field must be omitted if the flag
342
+ # doesn't take a value.
343
+ class SyncFlags
344
+ include ::Google::Protobuf::MessageExts
345
+ extend ::Google::Protobuf::MessageExts::ClassMethods
346
+ end
347
+
348
+ # Reference to another Cloud SQL instance.
349
+ # @!attribute [rw] name
350
+ # @return [::String]
351
+ # The name of the Cloud SQL instance being referenced.
352
+ # This does not include the project ID.
353
+ # @!attribute [rw] region
354
+ # @return [::String]
355
+ # The region of the Cloud SQL instance being referenced.
356
+ # @!attribute [rw] project
357
+ # @return [::String]
358
+ # The project ID of the Cloud SQL instance being referenced.
359
+ # The default is the same project ID as the instance references it.
360
+ class InstanceReference
361
+ include ::Google::Protobuf::MessageExts
362
+ extend ::Google::Protobuf::MessageExts::ClassMethods
363
+ end
364
+
365
+ # Read-replica configuration for connecting to the on-premises primary
366
+ # instance.
367
+ # @!attribute [rw] kind
368
+ # @return [::String]
369
+ # This is always `sql#demoteMasterConfiguration`.
370
+ # @!attribute [rw] mysql_replica_configuration
371
+ # @return [::Google::Cloud::Sql::V1::DemoteMasterMySqlReplicaConfiguration]
372
+ # MySQL specific configuration when replicating from a MySQL on-premises
373
+ # primary instance. Replication configuration information such as the
374
+ # username, password, certificates, and keys are not stored in the instance
375
+ # metadata. The configuration information is used only to set up the
376
+ # replication connection and is stored by MySQL in a file named
377
+ # `master.info` in the data directory.
378
+ class DemoteMasterConfiguration
379
+ include ::Google::Protobuf::MessageExts
380
+ extend ::Google::Protobuf::MessageExts::ClassMethods
381
+ end
382
+
383
+ # Read-replica configuration specific to MySQL databases.
384
+ # @!attribute [rw] kind
385
+ # @return [::String]
386
+ # This is always `sql#demoteMasterMysqlReplicaConfiguration`.
387
+ # @!attribute [rw] username
388
+ # @return [::String]
389
+ # The username for the replication connection.
390
+ # @!attribute [rw] password
391
+ # @return [::String]
392
+ # The password for the replication connection.
393
+ # @!attribute [rw] client_key
394
+ # @return [::String]
395
+ # PEM representation of the replica's private key. The corresponding public
396
+ # key is encoded in the client's certificate. The format of the replica's
397
+ # private key can be either PKCS #1 or PKCS #8.
398
+ # @!attribute [rw] client_certificate
399
+ # @return [::String]
400
+ # PEM representation of the replica's x509 certificate.
401
+ # @!attribute [rw] ca_certificate
402
+ # @return [::String]
403
+ # PEM representation of the trusted CA's x509 certificate.
404
+ class DemoteMasterMySqlReplicaConfiguration
405
+ include ::Google::Protobuf::MessageExts
406
+ extend ::Google::Protobuf::MessageExts::ClassMethods
407
+ end
408
+
409
+ # Database instance export context.
410
+ # @!attribute [rw] uri
411
+ # @return [::String]
412
+ # The path to the file in Google Cloud Storage where the export will be
413
+ # stored. The URI is in the form `gs://bucketName/fileName`. If the file
414
+ # already exists, the request succeeds, but the operation fails. If
415
+ # `fileType` is `SQL` and the filename ends with .gz,
416
+ # the contents are compressed.
417
+ # @!attribute [rw] databases
418
+ # @return [::Array<::String>]
419
+ # Databases to be exported. <br /> `MySQL instances:` If
420
+ # `fileType` is `SQL` and no database is specified, all
421
+ # databases are exported, except for the `mysql` system database.
422
+ # If `fileType` is `CSV`, you can specify one database,
423
+ # either by using this property or by using the
424
+ # `csvExportOptions.selectQuery` property, which takes precedence
425
+ # over this property. <br /> `PostgreSQL instances:` If you don't specify a
426
+ # database by name, all user databases in the instance are exported.
427
+ # This excludes system databases and Cloud SQL databases used to manage
428
+ # internal operations. Exporting all user databases is only available for
429
+ # directory-formatted parallel export. If `fileType` is `CSV`,
430
+ # this database must match the one specified in the
431
+ # `csvExportOptions.selectQuery` property. <br /> `SQL Server
432
+ # instances:` You must specify one database to be exported, and the
433
+ # `fileType` must be `BAK`.
434
+ # @!attribute [rw] kind
435
+ # @return [::String]
436
+ # This is always `sql#exportContext`.
437
+ # @!attribute [rw] sql_export_options
438
+ # @return [::Google::Cloud::Sql::V1::ExportContext::SqlExportOptions]
439
+ # Options for exporting data as SQL statements.
440
+ # @!attribute [rw] csv_export_options
441
+ # @return [::Google::Cloud::Sql::V1::ExportContext::SqlCsvExportOptions]
442
+ # Options for exporting data as CSV. `MySQL` and `PostgreSQL`
443
+ # instances only.
444
+ # @!attribute [rw] file_type
445
+ # @return [::Google::Cloud::Sql::V1::SqlFileType]
446
+ # The file type for the specified uri.
447
+ # @!attribute [rw] offload
448
+ # @return [::Google::Protobuf::BoolValue]
449
+ # Whether to perform a serverless export.
450
+ # @!attribute [rw] bak_export_options
451
+ # @return [::Google::Cloud::Sql::V1::ExportContext::SqlBakExportOptions]
452
+ # Options for exporting data as BAK files.
453
+ # @!attribute [rw] tde_export_options
454
+ # @return [::Google::Cloud::Sql::V1::ExportContext::SqlTdeExportOptions]
455
+ # Optional. Export parameters specific to SQL Server TDE certificates
456
+ class ExportContext
457
+ include ::Google::Protobuf::MessageExts
458
+ extend ::Google::Protobuf::MessageExts::ClassMethods
459
+
460
+ # @!attribute [rw] select_query
461
+ # @return [::String]
462
+ # The select query used to extract the data.
463
+ # @!attribute [rw] escape_character
464
+ # @return [::String]
465
+ # Specifies the character that should appear before a data character that
466
+ # needs to be escaped.
467
+ # @!attribute [rw] quote_character
468
+ # @return [::String]
469
+ # Specifies the quoting character to be used when a data value is quoted.
470
+ # @!attribute [rw] fields_terminated_by
471
+ # @return [::String]
472
+ # Specifies the character that separates columns within each row (line) of
473
+ # the file.
474
+ # @!attribute [rw] lines_terminated_by
475
+ # @return [::String]
476
+ # This is used to separate lines. If a line does not contain all fields,
477
+ # the rest of the columns are set to their default values.
478
+ class SqlCsvExportOptions
479
+ include ::Google::Protobuf::MessageExts
480
+ extend ::Google::Protobuf::MessageExts::ClassMethods
481
+ end
482
+
483
+ # @!attribute [rw] tables
484
+ # @return [::Array<::String>]
485
+ # Tables to export, or that were exported, from the specified database. If
486
+ # you specify tables, specify one and only one database. For PostgreSQL
487
+ # instances, you can specify only one table.
488
+ # @!attribute [rw] schema_only
489
+ # @return [::Google::Protobuf::BoolValue]
490
+ # Export only schemas.
491
+ # @!attribute [rw] mysql_export_options
492
+ # @return [::Google::Cloud::Sql::V1::ExportContext::SqlExportOptions::MysqlExportOptions]
493
+ # @!attribute [rw] threads
494
+ # @return [::Google::Protobuf::Int32Value]
495
+ # Optional. The number of threads to use for parallel export.
496
+ # @!attribute [rw] parallel
497
+ # @return [::Google::Protobuf::BoolValue]
498
+ # Optional. Whether or not the export should be parallel.
499
+ # @!attribute [rw] postgres_export_options
500
+ # @return [::Google::Cloud::Sql::V1::ExportContext::SqlExportOptions::PostgresExportOptions]
501
+ # Optional. Options for exporting from a Cloud SQL for PostgreSQL instance.
502
+ class SqlExportOptions
503
+ include ::Google::Protobuf::MessageExts
504
+ extend ::Google::Protobuf::MessageExts::ClassMethods
505
+
506
+ # Options for exporting from MySQL.
507
+ # @!attribute [rw] master_data
508
+ # @return [::Google::Protobuf::Int32Value]
509
+ # Option to include SQL statement required to set up replication. If set
510
+ # to `1`, the dump file includes a CHANGE MASTER TO statement with the
511
+ # binary log coordinates, and --set-gtid-purged is set to ON. If set to
512
+ # `2`, the CHANGE MASTER TO statement is written as a SQL comment and
513
+ # has no effect. If set to any value other than `1`, --set-gtid-purged
514
+ # is set to OFF.
515
+ class MysqlExportOptions
516
+ include ::Google::Protobuf::MessageExts
517
+ extend ::Google::Protobuf::MessageExts::ClassMethods
518
+ end
519
+
520
+ # Options for exporting from a Cloud SQL for PostgreSQL instance.
521
+ # @!attribute [rw] clean
522
+ # @return [::Google::Protobuf::BoolValue]
523
+ # Optional. Use this option to include DROP <code>&lt;object&gt;</code>
524
+ # SQL statements. Use these statements to delete database objects before
525
+ # running the import operation.
526
+ # @!attribute [rw] if_exists
527
+ # @return [::Google::Protobuf::BoolValue]
528
+ # Optional. Option to include an IF EXISTS SQL statement with each DROP
529
+ # statement produced by clean.
530
+ class PostgresExportOptions
531
+ include ::Google::Protobuf::MessageExts
532
+ extend ::Google::Protobuf::MessageExts::ClassMethods
533
+ end
534
+ end
535
+
536
+ # Options for exporting BAK files (SQL Server-only)
537
+ # @!attribute [rw] striped
538
+ # @return [::Google::Protobuf::BoolValue]
539
+ # Whether or not the export should be striped.
540
+ # @!attribute [rw] stripe_count
541
+ # @return [::Google::Protobuf::Int32Value]
542
+ # Option for specifying how many stripes to use for the export.
543
+ # If blank, and the value of the striped field is true,
544
+ # the number of stripes is automatically chosen.
545
+ # @!attribute [rw] bak_type
546
+ # @return [::Google::Cloud::Sql::V1::BakType]
547
+ # Type of this bak file will be export, FULL or DIFF, SQL Server only
548
+ # @!attribute [rw] copy_only
549
+ # @deprecated This field is deprecated and may be removed in the next major version update.
550
+ # @return [::Google::Protobuf::BoolValue]
551
+ # Deprecated: copy_only is deprecated. Use differential_base instead
552
+ # @!attribute [rw] differential_base
553
+ # @return [::Google::Protobuf::BoolValue]
554
+ # Whether or not the backup can be used as a differential base
555
+ # copy_only backup can not be served as differential base
556
+ # @!attribute [rw] export_log_start_time
557
+ # @return [::Google::Protobuf::Timestamp]
558
+ # Optional. The begin timestamp when transaction log will be included in
559
+ # the export operation. [RFC 3339](https://tools.ietf.org/html/rfc3339)
560
+ # format (for example, `2023-10-01T16:19:00.094`) in UTC. When omitted, all
561
+ # available logs from the beginning of retention period will be included.
562
+ # Only applied to Cloud SQL for SQL Server.
563
+ # @!attribute [rw] export_log_end_time
564
+ # @return [::Google::Protobuf::Timestamp]
565
+ # Optional. The end timestamp when transaction log will be included in the
566
+ # export operation. [RFC 3339](https://tools.ietf.org/html/rfc3339) format
567
+ # (for example, `2023-10-01T16:19:00.094`) in UTC. When omitted, all
568
+ # available logs until current time will be included. Only applied to Cloud
569
+ # SQL for SQL Server.
570
+ class SqlBakExportOptions
571
+ include ::Google::Protobuf::MessageExts
572
+ extend ::Google::Protobuf::MessageExts::ClassMethods
573
+ end
574
+
575
+ # @!attribute [rw] certificate_path
576
+ # @return [::String]
577
+ # Required. Path to the TDE certificate public key
578
+ # in the form gs://bucketName/fileName.
579
+ # The instance must have write access to the bucket.
580
+ # Applicable only for SQL Server instances.
581
+ # @!attribute [rw] private_key_path
582
+ # @return [::String]
583
+ # Required. Path to the TDE certificate private key
584
+ # in the form gs://bucketName/fileName.
585
+ # The instance must have write access to the location.
586
+ # Applicable only for SQL Server instances.
587
+ # @!attribute [rw] private_key_password
588
+ # @return [::String]
589
+ # Required. Password that encrypts the private key.
590
+ # @!attribute [rw] name
591
+ # @return [::String]
592
+ # Required. Certificate name.
593
+ # Applicable only for SQL Server instances.
594
+ class SqlTdeExportOptions
595
+ include ::Google::Protobuf::MessageExts
596
+ extend ::Google::Protobuf::MessageExts::ClassMethods
597
+ end
598
+ end
599
+
600
+ # Database instance import context.
601
+ # @!attribute [rw] uri
602
+ # @return [::String]
603
+ # Path to the import file in Cloud Storage, in the form
604
+ # `gs://bucketName/fileName`. Compressed gzip files (.gz) are supported
605
+ # when `fileType` is `SQL`. The instance must have
606
+ # write permissions to the bucket and read access to the file.
607
+ # @!attribute [rw] database
608
+ # @return [::String]
609
+ # The target database for the import. If `fileType` is `SQL`, this field
610
+ # is required only if the import file does not specify a database, and is
611
+ # overridden by any database specification in the import file. For entire
612
+ # instance parallel import operations, the database is overridden by the
613
+ # database name stored in subdirectory name. If
614
+ # `fileType` is `CSV`, one database must be specified.
615
+ # @!attribute [rw] kind
616
+ # @return [::String]
617
+ # This is always `sql#importContext`.
618
+ # @!attribute [rw] file_type
619
+ # @return [::Google::Cloud::Sql::V1::SqlFileType]
620
+ # The file type for the specified uri.\`SQL`: The file
621
+ # contains SQL statements. \`CSV`: The file contains CSV data.
622
+ # @!attribute [rw] csv_import_options
623
+ # @return [::Google::Cloud::Sql::V1::ImportContext::SqlCsvImportOptions]
624
+ # Options for importing data as CSV.
625
+ # @!attribute [rw] import_user
626
+ # @return [::String]
627
+ # The PostgreSQL user for this import operation. PostgreSQL instances only.
628
+ # @!attribute [rw] bak_import_options
629
+ # @return [::Google::Cloud::Sql::V1::ImportContext::SqlBakImportOptions]
630
+ # Import parameters specific to SQL Server .BAK files
631
+ # @!attribute [rw] sql_import_options
632
+ # @return [::Google::Cloud::Sql::V1::ImportContext::SqlImportOptions]
633
+ # Optional. Options for importing data from SQL statements.
634
+ # @!attribute [rw] tde_import_options
635
+ # @return [::Google::Cloud::Sql::V1::ImportContext::SqlTdeImportOptions]
636
+ # Optional. Import parameters specific to SQL Server TDE certificates
637
+ class ImportContext
638
+ include ::Google::Protobuf::MessageExts
639
+ extend ::Google::Protobuf::MessageExts::ClassMethods
640
+
641
+ # @!attribute [rw] threads
642
+ # @return [::Google::Protobuf::Int32Value]
643
+ # Optional. The number of threads to use for parallel import.
644
+ # @!attribute [rw] parallel
645
+ # @return [::Google::Protobuf::BoolValue]
646
+ # Optional. Whether or not the import should be parallel.
647
+ # @!attribute [rw] postgres_import_options
648
+ # @return [::Google::Cloud::Sql::V1::ImportContext::SqlImportOptions::PostgresImportOptions]
649
+ # Optional. Options for importing from a Cloud SQL for PostgreSQL instance.
650
+ class SqlImportOptions
651
+ include ::Google::Protobuf::MessageExts
652
+ extend ::Google::Protobuf::MessageExts::ClassMethods
653
+
654
+ # @!attribute [rw] clean
655
+ # @return [::Google::Protobuf::BoolValue]
656
+ # Optional. The --clean flag for the pg_restore utility. This flag
657
+ # applies only if you enabled Cloud SQL to import files in parallel.
658
+ # @!attribute [rw] if_exists
659
+ # @return [::Google::Protobuf::BoolValue]
660
+ # Optional. The --if-exists flag for the pg_restore utility. This flag
661
+ # applies only if you enabled Cloud SQL to import files in parallel.
662
+ class PostgresImportOptions
663
+ include ::Google::Protobuf::MessageExts
664
+ extend ::Google::Protobuf::MessageExts::ClassMethods
665
+ end
666
+ end
667
+
668
+ # @!attribute [rw] table
669
+ # @return [::String]
670
+ # The table to which CSV data is imported.
671
+ # @!attribute [rw] columns
672
+ # @return [::Array<::String>]
673
+ # The columns to which CSV data is imported. If not specified, all columns
674
+ # of the database table are loaded with CSV data.
675
+ # @!attribute [rw] escape_character
676
+ # @return [::String]
677
+ # Specifies the character that should appear before a data character that
678
+ # needs to be escaped.
679
+ # @!attribute [rw] quote_character
680
+ # @return [::String]
681
+ # Specifies the quoting character to be used when a data value is quoted.
682
+ # @!attribute [rw] fields_terminated_by
683
+ # @return [::String]
684
+ # Specifies the character that separates columns within each row (line) of
685
+ # the file.
686
+ # @!attribute [rw] lines_terminated_by
687
+ # @return [::String]
688
+ # This is used to separate lines. If a line does not contain all fields,
689
+ # the rest of the columns are set to their default values.
690
+ class SqlCsvImportOptions
691
+ include ::Google::Protobuf::MessageExts
692
+ extend ::Google::Protobuf::MessageExts::ClassMethods
693
+ end
694
+
695
+ # @!attribute [rw] encryption_options
696
+ # @return [::Google::Cloud::Sql::V1::ImportContext::SqlBakImportOptions::EncryptionOptions]
697
+ # @!attribute [rw] striped
698
+ # @return [::Google::Protobuf::BoolValue]
699
+ # Whether or not the backup set being restored is striped.
700
+ # Applies only to Cloud SQL for SQL Server.
701
+ # @!attribute [rw] no_recovery
702
+ # @return [::Google::Protobuf::BoolValue]
703
+ # Whether or not the backup importing will restore database
704
+ # with NORECOVERY option.
705
+ # Applies only to Cloud SQL for SQL Server.
706
+ # @!attribute [rw] recovery_only
707
+ # @return [::Google::Protobuf::BoolValue]
708
+ # Whether or not the backup importing request will just bring database
709
+ # online without downloading Bak content only one of "no_recovery" and
710
+ # "recovery_only" can be true otherwise error will return. Applies only to
711
+ # Cloud SQL for SQL Server.
712
+ # @!attribute [rw] bak_type
713
+ # @return [::Google::Cloud::Sql::V1::BakType]
714
+ # Type of the bak content, FULL or DIFF
715
+ # @!attribute [rw] stop_at
716
+ # @return [::Google::Protobuf::Timestamp]
717
+ # Optional. The timestamp when the import should stop. This timestamp is in
718
+ # the [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example,
719
+ # `2023-10-01T16:19:00.094`). This field is equivalent to the STOPAT
720
+ # keyword and applies to Cloud SQL for SQL Server only.
721
+ # @!attribute [rw] stop_at_mark
722
+ # @return [::String]
723
+ # Optional. The marked transaction where the import should stop. This field
724
+ # is equivalent to the STOPATMARK keyword and applies to Cloud SQL for SQL
725
+ # Server only.
726
+ class SqlBakImportOptions
727
+ include ::Google::Protobuf::MessageExts
728
+ extend ::Google::Protobuf::MessageExts::ClassMethods
729
+
730
+ # @!attribute [rw] cert_path
731
+ # @return [::String]
732
+ # Path to the Certificate (.cer) in Cloud Storage, in the form
733
+ # `gs://bucketName/fileName`. The instance must have
734
+ # write permissions to the bucket and read access to the file.
735
+ # @!attribute [rw] pvk_path
736
+ # @return [::String]
737
+ # Path to the Certificate Private Key (.pvk) in Cloud Storage, in the
738
+ # form `gs://bucketName/fileName`. The instance must have
739
+ # write permissions to the bucket and read access to the file.
740
+ # @!attribute [rw] pvk_password
741
+ # @return [::String]
742
+ # Password that encrypts the private key
743
+ # @!attribute [rw] keep_encrypted
744
+ # @return [::Google::Protobuf::BoolValue]
745
+ # Optional. Whether the imported file remains encrypted.
746
+ class EncryptionOptions
747
+ include ::Google::Protobuf::MessageExts
748
+ extend ::Google::Protobuf::MessageExts::ClassMethods
749
+ end
750
+ end
751
+
752
+ # @!attribute [rw] certificate_path
753
+ # @return [::String]
754
+ # Required. Path to the TDE certificate public key
755
+ # in the form gs://bucketName/fileName.
756
+ # The instance must have read access to the file.
757
+ # Applicable only for SQL Server instances.
758
+ # @!attribute [rw] private_key_path
759
+ # @return [::String]
760
+ # Required. Path to the TDE certificate private key
761
+ # in the form gs://bucketName/fileName.
762
+ # The instance must have read access to the file.
763
+ # Applicable only for SQL Server instances.
764
+ # @!attribute [rw] private_key_password
765
+ # @return [::String]
766
+ # Required. Password that encrypts the private key.
767
+ # @!attribute [rw] name
768
+ # @return [::String]
769
+ # Required. Certificate name.
770
+ # Applicable only for SQL Server instances.
771
+ class SqlTdeImportOptions
772
+ include ::Google::Protobuf::MessageExts
773
+ extend ::Google::Protobuf::MessageExts::ClassMethods
774
+ end
775
+ end
776
+
777
+ # IP Management configuration.
778
+ # @!attribute [rw] ipv4_enabled
779
+ # @return [::Google::Protobuf::BoolValue]
780
+ # Whether the instance is assigned a public IP address or not.
781
+ # @!attribute [rw] private_network
782
+ # @return [::String]
783
+ # The resource link for the VPC network from which the Cloud SQL instance is
784
+ # accessible for private IP. For example,
785
+ # `/projects/myProject/global/networks/default`. This setting can
786
+ # be updated, but it cannot be removed after it is set.
787
+ # @!attribute [rw] require_ssl
788
+ # @return [::Google::Protobuf::BoolValue]
789
+ # Use `ssl_mode` instead.
790
+ #
791
+ # Whether SSL/TLS connections over IP are enforced.
792
+ # If set to false, then allow both non-SSL/non-TLS and SSL/TLS connections.
793
+ # For SSL/TLS connections, the client certificate won't be verified. If
794
+ # set to true, then only allow connections encrypted with SSL/TLS and with
795
+ # valid client certificates. If you want to enforce SSL/TLS without enforcing
796
+ # the requirement for valid client certificates, then use the `ssl_mode` flag
797
+ # instead of the `require_ssl` flag.
798
+ # @!attribute [rw] authorized_networks
799
+ # @return [::Array<::Google::Cloud::Sql::V1::AclEntry>]
800
+ # The list of external networks that are allowed to connect to the instance
801
+ # using the IP. In 'CIDR' notation, also known as 'slash' notation (for
802
+ # example: `157.197.200.0/24`).
803
+ # @!attribute [rw] allocated_ip_range
804
+ # @return [::String]
805
+ # The name of the allocated ip range for the private ip Cloud SQL instance.
806
+ # For example: "google-managed-services-default". If set, the instance ip
807
+ # will be created in the allocated range. The range name must comply with
808
+ # [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name
809
+ # must be 1-63 characters long and match the regular expression
810
+ # `[a-z]([-a-z0-9]*[a-z0-9])?.`
811
+ # @!attribute [rw] enable_private_path_for_google_cloud_services
812
+ # @return [::Google::Protobuf::BoolValue]
813
+ # Controls connectivity to private IP instances from Google services,
814
+ # such as BigQuery.
815
+ # @!attribute [rw] ssl_mode
816
+ # @return [::Google::Cloud::Sql::V1::IpConfiguration::SslMode]
817
+ # Specify how SSL/TLS is enforced in database connections. If you must use
818
+ # the `require_ssl` flag for backward compatibility, then only the following
819
+ # value pairs are valid:
820
+ #
821
+ # For PostgreSQL and MySQL:
822
+ #
823
+ # * `ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false`
824
+ # * `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=false`
825
+ # * `ssl_mode=TRUSTED_CLIENT_CERTIFICATE_REQUIRED` and `require_ssl=true`
826
+ #
827
+ # For SQL Server:
828
+ #
829
+ # * `ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false`
830
+ # * `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=true`
831
+ #
832
+ # The value of `ssl_mode` has priority over the value of `require_ssl`.
833
+ #
834
+ # For example, for the pair `ssl_mode=ENCRYPTED_ONLY` and
835
+ # `require_ssl=false`, `ssl_mode=ENCRYPTED_ONLY` means accept only SSL
836
+ # connections, while `require_ssl=false` means accept both non-SSL
837
+ # and SSL connections. In this case, MySQL and PostgreSQL databases respect
838
+ # `ssl_mode` and accepts only SSL connections.
839
+ # @!attribute [rw] psc_config
840
+ # @return [::Google::Cloud::Sql::V1::PscConfig]
841
+ # PSC settings for this instance.
842
+ # @!attribute [rw] server_ca_mode
843
+ # @return [::Google::Cloud::Sql::V1::IpConfiguration::CaMode]
844
+ # Specify what type of CA is used for the server certificate.
845
+ # @!attribute [rw] custom_subject_alternative_names
846
+ # @return [::Array<::String>]
847
+ # Optional. Custom Subject Alternative Name(SAN)s for a Cloud SQL instance.
848
+ # @!attribute [rw] server_ca_pool
849
+ # @return [::String]
850
+ # Optional. The resource name of the server CA pool for an instance with
851
+ # `CUSTOMER_MANAGED_CAS_CA` as the `server_ca_mode`.
852
+ # Format: projects/\\{PROJECT}/locations/\\{REGION}/caPools/\\{CA_POOL_ID}
853
+ # @!attribute [rw] server_certificate_rotation_mode
854
+ # @return [::Google::Cloud::Sql::V1::IpConfiguration::ServerCertificateRotationMode]
855
+ # Optional. Controls the automatic server certificate rotation feature. This
856
+ # feature is disabled by default. When enabled, the server certificate will
857
+ # be automatically rotated during Cloud SQL scheduled maintenance or
858
+ # self-service maintenance updates up to six months before it expires. This
859
+ # setting can only be set if server_ca_mode is either GOOGLE_MANAGED_CAS_CA
860
+ # or CUSTOMER_MANAGED_CAS_CA.
861
+ class IpConfiguration
862
+ include ::Google::Protobuf::MessageExts
863
+ extend ::Google::Protobuf::MessageExts::ClassMethods
864
+
865
+ # The SSL options for database connections.
866
+ module SslMode
867
+ # The SSL mode is unknown.
868
+ SSL_MODE_UNSPECIFIED = 0
869
+
870
+ # Allow non-SSL/non-TLS and SSL/TLS connections.
871
+ # For SSL connections to MySQL and PostgreSQL, the client certificate
872
+ # isn't verified.
873
+ #
874
+ # When this value is used, the legacy `require_ssl` flag must be false or
875
+ # cleared to avoid a conflict between the values of the two flags.
876
+ ALLOW_UNENCRYPTED_AND_ENCRYPTED = 1
877
+
878
+ # Only allow connections encrypted with SSL/TLS.
879
+ # For SSL connections to MySQL and PostgreSQL, the client certificate
880
+ # isn't verified.
881
+ #
882
+ # When this value is used, the legacy `require_ssl` flag must be false or
883
+ # cleared to avoid a conflict between the values of the two flags.
884
+ ENCRYPTED_ONLY = 2
885
+
886
+ # Only allow connections encrypted with SSL/TLS and with valid
887
+ # client certificates.
888
+ #
889
+ # When this value is used, the legacy `require_ssl` flag must be true or
890
+ # cleared to avoid the conflict between values of two flags.
891
+ # PostgreSQL clients or users that connect using IAM database
892
+ # authentication must use either the
893
+ # [Cloud SQL Auth
894
+ # Proxy](https://cloud.google.com/sql/docs/postgres/connect-auth-proxy) or
895
+ # [Cloud SQL
896
+ # Connectors](https://cloud.google.com/sql/docs/postgres/connect-connectors)
897
+ # to enforce client identity verification.
898
+ #
899
+ # Only applicable to MySQL and PostgreSQL. Not applicable to SQL Server.
900
+ TRUSTED_CLIENT_CERTIFICATE_REQUIRED = 3
901
+ end
902
+
903
+ # Various Certificate Authority (CA) modes for certificate signing.
904
+ module CaMode
905
+ # CA mode is unspecified. It is effectively the same as
906
+ # `GOOGLE_MANAGED_INTERNAL_CA`.
907
+ CA_MODE_UNSPECIFIED = 0
908
+
909
+ # Google-managed self-signed internal CA.
910
+ GOOGLE_MANAGED_INTERNAL_CA = 1
911
+
912
+ # Google-managed regional CA part of root CA hierarchy hosted on Google
913
+ # Cloud's Certificate Authority Service (CAS).
914
+ GOOGLE_MANAGED_CAS_CA = 2
915
+
916
+ # Customer-managed CA hosted on Google Cloud's Certificate Authority
917
+ # Service (CAS).
918
+ CUSTOMER_MANAGED_CAS_CA = 3
919
+ end
920
+
921
+ # Settings for automatic server certificate rotation.
922
+ module ServerCertificateRotationMode
923
+ # Unspecified: no automatic server certificate rotation.
924
+ SERVER_CERTIFICATE_ROTATION_MODE_UNSPECIFIED = 0
925
+
926
+ # No automatic server certificate rotation. The user must [manage server
927
+ # certificate
928
+ # rotation](/sql/docs/mysql/manage-ssl-instance#rotate-server-certificate-cas)
929
+ # on their side.
930
+ NO_AUTOMATIC_ROTATION = 1
931
+
932
+ # Automatic server certificate rotation during Cloud SQL scheduled
933
+ # maintenance or self-service maintenance updates. Requires
934
+ # `server_ca_mode` to be `GOOGLE_MANAGED_CAS_CA` or
935
+ # `CUSTOMER_MANAGED_CAS_CA`.
936
+ AUTOMATIC_ROTATION_DURING_MAINTENANCE = 2
937
+ end
938
+ end
939
+
940
+ # PSC settings for a Cloud SQL instance.
941
+ # @!attribute [rw] psc_enabled
942
+ # @return [::Boolean]
943
+ # Whether PSC connectivity is enabled for this instance.
944
+ # @!attribute [rw] allowed_consumer_projects
945
+ # @return [::Array<::String>]
946
+ # Optional. The list of consumer projects that are allow-listed for PSC
947
+ # connections to this instance. This instance can be connected to with PSC
948
+ # from any network in these projects.
949
+ #
950
+ # Each consumer project in this list may be represented by a project number
951
+ # (numeric) or by a project id (alphanumeric).
952
+ # @!attribute [rw] psc_auto_connections
953
+ # @return [::Array<::Google::Cloud::Sql::V1::PscAutoConnectionConfig>]
954
+ # Optional. The list of settings for requested Private Service Connect
955
+ # consumer endpoints that can be used to connect to this Cloud SQL instance.
956
+ # @!attribute [rw] network_attachment_uri
957
+ # @return [::String]
958
+ # Optional. The network attachment of the consumer network that the
959
+ # Private Service Connect enabled Cloud SQL instance is
960
+ # authorized to connect via PSC interface.
961
+ # format: projects/PROJECT/regions/REGION/networkAttachments/ID
962
+ # @!attribute [rw] psc_auto_dns_enabled
963
+ # @return [::Boolean]
964
+ # Optional. Indicates whether PSC DNS automation is enabled for this
965
+ # instance. When enabled, Cloud SQL provisions a universal DNS record across
966
+ # all networks configured with Private Service Connect (PSC)
967
+ # auto-connections. This will default to true for new instances when Private
968
+ # Service Connect is enabled.
969
+ # @!attribute [rw] psc_write_endpoint_dns_enabled
970
+ # @return [::Boolean]
971
+ # Optional. Indicates whether PSC write endpoint DNS automation is enabled
972
+ # for this instance. When enabled, Cloud SQL provisions a universal global
973
+ # DNS record across all networks configured with Private Service Connect
974
+ # (PSC) auto-connections that always points to the cluster primary instance.
975
+ # This feature is only supported for Enterprise Plus edition.
976
+ # This will default to true for new Enterprise Plus instances when
977
+ # `psc_auto_dns_enabled` is enabled.
978
+ class PscConfig
979
+ include ::Google::Protobuf::MessageExts
980
+ extend ::Google::Protobuf::MessageExts::ClassMethods
981
+ end
982
+
983
+ # Settings for an automatically-setup Private Service Connect consumer endpoint
984
+ # that is used to connect to a Cloud SQL instance.
985
+ # @!attribute [rw] consumer_project
986
+ # @return [::String]
987
+ # Optional. This is the project ID of consumer service project of this
988
+ # consumer endpoint.
989
+ #
990
+ # This is only applicable if `consumer_network` is a shared VPC
991
+ # network.
992
+ # @!attribute [rw] consumer_network
993
+ # @return [::String]
994
+ # Optional. The consumer network of this consumer endpoint. This must be a
995
+ # resource path that includes both the host project and the network name.
996
+ #
997
+ # For example, `projects/project1/global/networks/network1`.
998
+ #
999
+ # The consumer host project of this network might be different from the
1000
+ # consumer service project.
1001
+ # @!attribute [rw] ip_address
1002
+ # @return [::String]
1003
+ # The IP address of the consumer endpoint.
1004
+ # @!attribute [rw] status
1005
+ # @return [::String]
1006
+ # The connection status of the consumer endpoint.
1007
+ # @!attribute [rw] consumer_network_status
1008
+ # @return [::String]
1009
+ # The connection policy status of the consumer network.
1010
+ class PscAutoConnectionConfig
1011
+ include ::Google::Protobuf::MessageExts
1012
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1013
+ end
1014
+
1015
+ # Preferred location. This specifies where a Cloud SQL instance is located.
1016
+ # Note that if the preferred location is not available, the instance will be
1017
+ # located as close as possible within the region. Only one location may be
1018
+ # specified.
1019
+ # @!attribute [rw] follow_gae_application
1020
+ # @deprecated This field is deprecated and may be removed in the next major version update.
1021
+ # @return [::String]
1022
+ # The App Engine application to follow, it must be in the same region as the
1023
+ # Cloud SQL instance. WARNING: Changing this might restart the instance.
1024
+ # @!attribute [rw] zone
1025
+ # @return [::String]
1026
+ # The preferred Compute Engine zone (for example: us-central1-a,
1027
+ # us-central1-b, etc.). WARNING: Changing this might restart the instance.
1028
+ # @!attribute [rw] secondary_zone
1029
+ # @return [::String]
1030
+ # The preferred Compute Engine zone for the secondary/failover
1031
+ # (for example: us-central1-a, us-central1-b, etc.).
1032
+ # To disable this field, set it to 'no_secondary_zone'.
1033
+ # @!attribute [rw] kind
1034
+ # @return [::String]
1035
+ # This is always `sql#locationPreference`.
1036
+ class LocationPreference
1037
+ include ::Google::Protobuf::MessageExts
1038
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1039
+ end
1040
+
1041
+ # Maintenance window. This specifies when a Cloud SQL instance is
1042
+ # restarted for system maintenance purposes.
1043
+ # @!attribute [rw] hour
1044
+ # @return [::Google::Protobuf::Int32Value]
1045
+ # Hour of day - 0 to 23. Specify in the UTC time zone.
1046
+ # @!attribute [rw] day
1047
+ # @return [::Google::Protobuf::Int32Value]
1048
+ # Day of week - `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`,
1049
+ # `SATURDAY`, or `SUNDAY`. Specify in the UTC time zone.
1050
+ # Returned in output as an integer, 1 to 7, where `1` equals Monday.
1051
+ # @!attribute [rw] update_track
1052
+ # @return [::Google::Cloud::Sql::V1::SqlUpdateTrack]
1053
+ # Maintenance timing settings: `canary`, `stable`, or `week5`.
1054
+ # For more information, see [About maintenance on Cloud SQL
1055
+ # instances](https://cloud.google.com/sql/docs/mysql/maintenance).
1056
+ # @!attribute [rw] kind
1057
+ # @return [::String]
1058
+ # This is always `sql#maintenanceWindow`.
1059
+ class MaintenanceWindow
1060
+ include ::Google::Protobuf::MessageExts
1061
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1062
+ end
1063
+
1064
+ # Deny maintenance Periods. This specifies a date range during when all CSA
1065
+ # rollout will be denied.
1066
+ # @!attribute [rw] start_date
1067
+ # @return [::String]
1068
+ # "deny maintenance period" start date. If the year of the start date is
1069
+ # empty, the year of the end date also must be empty. In this case, it means
1070
+ # the deny maintenance period recurs every year. The date is in format
1071
+ # yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01
1072
+ # @!attribute [rw] end_date
1073
+ # @return [::String]
1074
+ # "deny maintenance period" end date. If the year of the end date is empty,
1075
+ # the year of the start date also must be empty. In this case, it means the
1076
+ # no maintenance interval recurs every year. The date is in format yyyy-mm-dd
1077
+ # i.e., 2020-11-01, or mm-dd, i.e., 11-01
1078
+ # @!attribute [rw] time
1079
+ # @return [::String]
1080
+ # Time in UTC when the "deny maintenance period" starts on start_date and
1081
+ # ends on end_date. The time is in format: HH:mm:SS, i.e., 00:00:00
1082
+ class DenyMaintenancePeriod
1083
+ include ::Google::Protobuf::MessageExts
1084
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1085
+ end
1086
+
1087
+ # Insights configuration. This specifies when Cloud SQL Insights feature is
1088
+ # enabled and optional configuration.
1089
+ # @!attribute [rw] query_insights_enabled
1090
+ # @return [::Boolean]
1091
+ # Whether Query Insights feature is enabled.
1092
+ # @!attribute [rw] record_client_address
1093
+ # @return [::Boolean]
1094
+ # Whether Query Insights will record client address when enabled.
1095
+ # @!attribute [rw] record_application_tags
1096
+ # @return [::Boolean]
1097
+ # Whether Query Insights will record application tags from query when
1098
+ # enabled.
1099
+ # @!attribute [rw] query_string_length
1100
+ # @return [::Google::Protobuf::Int32Value]
1101
+ # Maximum query length stored in bytes. Default value: 1024 bytes.
1102
+ # Range: 256-4500 bytes. Query lengths greater than this field value will be
1103
+ # truncated to this value. When unset, query length will be the default
1104
+ # value. Changing query length will restart the database.
1105
+ # @!attribute [rw] query_plans_per_minute
1106
+ # @return [::Google::Protobuf::Int32Value]
1107
+ # Number of query execution plans captured by Insights per minute
1108
+ # for all queries combined. Default is 5.
1109
+ # @!attribute [rw] enhanced_query_insights_enabled
1110
+ # @return [::Google::Protobuf::BoolValue]
1111
+ # Optional. Whether enhanced query insights feature is enabled.
1112
+ class InsightsConfig
1113
+ include ::Google::Protobuf::MessageExts
1114
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1115
+ end
1116
+
1117
+ # Read-replica configuration specific to MySQL databases.
1118
+ # @!attribute [rw] dump_file_path
1119
+ # @return [::String]
1120
+ # Path to a SQL dump file in Google Cloud Storage from which the replica
1121
+ # instance is to be created. The URI is in the form gs://bucketName/fileName.
1122
+ # Compressed gzip files (.gz) are also supported.
1123
+ # Dumps have the binlog co-ordinates from which replication
1124
+ # begins. This can be accomplished by setting --master-data to 1 when using
1125
+ # mysqldump.
1126
+ # @!attribute [rw] username
1127
+ # @return [::String]
1128
+ # The username for the replication connection.
1129
+ # @!attribute [rw] password
1130
+ # @return [::String]
1131
+ # The password for the replication connection.
1132
+ # @!attribute [rw] connect_retry_interval
1133
+ # @return [::Google::Protobuf::Int32Value]
1134
+ # Seconds to wait between connect retries. MySQL's default is 60 seconds.
1135
+ # @!attribute [rw] master_heartbeat_period
1136
+ # @return [::Google::Protobuf::Int64Value]
1137
+ # Interval in milliseconds between replication heartbeats.
1138
+ # @!attribute [rw] ca_certificate
1139
+ # @return [::String]
1140
+ # PEM representation of the trusted CA's x509 certificate.
1141
+ # @!attribute [rw] client_certificate
1142
+ # @return [::String]
1143
+ # PEM representation of the replica's x509 certificate.
1144
+ # @!attribute [rw] client_key
1145
+ # @return [::String]
1146
+ # PEM representation of the replica's private key. The corresponding public
1147
+ # key is encoded in the client's certificate.
1148
+ # @!attribute [rw] ssl_cipher
1149
+ # @return [::String]
1150
+ # A list of permissible ciphers to use for SSL encryption.
1151
+ # @!attribute [rw] verify_server_certificate
1152
+ # @return [::Google::Protobuf::BoolValue]
1153
+ # Whether or not to check the primary instance's Common Name value in the
1154
+ # certificate that it sends during the SSL handshake.
1155
+ # @!attribute [rw] kind
1156
+ # @return [::String]
1157
+ # This is always `sql#mysqlReplicaConfiguration`.
1158
+ class MySqlReplicaConfiguration
1159
+ include ::Google::Protobuf::MessageExts
1160
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1161
+ end
1162
+
1163
+ # Disk encryption configuration for an instance.
1164
+ # @!attribute [rw] kms_key_name
1165
+ # @return [::String]
1166
+ # Resource name of KMS key for disk encryption
1167
+ # @!attribute [rw] kind
1168
+ # @return [::String]
1169
+ # This is always `sql#diskEncryptionConfiguration`.
1170
+ class DiskEncryptionConfiguration
1171
+ include ::Google::Protobuf::MessageExts
1172
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1173
+ end
1174
+
1175
+ # Disk encryption status for an instance.
1176
+ # @!attribute [rw] kms_key_version_name
1177
+ # @return [::String]
1178
+ # KMS key version used to encrypt the Cloud SQL instance resource
1179
+ # @!attribute [rw] kind
1180
+ # @return [::String]
1181
+ # This is always `sql#diskEncryptionStatus`.
1182
+ class DiskEncryptionStatus
1183
+ include ::Google::Protobuf::MessageExts
1184
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1185
+ end
1186
+
1187
+ # Database instance IP mapping
1188
+ # @!attribute [rw] type
1189
+ # @return [::Google::Cloud::Sql::V1::SqlIpAddressType]
1190
+ # The type of this IP address. A `PRIMARY` address is a public address that
1191
+ # can accept incoming connections. A `PRIVATE` address is a private address
1192
+ # that can accept incoming connections. An `OUTGOING` address is the source
1193
+ # address of connections originating from the instance, if supported.
1194
+ # @!attribute [rw] ip_address
1195
+ # @return [::String]
1196
+ # The IP address assigned.
1197
+ # @!attribute [rw] time_to_retire
1198
+ # @return [::Google::Protobuf::Timestamp]
1199
+ # The due time for this IP to be retired in
1200
+ # [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
1201
+ # `2012-11-15T16:19:00.094Z`. This field is only available when
1202
+ # the IP is scheduled to be retired.
1203
+ class IpMapping
1204
+ include ::Google::Protobuf::MessageExts
1205
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1206
+ end
1207
+
1208
+ # The sub operation type based on the operation type.
1209
+ # @!attribute [rw] maintenance_type
1210
+ # @return [::Google::Cloud::Sql::V1::SqlMaintenanceType]
1211
+ # The type of maintenance to be performed on the instance.
1212
+ class SqlSubOperationType
1213
+ include ::Google::Protobuf::MessageExts
1214
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1215
+ end
1216
+
1217
+ # An Operation resource.&nbsp;For successful operations that return an
1218
+ # Operation resource, only the fields relevant to the operation are populated
1219
+ # in the resource.
1220
+ # @!attribute [rw] kind
1221
+ # @return [::String]
1222
+ # This is always `sql#operation`.
1223
+ # @!attribute [rw] target_link
1224
+ # @return [::String]
1225
+ # @!attribute [rw] status
1226
+ # @return [::Google::Cloud::Sql::V1::Operation::SqlOperationStatus]
1227
+ # The status of an operation.
1228
+ # @!attribute [rw] user
1229
+ # @return [::String]
1230
+ # The email address of the user who initiated this operation.
1231
+ # @!attribute [rw] insert_time
1232
+ # @return [::Google::Protobuf::Timestamp]
1233
+ # The time this operation was enqueued in UTC timezone in [RFC
1234
+ # 3339](https://tools.ietf.org/html/rfc3339) format, for example
1235
+ # `2012-11-15T16:19:00.094Z`.
1236
+ # @!attribute [rw] start_time
1237
+ # @return [::Google::Protobuf::Timestamp]
1238
+ # The time this operation actually started in UTC timezone in [RFC
1239
+ # 3339](https://tools.ietf.org/html/rfc3339) format, for example
1240
+ # `2012-11-15T16:19:00.094Z`.
1241
+ # @!attribute [rw] end_time
1242
+ # @return [::Google::Protobuf::Timestamp]
1243
+ # The time this operation finished in UTC timezone in [RFC
1244
+ # 3339](https://tools.ietf.org/html/rfc3339) format, for example
1245
+ # `2012-11-15T16:19:00.094Z`.
1246
+ # @!attribute [rw] error
1247
+ # @return [::Google::Cloud::Sql::V1::OperationErrors]
1248
+ # If errors occurred during processing of this operation, this field will be
1249
+ # populated.
1250
+ # @!attribute [rw] api_warning
1251
+ # @return [::Google::Cloud::Sql::V1::ApiWarning]
1252
+ # An Admin API warning message.
1253
+ # @!attribute [rw] operation_type
1254
+ # @return [::Google::Cloud::Sql::V1::Operation::SqlOperationType]
1255
+ # The type of the operation. Valid values are:
1256
+ # * `CREATE`
1257
+ # * `DELETE`
1258
+ # * `UPDATE`
1259
+ # * `RESTART`
1260
+ # * `IMPORT`
1261
+ # * `EXPORT`
1262
+ # * `BACKUP_VOLUME`
1263
+ # * `RESTORE_VOLUME`
1264
+ # * `CREATE_USER`
1265
+ # * `DELETE_USER`
1266
+ # * `CREATE_DATABASE`
1267
+ # * `DELETE_DATABASE`
1268
+ # @!attribute [rw] import_context
1269
+ # @return [::Google::Cloud::Sql::V1::ImportContext]
1270
+ # The context for import operation, if applicable.
1271
+ # @!attribute [rw] export_context
1272
+ # @return [::Google::Cloud::Sql::V1::ExportContext]
1273
+ # The context for export operation, if applicable.
1274
+ # @!attribute [rw] backup_context
1275
+ # @return [::Google::Cloud::Sql::V1::BackupContext]
1276
+ # The context for backup operation, if applicable.
1277
+ # @!attribute [rw] pre_check_major_version_upgrade_context
1278
+ # @return [::Google::Cloud::Sql::V1::PreCheckMajorVersionUpgradeContext]
1279
+ # This field is only populated when the operation_type is
1280
+ # PRE_CHECK_MAJOR_VERSION_UPGRADE.
1281
+ # The PreCheckMajorVersionUpgradeContext message itself contains the details
1282
+ # for that pre-check, such as the target database version for the upgrade
1283
+ # and the results of the check (including any warnings or errors found).
1284
+ # @!attribute [rw] name
1285
+ # @return [::String]
1286
+ # An identifier that uniquely identifies the operation. You can use this
1287
+ # identifier to retrieve the Operations resource that has information about
1288
+ # the operation.
1289
+ # @!attribute [rw] target_id
1290
+ # @return [::String]
1291
+ # Name of the resource on which this operation runs.
1292
+ # @!attribute [rw] self_link
1293
+ # @return [::String]
1294
+ # The URI of this resource.
1295
+ # @!attribute [rw] target_project
1296
+ # @return [::String]
1297
+ # The project ID of the target instance related to this operation.
1298
+ # @!attribute [rw] acquire_ssrs_lease_context
1299
+ # @return [::Google::Cloud::Sql::V1::AcquireSsrsLeaseContext]
1300
+ # The context for acquire SSRS lease operation, if applicable.
1301
+ # @!attribute [rw] sub_operation_type
1302
+ # @return [::Google::Cloud::Sql::V1::SqlSubOperationType]
1303
+ # Optional. The sub operation based on the operation type.
1304
+ class Operation
1305
+ include ::Google::Protobuf::MessageExts
1306
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1307
+
1308
+ # The type of Cloud SQL operation.
1309
+ module SqlOperationType
1310
+ # Unknown operation type.
1311
+ SQL_OPERATION_TYPE_UNSPECIFIED = 0
1312
+
1313
+ # Imports data into a Cloud SQL instance.
1314
+ IMPORT = 1
1315
+
1316
+ # Exports data from a Cloud SQL instance to a Cloud Storage
1317
+ # bucket.
1318
+ EXPORT = 2
1319
+
1320
+ # Creates a new Cloud SQL instance.
1321
+ CREATE = 3
1322
+
1323
+ # Updates the settings of a Cloud SQL instance.
1324
+ UPDATE = 4
1325
+
1326
+ # Deletes a Cloud SQL instance.
1327
+ DELETE = 5
1328
+
1329
+ # Restarts the Cloud SQL instance.
1330
+ RESTART = 6
1331
+
1332
+ BACKUP = 7
1333
+
1334
+ SNAPSHOT = 8
1335
+
1336
+ # Performs instance backup.
1337
+ BACKUP_VOLUME = 9
1338
+
1339
+ # Deletes an instance backup.
1340
+ DELETE_VOLUME = 10
1341
+
1342
+ # Restores an instance backup.
1343
+ RESTORE_VOLUME = 11
1344
+
1345
+ # Injects a privileged user in mysql for MOB instances.
1346
+ INJECT_USER = 12
1347
+
1348
+ # Clones a Cloud SQL instance.
1349
+ CLONE = 14
1350
+
1351
+ # Stops replication on a Cloud SQL read replica instance.
1352
+ STOP_REPLICA = 15
1353
+
1354
+ # Starts replication on a Cloud SQL read replica instance.
1355
+ START_REPLICA = 16
1356
+
1357
+ # Promotes a Cloud SQL replica instance.
1358
+ PROMOTE_REPLICA = 17
1359
+
1360
+ # Creates a Cloud SQL replica instance.
1361
+ CREATE_REPLICA = 18
1362
+
1363
+ # Creates a new user in a Cloud SQL instance.
1364
+ CREATE_USER = 19
1365
+
1366
+ # Deletes a user from a Cloud SQL instance.
1367
+ DELETE_USER = 20
1368
+
1369
+ # Updates an existing user in a Cloud SQL instance. If a user with the
1370
+ # specified username doesn't exist, a new user is created.
1371
+ UPDATE_USER = 21
1372
+
1373
+ # Creates a database in the Cloud SQL instance.
1374
+ CREATE_DATABASE = 22
1375
+
1376
+ # Deletes a database in the Cloud SQL instance.
1377
+ DELETE_DATABASE = 23
1378
+
1379
+ # Updates a database in the Cloud SQL instance.
1380
+ UPDATE_DATABASE = 24
1381
+
1382
+ # Performs failover of an HA-enabled Cloud SQL
1383
+ # failover replica.
1384
+ FAILOVER = 25
1385
+
1386
+ # Deletes the backup taken by a backup run.
1387
+ DELETE_BACKUP = 26
1388
+
1389
+ RECREATE_REPLICA = 27
1390
+
1391
+ # Truncates a general or slow log table in MySQL.
1392
+ TRUNCATE_LOG = 28
1393
+
1394
+ # Demotes the stand-alone instance to be a Cloud SQL
1395
+ # read replica for an external database server.
1396
+ DEMOTE_MASTER = 29
1397
+
1398
+ # Indicates that the instance is currently in maintenance. Maintenance
1399
+ # typically causes the instance to be unavailable for 1-3 minutes.
1400
+ MAINTENANCE = 30
1401
+
1402
+ # This field is deprecated, and will be removed in future version of API.
1403
+ ENABLE_PRIVATE_IP = 31
1404
+
1405
+ DEFER_MAINTENANCE = 32
1406
+
1407
+ # Creates clone instance.
1408
+ CREATE_CLONE = 33
1409
+
1410
+ # Reschedule maintenance to another time.
1411
+ RESCHEDULE_MAINTENANCE = 34
1412
+
1413
+ # Starts external sync of a Cloud SQL EM replica to an external primary
1414
+ # instance.
1415
+ START_EXTERNAL_SYNC = 35
1416
+
1417
+ # Recovers logs from an instance's old data disk.
1418
+ LOG_CLEANUP = 36
1419
+
1420
+ # Performs auto-restart of an HA-enabled Cloud SQL database for auto
1421
+ # recovery.
1422
+ AUTO_RESTART = 37
1423
+
1424
+ # Re-encrypts CMEK instances with latest key version.
1425
+ REENCRYPT = 38
1426
+
1427
+ # Switches the roles of the primary and replica pair. The target instance
1428
+ # should be the replica.
1429
+ SWITCHOVER = 39
1430
+
1431
+ # Update a backup.
1432
+ UPDATE_BACKUP = 40
1433
+
1434
+ # Acquire a lease for the setup of SQL Server Reporting Services (SSRS).
1435
+ ACQUIRE_SSRS_LEASE = 42
1436
+
1437
+ # Release a lease for the setup of SQL Server Reporting Services (SSRS).
1438
+ RELEASE_SSRS_LEASE = 43
1439
+
1440
+ # Reconfigures old primary after a promote replica operation. Effect of a
1441
+ # promote operation to the old primary is executed in this operation,
1442
+ # asynchronously from the promote replica operation executed to the
1443
+ # replica.
1444
+ RECONFIGURE_OLD_PRIMARY = 44
1445
+
1446
+ # Indicates that the instance, its read replicas, and its cascading
1447
+ # replicas are in maintenance. Maintenance typically gets initiated on
1448
+ # groups of replicas first, followed by the primary instance. For each
1449
+ # instance, maintenance typically causes the instance to be unavailable for
1450
+ # 1-3 minutes.
1451
+ CLUSTER_MAINTENANCE = 45
1452
+
1453
+ # Indicates that the instance (and any of its replicas) are currently in
1454
+ # maintenance. This is initiated as a self-service request by using SSM.
1455
+ # Maintenance typically causes the instance to be unavailable for 1-3
1456
+ # minutes.
1457
+ SELF_SERVICE_MAINTENANCE = 46
1458
+
1459
+ # Switches a primary instance to a replica. This operation runs as part of
1460
+ # a switchover operation to the original primary instance.
1461
+ SWITCHOVER_TO_REPLICA = 47
1462
+
1463
+ # Updates the major version of a Cloud SQL instance.
1464
+ MAJOR_VERSION_UPGRADE = 48
1465
+
1466
+ # Deprecated: ADVANCED_BACKUP is deprecated. Use ENHANCED_BACKUP instead.
1467
+ ADVANCED_BACKUP = 49
1468
+
1469
+ # Changes the BackupTier of a Cloud SQL instance.
1470
+ MANAGE_BACKUP = 50
1471
+
1472
+ # Creates a backup for an Enhanced BackupTier Cloud SQL instance.
1473
+ ENHANCED_BACKUP = 51
1474
+
1475
+ # Repairs entire read pool or specified read pool nodes in the read pool.
1476
+ REPAIR_READ_POOL = 52
1477
+
1478
+ # Creates a Cloud SQL read pool instance.
1479
+ CREATE_READ_POOL = 53
1480
+
1481
+ # Pre-checks the major version upgrade operation.
1482
+ PRE_CHECK_MAJOR_VERSION_UPGRADE = 54
1483
+ end
1484
+
1485
+ # The status of an operation.
1486
+ module SqlOperationStatus
1487
+ # The state of the operation is unknown.
1488
+ SQL_OPERATION_STATUS_UNSPECIFIED = 0
1489
+
1490
+ # The operation has been queued, but has not started yet.
1491
+ PENDING = 1
1492
+
1493
+ # The operation is running.
1494
+ RUNNING = 2
1495
+
1496
+ # The operation completed.
1497
+ DONE = 3
1498
+ end
1499
+ end
1500
+
1501
+ # Database instance operation error.
1502
+ # @!attribute [rw] kind
1503
+ # @return [::String]
1504
+ # This is always `sql#operationError`.
1505
+ # @!attribute [rw] code
1506
+ # @return [::String]
1507
+ # Identifies the specific error that occurred.
1508
+ # @!attribute [rw] message
1509
+ # @return [::String]
1510
+ # Additional information about the error encountered.
1511
+ class OperationError
1512
+ include ::Google::Protobuf::MessageExts
1513
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1514
+ end
1515
+
1516
+ # Database instance operation errors list wrapper.
1517
+ # @!attribute [rw] kind
1518
+ # @return [::String]
1519
+ # This is always `sql#operationErrors`.
1520
+ # @!attribute [rw] errors
1521
+ # @return [::Array<::Google::Cloud::Sql::V1::OperationError>]
1522
+ # The list of errors encountered while processing this operation.
1523
+ class OperationErrors
1524
+ include ::Google::Protobuf::MessageExts
1525
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1526
+ end
1527
+
1528
+ # Database instance local user password validation policy.
1529
+ # This message defines the password policy for local database users.
1530
+ # When enabled, it enforces constraints on password complexity, length,
1531
+ # and reuse. Keep this policy enabled to help prevent unauthorized access.
1532
+ # @!attribute [rw] min_length
1533
+ # @return [::Google::Protobuf::Int32Value]
1534
+ # Minimum number of characters allowed.
1535
+ # @!attribute [rw] complexity
1536
+ # @return [::Google::Cloud::Sql::V1::PasswordValidationPolicy::Complexity]
1537
+ # The complexity of the password.
1538
+ # @!attribute [rw] reuse_interval
1539
+ # @return [::Google::Protobuf::Int32Value]
1540
+ # Number of previous passwords that cannot be reused.
1541
+ # @!attribute [rw] disallow_username_substring
1542
+ # @return [::Google::Protobuf::BoolValue]
1543
+ # Disallow username as a part of the password.
1544
+ # @!attribute [rw] password_change_interval
1545
+ # @return [::Google::Protobuf::Duration]
1546
+ # Minimum interval after which the password can be changed. This flag is only
1547
+ # supported for PostgreSQL.
1548
+ # @!attribute [rw] enable_password_policy
1549
+ # @return [::Google::Protobuf::BoolValue]
1550
+ # Whether to enable the password policy or not. When enabled, passwords must
1551
+ # meet complexity requirements. Keep this policy enabled to help prevent
1552
+ # unauthorized access. Disabling this policy allows weak passwords.
1553
+ # @!attribute [rw] disallow_compromised_credentials
1554
+ # @deprecated This field is deprecated and may be removed in the next major version update.
1555
+ # @return [::Google::Protobuf::BoolValue]
1556
+ # This field is deprecated and will be removed in a future version of the
1557
+ # API.
1558
+ class PasswordValidationPolicy
1559
+ include ::Google::Protobuf::MessageExts
1560
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1561
+
1562
+ # The complexity choices of the password.
1563
+ module Complexity
1564
+ # Complexity check is not specified.
1565
+ COMPLEXITY_UNSPECIFIED = 0
1566
+
1567
+ # A combination of lowercase, uppercase, numeric, and non-alphanumeric
1568
+ # characters.
1569
+ COMPLEXITY_DEFAULT = 1
1570
+ end
1571
+ end
1572
+
1573
+ # Data cache configurations.
1574
+ # @!attribute [rw] data_cache_enabled
1575
+ # @return [::Boolean]
1576
+ # Whether data cache is enabled for the instance.
1577
+ class DataCacheConfig
1578
+ include ::Google::Protobuf::MessageExts
1579
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1580
+ end
1581
+
1582
+ # Config used to determine the final backup settings for the instance.
1583
+ # @!attribute [rw] enabled
1584
+ # @return [::Boolean]
1585
+ # Whether the final backup is enabled for the instance.
1586
+ # @!attribute [rw] retention_days
1587
+ # @return [::Integer]
1588
+ # The number of days to retain the final backup after the instance deletion.
1589
+ # The final backup will be purged at (time_of_instance_deletion +
1590
+ # retention_days).
1591
+ class FinalBackupConfig
1592
+ include ::Google::Protobuf::MessageExts
1593
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1594
+ end
1595
+
1596
+ # Database instance settings.
1597
+ # @!attribute [rw] settings_version
1598
+ # @return [::Google::Protobuf::Int64Value]
1599
+ # The version of instance settings. This is a required field for update
1600
+ # method to make sure concurrent updates are handled properly. During update,
1601
+ # use the most recent settingsVersion value for this instance and do not try
1602
+ # to update this value.
1603
+ # @!attribute [rw] authorized_gae_applications
1604
+ # @deprecated This field is deprecated and may be removed in the next major version update.
1605
+ # @return [::Array<::String>]
1606
+ # The App Engine app IDs that can access this instance.
1607
+ # (Deprecated) Applied to First Generation instances only.
1608
+ # @!attribute [rw] tier
1609
+ # @return [::String]
1610
+ # The tier (or machine type) for this instance, for example
1611
+ # `db-custom-1-3840`. WARNING: Changing this restarts the instance.
1612
+ # @!attribute [rw] kind
1613
+ # @return [::String]
1614
+ # This is always `sql#settings`.
1615
+ # @!attribute [rw] user_labels
1616
+ # @return [::Google::Protobuf::Map{::String => ::String}]
1617
+ # User-provided labels, represented as a dictionary where each label is a
1618
+ # single key value pair.
1619
+ # @!attribute [rw] availability_type
1620
+ # @return [::Google::Cloud::Sql::V1::SqlAvailabilityType]
1621
+ # Availability type. Potential values:
1622
+ # * `ZONAL`: The instance serves data from only one zone. Outages in that
1623
+ # zone affect data accessibility.
1624
+ # * `REGIONAL`: The instance can serve data from more than one zone in a
1625
+ # region (it is highly available)./
1626
+ #
1627
+ # For more information, see [Overview of the High Availability
1628
+ # Configuration](https://cloud.google.com/sql/docs/mysql/high-availability).
1629
+ # @!attribute [rw] pricing_plan
1630
+ # @return [::Google::Cloud::Sql::V1::SqlPricingPlan]
1631
+ # The pricing plan for this instance. This can be either `PER_USE` or
1632
+ # `PACKAGE`. Only `PER_USE` is supported for Second Generation instances.
1633
+ # @!attribute [rw] replication_type
1634
+ # @deprecated This field is deprecated and may be removed in the next major version update.
1635
+ # @return [::Google::Cloud::Sql::V1::SqlReplicationType]
1636
+ # The type of replication this instance uses. This can be either
1637
+ # `ASYNCHRONOUS` or `SYNCHRONOUS`. (Deprecated) This property was only
1638
+ # applicable to First Generation instances.
1639
+ # @!attribute [rw] storage_auto_resize_limit
1640
+ # @return [::Google::Protobuf::Int64Value]
1641
+ # The maximum size to which storage capacity can be automatically increased.
1642
+ # The default value is 0, which specifies that there is no limit.
1643
+ # @!attribute [rw] activation_policy
1644
+ # @return [::Google::Cloud::Sql::V1::Settings::SqlActivationPolicy]
1645
+ # The activation policy specifies when the instance is activated; it is
1646
+ # applicable only when the instance state is RUNNABLE. Valid values:
1647
+ # * `ALWAYS`: The instance is on, and remains so even in the absence of
1648
+ # connection requests.
1649
+ # * `NEVER`: The instance is off; it is not activated, even if a
1650
+ # connection request arrives.
1651
+ # @!attribute [rw] ip_configuration
1652
+ # @return [::Google::Cloud::Sql::V1::IpConfiguration]
1653
+ # The settings for IP Management. This allows to enable or disable the
1654
+ # instance IP and manage which external networks can connect to the instance.
1655
+ # The IPv4 address cannot be disabled for Second Generation instances.
1656
+ # @!attribute [rw] storage_auto_resize
1657
+ # @return [::Google::Protobuf::BoolValue]
1658
+ # Configuration to increase storage size automatically. The default value is
1659
+ # true.
1660
+ # @!attribute [rw] location_preference
1661
+ # @return [::Google::Cloud::Sql::V1::LocationPreference]
1662
+ # The location preference settings. This allows the instance to be located as
1663
+ # near as possible to either an App Engine app or Compute Engine zone for
1664
+ # better performance. App Engine co-location was only applicable to First
1665
+ # Generation instances.
1666
+ # @!attribute [rw] database_flags
1667
+ # @return [::Array<::Google::Cloud::Sql::V1::DatabaseFlags>]
1668
+ # The database flags passed to the instance at startup.
1669
+ # @!attribute [rw] data_disk_type
1670
+ # @return [::Google::Cloud::Sql::V1::SqlDataDiskType]
1671
+ # The type of data disk: `PD_SSD` (default) or `PD_HDD`. Not used for
1672
+ # First Generation instances.
1673
+ # @!attribute [rw] maintenance_window
1674
+ # @return [::Google::Cloud::Sql::V1::MaintenanceWindow]
1675
+ # The maintenance window for this instance. This specifies when the instance
1676
+ # can be restarted for maintenance purposes.
1677
+ # @!attribute [rw] backup_configuration
1678
+ # @return [::Google::Cloud::Sql::V1::BackupConfiguration]
1679
+ # The daily backup configuration for the instance.
1680
+ # @!attribute [rw] database_replication_enabled
1681
+ # @return [::Google::Protobuf::BoolValue]
1682
+ # Configuration specific to read replica instances. Indicates whether
1683
+ # replication is enabled or not. WARNING: Changing this restarts the
1684
+ # instance.
1685
+ # @!attribute [rw] crash_safe_replication_enabled
1686
+ # @deprecated This field is deprecated and may be removed in the next major version update.
1687
+ # @return [::Google::Protobuf::BoolValue]
1688
+ # Configuration specific to read replica instances. Indicates whether
1689
+ # database flags for crash-safe replication are enabled. This property was
1690
+ # only applicable to First Generation instances.
1691
+ # @!attribute [rw] data_disk_size_gb
1692
+ # @return [::Google::Protobuf::Int64Value]
1693
+ # The size of data disk, in GB. The data disk size minimum is 10GB.
1694
+ # @!attribute [rw] active_directory_config
1695
+ # @return [::Google::Cloud::Sql::V1::SqlActiveDirectoryConfig]
1696
+ # Active Directory configuration, relevant only for Cloud SQL for SQL Server.
1697
+ # @!attribute [rw] collation
1698
+ # @return [::String]
1699
+ # The name of server Instance collation.
1700
+ # @!attribute [rw] deny_maintenance_periods
1701
+ # @return [::Array<::Google::Cloud::Sql::V1::DenyMaintenancePeriod>]
1702
+ # Deny maintenance periods
1703
+ # @!attribute [rw] insights_config
1704
+ # @return [::Google::Cloud::Sql::V1::InsightsConfig]
1705
+ # Insights configuration, for now relevant only for Postgres.
1706
+ # @!attribute [rw] password_validation_policy
1707
+ # @return [::Google::Cloud::Sql::V1::PasswordValidationPolicy]
1708
+ # The local user password validation policy of the instance.
1709
+ # @!attribute [rw] sql_server_audit_config
1710
+ # @return [::Google::Cloud::Sql::V1::SqlServerAuditConfig]
1711
+ # SQL Server specific audit configuration.
1712
+ # @!attribute [rw] edition
1713
+ # @return [::Google::Cloud::Sql::V1::Settings::Edition]
1714
+ # Optional. The edition of the instance.
1715
+ # @!attribute [rw] connector_enforcement
1716
+ # @return [::Google::Cloud::Sql::V1::Settings::ConnectorEnforcement]
1717
+ # Specifies if connections must use Cloud SQL connectors.
1718
+ # Option values include the following: `NOT_REQUIRED` (Cloud SQL instances
1719
+ # can be connected without Cloud SQL
1720
+ # Connectors) and `REQUIRED` (Only allow connections that use Cloud SQL
1721
+ # Connectors).
1722
+ #
1723
+ # Note that using REQUIRED disables all existing authorized networks. If
1724
+ # this field is not specified when creating a new instance, NOT_REQUIRED is
1725
+ # used. If this field is not specified when patching or updating an existing
1726
+ # instance, it is left unchanged in the instance.
1727
+ # @!attribute [rw] deletion_protection_enabled
1728
+ # @return [::Google::Protobuf::BoolValue]
1729
+ # Configuration to protect against accidental instance deletion.
1730
+ # @!attribute [rw] time_zone
1731
+ # @return [::String]
1732
+ # Server timezone, relevant only for Cloud SQL for SQL Server.
1733
+ # @!attribute [rw] advanced_machine_features
1734
+ # @return [::Google::Cloud::Sql::V1::AdvancedMachineFeatures]
1735
+ # Specifies advanced machine configuration for the instances relevant only
1736
+ # for SQL Server.
1737
+ # @!attribute [rw] data_cache_config
1738
+ # @return [::Google::Cloud::Sql::V1::DataCacheConfig]
1739
+ # Configuration for data cache.
1740
+ # @!attribute [rw] replication_lag_max_seconds
1741
+ # @return [::Google::Protobuf::Int32Value]
1742
+ # Optional. Configuration value for recreation of replica after certain
1743
+ # replication lag
1744
+ # @!attribute [rw] enable_google_ml_integration
1745
+ # @return [::Google::Protobuf::BoolValue]
1746
+ # Optional. When this parameter is set to true, Cloud SQL instances can
1747
+ # connect to Vertex AI to pass requests for real-time predictions and
1748
+ # insights to the AI. The default value is false. This applies only to Cloud
1749
+ # SQL for MySQL and Cloud SQL for PostgreSQL instances.
1750
+ # @!attribute [rw] enable_dataplex_integration
1751
+ # @return [::Google::Protobuf::BoolValue]
1752
+ # Optional. By default, Cloud SQL instances have schema extraction disabled
1753
+ # for Dataplex. When this parameter is set to true, schema extraction for
1754
+ # Dataplex on Cloud SQL instances is activated.
1755
+ # @!attribute [rw] retain_backups_on_delete
1756
+ # @return [::Google::Protobuf::BoolValue]
1757
+ # Optional. When this parameter is set to true, Cloud SQL retains backups of
1758
+ # the instance even after the instance is deleted. The ON_DEMAND backup will
1759
+ # be retained until customer deletes the backup or the project. The AUTOMATED
1760
+ # backup will be retained based on the backups retention setting.
1761
+ # @!attribute [rw] data_disk_provisioned_iops
1762
+ # @return [::Integer]
1763
+ # Optional. Provisioned number of I/O operations per second for the data
1764
+ # disk. This field is only used for hyperdisk-balanced disk types.
1765
+ # @!attribute [rw] data_disk_provisioned_throughput
1766
+ # @return [::Integer]
1767
+ # Optional. Provisioned throughput measured in MiB per second for the data
1768
+ # disk. This field is only used for hyperdisk-balanced disk types.
1769
+ # @!attribute [rw] connection_pool_config
1770
+ # @return [::Google::Cloud::Sql::V1::ConnectionPoolConfig]
1771
+ # Optional. The managed connection pooling configuration for the instance.
1772
+ # @!attribute [rw] final_backup_config
1773
+ # @return [::Google::Cloud::Sql::V1::FinalBackupConfig]
1774
+ # Optional. The final backup configuration for the instance.
1775
+ # @!attribute [rw] read_pool_auto_scale_config
1776
+ # @return [::Google::Cloud::Sql::V1::ReadPoolAutoScaleConfig]
1777
+ # Optional. The read pool auto-scale configuration for the instance.
1778
+ # @!attribute [rw] accelerated_replica_mode
1779
+ # @return [::Google::Protobuf::BoolValue]
1780
+ # Optional. Whether the replica is in accelerated mode. This feature is in
1781
+ # private preview and requires allowlisting to take effect.
1782
+ # @!attribute [rw] auto_upgrade_enabled
1783
+ # @return [::Boolean]
1784
+ # Optional. Cloud SQL for MySQL auto-upgrade configuration. When this
1785
+ # parameter is set to true, auto-upgrade is enabled for MySQL 8.0 minor
1786
+ # versions. The MySQL version must be 8.0.35 or higher.
1787
+ # @!attribute [rw] entraid_config
1788
+ # @return [::Google::Cloud::Sql::V1::SqlServerEntraIdConfig]
1789
+ # Optional. The Microsoft Entra ID configuration for the SQL Server instance.
1790
+ # @!attribute [rw] data_api_access
1791
+ # @return [::Google::Cloud::Sql::V1::Settings::DataApiAccess]
1792
+ # This parameter controls whether to allow using ExecuteSql API to connect to
1793
+ # the instance. Not allowed by default.
1794
+ # @!attribute [rw] performance_capture_config
1795
+ # @return [::Google::Cloud::Sql::V1::PerformanceCaptureConfig]
1796
+ # Optional. Configuration for Performance Capture, provides diagnostic
1797
+ # metrics during high load situations.
1798
+ class Settings
1799
+ include ::Google::Protobuf::MessageExts
1800
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1801
+
1802
+ # @!attribute [rw] key
1803
+ # @return [::String]
1804
+ # @!attribute [rw] value
1805
+ # @return [::String]
1806
+ class UserLabelsEntry
1807
+ include ::Google::Protobuf::MessageExts
1808
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1809
+ end
1810
+
1811
+ # Specifies when the instance is activated.
1812
+ module SqlActivationPolicy
1813
+ # Unknown activation plan.
1814
+ SQL_ACTIVATION_POLICY_UNSPECIFIED = 0
1815
+
1816
+ # The instance is always up and running.
1817
+ ALWAYS = 1
1818
+
1819
+ # The instance never starts.
1820
+ NEVER = 2
1821
+
1822
+ # The instance starts upon receiving requests.
1823
+ ON_DEMAND = 3
1824
+ end
1825
+
1826
+ # The edition of the instance.
1827
+ module Edition
1828
+ # The instance did not specify the edition.
1829
+ EDITION_UNSPECIFIED = 0
1830
+
1831
+ # The instance is an enterprise edition.
1832
+ ENTERPRISE = 2
1833
+
1834
+ # The instance is an Enterprise Plus edition.
1835
+ ENTERPRISE_PLUS = 3
1836
+ end
1837
+
1838
+ # The options for enforcing Cloud SQL connectors in the instance.
1839
+ module ConnectorEnforcement
1840
+ # The requirement for Cloud SQL connectors is unknown.
1841
+ CONNECTOR_ENFORCEMENT_UNSPECIFIED = 0
1842
+
1843
+ # Do not require Cloud SQL connectors.
1844
+ NOT_REQUIRED = 1
1845
+
1846
+ # Require all connections to use Cloud SQL connectors, including the
1847
+ # Cloud SQL Auth Proxy and Cloud SQL Java, Python, and Go connectors.
1848
+ # Note: This disables all existing authorized networks.
1849
+ REQUIRED = 2
1850
+ end
1851
+
1852
+ # ExecuteSql API's access to the instance.
1853
+ module DataApiAccess
1854
+ # Unspecified, effectively the same as `DISALLOW_DATA_API`.
1855
+ DATA_API_ACCESS_UNSPECIFIED = 0
1856
+
1857
+ # Disallow using ExecuteSql API to connect to the instance.
1858
+ DISALLOW_DATA_API = 1
1859
+
1860
+ # Allow using ExecuteSql API to connect to the instance. For private IP
1861
+ # instances, this allows authorized users to access the instance from
1862
+ # the public internet using ExecuteSql API.
1863
+ ALLOW_DATA_API = 2
1864
+ end
1865
+ end
1866
+
1867
+ # Performance capture configuration.
1868
+ # @!attribute [rw] enabled
1869
+ # @return [::Boolean]
1870
+ # Optional. Enables or disables the performance capture feature.
1871
+ # @!attribute [rw] probing_interval_seconds
1872
+ # @return [::Integer]
1873
+ # Optional. Specifies the interval in seconds between consecutive probes that
1874
+ # check if any trigger condition thresholds have been reached.
1875
+ # @!attribute [rw] probe_threshold
1876
+ # @return [::Integer]
1877
+ # Optional. Specifies the minimum number of consecutive probe threshold that
1878
+ # triggers performance capture.
1879
+ # @!attribute [rw] running_threads_threshold
1880
+ # @return [::Integer]
1881
+ # Optional. Specifies the minimum number of MySQL `Threads_running` to
1882
+ # trigger the performance capture on the primary instance.
1883
+ # @!attribute [rw] seconds_behind_source_threshold
1884
+ # @return [::Integer]
1885
+ # Optional. Specifies the minimum number of seconds replica must be lagging
1886
+ # behind primary instance to trigger the performance capture on replica.
1887
+ # @!attribute [rw] transaction_duration_threshold
1888
+ # @return [::Integer]
1889
+ # Optional. Specifies the amount of time in seconds that a transaction needs
1890
+ # to have been open before the watcher starts recording it.
1891
+ class PerformanceCaptureConfig
1892
+ include ::Google::Protobuf::MessageExts
1893
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1894
+ end
1895
+
1896
+ # Connection pool flags for Cloud SQL instances managed connection pool
1897
+ # configuration.
1898
+ # @!attribute [rw] name
1899
+ # @return [::String]
1900
+ # Required. The name of the flag.
1901
+ # @!attribute [rw] value
1902
+ # @return [::String]
1903
+ # Required. The value of the flag. Boolean flags are set to `on` for true
1904
+ # and `off` for false. This field must be omitted if the flag
1905
+ # doesn't take a value.
1906
+ class ConnectionPoolFlags
1907
+ include ::Google::Protobuf::MessageExts
1908
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1909
+ end
1910
+
1911
+ # The managed connection pooling configuration.
1912
+ # @!attribute [rw] connection_pooling_enabled
1913
+ # @return [::Boolean]
1914
+ # Whether managed connection pooling is enabled.
1915
+ # @!attribute [rw] flags
1916
+ # @return [::Array<::Google::Cloud::Sql::V1::ConnectionPoolFlags>]
1917
+ # Optional. List of connection pool configuration flags.
1918
+ # @!attribute [r] pooler_count
1919
+ # @return [::Integer]
1920
+ # Output only. Number of connection poolers.
1921
+ class ConnectionPoolConfig
1922
+ include ::Google::Protobuf::MessageExts
1923
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1924
+ end
1925
+
1926
+ # The read pool auto-scale configuration.
1927
+ # @!attribute [rw] enabled
1928
+ # @return [::Boolean]
1929
+ # Indicates whether read pool auto scaling is enabled.
1930
+ # @!attribute [rw] min_node_count
1931
+ # @return [::Integer]
1932
+ # Minimum number of read pool nodes to be maintained.
1933
+ # @!attribute [rw] max_node_count
1934
+ # @return [::Integer]
1935
+ # Maximum number of read pool nodes to be maintained.
1936
+ # @!attribute [rw] target_metrics
1937
+ # @return [::Array<::Google::Cloud::Sql::V1::ReadPoolAutoScaleConfig::TargetMetric>]
1938
+ # Optional. Target metrics for read pool auto scaling.
1939
+ # @!attribute [rw] disable_scale_in
1940
+ # @return [::Boolean]
1941
+ # Indicates whether read pool auto scaling supports scale in operations
1942
+ # (removing nodes).
1943
+ # @!attribute [rw] scale_in_cooldown_seconds
1944
+ # @return [::Integer]
1945
+ # The cooldown period for scale-in operations.
1946
+ # @!attribute [rw] scale_out_cooldown_seconds
1947
+ # @return [::Integer]
1948
+ # The cooldown period for scale-out operations.
1949
+ class ReadPoolAutoScaleConfig
1950
+ include ::Google::Protobuf::MessageExts
1951
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1952
+
1953
+ # Target metric for read pool auto scaling.
1954
+ # @!attribute [rw] metric
1955
+ # @return [::String]
1956
+ # The metric name to be used for auto scaling.
1957
+ # @!attribute [rw] target_value
1958
+ # @return [::Float]
1959
+ # The target value for the metric.
1960
+ class TargetMetric
1961
+ include ::Google::Protobuf::MessageExts
1962
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1963
+ end
1964
+ end
1965
+
1966
+ # Specifies options for controlling advanced machine features.
1967
+ # @!attribute [rw] threads_per_core
1968
+ # @return [::Integer]
1969
+ # The number of threads per physical core.
1970
+ class AdvancedMachineFeatures
1971
+ include ::Google::Protobuf::MessageExts
1972
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1973
+ end
1974
+
1975
+ # SslCerts Resource
1976
+ # @!attribute [rw] kind
1977
+ # @return [::String]
1978
+ # This is always `sql#sslCert`.
1979
+ # @!attribute [rw] cert_serial_number
1980
+ # @return [::String]
1981
+ # Serial number, as extracted from the certificate.
1982
+ # @!attribute [rw] cert
1983
+ # @return [::String]
1984
+ # PEM representation.
1985
+ # @!attribute [rw] create_time
1986
+ # @return [::Google::Protobuf::Timestamp]
1987
+ # The time when the certificate was created in [RFC
1988
+ # 3339](https://tools.ietf.org/html/rfc3339) format, for example
1989
+ # `2012-11-15T16:19:00.094Z`
1990
+ # @!attribute [rw] common_name
1991
+ # @return [::String]
1992
+ # User supplied name. Constrained to [a-zA-Z.-_ ]+.
1993
+ # @!attribute [rw] expiration_time
1994
+ # @return [::Google::Protobuf::Timestamp]
1995
+ # The time when the certificate expires in [RFC
1996
+ # 3339](https://tools.ietf.org/html/rfc3339) format, for example
1997
+ # `2012-11-15T16:19:00.094Z`.
1998
+ # @!attribute [rw] sha1_fingerprint
1999
+ # @return [::String]
2000
+ # Sha1 Fingerprint.
2001
+ # @!attribute [rw] instance
2002
+ # @return [::String]
2003
+ # Name of the database instance.
2004
+ # @!attribute [rw] self_link
2005
+ # @return [::String]
2006
+ # The URI of this resource.
2007
+ class SslCert
2008
+ include ::Google::Protobuf::MessageExts
2009
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2010
+ end
2011
+
2012
+ # SslCertDetail.
2013
+ # @!attribute [rw] cert_info
2014
+ # @return [::Google::Cloud::Sql::V1::SslCert]
2015
+ # The public information about the cert.
2016
+ # @!attribute [rw] cert_private_key
2017
+ # @return [::String]
2018
+ # The private key for the client cert, in pem format. Keep private in order
2019
+ # to protect your security.
2020
+ class SslCertDetail
2021
+ include ::Google::Protobuf::MessageExts
2022
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2023
+ end
2024
+
2025
+ # Active Directory configuration, relevant only for Cloud SQL for SQL Server.
2026
+ # @!attribute [rw] kind
2027
+ # @return [::String]
2028
+ # This is always sql#activeDirectoryConfig.
2029
+ # @!attribute [rw] domain
2030
+ # @return [::String]
2031
+ # The name of the domain (e.g., mydomain.com).
2032
+ # @!attribute [rw] mode
2033
+ # @return [::Google::Cloud::Sql::V1::SqlActiveDirectoryConfig::ActiveDirectoryMode]
2034
+ # Optional. The mode of the Active Directory configuration.
2035
+ # @!attribute [rw] dns_servers
2036
+ # @return [::Array<::String>]
2037
+ # Optional. Domain controller IPv4 addresses used to bootstrap Active
2038
+ # Directory.
2039
+ # @!attribute [rw] admin_credential_secret_name
2040
+ # @return [::String]
2041
+ # Optional. The secret manager key storing the administrator credential.
2042
+ # (e.g., projects/\\{project}/secrets/\\{secret}).
2043
+ # @!attribute [rw] organizational_unit
2044
+ # @return [::String]
2045
+ # Optional. The organizational unit distinguished name. This is the full
2046
+ # hierarchical path to the organizational unit.
2047
+ class SqlActiveDirectoryConfig
2048
+ include ::Google::Protobuf::MessageExts
2049
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2050
+
2051
+ # The modes of Active Directory configuration.
2052
+ module ActiveDirectoryMode
2053
+ # Unspecified mode. Will default to MANAGED_ACTIVE_DIRECTORY if the mode is
2054
+ # not specified to maintain backward compatibility.
2055
+ ACTIVE_DIRECTORY_MODE_UNSPECIFIED = 0
2056
+
2057
+ # Managed Active Directory mode.
2058
+ MANAGED_ACTIVE_DIRECTORY = 1
2059
+
2060
+ # Deprecated: Use CUSTOMER_MANAGED_ACTIVE_DIRECTORY instead.
2061
+ SELF_MANAGED_ACTIVE_DIRECTORY = 2
2062
+
2063
+ # Customer-managed Active Directory mode.
2064
+ CUSTOMER_MANAGED_ACTIVE_DIRECTORY = 3
2065
+ end
2066
+ end
2067
+
2068
+ # SQL Server specific audit configuration.
2069
+ # @!attribute [rw] kind
2070
+ # @return [::String]
2071
+ # This is always sql#sqlServerAuditConfig
2072
+ # @!attribute [rw] bucket
2073
+ # @return [::String]
2074
+ # The name of the destination bucket (e.g., gs://mybucket).
2075
+ # @!attribute [rw] retention_interval
2076
+ # @return [::Google::Protobuf::Duration]
2077
+ # How long to keep generated audit files.
2078
+ # @!attribute [rw] upload_interval
2079
+ # @return [::Google::Protobuf::Duration]
2080
+ # How often to upload generated audit files.
2081
+ class SqlServerAuditConfig
2082
+ include ::Google::Protobuf::MessageExts
2083
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2084
+ end
2085
+
2086
+ # SQL Server Entra ID configuration.
2087
+ # @!attribute [r] kind
2088
+ # @return [::String]
2089
+ # Output only. This is always sql#sqlServerEntraIdConfig
2090
+ # @!attribute [rw] tenant_id
2091
+ # @return [::String]
2092
+ # Optional. The tenant ID for the Entra ID configuration.
2093
+ # @!attribute [rw] application_id
2094
+ # @return [::String]
2095
+ # Optional. The application ID for the Entra ID configuration.
2096
+ class SqlServerEntraIdConfig
2097
+ include ::Google::Protobuf::MessageExts
2098
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2099
+ end
2100
+
2101
+ # Acquire SSRS lease context.
2102
+ # @!attribute [rw] setup_login
2103
+ # @return [::String]
2104
+ # The username to be used as the setup login to connect to the database
2105
+ # server for SSRS setup.
2106
+ # @!attribute [rw] service_login
2107
+ # @return [::String]
2108
+ # The username to be used as the service login to connect to the report
2109
+ # database for SSRS setup.
2110
+ # @!attribute [rw] report_database
2111
+ # @return [::String]
2112
+ # The report database to be used for SSRS setup.
2113
+ # @!attribute [rw] duration
2114
+ # @return [::Google::Protobuf::Duration]
2115
+ # Lease duration needed for SSRS setup.
2116
+ class AcquireSsrsLeaseContext
2117
+ include ::Google::Protobuf::MessageExts
2118
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2119
+ end
2120
+
2121
+ # DNS metadata.
2122
+ # @!attribute [r] name
2123
+ # @return [::String]
2124
+ # Output only. The DNS name.
2125
+ # @!attribute [r] connection_type
2126
+ # @return [::Google::Cloud::Sql::V1::DnsNameMapping::ConnectionType]
2127
+ # Output only. The connection type of the DNS name.
2128
+ # @!attribute [r] dns_scope
2129
+ # @return [::Google::Cloud::Sql::V1::DnsNameMapping::DnsScope]
2130
+ # Output only. The scope that the DNS name applies to.
2131
+ # @!attribute [r] record_manager
2132
+ # @return [::Google::Cloud::Sql::V1::DnsNameMapping::RecordManager]
2133
+ # Output only. The manager for this DNS record.
2134
+ class DnsNameMapping
2135
+ include ::Google::Protobuf::MessageExts
2136
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2137
+
2138
+ # The connection type of the DNS name.
2139
+ # This enum is not frozen, and new values may be added in the future.
2140
+ module ConnectionType
2141
+ # Unknown connection type.
2142
+ CONNECTION_TYPE_UNSPECIFIED = 0
2143
+
2144
+ # Public IP.
2145
+ PUBLIC = 1
2146
+
2147
+ # Private services access (private IP).
2148
+ PRIVATE_SERVICES_ACCESS = 2
2149
+
2150
+ # Private Service Connect.
2151
+ PRIVATE_SERVICE_CONNECT = 3
2152
+ end
2153
+
2154
+ # The scope that the DNS name applies to.
2155
+ module DnsScope
2156
+ # DNS scope not set. This value should not be used.
2157
+ DNS_SCOPE_UNSPECIFIED = 0
2158
+
2159
+ # Indicates an instance-level DNS name.
2160
+ INSTANCE = 1
2161
+
2162
+ # Indicates a cluster-level DNS name.
2163
+ CLUSTER = 2
2164
+ end
2165
+
2166
+ # The system responsible for managing the DNS record.
2167
+ module RecordManager
2168
+ # Record manager not set. This value should not be used.
2169
+ RECORD_MANAGER_UNSPECIFIED = 0
2170
+
2171
+ # The record may be managed by the customer. It is not automatically
2172
+ # managed by Cloud SQL automation.
2173
+ CUSTOMER = 1
2174
+
2175
+ # The record is managed by Cloud SQL, which will create, update,
2176
+ # and delete the DNS records for the zone automatically when
2177
+ # the Cloud SQL database instance is created or updated.
2178
+ CLOUD_SQL_AUTOMATION = 2
2179
+ end
2180
+ end
2181
+
2182
+ module SqlFileType
2183
+ # Unknown file type.
2184
+ SQL_FILE_TYPE_UNSPECIFIED = 0
2185
+
2186
+ # File containing SQL statements.
2187
+ SQL = 1
2188
+
2189
+ # File in CSV format.
2190
+ CSV = 2
2191
+
2192
+ BAK = 4
2193
+
2194
+ # TDE certificate.
2195
+ TDE = 8
2196
+ end
2197
+
2198
+ module BakType
2199
+ # Default type.
2200
+ BAK_TYPE_UNSPECIFIED = 0
2201
+
2202
+ # Full backup.
2203
+ FULL = 1
2204
+
2205
+ # Differential backup.
2206
+ DIFF = 2
2207
+
2208
+ # Transaction Log backup
2209
+ TLOG = 3
2210
+ end
2211
+
2212
+ # The type of maintenance to be performed on the instance.
2213
+ module SqlMaintenanceType
2214
+ # Maintenance type is unspecified.
2215
+ SQL_MAINTENANCE_TYPE_UNSPECIFIED = 0
2216
+
2217
+ # Indicates that a standalone instance is undergoing maintenance. The
2218
+ # instance can be either a primary instance or a replica.
2219
+ INSTANCE_MAINTENANCE = 1
2220
+
2221
+ # Indicates that the primary instance and all of its replicas, including
2222
+ # cascading replicas, are undergoing maintenance. Maintenance is performed on
2223
+ # groups of replicas first, followed by the primary instance.
2224
+ REPLICA_INCLUDED_MAINTENANCE = 2
2225
+
2226
+ # Indicates that the standalone instance is undergoing maintenance, initiated
2227
+ # by self-service. The instance can be either a primary instance or a
2228
+ # replica.
2229
+ INSTANCE_SELF_SERVICE_MAINTENANCE = 3
2230
+
2231
+ # Indicates that the primary instance and all of its replicas are undergoing
2232
+ # maintenance, initiated by self-service. Maintenance is performed on groups
2233
+ # of replicas first, followed by the primary instance.
2234
+ REPLICA_INCLUDED_SELF_SERVICE_MAINTENANCE = 4
2235
+ end
2236
+
2237
+ module SqlBackendType
2238
+ # This is an unknown backend type for instance.
2239
+ SQL_BACKEND_TYPE_UNSPECIFIED = 0
2240
+
2241
+ # V1 speckle instance.
2242
+ FIRST_GEN = 1
2243
+
2244
+ # V2 speckle instance.
2245
+ SECOND_GEN = 2
2246
+
2247
+ # On premises instance.
2248
+ EXTERNAL = 3
2249
+ end
2250
+
2251
+ module SqlIpAddressType
2252
+ # This is an unknown IP address type.
2253
+ SQL_IP_ADDRESS_TYPE_UNSPECIFIED = 0
2254
+
2255
+ # IP address the customer is supposed to connect to. Usually this is the
2256
+ # load balancer's IP address
2257
+ PRIMARY = 1
2258
+
2259
+ # Source IP address of the connection a read replica establishes to its
2260
+ # external primary instance. This IP address can be allowlisted by the
2261
+ # customer in case it has a firewall that filters incoming connection to its
2262
+ # on premises primary instance.
2263
+ OUTGOING = 2
2264
+
2265
+ # Private IP used when using private IPs and network peering.
2266
+ PRIVATE = 3
2267
+
2268
+ # V1 IP of a migrated instance. We want the user to
2269
+ # decommission this IP as soon as the migration is complete.
2270
+ # Note: V1 instances with V1 ip addresses will be counted as PRIMARY.
2271
+ MIGRATED_1ST_GEN = 4
2272
+ end
2273
+
2274
+ # The database engine type and version.
2275
+ module SqlDatabaseVersion
2276
+ # This is an unknown database version.
2277
+ SQL_DATABASE_VERSION_UNSPECIFIED = 0
2278
+
2279
+ # The database version is MySQL 5.1.
2280
+ MYSQL_5_1 = 2
2281
+
2282
+ # The database version is MySQL 5.5.
2283
+ MYSQL_5_5 = 3
2284
+
2285
+ # The database version is MySQL 5.6.
2286
+ MYSQL_5_6 = 5
2287
+
2288
+ # The database version is MySQL 5.7.
2289
+ MYSQL_5_7 = 6
2290
+
2291
+ # The database version is MySQL 8.
2292
+ MYSQL_8_0 = 20
2293
+
2294
+ # The database major version is MySQL 8.0 and the minor version is 18.
2295
+ MYSQL_8_0_18 = 41
2296
+
2297
+ # The database major version is MySQL 8.0 and the minor version is 26.
2298
+ MYSQL_8_0_26 = 85
2299
+
2300
+ # The database major version is MySQL 8.0 and the minor version is 27.
2301
+ MYSQL_8_0_27 = 111
2302
+
2303
+ # The database major version is MySQL 8.0 and the minor version is 28.
2304
+ MYSQL_8_0_28 = 132
2305
+
2306
+ # The database major version is MySQL 8.0 and the minor version is 29.
2307
+ MYSQL_8_0_29 = 148
2308
+
2309
+ # The database major version is MySQL 8.0 and the minor version is 30.
2310
+ MYSQL_8_0_30 = 174
2311
+
2312
+ # The database major version is MySQL 8.0 and the minor version is 31.
2313
+ MYSQL_8_0_31 = 197
2314
+
2315
+ # The database major version is MySQL 8.0 and the minor version is 32.
2316
+ MYSQL_8_0_32 = 213
2317
+
2318
+ # The database major version is MySQL 8.0 and the minor version is 33.
2319
+ MYSQL_8_0_33 = 238
2320
+
2321
+ # The database major version is MySQL 8.0 and the minor version is 34.
2322
+ MYSQL_8_0_34 = 239
2323
+
2324
+ # The database major version is MySQL 8.0 and the minor version is 35.
2325
+ MYSQL_8_0_35 = 240
2326
+
2327
+ # The database major version is MySQL 8.0 and the minor version is 36.
2328
+ MYSQL_8_0_36 = 241
2329
+
2330
+ # The database major version is MySQL 8.0 and the minor version is 37.
2331
+ MYSQL_8_0_37 = 355
2332
+
2333
+ # The database major version is MySQL 8.0 and the minor version is 39.
2334
+ MYSQL_8_0_39 = 357
2335
+
2336
+ # The database major version is MySQL 8.0 and the minor version is 40.
2337
+ MYSQL_8_0_40 = 358
2338
+
2339
+ # The database major version is MySQL 8.0 and the minor version is 41.
2340
+ MYSQL_8_0_41 = 488
2341
+
2342
+ # The database major version is MySQL 8.0 and the minor version is 42.
2343
+ MYSQL_8_0_42 = 489
2344
+
2345
+ # The database major version is MySQL 8.0 and the minor version is 43.
2346
+ MYSQL_8_0_43 = 553
2347
+
2348
+ # The database major version is MySQL 8.0 and the minor version is 44.
2349
+ MYSQL_8_0_44 = 554
2350
+
2351
+ # The database major version is MySQL 8.0 and the minor version is 45.
2352
+ MYSQL_8_0_45 = 555
2353
+
2354
+ # The database major version is MySQL 8.0 and the minor version is 46.
2355
+ MYSQL_8_0_46 = 556
2356
+
2357
+ # The database version is MySQL 8.4.
2358
+ MYSQL_8_4 = 398
2359
+
2360
+ # The database version is MySQL 9.7.
2361
+ MYSQL_9_7 = 654
2362
+
2363
+ # The database version is SQL Server 2017 Standard.
2364
+ SQLSERVER_2017_STANDARD = 11
2365
+
2366
+ # The database version is SQL Server 2017 Enterprise.
2367
+ SQLSERVER_2017_ENTERPRISE = 14
2368
+
2369
+ # The database version is SQL Server 2017 Express.
2370
+ SQLSERVER_2017_EXPRESS = 15
2371
+
2372
+ # The database version is SQL Server 2017 Web.
2373
+ SQLSERVER_2017_WEB = 16
2374
+
2375
+ # The database version is PostgreSQL 9.6.
2376
+ POSTGRES_9_6 = 9
2377
+
2378
+ # The database version is PostgreSQL 10.
2379
+ POSTGRES_10 = 18
2380
+
2381
+ # The database version is PostgreSQL 11.
2382
+ POSTGRES_11 = 10
2383
+
2384
+ # The database version is PostgreSQL 12.
2385
+ POSTGRES_12 = 19
2386
+
2387
+ # The database version is PostgreSQL 13.
2388
+ POSTGRES_13 = 23
2389
+
2390
+ # The database version is PostgreSQL 14.
2391
+ POSTGRES_14 = 110
2392
+
2393
+ # The database version is PostgreSQL 15.
2394
+ POSTGRES_15 = 172
2395
+
2396
+ # The database version is PostgreSQL 16.
2397
+ POSTGRES_16 = 272
2398
+
2399
+ # The database version is PostgreSQL 17.
2400
+ POSTGRES_17 = 408
2401
+
2402
+ # The database version is PostgreSQL 18.
2403
+ POSTGRES_18 = 557
2404
+
2405
+ # The database version is PostgreSQL 19.
2406
+ POSTGRES_19 = 684
2407
+
2408
+ # The database version is SQL Server 2019 Standard.
2409
+ SQLSERVER_2019_STANDARD = 26
2410
+
2411
+ # The database version is SQL Server 2019 Enterprise.
2412
+ SQLSERVER_2019_ENTERPRISE = 27
2413
+
2414
+ # The database version is SQL Server 2019 Express.
2415
+ SQLSERVER_2019_EXPRESS = 28
2416
+
2417
+ # The database version is SQL Server 2019 Web.
2418
+ SQLSERVER_2019_WEB = 29
2419
+
2420
+ # The database version is SQL Server 2022 Standard.
2421
+ SQLSERVER_2022_STANDARD = 199
2422
+
2423
+ # The database version is SQL Server 2022 Enterprise.
2424
+ SQLSERVER_2022_ENTERPRISE = 200
2425
+
2426
+ # The database version is SQL Server 2022 Express.
2427
+ SQLSERVER_2022_EXPRESS = 201
2428
+
2429
+ # The database version is SQL Server 2022 Web.
2430
+ SQLSERVER_2022_WEB = 202
2431
+
2432
+ # The database version is SQL Server 2025 Standard.
2433
+ SQLSERVER_2025_STANDARD = 549
2434
+
2435
+ # The database version is SQL Server 2025 Enterprise.
2436
+ SQLSERVER_2025_ENTERPRISE = 550
2437
+
2438
+ # The database version is SQL Server 2025 Express.
2439
+ SQLSERVER_2025_EXPRESS = 551
2440
+ end
2441
+
2442
+ # The pricing plan for this instance.
2443
+ module SqlPricingPlan
2444
+ # This is an unknown pricing plan for this instance.
2445
+ SQL_PRICING_PLAN_UNSPECIFIED = 0
2446
+
2447
+ # The instance is billed at a monthly flat rate.
2448
+ PACKAGE = 1
2449
+
2450
+ # The instance is billed per usage.
2451
+ PER_USE = 2
2452
+ end
2453
+
2454
+ module SqlReplicationType
2455
+ # This is an unknown replication type for a Cloud SQL instance.
2456
+ SQL_REPLICATION_TYPE_UNSPECIFIED = 0
2457
+
2458
+ # The synchronous replication mode for First Generation instances. It is the
2459
+ # default value.
2460
+ SYNCHRONOUS = 1
2461
+
2462
+ # The asynchronous replication mode for First Generation instances. It
2463
+ # provides a slight performance gain, but if an outage occurs while this
2464
+ # option is set to asynchronous, you can lose up to a few seconds of updates
2465
+ # to your data.
2466
+ ASYNCHRONOUS = 2
2467
+ end
2468
+
2469
+ # The type of disk that is used for a v2 instance to use.
2470
+ module SqlDataDiskType
2471
+ # This is an unknown data disk type.
2472
+ SQL_DATA_DISK_TYPE_UNSPECIFIED = 0
2473
+
2474
+ # An SSD data disk.
2475
+ PD_SSD = 1
2476
+
2477
+ # An HDD data disk.
2478
+ PD_HDD = 2
2479
+
2480
+ # This field is deprecated and will be removed from a future version of the
2481
+ # API.
2482
+ OBSOLETE_LOCAL_SSD = 3
2483
+
2484
+ # A Hyperdisk Balanced data disk.
2485
+ HYPERDISK_BALANCED = 4
2486
+ end
2487
+
2488
+ # The availability type of the given Cloud SQL instance.
2489
+ module SqlAvailabilityType
2490
+ # This is an unknown Availability type.
2491
+ SQL_AVAILABILITY_TYPE_UNSPECIFIED = 0
2492
+
2493
+ # Zonal available instance.
2494
+ ZONAL = 1
2495
+
2496
+ # Regional available instance.
2497
+ REGIONAL = 2
2498
+ end
2499
+
2500
+ module SqlUpdateTrack
2501
+ # This is an unknown maintenance timing preference.
2502
+ SQL_UPDATE_TRACK_UNSPECIFIED = 0
2503
+
2504
+ # For an instance with a scheduled maintenance window, this maintenance
2505
+ # timing indicates that the maintenance update is scheduled 7 to 14 days
2506
+ # after the notification is sent out. Also referred to as `Week 1` (Console)
2507
+ # and `preview` (gcloud CLI).
2508
+
2509
+ # For an instance with a scheduled maintenance window, this maintenance
2510
+ # timing indicates that the maintenance update is scheduled 15 to 21 days
2511
+ # after the notification is sent out. Also referred to as `Week 2` (Console)
2512
+ # and `production` (gcloud CLI).
2513
+
2514
+ # For instance with a scheduled maintenance window, this maintenance
2515
+ # timing indicates that the maintenance update is scheduled 35 to 42 days
2516
+ # after the notification is sent out.
2517
+ 3
2518
+ end
2519
+ end
2520
+ end
2521
+ end
2522
+ end