You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

74 lines
1.5 KiB

syntax = "proto3";
package api.v1;
import "google/api/annotations.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
option go_package = "vgpu/api/v1;v1";
service Card {
rpc GetAllGPUs (GetAllGpusReq) returns (GPUsReply) {
option (google.api.http) = {
post: "/v1/gpus"
body: "*"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
summary: "显卡列表";
};
}
rpc GetAllGPUTypes (GetAllGpusReq) returns (GPUsReply) {
option (google.api.http) = {
post: "/v1/gpu-types"
body: "*"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
summary: "显卡类型";
};
}
rpc GetGPU (GetGpuReq) returns (GPUReply) {
option (google.api.http) = {
get: "/v1/gpu"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
summary: "显卡详情";
};
}
}
message GetGpuReq {
string uid = 1;
}
message GetAllGpusReq {
message Filters {
string uid = 1;
string type = 2;
string node_name = 3;
string provider = 4;
}
Filters filters = 1;
}
message GPUReply {
string uuid = 1;
string node_name = 2;
string type = 3;
int32 vgpu_used = 4;
int32 vgpu_total = 5;
int32 core_used = 6;
int32 core_total = 7;
int32 memory_used = 8;
int32 memory_total = 9;
string node_uid = 10;
bool health = 11;
string mode = 12;
repeated string resource_pools = 13;
}
message GPUsReply {
repeated GPUReply list = 1;
}