velero/pkg/plugin/proto/ObjectStore.proto

87 lines
1.8 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 ObjectExistsRequest {
string plugin = 1;
string bucket = 2;
string key = 3;
}
message ObjectExistsResponse {
bool exists = 1;
}
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;
}
message ObjectStoreInitRequest {
string plugin = 1;
map<string, string> config = 2;
}
service ObjectStore {
rpc Init(ObjectStoreInitRequest) returns (Empty);
rpc PutObject(stream PutObjectRequest) returns (Empty);
rpc ObjectExists(ObjectExistsRequest) returns (ObjectExistsResponse);
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);
}