democratic-csi/csi_proxy_proto/disk/v1beta2/api.proto

110 lines
2.8 KiB
Protocol Buffer

syntax = "proto3";
package v1beta2;
option go_package = "github.com/kubernetes-csi/csi-proxy/client/api/disk/v1beta2";
service Disk {
// ListDiskLocations returns locations <Adapter, Bus, Target, LUN ID> of all
// disk devices enumerated by the host
rpc ListDiskLocations(ListDiskLocationsRequest) returns (ListDiskLocationsResponse) {}
// PartitionDisk initializes and partitions a disk device (if the disk has not
// been partitioned already) and returns the resulting volume device ID
rpc PartitionDisk(PartitionDiskRequest) returns (PartitionDiskResponse) {}
// Rescan refreshes the host's storage cache
rpc Rescan(RescanRequest) returns (RescanResponse) {}
// ListDiskIDs returns a map of DiskID objects where the key is the disk number
rpc ListDiskIDs(ListDiskIDsRequest) returns (ListDiskIDsResponse) {}
// DiskStats returns the stats for the disk
rpc DiskStats(DiskStatsRequest) returns (DiskStatsResponse) {}
// SetAttachState sets the offline/online state of a disk
rpc SetAttachState(SetAttachStateRequest) returns (SetAttachStateResponse) {}
// GetAttachState gets the offline/online state of a disk
rpc GetAttachState(GetAttachStateRequest) returns (GetAttachStateResponse) {}
}
message ListDiskLocationsRequest {
// Intentionally empty
}
message DiskLocation {
string Adapter = 1;
string Bus = 2;
string Target = 3;
string LUNID = 4;
}
message ListDiskLocationsResponse {
// Map of disk device IDs and <adapter, bus, target, lun ID> associated with each disk device
map <string, DiskLocation> disk_locations = 1;
}
message PartitionDiskRequest {
// Disk device ID of the disk to partition
string diskID = 1;
}
message PartitionDiskResponse {
// Intentionally empty
}
message RescanRequest {
// Intentionally empty
}
message RescanResponse {
// Intentionally empty
}
message ListDiskIDsRequest {
// Intentionally empty
}
message DiskIDs {
// Map of Disk ID types and Disk ID values
map <string, string> identifiers = 1;
}
message ListDiskIDsResponse {
// Map of disk device numbers and IDs <page83> associated with each disk device
map <string, DiskIDs> diskIDs = 1;
}
message DiskStatsRequest {
// Disk device ID of the disk to get the size from
string diskID = 1;
}
message DiskStatsResponse {
//Total size of the volume
int64 diskSize = 1;
}
message SetAttachStateRequest {
// Disk device ID (number) of the disk which state will change
string diskID = 1;
// Online state to set for the disk. true for online, false for offline
bool isOnline = 2;
}
message SetAttachStateResponse {
}
message GetAttachStateRequest {
// Disk device ID (number) of the disk
string diskID = 1;
}
message GetAttachStateResponse {
// Online state of the disk. true for online, false for offline
bool isOnline = 1;
}