diff --git a/proto/aquila/aquila.runtime_status.proto b/proto/aquila/aquila.runtime_status.proto new file mode 100644 index 0000000..f916dd9 --- /dev/null +++ b/proto/aquila/aquila.runtime_status.proto @@ -0,0 +1,22 @@ +syntax = "proto3"; + +package aquila; + +import "shared.runtime_status.proto"; + +option ruby_package = "Tucana::Aquila"; + +message RuntimeStatusUpdateRequest { + oneof status { + shared.AdapterRuntimeStatus adapter_runtime_status = 1; + shared.ExecutionRuntimeStatus execution_runtime_status = 2; + } +} + +message RuntimeStatusUpdateResponse { + bool success = 1; +} + +service RuntimeStatusService { + rpc Update(RuntimeStatusUpdateRequest) returns (RuntimeStatusUpdateResponse) {} +} diff --git a/proto/sagittarius/sagittarius.runtime_status.proto b/proto/sagittarius/sagittarius.runtime_status.proto new file mode 100644 index 0000000..fa5e4a6 --- /dev/null +++ b/proto/sagittarius/sagittarius.runtime_status.proto @@ -0,0 +1,22 @@ +syntax = "proto3"; + +package sagittarius; + +import "shared.runtime_status.proto"; + +option ruby_package = "Tucana::Sagittarius"; + +message RuntimeStatusUpdateRequest { + oneof status { + shared.AdapterRuntimeStatus adapter_runtime_status = 1; + shared.ExecutionRuntimeStatus execution_runtime_status = 2; + } +} + +message RuntimeStatusUpdateResponse { + bool success = 1; +} + +service RuntimeStatusService { + rpc Update(RuntimeStatusUpdateRequest) returns (RuntimeStatusUpdateResponse) {} +} diff --git a/proto/shared/shared.runtime_status.proto b/proto/shared/shared.runtime_status.proto new file mode 100644 index 0000000..748a8b4 --- /dev/null +++ b/proto/shared/shared.runtime_status.proto @@ -0,0 +1,45 @@ +syntax = "proto3"; + +package shared; + +option ruby_package = "Tucana::Shared"; + +import "shared.translation.proto"; + +message AdapterConfiguration { + oneof data { + string endpoint = 1; // e.g. URL, ... + } +} + +enum RuntimeStatus { + UNKNOWN = 0; + NOT_RESPONDING = 1; + NOT_READY = 2; + RUNNING = 3; + STOPPED = 4; +} + +message RuntimeFeature { + repeated shared.Translation name = 1; + repeated shared.Translation description = 2; +} + +message AdapterRuntimeStatus { + RuntimeStatus status = 1; + int64 timestamp = 2; // epoch timestamp in milliseconds + + string identifier = 3; // unique identifier of the adapter + + repeated RuntimeFeature features = 4; + repeated AdapterConfiguration configurations = 5; +} + +message ExecutionRuntimeStatus { + RuntimeStatus status = 1; + int64 timestamp = 2; // epoch timestamp in milliseconds + + string identifier = 3; // unique identifier of the adapter + + repeated RuntimeFeature features = 4; +}