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