ydb.public.api.protos.ydb_operation.proto Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ydb-sdk-jdbc-uberjar Show documentation
Show all versions of ydb-sdk-jdbc-uberjar Show documentation
JDBC client implementation over Table client, single jar
syntax = "proto3";
option cc_enable_arenas = true;
import "google/protobuf/any.proto";
import "google/protobuf/duration.proto";
import "ydb/public/api/protos/annotations/validation.proto";
import "ydb/public/api/protos/ydb_common.proto";
import "ydb/public/api/protos/ydb_issue_message.proto";
import "ydb/public/api/protos/ydb_status_codes.proto";
package Ydb.Operations;
option java_package = "com.yandex.ydb";
option java_outer_classname = "OperationProtos";
message OperationParams {
enum OperationMode {
OPERATION_MODE_UNSPECIFIED = 0;
// Server will only reply once operation is finished (ready=true), and operation object won't be
// accessible after the reply. This is a basic request-response mode.
SYNC = 1;
ASYNC = 2;
}
OperationMode operation_mode = 1;
// Indicates that client is no longer interested in the result of operation after the specified duration
// starting from the time operation arrives at the server.
// Server will try to stop the execution of operation and if no result is currently available the operation
// will receive TIMEOUT status code, which will be sent back to client if it was waiting for the operation result.
// Timeout of operation does not tell anything about its result, it might be completed successfully
// or cancelled on server.
google.protobuf.Duration operation_timeout = 2;
// Server will try to cancel the operation after the specified duration starting from the time
// the operation arrives at server.
// In case of successful cancellation operation will receive CANCELLED status code, which will be
// sent back to client if it was waiting for the operation result.
// In case when cancellation isn't possible, no action will be performed.
google.protobuf.Duration cancel_after = 3;
// User-defined labels of operation.
map labels = 4 [(map_key).length.le = 128, (length).le = 128];
// If enabled, server will report cost information, if supported by the operation.
// This flag is mostly useful for SYNC operations, to get the cost information in the response.
Ydb.FeatureFlag.Status report_cost_info = 5;
}
message GetOperationRequest {
string id = 1 [(required) = true];
}
message GetOperationResponse {
Operation operation = 1;
}
message CancelOperationRequest {
string id = 1 [(required) = true];
}
message CancelOperationResponse {
StatusIds.StatusCode status = 1;
repeated Ydb.Issue.IssueMessage issues = 2;
}
message ForgetOperationRequest {
string id = 1 [(required) = true];
}
message ForgetOperationResponse {
StatusIds.StatusCode status = 1;
repeated Ydb.Issue.IssueMessage issues = 2;
}
message ListOperationsRequest {
string kind = 1 [(required) = true];
uint64 page_size = 2;
string page_token = 3;
}
message ListOperationsResponse {
StatusIds.StatusCode status = 1;
repeated Ydb.Issue.IssueMessage issues = 2;
repeated Operation operations = 3;
string next_page_token = 4;
}
message Operation {
// Identifier of the operation, empty value means no active operation object is present (it was forgotten or
// not created in the first place, as in SYNC operation mode).
string id = 1;
// true - this operation has beed finished (doesn't matter successful or not),
// so Status field has status code, and Result field can contains result data.
// false - this operation still running. You can repeat request using operation Id.
bool ready = 2;
StatusIds.StatusCode status = 3;
repeated Ydb.Issue.IssueMessage issues = 4;
// Result data
google.protobuf.Any result = 5;
google.protobuf.Any metadata = 6;
// Contains information about the cost of the operation.
// For completed operations, it shows the final cost of the operation.
// For operations in progress, it might indicate the current cost of the operation (if supported).
CostInfo cost_info = 7;
}