Files
velero/pkg/plugin/proto/BlockStore.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

84 lines
1.8 KiB
Protocol Buffer

syntax = "proto3";
package generated;
import "Shared.proto";
message CreateVolumeRequest {
string plugin = 1;
string snapshotID = 2;
string volumeType = 3;
string volumeAZ = 4;
int64 iops = 5;
}
message CreateVolumeResponse {
string volumeID = 1;
}
message GetVolumeInfoRequest {
string plugin = 1;
string volumeID = 2;
string volumeAZ = 3;
}
message GetVolumeInfoResponse {
string volumeType = 1;
int64 iops = 2;
}
message IsVolumeReadyRequest {
string plugin = 1;
string volumeID = 2;
string volumeAZ = 3;
}
message IsVolumeReadyResponse {
bool ready = 1;
}
message CreateSnapshotRequest {
string plugin = 1;
string volumeID = 2;
string volumeAZ = 3;
map<string, string> tags = 4;
}
message CreateSnapshotResponse {
string snapshotID = 1;
}
message DeleteSnapshotRequest {
string plugin = 1;
string snapshotID = 2;
}
message GetVolumeIDRequest {
string plugin = 1;
bytes persistentVolume = 2;
}
message GetVolumeIDResponse {
string volumeID = 1;
}
message SetVolumeIDRequest {
string plugin = 1;
bytes persistentVolume = 2;
string volumeID = 3;
}
message SetVolumeIDResponse {
bytes persistentVolume = 1;
}
service BlockStore {
rpc Init(InitRequest) returns (Empty);
rpc CreateVolumeFromSnapshot(CreateVolumeRequest) returns (CreateVolumeResponse);
rpc GetVolumeInfo(GetVolumeInfoRequest) returns (GetVolumeInfoResponse);
rpc IsVolumeReady(IsVolumeReadyRequest) returns (IsVolumeReadyResponse);
rpc CreateSnapshot(CreateSnapshotRequest) returns (CreateSnapshotResponse);
rpc DeleteSnapshot(DeleteSnapshotRequest) returns (Empty);
rpc GetVolumeID(GetVolumeIDRequest) returns (GetVolumeIDResponse);
rpc SetVolumeID(SetVolumeIDRequest) returns (SetVolumeIDResponse);
}