You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
716 lines
24 KiB
716 lines
24 KiB
// 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.clouddms.v1; |
|
|
|
import "google/api/field_behavior.proto"; |
|
import "google/api/resource.proto"; |
|
import "google/protobuf/duration.proto"; |
|
import "google/protobuf/timestamp.proto"; |
|
import "google/protobuf/wrappers.proto"; |
|
import "google/rpc/status.proto"; |
|
import "google/api/annotations.proto"; |
|
|
|
option csharp_namespace = "Google.Cloud.CloudDms.V1"; |
|
option go_package = "google.golang.org/genproto/googleapis/cloud/clouddms/v1;clouddms"; |
|
option java_multiple_files = true; |
|
option java_outer_classname = "ClouddmsResourcesProto"; |
|
option java_package = "com.google.cloud.clouddms.v1"; |
|
option php_namespace = "Google\\Cloud\\CloudDms\\V1"; |
|
option ruby_package = "Google::Cloud::CloudDMS::V1"; |
|
|
|
// SSL configuration information. |
|
message SslConfig { |
|
// Specifies The kind of ssl configuration used. |
|
enum SslType { |
|
// Unspecified. |
|
SSL_TYPE_UNSPECIFIED = 0; |
|
|
|
// Only 'ca_certificate' specified. |
|
SERVER_ONLY = 1; |
|
|
|
// Both server ('ca_certificate'), and client ('client_key', |
|
// 'client_certificate') specified. |
|
SERVER_CLIENT = 2; |
|
} |
|
|
|
// Output only. The ssl config type according to 'client_key', 'client_certificate' and |
|
// 'ca_certificate'. |
|
SslType type = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with |
|
// the Client Certificate. If this field is used then the 'client_certificate' |
|
// field is mandatory. |
|
string client_key = 2 [(google.api.field_behavior) = INPUT_ONLY]; |
|
|
|
// Input only. The x509 PEM-encoded certificate that will be used by the replica to |
|
// authenticate against the source database server.If this field is used then |
|
// the 'client_key' field is mandatory. |
|
string client_certificate = 3 [(google.api.field_behavior) = INPUT_ONLY]; |
|
|
|
// Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database |
|
// server's certificate. The replica will use this certificate to verify |
|
// it's connecting to the right host. |
|
string ca_certificate = 4 [ |
|
(google.api.field_behavior) = INPUT_ONLY, |
|
(google.api.field_behavior) = REQUIRED |
|
]; |
|
} |
|
|
|
// Specifies connection parameters required specifically for MySQL databases. |
|
message MySqlConnectionProfile { |
|
// Required. The IP or hostname of the source MySQL database. |
|
string host = 1 [(google.api.field_behavior) = REQUIRED]; |
|
|
|
// Required. The network port of the source MySQL database. |
|
int32 port = 2 [(google.api.field_behavior) = REQUIRED]; |
|
|
|
// Required. The username that Database Migration Service will use to connect to the |
|
// database. The value is encrypted when stored in Database Migration Service. |
|
string username = 3 [(google.api.field_behavior) = REQUIRED]; |
|
|
|
// Required. Input only. The password for the user that Database Migration Service will be using to |
|
// connect to the database. This field is not returned on request, and the |
|
// value is encrypted when stored in Database Migration Service. |
|
string password = 4 [ |
|
(google.api.field_behavior) = INPUT_ONLY, |
|
(google.api.field_behavior) = REQUIRED |
|
]; |
|
|
|
// Output only. Indicates If this connection profile password is stored. |
|
bool password_set = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// SSL configuration for the destination to connect to the source database. |
|
SslConfig ssl = 6; |
|
|
|
// If the source is a Cloud SQL database, use this field to |
|
// provide the Cloud SQL instance ID of the source. |
|
string cloud_sql_id = 7; |
|
} |
|
|
|
// Specifies connection parameters required specifically for PostgreSQL |
|
// databases. |
|
message PostgreSqlConnectionProfile { |
|
// Required. The IP or hostname of the source PostgreSQL database. |
|
string host = 1 [(google.api.field_behavior) = REQUIRED]; |
|
|
|
// Required. The network port of the source PostgreSQL database. |
|
int32 port = 2 [(google.api.field_behavior) = REQUIRED]; |
|
|
|
// Required. The username that Database Migration Service will use to connect to the |
|
// database. The value is encrypted when stored in Database Migration Service. |
|
string username = 3 [(google.api.field_behavior) = REQUIRED]; |
|
|
|
// Required. Input only. The password for the user that Database Migration Service will be using to |
|
// connect to the database. This field is not returned on request, and the |
|
// value is encrypted when stored in Database Migration Service. |
|
string password = 4 [ |
|
(google.api.field_behavior) = INPUT_ONLY, |
|
(google.api.field_behavior) = REQUIRED |
|
]; |
|
|
|
// Output only. Indicates If this connection profile password is stored. |
|
bool password_set = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// SSL configuration for the destination to connect to the source database. |
|
SslConfig ssl = 6; |
|
|
|
// If the source is a Cloud SQL database, use this field to |
|
// provide the Cloud SQL instance ID of the source. |
|
string cloud_sql_id = 7; |
|
} |
|
|
|
// Specifies required connection parameters, and, optionally, the parameters |
|
// required to create a Cloud SQL destination database instance. |
|
message CloudSqlConnectionProfile { |
|
// Output only. The Cloud SQL instance ID that this connection profile is associated with. |
|
string cloud_sql_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Immutable. Metadata used to create the destination Cloud SQL database. |
|
CloudSqlSettings settings = 2 [(google.api.field_behavior) = IMMUTABLE]; |
|
|
|
// Output only. The Cloud SQL database instance's private IP. |
|
string private_ip = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. The Cloud SQL database instance's public IP. |
|
string public_ip = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
} |
|
|
|
// An entry for an Access Control list. |
|
message SqlAclEntry { |
|
// The allowlisted value for the access control list. |
|
string value = 1; |
|
|
|
// The access control entry entry expiration. |
|
oneof expiration { |
|
// 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`. |
|
google.protobuf.Timestamp expire_time = 10; |
|
|
|
// Input only. The time-to-leave of this access control entry. |
|
google.protobuf.Duration ttl = 11 [(google.api.field_behavior) = INPUT_ONLY]; |
|
} |
|
|
|
// A label to identify this entry. |
|
string label = 3; |
|
} |
|
|
|
// IP Management configuration. |
|
message SqlIpConfig { |
|
// Whether the instance should be assigned an IPv4 address or not. |
|
google.protobuf.BoolValue enable_ipv4 = 1; |
|
|
|
// 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. |
|
string private_network = 2; |
|
|
|
// Whether SSL connections over IP should be enforced or not. |
|
google.protobuf.BoolValue require_ssl = 3; |
|
|
|
// The list of external networks that are allowed to connect to the instance |
|
// using the IP. See |
|
// https://en.wikipedia.org/wiki/CIDR_notation#CIDR_notation, also known as |
|
// 'slash' notation (e.g. `192.168.100.0/24`). |
|
repeated SqlAclEntry authorized_networks = 4; |
|
} |
|
|
|
// Settings for creating a Cloud SQL database instance. |
|
message CloudSqlSettings { |
|
// Specifies when the instance should be activated. |
|
enum SqlActivationPolicy { |
|
// unspecified policy. |
|
SQL_ACTIVATION_POLICY_UNSPECIFIED = 0; |
|
|
|
// The instance is always up and running. |
|
ALWAYS = 1; |
|
|
|
// The instance should never spin up. |
|
NEVER = 2; |
|
} |
|
|
|
// The storage options for Cloud SQL databases. |
|
enum SqlDataDiskType { |
|
// Unspecified. |
|
SQL_DATA_DISK_TYPE_UNSPECIFIED = 0; |
|
|
|
// SSD disk. |
|
PD_SSD = 1; |
|
|
|
// HDD disk. |
|
PD_HDD = 2; |
|
} |
|
|
|
// The database engine type and version. |
|
enum SqlDatabaseVersion { |
|
// Unspecified version. |
|
SQL_DATABASE_VERSION_UNSPECIFIED = 0; |
|
|
|
// MySQL 5.6. |
|
MYSQL_5_6 = 1; |
|
|
|
// MySQL 5.7. |
|
MYSQL_5_7 = 2; |
|
|
|
// PostgreSQL 9.6. |
|
POSTGRES_9_6 = 3; |
|
|
|
// PostgreSQL 11. |
|
POSTGRES_11 = 4; |
|
|
|
// PostgreSQL 10. |
|
POSTGRES_10 = 5; |
|
|
|
// MySQL 8.0. |
|
MYSQL_8_0 = 6; |
|
|
|
// PostgreSQL 12. |
|
POSTGRES_12 = 7; |
|
|
|
// PostgreSQL 13. |
|
POSTGRES_13 = 8; |
|
} |
|
|
|
// The database engine type and version. |
|
SqlDatabaseVersion database_version = 1; |
|
|
|
// The resource labels for a Cloud SQL instance to use to annotate any related |
|
// underlying resources such as Compute Engine VMs. |
|
// An object containing a list of "key": "value" pairs. |
|
// |
|
// Example: `{ "name": "wrench", "mass": "18kg", "count": "3" }`. |
|
map<string, string> user_labels = 2; |
|
|
|
// The tier (or machine type) for this instance, for example: |
|
// `db-n1-standard-1` (MySQL instances) or |
|
// `db-custom-1-3840` (PostgreSQL instances). |
|
// For more information, see |
|
// [Cloud SQL Instance |
|
// Settings](https://cloud.google.com/sql/docs/mysql/instance-settings). |
|
string tier = 3; |
|
|
|
// The maximum size to which storage capacity can be automatically increased. |
|
// The default value is 0, which specifies that there is no limit. |
|
google.protobuf.Int64Value storage_auto_resize_limit = 4; |
|
|
|
// 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. |
|
SqlActivationPolicy activation_policy = 5; |
|
|
|
// 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. |
|
SqlIpConfig ip_config = 6; |
|
|
|
// [default: ON] If you enable this setting, Cloud SQL checks your available |
|
// storage every 30 seconds. If the available storage falls below a threshold |
|
// size, Cloud SQL automatically adds additional storage capacity. If the |
|
// available storage repeatedly falls below the threshold size, Cloud SQL |
|
// continues to add storage until it reaches the maximum of 30 TB. |
|
google.protobuf.BoolValue auto_storage_increase = 7; |
|
|
|
// The database flags passed to the Cloud SQL instance at startup. |
|
// An object containing a list of "key": value pairs. |
|
// Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
|
map<string, string> database_flags = 8; |
|
|
|
// The type of storage: `PD_SSD` (default) or `PD_HDD`. |
|
SqlDataDiskType data_disk_type = 9; |
|
|
|
// The storage capacity available to the database, in GB. |
|
// The minimum (and default) size is 10GB. |
|
google.protobuf.Int64Value data_disk_size_gb = 10; |
|
|
|
// The Google Cloud Platform zone where your Cloud SQL datdabse instance is |
|
// located. |
|
string zone = 11; |
|
|
|
// The Database Migration Service source connection profile ID, |
|
// in the format: |
|
// `projects/my_project_name/locations/us-central1/connectionProfiles/connection_profile_ID` |
|
string source_id = 12; |
|
|
|
// Input only. Initial root password. |
|
string root_password = 13 [(google.api.field_behavior) = INPUT_ONLY]; |
|
|
|
// Output only. Indicates If this connection profile root password is stored. |
|
bool root_password_set = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// The Cloud SQL default instance level collation. |
|
string collation = 15; |
|
} |
|
|
|
// The source database will allow incoming connections from the destination |
|
// database's public IP. You can retrieve the Cloud SQL instance's public IP |
|
// from the Cloud SQL console or using Cloud SQL APIs. No additional |
|
// configuration is required. |
|
message StaticIpConnectivity { |
|
|
|
} |
|
|
|
// The details needed to configure a reverse SSH tunnel between the source and |
|
// destination databases. These details will be used when calling the |
|
// generateSshScript method (see |
|
// https://cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.migrationJobs/generateSshScript) |
|
// to produce the script that will help set up the reverse SSH tunnel, and to |
|
// set up the VPC peering between the Cloud SQL private network and the VPC. |
|
message ReverseSshConnectivity { |
|
// Required. The IP of the virtual machine (Compute Engine) used as the bastion server |
|
// for the SSH tunnel. |
|
string vm_ip = 1 [(google.api.field_behavior) = REQUIRED]; |
|
|
|
// Required. The forwarding port of the virtual machine (Compute Engine) used as the |
|
// bastion server for the SSH tunnel. |
|
int32 vm_port = 2 [(google.api.field_behavior) = REQUIRED]; |
|
|
|
// The name of the virtual machine (Compute Engine) used as the bastion server |
|
// for the SSH tunnel. |
|
string vm = 3; |
|
|
|
// The name of the VPC to peer with the Cloud SQL private network. |
|
string vpc = 4; |
|
} |
|
|
|
// The details of the VPC where the source database is located in Google Cloud. |
|
// We will use this information to set up the VPC peering connection between |
|
// Cloud SQL and this VPC. |
|
message VpcPeeringConnectivity { |
|
// The name of the VPC network to peer with the Cloud SQL private network. |
|
string vpc = 1; |
|
} |
|
|
|
// A message defining the database engine and provider. |
|
message DatabaseType { |
|
// The database provider. |
|
DatabaseProvider provider = 1; |
|
|
|
// The database engine. |
|
DatabaseEngine engine = 2; |
|
} |
|
|
|
// Represents a Database Migration Service migration job object. |
|
message MigrationJob { |
|
option (google.api.resource) = { |
|
type: "datamigration.googleapis.com/MigrationJob" |
|
pattern: "projects/{project}/locations/{location}/migrationJobs/{migration_job}" |
|
}; |
|
|
|
// The current migration job states. |
|
enum State { |
|
// The state of the migration job is unknown. |
|
STATE_UNSPECIFIED = 0; |
|
|
|
// The migration job is down for maintenance. |
|
MAINTENANCE = 1; |
|
|
|
// The migration job is in draft mode and no resources are created. |
|
DRAFT = 2; |
|
|
|
// The migration job is being created. |
|
CREATING = 3; |
|
|
|
// The migration job is created, not started and is fully editable. |
|
NOT_STARTED = 4; |
|
|
|
// The migration job is running. |
|
RUNNING = 5; |
|
|
|
// The migration job failed. |
|
FAILED = 6; |
|
|
|
// The migration job has been completed. |
|
COMPLETED = 7; |
|
|
|
// The migration job is being deleted. |
|
DELETING = 8; |
|
|
|
// The migration job is being stopped. |
|
STOPPING = 9; |
|
|
|
// The migration job is currently stopped. |
|
STOPPED = 10; |
|
|
|
// The migration job has been deleted. |
|
DELETED = 11; |
|
|
|
// The migration job is being updated. |
|
UPDATING = 12; |
|
|
|
// The migration job is starting. |
|
STARTING = 13; |
|
|
|
// The migration job is restarting. |
|
RESTARTING = 14; |
|
|
|
// The migration job is resuming. |
|
RESUMING = 15; |
|
} |
|
|
|
// The current migration job phase. |
|
enum Phase { |
|
// The phase of the migration job is unknown. |
|
PHASE_UNSPECIFIED = 0; |
|
|
|
// The migration job is in the full dump phase. |
|
FULL_DUMP = 1; |
|
|
|
// The migration job is CDC phase. |
|
CDC = 2; |
|
|
|
// The migration job is running the promote phase. |
|
PROMOTE_IN_PROGRESS = 3; |
|
|
|
// Only RDS flow - waiting for source writes to stop |
|
WAITING_FOR_SOURCE_WRITES_TO_STOP = 4; |
|
|
|
// Only RDS flow - the sources writes stopped, waiting for dump to begin |
|
PREPARING_THE_DUMP = 5; |
|
} |
|
|
|
// The type of migration job (one-time or continuous). |
|
enum Type { |
|
// The type of the migration job is unknown. |
|
TYPE_UNSPECIFIED = 0; |
|
|
|
// The migration job is a one time migration. |
|
ONE_TIME = 1; |
|
|
|
// The migration job is a continuous migration. |
|
CONTINUOUS = 2; |
|
} |
|
|
|
// The name (URI) of this migration job resource, in the form of: |
|
// projects/{project}/locations/{location}/instances/{instance}. |
|
string name = 1; |
|
|
|
// Output only. The timestamp when the migration job resource was created. |
|
// A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. |
|
// Example: "2014-10-02T15:01:23.045123456Z". |
|
google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. The timestamp when the migration job resource was last updated. |
|
// A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. |
|
// Example: "2014-10-02T15:01:23.045123456Z". |
|
google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// The resource labels for migration job to use to annotate any related |
|
// underlying resources such as Compute Engine VMs. An object containing a |
|
// list of "key": "value" pairs. |
|
// |
|
// Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`. |
|
map<string, string> labels = 4; |
|
|
|
// The migration job display name. |
|
string display_name = 5; |
|
|
|
// The current migration job state. |
|
State state = 6; |
|
|
|
// Output only. The current migration job phase. |
|
Phase phase = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Required. The migration job type. |
|
Type type = 8 [(google.api.field_behavior) = REQUIRED]; |
|
|
|
// The path to the dump file in Google Cloud Storage, |
|
// in the format: (gs://[BUCKET_NAME]/[OBJECT_NAME]). |
|
string dump_path = 9; |
|
|
|
// Required. The resource name (URI) of the source connection profile. |
|
string source = 10 [(google.api.field_behavior) = REQUIRED]; |
|
|
|
// Required. The resource name (URI) of the destination connection profile. |
|
string destination = 11 [(google.api.field_behavior) = REQUIRED]; |
|
|
|
// The connectivity method. |
|
oneof connectivity { |
|
// The details needed to communicate to the source over Reverse SSH |
|
// tunnel connectivity. |
|
ReverseSshConnectivity reverse_ssh_connectivity = 101; |
|
|
|
// The details of the VPC network that the source database is located in. |
|
VpcPeeringConnectivity vpc_peering_connectivity = 102; |
|
|
|
// static ip connectivity data (default, no additional details needed). |
|
StaticIpConnectivity static_ip_connectivity = 103; |
|
} |
|
|
|
// Output only. The duration of the migration job (in seconds). A duration in seconds |
|
// with up to nine fractional digits, terminated by 's'. Example: "3.5s". |
|
google.protobuf.Duration duration = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. The error details in case of state FAILED. |
|
google.rpc.Status error = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// The database engine type and provider of the source. |
|
DatabaseType source_database = 14; |
|
|
|
// The database engine type and provider of the destination. |
|
DatabaseType destination_database = 15; |
|
|
|
// Output only. If the migration job is completed, the time when it was completed. |
|
google.protobuf.Timestamp end_time = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
} |
|
|
|
// A connection profile definition. |
|
message ConnectionProfile { |
|
option (google.api.resource) = { |
|
type: "datamigration.googleapis.com/ConnectionProfile" |
|
pattern: "projects/{project}/locations/{location}/connectionProfiles/{connection_profile}" |
|
}; |
|
|
|
// The current connection profile state (e.g. DRAFT, READY, or FAILED). |
|
enum State { |
|
// The state of the connection profile is unknown. |
|
STATE_UNSPECIFIED = 0; |
|
|
|
// The connection profile is in draft mode and fully editable. |
|
DRAFT = 1; |
|
|
|
// The connection profile is being created. |
|
CREATING = 2; |
|
|
|
// The connection profile is ready. |
|
READY = 3; |
|
|
|
// The connection profile is being updated. |
|
UPDATING = 4; |
|
|
|
// The connection profile is being deleted. |
|
DELETING = 5; |
|
|
|
// The connection profile has been deleted. |
|
DELETED = 6; |
|
|
|
// The last action on the connection profile failed. |
|
FAILED = 7; |
|
} |
|
|
|
// The name of this connection profile resource in the form of |
|
// projects/{project}/locations/{location}/instances/{instance}. |
|
string name = 1; |
|
|
|
// Output only. The timestamp when the resource was created. |
|
// A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. |
|
// Example: "2014-10-02T15:01:23.045123456Z". |
|
google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. The timestamp when the resource was last updated. |
|
// A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. |
|
// Example: "2014-10-02T15:01:23.045123456Z". |
|
google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// The resource labels for connection profile to use to annotate any related |
|
// underlying resources such as Compute Engine VMs. An object containing a |
|
// list of "key": "value" pairs. |
|
// |
|
// Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`. |
|
map<string, string> labels = 4; |
|
|
|
// The current connection profile state (e.g. DRAFT, READY, or FAILED). |
|
State state = 5; |
|
|
|
// The connection profile display name. |
|
string display_name = 6; |
|
|
|
// The connection profile definition. |
|
oneof connection_profile { |
|
// A MySQL database connection profile. |
|
MySqlConnectionProfile mysql = 100; |
|
|
|
// A PostgreSQL database connection profile. |
|
PostgreSqlConnectionProfile postgresql = 101; |
|
|
|
// A CloudSQL database connection profile. |
|
CloudSqlConnectionProfile cloudsql = 102; |
|
} |
|
|
|
// Output only. The error details in case of state FAILED. |
|
google.rpc.Status error = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// The database provider. |
|
DatabaseProvider provider = 8; |
|
} |
|
|
|
// Error message of a verification Migration job. |
|
message MigrationJobVerificationError { |
|
// A general error code describing the type of error that occurred. |
|
enum ErrorCode { |
|
// An unknown error occurred |
|
ERROR_CODE_UNSPECIFIED = 0; |
|
|
|
// We failed to connect to one of the connection profile. |
|
CONNECTION_FAILURE = 1; |
|
|
|
// We failed to authenticate to one of the connection profile. |
|
AUTHENTICATION_FAILURE = 2; |
|
|
|
// One of the involved connection profiles has an invalid configuration. |
|
INVALID_CONNECTION_PROFILE_CONFIG = 3; |
|
|
|
// The versions of the source and the destination are incompatible. |
|
VERSION_INCOMPATIBILITY = 4; |
|
|
|
// The types of the source and the destination are incompatible. |
|
CONNECTION_PROFILE_TYPES_INCOMPATIBILITY = 5; |
|
|
|
// 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; |
|
|
|
// Unsupported migration type. |
|
UNSUPPORTED_MIGRATION_TYPE = 15; |
|
|
|
// Invalid RDS logical replication. |
|
INVALID_RDS_LOGICAL_REPLICATION = 16; |
|
|
|
// The gtid_mode is not supported, applicable for MySQL. |
|
UNSUPPORTED_GTID_MODE = 17; |
|
|
|
// The table definition is not support due to missing primary key or replica |
|
// identity. |
|
UNSUPPORTED_TABLE_DEFINITION = 18; |
|
|
|
// The definer is not supported. |
|
UNSUPPORTED_DEFINER = 19; |
|
|
|
// Migration is already running at the time of restart request. |
|
CANT_RESTART_RUNNING_MIGRATION = 21; |
|
} |
|
|
|
// Output only. An instance of ErrorCode specifying the error that occurred. |
|
ErrorCode error_code = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. A formatted message with further details about the error and a CTA. |
|
string error_message = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
|
|
// Output only. A specific detailed error message, if supplied by the engine. |
|
string error_detail_message = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; |
|
} |
|
|
|
// The database engine types. |
|
enum DatabaseEngine { |
|
// The source database engine of the migration job is unknown. |
|
DATABASE_ENGINE_UNSPECIFIED = 0; |
|
|
|
// The source engine is MySQL. |
|
MYSQL = 1; |
|
|
|
// The source engine is PostgreSQL. |
|
POSTGRESQL = 2; |
|
} |
|
|
|
// The database providers. |
|
enum DatabaseProvider { |
|
// The database provider is unknown. |
|
DATABASE_PROVIDER_UNSPECIFIED = 0; |
|
|
|
// CloudSQL runs the database. |
|
CLOUDSQL = 1; |
|
|
|
// RDS runs the database. |
|
RDS = 2; |
|
}
|
|
|