mirror of
https://github.com/vmware-tanzu/velero.git
synced 2026-04-22 08:40:35 +00:00
The main Ark code was hard-coding specific support for AWS, GCE, and Azure volume snapshots and restores, and anything else was considered unsupported. Add GetVolumeID and SetVolumeID to the BlockStore interface, to allow block store plugins to handle volume snapshots and restores. Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
86 lines
1.8 KiB
Protocol Buffer
86 lines
1.8 KiB
Protocol Buffer
syntax = "proto3";
|
|
package generated;
|
|
|
|
import "Shared.proto";
|
|
|
|
message CreateVolumeRequest {
|
|
string snapshotID = 1;
|
|
string volumeType = 2;
|
|
string volumeAZ = 3;
|
|
int64 iops = 4;
|
|
}
|
|
|
|
message CreateVolumeResponse {
|
|
string volumeID = 1;
|
|
}
|
|
|
|
message GetVolumeInfoRequest {
|
|
string volumeID = 1;
|
|
string volumeAZ = 2;
|
|
}
|
|
|
|
message GetVolumeInfoResponse {
|
|
string volumeType = 1;
|
|
int64 iops = 2;
|
|
}
|
|
|
|
message IsVolumeReadyRequest {
|
|
string volumeID = 1;
|
|
string volumeAZ = 2;
|
|
}
|
|
|
|
message IsVolumeReadyResponse {
|
|
bool ready = 1;
|
|
}
|
|
|
|
message ListSnapshotsRequest {
|
|
map<string, string> tagFilters = 1;
|
|
}
|
|
|
|
message ListSnapshotsResponse {
|
|
repeated string snapshotIDs = 2;
|
|
}
|
|
|
|
message CreateSnapshotRequest {
|
|
string volumeID = 1;
|
|
string volumeAZ = 2;
|
|
map<string, string> tags = 3;
|
|
}
|
|
|
|
message CreateSnapshotResponse {
|
|
string snapshotID = 1;
|
|
}
|
|
|
|
message DeleteSnapshotRequest {
|
|
string snapshotID = 1;
|
|
}
|
|
|
|
message GetVolumeIDRequest {
|
|
bytes persistentVolume = 1;
|
|
}
|
|
|
|
message GetVolumeIDResponse {
|
|
string volumeID = 1;
|
|
}
|
|
|
|
message SetVolumeIDRequest {
|
|
bytes persistentVolume = 1;
|
|
string volumeID = 2;
|
|
}
|
|
|
|
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 ListSnapshots(ListSnapshotsRequest) returns (ListSnapshotsResponse);
|
|
rpc CreateSnapshot(CreateSnapshotRequest) returns (CreateSnapshotResponse);
|
|
rpc DeleteSnapshot(DeleteSnapshotRequest) returns (Empty);
|
|
rpc GetVolumeID(GetVolumeIDRequest) returns (GetVolumeIDResponse);
|
|
rpc SetVolumeID(SetVolumeIDRequest) returns (SetVolumeIDResponse);
|
|
}
|