| syntax = "proto3"; |
| package chromite.api; |
| |
| option go_package = "go.chromium.org/chromiumos/infra/proto/go/chromite/api"; |
| |
| import "chromite/api/build_api.proto"; |
| |
| |
| // Request for the method discovery endpoint. |
| message MethodGetRequest { |
| |
| } |
| |
| // Response from the method discovery endpoint. |
| message MethodGetResponse { |
| message Method { |
| // The full method name, i.e. package.Service/Method. |
| string method = 1; |
| } |
| |
| // All registered methods. |
| repeated Method methods = 1; |
| } |
| |
| // Request for the API (major) version number. |
| message VersionGetRequest { |
| |
| } |
| |
| // Response with the API (major) version number. |
| message VersionGetResponse { |
| message Version { |
| // Version number components: "major.minor.bug". |
| int32 major = 1; |
| int32 minor = 2; |
| int32 bug = 3; |
| } |
| |
| Version version = 1; |
| } |
| |
| // Service to handle retrieving the registered methods in the API. |
| service MethodService { |
| option (service_options) = { |
| module: "api", |
| service_chroot_assert: OUTSIDE, |
| }; |
| |
| rpc Get(MethodGetRequest) returns (MethodGetResponse) { |
| option (method_options) = { |
| implementation_name: "GetMethods", |
| }; |
| } |
| } |
| |
| // Service for the API version information. |
| service VersionService { |
| option (service_options) = { |
| module: "api", |
| service_chroot_assert: OUTSIDE, |
| }; |
| |
| rpc Get(VersionGetRequest) returns (VersionGetResponse) { |
| option (method_options) = { |
| implementation_name: "GetVersion", |
| }; |
| } |
| } |