Files
velero/pkg/plugin/proto/ObjectStore.proto
2018-09-06 10:53:58 -06:00

71 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;
string prefix = 4;
}
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);
}