@maxim_mazurok/gapi.client.sqladmin-v1 0.0.20220804

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.
package/index.d.ts ADDED
@@ -0,0 +1,3384 @@
1
+ /* Type definitions for non-npm package Cloud SQL Admin API v1 0.0 */
2
+ // Project: https://developers.google.com/cloud-sql/
3
+ // Definitions by: Maxim Mazurok <https://github.com/Maxim-Mazurok>
4
+ // Nick Amoscato <https://github.com/namoscato>
5
+ // Declan Vong <https://github.com/declanvong>
6
+ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
7
+ // TypeScript Version: 2.8
8
+
9
+ // IMPORTANT
10
+ // This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually.
11
+ // In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator
12
+ // Generated from: https://sqladmin.googleapis.com/$discovery/rest?version=v1
13
+ // Revision: 20220804
14
+
15
+ /// <reference types="gapi.client" />
16
+
17
+ declare namespace gapi.client {
18
+ /** Load Cloud SQL Admin API v1 */
19
+ function load(urlOrObject: "https://sqladmin.googleapis.com/$discovery/rest?version=v1"): Promise<void>;
20
+ /** @deprecated Please load APIs with discovery documents. */
21
+ function load(name: "sqladmin", version: "v1"): Promise<void>;
22
+ /** @deprecated Please load APIs with discovery documents. */
23
+ function load(name: "sqladmin", version: "v1", callback: () => any): void;
24
+
25
+ namespace sql {
26
+ interface AclEntry {
27
+ /** The time when this access control entry expires in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. */
28
+ expirationTime?: string;
29
+ /** This is always `sql#aclEntry`. */
30
+ kind?: string;
31
+ /** Optional. A label to identify this entry. */
32
+ name?: string;
33
+ /** The allowlisted value for the access control list. */
34
+ value?: string;
35
+ }
36
+ interface ApiWarning {
37
+ /** Code to uniquely identify the warning type. */
38
+ code?: string;
39
+ /** The warning message. */
40
+ message?: string;
41
+ /** The region name for REGION_UNREACHABLE warning. */
42
+ region?: string;
43
+ }
44
+ interface BackupConfiguration {
45
+ /** Backup retention settings. */
46
+ backupRetentionSettings?: BackupRetentionSettings;
47
+ /** (MySQL only) Whether binary log is enabled. If backup configuration is disabled, binarylog must be disabled as well. */
48
+ binaryLogEnabled?: boolean;
49
+ /** Whether this configuration is enabled. */
50
+ enabled?: boolean;
51
+ /** This is always `sql#backupConfiguration`. */
52
+ kind?: string;
53
+ /** Location of the backup */
54
+ location?: string;
55
+ /** (Postgres only) Whether point in time recovery is enabled. */
56
+ pointInTimeRecoveryEnabled?: boolean;
57
+ /** Reserved for future use. */
58
+ replicationLogArchivingEnabled?: boolean;
59
+ /** Start time for the daily backup configuration in UTC timezone in the 24 hour format - `HH:MM`. */
60
+ startTime?: string;
61
+ /** The number of days of transaction logs we retain for point in time restore, from 1-7. */
62
+ transactionLogRetentionDays?: number;
63
+ }
64
+ interface BackupContext {
65
+ /** The identifier of the backup. */
66
+ backupId?: string;
67
+ /** This is always `sql#backupContext`. */
68
+ kind?: string;
69
+ }
70
+ interface BackupRetentionSettings {
71
+ /** Depending on the value of retention_unit, this is used to determine if a backup needs to be deleted. If retention_unit is 'COUNT', we will retain this many backups. */
72
+ retainedBackups?: number;
73
+ /** The unit that 'retained_backups' represents. */
74
+ retentionUnit?: string;
75
+ }
76
+ interface BackupRun {
77
+ /** Specifies the kind of backup, PHYSICAL or DEFAULT_SNAPSHOT. */
78
+ backupKind?: string;
79
+ /** The description of this run, only applicable to on-demand backups. */
80
+ description?: string;
81
+ /** Encryption configuration specific to a backup. */
82
+ diskEncryptionConfiguration?: DiskEncryptionConfiguration;
83
+ /** Encryption status specific to a backup. */
84
+ diskEncryptionStatus?: DiskEncryptionStatus;
85
+ /** The time the backup operation completed in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. */
86
+ endTime?: string;
87
+ /** The time the run was enqueued in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. */
88
+ enqueuedTime?: string;
89
+ /** Information about why the backup operation failed. This is only present if the run has the FAILED status. */
90
+ error?: OperationError;
91
+ /** The identifier for this backup run. Unique only for a specific Cloud SQL instance. */
92
+ id?: string;
93
+ /** Name of the database instance. */
94
+ instance?: string;
95
+ /** This is always `sql#backupRun`. */
96
+ kind?: string;
97
+ /** Location of the backups. */
98
+ location?: string;
99
+ /** The URI of this resource. */
100
+ selfLink?: string;
101
+ /** The time the backup operation actually started in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. */
102
+ startTime?: string;
103
+ /** The status of this run. */
104
+ status?: string;
105
+ /** The type of this run; can be either "AUTOMATED" or "ON_DEMAND" or "FINAL". This field defaults to "ON_DEMAND" and is ignored, when specified for insert requests. */
106
+ type?: string;
107
+ /** The start time of the backup window during which this the backup was attempted in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. */
108
+ windowStartTime?: string;
109
+ }
110
+ interface BackupRunsListResponse {
111
+ /** A list of backup runs in reverse chronological order of the enqueued time. */
112
+ items?: BackupRun[];
113
+ /** This is always `sql#backupRunsList`. */
114
+ kind?: string;
115
+ /** The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results. */
116
+ nextPageToken?: string;
117
+ }
118
+ interface BinLogCoordinates {
119
+ /** Name of the binary log file for a Cloud SQL instance. */
120
+ binLogFileName?: string;
121
+ /** Position (offset) within the binary log file. */
122
+ binLogPosition?: string;
123
+ /** This is always `sql#binLogCoordinates`. */
124
+ kind?: string;
125
+ }
126
+ interface CloneContext {
127
+ /**
128
+ * The name of the allocated ip range for the private ip CloudSQL instance. For example: "google-managed-services-default". If set, the cloned instance ip will be created in the
129
+ * allocated range. The range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63 characters long and match the regular
130
+ * expression [a-z]([-a-z0-9]*[a-z0-9])?. Reserved for future use.
131
+ */
132
+ allocatedIpRange?: string;
133
+ /**
134
+ * Binary log coordinates, if specified, identify the position up to which the source instance is cloned. If not specified, the source instance is cloned up to the most recent binary
135
+ * log coordinates.
136
+ */
137
+ binLogCoordinates?: BinLogCoordinates;
138
+ /** Name of the Cloud SQL instance to be created as a clone. */
139
+ destinationInstanceName?: string;
140
+ /** This is always `sql#cloneContext`. */
141
+ kind?: string;
142
+ /** Reserved for future use. */
143
+ pitrTimestampMs?: string;
144
+ /** Timestamp, if specified, identifies the time to which the source instance is cloned. */
145
+ pointInTime?: string;
146
+ }
147
+ interface ConnectSettings {
148
+ /**
149
+ * `SECOND_GEN`: Cloud SQL database instance. `EXTERNAL`: A database server that is not managed by Google. This property is read-only; use the `tier` property in the `settings` object
150
+ * to determine the database type.
151
+ */
152
+ backendType?: string;
153
+ /**
154
+ * The database engine type and version. The `databaseVersion` field cannot be changed after instance creation. MySQL instances: `MYSQL_8_0`, `MYSQL_5_7` (default), or `MYSQL_5_6`.
155
+ * PostgreSQL instances: `POSTGRES_9_6`, `POSTGRES_10`, `POSTGRES_11`, `POSTGRES_12` (default), `POSTGRES_13`, or `POSTGRES_14`. SQL Server instances: `SQLSERVER_2017_STANDARD`
156
+ * (default), `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`, `SQLSERVER_2019_STANDARD`, `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`, or
157
+ * `SQLSERVER_2019_WEB`.
158
+ */
159
+ databaseVersion?: string;
160
+ /** The assigned IP addresses for the instance. */
161
+ ipAddresses?: IpMapping[];
162
+ /** This is always `sql#connectSettings`. */
163
+ kind?: string;
164
+ /** The cloud region for the instance. For example, `us-central1`, `europe-west1`. The region cannot be changed after instance creation. */
165
+ region?: string;
166
+ /** SSL configuration. */
167
+ serverCaCert?: SslCert;
168
+ }
169
+ interface Database {
170
+ /** The Cloud SQL charset value. */
171
+ charset?: string;
172
+ /** The Cloud SQL collation value. */
173
+ collation?: string;
174
+ /** This field is deprecated and will be removed from a future version of the API. */
175
+ etag?: string;
176
+ /** The name of the Cloud SQL instance. This does not include the project ID. */
177
+ instance?: string;
178
+ /** This is always `sql#database`. */
179
+ kind?: string;
180
+ /** The name of the database in the Cloud SQL instance. This does not include the project ID or instance name. */
181
+ name?: string;
182
+ /** The project ID of the project containing the Cloud SQL database. The Google apps domain is prefixed if applicable. */
183
+ project?: string;
184
+ /** The URI of this resource. */
185
+ selfLink?: string;
186
+ sqlserverDatabaseDetails?: SqlServerDatabaseDetails;
187
+ }
188
+ interface DatabaseFlags {
189
+ /**
190
+ * The name of the flag. These flags are passed at instance startup, so include both server options and system variables. Flags are specified with underscores, not hyphens. For more
191
+ * information, see [Configuring Database Flags](https://cloud.google.com/sql/docs/mysql/flags) in the Cloud SQL documentation.
192
+ */
193
+ name?: string;
194
+ /** The value of the flag. Boolean flags are set to `on` for true and `off` for false. This field must be omitted if the flag doesn't take a value. */
195
+ value?: string;
196
+ }
197
+ interface DatabaseInstance {
198
+ /** List all maintenance versions applicable on the instance */
199
+ availableMaintenanceVersions?: string[];
200
+ /**
201
+ * The backend type. `SECOND_GEN`: Cloud SQL database instance. `EXTERNAL`: A database server that is not managed by Google. This property is read-only; use the `tier` property in the
202
+ * `settings` object to determine the database type.
203
+ */
204
+ backendType?: string;
205
+ /** Connection name of the Cloud SQL instance used in connection strings. */
206
+ connectionName?: string;
207
+ /** Output only. The time when the instance was created in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. */
208
+ createTime?: string;
209
+ /**
210
+ * The current disk usage of the instance in bytes. This property has been deprecated. Use the "cloudsql.googleapis.com/database/disk/bytes_used" metric in Cloud Monitoring API
211
+ * instead. Please see [this announcement](https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ) for details.
212
+ */
213
+ currentDiskSize?: string;
214
+ /** Output only. Stores the current database version running on the instance including minor version such as `MYSQL_8_0_18`. */
215
+ databaseInstalledVersion?: string;
216
+ /** The database engine type and version. The `databaseVersion` field cannot be changed after instance creation. */
217
+ databaseVersion?: string;
218
+ /** Disk encryption configuration specific to an instance. */
219
+ diskEncryptionConfiguration?: DiskEncryptionConfiguration;
220
+ /** Disk encryption status specific to an instance. */
221
+ diskEncryptionStatus?: DiskEncryptionStatus;
222
+ /** This field is deprecated and will be removed from a future version of the API. Use the `settings.settingsVersion` field instead. */
223
+ etag?: string;
224
+ /** The name and status of the failover replica. */
225
+ failoverReplica?: {
226
+ /**
227
+ * The availability status of the failover replica. A false status indicates that the failover replica is out of sync. The primary instance can only failover to the failover
228
+ * replica when the status is true.
229
+ */
230
+ available?: boolean;
231
+ /** The name of the failover replica. If specified at instance creation, a failover replica is created for the instance. The name doesn't include the project ID. */
232
+ name?: string;
233
+ };
234
+ /**
235
+ * The Compute Engine zone that the instance is currently serving from. This value could be different from the zone that was specified when the instance was created if the instance has
236
+ * failed over to its secondary zone. WARNING: Changing this might restart the instance.
237
+ */
238
+ gceZone?: string;
239
+ /** The instance type. */
240
+ instanceType?: string;
241
+ /** The assigned IP addresses for the instance. */
242
+ ipAddresses?: IpMapping[];
243
+ /** The IPv6 address assigned to the instance. (Deprecated) This property was applicable only to First Generation instances. */
244
+ ipv6Address?: string;
245
+ /** This is always `sql#instance`. */
246
+ kind?: string;
247
+ /** The current software version on the instance. */
248
+ maintenanceVersion?: string;
249
+ /** The name of the instance which will act as primary in the replication setup. */
250
+ masterInstanceName?: string;
251
+ /** The maximum disk size of the instance in bytes. */
252
+ maxDiskSize?: string;
253
+ /** Name of the Cloud SQL instance. This does not include the project ID. */
254
+ name?: string;
255
+ /** Configuration specific to on-premises instances. */
256
+ onPremisesConfiguration?: OnPremisesConfiguration;
257
+ /**
258
+ * This field represents the report generated by the proactive database wellness job for OutOfDisk issues. * Writers: * the proactive database wellness job for OOD. * Readers: * the
259
+ * proactive database wellness job
260
+ */
261
+ outOfDiskReport?: SqlOutOfDiskReport;
262
+ /** The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable. */
263
+ project?: string;
264
+ /**
265
+ * The geographical region. Can be: * `us-central` (`FIRST_GEN` instances only) * `us-central1` (`SECOND_GEN` instances only) * `asia-east1` or `europe-west1`. Defaults to `us-central`
266
+ * or `us-central1` depending on the instance type. The region cannot be changed after instance creation.
267
+ */
268
+ region?: string;
269
+ /** Configuration specific to failover replicas and read replicas. */
270
+ replicaConfiguration?: ReplicaConfiguration;
271
+ /** The replicas of the instance. */
272
+ replicaNames?: string[];
273
+ /** Initial root password. Use only on creation. You must set root passwords before you can connect to PostgreSQL instances. */
274
+ rootPassword?: string;
275
+ /** The status indicating if instance satisfiesPzs. Reserved for future use. */
276
+ satisfiesPzs?: boolean;
277
+ /** The start time of any upcoming scheduled maintenance for this instance. */
278
+ scheduledMaintenance?: SqlScheduledMaintenance;
279
+ /**
280
+ * The Compute Engine zone that the failover instance is currently serving from for a regional instance. This value could be different from the zone that was specified when the
281
+ * instance was created if the instance has failed over to its secondary/failover zone.
282
+ */
283
+ secondaryGceZone?: string;
284
+ /** The URI of this resource. */
285
+ selfLink?: string;
286
+ /** SSL configuration. */
287
+ serverCaCert?: SslCert;
288
+ /** The service account email address assigned to the instance.\This property is read-only. */
289
+ serviceAccountEmailAddress?: string;
290
+ /** The user settings. */
291
+ settings?: Settings;
292
+ /** The current serving state of the Cloud SQL instance. */
293
+ state?: string;
294
+ /** If the instance state is SUSPENDED, the reason for the suspension. */
295
+ suspensionReason?: string[];
296
+ }
297
+ interface DatabasesListResponse {
298
+ /** List of database resources in the instance. */
299
+ items?: Database[];
300
+ /** This is always `sql#databasesList`. */
301
+ kind?: string;
302
+ }
303
+ interface DemoteMasterConfiguration {
304
+ /** This is always `sql#demoteMasterConfiguration`. */
305
+ kind?: string;
306
+ /**
307
+ * MySQL specific configuration when replicating from a MySQL on-premises primary instance. Replication configuration information such as the username, password, certificates, and keys
308
+ * are not stored in the instance metadata. The configuration information is used only to set up the replication connection and is stored by MySQL in a file named `master.info` in the
309
+ * data directory.
310
+ */
311
+ mysqlReplicaConfiguration?: DemoteMasterMySqlReplicaConfiguration;
312
+ }
313
+ interface DemoteMasterContext {
314
+ /** This is always `sql#demoteMasterContext`. */
315
+ kind?: string;
316
+ /** The name of the instance which will act as on-premises primary instance in the replication setup. */
317
+ masterInstanceName?: string;
318
+ /** Configuration specific to read-replicas replicating from the on-premises primary instance. */
319
+ replicaConfiguration?: DemoteMasterConfiguration;
320
+ /** Flag to skip replication setup on the instance. */
321
+ skipReplicationSetup?: boolean;
322
+ /**
323
+ * Verify the GTID consistency for demote operation. Default value: `True`. Setting this flag to `false` enables you to bypass the GTID consistency check between on-premises primary
324
+ * instance and Cloud SQL instance during the demotion operation but also exposes you to the risk of future replication failures. Change the value only if you know the reason for the
325
+ * GTID divergence and are confident that doing so will not cause any replication issues.
326
+ */
327
+ verifyGtidConsistency?: boolean;
328
+ }
329
+ interface DemoteMasterMySqlReplicaConfiguration {
330
+ /** PEM representation of the trusted CA's x509 certificate. */
331
+ caCertificate?: string;
332
+ /** PEM representation of the replica's x509 certificate. */
333
+ clientCertificate?: string;
334
+ /**
335
+ * PEM representation of the replica's private key. The corresponsing public key is encoded in the client's certificate. The format of the replica's private key can be either PKCS #1
336
+ * or PKCS #8.
337
+ */
338
+ clientKey?: string;
339
+ /** This is always `sql#demoteMasterMysqlReplicaConfiguration`. */
340
+ kind?: string;
341
+ /** The password for the replication connection. */
342
+ password?: string;
343
+ /** The username for the replication connection. */
344
+ username?: string;
345
+ }
346
+ interface DenyMaintenancePeriod {
347
+ /**
348
+ * "deny maintenance period" end date. If the year of the end date is empty, the year of the start date also must be empty. In this case, it means the no maintenance interval recurs
349
+ * every year. The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01
350
+ */
351
+ endDate?: string;
352
+ /**
353
+ * "deny maintenance period" start date. If the year of the start date is empty, the year of the end date also must be empty. In this case, it means the deny maintenance period recurs
354
+ * every year. The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01
355
+ */
356
+ startDate?: string;
357
+ /** Time in UTC when the "deny maintenance period" starts on start_date and ends on end_date. The time is in format: HH:mm:SS, i.e., 00:00:00 */
358
+ time?: string;
359
+ }
360
+ interface DiskEncryptionConfiguration {
361
+ /** This is always `sql#diskEncryptionConfiguration`. */
362
+ kind?: string;
363
+ /** Resource name of KMS key for disk encryption */
364
+ kmsKeyName?: string;
365
+ }
366
+ interface DiskEncryptionStatus {
367
+ /** This is always `sql#diskEncryptionStatus`. */
368
+ kind?: string;
369
+ /** KMS key version used to encrypt the Cloud SQL instance resource */
370
+ kmsKeyVersionName?: string;
371
+ }
372
+ interface ExportContext {
373
+ /** Options for exporting data as CSV. `MySQL` and `PostgreSQL` instances only. */
374
+ csvExportOptions?: {
375
+ /** Specifies the character that should appear before a data character that needs to be escaped. */
376
+ escapeCharacter?: string;
377
+ /** Specifies the character that separates columns within each row (line) of the file. */
378
+ fieldsTerminatedBy?: string;
379
+ /** This is used to separate lines. If a line does not contain all fields, the rest of the columns are set to their default values. */
380
+ linesTerminatedBy?: string;
381
+ /** Specifies the quoting character to be used when a data value is quoted. */
382
+ quoteCharacter?: string;
383
+ /** The select query used to extract the data. */
384
+ selectQuery?: string;
385
+ };
386
+ /**
387
+ * Databases to be exported. `MySQL instances:` If `fileType` is `SQL` and no database is specified, all databases are exported, except for the `mysql` system database. If `fileType`
388
+ * is `CSV`, you can specify one database, either by using this property or by using the `csvExportOptions.selectQuery` property, which takes precedence over this property. `PostgreSQL
389
+ * instances:` You must specify one database to be exported. If `fileType` is `CSV`, this database must match the one specified in the `csvExportOptions.selectQuery` property. `SQL
390
+ * Server instances:` You must specify one database to be exported, and the `fileType` must be `BAK`.
391
+ */
392
+ databases?: string[];
393
+ /** The file type for the specified uri. */
394
+ fileType?: string;
395
+ /** This is always `sql#exportContext`. */
396
+ kind?: string;
397
+ /** Option for export offload. */
398
+ offload?: boolean;
399
+ /** Options for exporting data as SQL statements. */
400
+ sqlExportOptions?: {
401
+ /** Options for exporting from MySQL. */
402
+ mysqlExportOptions?: {
403
+ /**
404
+ * Option to include SQL statement required to set up replication. If set to `1`, the dump file includes a CHANGE MASTER TO statement with the binary log coordinates, and
405
+ * --set-gtid-purged is set to ON. If set to `2`, the CHANGE MASTER TO statement is written as a SQL comment and has no effect. If set to any value other than `1`,
406
+ * --set-gtid-purged is set to OFF.
407
+ */
408
+ masterData?: number;
409
+ };
410
+ /** Export only schemas. */
411
+ schemaOnly?: boolean;
412
+ /**
413
+ * Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database. For PostgreSQL instances, you can specify only
414
+ * one table.
415
+ */
416
+ tables?: string[];
417
+ };
418
+ /**
419
+ * The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form `gs://bucketName/fileName`. If the file already exists, the request succeeds,
420
+ * but the operation fails. If `fileType` is `SQL` and the filename ends with .gz, the contents are compressed.
421
+ */
422
+ uri?: string;
423
+ }
424
+ interface FailoverContext {
425
+ /** This is always `sql#failoverContext`. */
426
+ kind?: string;
427
+ /** The current settings version of this instance. Request will be rejected if this version doesn't match the current settings version. */
428
+ settingsVersion?: string;
429
+ }
430
+ interface Flag {
431
+ /** Use this field if only certain integers are accepted. Can be combined with min_value and max_value to add additional values. */
432
+ allowedIntValues?: string[];
433
+ /** For `STRING` flags, a list of strings that the value can be set to. */
434
+ allowedStringValues?: string[];
435
+ /**
436
+ * The database version this flag applies to. Can be MySQL instances: `MYSQL_8_0`, `MYSQL_8_0_18`, `MYSQL_8_0_26`, `MYSQL_5_7`, or `MYSQL_5_6`. PostgreSQL instances: `POSTGRES_9_6`,
437
+ * `POSTGRES_10`, `POSTGRES_11` or `POSTGRES_12`. SQL Server instances: `SQLSERVER_2017_STANDARD`, `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`,
438
+ * `SQLSERVER_2019_STANDARD`, `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`, or `SQLSERVER_2019_WEB`. See [the complete
439
+ * list](/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).
440
+ */
441
+ appliesTo?: string[];
442
+ /** Whether or not the flag is considered in beta. */
443
+ inBeta?: boolean;
444
+ /** This is always `sql#flag`. */
445
+ kind?: string;
446
+ /** For `INTEGER` flags, the maximum allowed value. */
447
+ maxValue?: string;
448
+ /** For `INTEGER` flags, the minimum allowed value. */
449
+ minValue?: string;
450
+ /** This is the name of the flag. Flag names always use underscores, not hyphens, for example: `max_allowed_packet` */
451
+ name?: string;
452
+ /** Indicates whether changing this flag will trigger a database restart. Only applicable to Second Generation instances. */
453
+ requiresRestart?: boolean;
454
+ /** The type of the flag. Flags are typed to being `BOOLEAN`, `STRING`, `INTEGER` or `NONE`. `NONE` is used for flags that do not take a value, such as `skip_grant_tables`. */
455
+ type?: string;
456
+ }
457
+ interface FlagsListResponse {
458
+ /** List of flags. */
459
+ items?: Flag[];
460
+ /** This is always `sql#flagsList`. */
461
+ kind?: string;
462
+ }
463
+ interface GenerateEphemeralCertRequest {
464
+ /** Optional. Access token to include in the signed certificate. */
465
+ access_token?: string;
466
+ /** PEM encoded public key to include in the signed certificate. */
467
+ public_key?: string;
468
+ /** Optional. Optional snapshot read timestamp to trade freshness for performance. */
469
+ readTime?: string;
470
+ /** Optional. If set, it will contain the cert valid duration. */
471
+ validDuration?: string;
472
+ }
473
+ interface GenerateEphemeralCertResponse {
474
+ /** Generated cert */
475
+ ephemeralCert?: SslCert;
476
+ }
477
+ interface ImportContext {
478
+ /** Import parameters specific to SQL Server .BAK files */
479
+ bakImportOptions?: {
480
+ encryptionOptions?: {
481
+ /** Path to the Certificate (.cer) in Cloud Storage, in the form `gs://bucketName/fileName`. The instance must have write permissions to the bucket and read access to the file. */
482
+ certPath?: string;
483
+ /** Password that encrypts the private key */
484
+ pvkPassword?: string;
485
+ /**
486
+ * Path to the Certificate Private Key (.pvk) in Cloud Storage, in the form `gs://bucketName/fileName`. The instance must have write permissions to the bucket and read access
487
+ * to the file.
488
+ */
489
+ pvkPath?: string;
490
+ };
491
+ };
492
+ /** Options for importing data as CSV. */
493
+ csvImportOptions?: {
494
+ /** The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data. */
495
+ columns?: string[];
496
+ /** Specifies the character that should appear before a data character that needs to be escaped. */
497
+ escapeCharacter?: string;
498
+ /** Specifies the character that separates columns within each row (line) of the file. */
499
+ fieldsTerminatedBy?: string;
500
+ /** This is used to separate lines. If a line does not contain all fields, the rest of the columns are set to their default values. */
501
+ linesTerminatedBy?: string;
502
+ /** Specifies the quoting character to be used when a data value is quoted. */
503
+ quoteCharacter?: string;
504
+ /** The table to which CSV data is imported. */
505
+ table?: string;
506
+ };
507
+ /**
508
+ * The target database for the import. If `fileType` is `SQL`, this field is required only if the import file does not specify a database, and is overridden by any database
509
+ * specification in the import file. If `fileType` is `CSV`, one database must be specified.
510
+ */
511
+ database?: string;
512
+ /** The file type for the specified uri.\`SQL`: The file contains SQL statements. \`CSV`: The file contains CSV data. */
513
+ fileType?: string;
514
+ /** The PostgreSQL user for this import operation. PostgreSQL instances only. */
515
+ importUser?: string;
516
+ /** This is always `sql#importContext`. */
517
+ kind?: string;
518
+ /**
519
+ * Path to the import file in Cloud Storage, in the form `gs://bucketName/fileName`. Compressed gzip files (.gz) are supported when `fileType` is `SQL`. The instance must have write
520
+ * permissions to the bucket and read access to the file.
521
+ */
522
+ uri?: string;
523
+ }
524
+ interface InsightsConfig {
525
+ /** Whether Query Insights feature is enabled. */
526
+ queryInsightsEnabled?: boolean;
527
+ /** Number of query execution plans captured by Insights per minute for all queries combined. Default is 5. */
528
+ queryPlansPerMinute?: number;
529
+ /**
530
+ * Maximum query length stored in bytes. Default value: 1024 bytes. Range: 256-4500 bytes. Query length more than this field value will be truncated to this value. When unset, query
531
+ * length will be the default value. Changing query length will restart the database.
532
+ */
533
+ queryStringLength?: number;
534
+ /** Whether Query Insights will record application tags from query when enabled. */
535
+ recordApplicationTags?: boolean;
536
+ /** Whether Query Insights will record client address when enabled. */
537
+ recordClientAddress?: boolean;
538
+ }
539
+ interface InstanceReference {
540
+ /** The name of the Cloud SQL instance being referenced. This does not include the project ID. */
541
+ name?: string;
542
+ /** The project ID of the Cloud SQL instance being referenced. The default is the same project ID as the instance references it. */
543
+ project?: string;
544
+ /** The region of the Cloud SQL instance being referenced. */
545
+ region?: string;
546
+ }
547
+ interface InstancesCloneRequest {
548
+ /** Contains details about the clone operation. */
549
+ cloneContext?: CloneContext;
550
+ }
551
+ interface InstancesDemoteMasterRequest {
552
+ /** Contains details about the demoteMaster operation. */
553
+ demoteMasterContext?: DemoteMasterContext;
554
+ }
555
+ interface InstancesExportRequest {
556
+ /** Contains details about the export operation. */
557
+ exportContext?: ExportContext;
558
+ }
559
+ interface InstancesFailoverRequest {
560
+ /** Failover Context. */
561
+ failoverContext?: FailoverContext;
562
+ }
563
+ interface InstancesImportRequest {
564
+ /** Contains details about the import operation. */
565
+ importContext?: ImportContext;
566
+ }
567
+ interface InstancesListResponse {
568
+ /** List of database instance resources. */
569
+ items?: DatabaseInstance[];
570
+ /** This is always `sql#instancesList`. */
571
+ kind?: string;
572
+ /** The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results. */
573
+ nextPageToken?: string;
574
+ /** List of warnings that occurred while handling the request. */
575
+ warnings?: ApiWarning[];
576
+ }
577
+ interface InstancesListServerCasResponse {
578
+ activeVersion?: string;
579
+ /** List of server CA certificates for the instance. */
580
+ certs?: SslCert[];
581
+ /** This is always `sql#instancesListServerCas`. */
582
+ kind?: string;
583
+ }
584
+ interface InstancesRestoreBackupRequest {
585
+ /** Parameters required to perform the restore backup operation. */
586
+ restoreBackupContext?: RestoreBackupContext;
587
+ }
588
+ interface InstancesRotateServerCaRequest {
589
+ /** Contains details about the rotate server CA operation. */
590
+ rotateServerCaContext?: RotateServerCaContext;
591
+ }
592
+ interface InstancesTruncateLogRequest {
593
+ /** Contains details about the truncate log operation. */
594
+ truncateLogContext?: TruncateLogContext;
595
+ }
596
+ interface IpConfiguration {
597
+ /**
598
+ * The name of the allocated ip range for the private ip CloudSQL instance. For example: "google-managed-services-default". If set, the instance ip will be created in the allocated
599
+ * range. The range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name must be 1-63 characters long and match the regular expression
600
+ * `[a-z]([-a-z0-9]*[a-z0-9])?.`
601
+ */
602
+ allocatedIpRange?: string;
603
+ /** The list of external networks that are allowed to connect to the instance using the IP. In 'CIDR' notation, also known as 'slash' notation (for example: `157.197.200.0/24`). */
604
+ authorizedNetworks?: AclEntry[];
605
+ /** Whether the instance is assigned a public IP address or not. */
606
+ ipv4Enabled?: boolean;
607
+ /**
608
+ * The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, `/projects/myProject/global/networks/default`. This setting can be
609
+ * updated, but it cannot be removed after it is set.
610
+ */
611
+ privateNetwork?: string;
612
+ /** Whether SSL connections over IP are enforced or not. */
613
+ requireSsl?: boolean;
614
+ }
615
+ interface IpMapping {
616
+ /** The IP address assigned. */
617
+ ipAddress?: string;
618
+ /**
619
+ * The due time for this IP to be retired in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. This field is only available when the IP is
620
+ * scheduled to be retired.
621
+ */
622
+ timeToRetire?: string;
623
+ /**
624
+ * The type of this IP address. A `PRIMARY` address is a public address that can accept incoming connections. A `PRIVATE` address is a private address that can accept incoming
625
+ * connections. An `OUTGOING` address is the source address of connections originating from the instance, if supported.
626
+ */
627
+ type?: string;
628
+ }
629
+ interface LocationPreference {
630
+ /** The App Engine application to follow, it must be in the same region as the Cloud SQL instance. WARNING: Changing this might restart the instance. */
631
+ followGaeApplication?: string;
632
+ /** This is always `sql#locationPreference`. */
633
+ kind?: string;
634
+ /** The preferred Compute Engine zone for the secondary/failover (for example: us-central1-a, us-central1-b, etc.). */
635
+ secondaryZone?: string;
636
+ /** The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.). WARNING: Changing this might restart the instance. */
637
+ zone?: string;
638
+ }
639
+ interface MaintenanceWindow {
640
+ /** day of week (1-7), starting on Monday. */
641
+ day?: number;
642
+ /** hour of day - 0 to 23. */
643
+ hour?: number;
644
+ /** This is always `sql#maintenanceWindow`. */
645
+ kind?: string;
646
+ /** Maintenance timing setting: `canary` (Earlier) or `stable` (Later). [Learn more](https://cloud.google.com/sql/docs/mysql/instance-settings#maintenance-timing-2ndgen). */
647
+ updateTrack?: string;
648
+ }
649
+ interface MySqlReplicaConfiguration {
650
+ /** PEM representation of the trusted CA's x509 certificate. */
651
+ caCertificate?: string;
652
+ /** PEM representation of the replica's x509 certificate. */
653
+ clientCertificate?: string;
654
+ /** PEM representation of the replica's private key. The corresponsing public key is encoded in the client's certificate. */
655
+ clientKey?: string;
656
+ /** Seconds to wait between connect retries. MySQL's default is 60 seconds. */
657
+ connectRetryInterval?: number;
658
+ /**
659
+ * Path to a SQL dump file in Google Cloud Storage from which the replica instance is to be created. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are
660
+ * also supported. Dumps have the binlog co-ordinates from which replication begins. This can be accomplished by setting --master-data to 1 when using mysqldump.
661
+ */
662
+ dumpFilePath?: string;
663
+ /** This is always `sql#mysqlReplicaConfiguration`. */
664
+ kind?: string;
665
+ /** Interval in milliseconds between replication heartbeats. */
666
+ masterHeartbeatPeriod?: string;
667
+ /** The password for the replication connection. */
668
+ password?: string;
669
+ /** A list of permissible ciphers to use for SSL encryption. */
670
+ sslCipher?: string;
671
+ /** The username for the replication connection. */
672
+ username?: string;
673
+ /** Whether or not to check the primary instance's Common Name value in the certificate that it sends during the SSL handshake. */
674
+ verifyServerCertificate?: boolean;
675
+ }
676
+ interface MySqlSyncConfig {
677
+ /** Flags to use for the initial dump. */
678
+ initialSyncFlags?: SyncFlags[];
679
+ }
680
+ interface OnPremisesConfiguration {
681
+ /** PEM representation of the trusted CA's x509 certificate. */
682
+ caCertificate?: string;
683
+ /** PEM representation of the replica's x509 certificate. */
684
+ clientCertificate?: string;
685
+ /** PEM representation of the replica's private key. The corresponsing public key is encoded in the client's certificate. */
686
+ clientKey?: string;
687
+ /** The dump file to create the Cloud SQL replica. */
688
+ dumpFilePath?: string;
689
+ /** The host and port of the on-premises instance in host:port format */
690
+ hostPort?: string;
691
+ /** This is always `sql#onPremisesConfiguration`. */
692
+ kind?: string;
693
+ /** The password for connecting to on-premises instance. */
694
+ password?: string;
695
+ /** The reference to Cloud SQL instance if the source is Cloud SQL. */
696
+ sourceInstance?: InstanceReference;
697
+ /** The username for connecting to on-premises instance. */
698
+ username?: string;
699
+ }
700
+ interface Operation {
701
+ /** The context for backup operation, if applicable. */
702
+ backupContext?: BackupContext;
703
+ /** The time this operation finished in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. */
704
+ endTime?: string;
705
+ /** If errors occurred during processing of this operation, this field will be populated. */
706
+ error?: OperationErrors;
707
+ /** The context for export operation, if applicable. */
708
+ exportContext?: ExportContext;
709
+ /** The context for import operation, if applicable. */
710
+ importContext?: ImportContext;
711
+ /** The time this operation was enqueued in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. */
712
+ insertTime?: string;
713
+ /** This is always `sql#operation`. */
714
+ kind?: string;
715
+ /** An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation. */
716
+ name?: string;
717
+ /**
718
+ * The type of the operation. Valid values are: * `CREATE` * `DELETE` * `UPDATE` * `RESTART` * `IMPORT` * `EXPORT` * `BACKUP_VOLUME` * `RESTORE_VOLUME` * `CREATE_USER` * `DELETE_USER`
719
+ * * `CREATE_DATABASE` * `DELETE_DATABASE`
720
+ */
721
+ operationType?: string;
722
+ /** The URI of this resource. */
723
+ selfLink?: string;
724
+ /** The time this operation actually started in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. */
725
+ startTime?: string;
726
+ /** The status of an operation. */
727
+ status?: string;
728
+ /** Name of the database instance related to this operation. */
729
+ targetId?: string;
730
+ targetLink?: string;
731
+ /** The project ID of the target instance related to this operation. */
732
+ targetProject?: string;
733
+ /** The email address of the user who initiated this operation. */
734
+ user?: string;
735
+ }
736
+ interface OperationError {
737
+ /** Identifies the specific error that occurred. */
738
+ code?: string;
739
+ /** This is always `sql#operationError`. */
740
+ kind?: string;
741
+ /** Additional information about the error encountered. */
742
+ message?: string;
743
+ }
744
+ interface OperationErrors {
745
+ /** The list of errors encountered while processing this operation. */
746
+ errors?: OperationError[];
747
+ /** This is always `sql#operationErrors`. */
748
+ kind?: string;
749
+ }
750
+ interface OperationsListResponse {
751
+ /** List of operation resources. */
752
+ items?: Operation[];
753
+ /** This is always `sql#operationsList`. */
754
+ kind?: string;
755
+ /** The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results. */
756
+ nextPageToken?: string;
757
+ }
758
+ interface PasswordStatus {
759
+ /** If true, user does not have login privileges. */
760
+ locked?: boolean;
761
+ /** The expiration time of the current password. */
762
+ passwordExpirationTime?: string;
763
+ }
764
+ interface PasswordValidationPolicy {
765
+ /** The complexity of the password. */
766
+ complexity?: string;
767
+ /** Disallow username as a part of the password. */
768
+ disallowUsernameSubstring?: boolean;
769
+ /** Whether the password policy is enabled or not. */
770
+ enablePasswordPolicy?: boolean;
771
+ /** Minimum number of characters allowed. */
772
+ minLength?: number;
773
+ /** Minimum interval after which the password can be changed. This flag is only supported for PostgresSQL. */
774
+ passwordChangeInterval?: string;
775
+ /** Number of previous passwords that cannot be reused. */
776
+ reuseInterval?: number;
777
+ }
778
+ interface ReplicaConfiguration {
779
+ /**
780
+ * Specifies if the replica is the failover target. If the field is set to `true`, the replica will be designated as a failover replica. In case the primary instance fails, the replica
781
+ * instance will be promoted as the new primary instance. Only one replica can be specified as failover target, and the replica has to be in different zone with the primary instance.
782
+ */
783
+ failoverTarget?: boolean;
784
+ /** This is always `sql#replicaConfiguration`. */
785
+ kind?: string;
786
+ /**
787
+ * MySQL specific configuration when replicating from a MySQL on-premises primary instance. Replication configuration information such as the username, password, certificates, and keys
788
+ * are not stored in the instance metadata. The configuration information is used only to set up the replication connection and is stored by MySQL in a file named `master.info` in the
789
+ * data directory.
790
+ */
791
+ mysqlReplicaConfiguration?: MySqlReplicaConfiguration;
792
+ }
793
+ interface Reschedule {
794
+ /** Required. The type of the reschedule. */
795
+ rescheduleType?: string;
796
+ /**
797
+ * Optional. Timestamp when the maintenance shall be rescheduled to if reschedule_type=SPECIFIC_TIME, in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
798
+ * `2012-11-15T16:19:00.094Z`.
799
+ */
800
+ scheduleTime?: string;
801
+ }
802
+ interface RestoreBackupContext {
803
+ /** The ID of the backup run to restore from. */
804
+ backupRunId?: string;
805
+ /** The ID of the instance that the backup was taken from. */
806
+ instanceId?: string;
807
+ /** This is always `sql#restoreBackupContext`. */
808
+ kind?: string;
809
+ /** The full project ID of the source instance. */
810
+ project?: string;
811
+ }
812
+ interface RotateServerCaContext {
813
+ /** This is always `sql#rotateServerCaContext`. */
814
+ kind?: string;
815
+ /** The fingerprint of the next version to be rotated to. If left unspecified, will be rotated to the most recently added server CA version. */
816
+ nextVersion?: string;
817
+ }
818
+ interface Settings {
819
+ /**
820
+ * The activation policy specifies when the instance is activated; it is applicable only when the instance state is RUNNABLE. Valid values: * `ALWAYS`: The instance is on, and remains
821
+ * so even in the absence of connection requests. * `NEVER`: The instance is off; it is not activated, even if a connection request arrives.
822
+ */
823
+ activationPolicy?: string;
824
+ /** Active Directory configuration, relevant only for Cloud SQL for SQL Server. */
825
+ activeDirectoryConfig?: SqlActiveDirectoryConfig;
826
+ /** The App Engine app IDs that can access this instance. (Deprecated) Applied to First Generation instances only. */
827
+ authorizedGaeApplications?: string[];
828
+ /**
829
+ * Availability type. Potential values: * `ZONAL`: The instance serves data from only one zone. Outages in that zone affect data accessibility. * `REGIONAL`: The instance can serve
830
+ * data from more than one zone in a region (it is highly available)./ For more information, see [Overview of the High Availability
831
+ * Configuration](https://cloud.google.com/sql/docs/mysql/high-availability).
832
+ */
833
+ availabilityType?: string;
834
+ /** The daily backup configuration for the instance. */
835
+ backupConfiguration?: BackupConfiguration;
836
+ /** The name of server Instance collation. */
837
+ collation?: string;
838
+ /**
839
+ * Specifies if connections must use Cloud SQL connectors. Option values include the following: * `NOT_REQUIRED`: Cloud SQL instances can be connected without Cloud SQL Connectors. *
840
+ * `REQUIRED`: Only allow connections that use Cloud SQL Connectors. Note that using REQUIRED disables all existing authorized networks. If this field is not specified when creating a
841
+ * new instance, NOT_REQUIRED is used. If this field is not specified when patching or updating an existing instance, it is left unchanged in the instance.
842
+ */
843
+ connectorEnforcement?: string;
844
+ /**
845
+ * Configuration specific to read replica instances. Indicates whether database flags for crash-safe replication are enabled. This property was only applicable to First Generation
846
+ * instances.
847
+ */
848
+ crashSafeReplicationEnabled?: boolean;
849
+ /** The database flags passed to the instance at startup. */
850
+ databaseFlags?: DatabaseFlags[];
851
+ /** Configuration specific to read replica instances. Indicates whether replication is enabled or not. WARNING: Changing this restarts the instance. */
852
+ databaseReplicationEnabled?: boolean;
853
+ /** The size of data disk, in GB. The data disk size minimum is 10GB. */
854
+ dataDiskSizeGb?: string;
855
+ /** The type of data disk: `PD_SSD` (default) or `PD_HDD`. Not used for First Generation instances. */
856
+ dataDiskType?: string;
857
+ /** Configuration to protect against accidental instance deletion. */
858
+ deletionProtectionEnabled?: boolean;
859
+ /** Deny maintenance periods */
860
+ denyMaintenancePeriods?: DenyMaintenancePeriod[];
861
+ /** Insights configuration, for now relevant only for Postgres. */
862
+ insightsConfig?: InsightsConfig;
863
+ /**
864
+ * The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled
865
+ * for Second Generation instances.
866
+ */
867
+ ipConfiguration?: IpConfiguration;
868
+ /** This is always `sql#settings`. */
869
+ kind?: string;
870
+ /**
871
+ * The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or Compute Engine zone for better performance. App Engine
872
+ * co-location was only applicable to First Generation instances.
873
+ */
874
+ locationPreference?: LocationPreference;
875
+ /** The maintenance window for this instance. This specifies when the instance can be restarted for maintenance purposes. */
876
+ maintenanceWindow?: MaintenanceWindow;
877
+ /** The local user password validation policy of the instance. */
878
+ passwordValidationPolicy?: PasswordValidationPolicy;
879
+ /** The pricing plan for this instance. This can be either `PER_USE` or `PACKAGE`. Only `PER_USE` is supported for Second Generation instances. */
880
+ pricingPlan?: string;
881
+ /** The type of replication this instance uses. This can be either `ASYNCHRONOUS` or `SYNCHRONOUS`. (Deprecated) This property was only applicable to First Generation instances. */
882
+ replicationType?: string;
883
+ /**
884
+ * The version of instance settings. This is a required field for update method to make sure concurrent updates are handled properly. During update, use the most recent settingsVersion
885
+ * value for this instance and do not try to update this value.
886
+ */
887
+ settingsVersion?: string;
888
+ /** SQL Server specific audit configuration. */
889
+ sqlServerAuditConfig?: SqlServerAuditConfig;
890
+ /** Configuration to increase storage size automatically. The default value is true. */
891
+ storageAutoResize?: boolean;
892
+ /** The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit. */
893
+ storageAutoResizeLimit?: string;
894
+ /** The tier (or machine type) for this instance, for example `db-custom-1-3840`. WARNING: Changing this restarts the instance. */
895
+ tier?: string;
896
+ /** User-provided labels, represented as a dictionary where each label is a single key value pair. */
897
+ userLabels?: { [P in string]: string };
898
+ }
899
+ interface SqlActiveDirectoryConfig {
900
+ /** The name of the domain (e.g., mydomain.com). */
901
+ domain?: string;
902
+ /** This is always sql#activeDirectoryConfig. */
903
+ kind?: string;
904
+ }
905
+ interface SqlExternalSyncSettingError {
906
+ /** Additional information about the error encountered. */
907
+ detail?: string;
908
+ /** Can be `sql#externalSyncSettingError` or `sql#externalSyncSettingWarning`. */
909
+ kind?: string;
910
+ /** Identifies the specific error that occurred. */
911
+ type?: string;
912
+ }
913
+ interface SqlInstancesRescheduleMaintenanceRequestBody {
914
+ /** Required. The type of the reschedule the user wants. */
915
+ reschedule?: Reschedule;
916
+ }
917
+ interface SqlInstancesStartExternalSyncRequest {
918
+ /** MySQL-specific settings for start external sync. */
919
+ mysqlSyncConfig?: MySqlSyncConfig;
920
+ /** Whether to skip the verification step (VESS). */
921
+ skipVerification?: boolean;
922
+ /** External sync mode. */
923
+ syncMode?: string;
924
+ }
925
+ interface SqlInstancesVerifyExternalSyncSettingsRequest {
926
+ /** Optional. MySQL-specific settings for start external sync. */
927
+ mysqlSyncConfig?: MySqlSyncConfig;
928
+ /** External sync mode */
929
+ syncMode?: string;
930
+ /** Flag to enable verifying connection only */
931
+ verifyConnectionOnly?: boolean;
932
+ /** Optional. Flag to verify settings required by replication setup only */
933
+ verifyReplicationOnly?: boolean;
934
+ }
935
+ interface SqlInstancesVerifyExternalSyncSettingsResponse {
936
+ /** List of migration violations. */
937
+ errors?: SqlExternalSyncSettingError[];
938
+ /** This is always `sql#migrationSettingErrorList`. */
939
+ kind?: string;
940
+ /** List of migration warnings. */
941
+ warnings?: SqlExternalSyncSettingError[];
942
+ }
943
+ interface SqlOutOfDiskReport {
944
+ /** The minimum recommended increase size in GigaBytes This field is consumed by the frontend * Writers: * the proactive database wellness job for OOD. * Readers: */
945
+ sqlMinRecommendedIncreaseSizeGb?: number;
946
+ /**
947
+ * This field represents the state generated by the proactive database wellness job for OutOfDisk issues. * Writers: * the proactive database wellness job for OOD. * Readers: * the
948
+ * proactive database wellness job
949
+ */
950
+ sqlOutOfDiskState?: string;
951
+ }
952
+ interface SqlScheduledMaintenance {
953
+ canDefer?: boolean;
954
+ /** If the scheduled maintenance can be rescheduled. */
955
+ canReschedule?: boolean;
956
+ /** Maintenance cannot be rescheduled to start beyond this deadline. */
957
+ scheduleDeadlineTime?: string;
958
+ /** The start time of any upcoming scheduled maintenance for this instance. */
959
+ startTime?: string;
960
+ }
961
+ interface SqlServerAuditConfig {
962
+ /** The name of the destination bucket (e.g., gs://mybucket). */
963
+ bucket?: string;
964
+ /** This is always sql#sqlServerAuditConfig */
965
+ kind?: string;
966
+ /** How long to keep generated audit files. */
967
+ retentionInterval?: string;
968
+ /** How often to upload generated audit files. */
969
+ uploadInterval?: string;
970
+ }
971
+ interface SqlServerDatabaseDetails {
972
+ /** The version of SQL Server with which the database is to be made compatible */
973
+ compatibilityLevel?: number;
974
+ /** The recovery model of a SQL Server database */
975
+ recoveryModel?: string;
976
+ }
977
+ interface SqlServerUserDetails {
978
+ /** If the user has been disabled */
979
+ disabled?: boolean;
980
+ /** The server roles for this user */
981
+ serverRoles?: string[];
982
+ }
983
+ interface SslCert {
984
+ /** PEM representation. */
985
+ cert?: string;
986
+ /** Serial number, as extracted from the certificate. */
987
+ certSerialNumber?: string;
988
+ /** User supplied name. Constrained to [a-zA-Z.-_ ]+. */
989
+ commonName?: string;
990
+ /** The time when the certificate was created in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z` */
991
+ createTime?: string;
992
+ /** The time when the certificate expires in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. */
993
+ expirationTime?: string;
994
+ /** Name of the database instance. */
995
+ instance?: string;
996
+ /** This is always `sql#sslCert`. */
997
+ kind?: string;
998
+ /** The URI of this resource. */
999
+ selfLink?: string;
1000
+ /** Sha1 Fingerprint. */
1001
+ sha1Fingerprint?: string;
1002
+ }
1003
+ interface SslCertDetail {
1004
+ /** The public information about the cert. */
1005
+ certInfo?: SslCert;
1006
+ /** The private key for the client cert, in pem format. Keep private in order to protect your security. */
1007
+ certPrivateKey?: string;
1008
+ }
1009
+ interface SslCertsCreateEphemeralRequest {
1010
+ /** Access token to include in the signed certificate. */
1011
+ access_token?: string;
1012
+ /** PEM encoded public key to include in the signed certificate. */
1013
+ public_key?: string;
1014
+ }
1015
+ interface SslCertsInsertRequest {
1016
+ /** User supplied name. Must be a distinct name from the other certificates for this instance. */
1017
+ commonName?: string;
1018
+ }
1019
+ interface SslCertsInsertResponse {
1020
+ /** The new client certificate and private key. */
1021
+ clientCert?: SslCertDetail;
1022
+ /** This is always `sql#sslCertsInsert`. */
1023
+ kind?: string;
1024
+ /** The operation to track the ssl certs insert request. */
1025
+ operation?: Operation;
1026
+ /** The server Certificate Authority's certificate. If this is missing you can force a new one to be generated by calling resetSslConfig method on instances resource. */
1027
+ serverCaCert?: SslCert;
1028
+ }
1029
+ interface SslCertsListResponse {
1030
+ /** List of client certificates for the instance. */
1031
+ items?: SslCert[];
1032
+ /** This is always `sql#sslCertsList`. */
1033
+ kind?: string;
1034
+ }
1035
+ interface SyncFlags {
1036
+ /** The name of the flag. */
1037
+ name?: string;
1038
+ /** The value of the flag. This field must be omitted if the flag doesn't take a value. */
1039
+ value?: string;
1040
+ }
1041
+ interface Tier {
1042
+ /** The maximum disk size of this tier in bytes. */
1043
+ DiskQuota?: string;
1044
+ /** This is always `sql#tier`. */
1045
+ kind?: string;
1046
+ /** The maximum RAM usage of this tier in bytes. */
1047
+ RAM?: string;
1048
+ /** The applicable regions for this tier. */
1049
+ region?: string[];
1050
+ /** An identifier for the machine type, for example, `db-custom-1-3840`. For related information, see [Pricing](/sql/pricing). */
1051
+ tier?: string;
1052
+ }
1053
+ interface TiersListResponse {
1054
+ /** List of tiers. */
1055
+ items?: Tier[];
1056
+ /** This is always `sql#tiersList`. */
1057
+ kind?: string;
1058
+ }
1059
+ interface TruncateLogContext {
1060
+ /** This is always `sql#truncateLogContext`. */
1061
+ kind?: string;
1062
+ /** The type of log to truncate. Valid values are `MYSQL_GENERAL_TABLE` and `MYSQL_SLOW_TABLE`. */
1063
+ logType?: string;
1064
+ }
1065
+ interface User {
1066
+ /** Dual password status for the user. */
1067
+ dualPasswordType?: string;
1068
+ /** This field is deprecated and will be removed from a future version of the API. */
1069
+ etag?: string;
1070
+ /**
1071
+ * Optional. The host from which the user can connect. For `insert` operations, host defaults to an empty string. For `update` operations, host is specified as part of the request URL.
1072
+ * The host name cannot be updated after insertion. For a MySQL instance, it's required; for a PostgreSQL or SQL Server instance, it's optional.
1073
+ */
1074
+ host?: string;
1075
+ /** The name of the Cloud SQL instance. This does not include the project ID. Can be omitted for `update` because it is already specified on the URL. */
1076
+ instance?: string;
1077
+ /** This is always `sql#user`. */
1078
+ kind?: string;
1079
+ /** The name of the user in the Cloud SQL instance. Can be omitted for `update` because it is already specified in the URL. */
1080
+ name?: string;
1081
+ /** The password for the user. */
1082
+ password?: string;
1083
+ /** User level password validation policy. */
1084
+ passwordPolicy?: UserPasswordValidationPolicy;
1085
+ /**
1086
+ * The project ID of the project containing the Cloud SQL database. The Google apps domain is prefixed if applicable. Can be omitted for `update` because it is already specified on the
1087
+ * URL.
1088
+ */
1089
+ project?: string;
1090
+ sqlserverUserDetails?: SqlServerUserDetails;
1091
+ /** The user type. It determines the method to authenticate the user during login. The default is the database's built-in user type. */
1092
+ type?: string;
1093
+ }
1094
+ interface UserPasswordValidationPolicy {
1095
+ /** Number of failed login attempts allowed before user get locked. */
1096
+ allowedFailedAttempts?: number;
1097
+ /** If true, failed login attempts check will be enabled. */
1098
+ enableFailedAttemptsCheck?: boolean;
1099
+ /** If true, the user must specify the current password before changing the password. This flag is supported only for MySQL. */
1100
+ enablePasswordVerification?: boolean;
1101
+ /** Expiration duration after password is updated. */
1102
+ passwordExpirationDuration?: string;
1103
+ /** Output only. Read-only password status. */
1104
+ status?: PasswordStatus;
1105
+ }
1106
+ interface UsersListResponse {
1107
+ /** List of user resources in the instance. */
1108
+ items?: User[];
1109
+ /** This is always `sql#usersList`. */
1110
+ kind?: string;
1111
+ /** An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation. */
1112
+ nextPageToken?: string;
1113
+ }
1114
+ interface BackupRunsResource {
1115
+ /** Deletes the backup taken by a backup run. */
1116
+ delete(request?: {
1117
+ /** V1 error format. */
1118
+ "$.xgafv"?: string;
1119
+ /** OAuth access token. */
1120
+ access_token?: string;
1121
+ /** Data format for response. */
1122
+ alt?: string;
1123
+ /** JSONP */
1124
+ callback?: string;
1125
+ /** Selector specifying which fields to include in a partial response. */
1126
+ fields?: string;
1127
+ /** The ID of the backup run to delete. To find a backup run ID, use the [list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/backupRuns/list) method. */
1128
+ id: string;
1129
+ /** Cloud SQL instance ID. This does not include the project ID. */
1130
+ instance: string;
1131
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1132
+ key?: string;
1133
+ /** OAuth 2.0 token for the current user. */
1134
+ oauth_token?: string;
1135
+ /** Returns response with indentations and line breaks. */
1136
+ prettyPrint?: boolean;
1137
+ /** Project ID of the project that contains the instance. */
1138
+ project: string;
1139
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1140
+ quotaUser?: string;
1141
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1142
+ upload_protocol?: string;
1143
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1144
+ uploadType?: string;
1145
+ }): Request<Operation>;
1146
+ /** Retrieves a resource containing information about a backup run. */
1147
+ get(request?: {
1148
+ /** V1 error format. */
1149
+ "$.xgafv"?: string;
1150
+ /** OAuth access token. */
1151
+ access_token?: string;
1152
+ /** Data format for response. */
1153
+ alt?: string;
1154
+ /** JSONP */
1155
+ callback?: string;
1156
+ /** Selector specifying which fields to include in a partial response. */
1157
+ fields?: string;
1158
+ /** The ID of this backup run. */
1159
+ id: string;
1160
+ /** Cloud SQL instance ID. This does not include the project ID. */
1161
+ instance: string;
1162
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1163
+ key?: string;
1164
+ /** OAuth 2.0 token for the current user. */
1165
+ oauth_token?: string;
1166
+ /** Returns response with indentations and line breaks. */
1167
+ prettyPrint?: boolean;
1168
+ /** Project ID of the project that contains the instance. */
1169
+ project: string;
1170
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1171
+ quotaUser?: string;
1172
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1173
+ upload_protocol?: string;
1174
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1175
+ uploadType?: string;
1176
+ }): Request<BackupRun>;
1177
+ /** Creates a new backup run on demand. */
1178
+ insert(request: {
1179
+ /** V1 error format. */
1180
+ "$.xgafv"?: string;
1181
+ /** OAuth access token. */
1182
+ access_token?: string;
1183
+ /** Data format for response. */
1184
+ alt?: string;
1185
+ /** JSONP */
1186
+ callback?: string;
1187
+ /** Selector specifying which fields to include in a partial response. */
1188
+ fields?: string;
1189
+ /** Cloud SQL instance ID. This does not include the project ID. */
1190
+ instance: string;
1191
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1192
+ key?: string;
1193
+ /** OAuth 2.0 token for the current user. */
1194
+ oauth_token?: string;
1195
+ /** Returns response with indentations and line breaks. */
1196
+ prettyPrint?: boolean;
1197
+ /** Project ID of the project that contains the instance. */
1198
+ project: string;
1199
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1200
+ quotaUser?: string;
1201
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1202
+ upload_protocol?: string;
1203
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1204
+ uploadType?: string;
1205
+ /** Request body */
1206
+ resource: BackupRun;
1207
+ }): Request<Operation>;
1208
+ insert(request: {
1209
+ /** V1 error format. */
1210
+ "$.xgafv"?: string;
1211
+ /** OAuth access token. */
1212
+ access_token?: string;
1213
+ /** Data format for response. */
1214
+ alt?: string;
1215
+ /** JSONP */
1216
+ callback?: string;
1217
+ /** Selector specifying which fields to include in a partial response. */
1218
+ fields?: string;
1219
+ /** Cloud SQL instance ID. This does not include the project ID. */
1220
+ instance: string;
1221
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1222
+ key?: string;
1223
+ /** OAuth 2.0 token for the current user. */
1224
+ oauth_token?: string;
1225
+ /** Returns response with indentations and line breaks. */
1226
+ prettyPrint?: boolean;
1227
+ /** Project ID of the project that contains the instance. */
1228
+ project: string;
1229
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1230
+ quotaUser?: string;
1231
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1232
+ upload_protocol?: string;
1233
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1234
+ uploadType?: string;
1235
+ },
1236
+ body: BackupRun): Request<Operation>;
1237
+ /** Lists all backup runs associated with the project or a given instance and configuration in the reverse chronological order of the backup initiation time. */
1238
+ list(request?: {
1239
+ /** V1 error format. */
1240
+ "$.xgafv"?: string;
1241
+ /** OAuth access token. */
1242
+ access_token?: string;
1243
+ /** Data format for response. */
1244
+ alt?: string;
1245
+ /** JSONP */
1246
+ callback?: string;
1247
+ /** Selector specifying which fields to include in a partial response. */
1248
+ fields?: string;
1249
+ /** Cloud SQL instance ID, or "-" for all instances. This does not include the project ID. */
1250
+ instance: string;
1251
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1252
+ key?: string;
1253
+ /** Maximum number of backup runs per response. */
1254
+ maxResults?: number;
1255
+ /** OAuth 2.0 token for the current user. */
1256
+ oauth_token?: string;
1257
+ /** A previously-returned page token representing part of the larger set of results to view. */
1258
+ pageToken?: string;
1259
+ /** Returns response with indentations and line breaks. */
1260
+ prettyPrint?: boolean;
1261
+ /** Project ID of the project that contains the instance. */
1262
+ project: string;
1263
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1264
+ quotaUser?: string;
1265
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1266
+ upload_protocol?: string;
1267
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1268
+ uploadType?: string;
1269
+ }): Request<BackupRunsListResponse>;
1270
+ }
1271
+ interface ConnectResource {
1272
+ /**
1273
+ * Generates a short-lived X509 certificate containing the provided public key and signed by a private key specific to the target instance. Users may use the certificate to
1274
+ * authenticate as themselves when connecting to the database.
1275
+ */
1276
+ generateEphemeralCert(request: {
1277
+ /** V1 error format. */
1278
+ "$.xgafv"?: string;
1279
+ /** OAuth access token. */
1280
+ access_token?: string;
1281
+ /** Data format for response. */
1282
+ alt?: string;
1283
+ /** JSONP */
1284
+ callback?: string;
1285
+ /** Selector specifying which fields to include in a partial response. */
1286
+ fields?: string;
1287
+ /** Cloud SQL instance ID. This does not include the project ID. */
1288
+ instance: string;
1289
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1290
+ key?: string;
1291
+ /** OAuth 2.0 token for the current user. */
1292
+ oauth_token?: string;
1293
+ /** Returns response with indentations and line breaks. */
1294
+ prettyPrint?: boolean;
1295
+ /** Project ID of the project that contains the instance. */
1296
+ project: string;
1297
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1298
+ quotaUser?: string;
1299
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1300
+ upload_protocol?: string;
1301
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1302
+ uploadType?: string;
1303
+ /** Request body */
1304
+ resource: GenerateEphemeralCertRequest;
1305
+ }): Request<GenerateEphemeralCertResponse>;
1306
+ generateEphemeralCert(request: {
1307
+ /** V1 error format. */
1308
+ "$.xgafv"?: string;
1309
+ /** OAuth access token. */
1310
+ access_token?: string;
1311
+ /** Data format for response. */
1312
+ alt?: string;
1313
+ /** JSONP */
1314
+ callback?: string;
1315
+ /** Selector specifying which fields to include in a partial response. */
1316
+ fields?: string;
1317
+ /** Cloud SQL instance ID. This does not include the project ID. */
1318
+ instance: string;
1319
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1320
+ key?: string;
1321
+ /** OAuth 2.0 token for the current user. */
1322
+ oauth_token?: string;
1323
+ /** Returns response with indentations and line breaks. */
1324
+ prettyPrint?: boolean;
1325
+ /** Project ID of the project that contains the instance. */
1326
+ project: string;
1327
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1328
+ quotaUser?: string;
1329
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1330
+ upload_protocol?: string;
1331
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1332
+ uploadType?: string;
1333
+ },
1334
+ body: GenerateEphemeralCertRequest): Request<GenerateEphemeralCertResponse>;
1335
+ /** Retrieves connect settings about a Cloud SQL instance. */
1336
+ get(request?: {
1337
+ /** V1 error format. */
1338
+ "$.xgafv"?: string;
1339
+ /** OAuth access token. */
1340
+ access_token?: string;
1341
+ /** Data format for response. */
1342
+ alt?: string;
1343
+ /** JSONP */
1344
+ callback?: string;
1345
+ /** Selector specifying which fields to include in a partial response. */
1346
+ fields?: string;
1347
+ /** Cloud SQL instance ID. This does not include the project ID. */
1348
+ instance: string;
1349
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1350
+ key?: string;
1351
+ /** OAuth 2.0 token for the current user. */
1352
+ oauth_token?: string;
1353
+ /** Returns response with indentations and line breaks. */
1354
+ prettyPrint?: boolean;
1355
+ /** Project ID of the project that contains the instance. */
1356
+ project: string;
1357
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1358
+ quotaUser?: string;
1359
+ /** Optional. Optional snapshot read timestamp to trade freshness for performance. */
1360
+ readTime?: string;
1361
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1362
+ upload_protocol?: string;
1363
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1364
+ uploadType?: string;
1365
+ }): Request<ConnectSettings>;
1366
+ }
1367
+ interface DatabasesResource {
1368
+ /** Deletes a database from a Cloud SQL instance. */
1369
+ delete(request?: {
1370
+ /** V1 error format. */
1371
+ "$.xgafv"?: string;
1372
+ /** OAuth access token. */
1373
+ access_token?: string;
1374
+ /** Data format for response. */
1375
+ alt?: string;
1376
+ /** JSONP */
1377
+ callback?: string;
1378
+ /** Name of the database to be deleted in the instance. */
1379
+ database: string;
1380
+ /** Selector specifying which fields to include in a partial response. */
1381
+ fields?: string;
1382
+ /** Database instance ID. This does not include the project ID. */
1383
+ instance: string;
1384
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1385
+ key?: string;
1386
+ /** OAuth 2.0 token for the current user. */
1387
+ oauth_token?: string;
1388
+ /** Returns response with indentations and line breaks. */
1389
+ prettyPrint?: boolean;
1390
+ /** Project ID of the project that contains the instance. */
1391
+ project: string;
1392
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1393
+ quotaUser?: string;
1394
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1395
+ upload_protocol?: string;
1396
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1397
+ uploadType?: string;
1398
+ }): Request<Operation>;
1399
+ /** Retrieves a resource containing information about a database inside a Cloud SQL instance. */
1400
+ get(request?: {
1401
+ /** V1 error format. */
1402
+ "$.xgafv"?: string;
1403
+ /** OAuth access token. */
1404
+ access_token?: string;
1405
+ /** Data format for response. */
1406
+ alt?: string;
1407
+ /** JSONP */
1408
+ callback?: string;
1409
+ /** Name of the database in the instance. */
1410
+ database: string;
1411
+ /** Selector specifying which fields to include in a partial response. */
1412
+ fields?: string;
1413
+ /** Database instance ID. This does not include the project ID. */
1414
+ instance: string;
1415
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1416
+ key?: string;
1417
+ /** OAuth 2.0 token for the current user. */
1418
+ oauth_token?: string;
1419
+ /** Returns response with indentations and line breaks. */
1420
+ prettyPrint?: boolean;
1421
+ /** Project ID of the project that contains the instance. */
1422
+ project: string;
1423
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1424
+ quotaUser?: string;
1425
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1426
+ upload_protocol?: string;
1427
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1428
+ uploadType?: string;
1429
+ }): Request<Database>;
1430
+ /** Inserts a resource containing information about a database inside a Cloud SQL instance. */
1431
+ insert(request: {
1432
+ /** V1 error format. */
1433
+ "$.xgafv"?: string;
1434
+ /** OAuth access token. */
1435
+ access_token?: string;
1436
+ /** Data format for response. */
1437
+ alt?: string;
1438
+ /** JSONP */
1439
+ callback?: string;
1440
+ /** Selector specifying which fields to include in a partial response. */
1441
+ fields?: string;
1442
+ /** Database instance ID. This does not include the project ID. */
1443
+ instance: string;
1444
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1445
+ key?: string;
1446
+ /** OAuth 2.0 token for the current user. */
1447
+ oauth_token?: string;
1448
+ /** Returns response with indentations and line breaks. */
1449
+ prettyPrint?: boolean;
1450
+ /** Project ID of the project that contains the instance. */
1451
+ project: string;
1452
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1453
+ quotaUser?: string;
1454
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1455
+ upload_protocol?: string;
1456
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1457
+ uploadType?: string;
1458
+ /** Request body */
1459
+ resource: Database;
1460
+ }): Request<Operation>;
1461
+ insert(request: {
1462
+ /** V1 error format. */
1463
+ "$.xgafv"?: string;
1464
+ /** OAuth access token. */
1465
+ access_token?: string;
1466
+ /** Data format for response. */
1467
+ alt?: string;
1468
+ /** JSONP */
1469
+ callback?: string;
1470
+ /** Selector specifying which fields to include in a partial response. */
1471
+ fields?: string;
1472
+ /** Database instance ID. This does not include the project ID. */
1473
+ instance: string;
1474
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1475
+ key?: string;
1476
+ /** OAuth 2.0 token for the current user. */
1477
+ oauth_token?: string;
1478
+ /** Returns response with indentations and line breaks. */
1479
+ prettyPrint?: boolean;
1480
+ /** Project ID of the project that contains the instance. */
1481
+ project: string;
1482
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1483
+ quotaUser?: string;
1484
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1485
+ upload_protocol?: string;
1486
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1487
+ uploadType?: string;
1488
+ },
1489
+ body: Database): Request<Operation>;
1490
+ /** Lists databases in the specified Cloud SQL instance. */
1491
+ list(request?: {
1492
+ /** V1 error format. */
1493
+ "$.xgafv"?: string;
1494
+ /** OAuth access token. */
1495
+ access_token?: string;
1496
+ /** Data format for response. */
1497
+ alt?: string;
1498
+ /** JSONP */
1499
+ callback?: string;
1500
+ /** Selector specifying which fields to include in a partial response. */
1501
+ fields?: string;
1502
+ /** Cloud SQL instance ID. This does not include the project ID. */
1503
+ instance: string;
1504
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1505
+ key?: string;
1506
+ /** OAuth 2.0 token for the current user. */
1507
+ oauth_token?: string;
1508
+ /** Returns response with indentations and line breaks. */
1509
+ prettyPrint?: boolean;
1510
+ /** Project ID of the project that contains the instance. */
1511
+ project: string;
1512
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1513
+ quotaUser?: string;
1514
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1515
+ upload_protocol?: string;
1516
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1517
+ uploadType?: string;
1518
+ }): Request<DatabasesListResponse>;
1519
+ /** Partially updates a resource containing information about a database inside a Cloud SQL instance. This method supports patch semantics. */
1520
+ patch(request: {
1521
+ /** V1 error format. */
1522
+ "$.xgafv"?: string;
1523
+ /** OAuth access token. */
1524
+ access_token?: string;
1525
+ /** Data format for response. */
1526
+ alt?: string;
1527
+ /** JSONP */
1528
+ callback?: string;
1529
+ /** Name of the database to be updated in the instance. */
1530
+ database: string;
1531
+ /** Selector specifying which fields to include in a partial response. */
1532
+ fields?: string;
1533
+ /** Database instance ID. This does not include the project ID. */
1534
+ instance: string;
1535
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1536
+ key?: string;
1537
+ /** OAuth 2.0 token for the current user. */
1538
+ oauth_token?: string;
1539
+ /** Returns response with indentations and line breaks. */
1540
+ prettyPrint?: boolean;
1541
+ /** Project ID of the project that contains the instance. */
1542
+ project: string;
1543
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1544
+ quotaUser?: string;
1545
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1546
+ upload_protocol?: string;
1547
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1548
+ uploadType?: string;
1549
+ /** Request body */
1550
+ resource: Database;
1551
+ }): Request<Operation>;
1552
+ patch(request: {
1553
+ /** V1 error format. */
1554
+ "$.xgafv"?: string;
1555
+ /** OAuth access token. */
1556
+ access_token?: string;
1557
+ /** Data format for response. */
1558
+ alt?: string;
1559
+ /** JSONP */
1560
+ callback?: string;
1561
+ /** Name of the database to be updated in the instance. */
1562
+ database: string;
1563
+ /** Selector specifying which fields to include in a partial response. */
1564
+ fields?: string;
1565
+ /** Database instance ID. This does not include the project ID. */
1566
+ instance: string;
1567
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1568
+ key?: string;
1569
+ /** OAuth 2.0 token for the current user. */
1570
+ oauth_token?: string;
1571
+ /** Returns response with indentations and line breaks. */
1572
+ prettyPrint?: boolean;
1573
+ /** Project ID of the project that contains the instance. */
1574
+ project: string;
1575
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1576
+ quotaUser?: string;
1577
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1578
+ upload_protocol?: string;
1579
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1580
+ uploadType?: string;
1581
+ },
1582
+ body: Database): Request<Operation>;
1583
+ /** Updates a resource containing information about a database inside a Cloud SQL instance. */
1584
+ update(request: {
1585
+ /** V1 error format. */
1586
+ "$.xgafv"?: string;
1587
+ /** OAuth access token. */
1588
+ access_token?: string;
1589
+ /** Data format for response. */
1590
+ alt?: string;
1591
+ /** JSONP */
1592
+ callback?: string;
1593
+ /** Name of the database to be updated in the instance. */
1594
+ database: string;
1595
+ /** Selector specifying which fields to include in a partial response. */
1596
+ fields?: string;
1597
+ /** Database instance ID. This does not include the project ID. */
1598
+ instance: string;
1599
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1600
+ key?: string;
1601
+ /** OAuth 2.0 token for the current user. */
1602
+ oauth_token?: string;
1603
+ /** Returns response with indentations and line breaks. */
1604
+ prettyPrint?: boolean;
1605
+ /** Project ID of the project that contains the instance. */
1606
+ project: string;
1607
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1608
+ quotaUser?: string;
1609
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1610
+ upload_protocol?: string;
1611
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1612
+ uploadType?: string;
1613
+ /** Request body */
1614
+ resource: Database;
1615
+ }): Request<Operation>;
1616
+ update(request: {
1617
+ /** V1 error format. */
1618
+ "$.xgafv"?: string;
1619
+ /** OAuth access token. */
1620
+ access_token?: string;
1621
+ /** Data format for response. */
1622
+ alt?: string;
1623
+ /** JSONP */
1624
+ callback?: string;
1625
+ /** Name of the database to be updated in the instance. */
1626
+ database: string;
1627
+ /** Selector specifying which fields to include in a partial response. */
1628
+ fields?: string;
1629
+ /** Database instance ID. This does not include the project ID. */
1630
+ instance: string;
1631
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1632
+ key?: string;
1633
+ /** OAuth 2.0 token for the current user. */
1634
+ oauth_token?: string;
1635
+ /** Returns response with indentations and line breaks. */
1636
+ prettyPrint?: boolean;
1637
+ /** Project ID of the project that contains the instance. */
1638
+ project: string;
1639
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1640
+ quotaUser?: string;
1641
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1642
+ upload_protocol?: string;
1643
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1644
+ uploadType?: string;
1645
+ },
1646
+ body: Database): Request<Operation>;
1647
+ }
1648
+ interface FlagsResource {
1649
+ /** Lists all available database flags for Cloud SQL instances. */
1650
+ list(request?: {
1651
+ /** V1 error format. */
1652
+ "$.xgafv"?: string;
1653
+ /** OAuth access token. */
1654
+ access_token?: string;
1655
+ /** Data format for response. */
1656
+ alt?: string;
1657
+ /** JSONP */
1658
+ callback?: string;
1659
+ /** Database type and version you want to retrieve flags for. By default, this method returns flags for all database types and versions. */
1660
+ databaseVersion?: string;
1661
+ /** Selector specifying which fields to include in a partial response. */
1662
+ fields?: string;
1663
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1664
+ key?: string;
1665
+ /** OAuth 2.0 token for the current user. */
1666
+ oauth_token?: string;
1667
+ /** Returns response with indentations and line breaks. */
1668
+ prettyPrint?: boolean;
1669
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1670
+ quotaUser?: string;
1671
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1672
+ upload_protocol?: string;
1673
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1674
+ uploadType?: string;
1675
+ }): Request<FlagsListResponse>;
1676
+ }
1677
+ interface InstancesResource {
1678
+ /**
1679
+ * Adds a new trusted Certificate Authority (CA) version for the specified instance. Required to prepare for a certificate rotation. If a CA version was previously added but never used
1680
+ * in a certificate rotation, this operation replaces that version. There cannot be more than one CA version waiting to be rotated in.
1681
+ */
1682
+ addServerCa(request?: {
1683
+ /** V1 error format. */
1684
+ "$.xgafv"?: string;
1685
+ /** OAuth access token. */
1686
+ access_token?: string;
1687
+ /** Data format for response. */
1688
+ alt?: string;
1689
+ /** JSONP */
1690
+ callback?: string;
1691
+ /** Selector specifying which fields to include in a partial response. */
1692
+ fields?: string;
1693
+ /** Cloud SQL instance ID. This does not include the project ID. */
1694
+ instance: string;
1695
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1696
+ key?: string;
1697
+ /** OAuth 2.0 token for the current user. */
1698
+ oauth_token?: string;
1699
+ /** Returns response with indentations and line breaks. */
1700
+ prettyPrint?: boolean;
1701
+ /** Project ID of the project that contains the instance. */
1702
+ project: string;
1703
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1704
+ quotaUser?: string;
1705
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1706
+ upload_protocol?: string;
1707
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1708
+ uploadType?: string;
1709
+ }): Request<Operation>;
1710
+ /** Creates a Cloud SQL instance as a clone of the source instance. Using this operation might cause your instance to restart. */
1711
+ clone(request: {
1712
+ /** V1 error format. */
1713
+ "$.xgafv"?: string;
1714
+ /** OAuth access token. */
1715
+ access_token?: string;
1716
+ /** Data format for response. */
1717
+ alt?: string;
1718
+ /** JSONP */
1719
+ callback?: string;
1720
+ /** Selector specifying which fields to include in a partial response. */
1721
+ fields?: string;
1722
+ /** The ID of the Cloud SQL instance to be cloned (source). This does not include the project ID. */
1723
+ instance: string;
1724
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1725
+ key?: string;
1726
+ /** OAuth 2.0 token for the current user. */
1727
+ oauth_token?: string;
1728
+ /** Returns response with indentations and line breaks. */
1729
+ prettyPrint?: boolean;
1730
+ /** Project ID of the source as well as the clone Cloud SQL instance. */
1731
+ project: string;
1732
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1733
+ quotaUser?: string;
1734
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1735
+ upload_protocol?: string;
1736
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1737
+ uploadType?: string;
1738
+ /** Request body */
1739
+ resource: InstancesCloneRequest;
1740
+ }): Request<Operation>;
1741
+ clone(request: {
1742
+ /** V1 error format. */
1743
+ "$.xgafv"?: string;
1744
+ /** OAuth access token. */
1745
+ access_token?: string;
1746
+ /** Data format for response. */
1747
+ alt?: string;
1748
+ /** JSONP */
1749
+ callback?: string;
1750
+ /** Selector specifying which fields to include in a partial response. */
1751
+ fields?: string;
1752
+ /** The ID of the Cloud SQL instance to be cloned (source). This does not include the project ID. */
1753
+ instance: string;
1754
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1755
+ key?: string;
1756
+ /** OAuth 2.0 token for the current user. */
1757
+ oauth_token?: string;
1758
+ /** Returns response with indentations and line breaks. */
1759
+ prettyPrint?: boolean;
1760
+ /** Project ID of the source as well as the clone Cloud SQL instance. */
1761
+ project: string;
1762
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1763
+ quotaUser?: string;
1764
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1765
+ upload_protocol?: string;
1766
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1767
+ uploadType?: string;
1768
+ },
1769
+ body: InstancesCloneRequest): Request<Operation>;
1770
+ /** Deletes a Cloud SQL instance. */
1771
+ delete(request?: {
1772
+ /** V1 error format. */
1773
+ "$.xgafv"?: string;
1774
+ /** OAuth access token. */
1775
+ access_token?: string;
1776
+ /** Data format for response. */
1777
+ alt?: string;
1778
+ /** JSONP */
1779
+ callback?: string;
1780
+ /** Selector specifying which fields to include in a partial response. */
1781
+ fields?: string;
1782
+ /** Cloud SQL instance ID. This does not include the project ID. */
1783
+ instance: string;
1784
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1785
+ key?: string;
1786
+ /** OAuth 2.0 token for the current user. */
1787
+ oauth_token?: string;
1788
+ /** Returns response with indentations and line breaks. */
1789
+ prettyPrint?: boolean;
1790
+ /** Project ID of the project that contains the instance to be deleted. */
1791
+ project: string;
1792
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1793
+ quotaUser?: string;
1794
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1795
+ upload_protocol?: string;
1796
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1797
+ uploadType?: string;
1798
+ }): Request<Operation>;
1799
+ /** Demotes the stand-alone instance to be a Cloud SQL read replica for an external database server. */
1800
+ demoteMaster(request: {
1801
+ /** V1 error format. */
1802
+ "$.xgafv"?: string;
1803
+ /** OAuth access token. */
1804
+ access_token?: string;
1805
+ /** Data format for response. */
1806
+ alt?: string;
1807
+ /** JSONP */
1808
+ callback?: string;
1809
+ /** Selector specifying which fields to include in a partial response. */
1810
+ fields?: string;
1811
+ /** Cloud SQL instance name. */
1812
+ instance: string;
1813
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1814
+ key?: string;
1815
+ /** OAuth 2.0 token for the current user. */
1816
+ oauth_token?: string;
1817
+ /** Returns response with indentations and line breaks. */
1818
+ prettyPrint?: boolean;
1819
+ /** ID of the project that contains the instance. */
1820
+ project: string;
1821
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1822
+ quotaUser?: string;
1823
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1824
+ upload_protocol?: string;
1825
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1826
+ uploadType?: string;
1827
+ /** Request body */
1828
+ resource: InstancesDemoteMasterRequest;
1829
+ }): Request<Operation>;
1830
+ demoteMaster(request: {
1831
+ /** V1 error format. */
1832
+ "$.xgafv"?: string;
1833
+ /** OAuth access token. */
1834
+ access_token?: string;
1835
+ /** Data format for response. */
1836
+ alt?: string;
1837
+ /** JSONP */
1838
+ callback?: string;
1839
+ /** Selector specifying which fields to include in a partial response. */
1840
+ fields?: string;
1841
+ /** Cloud SQL instance name. */
1842
+ instance: string;
1843
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1844
+ key?: string;
1845
+ /** OAuth 2.0 token for the current user. */
1846
+ oauth_token?: string;
1847
+ /** Returns response with indentations and line breaks. */
1848
+ prettyPrint?: boolean;
1849
+ /** ID of the project that contains the instance. */
1850
+ project: string;
1851
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1852
+ quotaUser?: string;
1853
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1854
+ upload_protocol?: string;
1855
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1856
+ uploadType?: string;
1857
+ },
1858
+ body: InstancesDemoteMasterRequest): Request<Operation>;
1859
+ /** Exports data from a Cloud SQL instance to a Cloud Storage bucket as a SQL dump or CSV file. */
1860
+ export(request: {
1861
+ /** V1 error format. */
1862
+ "$.xgafv"?: string;
1863
+ /** OAuth access token. */
1864
+ access_token?: string;
1865
+ /** Data format for response. */
1866
+ alt?: string;
1867
+ /** JSONP */
1868
+ callback?: string;
1869
+ /** Selector specifying which fields to include in a partial response. */
1870
+ fields?: string;
1871
+ /** Cloud SQL instance ID. This does not include the project ID. */
1872
+ instance: string;
1873
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1874
+ key?: string;
1875
+ /** OAuth 2.0 token for the current user. */
1876
+ oauth_token?: string;
1877
+ /** Returns response with indentations and line breaks. */
1878
+ prettyPrint?: boolean;
1879
+ /** Project ID of the project that contains the instance to be exported. */
1880
+ project: string;
1881
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1882
+ quotaUser?: string;
1883
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1884
+ upload_protocol?: string;
1885
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1886
+ uploadType?: string;
1887
+ /** Request body */
1888
+ resource: InstancesExportRequest;
1889
+ }): Request<Operation>;
1890
+ export(request: {
1891
+ /** V1 error format. */
1892
+ "$.xgafv"?: string;
1893
+ /** OAuth access token. */
1894
+ access_token?: string;
1895
+ /** Data format for response. */
1896
+ alt?: string;
1897
+ /** JSONP */
1898
+ callback?: string;
1899
+ /** Selector specifying which fields to include in a partial response. */
1900
+ fields?: string;
1901
+ /** Cloud SQL instance ID. This does not include the project ID. */
1902
+ instance: string;
1903
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1904
+ key?: string;
1905
+ /** OAuth 2.0 token for the current user. */
1906
+ oauth_token?: string;
1907
+ /** Returns response with indentations and line breaks. */
1908
+ prettyPrint?: boolean;
1909
+ /** Project ID of the project that contains the instance to be exported. */
1910
+ project: string;
1911
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1912
+ quotaUser?: string;
1913
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1914
+ upload_protocol?: string;
1915
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1916
+ uploadType?: string;
1917
+ },
1918
+ body: InstancesExportRequest): Request<Operation>;
1919
+ /**
1920
+ * Initiates a manual failover of a high availability (HA) primary instance to a standby instance, which becomes the primary instance. Users are then rerouted to the new primary. For
1921
+ * more information, see the [Overview of high availability](https://cloud.google.com/sql/docs/mysql/high-availability) page in the Cloud SQL documentation. If using Legacy HA (MySQL
1922
+ * only), this causes the instance to failover to its failover replica instance.
1923
+ */
1924
+ failover(request: {
1925
+ /** V1 error format. */
1926
+ "$.xgafv"?: string;
1927
+ /** OAuth access token. */
1928
+ access_token?: string;
1929
+ /** Data format for response. */
1930
+ alt?: string;
1931
+ /** JSONP */
1932
+ callback?: string;
1933
+ /** Selector specifying which fields to include in a partial response. */
1934
+ fields?: string;
1935
+ /** Cloud SQL instance ID. This does not include the project ID. */
1936
+ instance: string;
1937
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1938
+ key?: string;
1939
+ /** OAuth 2.0 token for the current user. */
1940
+ oauth_token?: string;
1941
+ /** Returns response with indentations and line breaks. */
1942
+ prettyPrint?: boolean;
1943
+ /** ID of the project that contains the read replica. */
1944
+ project: string;
1945
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1946
+ quotaUser?: string;
1947
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1948
+ upload_protocol?: string;
1949
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1950
+ uploadType?: string;
1951
+ /** Request body */
1952
+ resource: InstancesFailoverRequest;
1953
+ }): Request<Operation>;
1954
+ failover(request: {
1955
+ /** V1 error format. */
1956
+ "$.xgafv"?: string;
1957
+ /** OAuth access token. */
1958
+ access_token?: string;
1959
+ /** Data format for response. */
1960
+ alt?: string;
1961
+ /** JSONP */
1962
+ callback?: string;
1963
+ /** Selector specifying which fields to include in a partial response. */
1964
+ fields?: string;
1965
+ /** Cloud SQL instance ID. This does not include the project ID. */
1966
+ instance: string;
1967
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1968
+ key?: string;
1969
+ /** OAuth 2.0 token for the current user. */
1970
+ oauth_token?: string;
1971
+ /** Returns response with indentations and line breaks. */
1972
+ prettyPrint?: boolean;
1973
+ /** ID of the project that contains the read replica. */
1974
+ project: string;
1975
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1976
+ quotaUser?: string;
1977
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1978
+ upload_protocol?: string;
1979
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1980
+ uploadType?: string;
1981
+ },
1982
+ body: InstancesFailoverRequest): Request<Operation>;
1983
+ /** Retrieves a resource containing information about a Cloud SQL instance. */
1984
+ get(request?: {
1985
+ /** V1 error format. */
1986
+ "$.xgafv"?: string;
1987
+ /** OAuth access token. */
1988
+ access_token?: string;
1989
+ /** Data format for response. */
1990
+ alt?: string;
1991
+ /** JSONP */
1992
+ callback?: string;
1993
+ /** Selector specifying which fields to include in a partial response. */
1994
+ fields?: string;
1995
+ /** Database instance ID. This does not include the project ID. */
1996
+ instance: string;
1997
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1998
+ key?: string;
1999
+ /** OAuth 2.0 token for the current user. */
2000
+ oauth_token?: string;
2001
+ /** Returns response with indentations and line breaks. */
2002
+ prettyPrint?: boolean;
2003
+ /** Project ID of the project that contains the instance. */
2004
+ project: string;
2005
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2006
+ quotaUser?: string;
2007
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2008
+ upload_protocol?: string;
2009
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2010
+ uploadType?: string;
2011
+ }): Request<DatabaseInstance>;
2012
+ /** Imports data into a Cloud SQL instance from a SQL dump or CSV file in Cloud Storage. */
2013
+ import(request: {
2014
+ /** V1 error format. */
2015
+ "$.xgafv"?: string;
2016
+ /** OAuth access token. */
2017
+ access_token?: string;
2018
+ /** Data format for response. */
2019
+ alt?: string;
2020
+ /** JSONP */
2021
+ callback?: string;
2022
+ /** Selector specifying which fields to include in a partial response. */
2023
+ fields?: string;
2024
+ /** Cloud SQL instance ID. This does not include the project ID. */
2025
+ instance: string;
2026
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2027
+ key?: string;
2028
+ /** OAuth 2.0 token for the current user. */
2029
+ oauth_token?: string;
2030
+ /** Returns response with indentations and line breaks. */
2031
+ prettyPrint?: boolean;
2032
+ /** Project ID of the project that contains the instance. */
2033
+ project: string;
2034
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2035
+ quotaUser?: string;
2036
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2037
+ upload_protocol?: string;
2038
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2039
+ uploadType?: string;
2040
+ /** Request body */
2041
+ resource: InstancesImportRequest;
2042
+ }): Request<Operation>;
2043
+ import(request: {
2044
+ /** V1 error format. */
2045
+ "$.xgafv"?: string;
2046
+ /** OAuth access token. */
2047
+ access_token?: string;
2048
+ /** Data format for response. */
2049
+ alt?: string;
2050
+ /** JSONP */
2051
+ callback?: string;
2052
+ /** Selector specifying which fields to include in a partial response. */
2053
+ fields?: string;
2054
+ /** Cloud SQL instance ID. This does not include the project ID. */
2055
+ instance: string;
2056
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2057
+ key?: string;
2058
+ /** OAuth 2.0 token for the current user. */
2059
+ oauth_token?: string;
2060
+ /** Returns response with indentations and line breaks. */
2061
+ prettyPrint?: boolean;
2062
+ /** Project ID of the project that contains the instance. */
2063
+ project: string;
2064
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2065
+ quotaUser?: string;
2066
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2067
+ upload_protocol?: string;
2068
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2069
+ uploadType?: string;
2070
+ },
2071
+ body: InstancesImportRequest): Request<Operation>;
2072
+ /** Creates a new Cloud SQL instance. */
2073
+ insert(request: {
2074
+ /** V1 error format. */
2075
+ "$.xgafv"?: string;
2076
+ /** OAuth access token. */
2077
+ access_token?: string;
2078
+ /** Data format for response. */
2079
+ alt?: string;
2080
+ /** JSONP */
2081
+ callback?: string;
2082
+ /** Selector specifying which fields to include in a partial response. */
2083
+ fields?: string;
2084
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2085
+ key?: string;
2086
+ /** OAuth 2.0 token for the current user. */
2087
+ oauth_token?: string;
2088
+ /** Returns response with indentations and line breaks. */
2089
+ prettyPrint?: boolean;
2090
+ /** Project ID of the project to which the newly created Cloud SQL instances should belong. */
2091
+ project: string;
2092
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2093
+ quotaUser?: string;
2094
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2095
+ upload_protocol?: string;
2096
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2097
+ uploadType?: string;
2098
+ /** Request body */
2099
+ resource: DatabaseInstance;
2100
+ }): Request<Operation>;
2101
+ insert(request: {
2102
+ /** V1 error format. */
2103
+ "$.xgafv"?: string;
2104
+ /** OAuth access token. */
2105
+ access_token?: string;
2106
+ /** Data format for response. */
2107
+ alt?: string;
2108
+ /** JSONP */
2109
+ callback?: string;
2110
+ /** Selector specifying which fields to include in a partial response. */
2111
+ fields?: string;
2112
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2113
+ key?: string;
2114
+ /** OAuth 2.0 token for the current user. */
2115
+ oauth_token?: string;
2116
+ /** Returns response with indentations and line breaks. */
2117
+ prettyPrint?: boolean;
2118
+ /** Project ID of the project to which the newly created Cloud SQL instances should belong. */
2119
+ project: string;
2120
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2121
+ quotaUser?: string;
2122
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2123
+ upload_protocol?: string;
2124
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2125
+ uploadType?: string;
2126
+ },
2127
+ body: DatabaseInstance): Request<Operation>;
2128
+ /** Lists instances under a given project. */
2129
+ list(request?: {
2130
+ /** V1 error format. */
2131
+ "$.xgafv"?: string;
2132
+ /** OAuth access token. */
2133
+ access_token?: string;
2134
+ /** Data format for response. */
2135
+ alt?: string;
2136
+ /** JSONP */
2137
+ callback?: string;
2138
+ /** Selector specifying which fields to include in a partial response. */
2139
+ fields?: string;
2140
+ /**
2141
+ * A filter expression that filters resources listed in the response. The expression is in the form of field:value. For example, 'instanceType:CLOUD_SQL_INSTANCE'. Fields can be
2142
+ * nested as needed as per their JSON representation, such as 'settings.userLabels.auto_start:true'. Multiple filter queries are space-separated. For example. 'state:RUNNABLE
2143
+ * instanceType:CLOUD_SQL_INSTANCE'. By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly.
2144
+ */
2145
+ filter?: string;
2146
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2147
+ key?: string;
2148
+ /**
2149
+ * The maximum number of instances to return. The service may return fewer than this value. If unspecified, at most 500 instances are returned. The maximum value is 1000; values
2150
+ * above 1000 are coerced to 1000.
2151
+ */
2152
+ maxResults?: number;
2153
+ /** OAuth 2.0 token for the current user. */
2154
+ oauth_token?: string;
2155
+ /** A previously-returned page token representing part of the larger set of results to view. */
2156
+ pageToken?: string;
2157
+ /** Returns response with indentations and line breaks. */
2158
+ prettyPrint?: boolean;
2159
+ /** Project ID of the project for which to list Cloud SQL instances. */
2160
+ project: string;
2161
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2162
+ quotaUser?: string;
2163
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2164
+ upload_protocol?: string;
2165
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2166
+ uploadType?: string;
2167
+ }): Request<InstancesListResponse>;
2168
+ /**
2169
+ * Lists all of the trusted Certificate Authorities (CAs) for the specified instance. There can be up to three CAs listed: the CA that was used to sign the certificate that is
2170
+ * currently in use, a CA that has been added but not yet used to sign a certificate, and a CA used to sign a certificate that has previously rotated out.
2171
+ */
2172
+ listServerCas(request?: {
2173
+ /** V1 error format. */
2174
+ "$.xgafv"?: string;
2175
+ /** OAuth access token. */
2176
+ access_token?: string;
2177
+ /** Data format for response. */
2178
+ alt?: string;
2179
+ /** JSONP */
2180
+ callback?: string;
2181
+ /** Selector specifying which fields to include in a partial response. */
2182
+ fields?: string;
2183
+ /** Cloud SQL instance ID. This does not include the project ID. */
2184
+ instance: string;
2185
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2186
+ key?: string;
2187
+ /** OAuth 2.0 token for the current user. */
2188
+ oauth_token?: string;
2189
+ /** Returns response with indentations and line breaks. */
2190
+ prettyPrint?: boolean;
2191
+ /** Project ID of the project that contains the instance. */
2192
+ project: string;
2193
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2194
+ quotaUser?: string;
2195
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2196
+ upload_protocol?: string;
2197
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2198
+ uploadType?: string;
2199
+ }): Request<InstancesListServerCasResponse>;
2200
+ /** Updates settings of a Cloud SQL instance. This method supports patch semantics. */
2201
+ patch(request: {
2202
+ /** V1 error format. */
2203
+ "$.xgafv"?: string;
2204
+ /** OAuth access token. */
2205
+ access_token?: string;
2206
+ /** Data format for response. */
2207
+ alt?: string;
2208
+ /** JSONP */
2209
+ callback?: string;
2210
+ /** Selector specifying which fields to include in a partial response. */
2211
+ fields?: string;
2212
+ /** Cloud SQL instance ID. This does not include the project ID. */
2213
+ instance: string;
2214
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2215
+ key?: string;
2216
+ /** OAuth 2.0 token for the current user. */
2217
+ oauth_token?: string;
2218
+ /** Returns response with indentations and line breaks. */
2219
+ prettyPrint?: boolean;
2220
+ /** Project ID of the project that contains the instance. */
2221
+ project: string;
2222
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2223
+ quotaUser?: string;
2224
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2225
+ upload_protocol?: string;
2226
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2227
+ uploadType?: string;
2228
+ /** Request body */
2229
+ resource: DatabaseInstance;
2230
+ }): Request<Operation>;
2231
+ patch(request: {
2232
+ /** V1 error format. */
2233
+ "$.xgafv"?: string;
2234
+ /** OAuth access token. */
2235
+ access_token?: string;
2236
+ /** Data format for response. */
2237
+ alt?: string;
2238
+ /** JSONP */
2239
+ callback?: string;
2240
+ /** Selector specifying which fields to include in a partial response. */
2241
+ fields?: string;
2242
+ /** Cloud SQL instance ID. This does not include the project ID. */
2243
+ instance: string;
2244
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2245
+ key?: string;
2246
+ /** OAuth 2.0 token for the current user. */
2247
+ oauth_token?: string;
2248
+ /** Returns response with indentations and line breaks. */
2249
+ prettyPrint?: boolean;
2250
+ /** Project ID of the project that contains the instance. */
2251
+ project: string;
2252
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2253
+ quotaUser?: string;
2254
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2255
+ upload_protocol?: string;
2256
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2257
+ uploadType?: string;
2258
+ },
2259
+ body: DatabaseInstance): Request<Operation>;
2260
+ /** Promotes the read replica instance to be a stand-alone Cloud SQL instance. Using this operation might cause your instance to restart. */
2261
+ promoteReplica(request?: {
2262
+ /** V1 error format. */
2263
+ "$.xgafv"?: string;
2264
+ /** OAuth access token. */
2265
+ access_token?: string;
2266
+ /** Data format for response. */
2267
+ alt?: string;
2268
+ /** JSONP */
2269
+ callback?: string;
2270
+ /** Selector specifying which fields to include in a partial response. */
2271
+ fields?: string;
2272
+ /** Cloud SQL read replica instance name. */
2273
+ instance: string;
2274
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2275
+ key?: string;
2276
+ /** OAuth 2.0 token for the current user. */
2277
+ oauth_token?: string;
2278
+ /** Returns response with indentations and line breaks. */
2279
+ prettyPrint?: boolean;
2280
+ /** ID of the project that contains the read replica. */
2281
+ project: string;
2282
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2283
+ quotaUser?: string;
2284
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2285
+ upload_protocol?: string;
2286
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2287
+ uploadType?: string;
2288
+ }): Request<Operation>;
2289
+ /** Deletes all client certificates and generates a new server SSL certificate for the instance. */
2290
+ resetSslConfig(request?: {
2291
+ /** V1 error format. */
2292
+ "$.xgafv"?: string;
2293
+ /** OAuth access token. */
2294
+ access_token?: string;
2295
+ /** Data format for response. */
2296
+ alt?: string;
2297
+ /** JSONP */
2298
+ callback?: string;
2299
+ /** Selector specifying which fields to include in a partial response. */
2300
+ fields?: string;
2301
+ /** Cloud SQL instance ID. This does not include the project ID. */
2302
+ instance: string;
2303
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2304
+ key?: string;
2305
+ /** OAuth 2.0 token for the current user. */
2306
+ oauth_token?: string;
2307
+ /** Returns response with indentations and line breaks. */
2308
+ prettyPrint?: boolean;
2309
+ /** Project ID of the project that contains the instance. */
2310
+ project: string;
2311
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2312
+ quotaUser?: string;
2313
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2314
+ upload_protocol?: string;
2315
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2316
+ uploadType?: string;
2317
+ }): Request<Operation>;
2318
+ /** Restarts a Cloud SQL instance. */
2319
+ restart(request?: {
2320
+ /** V1 error format. */
2321
+ "$.xgafv"?: string;
2322
+ /** OAuth access token. */
2323
+ access_token?: string;
2324
+ /** Data format for response. */
2325
+ alt?: string;
2326
+ /** JSONP */
2327
+ callback?: string;
2328
+ /** Selector specifying which fields to include in a partial response. */
2329
+ fields?: string;
2330
+ /** Cloud SQL instance ID. This does not include the project ID. */
2331
+ instance: string;
2332
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2333
+ key?: string;
2334
+ /** OAuth 2.0 token for the current user. */
2335
+ oauth_token?: string;
2336
+ /** Returns response with indentations and line breaks. */
2337
+ prettyPrint?: boolean;
2338
+ /** Project ID of the project that contains the instance to be restarted. */
2339
+ project: string;
2340
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2341
+ quotaUser?: string;
2342
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2343
+ upload_protocol?: string;
2344
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2345
+ uploadType?: string;
2346
+ }): Request<Operation>;
2347
+ /** Restores a backup of a Cloud SQL instance. Using this operation might cause your instance to restart. */
2348
+ restoreBackup(request: {
2349
+ /** V1 error format. */
2350
+ "$.xgafv"?: string;
2351
+ /** OAuth access token. */
2352
+ access_token?: string;
2353
+ /** Data format for response. */
2354
+ alt?: string;
2355
+ /** JSONP */
2356
+ callback?: string;
2357
+ /** Selector specifying which fields to include in a partial response. */
2358
+ fields?: string;
2359
+ /** Cloud SQL instance ID. This does not include the project ID. */
2360
+ instance: string;
2361
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2362
+ key?: string;
2363
+ /** OAuth 2.0 token for the current user. */
2364
+ oauth_token?: string;
2365
+ /** Returns response with indentations and line breaks. */
2366
+ prettyPrint?: boolean;
2367
+ /** Project ID of the project that contains the instance. */
2368
+ project: string;
2369
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2370
+ quotaUser?: string;
2371
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2372
+ upload_protocol?: string;
2373
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2374
+ uploadType?: string;
2375
+ /** Request body */
2376
+ resource: InstancesRestoreBackupRequest;
2377
+ }): Request<Operation>;
2378
+ restoreBackup(request: {
2379
+ /** V1 error format. */
2380
+ "$.xgafv"?: string;
2381
+ /** OAuth access token. */
2382
+ access_token?: string;
2383
+ /** Data format for response. */
2384
+ alt?: string;
2385
+ /** JSONP */
2386
+ callback?: string;
2387
+ /** Selector specifying which fields to include in a partial response. */
2388
+ fields?: string;
2389
+ /** Cloud SQL instance ID. This does not include the project ID. */
2390
+ instance: string;
2391
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2392
+ key?: string;
2393
+ /** OAuth 2.0 token for the current user. */
2394
+ oauth_token?: string;
2395
+ /** Returns response with indentations and line breaks. */
2396
+ prettyPrint?: boolean;
2397
+ /** Project ID of the project that contains the instance. */
2398
+ project: string;
2399
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2400
+ quotaUser?: string;
2401
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2402
+ upload_protocol?: string;
2403
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2404
+ uploadType?: string;
2405
+ },
2406
+ body: InstancesRestoreBackupRequest): Request<Operation>;
2407
+ /** Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with the addServerCA method. */
2408
+ rotateServerCa(request: {
2409
+ /** V1 error format. */
2410
+ "$.xgafv"?: string;
2411
+ /** OAuth access token. */
2412
+ access_token?: string;
2413
+ /** Data format for response. */
2414
+ alt?: string;
2415
+ /** JSONP */
2416
+ callback?: string;
2417
+ /** Selector specifying which fields to include in a partial response. */
2418
+ fields?: string;
2419
+ /** Cloud SQL instance ID. This does not include the project ID. */
2420
+ instance: string;
2421
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2422
+ key?: string;
2423
+ /** OAuth 2.0 token for the current user. */
2424
+ oauth_token?: string;
2425
+ /** Returns response with indentations and line breaks. */
2426
+ prettyPrint?: boolean;
2427
+ /** Project ID of the project that contains the instance. */
2428
+ project: string;
2429
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2430
+ quotaUser?: string;
2431
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2432
+ upload_protocol?: string;
2433
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2434
+ uploadType?: string;
2435
+ /** Request body */
2436
+ resource: InstancesRotateServerCaRequest;
2437
+ }): Request<Operation>;
2438
+ rotateServerCa(request: {
2439
+ /** V1 error format. */
2440
+ "$.xgafv"?: string;
2441
+ /** OAuth access token. */
2442
+ access_token?: string;
2443
+ /** Data format for response. */
2444
+ alt?: string;
2445
+ /** JSONP */
2446
+ callback?: string;
2447
+ /** Selector specifying which fields to include in a partial response. */
2448
+ fields?: string;
2449
+ /** Cloud SQL instance ID. This does not include the project ID. */
2450
+ instance: string;
2451
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2452
+ key?: string;
2453
+ /** OAuth 2.0 token for the current user. */
2454
+ oauth_token?: string;
2455
+ /** Returns response with indentations and line breaks. */
2456
+ prettyPrint?: boolean;
2457
+ /** Project ID of the project that contains the instance. */
2458
+ project: string;
2459
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2460
+ quotaUser?: string;
2461
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2462
+ upload_protocol?: string;
2463
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2464
+ uploadType?: string;
2465
+ },
2466
+ body: InstancesRotateServerCaRequest): Request<Operation>;
2467
+ /** Starts the replication in the read replica instance. */
2468
+ startReplica(request?: {
2469
+ /** V1 error format. */
2470
+ "$.xgafv"?: string;
2471
+ /** OAuth access token. */
2472
+ access_token?: string;
2473
+ /** Data format for response. */
2474
+ alt?: string;
2475
+ /** JSONP */
2476
+ callback?: string;
2477
+ /** Selector specifying which fields to include in a partial response. */
2478
+ fields?: string;
2479
+ /** Cloud SQL read replica instance name. */
2480
+ instance: string;
2481
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2482
+ key?: string;
2483
+ /** OAuth 2.0 token for the current user. */
2484
+ oauth_token?: string;
2485
+ /** Returns response with indentations and line breaks. */
2486
+ prettyPrint?: boolean;
2487
+ /** ID of the project that contains the read replica. */
2488
+ project: string;
2489
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2490
+ quotaUser?: string;
2491
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2492
+ upload_protocol?: string;
2493
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2494
+ uploadType?: string;
2495
+ }): Request<Operation>;
2496
+ /** Stops the replication in the read replica instance. */
2497
+ stopReplica(request?: {
2498
+ /** V1 error format. */
2499
+ "$.xgafv"?: string;
2500
+ /** OAuth access token. */
2501
+ access_token?: string;
2502
+ /** Data format for response. */
2503
+ alt?: string;
2504
+ /** JSONP */
2505
+ callback?: string;
2506
+ /** Selector specifying which fields to include in a partial response. */
2507
+ fields?: string;
2508
+ /** Cloud SQL read replica instance name. */
2509
+ instance: string;
2510
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2511
+ key?: string;
2512
+ /** OAuth 2.0 token for the current user. */
2513
+ oauth_token?: string;
2514
+ /** Returns response with indentations and line breaks. */
2515
+ prettyPrint?: boolean;
2516
+ /** ID of the project that contains the read replica. */
2517
+ project: string;
2518
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2519
+ quotaUser?: string;
2520
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2521
+ upload_protocol?: string;
2522
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2523
+ uploadType?: string;
2524
+ }): Request<Operation>;
2525
+ /** Truncate MySQL general and slow query log tables MySQL only. */
2526
+ truncateLog(request: {
2527
+ /** V1 error format. */
2528
+ "$.xgafv"?: string;
2529
+ /** OAuth access token. */
2530
+ access_token?: string;
2531
+ /** Data format for response. */
2532
+ alt?: string;
2533
+ /** JSONP */
2534
+ callback?: string;
2535
+ /** Selector specifying which fields to include in a partial response. */
2536
+ fields?: string;
2537
+ /** Cloud SQL instance ID. This does not include the project ID. */
2538
+ instance: string;
2539
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2540
+ key?: string;
2541
+ /** OAuth 2.0 token for the current user. */
2542
+ oauth_token?: string;
2543
+ /** Returns response with indentations and line breaks. */
2544
+ prettyPrint?: boolean;
2545
+ /** Project ID of the Cloud SQL project. */
2546
+ project: string;
2547
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2548
+ quotaUser?: string;
2549
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2550
+ upload_protocol?: string;
2551
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2552
+ uploadType?: string;
2553
+ /** Request body */
2554
+ resource: InstancesTruncateLogRequest;
2555
+ }): Request<Operation>;
2556
+ truncateLog(request: {
2557
+ /** V1 error format. */
2558
+ "$.xgafv"?: string;
2559
+ /** OAuth access token. */
2560
+ access_token?: string;
2561
+ /** Data format for response. */
2562
+ alt?: string;
2563
+ /** JSONP */
2564
+ callback?: string;
2565
+ /** Selector specifying which fields to include in a partial response. */
2566
+ fields?: string;
2567
+ /** Cloud SQL instance ID. This does not include the project ID. */
2568
+ instance: string;
2569
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2570
+ key?: string;
2571
+ /** OAuth 2.0 token for the current user. */
2572
+ oauth_token?: string;
2573
+ /** Returns response with indentations and line breaks. */
2574
+ prettyPrint?: boolean;
2575
+ /** Project ID of the Cloud SQL project. */
2576
+ project: string;
2577
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2578
+ quotaUser?: string;
2579
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2580
+ upload_protocol?: string;
2581
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2582
+ uploadType?: string;
2583
+ },
2584
+ body: InstancesTruncateLogRequest): Request<Operation>;
2585
+ /** Updates settings of a Cloud SQL instance. Using this operation might cause your instance to restart. */
2586
+ update(request: {
2587
+ /** V1 error format. */
2588
+ "$.xgafv"?: string;
2589
+ /** OAuth access token. */
2590
+ access_token?: string;
2591
+ /** Data format for response. */
2592
+ alt?: string;
2593
+ /** JSONP */
2594
+ callback?: string;
2595
+ /** Selector specifying which fields to include in a partial response. */
2596
+ fields?: string;
2597
+ /** Cloud SQL instance ID. This does not include the project ID. */
2598
+ instance: string;
2599
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2600
+ key?: string;
2601
+ /** OAuth 2.0 token for the current user. */
2602
+ oauth_token?: string;
2603
+ /** Returns response with indentations and line breaks. */
2604
+ prettyPrint?: boolean;
2605
+ /** Project ID of the project that contains the instance. */
2606
+ project: string;
2607
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2608
+ quotaUser?: string;
2609
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2610
+ upload_protocol?: string;
2611
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2612
+ uploadType?: string;
2613
+ /** Request body */
2614
+ resource: DatabaseInstance;
2615
+ }): Request<Operation>;
2616
+ update(request: {
2617
+ /** V1 error format. */
2618
+ "$.xgafv"?: string;
2619
+ /** OAuth access token. */
2620
+ access_token?: string;
2621
+ /** Data format for response. */
2622
+ alt?: string;
2623
+ /** JSONP */
2624
+ callback?: string;
2625
+ /** Selector specifying which fields to include in a partial response. */
2626
+ fields?: string;
2627
+ /** Cloud SQL instance ID. This does not include the project ID. */
2628
+ instance: string;
2629
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2630
+ key?: string;
2631
+ /** OAuth 2.0 token for the current user. */
2632
+ oauth_token?: string;
2633
+ /** Returns response with indentations and line breaks. */
2634
+ prettyPrint?: boolean;
2635
+ /** Project ID of the project that contains the instance. */
2636
+ project: string;
2637
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2638
+ quotaUser?: string;
2639
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2640
+ upload_protocol?: string;
2641
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2642
+ uploadType?: string;
2643
+ },
2644
+ body: DatabaseInstance): Request<Operation>;
2645
+ }
2646
+ interface OperationsResource {
2647
+ /** Retrieves an instance operation that has been performed on an instance. */
2648
+ get(request?: {
2649
+ /** V1 error format. */
2650
+ "$.xgafv"?: string;
2651
+ /** OAuth access token. */
2652
+ access_token?: string;
2653
+ /** Data format for response. */
2654
+ alt?: string;
2655
+ /** JSONP */
2656
+ callback?: string;
2657
+ /** Selector specifying which fields to include in a partial response. */
2658
+ fields?: string;
2659
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2660
+ key?: string;
2661
+ /** OAuth 2.0 token for the current user. */
2662
+ oauth_token?: string;
2663
+ /** Instance operation ID. */
2664
+ operation: string;
2665
+ /** Returns response with indentations and line breaks. */
2666
+ prettyPrint?: boolean;
2667
+ /** Project ID of the project that contains the instance. */
2668
+ project: string;
2669
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2670
+ quotaUser?: string;
2671
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2672
+ upload_protocol?: string;
2673
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2674
+ uploadType?: string;
2675
+ }): Request<Operation>;
2676
+ /** Lists all instance operations that have been performed on the given Cloud SQL instance in the reverse chronological order of the start time. */
2677
+ list(request?: {
2678
+ /** V1 error format. */
2679
+ "$.xgafv"?: string;
2680
+ /** OAuth access token. */
2681
+ access_token?: string;
2682
+ /** Data format for response. */
2683
+ alt?: string;
2684
+ /** JSONP */
2685
+ callback?: string;
2686
+ /** Selector specifying which fields to include in a partial response. */
2687
+ fields?: string;
2688
+ /** Cloud SQL instance ID. This does not include the project ID. */
2689
+ instance?: string;
2690
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2691
+ key?: string;
2692
+ /** Maximum number of operations per response. */
2693
+ maxResults?: number;
2694
+ /** OAuth 2.0 token for the current user. */
2695
+ oauth_token?: string;
2696
+ /** A previously-returned page token representing part of the larger set of results to view. */
2697
+ pageToken?: string;
2698
+ /** Returns response with indentations and line breaks. */
2699
+ prettyPrint?: boolean;
2700
+ /** Project ID of the project that contains the instance. */
2701
+ project: string;
2702
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2703
+ quotaUser?: string;
2704
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2705
+ upload_protocol?: string;
2706
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2707
+ uploadType?: string;
2708
+ }): Request<OperationsListResponse>;
2709
+ }
2710
+ interface InstancesResource {
2711
+ /** Reschedules the maintenance on the given instance. */
2712
+ rescheduleMaintenance(request: {
2713
+ /** V1 error format. */
2714
+ "$.xgafv"?: string;
2715
+ /** OAuth access token. */
2716
+ access_token?: string;
2717
+ /** Data format for response. */
2718
+ alt?: string;
2719
+ /** JSONP */
2720
+ callback?: string;
2721
+ /** Selector specifying which fields to include in a partial response. */
2722
+ fields?: string;
2723
+ /** Cloud SQL instance ID. This does not include the project ID. */
2724
+ instance: string;
2725
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2726
+ key?: string;
2727
+ /** OAuth 2.0 token for the current user. */
2728
+ oauth_token?: string;
2729
+ /** Returns response with indentations and line breaks. */
2730
+ prettyPrint?: boolean;
2731
+ /** ID of the project that contains the instance. */
2732
+ project: string;
2733
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2734
+ quotaUser?: string;
2735
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2736
+ upload_protocol?: string;
2737
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2738
+ uploadType?: string;
2739
+ /** Request body */
2740
+ resource: SqlInstancesRescheduleMaintenanceRequestBody;
2741
+ }): Request<Operation>;
2742
+ rescheduleMaintenance(request: {
2743
+ /** V1 error format. */
2744
+ "$.xgafv"?: string;
2745
+ /** OAuth access token. */
2746
+ access_token?: string;
2747
+ /** Data format for response. */
2748
+ alt?: string;
2749
+ /** JSONP */
2750
+ callback?: string;
2751
+ /** Selector specifying which fields to include in a partial response. */
2752
+ fields?: string;
2753
+ /** Cloud SQL instance ID. This does not include the project ID. */
2754
+ instance: string;
2755
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2756
+ key?: string;
2757
+ /** OAuth 2.0 token for the current user. */
2758
+ oauth_token?: string;
2759
+ /** Returns response with indentations and line breaks. */
2760
+ prettyPrint?: boolean;
2761
+ /** ID of the project that contains the instance. */
2762
+ project: string;
2763
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2764
+ quotaUser?: string;
2765
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2766
+ upload_protocol?: string;
2767
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2768
+ uploadType?: string;
2769
+ },
2770
+ body: SqlInstancesRescheduleMaintenanceRequestBody): Request<Operation>;
2771
+ /** Start External primary instance migration. */
2772
+ startExternalSync(request: {
2773
+ /** V1 error format. */
2774
+ "$.xgafv"?: string;
2775
+ /** OAuth access token. */
2776
+ access_token?: string;
2777
+ /** Data format for response. */
2778
+ alt?: string;
2779
+ /** JSONP */
2780
+ callback?: string;
2781
+ /** Selector specifying which fields to include in a partial response. */
2782
+ fields?: string;
2783
+ /** Cloud SQL instance ID. This does not include the project ID. */
2784
+ instance: string;
2785
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2786
+ key?: string;
2787
+ /** OAuth 2.0 token for the current user. */
2788
+ oauth_token?: string;
2789
+ /** Returns response with indentations and line breaks. */
2790
+ prettyPrint?: boolean;
2791
+ /** ID of the project that contains the instance. */
2792
+ project: string;
2793
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2794
+ quotaUser?: string;
2795
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2796
+ upload_protocol?: string;
2797
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2798
+ uploadType?: string;
2799
+ /** Request body */
2800
+ resource: SqlInstancesStartExternalSyncRequest;
2801
+ }): Request<Operation>;
2802
+ startExternalSync(request: {
2803
+ /** V1 error format. */
2804
+ "$.xgafv"?: string;
2805
+ /** OAuth access token. */
2806
+ access_token?: string;
2807
+ /** Data format for response. */
2808
+ alt?: string;
2809
+ /** JSONP */
2810
+ callback?: string;
2811
+ /** Selector specifying which fields to include in a partial response. */
2812
+ fields?: string;
2813
+ /** Cloud SQL instance ID. This does not include the project ID. */
2814
+ instance: string;
2815
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2816
+ key?: string;
2817
+ /** OAuth 2.0 token for the current user. */
2818
+ oauth_token?: string;
2819
+ /** Returns response with indentations and line breaks. */
2820
+ prettyPrint?: boolean;
2821
+ /** ID of the project that contains the instance. */
2822
+ project: string;
2823
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2824
+ quotaUser?: string;
2825
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2826
+ upload_protocol?: string;
2827
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2828
+ uploadType?: string;
2829
+ },
2830
+ body: SqlInstancesStartExternalSyncRequest): Request<Operation>;
2831
+ /** Verify External primary instance external sync settings. */
2832
+ verifyExternalSyncSettings(request: {
2833
+ /** V1 error format. */
2834
+ "$.xgafv"?: string;
2835
+ /** OAuth access token. */
2836
+ access_token?: string;
2837
+ /** Data format for response. */
2838
+ alt?: string;
2839
+ /** JSONP */
2840
+ callback?: string;
2841
+ /** Selector specifying which fields to include in a partial response. */
2842
+ fields?: string;
2843
+ /** Cloud SQL instance ID. This does not include the project ID. */
2844
+ instance: string;
2845
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2846
+ key?: string;
2847
+ /** OAuth 2.0 token for the current user. */
2848
+ oauth_token?: string;
2849
+ /** Returns response with indentations and line breaks. */
2850
+ prettyPrint?: boolean;
2851
+ /** Project ID of the project that contains the instance. */
2852
+ project: string;
2853
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2854
+ quotaUser?: string;
2855
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2856
+ upload_protocol?: string;
2857
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2858
+ uploadType?: string;
2859
+ /** Request body */
2860
+ resource: SqlInstancesVerifyExternalSyncSettingsRequest;
2861
+ }): Request<SqlInstancesVerifyExternalSyncSettingsResponse>;
2862
+ verifyExternalSyncSettings(request: {
2863
+ /** V1 error format. */
2864
+ "$.xgafv"?: string;
2865
+ /** OAuth access token. */
2866
+ access_token?: string;
2867
+ /** Data format for response. */
2868
+ alt?: string;
2869
+ /** JSONP */
2870
+ callback?: string;
2871
+ /** Selector specifying which fields to include in a partial response. */
2872
+ fields?: string;
2873
+ /** Cloud SQL instance ID. This does not include the project ID. */
2874
+ instance: string;
2875
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2876
+ key?: string;
2877
+ /** OAuth 2.0 token for the current user. */
2878
+ oauth_token?: string;
2879
+ /** Returns response with indentations and line breaks. */
2880
+ prettyPrint?: boolean;
2881
+ /** Project ID of the project that contains the instance. */
2882
+ project: string;
2883
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2884
+ quotaUser?: string;
2885
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2886
+ upload_protocol?: string;
2887
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2888
+ uploadType?: string;
2889
+ },
2890
+ body: SqlInstancesVerifyExternalSyncSettingsRequest): Request<SqlInstancesVerifyExternalSyncSettingsResponse>;
2891
+ }
2892
+ interface ProjectsResource {
2893
+ instances: InstancesResource;
2894
+ }
2895
+ interface SslCertsResource {
2896
+ /**
2897
+ * Generates a short-lived X509 certificate containing the provided public key and signed by a private key specific to the target instance. Users may use the certificate to
2898
+ * authenticate as themselves when connecting to the database.
2899
+ */
2900
+ createEphemeral(request: {
2901
+ /** V1 error format. */
2902
+ "$.xgafv"?: string;
2903
+ /** OAuth access token. */
2904
+ access_token?: string;
2905
+ /** Data format for response. */
2906
+ alt?: string;
2907
+ /** JSONP */
2908
+ callback?: string;
2909
+ /** Selector specifying which fields to include in a partial response. */
2910
+ fields?: string;
2911
+ /** Cloud SQL instance ID. This does not include the project ID. */
2912
+ instance: string;
2913
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2914
+ key?: string;
2915
+ /** OAuth 2.0 token for the current user. */
2916
+ oauth_token?: string;
2917
+ /** Returns response with indentations and line breaks. */
2918
+ prettyPrint?: boolean;
2919
+ /** Project ID of the Cloud SQL project. */
2920
+ project: string;
2921
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2922
+ quotaUser?: string;
2923
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2924
+ upload_protocol?: string;
2925
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2926
+ uploadType?: string;
2927
+ /** Request body */
2928
+ resource: SslCertsCreateEphemeralRequest;
2929
+ }): Request<SslCert>;
2930
+ createEphemeral(request: {
2931
+ /** V1 error format. */
2932
+ "$.xgafv"?: string;
2933
+ /** OAuth access token. */
2934
+ access_token?: string;
2935
+ /** Data format for response. */
2936
+ alt?: string;
2937
+ /** JSONP */
2938
+ callback?: string;
2939
+ /** Selector specifying which fields to include in a partial response. */
2940
+ fields?: string;
2941
+ /** Cloud SQL instance ID. This does not include the project ID. */
2942
+ instance: string;
2943
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2944
+ key?: string;
2945
+ /** OAuth 2.0 token for the current user. */
2946
+ oauth_token?: string;
2947
+ /** Returns response with indentations and line breaks. */
2948
+ prettyPrint?: boolean;
2949
+ /** Project ID of the Cloud SQL project. */
2950
+ project: string;
2951
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2952
+ quotaUser?: string;
2953
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2954
+ upload_protocol?: string;
2955
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2956
+ uploadType?: string;
2957
+ },
2958
+ body: SslCertsCreateEphemeralRequest): Request<SslCert>;
2959
+ /** Deletes the SSL certificate. For First Generation instances, the certificate remains valid until the instance is restarted. */
2960
+ delete(request?: {
2961
+ /** V1 error format. */
2962
+ "$.xgafv"?: string;
2963
+ /** OAuth access token. */
2964
+ access_token?: string;
2965
+ /** Data format for response. */
2966
+ alt?: string;
2967
+ /** JSONP */
2968
+ callback?: string;
2969
+ /** Selector specifying which fields to include in a partial response. */
2970
+ fields?: string;
2971
+ /** Cloud SQL instance ID. This does not include the project ID. */
2972
+ instance: string;
2973
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
2974
+ key?: string;
2975
+ /** OAuth 2.0 token for the current user. */
2976
+ oauth_token?: string;
2977
+ /** Returns response with indentations and line breaks. */
2978
+ prettyPrint?: boolean;
2979
+ /** Project ID of the project that contains the instance. */
2980
+ project: string;
2981
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
2982
+ quotaUser?: string;
2983
+ /** Sha1 FingerPrint. */
2984
+ sha1Fingerprint: string;
2985
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
2986
+ upload_protocol?: string;
2987
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
2988
+ uploadType?: string;
2989
+ }): Request<Operation>;
2990
+ /** Retrieves a particular SSL certificate. Does not include the private key (required for usage). The private key must be saved from the response to initial creation. */
2991
+ get(request?: {
2992
+ /** V1 error format. */
2993
+ "$.xgafv"?: string;
2994
+ /** OAuth access token. */
2995
+ access_token?: string;
2996
+ /** Data format for response. */
2997
+ alt?: string;
2998
+ /** JSONP */
2999
+ callback?: string;
3000
+ /** Selector specifying which fields to include in a partial response. */
3001
+ fields?: string;
3002
+ /** Cloud SQL instance ID. This does not include the project ID. */
3003
+ instance: string;
3004
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
3005
+ key?: string;
3006
+ /** OAuth 2.0 token for the current user. */
3007
+ oauth_token?: string;
3008
+ /** Returns response with indentations and line breaks. */
3009
+ prettyPrint?: boolean;
3010
+ /** Project ID of the project that contains the instance. */
3011
+ project: string;
3012
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
3013
+ quotaUser?: string;
3014
+ /** Sha1 FingerPrint. */
3015
+ sha1Fingerprint: string;
3016
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
3017
+ upload_protocol?: string;
3018
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
3019
+ uploadType?: string;
3020
+ }): Request<SslCert>;
3021
+ /** Creates an SSL certificate and returns it along with the private key and server certificate authority. The new certificate will not be usable until the instance is restarted. */
3022
+ insert(request: {
3023
+ /** V1 error format. */
3024
+ "$.xgafv"?: string;
3025
+ /** OAuth access token. */
3026
+ access_token?: string;
3027
+ /** Data format for response. */
3028
+ alt?: string;
3029
+ /** JSONP */
3030
+ callback?: string;
3031
+ /** Selector specifying which fields to include in a partial response. */
3032
+ fields?: string;
3033
+ /** Cloud SQL instance ID. This does not include the project ID. */
3034
+ instance: string;
3035
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
3036
+ key?: string;
3037
+ /** OAuth 2.0 token for the current user. */
3038
+ oauth_token?: string;
3039
+ /** Returns response with indentations and line breaks. */
3040
+ prettyPrint?: boolean;
3041
+ /** Project ID of the project that contains the instance. */
3042
+ project: string;
3043
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
3044
+ quotaUser?: string;
3045
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
3046
+ upload_protocol?: string;
3047
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
3048
+ uploadType?: string;
3049
+ /** Request body */
3050
+ resource: SslCertsInsertRequest;
3051
+ }): Request<SslCertsInsertResponse>;
3052
+ insert(request: {
3053
+ /** V1 error format. */
3054
+ "$.xgafv"?: string;
3055
+ /** OAuth access token. */
3056
+ access_token?: string;
3057
+ /** Data format for response. */
3058
+ alt?: string;
3059
+ /** JSONP */
3060
+ callback?: string;
3061
+ /** Selector specifying which fields to include in a partial response. */
3062
+ fields?: string;
3063
+ /** Cloud SQL instance ID. This does not include the project ID. */
3064
+ instance: string;
3065
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
3066
+ key?: string;
3067
+ /** OAuth 2.0 token for the current user. */
3068
+ oauth_token?: string;
3069
+ /** Returns response with indentations and line breaks. */
3070
+ prettyPrint?: boolean;
3071
+ /** Project ID of the project that contains the instance. */
3072
+ project: string;
3073
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
3074
+ quotaUser?: string;
3075
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
3076
+ upload_protocol?: string;
3077
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
3078
+ uploadType?: string;
3079
+ },
3080
+ body: SslCertsInsertRequest): Request<SslCertsInsertResponse>;
3081
+ /** Lists all of the current SSL certificates for the instance. */
3082
+ list(request?: {
3083
+ /** V1 error format. */
3084
+ "$.xgafv"?: string;
3085
+ /** OAuth access token. */
3086
+ access_token?: string;
3087
+ /** Data format for response. */
3088
+ alt?: string;
3089
+ /** JSONP */
3090
+ callback?: string;
3091
+ /** Selector specifying which fields to include in a partial response. */
3092
+ fields?: string;
3093
+ /** Cloud SQL instance ID. This does not include the project ID. */
3094
+ instance: string;
3095
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
3096
+ key?: string;
3097
+ /** OAuth 2.0 token for the current user. */
3098
+ oauth_token?: string;
3099
+ /** Returns response with indentations and line breaks. */
3100
+ prettyPrint?: boolean;
3101
+ /** Project ID of the project that contains the instance. */
3102
+ project: string;
3103
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
3104
+ quotaUser?: string;
3105
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
3106
+ upload_protocol?: string;
3107
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
3108
+ uploadType?: string;
3109
+ }): Request<SslCertsListResponse>;
3110
+ }
3111
+ interface TiersResource {
3112
+ /** Lists all available machine types (tiers) for Cloud SQL, for example, `db-custom-1-3840`. For more information, see https://cloud.google.com/sql/pricing. */
3113
+ list(request?: {
3114
+ /** V1 error format. */
3115
+ "$.xgafv"?: string;
3116
+ /** OAuth access token. */
3117
+ access_token?: string;
3118
+ /** Data format for response. */
3119
+ alt?: string;
3120
+ /** JSONP */
3121
+ callback?: string;
3122
+ /** Selector specifying which fields to include in a partial response. */
3123
+ fields?: string;
3124
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
3125
+ key?: string;
3126
+ /** OAuth 2.0 token for the current user. */
3127
+ oauth_token?: string;
3128
+ /** Returns response with indentations and line breaks. */
3129
+ prettyPrint?: boolean;
3130
+ /** Project ID of the project for which to list tiers. */
3131
+ project: string;
3132
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
3133
+ quotaUser?: string;
3134
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
3135
+ upload_protocol?: string;
3136
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
3137
+ uploadType?: string;
3138
+ }): Request<TiersListResponse>;
3139
+ }
3140
+ interface UsersResource {
3141
+ /** Deletes a user from a Cloud SQL instance. */
3142
+ delete(request?: {
3143
+ /** V1 error format. */
3144
+ "$.xgafv"?: string;
3145
+ /** OAuth access token. */
3146
+ access_token?: string;
3147
+ /** Data format for response. */
3148
+ alt?: string;
3149
+ /** JSONP */
3150
+ callback?: string;
3151
+ /** Selector specifying which fields to include in a partial response. */
3152
+ fields?: string;
3153
+ /** Host of the user in the instance. */
3154
+ host?: string;
3155
+ /** Database instance ID. This does not include the project ID. */
3156
+ instance: string;
3157
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
3158
+ key?: string;
3159
+ /** Name of the user in the instance. */
3160
+ name?: string;
3161
+ /** OAuth 2.0 token for the current user. */
3162
+ oauth_token?: string;
3163
+ /** Returns response with indentations and line breaks. */
3164
+ prettyPrint?: boolean;
3165
+ /** Project ID of the project that contains the instance. */
3166
+ project: string;
3167
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
3168
+ quotaUser?: string;
3169
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
3170
+ upload_protocol?: string;
3171
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
3172
+ uploadType?: string;
3173
+ }): Request<Operation>;
3174
+ /** Retrieves a resource containing information about a user. */
3175
+ get(request?: {
3176
+ /** V1 error format. */
3177
+ "$.xgafv"?: string;
3178
+ /** OAuth access token. */
3179
+ access_token?: string;
3180
+ /** Data format for response. */
3181
+ alt?: string;
3182
+ /** JSONP */
3183
+ callback?: string;
3184
+ /** Selector specifying which fields to include in a partial response. */
3185
+ fields?: string;
3186
+ /** Database instance ID. This does not include the project ID. */
3187
+ instance: string;
3188
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
3189
+ key?: string;
3190
+ /** User of the instance. If the database user has a host, this is specified as {username}@{host} else as {username}. */
3191
+ name: string;
3192
+ /** OAuth 2.0 token for the current user. */
3193
+ oauth_token?: string;
3194
+ /** Returns response with indentations and line breaks. */
3195
+ prettyPrint?: boolean;
3196
+ /** Project ID of the project that contains the instance. */
3197
+ project: string;
3198
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
3199
+ quotaUser?: string;
3200
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
3201
+ upload_protocol?: string;
3202
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
3203
+ uploadType?: string;
3204
+ }): Request<User>;
3205
+ /** Creates a new user in a Cloud SQL instance. */
3206
+ insert(request: {
3207
+ /** V1 error format. */
3208
+ "$.xgafv"?: string;
3209
+ /** OAuth access token. */
3210
+ access_token?: string;
3211
+ /** Data format for response. */
3212
+ alt?: string;
3213
+ /** JSONP */
3214
+ callback?: string;
3215
+ /** Selector specifying which fields to include in a partial response. */
3216
+ fields?: string;
3217
+ /** Database instance ID. This does not include the project ID. */
3218
+ instance: string;
3219
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
3220
+ key?: string;
3221
+ /** OAuth 2.0 token for the current user. */
3222
+ oauth_token?: string;
3223
+ /** Returns response with indentations and line breaks. */
3224
+ prettyPrint?: boolean;
3225
+ /** Project ID of the project that contains the instance. */
3226
+ project: string;
3227
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
3228
+ quotaUser?: string;
3229
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
3230
+ upload_protocol?: string;
3231
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
3232
+ uploadType?: string;
3233
+ /** Request body */
3234
+ resource: User;
3235
+ }): Request<Operation>;
3236
+ insert(request: {
3237
+ /** V1 error format. */
3238
+ "$.xgafv"?: string;
3239
+ /** OAuth access token. */
3240
+ access_token?: string;
3241
+ /** Data format for response. */
3242
+ alt?: string;
3243
+ /** JSONP */
3244
+ callback?: string;
3245
+ /** Selector specifying which fields to include in a partial response. */
3246
+ fields?: string;
3247
+ /** Database instance ID. This does not include the project ID. */
3248
+ instance: string;
3249
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
3250
+ key?: string;
3251
+ /** OAuth 2.0 token for the current user. */
3252
+ oauth_token?: string;
3253
+ /** Returns response with indentations and line breaks. */
3254
+ prettyPrint?: boolean;
3255
+ /** Project ID of the project that contains the instance. */
3256
+ project: string;
3257
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
3258
+ quotaUser?: string;
3259
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
3260
+ upload_protocol?: string;
3261
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
3262
+ uploadType?: string;
3263
+ },
3264
+ body: User): Request<Operation>;
3265
+ /** Lists users in the specified Cloud SQL instance. */
3266
+ list(request?: {
3267
+ /** V1 error format. */
3268
+ "$.xgafv"?: string;
3269
+ /** OAuth access token. */
3270
+ access_token?: string;
3271
+ /** Data format for response. */
3272
+ alt?: string;
3273
+ /** JSONP */
3274
+ callback?: string;
3275
+ /** Selector specifying which fields to include in a partial response. */
3276
+ fields?: string;
3277
+ /** Database instance ID. This does not include the project ID. */
3278
+ instance: string;
3279
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
3280
+ key?: string;
3281
+ /** OAuth 2.0 token for the current user. */
3282
+ oauth_token?: string;
3283
+ /** Returns response with indentations and line breaks. */
3284
+ prettyPrint?: boolean;
3285
+ /** Project ID of the project that contains the instance. */
3286
+ project: string;
3287
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
3288
+ quotaUser?: string;
3289
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
3290
+ upload_protocol?: string;
3291
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
3292
+ uploadType?: string;
3293
+ }): Request<UsersListResponse>;
3294
+ /** Updates an existing user in a Cloud SQL instance. */
3295
+ update(request: {
3296
+ /** V1 error format. */
3297
+ "$.xgafv"?: string;
3298
+ /** OAuth access token. */
3299
+ access_token?: string;
3300
+ /** Data format for response. */
3301
+ alt?: string;
3302
+ /** JSONP */
3303
+ callback?: string;
3304
+ /** Selector specifying which fields to include in a partial response. */
3305
+ fields?: string;
3306
+ /** Optional. Host of the user in the instance. */
3307
+ host?: string;
3308
+ /** Database instance ID. This does not include the project ID. */
3309
+ instance: string;
3310
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
3311
+ key?: string;
3312
+ /** Name of the user in the instance. */
3313
+ name?: string;
3314
+ /** OAuth 2.0 token for the current user. */
3315
+ oauth_token?: string;
3316
+ /** Returns response with indentations and line breaks. */
3317
+ prettyPrint?: boolean;
3318
+ /** Project ID of the project that contains the instance. */
3319
+ project: string;
3320
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
3321
+ quotaUser?: string;
3322
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
3323
+ upload_protocol?: string;
3324
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
3325
+ uploadType?: string;
3326
+ /** Request body */
3327
+ resource: User;
3328
+ }): Request<Operation>;
3329
+ update(request: {
3330
+ /** V1 error format. */
3331
+ "$.xgafv"?: string;
3332
+ /** OAuth access token. */
3333
+ access_token?: string;
3334
+ /** Data format for response. */
3335
+ alt?: string;
3336
+ /** JSONP */
3337
+ callback?: string;
3338
+ /** Selector specifying which fields to include in a partial response. */
3339
+ fields?: string;
3340
+ /** Optional. Host of the user in the instance. */
3341
+ host?: string;
3342
+ /** Database instance ID. This does not include the project ID. */
3343
+ instance: string;
3344
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
3345
+ key?: string;
3346
+ /** Name of the user in the instance. */
3347
+ name?: string;
3348
+ /** OAuth 2.0 token for the current user. */
3349
+ oauth_token?: string;
3350
+ /** Returns response with indentations and line breaks. */
3351
+ prettyPrint?: boolean;
3352
+ /** Project ID of the project that contains the instance. */
3353
+ project: string;
3354
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
3355
+ quotaUser?: string;
3356
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
3357
+ upload_protocol?: string;
3358
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
3359
+ uploadType?: string;
3360
+ },
3361
+ body: User): Request<Operation>;
3362
+ }
3363
+
3364
+ const backupRuns: BackupRunsResource;
3365
+
3366
+ const connect: ConnectResource;
3367
+
3368
+ const databases: DatabasesResource;
3369
+
3370
+ const flags: FlagsResource;
3371
+
3372
+ const instances: InstancesResource;
3373
+
3374
+ const operations: OperationsResource;
3375
+
3376
+ const projects: ProjectsResource;
3377
+
3378
+ const sslCerts: SslCertsResource;
3379
+
3380
+ const tiers: TiersResource;
3381
+
3382
+ const users: UsersResource;
3383
+ }
3384
+ }