grpc 第三方依赖 就是grpc的 third_party 文件夹
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.
 
 
 
 
 
 

213 lines
7.3 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.bigquery.migration.v2alpha;
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/cloud/bigquery/migration/v2alpha/migration_error_details.proto";
import "google/cloud/bigquery/migration/v2alpha/migration_metrics.proto";
import "google/protobuf/any.proto";
import "google/protobuf/timestamp.proto";
import "google/rpc/error_details.proto";
option go_package = "google.golang.org/genproto/googleapis/cloud/bigquery/migration/v2alpha;migration";
option java_multiple_files = true;
option java_outer_classname = "MigrationEntitiesProto";
option java_package = "com.google.cloud.bigquery.migration.v2alpha";
// A migration workflow which specifies what needs to be done for an EDW
// migration.
message MigrationWorkflow {
option (google.api.resource) = {
type: "bigquerymigration.googleapis.com/MigrationWorkflow"
pattern: "projects/{project}/locations/{location}/workflows/{workflow}"
};
// Possible migration workflow states.
enum State {
// Workflow state is unspecified.
STATE_UNSPECIFIED = 0;
// Workflow is in draft status, i.e. tasks are not yet eligible for
// execution.
DRAFT = 1;
// Workflow is running (i.e. tasks are eligible for execution).
RUNNING = 2;
// Workflow is paused. Tasks currently in progress may continue, but no
// further tasks will be scheduled.
PAUSED = 3;
// Workflow is complete. There should not be any task in a non-terminal
// state, but if they are (e.g. forced termination), they will not be
// scheduled.
COMPLETED = 4;
}
// Output only. Immutable. The unique identifier for the migration workflow. The ID is
// server-generated.
//
// Example: `projects/123/locations/us/workflows/345`
string name = 1 [
(google.api.field_behavior) = OUTPUT_ONLY,
(google.api.field_behavior) = IMMUTABLE
];
// The display name of the workflow. This can be set to give a workflow
// a descriptive name. There is no guarantee or enforcement of uniqueness.
string display_name = 6;
// The tasks in a workflow in a named map. The name (i.e. key) has no
// meaning and is merely a convenient way to address a specific task
// in a workflow.
map<string, MigrationTask> tasks = 2;
// Output only. That status of the workflow.
State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
// Time when the workflow was created.
google.protobuf.Timestamp create_time = 4;
// Time when the workflow was last updated.
google.protobuf.Timestamp last_update_time = 5;
}
// A single task for a migration which has details about the configuration of
// the task.
message MigrationTask {
// Possible states of a migration task.
enum State {
// The state is unspecified.
STATE_UNSPECIFIED = 0;
// The task is waiting for orchestration.
PENDING = 1;
// The task is assigned to an orchestrator.
ORCHESTRATING = 2;
// The task is running, i.e. its subtasks are ready for execution.
RUNNING = 3;
// Tha task is paused. Assigned subtasks can continue, but no new subtasks
// will be scheduled.
PAUSED = 4;
// The task finished successfully.
SUCCEEDED = 5;
// The task finished unsuccessfully.
FAILED = 6;
}
// Output only. Immutable. The unique identifier for the migration task. The ID is server-generated.
string id = 1 [
(google.api.field_behavior) = OUTPUT_ONLY,
(google.api.field_behavior) = IMMUTABLE
];
// The type of the task. This must be a supported task type.
string type = 2;
// The details of the task. The type URL must be one of the supported task
// details messages and correspond to the Task's type.
google.protobuf.Any details = 3;
// Output only. The current state of the task.
State state = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. An explanation that may be populated when the task is in FAILED state.
google.rpc.ErrorInfo processing_error = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
// Time when the task was created.
google.protobuf.Timestamp create_time = 6;
// Time when the task was last updated.
google.protobuf.Timestamp last_update_time = 7;
}
// A subtask for a migration which carries details about the configuration of
// the subtask. The content of the details should not matter to the end user,
// but is a contract between the subtask creator and subtask worker.
message MigrationSubtask {
option (google.api.resource) = {
type: "bigquerymigration.googleapis.com/MigrationSubtask"
pattern: "projects/{project}/locations/{location}/workflows/{workflow}/subtasks/{subtask}"
};
// Possible states of a migration subtask.
enum State {
// The state is unspecified.
STATE_UNSPECIFIED = 0;
// The subtask is ready, i.e. it is ready for execution.
ACTIVE = 1;
// The subtask is running, i.e. it is assigned to a worker for execution.
RUNNING = 2;
// The subtask finished successfully.
SUCCEEDED = 3;
// The subtask finished unsuccessfully.
FAILED = 4;
}
// Output only. Immutable. The resource name for the migration subtask. The ID is
// server-generated.
//
// Example: `projects/123/locations/us/workflows/345/subtasks/678`
string name = 1 [
(google.api.field_behavior) = OUTPUT_ONLY,
(google.api.field_behavior) = IMMUTABLE
];
// The unique ID of the task to which this subtask belongs.
string task_id = 2;
// The type of the Subtask. The migration service does not check whether this
// is a known type. It is up to the task creator (i.e. orchestrator or worker)
// to ensure it only creates subtasks for which there are compatible workers
// polling for Subtasks.
string type = 3;
// Output only. The current state of the subtask.
State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. An explanation that may be populated when the task is in FAILED state.
google.rpc.ErrorInfo processing_error = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. Provides details to errors and issues encountered while processing the
// subtask. Presence of error details does not mean that the subtask failed.
repeated ResourceErrorDetail resource_error_details = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
// The number or resources with errors. Note: This is not the total
// number of errors as each resource can have more than one error.
// This is used to indicate truncation by having a `resource_error_count`
// that is higher than the size of `resource_error_details`.
int32 resource_error_count = 13;
// Time when the subtask was created.
google.protobuf.Timestamp create_time = 7;
// Time when the subtask was last updated.
google.protobuf.Timestamp last_update_time = 8;
// The metrics for the subtask.
repeated TimeSeries metrics = 11;
}