| syntax = "proto3"; |
| |
| package moblab; |
| |
| import "google/protobuf/empty.proto"; |
| import "google/protobuf/duration.proto"; |
| |
| // Service exposes Moblab static and runtime configuration |
| service MoblabConfigurationService { |
| // request to pause host scheduling |
| rpc pause_host_scheduler(PauseHostSchedulerRequest) |
| returns (PauseHostSchedulerResponse) {} |
| // request to unpause host scheduling |
| rpc resume_host_scheduler(ResumeHostSchedulerRequest) |
| returns (ResumeHostSchedulerResponse) {} |
| // returns the list of requestors currently requesting to pause |
| rpc get_host_scheduler_pause_status(google.protobuf.Empty) |
| returns (GetHostSchedulerPauseStatusResponse) {} |
| // opens an infinite stream of pause state updates |
| rpc stream_host_scheduler_pause_status(google.protobuf.Empty) |
| returns (stream GetHostSchedulerPauseStatusResponse) {} |
| // returns the known good CrOS version resolved |
| // from system default and user override |
| rpc get_stable_build_version(GetStableBuildVersionRequest) |
| returns (GetStableBuildVersionResponse) {} |
| // sets a user override for known good CrOS version |
| rpc set_stable_build_version(SetStableBuildVersionRequest) |
| returns (SetStableBuildVersionResponse) {} |
| |
| // set the time duration that the results are kept locally |
| rpc set_local_results_retention_duration(SetLocalResultsRetentionDurationRequest) |
| returns (google.protobuf.Empty); |
| // get the time duration that the results are kept locally |
| rpc get_local_results_retention_duration(google.protobuf.Empty) |
| returns (GetLocalResultsRetentionDurationResponse); |
| } |
| |
| // NEXT_TAG = 2 |
| message SetLocalResultsRetentionDurationRequest { |
| // Duration of keeping the results locally after job completion |
| // Should be hours between 1 and 23 or days between 1 and 7 |
| google.protobuf.Duration duration = 1; |
| } |
| |
| message GetLocalResultsRetentionDurationResponse { |
| // Duration of keeping the results locally after job completion |
| // Should be hours between 1 and 23 or days between 1 and 7 |
| google.protobuf.Duration duration = 1; |
| } |
| |
| // NEXT_TAG = 2 |
| message PauseHostSchedulerRequest { |
| PauseRequestor pauseRequestor = 1; |
| } |
| |
| // NEXT_TAG = 2 |
| message PauseHostSchedulerResponse { |
| repeated PauseRequestor pauseRequestors = 1; |
| } |
| |
| // NEXT_TAG = 2 |
| message ResumeHostSchedulerRequest { |
| PauseRequestor pauseRequestor = 1; |
| } |
| |
| // NEXT_TAG = 2 |
| message ResumeHostSchedulerResponse { |
| repeated PauseRequestor pauseRequestors = 1; |
| } |
| |
| // NEXT_TAG = 2 |
| message GetHostSchedulerPauseStatusResponse { |
| // the list of all host scheduling pause requestors |
| // if empty the host scheduling is running |
| repeated PauseRequestor pauseRequestors = 1; |
| } |
| |
| // List of possible host scheduling pause requestors |
| enum PauseRequestor { |
| // Moblab is running out of free disk space |
| PAUSE_REQUESTOR_LOW_DISK_SPACE = 0; |
| // User requested pause of tests scheduling |
| PAUSE_REQUESTOR_PAUSED_BY_USER = 1; |
| } |
| |
| // NEXT_TAG = 2 |
| message GetStableBuildVersionRequest { |
| string board = 1; |
| } |
| |
| // NEXT_TAG = 2 |
| message GetStableBuildVersionResponse { |
| StableVersion stable_version = 1; |
| } |
| |
| // NEXT_TAG = 2 |
| message SetStableBuildVersionRequest { |
| StableVersion stable_version = 1; |
| } |
| |
| // NEXT_TAG = 2 |
| message SetStableBuildVersionResponse { |
| StableVersion stable_version = 1; |
| } |
| |
| // NEXT_TAG = 3 |
| message StableVersion { |
| string default_version = 1; |
| string override_version = 2; |
| } |