diff options
Diffstat (limited to 'third_party/googleapis/google/cloud/sql/v1beta4/cloud_sql.proto')
| -rw-r--r-- | third_party/googleapis/google/cloud/sql/v1beta4/cloud_sql.proto | 874 | 
1 files changed, 874 insertions, 0 deletions
diff --git a/third_party/googleapis/google/cloud/sql/v1beta4/cloud_sql.proto b/third_party/googleapis/google/cloud/sql/v1beta4/cloud_sql.proto new file mode 100644 index 0000000..a1fdf39 --- /dev/null +++ b/third_party/googleapis/google/cloud/sql/v1beta4/cloud_sql.proto @@ -0,0 +1,874 @@ +// Copyright 2022 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.v1beta4; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/cloud/sql/v1beta4/cloud_sql_resources.proto"; + +option go_package = "google.golang.org/genproto/googleapis/cloud/sql/v1beta4;sql"; +option java_multiple_files = true; +option java_outer_classname = "CloudSqlServiceProto"; +option java_package = "com.google.cloud.sql.v1beta4"; + +service SqlBackupRunsService { +  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"; + +  // Deletes the backup taken by a backup run. +  rpc Delete(SqlBackupRunsDeleteRequest) returns (Operation) { +    option (google.api.http) = { +      delete: "/sql/v1beta4/projects/{project}/instances/{instance}/backupRuns/{id}" +    }; +  } + +  // Retrieves a resource containing information about a backup run. +  rpc Get(SqlBackupRunsGetRequest) returns (BackupRun) { +    option (google.api.http) = { +      get: "/sql/v1beta4/projects/{project}/instances/{instance}/backupRuns/{id}" +    }; +  } + +  // Creates a new backup run on demand. +  rpc Insert(SqlBackupRunsInsertRequest) returns (Operation) { +    option (google.api.http) = { +      post: "/sql/v1beta4/projects/{project}/instances/{instance}/backupRuns" +      body: "body" +    }; +  } + +  // Lists all backup runs associated with the project or a given instance and +  // configuration in the reverse chronological order of the backup initiation +  // time. +  rpc List(SqlBackupRunsListRequest) returns (BackupRunsListResponse) { +    option (google.api.http) = { +      get: "/sql/v1beta4/projects/{project}/instances/{instance}/backupRuns" +    }; +  } +} + +service SqlDatabasesService { +  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"; + +  // Deletes a database from a Cloud SQL instance. +  rpc Delete(SqlDatabasesDeleteRequest) returns (Operation) { +    option (google.api.http) = { +      delete: "/sql/v1beta4/projects/{project}/instances/{instance}/databases/{database}" +    }; +  } + +  // Retrieves a resource containing information about a database inside a Cloud +  // SQL instance. +  rpc Get(SqlDatabasesGetRequest) returns (Database) { +    option (google.api.http) = { +      get: "/sql/v1beta4/projects/{project}/instances/{instance}/databases/{database}" +    }; +  } + +  // Inserts a resource containing information about a database inside a Cloud +  // SQL instance. +  rpc Insert(SqlDatabasesInsertRequest) returns (Operation) { +    option (google.api.http) = { +      post: "/sql/v1beta4/projects/{project}/instances/{instance}/databases" +      body: "body" +    }; +  } + +  // Lists databases in the specified Cloud SQL instance. +  rpc List(SqlDatabasesListRequest) returns (DatabasesListResponse) { +    option (google.api.http) = { +      get: "/sql/v1beta4/projects/{project}/instances/{instance}/databases" +    }; +  } + +  // Partially updates a resource containing information about a database inside +  // a Cloud SQL instance. This method supports patch semantics. +  rpc Patch(SqlDatabasesUpdateRequest) returns (Operation) { +    option (google.api.http) = { +      patch: "/sql/v1beta4/projects/{project}/instances/{instance}/databases/{database}" +      body: "body" +    }; +  } + +  // Updates a resource containing information about a database inside a Cloud +  // SQL instance. +  rpc Update(SqlDatabasesUpdateRequest) returns (Operation) { +    option (google.api.http) = { +      put: "/sql/v1beta4/projects/{project}/instances/{instance}/databases/{database}" +      body: "body" +    }; +  } +} + +service SqlFlagsService { +  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"; + +  // Lists all available database flags for Cloud SQL instances. +  rpc List(SqlFlagsListRequest) returns (FlagsListResponse) { +    option (google.api.http) = { +      get: "/sql/v1beta4/flags" +    }; +  } +} + +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"; + +  // Add 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: "/sql/v1beta4/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: "/sql/v1beta4/projects/{project}/instances/{instance}/clone" +      body: "body" +    }; +  } + +  // Deletes a Cloud SQL instance. +  rpc Delete(SqlInstancesDeleteRequest) returns (Operation) { +    option (google.api.http) = { +      delete: "/sql/v1beta4/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: "/sql/v1beta4/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: "/sql/v1beta4/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: "/sql/v1beta4/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: "/sql/v1beta4/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: "/sql/v1beta4/projects/{project}/instances/{instance}/import" +      body: "body" +    }; +  } + +  // Creates a new Cloud SQL instance. +  rpc Insert(SqlInstancesInsertRequest) returns (Operation) { +    option (google.api.http) = { +      post: "/sql/v1beta4/projects/{project}/instances" +      body: "body" +    }; +  } + +  // Lists instances under a given project. +  rpc List(SqlInstancesListRequest) returns (InstancesListResponse) { +    option (google.api.http) = { +      get: "/sql/v1beta4/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: "/sql/v1beta4/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: "/sql/v1beta4/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: "/sql/v1beta4/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: "/sql/v1beta4/projects/{project}/instances/{instance}/resetSslConfig" +    }; +  } + +  // Restarts a Cloud SQL instance. +  rpc Restart(SqlInstancesRestartRequest) returns (Operation) { +    option (google.api.http) = { +      post: "/sql/v1beta4/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: "/sql/v1beta4/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: "/sql/v1beta4/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: "/sql/v1beta4/projects/{project}/instances/{instance}/startReplica" +    }; +  } + +  // Stops the replication in the read replica instance. +  rpc StopReplica(SqlInstancesStopReplicaRequest) returns (Operation) { +    option (google.api.http) = { +      post: "/sql/v1beta4/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: "/sql/v1beta4/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: "/sql/v1beta4/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: "/sql/v1beta4/projects/{project}/instances/{instance}/createEphemeral" +      body: "body" +    }; +  } + +  // Reschedules the maintenance on the given instance. +  rpc RescheduleMaintenance(SqlInstancesRescheduleMaintenanceRequest) returns (Operation) { +    option (google.api.http) = { +      post: "/sql/v1beta4/projects/{project}/instances/{instance}/rescheduleMaintenance" +      body: "body" +    }; +  } + +  // Verify External primary instance external sync settings. +  rpc VerifyExternalSyncSettings(SqlInstancesVerifyExternalSyncSettingsRequest) returns (SqlInstancesVerifyExternalSyncSettingsResponse) { +    option (google.api.http) = { +      post: "/sql/v1beta4/projects/{project}/instances/{instance}/verifyExternalSyncSettings" +      body: "*" +    }; +  } + +  // Start External primary instance migration. +  rpc StartExternalSync(SqlInstancesStartExternalSyncRequest) returns (Operation) { +    option (google.api.http) = { +      post: "/sql/v1beta4/projects/{project}/instances/{instance}/startExternalSync" +      body: "*" +    }; +  } +} + +service SqlOperationsService { +  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"; + +  // Retrieves an instance operation that has been performed on an instance. +  rpc Get(SqlOperationsGetRequest) returns (Operation) { +    option (google.api.http) = { +      get: "/sql/v1beta4/projects/{project}/operations/{operation}" +    }; +  } + +  // Lists all instance operations that have been performed on the given Cloud +  // SQL instance in the reverse chronological order of the start time. +  rpc List(SqlOperationsListRequest) returns (OperationsListResponse) { +    option (google.api.http) = { +      get: "/sql/v1beta4/projects/{project}/operations" +    }; +  } +} + +service SqlSslCertsService { +  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"; + +  // Deletes the SSL certificate. For First Generation instances, the +  // certificate remains valid until the instance is restarted. +  rpc Delete(SqlSslCertsDeleteRequest) returns (Operation) { +    option (google.api.http) = { +      delete: "/sql/v1beta4/projects/{project}/instances/{instance}/sslCerts/{sha1_fingerprint}" +    }; +  } + +  // 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. +  rpc Get(SqlSslCertsGetRequest) returns (SslCert) { +    option (google.api.http) = { +      get: "/sql/v1beta4/projects/{project}/instances/{instance}/sslCerts/{sha1_fingerprint}" +    }; +  } + +  // 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. +  rpc Insert(SqlSslCertsInsertRequest) returns (SslCertsInsertResponse) { +    option (google.api.http) = { +      post: "/sql/v1beta4/projects/{project}/instances/{instance}/sslCerts" +      body: "body" +    }; +  } + +  // Lists all of the current SSL certificates for the instance. +  rpc List(SqlSslCertsListRequest) returns (SslCertsListResponse) { +    option (google.api.http) = { +      get: "/sql/v1beta4/projects/{project}/instances/{instance}/sslCerts" +    }; +  } +} + +message SqlBackupRunsDeleteRequest { +  // 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/v1beta4/backupRuns/list) +  // method. +  int64 id = 1; + +  // Cloud SQL instance ID. This does not include the project ID. +  string instance = 2; + +  // Project ID of the project that contains the instance. +  string project = 3; +} + +message SqlBackupRunsGetRequest { +  // The ID of this backup run. +  int64 id = 1; + +  // Cloud SQL instance ID. This does not include the project ID. +  string instance = 2; + +  // Project ID of the project that contains the instance. +  string project = 3; +} + +message SqlBackupRunsInsertRequest { +  // 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; + +  BackupRun body = 100; +} + +message SqlBackupRunsListRequest { +  // Cloud SQL instance ID, or "-" for all instances. This does not include +  // the project ID. +  string instance = 1; + +  // Maximum number of backup runs per response. +  int32 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 that contains the instance. +  string project = 4; +} + +message SqlDatabasesDeleteRequest { +  // Name of the database to be deleted in the instance. +  string database = 1; + +  // Database instance ID. This does not include the project ID. +  string instance = 2; + +  // Project ID of the project that contains the instance. +  string project = 3; +} + +message SqlDatabasesGetRequest { +  // Name of the database in the instance. +  string database = 1; + +  // Database instance ID. This does not include the project ID. +  string instance = 2; + +  // Project ID of the project that contains the instance. +  string project = 3; +} + +message SqlDatabasesInsertRequest { +  // 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; + +  Database body = 100; +} + +message SqlDatabasesListRequest { +  // 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; +} + +message SqlDatabasesUpdateRequest { +  // Name of the database to be updated in the instance. +  string database = 1; + +  // Database instance ID. This does not include the project ID. +  string instance = 2; + +  // Project ID of the project that contains the instance. +  string project = 3; + +  Database body = 100; +} + +message SqlFlagsListRequest { +  // Database type and version you want to retrieve flags for. By default, this +  // method returns flags for all database types and versions. +  string database_version = 1; +} + +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; +} + +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; +} + +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; +} + +message SqlInstancesDemoteMasterRequest { +  // Cloud SQL instance name. +  string instance = 1; + +  // ID of the project that contains the instance. +  string project = 2; + +  InstancesDemoteMasterRequest body = 100; +} + +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; +} + +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; +} + +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; +} + +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; +} + +message SqlInstancesInsertRequest { +  // Project ID of the project to which the newly created Cloud SQL instances +  // should belong. +  string project = 1; + +  DatabaseInstance body = 100; +} + +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; +} + +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; +} + +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; +} + +message SqlInstancesPromoteReplicaRequest { +  // Cloud SQL read replica instance name. +  string instance = 1; + +  // ID of the project that contains the read replica. +  string project = 2; +} + +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; +} + +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; +} + +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; +} + +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; +} + +message SqlInstancesStartReplicaRequest { +  // Cloud SQL read replica instance name. +  string instance = 1; + +  // ID of the project that contains the read replica. +  string project = 2; +} + +message SqlInstancesStopReplicaRequest { +  // Cloud SQL read replica instance name. +  string instance = 1; + +  // ID of the project that contains the read replica. +  string project = 2; +} + +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; +} + +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; +} + +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; +} + +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]; +  } +} + +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; +  } +} + +message SqlOperationsGetRequest { +  // Instance operation ID. +  string operation = 1; + +  // Project ID of the project that contains the instance. +  string project = 2; +} + +message SqlOperationsListRequest { +  // Cloud SQL instance ID. This does not include the project ID. +  string instance = 1; + +  // Maximum number of operations 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 that contains the instance. +  string project = 4; +} + +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; +} + +message SqlSslCertsDeleteRequest { +  // 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; + +  // Sha1 FingerPrint. +  string sha1_fingerprint = 3; +} + +message SqlSslCertsGetRequest { +  // 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; + +  // Sha1 FingerPrint. +  string sha1_fingerprint = 3; +} + +message SqlSslCertsInsertRequest { +  // 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; + +  SslCertsInsertRequest body = 100; +} + +message SqlSslCertsListRequest { +  // 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; +}  | 
