{ "discoveryVersion": "v1", "name": "sqladmin", "baseUrl": "https://sqladmin.googleapis.com/", "canonicalName": "SQL Admin", "servicePath": "", "version": "v1", "schemas": { "Operation": { "id": "Operation", "description": "An Operation resource. For successful operations that return an Operation resource, only the fields relevant to the operation are populated in the resource.", "type": "object", "properties": { "kind": { "description": "This is always `sql#operation`.", "type": "string" }, "targetLink": { "type": "string" }, "status": { "description": "The status of an operation.", "type": "string", "enumDescriptions": [ "The state of the operation is unknown.", "The operation has been queued, but has not started yet.", "The operation is running.", "The operation completed." ], "enum": [ "SQL_OPERATION_STATUS_UNSPECIFIED", "PENDING", "RUNNING", "DONE" ] }, "user": { "description": "The email address of the user who initiated this operation.", "type": "string" }, "insertTime": { "description": "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`.", "type": "string", "format": "google-datetime" }, "startTime": { "description": "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`.", "type": "string", "format": "google-datetime" }, "endTime": { "description": "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`.", "type": "string", "format": "google-datetime" }, "error": { "description": "If errors occurred during processing of this operation, this field will be populated.", "$ref": "OperationErrors" }, "apiWarning": { "description": "An Admin API warning message.", "$ref": "ApiWarning" }, "operationType": { "description": "The type of the operation. Valid values are: * `CREATE` * `DELETE` * `UPDATE` * `RESTART` * `IMPORT` * `EXPORT` * `BACKUP_VOLUME` * `RESTORE_VOLUME` * `CREATE_USER` * `DELETE_USER` * `CREATE_DATABASE` * `DELETE_DATABASE`", "type": "string", "enumDescriptions": [ "Unknown operation type.", "Imports data into a Cloud SQL instance.", "Exports data from a Cloud SQL instance to a Cloud Storage bucket.", "Creates a new Cloud SQL instance.", "Updates the settings of a Cloud SQL instance.", "Deletes a Cloud SQL instance.", "Restarts the Cloud SQL instance.", "", "", "Performs instance backup.", "Deletes an instance backup.", "Restores an instance backup.", "Injects a privileged user in mysql for MOB instances.", "Clones a Cloud SQL instance.", "Stops replication on a Cloud SQL read replica instance.", "Starts replication on a Cloud SQL read replica instance.", "Promotes a Cloud SQL replica instance.", "Creates a Cloud SQL replica instance.", "Creates a new user in a Cloud SQL instance.", "Deletes a user from a Cloud SQL instance.", "Updates an existing user in a Cloud SQL instance.", "Creates a database in the Cloud SQL instance.", "Deletes a database in the Cloud SQL instance.", "Updates a database in the Cloud SQL instance.", "Performs failover of an HA-enabled Cloud SQL failover replica.", "Deletes the backup taken by a backup run.", "", "Truncates a general or slow log table in MySQL.", "Demotes the stand-alone instance to be a Cloud SQL read replica for an external database server.", "Indicates that the instance is currently in maintenance. Maintenance typically causes the instance to be unavailable for 1-3 minutes.", "This field is deprecated, and will be removed in future version of API.", "", "Creates clone instance.", "Reschedule maintenance to another time.", "Starts external sync of a Cloud SQL EM replica to an external primary instance.", "Recovers logs from an instance's old data disk.", "Performs auto-restart of an HA-enabled Cloud SQL database for auto recovery.", "Re-encrypts CMEK instances with latest key version.", "Switches over to replica instance from primary.", "Acquire a lease for the setup of SQL Server Reporting Services (SSRS).", "Release a lease for the setup of SQL Server Reporting Services (SSRS).", "Reconfigures old primary after a promote replica operation. Effect of a promote operation to the old primary is executed in this operation, asynchronously from the promote replica operation executed to the replica." ], "enumDeprecated": [ false, false, false, false, false, false, false, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, false, false, false, false, false, false, false, false, false ], "enum": [ "SQL_OPERATION_TYPE_UNSPECIFIED", "IMPORT", "EXPORT", "CREATE", "UPDATE", "DELETE", "RESTART", "BACKUP", "SNAPSHOT", "BACKUP_VOLUME", "DELETE_VOLUME", "RESTORE_VOLUME", "INJECT_USER", "CLONE", "STOP_REPLICA", "START_REPLICA", "PROMOTE_REPLICA", "CREATE_REPLICA", "CREATE_USER", "DELETE_USER", "UPDATE_USER", "CREATE_DATABASE", "DELETE_DATABASE", "UPDATE_DATABASE", "FAILOVER", "DELETE_BACKUP", "RECREATE_REPLICA", "TRUNCATE_LOG", "DEMOTE_MASTER", "MAINTENANCE", "ENABLE_PRIVATE_IP", "DEFER_MAINTENANCE", "CREATE_CLONE", "RESCHEDULE_MAINTENANCE", "START_EXTERNAL_SYNC", "LOG_CLEANUP", "AUTO_RESTART", "REENCRYPT", "SWITCHOVER", "ACQUIRE_SSRS_LEASE", "RELEASE_SSRS_LEASE", "RECONFIGURE_OLD_PRIMARY" ] }, "importContext": { "description": "The context for import operation, if applicable.", "$ref": "ImportContext" }, "exportContext": { "description": "The context for export operation, if applicable.", "$ref": "ExportContext" }, "backupContext": { "description": "The context for backup operation, if applicable.", "$ref": "BackupContext" }, "name": { "description": "An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.", "type": "string" }, "targetId": { "description": "Name of the database instance related to this operation.", "type": "string" }, "selfLink": { "description": "The URI of this resource.", "type": "string" }, "targetProject": { "description": "The project ID of the target instance related to this operation.", "type": "string" }, "acquireSsrsLeaseContext": { "description": "The context for acquire SSRS lease operation, if applicable.", "$ref": "AcquireSsrsLeaseContext" } } }, "OperationErrors": { "id": "OperationErrors", "description": "Database instance operation errors list wrapper.", "type": "object", "properties": { "kind": { "description": "This is always `sql#operationErrors`.", "type": "string" }, "errors": { "description": "The list of errors encountered while processing this operation.", "type": "array", "items": { "$ref": "OperationError" } } } }, "OperationError": { "id": "OperationError", "description": "Database instance operation error.", "type": "object", "properties": { "kind": { "description": "This is always `sql#operationError`.", "type": "string" }, "code": { "description": "Identifies the specific error that occurred.", "type": "string" }, "message": { "description": "Additional information about the error encountered.", "type": "string" } } }, "ApiWarning": { "id": "ApiWarning", "description": "An Admin API warning message.", "type": "object", "properties": { "code": { "description": "Code to uniquely identify the warning type.", "type": "string", "enumDescriptions": [ "An unknown or unset warning type from Cloud SQL API.", "Warning when one or more regions are not reachable. The returned result set may be incomplete.", "Warning when user provided maxResults parameter exceeds the limit. The returned result set may be incomplete.", "Warning when user tries to create/update a user with credentials that have previously been compromised by a public data breach.", "Warning when the operation succeeds but some non-critical workflow state failed." ], "enum": [ "SQL_API_WARNING_CODE_UNSPECIFIED", "REGION_UNREACHABLE", "MAX_RESULTS_EXCEEDS_LIMIT", "COMPROMISED_CREDENTIALS", "INTERNAL_STATE_FAILURE" ] }, "message": { "description": "The warning message.", "type": "string" }, "region": { "description": "The region name for REGION_UNREACHABLE warning.", "type": "string" } } }, "ImportContext": { "id": "ImportContext", "description": "Database instance import context.", "type": "object", "properties": { "uri": { "description": "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 permissions to the bucket and read access to the file.", "type": "string" }, "database": { "description": "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 specification in the import file. If `fileType` is `CSV`, one database must be specified.", "type": "string" }, "kind": { "description": "This is always `sql#importContext`.", "type": "string" }, "fileType": { "description": "The file type for the specified uri.\\`SQL`: The file contains SQL statements. \\`CSV`: The file contains CSV data.", "type": "string", "enumDescriptions": [ "Unknown file type.", "File containing SQL statements.", "File in CSV format.", "" ], "enum": [ "SQL_FILE_TYPE_UNSPECIFIED", "SQL", "CSV", "BAK" ] }, "csvImportOptions": { "description": "Options for importing data as CSV.", "type": "object", "properties": { "table": { "description": "The table to which CSV data is imported.", "type": "string" }, "columns": { "description": "The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.", "type": "array", "items": { "type": "string" } }, "escapeCharacter": { "description": "Specifies the character that should appear before a data character that needs to be escaped.", "type": "string" }, "quoteCharacter": { "description": "Specifies the quoting character to be used when a data value is quoted.", "type": "string" }, "fieldsTerminatedBy": { "description": "Specifies the character that separates columns within each row (line) of the file.", "type": "string" }, "linesTerminatedBy": { "description": "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.", "type": "string" } } }, "importUser": { "description": "The PostgreSQL user for this import operation. PostgreSQL instances only.", "type": "string" }, "bakImportOptions": { "description": "Import parameters specific to SQL Server .BAK files", "type": "object", "properties": { "encryptionOptions": { "type": "object", "properties": { "certPath": { "description": "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.", "type": "string" }, "pvkPath": { "description": "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 to the file.", "type": "string" }, "pvkPassword": { "description": "Password that encrypts the private key", "type": "string" } } }, "striped": { "description": "Whether or not the backup set being restored is striped. Applies only to Cloud SQL for SQL Server.", "type": "boolean" }, "noRecovery": { "description": "Whether or not the backup importing will restore database with NORECOVERY option Applies only to Cloud SQL for SQL Server.", "type": "boolean" }, "recoveryOnly": { "description": "Whether or not the backup importing request will just bring database online without downloading Bak content only one of \"no_recovery\" and \"recovery_only\" can be true otherwise error will return. Applies only to Cloud SQL for SQL Server.", "type": "boolean" }, "bakType": { "description": "Type of the bak content, FULL or DIFF", "type": "string", "enumDescriptions": [ "Default type.", "Full backup.", "Differential backup.", "Transaction Log backup" ], "enum": [ "BAK_TYPE_UNSPECIFIED", "FULL", "DIFF", "TLOG" ] }, "stopAt": { "description": "Optional. The timestamp when the import should stop. This timestamp is in the [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example, `2023-10-01T16:19:00.094`). This field is equivalent to the STOPAT keyword and applies to Cloud SQL for SQL Server only.", "type": "string", "format": "google-datetime" }, "stopAtMark": { "description": "Optional. The marked transaction where the import should stop. This field is equivalent to the STOPATMARK keyword and applies to Cloud SQL for SQL Server only.", "type": "string" } } }, "sqlImportOptions": { "description": "Optional. Options for importing data from SQL statements.", "type": "object", "properties": { "threads": { "description": "Optional. The number of threads to use for parallel import.", "type": "integer", "format": "int32" }, "parallel": { "description": "Optional. Whether or not the import should be parallel.", "type": "boolean" } } } } }, "ExportContext": { "id": "ExportContext", "description": "Database instance export context.", "type": "object", "properties": { "uri": { "description": "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, but the operation fails. If `fileType` is `SQL` and the filename ends with .gz, the contents are compressed.", "type": "string" }, "databases": { "description": "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` 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 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 Server instances:` You must specify one database to be exported, and the `fileType` must be `BAK`.", "type": "array", "items": { "type": "string" } }, "kind": { "description": "This is always `sql#exportContext`.", "type": "string" }, "sqlExportOptions": { "description": "Options for exporting data as SQL statements.", "type": "object", "properties": { "tables": { "description": "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 one table.", "type": "array", "items": { "type": "string" } }, "schemaOnly": { "description": "Export only schemas.", "type": "boolean" }, "mysqlExportOptions": { "description": "Options for exporting from MySQL.", "type": "object", "properties": { "masterData": { "description": "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 --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`, --set-gtid-purged is set to OFF.", "type": "integer", "format": "int32" } } }, "threads": { "description": "Optional. The number of threads to use for parallel export.", "type": "integer", "format": "int32" }, "parallel": { "description": "Optional. Whether or not the export should be parallel.", "type": "boolean" } } }, "csvExportOptions": { "description": "Options for exporting data as CSV. `MySQL` and `PostgreSQL` instances only.", "type": "object", "properties": { "selectQuery": { "description": "The select query used to extract the data.", "type": "string" }, "escapeCharacter": { "description": "Specifies the character that should appear before a data character that needs to be escaped.", "type": "string" }, "quoteCharacter": { "description": "Specifies the quoting character to be used when a data value is quoted.", "type": "string" }, "fieldsTerminatedBy": { "description": "Specifies the character that separates columns within each row (line) of the file.", "type": "string" }, "linesTerminatedBy": { "description": "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.", "type": "string" } } }, "fileType": { "description": "The file type for the specified uri.", "type": "string", "enumDescriptions": [ "Unknown file type.", "File containing SQL statements.", "File in CSV format.", "" ], "enum": [ "SQL_FILE_TYPE_UNSPECIFIED", "SQL", "CSV", "BAK" ] }, "offload": { "description": "Option for export offload.", "type": "boolean" }, "bakExportOptions": { "description": "Options for exporting BAK files (SQL Server-only)", "type": "object", "properties": { "striped": { "description": "Whether or not the export should be striped.", "type": "boolean" }, "stripeCount": { "description": "Option for specifying how many stripes to use for the export. If blank, and the value of the striped field is true, the number of stripes is automatically chosen.", "type": "integer", "format": "int32" }, "bakType": { "description": "Type of this bak file will be export, FULL or DIFF, SQL Server only", "type": "string", "enumDescriptions": [ "Default type.", "Full backup.", "Differential backup.", "Transaction Log backup" ], "enum": [ "BAK_TYPE_UNSPECIFIED", "FULL", "DIFF", "TLOG" ] }, "copyOnly": { "description": "Deprecated: copy_only is deprecated. Use differential_base instead", "deprecated": true, "type": "boolean" }, "differentialBase": { "description": "Whether or not the backup can be used as a differential base copy_only backup can not be served as differential base", "type": "boolean" } } } } }, "BackupContext": { "id": "BackupContext", "description": "Backup context.", "type": "object", "properties": { "backupId": { "description": "The identifier of the backup.", "type": "string", "format": "int64" }, "kind": { "description": "This is always `sql#backupContext`.", "type": "string" } } }, "AcquireSsrsLeaseContext": { "id": "AcquireSsrsLeaseContext", "description": "Acquire SSRS lease context.", "type": "object", "properties": { "setupLogin": { "description": "The username to be used as the setup login to connect to the database server for SSRS setup.", "type": "string" }, "serviceLogin": { "description": "The username to be used as the service login to connect to the report database for SSRS setup.", "type": "string" }, "reportDatabase": { "description": "The report database to be used for SSRS setup.", "type": "string" }, "duration": { "description": "Lease duration needed for SSRS setup.", "type": "string", "format": "google-duration" } } }, "InstancesCloneRequest": { "id": "InstancesCloneRequest", "description": "Database instance clone request.", "type": "object", "properties": { "cloneContext": { "description": "Contains details about the clone operation.", "$ref": "CloneContext" } } }, "CloneContext": { "id": "CloneContext", "description": "Database instance clone context.", "type": "object", "properties": { "kind": { "description": "This is always `sql#cloneContext`.", "type": "string" }, "pitrTimestampMs": { "description": "Reserved for future use.", "type": "string", "format": "int64" }, "destinationInstanceName": { "description": "Name of the Cloud SQL instance to be created as a clone.", "type": "string" }, "binLogCoordinates": { "description": "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 log coordinates.", "$ref": "BinLogCoordinates" }, "pointInTime": { "description": "Timestamp, if specified, identifies the time to which the source instance is cloned.", "type": "string", "format": "google-datetime" }, "allocatedIpRange": { "description": "The name of the allocated ip range for the private ip Cloud SQL instance. For example: \"google-managed-services-default\". If set, the cloned instance ip will be created in the 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 expression [a-z]([-a-z0-9]*[a-z0-9])?. Reserved for future use.", "type": "string" }, "databaseNames": { "description": "(SQL Server only) Clone only the specified databases from the source instance. Clone all databases if empty.", "type": "array", "items": { "type": "string" } }, "preferredZone": { "description": "Optional. (Point-in-time recovery for PostgreSQL only) Clone to an instance in the specified zone. If no zone is specified, clone to the same zone as the source instance.", "type": "string" } } }, "BinLogCoordinates": { "id": "BinLogCoordinates", "description": "Binary log coordinates.", "type": "object", "properties": { "binLogFileName": { "description": "Name of the binary log file for a Cloud SQL instance.", "type": "string" }, "binLogPosition": { "description": "Position (offset) within the binary log file.", "type": "string", "format": "int64" }, "kind": { "description": "This is always `sql#binLogCoordinates`.", "type": "string" } } }, "InstancesDemoteMasterRequest": { "id": "InstancesDemoteMasterRequest", "description": "Database demote primary instance request.", "type": "object", "properties": { "demoteMasterContext": { "description": "Contains details about the demoteMaster operation.", "$ref": "DemoteMasterContext" } } }, "DemoteMasterContext": { "id": "DemoteMasterContext", "description": "Database instance demote primary instance context.", "type": "object", "properties": { "kind": { "description": "This is always `sql#demoteMasterContext`.", "type": "string" }, "verifyGtidConsistency": { "description": "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 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 GTID divergence and are confident that doing so will not cause any replication issues.", "type": "boolean" }, "masterInstanceName": { "description": "The name of the instance which will act as on-premises primary instance in the replication setup.", "type": "string" }, "replicaConfiguration": { "description": "Configuration specific to read-replicas replicating from the on-premises primary instance.", "$ref": "DemoteMasterConfiguration" }, "skipReplicationSetup": { "description": "Flag to skip replication setup on the instance.", "type": "boolean" } } }, "DemoteMasterConfiguration": { "id": "DemoteMasterConfiguration", "description": "Read-replica configuration for connecting to the on-premises primary instance.", "type": "object", "properties": { "kind": { "description": "This is always `sql#demoteMasterConfiguration`.", "type": "string" }, "mysqlReplicaConfiguration": { "description": "MySQL specific configuration when replicating from a MySQL on-premises primary instance. Replication configuration information such as the username, password, certificates, and keys 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 data directory.", "$ref": "DemoteMasterMySqlReplicaConfiguration" } } }, "DemoteMasterMySqlReplicaConfiguration": { "id": "DemoteMasterMySqlReplicaConfiguration", "description": "Read-replica configuration specific to MySQL databases.", "type": "object", "properties": { "kind": { "description": "This is always `sql#demoteMasterMysqlReplicaConfiguration`.", "type": "string" }, "username": { "description": "The username for the replication connection.", "type": "string" }, "password": { "description": "The password for the replication connection.", "type": "string" }, "clientKey": { "description": "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 or PKCS #8.", "type": "string" }, "clientCertificate": { "description": "PEM representation of the replica's x509 certificate.", "type": "string" }, "caCertificate": { "description": "PEM representation of the trusted CA's x509 certificate.", "type": "string" } } }, "InstancesDemoteRequest": { "id": "InstancesDemoteRequest", "description": "This request is used to demote an existing standalone instance to be a Cloud SQL read replica for an external database server.", "type": "object", "properties": { "demoteContext": { "description": "Required. Contains details about the demote operation.", "$ref": "DemoteContext" } } }, "DemoteContext": { "id": "DemoteContext", "description": "This context is used to demote an existing standalone instance to be a Cloud SQL read replica for an external database server.", "type": "object", "properties": { "kind": { "description": "This is always `sql#demoteContext`.", "type": "string" }, "sourceRepresentativeInstanceName": { "description": "Required. The name of the instance which acts as the on-premises primary instance in the replication setup.", "type": "string" } } }, "InstancesExportRequest": { "id": "InstancesExportRequest", "description": "Database instance export request.", "type": "object", "properties": { "exportContext": { "description": "Contains details about the export operation.", "$ref": "ExportContext" } } }, "InstancesFailoverRequest": { "id": "InstancesFailoverRequest", "description": "Instance failover request.", "type": "object", "properties": { "failoverContext": { "description": "Failover Context.", "$ref": "FailoverContext" } } }, "FailoverContext": { "id": "FailoverContext", "description": "Database instance failover context.", "type": "object", "properties": { "settingsVersion": { "description": "The current settings version of this instance. Request will be rejected if this version doesn't match the current settings version.", "type": "string", "format": "int64" }, "kind": { "description": "This is always `sql#failoverContext`.", "type": "string" } } }, "InstancesReencryptRequest": { "id": "InstancesReencryptRequest", "description": "Database Instance reencrypt request.", "type": "object", "properties": { "backupReencryptionConfig": { "description": "Configuration specific to backup re-encryption", "$ref": "BackupReencryptionConfig" } } }, "BackupReencryptionConfig": { "id": "BackupReencryptionConfig", "description": "Backup Reencryption Config", "type": "object", "properties": { "backupLimit": { "description": "Backup re-encryption limit", "type": "integer", "format": "int32" }, "backupType": { "description": "Type of backups users want to re-encrypt.", "type": "string", "enumDescriptions": [ "Unknown backup type, will be defaulted to AUTOMATIC backup type", "Reencrypt automatic backups", "Reencrypt on-demand backups" ], "enum": [ "BACKUP_TYPE_UNSPECIFIED", "AUTOMATED", "ON_DEMAND" ] } } }, "DatabaseInstance": { "id": "DatabaseInstance", "description": "A Cloud SQL instance resource.", "type": "object", "properties": { "kind": { "description": "This is always `sql#instance`.", "type": "string" }, "state": { "description": "The current serving state of the Cloud SQL instance.", "type": "string", "enumDescriptions": [ "The state of the instance is unknown.", "The instance is running, or has been stopped by owner.", "The instance is not available, for example due to problems with billing.", "The instance is being deleted.", "The instance is being created.", "The instance is down for maintenance.", "The creation of the instance failed or a fatal error occurred during maintenance.", "Deprecated" ], "enumDeprecated": [ false, false, false, false, false, false, false, true ], "enum": [ "SQL_INSTANCE_STATE_UNSPECIFIED", "RUNNABLE", "SUSPENDED", "PENDING_DELETE", "PENDING_CREATE", "MAINTENANCE", "FAILED", "ONLINE_MAINTENANCE" ] }, "databaseVersion": { "description": "The database engine type and version. The `databaseVersion` field cannot be changed after instance creation.", "type": "string", "enumDescriptions": [ "This is an unknown database version.", "The database version is MySQL 5.1.", "The database version is MySQL 5.5.", "The database version is MySQL 5.6.", "The database version is MySQL 5.7.", "The database version is SQL Server 2017 Standard.", "The database version is SQL Server 2017 Enterprise.", "The database version is SQL Server 2017 Express.", "The database version is SQL Server 2017 Web.", "The database version is PostgreSQL 9.6.", "The database version is PostgreSQL 10.", "The database version is PostgreSQL 11.", "The database version is PostgreSQL 12.", "The database version is PostgreSQL 13.", "The database version is PostgreSQL 14.", "The database version is PostgreSQL 15.", "The database version is MySQL 8.", "The database major version is MySQL 8.0 and the minor version is 18.", "The database major version is MySQL 8.0 and the minor version is 26.", "The database major version is MySQL 8.0 and the minor version is 27.", "The database major version is MySQL 8.0 and the minor version is 28.", "The database major version is MySQL 8.0 and the minor version is 29.", "The database major version is MySQL 8.0 and the minor version is 30.", "The database major version is MySQL 8.0 and the minor version is 31.", "The database major version is MySQL 8.0 and the minor version is 32.", "The database major version is MySQL 8.0 and the minor version is 33.", "The database major version is MySQL 8.0 and the minor version is 34.", "The database major version is MySQL 8.0 and the minor version is 35.", "The database major version is MySQL 8.0 and the minor version is 36.", "The database major version is MySQL 8.0 and the minor version is 37.", "The database major version is MySQL 8.0 and the minor version is 38.", "The database major version is MySQL 8.0 and the minor version is 39.", "The database major version is MySQL 8.0 and the minor version is 40.", "The database version is SQL Server 2019 Standard.", "The database version is SQL Server 2019 Enterprise.", "The database version is SQL Server 2019 Express.", "The database version is SQL Server 2019 Web.", "The database version is SQL Server 2022 Standard.", "The database version is SQL Server 2022 Enterprise.", "The database version is SQL Server 2022 Express.", "The database version is SQL Server 2022 Web." ], "enumDeprecated": [ false, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false ], "enum": [ "SQL_DATABASE_VERSION_UNSPECIFIED", "MYSQL_5_1", "MYSQL_5_5", "MYSQL_5_6", "MYSQL_5_7", "SQLSERVER_2017_STANDARD", "SQLSERVER_2017_ENTERPRISE", "SQLSERVER_2017_EXPRESS", "SQLSERVER_2017_WEB", "POSTGRES_9_6", "POSTGRES_10", "POSTGRES_11", "POSTGRES_12", "POSTGRES_13", "POSTGRES_14", "POSTGRES_15", "MYSQL_8_0", "MYSQL_8_0_18", "MYSQL_8_0_26", "MYSQL_8_0_27", "MYSQL_8_0_28", "MYSQL_8_0_29", "MYSQL_8_0_30", "MYSQL_8_0_31", "MYSQL_8_0_32", "MYSQL_8_0_33", "MYSQL_8_0_34", "MYSQL_8_0_35", "MYSQL_8_0_36", "MYSQL_8_0_37", "MYSQL_8_0_38", "MYSQL_8_0_39", "MYSQL_8_0_40", "SQLSERVER_2019_STANDARD", "SQLSERVER_2019_ENTERPRISE", "SQLSERVER_2019_EXPRESS", "SQLSERVER_2019_WEB", "SQLSERVER_2022_STANDARD", "SQLSERVER_2022_ENTERPRISE", "SQLSERVER_2022_EXPRESS", "SQLSERVER_2022_WEB" ] }, "settings": { "description": "The user settings.", "$ref": "Settings" }, "etag": { "description": "This field is deprecated and will be removed from a future version of the API. Use the `settings.settingsVersion` field instead.", "type": "string" }, "failoverReplica": { "description": "The name and status of the failover replica.", "type": "object", "properties": { "name": { "description": "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.", "type": "string" }, "available": { "description": "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 replica when the status is true.", "type": "boolean" } } }, "masterInstanceName": { "description": "The name of the instance which will act as primary in the replication setup.", "type": "string" }, "replicaNames": { "description": "The replicas of the instance.", "type": "array", "items": { "type": "string" } }, "maxDiskSize": { "description": "The maximum disk size of the instance in bytes.", "deprecated": true, "type": "string", "format": "int64" }, "currentDiskSize": { "description": "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 instead. Please see [this announcement](https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ) for details.", "deprecated": true, "type": "string", "format": "int64" }, "ipAddresses": { "description": "The assigned IP addresses for the instance.", "type": "array", "items": { "$ref": "IpMapping" } }, "serverCaCert": { "description": "SSL configuration.", "$ref": "SslCert" }, "instanceType": { "description": "The instance type.", "type": "string", "enumDescriptions": [ "This is an unknown Cloud SQL instance type.", "A regular Cloud SQL instance that is not replicating from a primary instance.", "An instance running on the customer's premises that is not managed by Cloud SQL.", "A Cloud SQL instance acting as a read-replica." ], "enum": [ "SQL_INSTANCE_TYPE_UNSPECIFIED", "CLOUD_SQL_INSTANCE", "ON_PREMISES_INSTANCE", "READ_REPLICA_INSTANCE" ] }, "project": { "description": "The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.", "type": "string" }, "ipv6Address": { "description": "The IPv6 address assigned to the instance. (Deprecated) This property was applicable only to First Generation instances.", "deprecated": true, "type": "string" }, "serviceAccountEmailAddress": { "description": "The service account email address assigned to the instance.\\This property is read-only.", "type": "string" }, "onPremisesConfiguration": { "description": "Configuration specific to on-premises instances.", "$ref": "OnPremisesConfiguration" }, "replicaConfiguration": { "description": "Configuration specific to failover replicas and read replicas.", "$ref": "ReplicaConfiguration" }, "backendType": { "description": "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 `settings` object to determine the database type.", "type": "string", "enumDescriptions": [ "This is an unknown backend type for instance.", "V1 speckle instance.", "V2 speckle instance.", "On premises instance." ], "enumDeprecated": [ false, true, false, false ], "enum": [ "SQL_BACKEND_TYPE_UNSPECIFIED", "FIRST_GEN", "SECOND_GEN", "EXTERNAL" ] }, "selfLink": { "description": "The URI of this resource.", "type": "string" }, "suspensionReason": { "description": "If the instance state is SUSPENDED, the reason for the suspension.", "type": "array", "items": { "type": "string", "enumDescriptions": [ "This is an unknown suspension reason.", "The instance is suspended due to billing issues (for example:, GCP account issue)", "The instance is suspended due to illegal content (for example:, child pornography, copyrighted material, etc.).", "The instance is causing operational issues (for example:, causing the database to crash).", "The KMS key used by the instance is either revoked or denied access to" ], "enum": [ "SQL_SUSPENSION_REASON_UNSPECIFIED", "BILLING_ISSUE", "LEGAL_ISSUE", "OPERATIONAL_ISSUE", "KMS_KEY_ISSUE" ] } }, "connectionName": { "description": "Connection name of the Cloud SQL instance used in connection strings.", "type": "string" }, "name": { "description": "Name of the Cloud SQL instance. This does not include the project ID.", "type": "string" }, "region": { "description": "The geographical region of the Cloud SQL instance. It can be one of the [regions](https://cloud.google.com/sql/docs/mysql/locations#location-r) where Cloud SQL operates: For example, `asia-east1`, `europe-west1`, and `us-central1`. The default value is `us-central1`.", "type": "string" }, "gceZone": { "description": "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 failed over to its secondary zone. WARNING: Changing this might restart the instance.", "type": "string" }, "secondaryGceZone": { "description": "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 instance was created if the instance has failed over to its secondary/failover zone.", "type": "string" }, "diskEncryptionConfiguration": { "description": "Disk encryption configuration specific to an instance.", "$ref": "DiskEncryptionConfiguration" }, "diskEncryptionStatus": { "description": "Disk encryption status specific to an instance.", "$ref": "DiskEncryptionStatus" }, "rootPassword": { "description": "Initial root password. Use only on creation. You must set root passwords before you can connect to PostgreSQL instances.", "type": "string" }, "scheduledMaintenance": { "description": "The start time of any upcoming scheduled maintenance for this instance.", "$ref": "SqlScheduledMaintenance" }, "satisfiesPzs": { "description": "The status indicating if instance satisfiesPzs. Reserved for future use.", "type": "boolean" }, "databaseInstalledVersion": { "description": "Output only. Stores the current database version running on the instance including minor version such as `MYSQL_8_0_18`.", "readOnly": true, "type": "string" }, "outOfDiskReport": { "description": "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 proactive database wellness job", "$ref": "SqlOutOfDiskReport" }, "createTime": { "description": "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`.", "readOnly": true, "type": "string", "format": "google-datetime" }, "availableMaintenanceVersions": { "description": "Output only. List all maintenance versions applicable on the instance", "readOnly": true, "type": "array", "items": { "type": "string" } }, "maintenanceVersion": { "description": "The current software version on the instance.", "type": "string" }, "sqlNetworkArchitecture": { "type": "string", "enumDescriptions": [ "", "The instance uses the new network architecture.", "The instance uses the old network architecture." ], "enum": [ "SQL_NETWORK_ARCHITECTURE_UNSPECIFIED", "NEW_NETWORK_ARCHITECTURE", "OLD_NETWORK_ARCHITECTURE" ] }, "pscServiceAttachmentLink": { "description": "Output only. The link to service attachment of PSC instance.", "readOnly": true, "type": "string" }, "dnsName": { "description": "Output only. The dns name of the instance.", "readOnly": true, "type": "string" }, "primaryDnsName": { "description": "Output only. DEPRECATED: please use write_endpoint instead.", "readOnly": true, "deprecated": true, "type": "string" }, "writeEndpoint": { "description": "Output only. The dns name of the primary instance in a replication group.", "readOnly": true, "type": "string" }, "replicationCluster": { "description": "Optional. The pair of a primary instance and disaster recovery (DR) replica. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance has regional failure.", "$ref": "ReplicationCluster" }, "geminiConfig": { "description": "Gemini configuration.", "$ref": "GeminiInstanceConfig" } } }, "Settings": { "id": "Settings", "description": "Database instance settings.", "type": "object", "properties": { "settingsVersion": { "description": "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 value for this instance and do not try to update this value.", "type": "string", "format": "int64" }, "authorizedGaeApplications": { "description": "The App Engine app IDs that can access this instance. (Deprecated) Applied to First Generation instances only.", "deprecated": true, "type": "array", "items": { "type": "string" } }, "tier": { "description": "The tier (or machine type) for this instance, for example `db-custom-1-3840`. WARNING: Changing this restarts the instance.", "type": "string" }, "kind": { "description": "This is always `sql#settings`.", "type": "string" }, "userLabels": { "description": "User-provided labels, represented as a dictionary where each label is a single key value pair.", "type": "object", "additionalProperties": { "type": "string" } }, "availabilityType": { "description": "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 data from more than one zone in a region (it is highly available)./ For more information, see [Overview of the High Availability Configuration](https://cloud.google.com/sql/docs/mysql/high-availability).", "type": "string", "enumDescriptions": [ "This is an unknown Availability type.", "Zonal available instance.", "Regional available instance." ], "enum": [ "SQL_AVAILABILITY_TYPE_UNSPECIFIED", "ZONAL", "REGIONAL" ] }, "pricingPlan": { "description": "The pricing plan for this instance. This can be either `PER_USE` or `PACKAGE`. Only `PER_USE` is supported for Second Generation instances.", "type": "string", "enumDescriptions": [ "This is an unknown pricing plan for this instance.", "The instance is billed at a monthly flat rate.", "The instance is billed per usage." ], "enum": [ "SQL_PRICING_PLAN_UNSPECIFIED", "PACKAGE", "PER_USE" ] }, "replicationType": { "description": "The type of replication this instance uses. This can be either `ASYNCHRONOUS` or `SYNCHRONOUS`. (Deprecated) This property was only applicable to First Generation instances.", "deprecated": true, "type": "string", "enumDescriptions": [ "This is an unknown replication type for a Cloud SQL instance.", "The synchronous replication mode for First Generation instances. It is the default value.", "The asynchronous replication mode for First Generation instances. It provides a slight performance gain, but if an outage occurs while this option is set to asynchronous, you can lose up to a few seconds of updates to your data." ], "enum": [ "SQL_REPLICATION_TYPE_UNSPECIFIED", "SYNCHRONOUS", "ASYNCHRONOUS" ] }, "storageAutoResizeLimit": { "description": "The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.", "type": "string", "format": "int64" }, "activationPolicy": { "description": "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 so even in the absence of connection requests. * `NEVER`: The instance is off; it is not activated, even if a connection request arrives.", "type": "string", "enumDescriptions": [ "Unknown activation plan.", "The instance is always up and running.", "The instance never starts.", "The instance starts upon receiving requests." ], "enumDeprecated": [ false, false, false, true ], "enum": [ "SQL_ACTIVATION_POLICY_UNSPECIFIED", "ALWAYS", "NEVER", "ON_DEMAND" ] }, "ipConfiguration": { "description": "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 for Second Generation instances.", "$ref": "IpConfiguration" }, "storageAutoResize": { "description": "Configuration to increase storage size automatically. The default value is true.", "type": "boolean" }, "locationPreference": { "description": "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 co-location was only applicable to First Generation instances.", "$ref": "LocationPreference" }, "databaseFlags": { "description": "The database flags passed to the instance at startup.", "type": "array", "items": { "$ref": "DatabaseFlags" } }, "dataDiskType": { "description": "The type of data disk: `PD_SSD` (default) or `PD_HDD`. Not used for First Generation instances.", "type": "string", "enumDescriptions": [ "This is an unknown data disk type.", "An SSD data disk.", "An HDD data disk.", "This field is deprecated and will be removed from a future version of the API." ], "enumDeprecated": [ false, false, false, true ], "enum": [ "SQL_DATA_DISK_TYPE_UNSPECIFIED", "PD_SSD", "PD_HDD", "OBSOLETE_LOCAL_SSD" ] }, "maintenanceWindow": { "description": "The maintenance window for this instance. This specifies when the instance can be restarted for maintenance purposes.", "$ref": "MaintenanceWindow" }, "backupConfiguration": { "description": "The daily backup configuration for the instance.", "$ref": "BackupConfiguration" }, "databaseReplicationEnabled": { "description": "Configuration specific to read replica instances. Indicates whether replication is enabled or not. WARNING: Changing this restarts the instance.", "type": "boolean" }, "crashSafeReplicationEnabled": { "description": "Configuration specific to read replica instances. Indicates whether database flags for crash-safe replication are enabled. This property was only applicable to First Generation instances.", "deprecated": true, "type": "boolean" }, "dataDiskSizeGb": { "description": "The size of data disk, in GB. The data disk size minimum is 10GB.", "type": "string", "format": "int64" }, "activeDirectoryConfig": { "description": "Active Directory configuration, relevant only for Cloud SQL for SQL Server.", "$ref": "SqlActiveDirectoryConfig" }, "collation": { "description": "The name of server Instance collation.", "type": "string" }, "denyMaintenancePeriods": { "description": "Deny maintenance periods", "type": "array", "items": { "$ref": "DenyMaintenancePeriod" } }, "insightsConfig": { "description": "Insights configuration, for now relevant only for Postgres.", "$ref": "InsightsConfig" }, "passwordValidationPolicy": { "description": "The local user password validation policy of the instance.", "$ref": "PasswordValidationPolicy" }, "sqlServerAuditConfig": { "description": "SQL Server specific audit configuration.", "$ref": "SqlServerAuditConfig" }, "edition": { "description": "Optional. The edition of the instance.", "type": "string", "enumDescriptions": [ "The instance did not specify the edition.", "The instance is an enterprise edition.", "The instance is an Enterprise Plus edition." ], "enum": [ "EDITION_UNSPECIFIED", "ENTERPRISE", "ENTERPRISE_PLUS" ] }, "connectorEnforcement": { "description": "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) and `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 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.", "type": "string", "enumDescriptions": [ "The requirement for Cloud SQL connectors is unknown.", "Do not require Cloud SQL connectors.", "Require all connections to use Cloud SQL connectors, including the Cloud SQL Auth Proxy and Cloud SQL Java, Python, and Go connectors. Note: This disables all existing authorized networks." ], "enum": [ "CONNECTOR_ENFORCEMENT_UNSPECIFIED", "NOT_REQUIRED", "REQUIRED" ] }, "deletionProtectionEnabled": { "description": "Configuration to protect against accidental instance deletion.", "type": "boolean" }, "timeZone": { "description": "Server timezone, relevant only for Cloud SQL for SQL Server.", "type": "string" }, "advancedMachineFeatures": { "description": "Specifies advance machine configuration for the instance relevant only for SQL Server.", "$ref": "AdvancedMachineFeatures" }, "dataCacheConfig": { "description": "Configuration for data cache.", "$ref": "DataCacheConfig" }, "enableGoogleMlIntegration": { "description": "Optional. When this parameter is set to true, Cloud SQL instances can connect to Vertex AI to pass requests for real-time predictions and insights to the AI. The default value is false. This applies only to Cloud SQL for PostgreSQL instances.", "type": "boolean" } } }, "IpConfiguration": { "id": "IpConfiguration", "description": "IP Management configuration.", "type": "object", "properties": { "ipv4Enabled": { "description": "Whether the instance is assigned a public IP address or not.", "type": "boolean" }, "privateNetwork": { "description": "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 updated, but it cannot be removed after it is set.", "type": "string" }, "requireSsl": { "description": "Use `ssl_mode` instead. Whether SSL/TLS connections over IP are enforced. If set to false, then allow both non-SSL/non-TLS and SSL/TLS connections. For SSL/TLS connections, the client certificate won't be verified. If set to true, then only allow connections encrypted with SSL/TLS and with valid client certificates. If you want to enforce SSL/TLS without enforcing the requirement for valid client certificates, then use the `ssl_mode` flag instead of the `require_ssl` flag.", "type": "boolean" }, "authorizedNetworks": { "description": "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`).", "type": "array", "items": { "$ref": "AclEntry" } }, "allocatedIpRange": { "description": "The name of the allocated ip range for the private ip Cloud SQL instance. For example: \"google-managed-services-default\". If set, the instance ip will be created in the 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 expression `[a-z]([-a-z0-9]*[a-z0-9])?.`", "type": "string" }, "enablePrivatePathForGoogleCloudServices": { "description": "Controls connectivity to private IP instances from Google services, such as BigQuery.", "type": "boolean" }, "sslMode": { "description": "Specify how SSL/TLS is enforced in database connections. If you must use the `require_ssl` flag for backward compatibility, then only the following value pairs are valid: For PostgreSQL and MySQL: * `ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=false` * `ssl_mode=TRUSTED_CLIENT_CERTIFICATE_REQUIRED` and `require_ssl=true` For SQL Server: * `ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=true` The value of `ssl_mode` gets priority over the value of `require_ssl`. For example, for the pair `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=false`, the `ssl_mode=ENCRYPTED_ONLY` means only accept SSL connections, while the `require_ssl=false` means accept both non-SSL and SSL connections. MySQL and PostgreSQL databases respect `ssl_mode` in this case and accept only SSL connections.", "type": "string", "enumDescriptions": [ "The SSL mode is unknown.", "Allow non-SSL/non-TLS and SSL/TLS connections. For SSL/TLS connections, the client certificate won't be verified. When this value is used, the legacy `require_ssl` flag must be false or cleared to avoid the conflict between values of two flags.", "Only allow connections encrypted with SSL/TLS. When this value is used, the legacy `require_ssl` flag must be false or cleared to avoid the conflict between values of two flags.", "Only allow connections encrypted with SSL/TLS and with valid client certificates. When this value is used, the legacy `require_ssl` flag must be true or cleared to avoid the conflict between values of two flags. PostgreSQL clients or users that connect using IAM database authentication must use either the [Cloud SQL Auth Proxy](https://cloud.google.com/sql/docs/postgres/connect-auth-proxy) or [Cloud SQL Connectors](https://cloud.google.com/sql/docs/postgres/connect-connectors) to enforce client identity verification." ], "enum": [ "SSL_MODE_UNSPECIFIED", "ALLOW_UNENCRYPTED_AND_ENCRYPTED", "ENCRYPTED_ONLY", "TRUSTED_CLIENT_CERTIFICATE_REQUIRED" ] }, "pscConfig": { "description": "PSC settings for this instance.", "$ref": "PscConfig" } } }, "AclEntry": { "id": "AclEntry", "description": "An entry for an Access Control list.", "type": "object", "properties": { "value": { "description": "The allowlisted value for the access control list.", "type": "string" }, "expirationTime": { "description": "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`.", "type": "string", "format": "google-datetime" }, "name": { "description": "Optional. A label to identify this entry.", "type": "string" }, "kind": { "description": "This is always `sql#aclEntry`.", "type": "string" } } }, "PscConfig": { "id": "PscConfig", "description": "PSC settings for a Cloud SQL instance.", "type": "object", "properties": { "pscEnabled": { "description": "Whether PSC connectivity is enabled for this instance.", "type": "boolean" }, "allowedConsumerProjects": { "description": "Optional. The list of consumer projects that are allow-listed for PSC connections to this instance. This instance can be connected to with PSC from any network in these projects. Each consumer project in this list may be represented by a project number (numeric) or by a project id (alphanumeric).", "type": "array", "items": { "type": "string" } } } }, "LocationPreference": { "id": "LocationPreference", "description": "Preferred location. This specifies where a Cloud SQL instance is located. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified.", "type": "object", "properties": { "followGaeApplication": { "description": "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.", "deprecated": true, "type": "string" }, "zone": { "description": "The preferred Compute Engine zone (for example: us-central1-a, us-central1-b, etc.). WARNING: Changing this might restart the instance.", "type": "string" }, "secondaryZone": { "description": "The preferred Compute Engine zone for the secondary/failover (for example: us-central1-a, us-central1-b, etc.). To disable this field, set it to 'no_secondary_zone'.", "type": "string" }, "kind": { "description": "This is always `sql#locationPreference`.", "type": "string" } } }, "DatabaseFlags": { "id": "DatabaseFlags", "description": "Database flags for Cloud SQL instances.", "type": "object", "properties": { "name": { "description": "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 information, see [Configuring Database Flags](https://cloud.google.com/sql/docs/mysql/flags) in the Cloud SQL documentation.", "type": "string" }, "value": { "description": "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.", "type": "string" } } }, "MaintenanceWindow": { "id": "MaintenanceWindow", "description": "Maintenance window. This specifies when a Cloud SQL instance is restarted for system maintenance purposes.", "type": "object", "properties": { "hour": { "description": "hour of day - 0 to 23.", "type": "integer", "format": "int32" }, "day": { "description": "day of week (1-7), starting on Monday.", "type": "integer", "format": "int32" }, "updateTrack": { "description": "Maintenance timing setting: `canary` (Earlier) or `stable` (Later). [Learn more](https://cloud.google.com/sql/docs/mysql/instance-settings#maintenance-timing-2ndgen).", "type": "string", "enumDescriptions": [ "This is an unknown maintenance timing preference.", "For instance update that requires a restart, this update track indicates your instance prefer to restart for new version early in maintenance window.", "For instance update that requires a restart, this update track indicates your instance prefer to let Cloud SQL choose the timing of restart (within its Maintenance window, if applicable).", "For instance update that requires a restart, this update track indicates your instance prefer to let Cloud SQL choose the timing of restart (within its Maintenance window, if applicable) to be at least 5 weeks after the notification." ], "enum": [ "SQL_UPDATE_TRACK_UNSPECIFIED", "canary", "stable", "week5" ] }, "kind": { "description": "This is always `sql#maintenanceWindow`.", "type": "string" } } }, "BackupConfiguration": { "id": "BackupConfiguration", "description": "Database instance backup configuration.", "type": "object", "properties": { "startTime": { "description": "Start time for the daily backup configuration in UTC timezone in the 24 hour format - `HH:MM`.", "type": "string" }, "enabled": { "description": "Whether this configuration is enabled.", "type": "boolean" }, "kind": { "description": "This is always `sql#backupConfiguration`.", "type": "string" }, "binaryLogEnabled": { "description": "(MySQL only) Whether binary log is enabled. If backup configuration is disabled, binarylog must be disabled as well.", "type": "boolean" }, "replicationLogArchivingEnabled": { "description": "Reserved for future use.", "type": "boolean" }, "location": { "description": "Location of the backup", "type": "string" }, "pointInTimeRecoveryEnabled": { "description": "Whether point in time recovery is enabled.", "type": "boolean" }, "backupRetentionSettings": { "description": "Backup retention settings.", "$ref": "BackupRetentionSettings" }, "transactionLogRetentionDays": { "description": "The number of days of transaction logs we retain for point in time restore, from 1-7.", "type": "integer", "format": "int32" }, "transactionalLogStorageState": { "description": "Output only. This value contains the storage location of transactional logs for the database for point-in-time recovery.", "readOnly": true, "type": "string", "enumDescriptions": [ "Unspecified.", "The transaction logs for the instance are stored on a data disk.", "The transaction logs for the instance are switching from being stored on a data disk to being stored in Cloud Storage.", "The transaction logs for the instance are now stored in Cloud Storage. Previously, they were stored on a data disk.", "The transaction logs for the instance are stored in Cloud Storage." ], "enum": [ "TRANSACTIONAL_LOG_STORAGE_STATE_UNSPECIFIED", "DISK", "SWITCHING_TO_CLOUD_STORAGE", "SWITCHED_TO_CLOUD_STORAGE", "CLOUD_STORAGE" ] } } }, "BackupRetentionSettings": { "id": "BackupRetentionSettings", "description": "We currently only support backup retention by specifying the number of backups we will retain.", "type": "object", "properties": { "retentionUnit": { "description": "The unit that 'retained_backups' represents.", "type": "string", "enumDescriptions": [ "Backup retention unit is unspecified, will be treated as COUNT.", "Retention will be by count, eg. \"retain the most recent 7 backups\"." ], "enum": [ "RETENTION_UNIT_UNSPECIFIED", "COUNT" ] }, "retainedBackups": { "description": "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.", "type": "integer", "format": "int32" } } }, "SqlActiveDirectoryConfig": { "id": "SqlActiveDirectoryConfig", "description": "Active Directory configuration, relevant only for Cloud SQL for SQL Server.", "type": "object", "properties": { "kind": { "description": "This is always sql#activeDirectoryConfig.", "type": "string" }, "domain": { "description": "The name of the domain (e.g., mydomain.com).", "type": "string" } } }, "DenyMaintenancePeriod": { "id": "DenyMaintenancePeriod", "description": "Deny maintenance Periods. This specifies a date range during when all CSA rollout will be denied.", "type": "object", "properties": { "startDate": { "description": "\"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 every year. The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01", "type": "string" }, "endDate": { "description": "\"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 every year. The date is in format yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01", "type": "string" }, "time": { "description": "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", "type": "string" } } }, "InsightsConfig": { "id": "InsightsConfig", "description": "Insights configuration. This specifies when Cloud SQL Insights feature is enabled and optional configuration.", "type": "object", "properties": { "queryInsightsEnabled": { "description": "Whether Query Insights feature is enabled.", "type": "boolean" }, "recordClientAddress": { "description": "Whether Query Insights will record client address when enabled.", "type": "boolean" }, "recordApplicationTags": { "description": "Whether Query Insights will record application tags from query when enabled.", "type": "boolean" }, "queryStringLength": { "description": "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 length will be the default value. Changing query length will restart the database.", "type": "integer", "format": "int32" }, "queryPlansPerMinute": { "description": "Number of query execution plans captured by Insights per minute for all queries combined. Default is 5.", "type": "integer", "format": "int32" } } }, "PasswordValidationPolicy": { "id": "PasswordValidationPolicy", "description": "Database instance local user password validation policy", "type": "object", "properties": { "minLength": { "description": "Minimum number of characters allowed.", "type": "integer", "format": "int32" }, "complexity": { "description": "The complexity of the password.", "type": "string", "enumDescriptions": [ "Complexity check is not specified.", "A combination of lowercase, uppercase, numeric, and non-alphanumeric characters." ], "enum": [ "COMPLEXITY_UNSPECIFIED", "COMPLEXITY_DEFAULT" ] }, "reuseInterval": { "description": "Number of previous passwords that cannot be reused.", "type": "integer", "format": "int32" }, "disallowUsernameSubstring": { "description": "Disallow username as a part of the password.", "type": "boolean" }, "passwordChangeInterval": { "description": "Minimum interval after which the password can be changed. This flag is only supported for PostgreSQL.", "type": "string", "format": "google-duration" }, "enablePasswordPolicy": { "description": "Whether the password policy is enabled or not.", "type": "boolean" }, "disallowCompromisedCredentials": { "description": "This field is deprecated and will be removed in a future version of the API.", "deprecated": true, "type": "boolean" } } }, "SqlServerAuditConfig": { "id": "SqlServerAuditConfig", "description": "SQL Server specific audit configuration.", "type": "object", "properties": { "kind": { "description": "This is always sql#sqlServerAuditConfig", "type": "string" }, "bucket": { "description": "The name of the destination bucket (e.g., gs://mybucket).", "type": "string" }, "retentionInterval": { "description": "How long to keep generated audit files.", "type": "string", "format": "google-duration" }, "uploadInterval": { "description": "How often to upload generated audit files.", "type": "string", "format": "google-duration" } } }, "AdvancedMachineFeatures": { "id": "AdvancedMachineFeatures", "description": "Specifies options for controlling advanced machine features.", "type": "object", "properties": { "threadsPerCore": { "description": "The number of threads per physical core.", "type": "integer", "format": "int32" } } }, "DataCacheConfig": { "id": "DataCacheConfig", "description": "Data cache configurations.", "type": "object", "properties": { "dataCacheEnabled": { "description": "Whether data cache is enabled for the instance.", "type": "boolean" } } }, "IpMapping": { "id": "IpMapping", "description": "Database instance IP mapping", "type": "object", "properties": { "type": { "description": "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 connections. An `OUTGOING` address is the source address of connections originating from the instance, if supported.", "type": "string", "enumDescriptions": [ "This is an unknown IP address type.", "IP address the customer is supposed to connect to. Usually this is the load balancer's IP address", "Source IP address of the connection a read replica establishes to its external primary instance. This IP address can be allowlisted by the customer in case it has a firewall that filters incoming connection to its on premises primary instance.", "Private IP used when using private IPs and network peering.", "V1 IP of a migrated instance. We want the user to decommission this IP as soon as the migration is complete. Note: V1 instances with V1 ip addresses will be counted as PRIMARY." ], "enum": [ "SQL_IP_ADDRESS_TYPE_UNSPECIFIED", "PRIMARY", "OUTGOING", "PRIVATE", "MIGRATED_1ST_GEN" ] }, "ipAddress": { "description": "The IP address assigned.", "type": "string" }, "timeToRetire": { "description": "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 scheduled to be retired.", "type": "string", "format": "google-datetime" } } }, "SslCert": { "id": "SslCert", "description": "SslCerts Resource", "type": "object", "properties": { "kind": { "description": "This is always `sql#sslCert`.", "type": "string" }, "certSerialNumber": { "description": "Serial number, as extracted from the certificate.", "type": "string" }, "cert": { "description": "PEM representation.", "type": "string" }, "createTime": { "description": "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`", "type": "string", "format": "google-datetime" }, "commonName": { "description": "User supplied name. Constrained to [a-zA-Z.-_ ]+.", "type": "string" }, "expirationTime": { "description": "The time when the certificate expires in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`.", "type": "string", "format": "google-datetime" }, "sha1Fingerprint": { "description": "Sha1 Fingerprint.", "type": "string" }, "instance": { "description": "Name of the database instance.", "type": "string" }, "selfLink": { "description": "The URI of this resource.", "type": "string" } } }, "OnPremisesConfiguration": { "id": "OnPremisesConfiguration", "description": "On-premises instance configuration.", "type": "object", "properties": { "hostPort": { "description": "The host and port of the on-premises instance in host:port format", "type": "string" }, "kind": { "description": "This is always `sql#onPremisesConfiguration`.", "type": "string" }, "username": { "description": "The username for connecting to on-premises instance.", "type": "string" }, "password": { "description": "The password for connecting to on-premises instance.", "type": "string" }, "caCertificate": { "description": "PEM representation of the trusted CA's x509 certificate.", "type": "string" }, "clientCertificate": { "description": "PEM representation of the replica's x509 certificate.", "type": "string" }, "clientKey": { "description": "PEM representation of the replica's private key. The corresponsing public key is encoded in the client's certificate.", "type": "string" }, "dumpFilePath": { "description": "The dump file to create the Cloud SQL replica.", "type": "string" }, "sourceInstance": { "description": "The reference to Cloud SQL instance if the source is Cloud SQL.", "$ref": "InstanceReference" } } }, "InstanceReference": { "id": "InstanceReference", "description": "Reference to another Cloud SQL instance.", "type": "object", "properties": { "name": { "description": "The name of the Cloud SQL instance being referenced. This does not include the project ID.", "type": "string" }, "region": { "description": "The region of the Cloud SQL instance being referenced.", "type": "string" }, "project": { "description": "The project ID of the Cloud SQL instance being referenced. The default is the same project ID as the instance references it.", "type": "string" } } }, "ReplicaConfiguration": { "id": "ReplicaConfiguration", "description": "Read-replica configuration for connecting to the primary instance.", "type": "object", "properties": { "kind": { "description": "This is always `sql#replicaConfiguration`.", "type": "string" }, "mysqlReplicaConfiguration": { "description": "MySQL specific configuration when replicating from a MySQL on-premises primary instance. Replication configuration information such as the username, password, certificates, and keys 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 data directory.", "$ref": "MySqlReplicaConfiguration" }, "failoverTarget": { "description": "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 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.", "type": "boolean" }, "cascadableReplica": { "description": "Optional. Specifies if a SQL Server replica is a cascadable replica. A cascadable replica is a SQL Server cross region replica that supports replica(s) under it.", "type": "boolean" } } }, "MySqlReplicaConfiguration": { "id": "MySqlReplicaConfiguration", "description": "Read-replica configuration specific to MySQL databases.", "type": "object", "properties": { "dumpFilePath": { "description": "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 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.", "type": "string" }, "username": { "description": "The username for the replication connection.", "type": "string" }, "password": { "description": "The password for the replication connection.", "type": "string" }, "connectRetryInterval": { "description": "Seconds to wait between connect retries. MySQL's default is 60 seconds.", "type": "integer", "format": "int32" }, "masterHeartbeatPeriod": { "description": "Interval in milliseconds between replication heartbeats.", "type": "string", "format": "int64" }, "caCertificate": { "description": "PEM representation of the trusted CA's x509 certificate.", "type": "string" }, "clientCertificate": { "description": "PEM representation of the replica's x509 certificate.", "type": "string" }, "clientKey": { "description": "PEM representation of the replica's private key. The corresponsing public key is encoded in the client's certificate.", "type": "string" }, "sslCipher": { "description": "A list of permissible ciphers to use for SSL encryption.", "type": "string" }, "verifyServerCertificate": { "description": "Whether or not to check the primary instance's Common Name value in the certificate that it sends during the SSL handshake.", "type": "boolean" }, "kind": { "description": "This is always `sql#mysqlReplicaConfiguration`.", "type": "string" } } }, "DiskEncryptionConfiguration": { "id": "DiskEncryptionConfiguration", "description": "Disk encryption configuration for an instance.", "type": "object", "properties": { "kmsKeyName": { "description": "Resource name of KMS key for disk encryption", "type": "string" }, "kind": { "description": "This is always `sql#diskEncryptionConfiguration`.", "type": "string" } } }, "DiskEncryptionStatus": { "id": "DiskEncryptionStatus", "description": "Disk encryption status for an instance.", "type": "object", "properties": { "kmsKeyVersionName": { "description": "KMS key version used to encrypt the Cloud SQL instance resource", "type": "string" }, "kind": { "description": "This is always `sql#diskEncryptionStatus`.", "type": "string" } } }, "SqlScheduledMaintenance": { "id": "SqlScheduledMaintenance", "description": "Any scheduled maintenance for this instance.", "type": "object", "properties": { "startTime": { "description": "The start time of any upcoming scheduled maintenance for this instance.", "type": "string", "format": "google-datetime" }, "canDefer": { "deprecated": true, "type": "boolean" }, "canReschedule": { "description": "If the scheduled maintenance can be rescheduled.", "type": "boolean" }, "scheduleDeadlineTime": { "description": "Maintenance cannot be rescheduled to start beyond this deadline.", "type": "string", "format": "google-datetime" } } }, "SqlOutOfDiskReport": { "id": "SqlOutOfDiskReport", "description": "This message wraps up the information written by out-of-disk detection job.", "type": "object", "properties": { "sqlOutOfDiskState": { "description": "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 proactive database wellness job", "type": "string", "enumDescriptions": [ "Unspecified state", "The instance has plenty space on data disk", "Data disk is almost used up. It is shutdown to prevent data corruption." ], "enum": [ "SQL_OUT_OF_DISK_STATE_UNSPECIFIED", "NORMAL", "SOFT_SHUTDOWN" ] }, "sqlMinRecommendedIncreaseSizeGb": { "description": "The minimum recommended increase size in GigaBytes This field is consumed by the frontend * Writers: * the proactive database wellness job for OOD. * Readers:", "type": "integer", "format": "int32" } } }, "ReplicationCluster": { "id": "ReplicationCluster", "description": "Primary-DR replica pair", "type": "object", "properties": { "failoverDrReplicaName": { "description": "Optional. If the instance is a primary instance, then this field identifies the disaster recovery (DR) replica. A DR replica is an optional configuration for Enterprise Plus edition instances. If the instance is a read replica, then the field is not set. Users can set this field to set a designated DR replica for a primary. Removing this field removes the DR replica.", "type": "string" }, "drReplica": { "description": "Output only. read-only field that indicates if the replica is a dr_replica; not set for a primary.", "readOnly": true, "type": "boolean" } } }, "GeminiInstanceConfig": { "id": "GeminiInstanceConfig", "description": "Gemini configuration.", "type": "object", "properties": { "entitled": { "description": "Output only. Whether gemini is enabled.", "readOnly": true, "type": "boolean" }, "googleVacuumMgmtEnabled": { "description": "Output only. Whether vacuum management is enabled.", "readOnly": true, "type": "boolean" }, "oomSessionCancelEnabled": { "description": "Output only. Whether oom session cancel is enabled.", "readOnly": true, "type": "boolean" }, "activeQueryEnabled": { "description": "Output only. Whether active query is enabled.", "readOnly": true, "type": "boolean" }, "indexAdvisorEnabled": { "description": "Output only. Whether index advisor is enabled.", "readOnly": true, "type": "boolean" }, "flagRecommenderEnabled": { "description": "Output only. Whether flag recommender is enabled.", "readOnly": true, "type": "boolean" } } }, "InstancesImportRequest": { "id": "InstancesImportRequest", "description": "Database instance import request.", "type": "object", "properties": { "importContext": { "description": "Contains details about the import operation.", "$ref": "ImportContext" } } }, "InstancesListResponse": { "id": "InstancesListResponse", "description": "Database instances list response.", "type": "object", "properties": { "kind": { "description": "This is always `sql#instancesList`.", "type": "string" }, "warnings": { "description": "List of warnings that occurred while handling the request.", "type": "array", "items": { "$ref": "ApiWarning" } }, "items": { "description": "List of database instance resources.", "type": "array", "items": { "$ref": "DatabaseInstance" } }, "nextPageToken": { "description": "The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.", "type": "string" } } }, "InstancesListServerCasResponse": { "id": "InstancesListServerCasResponse", "description": "Instances ListServerCas response.", "type": "object", "properties": { "certs": { "description": "List of server CA certificates for the instance.", "type": "array", "items": { "$ref": "SslCert" } }, "activeVersion": { "type": "string" }, "kind": { "description": "This is always `sql#instancesListServerCas`.", "type": "string" } } }, "InstancesRestoreBackupRequest": { "id": "InstancesRestoreBackupRequest", "description": "Database instance restore backup request.", "type": "object", "properties": { "restoreBackupContext": { "description": "Parameters required to perform the restore backup operation.", "$ref": "RestoreBackupContext" } } }, "RestoreBackupContext": { "id": "RestoreBackupContext", "description": "Database instance restore from backup context. Backup context contains source instance id and project id.", "type": "object", "properties": { "kind": { "description": "This is always `sql#restoreBackupContext`.", "type": "string" }, "backupRunId": { "description": "The ID of the backup run to restore from.", "type": "string", "format": "int64" }, "instanceId": { "description": "The ID of the instance that the backup was taken from.", "type": "string" }, "project": { "description": "The full project ID of the source instance.", "type": "string" } } }, "InstancesRotateServerCaRequest": { "id": "InstancesRotateServerCaRequest", "description": "Rotate server CA request.", "type": "object", "properties": { "rotateServerCaContext": { "description": "Contains details about the rotate server CA operation.", "$ref": "RotateServerCaContext" } } }, "RotateServerCaContext": { "id": "RotateServerCaContext", "description": "Instance rotate server CA context.", "type": "object", "properties": { "kind": { "description": "This is always `sql#rotateServerCaContext`.", "type": "string" }, "nextVersion": { "description": "The fingerprint of the next version to be rotated to. If left unspecified, will be rotated to the most recently added server CA version.", "type": "string" } } }, "InstancesTruncateLogRequest": { "id": "InstancesTruncateLogRequest", "description": "Instance truncate log request.", "type": "object", "properties": { "truncateLogContext": { "description": "Contains details about the truncate log operation.", "$ref": "TruncateLogContext" } } }, "TruncateLogContext": { "id": "TruncateLogContext", "description": "Database Instance truncate log context.", "type": "object", "properties": { "kind": { "description": "This is always `sql#truncateLogContext`.", "type": "string" }, "logType": { "description": "The type of log to truncate. Valid values are `MYSQL_GENERAL_TABLE` and `MYSQL_SLOW_TABLE`.", "type": "string" } } }, "SslCertsCreateEphemeralRequest": { "id": "SslCertsCreateEphemeralRequest", "description": "SslCerts create ephemeral certificate request.", "type": "object", "properties": { "public_key": { "description": "PEM encoded public key to include in the signed certificate.", "type": "string" }, "access_token": { "description": "Access token to include in the signed certificate.", "type": "string" } } }, "SqlInstancesRescheduleMaintenanceRequestBody": { "id": "SqlInstancesRescheduleMaintenanceRequestBody", "description": "Reschedule options for maintenance windows.", "type": "object", "properties": { "reschedule": { "description": "Required. The type of the reschedule the user wants.", "$ref": "Reschedule" } } }, "Reschedule": { "id": "Reschedule", "type": "object", "properties": { "rescheduleType": { "description": "Required. The type of the reschedule.", "type": "string", "enumDescriptions": [ "", "Reschedules maintenance to happen now (within 5 minutes).", "Reschedules maintenance to occur within one week from the originally scheduled day and time.", "Reschedules maintenance to a specific time and day." ], "enum": [ "RESCHEDULE_TYPE_UNSPECIFIED", "IMMEDIATE", "NEXT_AVAILABLE_WINDOW", "SPECIFIC_TIME" ] }, "scheduleTime": { "description": "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 `2012-11-15T16:19:00.094Z`.", "type": "string", "format": "google-datetime" } } }, "SqlInstancesVerifyExternalSyncSettingsRequest": { "id": "SqlInstancesVerifyExternalSyncSettingsRequest", "description": "Instance verify external sync settings request.", "type": "object", "properties": { "verifyConnectionOnly": { "description": "Flag to enable verifying connection only", "type": "boolean" }, "syncMode": { "description": "External sync mode", "type": "string", "enumDescriptions": [ "Unknown external sync mode, will be defaulted to ONLINE mode", "Online external sync will set up replication after initial data external sync", "Offline external sync only dumps and loads a one-time snapshot of the primary instance's data" ], "enum": [ "EXTERNAL_SYNC_MODE_UNSPECIFIED", "ONLINE", "OFFLINE" ] }, "verifyReplicationOnly": { "description": "Optional. Flag to verify settings required by replication setup only", "type": "boolean" }, "mysqlSyncConfig": { "description": "Optional. MySQL-specific settings for start external sync.", "$ref": "MySqlSyncConfig" }, "migrationType": { "description": "Optional. MigrationType decides if the migration is a physical file based migration or logical migration", "type": "string", "enumDescriptions": [ "Default value is logical migration", "Logical Migrations", "Physical file based Migrations" ], "enum": [ "MIGRATION_TYPE_UNSPECIFIED", "LOGICAL", "PHYSICAL" ] }, "syncParallelLevel": { "description": "Optional. Parallel level for initial data sync. Currently only applicable for PostgreSQL.", "type": "string", "enumDescriptions": [ "Unknown sync parallel level. Will be defaulted to OPTIMAL.", "Minimal parallel level.", "Optimal parallel level.", "Maximum parallel level." ], "enum": [ "EXTERNAL_SYNC_PARALLEL_LEVEL_UNSPECIFIED", "MIN", "OPTIMAL", "MAX" ] } } }, "MySqlSyncConfig": { "id": "MySqlSyncConfig", "description": "MySQL-specific external server sync settings.", "type": "object", "properties": { "initialSyncFlags": { "description": "Flags to use for the initial dump.", "type": "array", "items": { "$ref": "SyncFlags" } } } }, "SyncFlags": { "id": "SyncFlags", "description": "Initial sync flags for certain Cloud SQL APIs. Currently used for the MySQL external server initial dump.", "type": "object", "properties": { "name": { "description": "The name of the flag.", "type": "string" }, "value": { "description": "The value of the flag. This field must be omitted if the flag doesn't take a value.", "type": "string" } } }, "SqlInstancesVerifyExternalSyncSettingsResponse": { "id": "SqlInstancesVerifyExternalSyncSettingsResponse", "description": "Instance verify external sync settings response.", "type": "object", "properties": { "kind": { "description": "This is always `sql#migrationSettingErrorList`.", "type": "string" }, "errors": { "description": "List of migration violations.", "type": "array", "items": { "$ref": "SqlExternalSyncSettingError" } }, "warnings": { "description": "List of migration warnings.", "type": "array", "items": { "$ref": "SqlExternalSyncSettingError" } } } }, "SqlExternalSyncSettingError": { "id": "SqlExternalSyncSettingError", "description": "External primary instance migration setting error/warning.", "type": "object", "properties": { "kind": { "description": "Can be `sql#externalSyncSettingError` or `sql#externalSyncSettingWarning`.", "type": "string" }, "type": { "description": "Identifies the specific error that occurred.", "type": "string", "enumDescriptions": [ "", "", "", "", "", "The replication user is missing privileges that are required.", "Unsupported migration type.", "No pglogical extension installed on databases, applicable for postgres.", "pglogical node already exists on databases, applicable for postgres.", "The value of parameter wal_level is not set to logical.", "The value of parameter shared_preload_libraries does not include pglogical.", "The value of parameter max_replication_slots is not sufficient.", "The value of parameter max_wal_senders is not sufficient.", "The value of parameter max_worker_processes is not sufficient.", "Extensions installed are either not supported or having unsupported versions.", "The value of parameter rds.logical_replication is not set to 1.", "The primary instance logging setup doesn't allow EM sync.", "The primary instance database parameter setup doesn't allow EM sync.", "The gtid_mode is not supported, applicable for MySQL.", "SQL Server Agent is not running.", "The table definition is not support due to missing primary key or replica identity, applicable for postgres.", "The customer has a definer that will break EM setup.", "SQL Server @@SERVERNAME does not match actual host name.", "The primary instance has been setup and will fail the setup.", "The primary instance has unsupported binary log format.", "The primary instance's binary log retention setting.", "The primary instance has tables with unsupported storage engine.", "Source has tables with limited support eg: PostgreSQL tables without primary keys.", "The replica instance contains existing data.", "The replication user is missing privileges that are optional.", "Additional BACKUP_ADMIN privilege is granted to the replication user which may lock source MySQL 8 instance for DDLs during initial sync.", "The Cloud Storage bucket is missing necessary permissions.", "The Cloud Storage bucket has an error in the file or contains invalid file information.", "The source instance has unsupported database settings for migration.", "The replication user is missing parallel import specific privileges. (e.g. LOCK TABLES) for MySQL.", "The global variable local_infile is off on external server replica.", "This code instructs customers to turn on point-in-time recovery manually for the instance after promoting the Cloud SQL for PostgreSQL instance.", "The minor version of replica database is incompatible with the source.", "This warning message indicates that Cloud SQL uses the maximum number of subscriptions to migrate data from the source to the destination.", "Unable to verify definers on the source for MySQL.", "If a time out occurs while the subscription counts are calculated, then this value is set to 1. Otherwise, this value is set to 2.", "Count of subscriptions needed to sync source data for PostgreSQL database.", "Final parallel level that is used to do migration.", "The disk size of the replica instance is smaller than the data size of the source instance.", "The data size of the source instance is greater than 1 TB, the number of cores of the replica instance is less than 8, and the memory of the replica is less than 32 GB." ], "enum": [ "SQL_EXTERNAL_SYNC_SETTING_ERROR_TYPE_UNSPECIFIED", "CONNECTION_FAILURE", "BINLOG_NOT_ENABLED", "INCOMPATIBLE_DATABASE_VERSION", "REPLICA_ALREADY_SETUP", "INSUFFICIENT_PRIVILEGE", "UNSUPPORTED_MIGRATION_TYPE", "NO_PGLOGICAL_INSTALLED", "PGLOGICAL_NODE_ALREADY_EXISTS", "INVALID_WAL_LEVEL", "INVALID_SHARED_PRELOAD_LIBRARY", "INSUFFICIENT_MAX_REPLICATION_SLOTS", "INSUFFICIENT_MAX_WAL_SENDERS", "INSUFFICIENT_MAX_WORKER_PROCESSES", "UNSUPPORTED_EXTENSIONS", "INVALID_RDS_LOGICAL_REPLICATION", "INVALID_LOGGING_SETUP", "INVALID_DB_PARAM", "UNSUPPORTED_GTID_MODE", "SQLSERVER_AGENT_NOT_RUNNING", "UNSUPPORTED_TABLE_DEFINITION", "UNSUPPORTED_DEFINER", "SQLSERVER_SERVERNAME_MISMATCH", "PRIMARY_ALREADY_SETUP", "UNSUPPORTED_BINLOG_FORMAT", "BINLOG_RETENTION_SETTING", "UNSUPPORTED_STORAGE_ENGINE", "LIMITED_SUPPORT_TABLES", "EXISTING_DATA_IN_REPLICA", "MISSING_OPTIONAL_PRIVILEGES", "RISKY_BACKUP_ADMIN_PRIVILEGE", "INSUFFICIENT_GCS_PERMISSIONS", "INVALID_FILE_INFO", "UNSUPPORTED_DATABASE_SETTINGS", "MYSQL_PARALLEL_IMPORT_INSUFFICIENT_PRIVILEGE", "LOCAL_INFILE_OFF", "TURN_ON_PITR_AFTER_PROMOTE", "INCOMPATIBLE_DATABASE_MINOR_VERSION", "SOURCE_MAX_SUBSCRIPTIONS", "UNABLE_TO_VERIFY_DEFINERS", "SUBSCRIPTION_CALCULATION_STATUS", "PG_SUBSCRIPTION_COUNT", "PG_SYNC_PARALLEL_LEVEL", "INSUFFICIENT_DISK_SIZE", "INSUFFICIENT_MACHINE_TIER" ] }, "detail": { "description": "Additional information about the error encountered.", "type": "string" } } }, "SqlInstancesStartExternalSyncRequest": { "id": "SqlInstancesStartExternalSyncRequest", "description": "Instance start external sync request.", "type": "object", "properties": { "syncMode": { "description": "External sync mode.", "type": "string", "enumDescriptions": [ "Unknown external sync mode, will be defaulted to ONLINE mode", "Online external sync will set up replication after initial data external sync", "Offline external sync only dumps and loads a one-time snapshot of the primary instance's data" ], "enum": [ "EXTERNAL_SYNC_MODE_UNSPECIFIED", "ONLINE", "OFFLINE" ] }, "skipVerification": { "description": "Whether to skip the verification step (VESS).", "type": "boolean" }, "mysqlSyncConfig": { "description": "MySQL-specific settings for start external sync.", "$ref": "MySqlSyncConfig" }, "syncParallelLevel": { "description": "Optional. Parallel level for initial data sync. Currently only applicable for MySQL.", "type": "string", "enumDescriptions": [ "Unknown sync parallel level. Will be defaulted to OPTIMAL.", "Minimal parallel level.", "Optimal parallel level.", "Maximum parallel level." ], "enum": [ "EXTERNAL_SYNC_PARALLEL_LEVEL_UNSPECIFIED", "MIN", "OPTIMAL", "MAX" ] }, "migrationType": { "description": "Optional. MigrationType decides if the migration is a physical file based migration or logical migration.", "type": "string", "enumDescriptions": [ "Default value is logical migration", "Logical Migrations", "Physical file based Migrations" ], "enum": [ "MIGRATION_TYPE_UNSPECIFIED", "LOGICAL", "PHYSICAL" ] } } }, "PerformDiskShrinkContext": { "id": "PerformDiskShrinkContext", "description": "Perform disk shrink context.", "type": "object", "properties": { "targetSizeGb": { "description": "The target disk shrink size in GigaBytes.", "type": "string", "format": "int64" } } }, "SqlInstancesGetDiskShrinkConfigResponse": { "id": "SqlInstancesGetDiskShrinkConfigResponse", "description": "Instance get disk shrink config response.", "type": "object", "properties": { "kind": { "description": "This is always `sql#getDiskShrinkConfig`.", "type": "string" }, "minimalTargetSizeGb": { "description": "The minimum size to which a disk can be shrunk in GigaBytes.", "type": "string", "format": "int64" }, "message": { "description": "Additional message to customers.", "type": "string" } } }, "SqlInstancesResetReplicaSizeRequest": { "id": "SqlInstancesResetReplicaSizeRequest", "description": "Instance reset replica size request.", "type": "object", "properties": {} }, "SqlInstancesGetLatestRecoveryTimeResponse": { "id": "SqlInstancesGetLatestRecoveryTimeResponse", "description": "Instance get latest recovery time response.", "type": "object", "properties": { "kind": { "description": "This is always `sql#getLatestRecoveryTime`.", "type": "string" }, "latestRecoveryTime": { "description": "Timestamp, identifies the latest recovery time of the source instance.", "type": "string", "format": "google-datetime" } } }, "InstancesAcquireSsrsLeaseRequest": { "id": "InstancesAcquireSsrsLeaseRequest", "description": "Request to acquire a lease for SSRS.", "type": "object", "properties": { "acquireSsrsLeaseContext": { "description": "Contains details about the acquire SSRS lease operation.", "$ref": "AcquireSsrsLeaseContext" } } }, "SqlInstancesAcquireSsrsLeaseResponse": { "id": "SqlInstancesAcquireSsrsLeaseResponse", "description": "Response for the acquire SSRS lease request.", "type": "object", "properties": { "operationId": { "description": "The unique identifier for this operation.", "type": "string" } } }, "SqlInstancesReleaseSsrsLeaseResponse": { "id": "SqlInstancesReleaseSsrsLeaseResponse", "description": "Response for the release SSRS lease request.", "type": "object", "properties": { "operationId": { "description": "The unique identifier for this operation.", "type": "string" } } }, "BackupRun": { "id": "BackupRun", "description": "A BackupRun resource.", "type": "object", "properties": { "kind": { "description": "This is always `sql#backupRun`.", "type": "string" }, "status": { "description": "The status of this run.", "type": "string", "enumDescriptions": [ "The status of the run is unknown.", "The backup operation was enqueued.", "The backup is overdue across a given backup window. Indicates a problem. Example: Long-running operation in progress during the whole window.", "The backup is in progress.", "The backup failed.", "The backup was successful.", "The backup was skipped (without problems) for a given backup window. Example: Instance was idle.", "The backup is about to be deleted.", "The backup deletion failed.", "The backup has been deleted." ], "enum": [ "SQL_BACKUP_RUN_STATUS_UNSPECIFIED", "ENQUEUED", "OVERDUE", "RUNNING", "FAILED", "SUCCESSFUL", "SKIPPED", "DELETION_PENDING", "DELETION_FAILED", "DELETED" ] }, "enqueuedTime": { "description": "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`.", "type": "string", "format": "google-datetime" }, "id": { "description": "The identifier for this backup run. Unique only for a specific Cloud SQL instance.", "type": "string", "format": "int64" }, "startTime": { "description": "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`.", "type": "string", "format": "google-datetime" }, "endTime": { "description": "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`.", "type": "string", "format": "google-datetime" }, "error": { "description": "Information about why the backup operation failed. This is only present if the run has the FAILED status.", "$ref": "OperationError" }, "type": { "description": "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.", "type": "string", "enumDescriptions": [ "This is an unknown BackupRun type.", "The backup schedule automatically triggers a backup.", "The user manually triggers a backup." ], "enum": [ "SQL_BACKUP_RUN_TYPE_UNSPECIFIED", "AUTOMATED", "ON_DEMAND" ] }, "description": { "description": "The description of this run, only applicable to on-demand backups.", "type": "string" }, "windowStartTime": { "description": "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`.", "type": "string", "format": "google-datetime" }, "instance": { "description": "Name of the database instance.", "type": "string" }, "selfLink": { "description": "The URI of this resource.", "type": "string" }, "location": { "description": "Location of the backups.", "type": "string" }, "diskEncryptionConfiguration": { "description": "Encryption configuration specific to a backup.", "$ref": "DiskEncryptionConfiguration" }, "diskEncryptionStatus": { "description": "Encryption status specific to a backup.", "$ref": "DiskEncryptionStatus" }, "backupKind": { "description": "Specifies the kind of backup, PHYSICAL or DEFAULT_SNAPSHOT.", "type": "string", "enumDescriptions": [ "This is an unknown BackupKind.", "The snapshot based backups", "Physical backups" ], "enum": [ "SQL_BACKUP_KIND_UNSPECIFIED", "SNAPSHOT", "PHYSICAL" ] }, "timeZone": { "description": "Backup time zone to prevent restores to an instance with a different time zone. Now relevant only for SQL Server.", "type": "string" } } }, "BackupRunsListResponse": { "id": "BackupRunsListResponse", "description": "Backup run list results.", "type": "object", "properties": { "kind": { "description": "This is always `sql#backupRunsList`.", "type": "string" }, "items": { "description": "A list of backup runs in reverse chronological order of the enqueued time.", "type": "array", "items": { "$ref": "BackupRun" } }, "nextPageToken": { "description": "The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.", "type": "string" } } }, "ConnectSettings": { "id": "ConnectSettings", "description": "Connect settings retrieval response.", "type": "object", "properties": { "kind": { "description": "This is always `sql#connectSettings`.", "type": "string" }, "serverCaCert": { "description": "SSL configuration.", "$ref": "SslCert" }, "ipAddresses": { "description": "The assigned IP addresses for the instance.", "type": "array", "items": { "$ref": "IpMapping" } }, "region": { "description": "The cloud region for the instance. For example, `us-central1`, `europe-west1`. The region cannot be changed after instance creation.", "type": "string" }, "databaseVersion": { "description": "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`. PostgreSQL instances: `POSTGRES_9_6`, `POSTGRES_10`, `POSTGRES_11`, `POSTGRES_12` (default), `POSTGRES_13`, or `POSTGRES_14`. SQL Server instances: `SQLSERVER_2017_STANDARD` (default), `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`, `SQLSERVER_2019_STANDARD`, `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`, or `SQLSERVER_2019_WEB`.", "type": "string", "enumDescriptions": [ "This is an unknown database version.", "The database version is MySQL 5.1.", "The database version is MySQL 5.5.", "The database version is MySQL 5.6.", "The database version is MySQL 5.7.", "The database version is SQL Server 2017 Standard.", "The database version is SQL Server 2017 Enterprise.", "The database version is SQL Server 2017 Express.", "The database version is SQL Server 2017 Web.", "The database version is PostgreSQL 9.6.", "The database version is PostgreSQL 10.", "The database version is PostgreSQL 11.", "The database version is PostgreSQL 12.", "The database version is PostgreSQL 13.", "The database version is PostgreSQL 14.", "The database version is PostgreSQL 15.", "The database version is MySQL 8.", "The database major version is MySQL 8.0 and the minor version is 18.", "The database major version is MySQL 8.0 and the minor version is 26.", "The database major version is MySQL 8.0 and the minor version is 27.", "The database major version is MySQL 8.0 and the minor version is 28.", "The database major version is MySQL 8.0 and the minor version is 29.", "The database major version is MySQL 8.0 and the minor version is 30.", "The database major version is MySQL 8.0 and the minor version is 31.", "The database major version is MySQL 8.0 and the minor version is 32.", "The database major version is MySQL 8.0 and the minor version is 33.", "The database major version is MySQL 8.0 and the minor version is 34.", "The database major version is MySQL 8.0 and the minor version is 35.", "The database major version is MySQL 8.0 and the minor version is 36.", "The database major version is MySQL 8.0 and the minor version is 37.", "The database major version is MySQL 8.0 and the minor version is 38.", "The database major version is MySQL 8.0 and the minor version is 39.", "The database major version is MySQL 8.0 and the minor version is 40.", "The database version is SQL Server 2019 Standard.", "The database version is SQL Server 2019 Enterprise.", "The database version is SQL Server 2019 Express.", "The database version is SQL Server 2019 Web.", "The database version is SQL Server 2022 Standard.", "The database version is SQL Server 2022 Enterprise.", "The database version is SQL Server 2022 Express.", "The database version is SQL Server 2022 Web." ], "enumDeprecated": [ false, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false ], "enum": [ "SQL_DATABASE_VERSION_UNSPECIFIED", "MYSQL_5_1", "MYSQL_5_5", "MYSQL_5_6", "MYSQL_5_7", "SQLSERVER_2017_STANDARD", "SQLSERVER_2017_ENTERPRISE", "SQLSERVER_2017_EXPRESS", "SQLSERVER_2017_WEB", "POSTGRES_9_6", "POSTGRES_10", "POSTGRES_11", "POSTGRES_12", "POSTGRES_13", "POSTGRES_14", "POSTGRES_15", "MYSQL_8_0", "MYSQL_8_0_18", "MYSQL_8_0_26", "MYSQL_8_0_27", "MYSQL_8_0_28", "MYSQL_8_0_29", "MYSQL_8_0_30", "MYSQL_8_0_31", "MYSQL_8_0_32", "MYSQL_8_0_33", "MYSQL_8_0_34", "MYSQL_8_0_35", "MYSQL_8_0_36", "MYSQL_8_0_37", "MYSQL_8_0_38", "MYSQL_8_0_39", "MYSQL_8_0_40", "SQLSERVER_2019_STANDARD", "SQLSERVER_2019_ENTERPRISE", "SQLSERVER_2019_EXPRESS", "SQLSERVER_2019_WEB", "SQLSERVER_2022_STANDARD", "SQLSERVER_2022_ENTERPRISE", "SQLSERVER_2022_EXPRESS", "SQLSERVER_2022_WEB" ] }, "backendType": { "description": "`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 to determine the database type.", "type": "string", "enumDescriptions": [ "This is an unknown backend type for instance.", "V1 speckle instance.", "V2 speckle instance.", "On premises instance." ], "enumDeprecated": [ false, true, false, false ], "enum": [ "SQL_BACKEND_TYPE_UNSPECIFIED", "FIRST_GEN", "SECOND_GEN", "EXTERNAL" ] }, "pscEnabled": { "description": "Whether PSC connectivity is enabled for this instance.", "type": "boolean" }, "dnsName": { "description": "The dns name of the instance.", "type": "string" } } }, "GenerateEphemeralCertRequest": { "id": "GenerateEphemeralCertRequest", "description": "Ephemeral certificate creation request.", "type": "object", "properties": { "public_key": { "description": "PEM encoded public key to include in the signed certificate.", "type": "string" }, "access_token": { "description": "Optional. Access token to include in the signed certificate.", "type": "string" }, "readTime": { "description": "Optional. Optional snapshot read timestamp to trade freshness for performance.", "type": "string", "format": "google-datetime" }, "validDuration": { "description": "Optional. If set, it will contain the cert valid duration.", "type": "string", "format": "google-duration" } } }, "GenerateEphemeralCertResponse": { "id": "GenerateEphemeralCertResponse", "description": "Ephemeral certificate creation request.", "type": "object", "properties": { "ephemeralCert": { "description": "Generated cert", "$ref": "SslCert" } } }, "Database": { "id": "Database", "description": "Represents a SQL database on the Cloud SQL instance.", "type": "object", "properties": { "kind": { "description": "This is always `sql#database`.", "type": "string" }, "charset": { "description": "The Cloud SQL charset value.", "type": "string" }, "collation": { "description": "The Cloud SQL collation value.", "type": "string" }, "etag": { "description": "This field is deprecated and will be removed from a future version of the API.", "type": "string" }, "name": { "description": "The name of the database in the Cloud SQL instance. This does not include the project ID or instance name.", "type": "string" }, "instance": { "description": "The name of the Cloud SQL instance. This does not include the project ID.", "type": "string" }, "selfLink": { "description": "The URI of this resource.", "type": "string" }, "project": { "description": "The project ID of the project containing the Cloud SQL database. The Google apps domain is prefixed if applicable.", "type": "string" }, "sqlserverDatabaseDetails": { "$ref": "SqlServerDatabaseDetails" } } }, "SqlServerDatabaseDetails": { "id": "SqlServerDatabaseDetails", "description": "Represents a Sql Server database on the Cloud SQL instance.", "type": "object", "properties": { "compatibilityLevel": { "description": "The version of SQL Server with which the database is to be made compatible", "type": "integer", "format": "int32" }, "recoveryModel": { "description": "The recovery model of a SQL Server database", "type": "string" } } }, "DatabasesListResponse": { "id": "DatabasesListResponse", "description": "Database list response.", "type": "object", "properties": { "kind": { "description": "This is always `sql#databasesList`.", "type": "string" }, "items": { "description": "List of database resources in the instance.", "type": "array", "items": { "$ref": "Database" } } } }, "FlagsListResponse": { "id": "FlagsListResponse", "description": "Flags list response.", "type": "object", "properties": { "kind": { "description": "This is always `sql#flagsList`.", "type": "string" }, "items": { "description": "List of flags.", "type": "array", "items": { "$ref": "Flag" } } } }, "Flag": { "id": "Flag", "description": "A flag resource.", "type": "object", "properties": { "name": { "description": "This is the name of the flag. Flag names always use underscores, not hyphens, for example: `max_allowed_packet`", "type": "string" }, "type": { "description": "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`.", "type": "string", "enumDescriptions": [ "This is an unknown flag type.", "Boolean type flag.", "String type flag.", "Integer type flag.", "Flag type used for a server startup option.", "Type introduced specially for MySQL TimeZone offset. Accept a string value with the format [-12:59, 13:00].", "Float type flag.", "Comma-separated list of the strings in a SqlFlagType enum." ], "enum": [ "SQL_FLAG_TYPE_UNSPECIFIED", "BOOLEAN", "STRING", "INTEGER", "NONE", "MYSQL_TIMEZONE_OFFSET", "FLOAT", "REPEATED_STRING" ] }, "appliesTo": { "description": "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`, `POSTGRES_10`, `POSTGRES_11` or `POSTGRES_12`. SQL Server instances: `SQLSERVER_2017_STANDARD`, `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`, `SQLSERVER_2019_STANDARD`, `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`, or `SQLSERVER_2019_WEB`. See [the complete list](/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).", "type": "array", "items": { "type": "string", "enumDescriptions": [ "This is an unknown database version.", "The database version is MySQL 5.1.", "The database version is MySQL 5.5.", "The database version is MySQL 5.6.", "The database version is MySQL 5.7.", "The database version is SQL Server 2017 Standard.", "The database version is SQL Server 2017 Enterprise.", "The database version is SQL Server 2017 Express.", "The database version is SQL Server 2017 Web.", "The database version is PostgreSQL 9.6.", "The database version is PostgreSQL 10.", "The database version is PostgreSQL 11.", "The database version is PostgreSQL 12.", "The database version is PostgreSQL 13.", "The database version is PostgreSQL 14.", "The database version is PostgreSQL 15.", "The database version is MySQL 8.", "The database major version is MySQL 8.0 and the minor version is 18.", "The database major version is MySQL 8.0 and the minor version is 26.", "The database major version is MySQL 8.0 and the minor version is 27.", "The database major version is MySQL 8.0 and the minor version is 28.", "The database major version is MySQL 8.0 and the minor version is 29.", "The database major version is MySQL 8.0 and the minor version is 30.", "The database major version is MySQL 8.0 and the minor version is 31.", "The database major version is MySQL 8.0 and the minor version is 32.", "The database major version is MySQL 8.0 and the minor version is 33.", "The database major version is MySQL 8.0 and the minor version is 34.", "The database major version is MySQL 8.0 and the minor version is 35.", "The database major version is MySQL 8.0 and the minor version is 36.", "The database major version is MySQL 8.0 and the minor version is 37.", "The database major version is MySQL 8.0 and the minor version is 38.", "The database major version is MySQL 8.0 and the minor version is 39.", "The database major version is MySQL 8.0 and the minor version is 40.", "The database version is SQL Server 2019 Standard.", "The database version is SQL Server 2019 Enterprise.", "The database version is SQL Server 2019 Express.", "The database version is SQL Server 2019 Web.", "The database version is SQL Server 2022 Standard.", "The database version is SQL Server 2022 Enterprise.", "The database version is SQL Server 2022 Express.", "The database version is SQL Server 2022 Web." ], "enumDeprecated": [ false, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false ], "enum": [ "SQL_DATABASE_VERSION_UNSPECIFIED", "MYSQL_5_1", "MYSQL_5_5", "MYSQL_5_6", "MYSQL_5_7", "SQLSERVER_2017_STANDARD", "SQLSERVER_2017_ENTERPRISE", "SQLSERVER_2017_EXPRESS", "SQLSERVER_2017_WEB", "POSTGRES_9_6", "POSTGRES_10", "POSTGRES_11", "POSTGRES_12", "POSTGRES_13", "POSTGRES_14", "POSTGRES_15", "MYSQL_8_0", "MYSQL_8_0_18", "MYSQL_8_0_26", "MYSQL_8_0_27", "MYSQL_8_0_28", "MYSQL_8_0_29", "MYSQL_8_0_30", "MYSQL_8_0_31", "MYSQL_8_0_32", "MYSQL_8_0_33", "MYSQL_8_0_34", "MYSQL_8_0_35", "MYSQL_8_0_36", "MYSQL_8_0_37", "MYSQL_8_0_38", "MYSQL_8_0_39", "MYSQL_8_0_40", "SQLSERVER_2019_STANDARD", "SQLSERVER_2019_ENTERPRISE", "SQLSERVER_2019_EXPRESS", "SQLSERVER_2019_WEB", "SQLSERVER_2022_STANDARD", "SQLSERVER_2022_ENTERPRISE", "SQLSERVER_2022_EXPRESS", "SQLSERVER_2022_WEB" ] } }, "allowedStringValues": { "description": "For `STRING` flags, a list of strings that the value can be set to.", "type": "array", "items": { "type": "string" } }, "minValue": { "description": "For `INTEGER` flags, the minimum allowed value.", "type": "string", "format": "int64" }, "maxValue": { "description": "For `INTEGER` flags, the maximum allowed value.", "type": "string", "format": "int64" }, "requiresRestart": { "description": "Indicates whether changing this flag will trigger a database restart. Only applicable to Second Generation instances.", "type": "boolean" }, "kind": { "description": "This is always `sql#flag`.", "type": "string" }, "inBeta": { "description": "Whether or not the flag is considered in beta.", "type": "boolean" }, "allowedIntValues": { "description": "Use this field if only certain integers are accepted. Can be combined with min_value and max_value to add additional values.", "type": "array", "items": { "type": "string", "format": "int64" } } } }, "OperationsListResponse": { "id": "OperationsListResponse", "description": "Operations list response.", "type": "object", "properties": { "kind": { "description": "This is always `sql#operationsList`.", "type": "string" }, "items": { "description": "List of operation resources.", "type": "array", "items": { "$ref": "Operation" } }, "nextPageToken": { "description": "The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.", "type": "string" } } }, "Empty": { "id": "Empty", "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "type": "object", "properties": {} }, "SslCertsInsertRequest": { "id": "SslCertsInsertRequest", "description": "SslCerts insert request.", "type": "object", "properties": { "commonName": { "description": "User supplied name. Must be a distinct name from the other certificates for this instance.", "type": "string" } } }, "SslCertsInsertResponse": { "id": "SslCertsInsertResponse", "description": "SslCert insert response.", "type": "object", "properties": { "kind": { "description": "This is always `sql#sslCertsInsert`.", "type": "string" }, "operation": { "description": "The operation to track the ssl certs insert request.", "$ref": "Operation" }, "serverCaCert": { "description": "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.", "$ref": "SslCert" }, "clientCert": { "description": "The new client certificate and private key.", "$ref": "SslCertDetail" } } }, "SslCertDetail": { "id": "SslCertDetail", "description": "SslCertDetail.", "type": "object", "properties": { "certInfo": { "description": "The public information about the cert.", "$ref": "SslCert" }, "certPrivateKey": { "description": "The private key for the client cert, in pem format. Keep private in order to protect your security.", "type": "string" } } }, "SslCertsListResponse": { "id": "SslCertsListResponse", "description": "SslCerts list response.", "type": "object", "properties": { "kind": { "description": "This is always `sql#sslCertsList`.", "type": "string" }, "items": { "description": "List of client certificates for the instance.", "type": "array", "items": { "$ref": "SslCert" } } } }, "TiersListResponse": { "id": "TiersListResponse", "description": "Tiers list response.", "type": "object", "properties": { "kind": { "description": "This is always `sql#tiersList`.", "type": "string" }, "items": { "description": "List of tiers.", "type": "array", "items": { "$ref": "Tier" } } } }, "Tier": { "id": "Tier", "description": "A Google Cloud SQL service tier resource.", "type": "object", "properties": { "tier": { "description": "An identifier for the machine type, for example, `db-custom-1-3840`. For related information, see [Pricing](/sql/pricing).", "type": "string" }, "RAM": { "description": "The maximum RAM usage of this tier in bytes.", "type": "string", "format": "int64" }, "kind": { "description": "This is always `sql#tier`.", "type": "string" }, "DiskQuota": { "description": "The maximum disk size of this tier in bytes.", "type": "string", "format": "int64" }, "region": { "description": "The applicable regions for this tier.", "type": "array", "items": { "type": "string" } } } }, "User": { "id": "User", "description": "A Cloud SQL user resource.", "type": "object", "properties": { "kind": { "description": "This is always `sql#user`.", "type": "string" }, "password": { "description": "The password for the user.", "type": "string" }, "etag": { "description": "This field is deprecated and will be removed from a future version of the API.", "type": "string" }, "name": { "description": "The name of the user in the Cloud SQL instance. Can be omitted for `update` because it is already specified in the URL.", "type": "string" }, "host": { "description": "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. 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.", "type": "string" }, "instance": { "description": "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.", "type": "string" }, "project": { "description": "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 URL.", "type": "string" }, "type": { "description": "The user type. It determines the method to authenticate the user during login. The default is the database's built-in user type.", "type": "string", "enumDescriptions": [ "The database's built-in user type.", "Cloud IAM user.", "Cloud IAM service account.", "Cloud IAM group non-login user.", "Cloud IAM group login user.", "Cloud IAM group login service account." ], "enum": [ "BUILT_IN", "CLOUD_IAM_USER", "CLOUD_IAM_SERVICE_ACCOUNT", "CLOUD_IAM_GROUP", "CLOUD_IAM_GROUP_USER", "CLOUD_IAM_GROUP_SERVICE_ACCOUNT" ] }, "sqlserverUserDetails": { "$ref": "SqlServerUserDetails" }, "passwordPolicy": { "description": "User level password validation policy.", "$ref": "UserPasswordValidationPolicy" }, "dualPasswordType": { "description": "Dual password status for the user.", "type": "string", "enumDescriptions": [ "The default value.", "Do not update the user's dual password status.", "No dual password usable for connecting using this user.", "Dual password usable for connecting using this user." ], "enum": [ "DUAL_PASSWORD_TYPE_UNSPECIFIED", "NO_MODIFY_DUAL_PASSWORD", "NO_DUAL_PASSWORD", "DUAL_PASSWORD" ] } } }, "SqlServerUserDetails": { "id": "SqlServerUserDetails", "description": "Represents a Sql Server user on the Cloud SQL instance.", "type": "object", "properties": { "disabled": { "description": "If the user has been disabled", "type": "boolean" }, "serverRoles": { "description": "The server roles for this user", "type": "array", "items": { "type": "string" } } } }, "UserPasswordValidationPolicy": { "id": "UserPasswordValidationPolicy", "description": "User level password validation policy.", "type": "object", "properties": { "allowedFailedAttempts": { "description": "Number of failed login attempts allowed before user get locked.", "type": "integer", "format": "int32" }, "passwordExpirationDuration": { "description": "Expiration duration after password is updated.", "type": "string", "format": "google-duration" }, "enableFailedAttemptsCheck": { "description": "If true, failed login attempts check will be enabled.", "type": "boolean" }, "status": { "description": "Output only. Read-only password status.", "readOnly": true, "$ref": "PasswordStatus" }, "enablePasswordVerification": { "description": "If true, the user must specify the current password before changing the password. This flag is supported only for MySQL.", "type": "boolean" } } }, "PasswordStatus": { "id": "PasswordStatus", "description": "Read-only password status.", "type": "object", "properties": { "locked": { "description": "If true, user does not have login privileges.", "type": "boolean" }, "passwordExpirationTime": { "description": "The expiration time of the current password.", "type": "string", "format": "google-datetime" } } }, "UsersListResponse": { "id": "UsersListResponse", "description": "User list response.", "type": "object", "properties": { "kind": { "description": "This is always `sql#usersList`.", "type": "string" }, "items": { "description": "List of user resources in the instance.", "type": "array", "items": { "$ref": "User" } }, "nextPageToken": { "description": "Unused.", "deprecated": true, "type": "string" } } }, "OperationMetadata": { "id": "OperationMetadata", "description": "Represents the metadata of the long-running operation.", "type": "object", "properties": { "createTime": { "description": "Output only. The time the operation was created.", "readOnly": true, "type": "string", "format": "google-datetime" }, "endTime": { "description": "Output only. The time the operation finished running.", "readOnly": true, "type": "string", "format": "google-datetime" }, "target": { "description": "Output only. Server-defined resource path for the target of the operation.", "readOnly": true, "type": "string" }, "verb": { "description": "Output only. Name of the verb executed by the operation.", "readOnly": true, "type": "string" }, "statusDetail": { "description": "Output only. Human-readable status of the operation, if any.", "readOnly": true, "type": "string" }, "cancelRequested": { "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, "apiVersion": { "description": "Output only. API version used to start the operation.", "readOnly": true, "type": "string" } } } }, "basePath": "", "resources": { "instances": { "methods": { "addServerCa": { "id": "sql.instances.addServerCa", "path": "v1/projects/{project}/instances/{instance}/addServerCa", "flatPath": "v1/projects/{project}/instances/{instance}/addServerCa", "httpMethod": "POST", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "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 in a certificate rotation, this operation replaces that version. There cannot be more than one CA version waiting to be rotated in." }, "clone": { "id": "sql.instances.clone", "path": "v1/projects/{project}/instances/{instance}/clone", "flatPath": "v1/projects/{project}/instances/{instance}/clone", "httpMethod": "POST", "parameters": { "project": { "description": "Project ID of the source as well as the clone Cloud SQL instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "The ID of the Cloud SQL instance to be cloned (source). This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "InstancesCloneRequest" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Creates a Cloud SQL instance as a clone of the source instance. Using this operation might cause your instance to restart." }, "delete": { "id": "sql.instances.delete", "path": "v1/projects/{project}/instances/{instance}", "flatPath": "v1/projects/{project}/instances/{instance}", "httpMethod": "DELETE", "parameters": { "project": { "description": "Project ID of the project that contains the instance to be deleted.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Deletes a Cloud SQL instance." }, "demoteMaster": { "id": "sql.instances.demoteMaster", "path": "v1/projects/{project}/instances/{instance}/demoteMaster", "flatPath": "v1/projects/{project}/instances/{instance}/demoteMaster", "httpMethod": "POST", "parameters": { "project": { "description": "ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance name.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "InstancesDemoteMasterRequest" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Demotes the stand-alone instance to be a Cloud SQL read replica for an external database server." }, "demote": { "id": "sql.instances.demote", "path": "v1/projects/{project}/instances/{instance}/demote", "flatPath": "v1/projects/{project}/instances/{instance}/demote", "httpMethod": "POST", "parameters": { "project": { "description": "Required. ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Required. Cloud SQL instance name.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "InstancesDemoteRequest" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Demotes an existing standalone instance to be a Cloud SQL read replica for an external database server." }, "export": { "id": "sql.instances.export", "path": "v1/projects/{project}/instances/{instance}/export", "flatPath": "v1/projects/{project}/instances/{instance}/export", "httpMethod": "POST", "parameters": { "project": { "description": "Project ID of the project that contains the instance to be exported.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "InstancesExportRequest" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], "description": "Exports data from a Cloud SQL instance to a Cloud Storage bucket as a SQL dump or CSV file." }, "failover": { "id": "sql.instances.failover", "path": "v1/projects/{project}/instances/{instance}/failover", "flatPath": "v1/projects/{project}/instances/{instance}/failover", "httpMethod": "POST", "parameters": { "project": { "description": "ID of the project that contains the read replica.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "InstancesFailoverRequest" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "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 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 only), this causes the instance to failover to its failover replica instance." }, "reencrypt": { "id": "sql.instances.reencrypt", "path": "v1/projects/{project}/instances/{instance}/reencrypt", "flatPath": "v1/projects/{project}/instances/{instance}/reencrypt", "httpMethod": "POST", "parameters": { "project": { "description": "ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "InstancesReencryptRequest" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Reencrypt CMEK instance with latest key version." }, "get": { "id": "sql.instances.get", "path": "v1/projects/{project}/instances/{instance}", "flatPath": "v1/projects/{project}/instances/{instance}", "httpMethod": "GET", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Database instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "response": { "$ref": "DatabaseInstance" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Retrieves a resource containing information about a Cloud SQL instance." }, "import": { "id": "sql.instances.import", "path": "v1/projects/{project}/instances/{instance}/import", "flatPath": "v1/projects/{project}/instances/{instance}/import", "httpMethod": "POST", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "InstancesImportRequest" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], "description": "Imports data into a Cloud SQL instance from a SQL dump or CSV file in Cloud Storage." }, "insert": { "id": "sql.instances.insert", "path": "v1/projects/{project}/instances", "flatPath": "v1/projects/{project}/instances", "httpMethod": "POST", "parameters": { "project": { "description": "Project ID of the project to which the newly created Cloud SQL instances should belong.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project" ], "request": { "$ref": "DatabaseInstance" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Creates a new Cloud SQL instance." }, "list": { "id": "sql.instances.list", "path": "v1/projects/{project}/instances", "flatPath": "v1/projects/{project}/instances", "httpMethod": "GET", "parameters": { "project": { "description": "Project ID of the project for which to list Cloud SQL instances.", "location": "path", "required": true, "type": "string" }, "filter": { "description": "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 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 instanceType:CLOUD_SQL_INSTANCE'. By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly.", "location": "query", "type": "string" }, "maxResults": { "description": "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 above 1000 are coerced to 1000.", "location": "query", "type": "integer", "format": "uint32" }, "pageToken": { "description": "A previously-returned page token representing part of the larger set of results to view.", "location": "query", "type": "string" } }, "parameterOrder": [ "project" ], "response": { "$ref": "InstancesListResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Lists instances under a given project." }, "listServerCas": { "id": "sql.instances.listServerCas", "path": "v1/projects/{project}/instances/{instance}/listServerCas", "flatPath": "v1/projects/{project}/instances/{instance}/listServerCas", "httpMethod": "GET", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "response": { "$ref": "InstancesListServerCasResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "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 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." }, "patch": { "id": "sql.instances.patch", "path": "v1/projects/{project}/instances/{instance}", "flatPath": "v1/projects/{project}/instances/{instance}", "httpMethod": "PATCH", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "DatabaseInstance" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Partially updates settings of a Cloud SQL instance by merging the request with the current configuration. This method supports patch semantics." }, "promoteReplica": { "id": "sql.instances.promoteReplica", "path": "v1/projects/{project}/instances/{instance}/promoteReplica", "flatPath": "v1/projects/{project}/instances/{instance}/promoteReplica", "httpMethod": "POST", "parameters": { "project": { "description": "ID of the project that contains the read replica.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL read replica instance name.", "location": "path", "required": true, "type": "string" }, "failover": { "description": "Set to true if the promote operation should attempt to re-add the original primary as a replica when it comes back online. Otherwise, if this value is false or not set, the original primary will be a standalone instance.", "location": "query", "type": "boolean" } }, "parameterOrder": [ "project", "instance" ], "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Promotes the read replica instance to be a stand-alone Cloud SQL instance. Using this operation might cause your instance to restart." }, "switchover": { "id": "sql.instances.switchover", "path": "v1/projects/{project}/instances/{instance}/switchover", "flatPath": "v1/projects/{project}/instances/{instance}/switchover", "httpMethod": "POST", "parameters": { "project": { "description": "ID of the project that contains the replica.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL read replica instance name.", "location": "path", "required": true, "type": "string" }, "dbTimeout": { "description": "Optional. (MySQL only) Cloud SQL instance operations timeout, which is a sum of all database operations. Default value is 10 minutes and can be modified to a maximum value of 24 hours.", "location": "query", "type": "string", "format": "google-duration" } }, "parameterOrder": [ "project", "instance" ], "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Switches over from the primary instance to the replica instance." }, "resetSslConfig": { "id": "sql.instances.resetSslConfig", "path": "v1/projects/{project}/instances/{instance}/resetSslConfig", "flatPath": "v1/projects/{project}/instances/{instance}/resetSslConfig", "httpMethod": "POST", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Deletes all client certificates and generates a new server SSL certificate for the instance." }, "restart": { "id": "sql.instances.restart", "path": "v1/projects/{project}/instances/{instance}/restart", "flatPath": "v1/projects/{project}/instances/{instance}/restart", "httpMethod": "POST", "parameters": { "project": { "description": "Project ID of the project that contains the instance to be restarted.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Restarts a Cloud SQL instance." }, "restoreBackup": { "id": "sql.instances.restoreBackup", "path": "v1/projects/{project}/instances/{instance}/restoreBackup", "flatPath": "v1/projects/{project}/instances/{instance}/restoreBackup", "httpMethod": "POST", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "InstancesRestoreBackupRequest" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Restores a backup of a Cloud SQL instance. Using this operation might cause your instance to restart." }, "rotateServerCa": { "id": "sql.instances.rotateServerCa", "path": "v1/projects/{project}/instances/{instance}/rotateServerCa", "flatPath": "v1/projects/{project}/instances/{instance}/rotateServerCa", "httpMethod": "POST", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "InstancesRotateServerCaRequest" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with the addServerCA method." }, "startReplica": { "id": "sql.instances.startReplica", "path": "v1/projects/{project}/instances/{instance}/startReplica", "flatPath": "v1/projects/{project}/instances/{instance}/startReplica", "httpMethod": "POST", "parameters": { "project": { "description": "ID of the project that contains the read replica.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL read replica instance name.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Starts the replication in the read replica instance." }, "stopReplica": { "id": "sql.instances.stopReplica", "path": "v1/projects/{project}/instances/{instance}/stopReplica", "flatPath": "v1/projects/{project}/instances/{instance}/stopReplica", "httpMethod": "POST", "parameters": { "project": { "description": "ID of the project that contains the read replica.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL read replica instance name.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Stops the replication in the read replica instance." }, "truncateLog": { "id": "sql.instances.truncateLog", "path": "v1/projects/{project}/instances/{instance}/truncateLog", "flatPath": "v1/projects/{project}/instances/{instance}/truncateLog", "httpMethod": "POST", "parameters": { "project": { "description": "Project ID of the Cloud SQL project.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "InstancesTruncateLogRequest" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Truncate MySQL general and slow query log tables MySQL only." }, "update": { "id": "sql.instances.update", "path": "v1/projects/{project}/instances/{instance}", "flatPath": "v1/projects/{project}/instances/{instance}", "httpMethod": "PUT", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "DatabaseInstance" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Updates settings of a Cloud SQL instance. Using this operation might cause your instance to restart." }, "acquireSsrsLease": { "id": "sql.instances.acquireSsrsLease", "path": "v1/projects/{project}/instances/{instance}/acquireSsrsLease", "flatPath": "v1/projects/{project}/instances/{instance}/acquireSsrsLease", "httpMethod": "POST", "parameters": { "project": { "description": "Required. Project ID of the project that contains the instance (Example: project-id).", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Required. Cloud SQL instance ID. This doesn't include the project ID. It's composed of lowercase letters, numbers, and hyphens, and it must start with a letter. The total length must be 98 characters or less (Example: instance-id).", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "InstancesAcquireSsrsLeaseRequest" }, "response": { "$ref": "SqlInstancesAcquireSsrsLeaseResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Acquire a lease for the setup of SQL Server Reporting Services (SSRS)." }, "releaseSsrsLease": { "id": "sql.instances.releaseSsrsLease", "path": "v1/projects/{project}/instances/{instance}/releaseSsrsLease", "flatPath": "v1/projects/{project}/instances/{instance}/releaseSsrsLease", "httpMethod": "POST", "parameters": { "project": { "description": "Required. The project ID that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Required. The Cloud SQL instance ID. This doesn't include the project ID. The instance ID contains lowercase letters, numbers, and hyphens, and it must start with a letter. This ID can have a maximum length of 98 characters.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "response": { "$ref": "SqlInstancesReleaseSsrsLeaseResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Release a lease for the setup of SQL Server Reporting Services (SSRS)." } } }, "sslCerts": { "methods": { "createEphemeral": { "id": "sql.sslCerts.createEphemeral", "path": "v1/projects/{project}/instances/{instance}/createEphemeral", "flatPath": "v1/projects/{project}/instances/{instance}/createEphemeral", "httpMethod": "POST", "parameters": { "project": { "description": "Project ID of the Cloud SQL project.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "SslCertsCreateEphemeralRequest" }, "response": { "$ref": "SslCert" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "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 authenticate as themselves when connecting to the database." }, "delete": { "id": "sql.sslCerts.delete", "path": "v1/projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}", "flatPath": "v1/projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}", "httpMethod": "DELETE", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" }, "sha1Fingerprint": { "description": "Sha1 FingerPrint.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance", "sha1Fingerprint" ], "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Deletes the SSL certificate. For First Generation instances, the certificate remains valid until the instance is restarted." }, "get": { "id": "sql.sslCerts.get", "path": "v1/projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}", "flatPath": "v1/projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}", "httpMethod": "GET", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" }, "sha1Fingerprint": { "description": "Sha1 FingerPrint.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance", "sha1Fingerprint" ], "response": { "$ref": "SslCert" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "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." }, "insert": { "id": "sql.sslCerts.insert", "path": "v1/projects/{project}/instances/{instance}/sslCerts", "flatPath": "v1/projects/{project}/instances/{instance}/sslCerts", "httpMethod": "POST", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "SslCertsInsertRequest" }, "response": { "$ref": "SslCertsInsertResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "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." }, "list": { "id": "sql.sslCerts.list", "path": "v1/projects/{project}/instances/{instance}/sslCerts", "flatPath": "v1/projects/{project}/instances/{instance}/sslCerts", "httpMethod": "GET", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "response": { "$ref": "SslCertsListResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Lists all of the current SSL certificates for the instance." } } }, "projects": { "resources": { "instances": { "methods": { "rescheduleMaintenance": { "id": "sql.projects.instances.rescheduleMaintenance", "path": "v1/projects/{project}/instances/{instance}/rescheduleMaintenance", "flatPath": "v1/projects/{project}/instances/{instance}/rescheduleMaintenance", "httpMethod": "POST", "parameters": { "project": { "description": "ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "SqlInstancesRescheduleMaintenanceRequestBody" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Reschedules the maintenance on the given instance." }, "verifyExternalSyncSettings": { "id": "sql.projects.instances.verifyExternalSyncSettings", "path": "v1/projects/{project}/instances/{instance}/verifyExternalSyncSettings", "flatPath": "v1/projects/{project}/instances/{instance}/verifyExternalSyncSettings", "httpMethod": "POST", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "SqlInstancesVerifyExternalSyncSettingsRequest" }, "response": { "$ref": "SqlInstancesVerifyExternalSyncSettingsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Verify External primary instance external sync settings." }, "startExternalSync": { "id": "sql.projects.instances.startExternalSync", "path": "v1/projects/{project}/instances/{instance}/startExternalSync", "flatPath": "v1/projects/{project}/instances/{instance}/startExternalSync", "httpMethod": "POST", "parameters": { "project": { "description": "ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "SqlInstancesStartExternalSyncRequest" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Start External primary instance migration." }, "performDiskShrink": { "id": "sql.projects.instances.performDiskShrink", "path": "v1/projects/{project}/instances/{instance}/performDiskShrink", "flatPath": "v1/projects/{project}/instances/{instance}/performDiskShrink", "httpMethod": "POST", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "PerformDiskShrinkContext" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Perform Disk Shrink on primary instance." }, "getDiskShrinkConfig": { "id": "sql.projects.instances.getDiskShrinkConfig", "path": "v1/projects/{project}/instances/{instance}/getDiskShrinkConfig", "flatPath": "v1/projects/{project}/instances/{instance}/getDiskShrinkConfig", "httpMethod": "GET", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "response": { "$ref": "SqlInstancesGetDiskShrinkConfigResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Get Disk Shrink Config for a given instance." }, "resetReplicaSize": { "id": "sql.projects.instances.resetReplicaSize", "path": "v1/projects/{project}/instances/{instance}/resetReplicaSize", "flatPath": "v1/projects/{project}/instances/{instance}/resetReplicaSize", "httpMethod": "POST", "parameters": { "project": { "description": "ID of the project that contains the read replica.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL read replica instance name.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "SqlInstancesResetReplicaSizeRequest" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Reset Replica Size to primary instance disk size." }, "getLatestRecoveryTime": { "id": "sql.projects.instances.getLatestRecoveryTime", "path": "v1/projects/{project}/instances/{instance}/getLatestRecoveryTime", "flatPath": "v1/projects/{project}/instances/{instance}/getLatestRecoveryTime", "httpMethod": "GET", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "response": { "$ref": "SqlInstancesGetLatestRecoveryTimeResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Get Latest Recovery Time for a given instance." } } } } }, "backupRuns": { "methods": { "delete": { "id": "sql.backupRuns.delete", "path": "v1/projects/{project}/instances/{instance}/backupRuns/{id}", "flatPath": "v1/projects/{project}/instances/{instance}/backupRuns/{id}", "httpMethod": "DELETE", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" }, "id": { "description": "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.", "location": "path", "required": true, "type": "string", "format": "int64" } }, "parameterOrder": [ "project", "instance", "id" ], "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Deletes the backup taken by a backup run." }, "get": { "id": "sql.backupRuns.get", "path": "v1/projects/{project}/instances/{instance}/backupRuns/{id}", "flatPath": "v1/projects/{project}/instances/{instance}/backupRuns/{id}", "httpMethod": "GET", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" }, "id": { "description": "The ID of this backup run.", "location": "path", "required": true, "type": "string", "format": "int64" } }, "parameterOrder": [ "project", "instance", "id" ], "response": { "$ref": "BackupRun" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Retrieves a resource containing information about a backup run." }, "insert": { "id": "sql.backupRuns.insert", "path": "v1/projects/{project}/instances/{instance}/backupRuns", "flatPath": "v1/projects/{project}/instances/{instance}/backupRuns", "httpMethod": "POST", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "BackupRun" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Creates a new backup run on demand." }, "list": { "id": "sql.backupRuns.list", "path": "v1/projects/{project}/instances/{instance}/backupRuns", "flatPath": "v1/projects/{project}/instances/{instance}/backupRuns", "httpMethod": "GET", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID, or \"-\" for all instances. This does not include the project ID.", "location": "path", "required": true, "type": "string" }, "maxResults": { "description": "Maximum number of backup runs per response.", "location": "query", "type": "integer", "format": "int32" }, "pageToken": { "description": "A previously-returned page token representing part of the larger set of results to view.", "location": "query", "type": "string" } }, "parameterOrder": [ "project", "instance" ], "response": { "$ref": "BackupRunsListResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Lists all backup runs associated with the project or a given instance and configuration in the reverse chronological order of the backup initiation time." } } }, "connect": { "methods": { "get": { "id": "sql.connect.get", "path": "v1/projects/{project}/instances/{instance}/connectSettings", "flatPath": "v1/projects/{project}/instances/{instance}/connectSettings", "httpMethod": "GET", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" }, "readTime": { "description": "Optional. Optional snapshot read timestamp to trade freshness for performance.", "location": "query", "type": "string", "format": "google-datetime" } }, "parameterOrder": [ "project", "instance" ], "response": { "$ref": "ConnectSettings" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Retrieves connect settings about a Cloud SQL instance." }, "generateEphemeralCert": { "id": "sql.connect.generateEphemeral", "path": "v1/projects/{project}/instances/{instance}:generateEphemeralCert", "flatPath": "v1/projects/{project}/instances/{instance}:generateEphemeralCert", "httpMethod": "POST", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "GenerateEphemeralCertRequest" }, "response": { "$ref": "GenerateEphemeralCertResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "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 authenticate as themselves when connecting to the database." } } }, "databases": { "methods": { "delete": { "id": "sql.databases.delete", "path": "v1/projects/{project}/instances/{instance}/databases/{database}", "flatPath": "v1/projects/{project}/instances/{instance}/databases/{database}", "httpMethod": "DELETE", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Database instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" }, "database": { "description": "Name of the database to be deleted in the instance.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance", "database" ], "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Deletes a database from a Cloud SQL instance." }, "get": { "id": "sql.databases.get", "path": "v1/projects/{project}/instances/{instance}/databases/{database}", "flatPath": "v1/projects/{project}/instances/{instance}/databases/{database}", "httpMethod": "GET", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Database instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" }, "database": { "description": "Name of the database in the instance.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance", "database" ], "response": { "$ref": "Database" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Retrieves a resource containing information about a database inside a Cloud SQL instance." }, "insert": { "id": "sql.databases.insert", "path": "v1/projects/{project}/instances/{instance}/databases", "flatPath": "v1/projects/{project}/instances/{instance}/databases", "httpMethod": "POST", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Database instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "Database" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Inserts a resource containing information about a database inside a Cloud SQL instance. **Note:** You can't modify the default character set and collation." }, "list": { "id": "sql.databases.list", "path": "v1/projects/{project}/instances/{instance}/databases", "flatPath": "v1/projects/{project}/instances/{instance}/databases", "httpMethod": "GET", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "response": { "$ref": "DatabasesListResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Lists databases in the specified Cloud SQL instance." }, "patch": { "id": "sql.databases.patch", "path": "v1/projects/{project}/instances/{instance}/databases/{database}", "flatPath": "v1/projects/{project}/instances/{instance}/databases/{database}", "httpMethod": "PATCH", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Database instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" }, "database": { "description": "Name of the database to be updated in the instance.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance", "database" ], "request": { "$ref": "Database" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Partially updates a resource containing information about a database inside a Cloud SQL instance. This method supports patch semantics." }, "update": { "id": "sql.databases.update", "path": "v1/projects/{project}/instances/{instance}/databases/{database}", "flatPath": "v1/projects/{project}/instances/{instance}/databases/{database}", "httpMethod": "PUT", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Database instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" }, "database": { "description": "Name of the database to be updated in the instance.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance", "database" ], "request": { "$ref": "Database" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Updates a resource containing information about a database inside a Cloud SQL instance." } } }, "flags": { "methods": { "list": { "id": "sql.flags.list", "path": "v1/flags", "flatPath": "v1/flags", "httpMethod": "GET", "parameters": { "databaseVersion": { "description": "Database type and version you want to retrieve flags for. By default, this method returns flags for all database types and versions.", "location": "query", "type": "string" } }, "parameterOrder": [], "response": { "$ref": "FlagsListResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Lists all available database flags for Cloud SQL instances." } } }, "operations": { "methods": { "get": { "id": "sql.operations.get", "path": "v1/projects/{project}/operations/{operation}", "flatPath": "v1/projects/{project}/operations/{operation}", "httpMethod": "GET", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "operation": { "description": "Instance operation ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "operation" ], "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Retrieves an instance operation that has been performed on an instance." }, "list": { "id": "sql.operations.list", "path": "v1/projects/{project}/operations", "flatPath": "v1/projects/{project}/operations", "httpMethod": "GET", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "query", "type": "string" }, "maxResults": { "description": "Maximum number of operations per response.", "location": "query", "type": "integer", "format": "uint32" }, "pageToken": { "description": "A previously-returned page token representing part of the larger set of results to view.", "location": "query", "type": "string" } }, "parameterOrder": [ "project" ], "response": { "$ref": "OperationsListResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Lists all instance operations that have been performed on the given Cloud SQL instance in the reverse chronological order of the start time." }, "cancel": { "id": "sql.operations.cancel", "path": "v1/projects/{project}/operations/{operation}/cancel", "flatPath": "v1/projects/{project}/operations/{operation}/cancel", "httpMethod": "POST", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "operation": { "description": "Instance operation ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "operation" ], "response": { "$ref": "Empty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Cancels an instance operation that has been performed on an instance." } } }, "tiers": { "methods": { "list": { "id": "sql.tiers.list", "path": "v1/projects/{project}/tiers", "flatPath": "v1/projects/{project}/tiers", "httpMethod": "GET", "parameters": { "project": { "description": "Project ID of the project for which to list tiers.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project" ], "response": { "$ref": "TiersListResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "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." } } }, "users": { "methods": { "delete": { "id": "sql.users.delete", "path": "v1/projects/{project}/instances/{instance}/users", "flatPath": "v1/projects/{project}/instances/{instance}/users", "httpMethod": "DELETE", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Database instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" }, "host": { "description": "Host of the user in the instance.", "location": "query", "type": "string" }, "name": { "description": "Name of the user in the instance.", "location": "query", "type": "string" } }, "parameterOrder": [ "project", "instance" ], "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Deletes a user from a Cloud SQL instance." }, "get": { "id": "sql.users.get", "path": "v1/projects/{project}/instances/{instance}/users/{name}", "flatPath": "v1/projects/{project}/instances/{instance}/users/{name}", "httpMethod": "GET", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Database instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" }, "name": { "description": "User of the instance.", "location": "path", "required": true, "type": "string" }, "host": { "description": "Host of a user of the instance.", "location": "query", "type": "string" } }, "parameterOrder": [ "project", "instance", "name" ], "response": { "$ref": "User" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Retrieves a resource containing information about a user." }, "insert": { "id": "sql.users.insert", "path": "v1/projects/{project}/instances/{instance}/users", "flatPath": "v1/projects/{project}/instances/{instance}/users", "httpMethod": "POST", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Database instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "User" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Creates a new user in a Cloud SQL instance." }, "list": { "id": "sql.users.list", "path": "v1/projects/{project}/instances/{instance}/users", "flatPath": "v1/projects/{project}/instances/{instance}/users", "httpMethod": "GET", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Database instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "project", "instance" ], "response": { "$ref": "UsersListResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Lists users in the specified Cloud SQL instance." }, "update": { "id": "sql.users.update", "path": "v1/projects/{project}/instances/{instance}/users", "flatPath": "v1/projects/{project}/instances/{instance}/users", "httpMethod": "PUT", "parameters": { "project": { "description": "Project ID of the project that contains the instance.", "location": "path", "required": true, "type": "string" }, "instance": { "description": "Database instance ID. This does not include the project ID.", "location": "path", "required": true, "type": "string" }, "host": { "description": "Optional. Host of the user in the instance.", "location": "query", "type": "string" }, "name": { "description": "Name of the user in the instance.", "location": "query", "type": "string" } }, "parameterOrder": [ "project", "instance" ], "request": { "$ref": "User" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/sqlservice.admin" ], "description": "Updates an existing user in a Cloud SQL instance." } } } }, "id": "sqladmin:v1", "description": "API for Cloud SQL database instance management", "title": "Cloud SQL Admin API", "rootUrl": "https://sqladmin.googleapis.com/", "ownerName": "Google", "fullyEncodeReservedExpansion": true, "parameters": { "access_token": { "type": "string", "description": "OAuth access token.", "location": "query" }, "alt": { "type": "string", "description": "Data format for response.", "default": "json", "enum": [ "json", "media", "proto" ], "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", "Responses with Content-Type of application/x-protobuf" ], "location": "query" }, "callback": { "type": "string", "description": "JSONP", "location": "query" }, "fields": { "type": "string", "description": "Selector specifying which fields to include in a partial response.", "location": "query" }, "key": { "type": "string", "description": "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.", "location": "query" }, "oauth_token": { "type": "string", "description": "OAuth 2.0 token for the current user.", "location": "query" }, "prettyPrint": { "type": "boolean", "description": "Returns response with indentations and line breaks.", "default": "true", "location": "query" }, "quotaUser": { "type": "string", "description": "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.", "location": "query" }, "upload_protocol": { "type": "string", "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "location": "query" }, "uploadType": { "type": "string", "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", "location": "query" }, "$.xgafv": { "type": "string", "description": "V1 error format.", "enum": [ "1", "2" ], "enumDescriptions": [ "v1 error format", "v2 error format" ], "location": "query" } }, "batchPath": "batch", "revision": "20240324", "documentationLink": "https://developers.google.com/cloud-sql/", "kind": "discovery#restDescription", "protocol": "rest", "ownerDomain": "google.com", "auth": { "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." }, "https://www.googleapis.com/auth/sqlservice.admin": { "description": "Manage your Google SQL Service instances" } } } }, "mtlsRootUrl": "https://sqladmin.mtls.googleapis.com/", "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" } }