Files
velero/pkg/plugin/proto/ObjectStore.proto
Andy Goldstein 130512187a Refactor plugin management
Refactor plugin management:
- support multiple plugins per executable
- support restarting a plugin process in the event it terminates
- simplify plugin lifecycle management by using separate managers for
  each scope (server vs backup vs restore)

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2018-07-31 08:34:57 -07:00

70 lines
1.4 KiB
Protocol Buffer

syntax = "proto3";
package generated;
import "Shared.proto";
message PutObjectRequest {
string plugin = 1;
string bucket = 2;
string key = 3;
bytes body = 4;
}
message GetObjectRequest {
string plugin = 1;
string bucket = 2;
string key = 3;
}
message Bytes {
bytes data = 1;
}
message ListCommonPrefixesRequest {
string plugin = 1;
string bucket = 2;
string delimiter = 3;
}
message ListCommonPrefixesResponse {
repeated string prefixes = 1;
}
message ListObjectsRequest {
string plugin = 1;
string bucket = 2;
string prefix = 3;
}
message ListObjectsResponse {
repeated string keys = 1;
}
message DeleteObjectRequest {
string plugin = 1;
string bucket = 2;
string key = 3;
}
message CreateSignedURLRequest {
string plugin = 1;
string bucket = 2;
string key = 3;
int64 ttl = 4;
}
message CreateSignedURLResponse {
string url = 1;
}
service ObjectStore {
rpc Init(InitRequest) returns (Empty);
rpc PutObject(stream PutObjectRequest) returns (Empty);
rpc GetObject(GetObjectRequest) returns (stream Bytes);
rpc ListCommonPrefixes(ListCommonPrefixesRequest) returns (ListCommonPrefixesResponse);
rpc ListObjects(ListObjectsRequest) returns (ListObjectsResponse);
rpc DeleteObject(DeleteObjectRequest) returns (Empty);
rpc CreateSignedURL(CreateSignedURLRequest) returns (CreateSignedURLResponse);
}