protobuf/peloton/api/v0/volume/svc/volume_svc.proto (70 lines of code) (raw):
/**
* This file defines the volume service in Peloton API
*/
syntax = "proto3";
package peloton.api.v0.volume.svc;
option go_package = "peloton/api/v0/volume/svc";
option java_package = "peloton.api.v0.volume.svc";
import "peloton/api/v0/peloton.proto";
import "peloton/api/v0/volume/volume.proto";
/**
* Volume Manager service interface
*/
service VolumeService
{
// List associated volumes for given job.
rpc ListVolumes(ListVolumesRequest) returns (ListVolumesResponse);
// Get volume data.
rpc GetVolume(GetVolumeRequest) returns (GetVolumeResponse);
// Delete a persistent volume.
rpc DeleteVolume(DeleteVolumeRequest) returns (DeleteVolumeResponse);
}
/**
* Request message for VolumeService.List method.
*/
message ListVolumesRequest {
// job ID for the volumes.
peloton.JobID jobId = 1;
}
/**
* Response message for VolumeService.List method.
*
* Return errors:
* NOT_FOUND: if the volume is not found.
*/
message ListVolumesResponse {
// volumes result map from volume uuid to volume info.
map<string, PersistentVolumeInfo> volumes = 1;
}
/**
* Request message for VolumeService.Get method.
*/
message GetVolumeRequest {
// the volume id.
peloton.VolumeID id = 1;
}
/**
* Response message for VolumeService.Get method.
*
* Return errors:
* NOT_FOUND: if the volume is not found.
*/
message GetVolumeResponse {
// volume info result.
PersistentVolumeInfo result = 1;
}
/**
* Request message for VolumeService.Delete method.
*/
message DeleteVolumeRequest {
// volume id for the delete request.
peloton.VolumeID id = 1;
}
/**
* Response message for VolumeService.Delete method.
*
* Return errors:
* NOT_FOUND: if the volume is not found.
*/
message DeleteVolumeResponse {
}