pcm-slurm/pb/qos.proto

157 lines
2.3 KiB
Protocol Buffer

syntax = "proto3";
package slurm;
option go_package = "/slurm";
message qos {
message Per {
uint32 qos = 1;
uint32 job = 2;
}
message Wall_clock {
Per per = 1;
}
message Per1 {
uint32 account = 1;
uint32 user = 2;
}
message Active_jobs {
Per1 per = 1;
}
message Jobs {
Active_jobs active_jobs = 1;
}
message Per2 {
uint32 account = 1;
uint32 user = 2;
}
message Accruing {
Per2 per = 1;
}
message Job {
string type = 1;
string name = 2;
uint32 id = 3;
uint32 count = 4;
}
message Account {
string type = 1;
string name = 2;
uint32 id = 3;
uint32 count = 4;
}
message User {
string type = 1;
string name = 2;
uint32 id = 3;
uint32 count = 4;
}
message Per3 {
repeated Job job = 1;
repeated Account account = 2;
repeated User user = 3;
}
message Minutes {
Per3 per = 1;
}
message Account1 {
string type = 1;
string name = 2;
uint32 id = 3;
uint32 count = 4;
}
message Job1 {
string type = 1;
string name = 2;
uint32 id = 3;
uint32 count = 4;
}
message Node {
string type = 1;
string name = 2;
uint32 id = 3;
uint32 count = 4;
}
message User1 {
string type = 1;
string name = 2;
uint32 id = 3;
uint32 count = 4;
}
message Per4 {
repeated Account1 account = 1;
repeated Job1 job = 2;
repeated Node node = 3;
repeated User1 user = 4;
}
message Tres {
Minutes minutes = 1;
Per4 per = 2;
}
message Max {
Wall_clock wall_clock = 1;
Jobs jobs = 2;
Accruing accruing = 3;
Tres tres = 4;
}
message Job2 {
string type = 1;
string name = 2;
uint32 id = 3;
uint32 count = 4;
}
message Per5 {
repeated Job2 job = 1;
}
message Tres1 {
Per5 per = 1;
}
message Min {
uint32 priority_threshold = 1;
Tres1 tres = 2;
}
message Limits {
uint32 factor = 1;
Max max = 2;
Min min = 3;
}
message Preempt {
repeated string list = 1;
repeated string mode = 2;
uint32 exempt_time = 3;
}
string description = 1;
repeated string flags = 2;
string id = 3;
Limits limits = 4;
Preempt preempt = 5;
uint32 priority = 6;
uint32 usage_factor = 7;
uint32 usage_threshold = 8;
}