1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219 |
- // Copyright 2021 Google LLC
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- syntax = "proto3";
- package google.cloud.sql.v1;
- import "google/api/annotations.proto";
- import "google/api/field_behavior.proto";
- import "google/cloud/sql/v1/cloud_sql_resources.proto";
- import "google/protobuf/timestamp.proto";
- import "google/protobuf/wrappers.proto";
- import "google/api/client.proto";
- option go_package = "google.golang.org/genproto/googleapis/cloud/sql/v1;sql";
- option java_multiple_files = true;
- option java_outer_classname = "CloudSqlServiceProto";
- option java_package = "com.google.cloud.sql.v1";
- // LINT: LEGACY_NAMES
- // Service to manage Cloud SQL instances.
- service SqlInstancesService {
- option (google.api.default_host) = "sqladmin.googleapis.com";
- option (google.api.oauth_scopes) =
- "https://www.googleapis.com/auth/cloud-platform,"
- "https://www.googleapis.com/auth/sqlservice.admin";
- // 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.
- rpc AddServerCa(SqlInstancesAddServerCaRequest) returns (Operation) {
- option (google.api.http) = {
- post: "/v1/projects/{project}/instances/{instance}/addServerCa"
- };
- }
- // Creates a Cloud SQL instance as a clone of the source instance. Using this
- // operation might cause your instance to restart.
- rpc Clone(SqlInstancesCloneRequest) returns (Operation) {
- option (google.api.http) = {
- post: "/v1/projects/{project}/instances/{instance}/clone"
- body: "body"
- };
- }
- // Deletes a Cloud SQL instance.
- rpc Delete(SqlInstancesDeleteRequest) returns (Operation) {
- option (google.api.http) = {
- delete: "/v1/projects/{project}/instances/{instance}"
- };
- }
- // Demotes the stand-alone instance to be a Cloud SQL read replica for an
- // external database server.
- rpc DemoteMaster(SqlInstancesDemoteMasterRequest) returns (Operation) {
- option (google.api.http) = {
- post: "/v1/projects/{project}/instances/{instance}/demoteMaster"
- body: "body"
- };
- }
- // Exports data from a Cloud SQL instance to a Cloud Storage bucket as a SQL
- // dump or CSV file.
- rpc Export(SqlInstancesExportRequest) returns (Operation) {
- option (google.api.http) = {
- post: "/v1/projects/{project}/instances/{instance}/export"
- body: "body"
- };
- }
- // 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.
- rpc Failover(SqlInstancesFailoverRequest) returns (Operation) {
- option (google.api.http) = {
- post: "/v1/projects/{project}/instances/{instance}/failover"
- body: "body"
- };
- }
- // Retrieves a resource containing information about a Cloud SQL instance.
- rpc Get(SqlInstancesGetRequest) returns (DatabaseInstance) {
- option (google.api.http) = {
- get: "/v1/projects/{project}/instances/{instance}"
- };
- }
- // Imports data into a Cloud SQL instance from a SQL dump or CSV file in
- // Cloud Storage.
- rpc Import(SqlInstancesImportRequest) returns (Operation) {
- option (google.api.http) = {
- post: "/v1/projects/{project}/instances/{instance}/import"
- body: "body"
- };
- }
- // Creates a new Cloud SQL instance.
- rpc Insert(SqlInstancesInsertRequest) returns (Operation) {
- option (google.api.http) = {
- post: "/v1/projects/{project}/instances"
- body: "body"
- };
- }
- // Lists instances under a given project.
- rpc List(SqlInstancesListRequest) returns (InstancesListResponse) {
- option (google.api.http) = {
- get: "/v1/projects/{project}/instances"
- };
- }
- // 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.
- rpc ListServerCas(SqlInstancesListServerCasRequest) returns (InstancesListServerCasResponse) {
- option (google.api.http) = {
- get: "/v1/projects/{project}/instances/{instance}/listServerCas"
- };
- }
- // Updates settings of a Cloud SQL instance.
- // This method supports patch semantics.
- rpc Patch(SqlInstancesPatchRequest) returns (Operation) {
- option (google.api.http) = {
- patch: "/v1/projects/{project}/instances/{instance}"
- body: "body"
- };
- }
- // Promotes the read replica instance to be a stand-alone Cloud SQL instance.
- // Using this operation might cause your instance to restart.
- rpc PromoteReplica(SqlInstancesPromoteReplicaRequest) returns (Operation) {
- option (google.api.http) = {
- post: "/v1/projects/{project}/instances/{instance}/promoteReplica"
- };
- }
- // Deletes all client certificates and generates a new server SSL certificate
- // for the instance.
- rpc ResetSslConfig(SqlInstancesResetSslConfigRequest) returns (Operation) {
- option (google.api.http) = {
- post: "/v1/projects/{project}/instances/{instance}/resetSslConfig"
- };
- }
- // Restarts a Cloud SQL instance.
- rpc Restart(SqlInstancesRestartRequest) returns (Operation) {
- option (google.api.http) = {
- post: "/v1/projects/{project}/instances/{instance}/restart"
- };
- }
- // Restores a backup of a Cloud SQL instance. Using this operation might cause
- // your instance to restart.
- rpc RestoreBackup(SqlInstancesRestoreBackupRequest) returns (Operation) {
- option (google.api.http) = {
- post: "/v1/projects/{project}/instances/{instance}/restoreBackup"
- body: "body"
- };
- }
- // Rotates the server certificate to one signed by the Certificate Authority
- // (CA) version previously added with the addServerCA method.
- rpc RotateServerCa(SqlInstancesRotateServerCaRequest) returns (Operation) {
- option (google.api.http) = {
- post: "/v1/projects/{project}/instances/{instance}/rotateServerCa"
- body: "body"
- };
- }
- // Starts the replication in the read replica instance.
- rpc StartReplica(SqlInstancesStartReplicaRequest) returns (Operation) {
- option (google.api.http) = {
- post: "/v1/projects/{project}/instances/{instance}/startReplica"
- };
- }
- // Stops the replication in the read replica instance.
- rpc StopReplica(SqlInstancesStopReplicaRequest) returns (Operation) {
- option (google.api.http) = {
- post: "/v1/projects/{project}/instances/{instance}/stopReplica"
- };
- }
- // Truncate MySQL general and slow query log tables
- // MySQL only.
- rpc TruncateLog(SqlInstancesTruncateLogRequest) returns (Operation) {
- option (google.api.http) = {
- post: "/v1/projects/{project}/instances/{instance}/truncateLog"
- body: "body"
- };
- }
- // Updates settings of a Cloud SQL instance. Using this operation might cause
- // your instance to restart.
- rpc Update(SqlInstancesUpdateRequest) returns (Operation) {
- option (google.api.http) = {
- put: "/v1/projects/{project}/instances/{instance}"
- body: "body"
- };
- }
- // 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.
- rpc CreateEphemeral(SqlInstancesCreateEphemeralCertRequest) returns (SslCert) {
- option (google.api.http) = {
- post: "/v1/projects/{project}/instances/{instance}/createEphemeral"
- body: "body"
- };
- }
- // Reschedules the maintenance on the given instance.
- rpc RescheduleMaintenance(SqlInstancesRescheduleMaintenanceRequest) returns (Operation) {
- option (google.api.http) = {
- post: "/v1/projects/{project}/instances/{instance}/rescheduleMaintenance"
- body: "body"
- };
- }
- // Verify External primary instance external sync settings.
- rpc VerifyExternalSyncSettings(SqlInstancesVerifyExternalSyncSettingsRequest) returns (SqlInstancesVerifyExternalSyncSettingsResponse) {
- option (google.api.http) = {
- post: "/v1/projects/{project}/instances/{instance}/verifyExternalSyncSettings"
- body: "*"
- };
- }
- // Start External primary instance migration.
- rpc StartExternalSync(SqlInstancesStartExternalSyncRequest) returns (Operation) {
- option (google.api.http) = {
- post: "/v1/projects/{project}/instances/{instance}/startExternalSync"
- body: "*"
- };
- }
- }
- // Instance add server CA request.
- message SqlInstancesAddServerCaRequest {
- // Cloud SQL instance ID. This does not include the project ID.
- string instance = 1;
- // Project ID of the project that contains the instance.
- string project = 2;
- }
- // Instance clone request.
- message SqlInstancesCloneRequest {
- // The ID of the Cloud SQL instance to be cloned (source). This does not
- // include the project ID.
- string instance = 1;
- // Project ID of the source as well as the clone Cloud SQL instance.
- string project = 2;
- InstancesCloneRequest body = 100;
- }
- // Instance delete request.
- message SqlInstancesDeleteRequest {
- // Cloud SQL instance ID. This does not include the project ID.
- string instance = 1;
- // Project ID of the project that contains the instance to be deleted.
- string project = 2;
- }
- // Instance demote master request.
- message SqlInstancesDemoteMasterRequest {
- // Cloud SQL instance name.
- string instance = 1;
- // ID of the project that contains the instance.
- string project = 2;
- InstancesDemoteMasterRequest body = 100;
- }
- // Instance export request.
- message SqlInstancesExportRequest {
- // Cloud SQL instance ID. This does not include the project ID.
- string instance = 1;
- // Project ID of the project that contains the instance to be exported.
- string project = 2;
- InstancesExportRequest body = 100;
- }
- // Instance failover request.
- message SqlInstancesFailoverRequest {
- // Cloud SQL instance ID. This does not include the project ID.
- string instance = 1;
- // ID of the project that contains the read replica.
- string project = 2;
- InstancesFailoverRequest body = 100;
- }
- // Instance get request.
- message SqlInstancesGetRequest {
- // Database instance ID. This does not include the project ID.
- string instance = 1;
- // Project ID of the project that contains the instance.
- string project = 2;
- }
- // Instance import request.
- message SqlInstancesImportRequest {
- // Cloud SQL instance ID. This does not include the project ID.
- string instance = 1;
- // Project ID of the project that contains the instance.
- string project = 2;
- InstancesImportRequest body = 100;
- }
- // Instance insert request.
- message SqlInstancesInsertRequest {
- // Project ID of the project to which the newly created Cloud SQL instances
- // should belong.
- string project = 1;
- DatabaseInstance body = 100;
- }
- // Instance list request.
- message SqlInstancesListRequest {
- // 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.
- string filter = 1;
- // The maximum number of results to return per response.
- uint32 max_results = 2;
- // A previously-returned page token representing part of the larger set of
- // results to view.
- string page_token = 3;
- // Project ID of the project for which to list Cloud SQL instances.
- string project = 4;
- }
- // Instance list server CAs request.
- message SqlInstancesListServerCasRequest {
- // Cloud SQL instance ID. This does not include the project ID.
- string instance = 1;
- // Project ID of the project that contains the instance.
- string project = 2;
- }
- // Instance patch request.
- message SqlInstancesPatchRequest {
- // Cloud SQL instance ID. This does not include the project ID.
- string instance = 1;
- // Project ID of the project that contains the instance.
- string project = 2;
- DatabaseInstance body = 100;
- }
- // Instance promote replica request.
- message SqlInstancesPromoteReplicaRequest {
- // Cloud SQL read replica instance name.
- string instance = 1;
- // ID of the project that contains the read replica.
- string project = 2;
- }
- // Instance reset SSL config request.
- message SqlInstancesResetSslConfigRequest {
- // Cloud SQL instance ID. This does not include the project ID.
- string instance = 1;
- // Project ID of the project that contains the instance.
- string project = 2;
- }
- // Instance restart request.
- message SqlInstancesRestartRequest {
- // Cloud SQL instance ID. This does not include the project ID.
- string instance = 1;
- // Project ID of the project that contains the instance to be restarted.
- string project = 2;
- }
- // Instance restore backup request.
- message SqlInstancesRestoreBackupRequest {
- // Cloud SQL instance ID. This does not include the project ID.
- string instance = 1;
- // Project ID of the project that contains the instance.
- string project = 2;
- InstancesRestoreBackupRequest body = 100;
- }
- // Instance rotate server CA request.
- message SqlInstancesRotateServerCaRequest {
- // Cloud SQL instance ID. This does not include the project ID.
- string instance = 1;
- // Project ID of the project that contains the instance.
- string project = 2;
- InstancesRotateServerCaRequest body = 100;
- }
- // Instance start replica request.
- message SqlInstancesStartReplicaRequest {
- // Cloud SQL read replica instance name.
- string instance = 1;
- // ID of the project that contains the read replica.
- string project = 2;
- }
- // Instance stop replica request.
- message SqlInstancesStopReplicaRequest {
- // Cloud SQL read replica instance name.
- string instance = 1;
- // ID of the project that contains the read replica.
- string project = 2;
- }
- // Instance truncate log request.
- message SqlInstancesTruncateLogRequest {
- // Cloud SQL instance ID. This does not include the project ID.
- string instance = 1;
- // Project ID of the Cloud SQL project.
- string project = 2;
- InstancesTruncateLogRequest body = 100;
- }
- // Instance update request.
- message SqlInstancesUpdateRequest {
- // Cloud SQL instance ID. This does not include the project ID.
- string instance = 1;
- // Project ID of the project that contains the instance.
- string project = 2;
- DatabaseInstance body = 100;
- }
- // Instance reschedule maintenance request.
- message SqlInstancesRescheduleMaintenanceRequest {
- // Cloud SQL instance ID. This does not include the project ID.
- string instance = 1;
- // ID of the project that contains the instance.
- string project = 2;
- SqlInstancesRescheduleMaintenanceRequestBody body = 100;
- }
- // Instance verify external sync settings request.
- message SqlInstancesVerifyExternalSyncSettingsRequest {
- enum ExternalSyncMode {
- // Unknown external sync mode, will be defaulted to ONLINE mode
- EXTERNAL_SYNC_MODE_UNSPECIFIED = 0;
- // Online external sync will set up replication after initial data external
- // sync
- ONLINE = 1;
- // Offline external sync only dumps and loads a one-time snapshot of
- // the primary instance's data
- OFFLINE = 2;
- }
- // Cloud SQL instance ID. This does not include the project ID.
- string instance = 1;
- // Project ID of the project that contains the instance.
- string project = 2;
- // Flag to enable verifying connection only
- bool verify_connection_only = 3;
- // External sync mode
- ExternalSyncMode sync_mode = 4;
- // Optional. Flag to verify settings required by replication setup only
- bool verify_replication_only = 5 [(google.api.field_behavior) = OPTIONAL];
- oneof sync_config {
- // Optional. MySQL-specific settings for start external sync.
- MySqlSyncConfig mysql_sync_config = 6 [(google.api.field_behavior) = OPTIONAL];
- }
- }
- // Instance start external sync request.
- message SqlInstancesStartExternalSyncRequest {
- // Cloud SQL instance ID. This does not include the project ID.
- string instance = 1;
- // ID of the project that contains the instance.
- string project = 2;
- // External sync mode.
- SqlInstancesVerifyExternalSyncSettingsRequest.ExternalSyncMode sync_mode = 3;
- // Whether to skip the verification step (VESS).
- bool skip_verification = 4;
- oneof sync_config {
- // MySQL-specific settings for start external sync.
- MySqlSyncConfig mysql_sync_config = 6;
- }
- }
- // Instance create ephemeral certificate request.
- message SqlInstancesCreateEphemeralCertRequest {
- // Cloud SQL instance ID. This does not include the project ID.
- string instance = 1;
- // Project ID of the Cloud SQL project.
- string project = 2;
- SslCertsCreateEphemeralRequest body = 100;
- }
- // Database instance clone request.
- message InstancesCloneRequest {
- // Contains details about the clone operation.
- CloneContext clone_context = 1;
- }
- // Database demote primary instance request.
- message InstancesDemoteMasterRequest {
- // Contains details about the demoteMaster operation.
- DemoteMasterContext demote_master_context = 1;
- }
- // Database instance export request.
- message InstancesExportRequest {
- // Contains details about the export operation.
- ExportContext export_context = 1;
- }
- // Instance failover request.
- message InstancesFailoverRequest {
- // Failover Context.
- FailoverContext failover_context = 1;
- }
- // SslCerts create ephemeral certificate request.
- message SslCertsCreateEphemeralRequest {
- // PEM encoded public key to include in the signed certificate.
- string public_key = 1;
- // Access token to include in the signed certificate.
- string access_token = 2;
- }
- // Database instance import request.
- message InstancesImportRequest {
- // Contains details about the import operation.
- ImportContext import_context = 1;
- }
- // Database instances list response.
- message InstancesListResponse {
- // This is always **sql#instancesList**.
- string kind = 1;
- // List of warnings that occurred while handling the request.
- repeated ApiWarning warnings = 2;
- // List of database instance resources.
- repeated DatabaseInstance items = 3;
- // The continuation token, used to page through large result sets. Provide
- // this value in a subsequent request to return the next page of results.
- string next_page_token = 4;
- }
- // Instances ListServerCas response.
- message InstancesListServerCasResponse {
- // List of server CA certificates for the instance.
- repeated SslCert certs = 1;
- string active_version = 2;
- // This is always **sql#instancesListServerCas**.
- string kind = 3;
- }
- // Database instance restore backup request.
- message InstancesRestoreBackupRequest {
- // Parameters required to perform the restore backup operation.
- RestoreBackupContext restore_backup_context = 1;
- }
- // Rotate server CA request.
- message InstancesRotateServerCaRequest {
- // Contains details about the rotate server CA operation.
- RotateServerCaContext rotate_server_ca_context = 1;
- }
- // Instance truncate log request.
- message InstancesTruncateLogRequest {
- // Contains details about the truncate log operation.
- TruncateLogContext truncate_log_context = 1;
- }
- // Instance verify external sync settings response.
- message SqlInstancesVerifyExternalSyncSettingsResponse {
- // This is always **sql#migrationSettingErrorList**.
- string kind = 1;
- // List of migration violations.
- repeated SqlExternalSyncSettingError errors = 2;
- // List of migration warnings.
- repeated SqlExternalSyncSettingError warnings = 3;
- }
- // Database instance clone context.
- message CloneContext {
- // This is always **sql#cloneContext**.
- string kind = 1;
- // Reserved for future use.
- int64 pitr_timestamp_ms = 2;
- // Name of the Cloud SQL instance to be created as a clone.
- string destination_instance_name = 3;
- // 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.
- BinLogCoordinates bin_log_coordinates = 4;
- // Timestamp, if specified, identifies the time to which the source instance
- // is cloned.
- google.protobuf.Timestamp point_in_time = 5;
- }
- // Binary log coordinates.
- message BinLogCoordinates {
- // Name of the binary log file for a Cloud SQL instance.
- string bin_log_file_name = 1;
- // Position (offset) within the binary log file.
- int64 bin_log_position = 2;
- // This is always **sql#binLogCoordinates**.
- string kind = 3;
- }
- // A Cloud SQL instance resource.
- message DatabaseInstance {
- message SqlFailoverReplica {
- // 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.
- string name = 1;
- // 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.
- google.protobuf.BoolValue available = 2;
- }
- // Any scheduled maintenance for this instance.
- message SqlScheduledMaintenance {
- // The start time of any upcoming scheduled maintenance for this instance.
- google.protobuf.Timestamp start_time = 1;
- bool can_defer = 2 [deprecated = true];
- // If the scheduled maintenance can be rescheduled.
- bool can_reschedule = 3;
- // Maintenance cannot be rescheduled to start beyond this deadline.
- optional google.protobuf.Timestamp schedule_deadline_time = 4;
- }
- // This message wraps up the information written by out-of-disk detection job.
- message SqlOutOfDiskReport {
- // This enum lists all possible states regarding out-of-disk issues.
- enum SqlOutOfDiskState {
- // Unspecified state
- SQL_OUT_OF_DISK_STATE_UNSPECIFIED = 0;
- // The instance has plenty space on data disk
- NORMAL = 1;
- // Data disk is almost used up. It is shutdown to prevent data
- // corruption.
- SOFT_SHUTDOWN = 2;
- }
- // 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
- optional SqlOutOfDiskState sql_out_of_disk_state = 1;
- // The minimum recommended increase size in GigaBytes
- // This field is consumed by the frontend
- // * Writers:
- // * the proactive database wellness job for OOD.
- // * Readers:
- optional int32 sql_min_recommended_increase_size_gb = 2;
- }
- // The current serving state of the database instance.
- enum SqlInstanceState {
- // The state of the instance is unknown.
- SQL_INSTANCE_STATE_UNSPECIFIED = 0;
- // The instance is running, or has been stopped by owner.
- RUNNABLE = 1;
- // The instance is not available, for example due to problems with billing.
- SUSPENDED = 2;
- // The instance is being deleted.
- PENDING_DELETE = 3;
- // The instance is being created.
- PENDING_CREATE = 4;
- // The instance is down for maintenance.
- MAINTENANCE = 5;
- // The creation of the instance failed or a fatal error occurred during
- // maintenance.
- FAILED = 6;
- // The instance is under maintenance operations and the database is
- // available.
- ONLINE_MAINTENANCE = 7;
- }
- // This is always **sql#instance**.
- string kind = 1;
- // The current serving state of the Cloud SQL instance. This can be one of the
- // following:
- // * **SQL_INSTANCE_STATE_UNSPECIFIED**: The state of the instance is
- // unknown.
- // * **RUNNABLE**: The instance is running, or has been stopped by owner.
- // * **SUSPENDED**: The instance is not available, for example due to
- // problems with billing.
- // * **PENDING_DELETE**: The instance is being deleted.
- // * **PENDING_CREATE**: The instance is being created.
- // * **MAINTENANCE**: The instance is down for maintenance.
- // * **FAILED**: The instance creation failed.
- SqlInstanceState state = 2;
- // 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, POSTGRES_13 (default).
- // * **SQL Server instances**: SQLSERVER_2019_STANDARD,
- // SQLSERVER_2019_ENTERPRISE, SQLSERVER_2019_EXPRESS, or SQLSERVER_2019_WEB,
- // SQLSERVER_2017_STANDARD (default), SQLSERVER_2017_ENTERPRISE,
- // SQLSERVER_2017_EXPRESS, or SQLSERVER_2017_WEB.
- SqlDatabaseVersion database_version = 3;
- // The user settings.
- Settings settings = 4;
- // This field is deprecated and will be removed from a future version of the
- // API. Use the **settings.settingsVersion** field instead.
- string etag = 5;
- // The name and status of the failover replica.
- SqlFailoverReplica failover_replica = 6;
- // The name of the instance which will act as primary in the replication
- // setup.
- string master_instance_name = 7;
- // The replicas of the instance.
- repeated string replica_names = 8;
- // The maximum disk size of the instance in bytes.
- google.protobuf.Int64Value max_disk_size = 9 [deprecated = true];
- // 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.
- google.protobuf.Int64Value current_disk_size = 10 [deprecated = true];
- // The assigned IP addresses for the instance.
- repeated IpMapping ip_addresses = 11;
- // SSL configuration.
- SslCert server_ca_cert = 12;
- // The instance type. This can be one of the following:
- // * **CLOUD_SQL_INSTANCE**: A Cloud SQL instance that is not replicating
- // from a primary instance.
- // * **ON_PREMISES_INSTANCE**: An instance running on the customer's
- // premises.
- // * **READ_REPLICA_INSTANCE**: A Cloud SQL instance configured as a
- // read-replica.
- SqlInstanceType instance_type = 13;
- // The project ID of the project containing the Cloud SQL instance. The Google
- // apps domain is prefixed if applicable.
- string project = 14;
- // The IPv6 address assigned to the instance.
- // (Deprecated) This property was applicable only
- // to First Generation instances.
- string ipv6_address = 15 [deprecated = true];
- // The service account email address assigned to the instance. <br>This
- // property is read-only.
- string service_account_email_address = 16;
- // Configuration specific to on-premises instances.
- OnPremisesConfiguration on_premises_configuration = 17;
- // Configuration specific to failover replicas and read replicas.
- ReplicaConfiguration replica_configuration = 18;
- // 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.
- SqlBackendType backend_type = 19;
- // The URI of this resource.
- string self_link = 20;
- // If the instance state is SUSPENDED, the reason for the suspension.
- repeated SqlSuspensionReason suspension_reason = 21;
- // Connection name of the Cloud SQL instance used in connection strings.
- string connection_name = 22;
- // Name of the Cloud SQL instance. This does not include the project ID.
- string name = 23;
- // The geographical region. Can be:
- // * **us-central** (**FIRST_GEN** instances only)
- // * **us-central1** (**SECOND_GEN** instances only)
- // * **asia-east1** or **europe-west1**.
- //
- // Defaults to **us-central** or **us-central1** depending on the instance
- // type. The region cannot be changed after instance creation.
- string region = 24;
- // 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.
- string gce_zone = 25;
- // 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.
- // Reserved for future use.
- string secondary_gce_zone = 34;
- // Disk encryption configuration specific to an instance.
- DiskEncryptionConfiguration disk_encryption_configuration = 26;
- // Disk encryption status specific to an instance.
- DiskEncryptionStatus disk_encryption_status = 27;
- // Initial root password. Use only on creation.
- string root_password = 29;
- // The start time of any upcoming scheduled maintenance for this instance.
- SqlScheduledMaintenance scheduled_maintenance = 30;
- // The status indicating if instance satisfiesPzs.
- // Reserved for future use.
- google.protobuf.BoolValue satisfies_pzs = 35;
- // 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
- optional SqlOutOfDiskReport out_of_disk_report = 38;
- // 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**.
- google.protobuf.Timestamp create_time = 39 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Reschedule options for maintenance windows.
- message SqlInstancesRescheduleMaintenanceRequestBody {
- message Reschedule {
- // Required. The type of the reschedule.
- RescheduleType reschedule_type = 1;
- // 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**.
- google.protobuf.Timestamp schedule_time = 2 [(google.api.field_behavior) = OPTIONAL];
- }
- enum RescheduleType {
- RESCHEDULE_TYPE_UNSPECIFIED = 0;
- // Reschedules maintenance to happen now (within 5 minutes).
- IMMEDIATE = 1;
- // Reschedules maintenance to occur within one week from the originally
- // scheduled day and time.
- NEXT_AVAILABLE_WINDOW = 2;
- // Reschedules maintenance to a specific time and day.
- SPECIFIC_TIME = 3;
- }
- // Required. The type of the reschedule the user wants.
- Reschedule reschedule = 3;
- }
- // Database instance demote primary instance context.
- message DemoteMasterContext {
- // This is always **sql#demoteMasterContext**.
- string kind = 1;
- // Verify GTID consistency for demote operation. Default value:
- // **True**. Setting this flag to false enables you to bypass 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.
- google.protobuf.BoolValue verify_gtid_consistency = 2;
- // The name of the instance which will act as on-premises primary instance
- // in the replication setup.
- string master_instance_name = 3;
- // Configuration specific to read-replicas replicating from the on-premises
- // primary instance.
- DemoteMasterConfiguration replica_configuration = 4;
- // Flag to skip replication setup on the instance.
- bool skip_replication_setup = 5;
- }
- // Database instance failover context.
- message FailoverContext {
- // The current settings version of this instance. Request will be rejected if
- // this version doesn't match the current settings version.
- int64 settings_version = 1;
- // This is always **sql#failoverContext**.
- string kind = 2;
- }
- // Database instance restore from backup context.
- // Backup context contains source instance id and project id.
- message RestoreBackupContext {
- // This is always **sql#restoreBackupContext**.
- string kind = 1;
- // The ID of the backup run to restore from.
- int64 backup_run_id = 2;
- // The ID of the instance that the backup was taken from.
- string instance_id = 3;
- // The full project ID of the source instance.
- string project = 4;
- }
- // Instance rotate server CA context.
- message RotateServerCaContext {
- // This is always **sql#rotateServerCaContext**.
- string kind = 1;
- // The fingerprint of the next version to be rotated to. If left unspecified,
- // will be rotated to the most recently added server CA version.
- string next_version = 2;
- }
- // Database Instance truncate log context.
- message TruncateLogContext {
- // This is always **sql#truncateLogContext**.
- string kind = 1;
- // The type of log to truncate. Valid values are **MYSQL_GENERAL_TABLE** and
- // **MYSQL_SLOW_TABLE**.
- string log_type = 2;
- }
- // External primary instance migration setting error/warning.
- message SqlExternalSyncSettingError {
- enum SqlExternalSyncSettingErrorType {
- SQL_EXTERNAL_SYNC_SETTING_ERROR_TYPE_UNSPECIFIED = 0;
- CONNECTION_FAILURE = 1;
- BINLOG_NOT_ENABLED = 2;
- INCOMPATIBLE_DATABASE_VERSION = 3;
- REPLICA_ALREADY_SETUP = 4;
- INSUFFICIENT_PRIVILEGE = 5;
- // Unsupported migration type.
- UNSUPPORTED_MIGRATION_TYPE = 6;
- // No pglogical extension installed on databases, applicable for postgres.
- NO_PGLOGICAL_INSTALLED = 7;
- // pglogical node already exists on databases, applicable for postgres.
- PGLOGICAL_NODE_ALREADY_EXISTS = 8;
- // The value of parameter wal_level is not set to logical.
- INVALID_WAL_LEVEL = 9;
- // The value of parameter shared_preload_libraries does not include
- // pglogical.
- INVALID_SHARED_PRELOAD_LIBRARY = 10;
- // The value of parameter max_replication_slots is not sufficient.
- INSUFFICIENT_MAX_REPLICATION_SLOTS = 11;
- // The value of parameter max_wal_senders is not sufficient.
- INSUFFICIENT_MAX_WAL_SENDERS = 12;
- // The value of parameter max_worker_processes is not sufficient.
- INSUFFICIENT_MAX_WORKER_PROCESSES = 13;
- // Extensions installed are either not supported or having unsupported
- // versions
- UNSUPPORTED_EXTENSIONS = 14;
- // The value of parameter rds.logical_replication is not set to 1.
- INVALID_RDS_LOGICAL_REPLICATION = 15;
- // The primary instance logging setup doesn't allow EM sync.
- INVALID_LOGGING_SETUP = 16;
- // The primary instance database parameter setup doesn't allow EM sync.
- INVALID_DB_PARAM = 17;
- // The gtid_mode is not supported, applicable for MySQL.
- UNSUPPORTED_GTID_MODE = 18;
- // SQL Server Agent is not running.
- SQLSERVER_AGENT_NOT_RUNNING = 19;
- // The table definition is not support due to missing primary key or replica
- // identity, applicable for postgres.
- UNSUPPORTED_TABLE_DEFINITION = 20;
- // The customer has a definer that will break EM setup.
- UNSUPPORTED_DEFINER = 21;
- // SQL Server @@SERVERNAME does not match actual host name
- SQLSERVER_SERVERNAME_MISMATCH = 22;
- // The primary instance has been setup and will fail the setup.
- PRIMARY_ALREADY_SETUP = 23;
- // The primary instance has unsupported binary log format.
- UNSUPPORTED_BINLOG_FORMAT = 24;
- // The primary instance's binary log retention setting.
- BINLOG_RETENTION_SETTING = 25;
- }
- // Can be **sql#externalSyncSettingError** or
- // **sql#externalSyncSettingWarning**.
- string kind = 1;
- // Identifies the specific error that occurred.
- SqlExternalSyncSettingErrorType type = 2;
- // Additional information about the error encountered.
- string detail = 3;
- }
- // On-premises instance configuration.
- message OnPremisesConfiguration {
- // The host and port of the on-premises instance in host:port format
- string host_port = 1;
- // This is always **sql#onPremisesConfiguration**.
- string kind = 2;
- // The username for connecting to on-premises instance.
- string username = 3;
- // The password for connecting to on-premises instance.
- string password = 4;
- // PEM representation of the trusted CA's x509 certificate.
- string ca_certificate = 5;
- // PEM representation of the replica's x509 certificate.
- string client_certificate = 6;
- // PEM representation of the replica's private key. The corresponsing public
- // key is encoded in the client's certificate.
- string client_key = 7;
- // The dump file to create the Cloud SQL replica.
- string dump_file_path = 8;
- // The reference to Cloud SQL instance if the source is Cloud SQL.
- InstanceReference source_instance = 15;
- }
- // Read-replica configuration for connecting to the primary instance.
- message ReplicaConfiguration {
- // This is always **sql#replicaConfiguration**.
- string kind = 1;
- // 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.
- MySqlReplicaConfiguration mysql_replica_configuration = 2;
- // 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.
- google.protobuf.BoolValue failover_target = 3;
- }
- enum SqlInstanceType {
- // This is an unknown Cloud SQL instance type.
- SQL_INSTANCE_TYPE_UNSPECIFIED = 0;
- // A regular Cloud SQL instance.
- CLOUD_SQL_INSTANCE = 1;
- // An instance running on the customer's premises that is not managed by
- // Cloud SQL.
- ON_PREMISES_INSTANCE = 2;
- // A Cloud SQL instance acting as a read-replica.
- READ_REPLICA_INSTANCE = 3;
- }
- // The suspension reason of the database instance if the state is SUSPENDED.
- enum SqlSuspensionReason {
- // This is an unknown suspension reason.
- SQL_SUSPENSION_REASON_UNSPECIFIED = 0;
- // The instance is suspended due to billing issues (for example:, GCP account
- // issue)
- BILLING_ISSUE = 2;
- // The instance is suspended due to illegal content (for example:, child
- // pornography, copyrighted material, etc.).
- LEGAL_ISSUE = 3;
- // The instance is causing operational issues (for example:, causing the
- // database to crash).
- OPERATIONAL_ISSUE = 4;
- // The KMS key used by the instance is either revoked or denied access to
- KMS_KEY_ISSUE = 5;
- }
|