122 lines
3.5 KiB
Protocol Buffer
122 lines
3.5 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package v1beta1;
|
|
|
|
option go_package = "github.com/kubernetes-csi/csi-proxy/client/api/volume/v1beta1";
|
|
|
|
service Volume {
|
|
// ListVolumesOnDisk returns the volume IDs (in \\.\Volume{GUID} format) for
|
|
// all volumes on a Disk device
|
|
rpc ListVolumesOnDisk(ListVolumesOnDiskRequest) returns (ListVolumesOnDiskResponse) {}
|
|
// MountVolume mounts the volume at the requested global staging path
|
|
rpc MountVolume(MountVolumeRequest) returns (MountVolumeResponse) {}
|
|
// DismountVolume gracefully dismounts a volume
|
|
rpc DismountVolume(DismountVolumeRequest) returns (DismountVolumeResponse) {}
|
|
// IsVolumeFormatted checks if a volume is formatted with NTFS
|
|
rpc IsVolumeFormatted(IsVolumeFormattedRequest) returns (IsVolumeFormattedResponse) {}
|
|
// FormatVolume formats a volume with the provided file system
|
|
rpc FormatVolume(FormatVolumeRequest) returns (FormatVolumeResponse) {}
|
|
// ResizeVolume performs resizing of the partition and file system for a block based volume
|
|
rpc ResizeVolume(ResizeVolumeRequest) returns (ResizeVolumeResponse) {}
|
|
// VolumeStats gathers DiskSize, VolumeSize and VolumeUsedSize for a volume
|
|
rpc VolumeStats(VolumeStatsRequest) returns (VolumeStatsResponse) {}
|
|
// GetVolumeDiskNumber gets the disk number of the disk where the volume is located
|
|
rpc GetVolumeDiskNumber(VolumeDiskNumberRequest) returns (VolumeDiskNumberResponse) {}
|
|
// GetVolumeIDFromMount gets the volume id for a given mount
|
|
rpc GetVolumeIDFromMount(VolumeIDFromMountRequest) returns (VolumeIDFromMountResponse) {}
|
|
}
|
|
|
|
message ListVolumesOnDiskRequest {
|
|
// Disk device ID of the disk to query for volumes
|
|
string disk_id = 1;
|
|
}
|
|
|
|
message ListVolumesOnDiskResponse {
|
|
// Volume device IDs of volumes on the specified disk
|
|
repeated string volume_ids = 1;
|
|
}
|
|
|
|
message MountVolumeRequest {
|
|
// Volume device ID of the volume to mount
|
|
string volume_id = 1;
|
|
// Path in the host's file system where the volume needs to be mounted
|
|
string path = 2;
|
|
}
|
|
|
|
message MountVolumeResponse {
|
|
// Intentionally empty
|
|
}
|
|
|
|
message DismountVolumeRequest {
|
|
// Volume device ID of the volume to dismount
|
|
string volume_id = 1;
|
|
// Path where the volume has been mounted.
|
|
string path = 2;
|
|
}
|
|
|
|
message DismountVolumeResponse {
|
|
// Intentionally empty
|
|
}
|
|
|
|
message IsVolumeFormattedRequest {
|
|
// Volume device ID of the volume to check
|
|
string volume_id = 1;
|
|
}
|
|
|
|
message IsVolumeFormattedResponse {
|
|
// Is the volume formatted with NTFS
|
|
bool formatted = 1;
|
|
}
|
|
|
|
message FormatVolumeRequest {
|
|
// Volume device ID of the volume to format
|
|
string volume_id = 1;
|
|
}
|
|
|
|
message FormatVolumeResponse {
|
|
// Intentionally empty
|
|
}
|
|
|
|
message ResizeVolumeRequest {
|
|
// Volume device ID of the volume to dismount
|
|
string volume_id = 1;
|
|
// New size of the volume
|
|
int64 size = 2;
|
|
}
|
|
|
|
message ResizeVolumeResponse {
|
|
// Intentionally empty
|
|
}
|
|
|
|
message VolumeStatsRequest{
|
|
// Volume device Id of the volume to get the stats for
|
|
string volume_id = 1;
|
|
}
|
|
|
|
message VolumeStatsResponse{
|
|
// Capacity of the volume
|
|
int64 volumeSize = 1;
|
|
// Used bytes
|
|
int64 volumeUsedSize = 2;
|
|
}
|
|
|
|
message VolumeDiskNumberRequest{
|
|
// Volume device Id of the volume to get the disk number for
|
|
string volume_id = 1;
|
|
}
|
|
|
|
message VolumeDiskNumberResponse{
|
|
// Corresponding disk number
|
|
int64 diskNumber = 1;
|
|
}
|
|
|
|
message VolumeIDFromMountRequest {
|
|
// Mount
|
|
string mount = 1;
|
|
}
|
|
|
|
message VolumeIDFromMountResponse {
|
|
// Mount
|
|
string volume_id = 1;
|
|
}
|