velero/pkg/plugin/proto/VolumeSnapshotter.proto

78 lines
1.7 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 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;
}
message VolumeSnapshotterInitRequest {
string plugin = 1;
map<string, string> config = 2;
}
service VolumeSnapshotter {
rpc Init(VolumeSnapshotterInitRequest) returns (Empty);
rpc CreateVolumeFromSnapshot(CreateVolumeRequest) returns (CreateVolumeResponse);
rpc GetVolumeInfo(GetVolumeInfoRequest) returns (GetVolumeInfoResponse);
rpc CreateSnapshot(CreateSnapshotRequest) returns (CreateSnapshotResponse);
rpc DeleteSnapshot(DeleteSnapshotRequest) returns (Empty);
rpc GetVolumeID(GetVolumeIDRequest) returns (GetVolumeIDResponse);
rpc SetVolumeID(SetVolumeIDRequest) returns (SetVolumeIDResponse);
}