diff options
author | rtkay123 <dev@kanjala.com> | 2025-08-14 18:33:10 +0200 |
---|---|---|
committer | rtkay123 <dev@kanjala.com> | 2025-08-14 18:33:10 +0200 |
commit | 19871c1924a8569df741d4bf5f63943b6b646c16 (patch) | |
tree | 8ec72ec271ef8d815c64929dbf6e2ba0b4f3b6a6 /proto/configuration/rule.proto | |
parent | 5eed2d7a4a919b3583017aa9a65089673bce87db (diff) | |
download | warden-19871c1924a8569df741d4bf5f63943b6b646c16.tar.bz2 warden-19871c1924a8569df741d4bf5f63943b6b646c16.zip |
feat(config): rule http
Diffstat (limited to 'proto/configuration/rule.proto')
-rw-r--r-- | proto/configuration/rule.proto | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/proto/configuration/rule.proto b/proto/configuration/rule.proto new file mode 100644 index 0000000..f963fde --- /dev/null +++ b/proto/configuration/rule.proto @@ -0,0 +1,70 @@ +syntax = "proto3"; + +package configuration.rule; + +import "google/protobuf/struct.proto"; + +message Timeframe { + double threshold = 1; +} + +message OutcomeResult { + string sub_rule_ref = 1; + string reason = 2; +} + +message Band { + string sub_rule_ref = 1; + string reason = 2; + optional double lower_limit = 3; + optional double upper_limit = 4; +} + +message Case { + string sub_rule_ref = 1; + string reason = 2; + double value = 3; +} + +message Config { + optional google.protobuf.Value parameters = 1; + repeated OutcomeResult exit_conditions = 2; + repeated Band bands = 3; + repeated Case cases = 4; + repeated Timeframe time_frames = 5; +} + +message RuleConfiguration { + string id = 1; + string version = 2; + Config configuration = 3; + string description = 4; +} + +message RuleConfigurationRequest { + string id = 1; + string version = 2; +} + +message DeleteRuleConfigurationRequest { + string id = 1; + string version = 2; +} + +message UpdateRuleRequest { + RuleConfiguration configuration = 1; +} + +message GetRuleConfigResponse { + optional RuleConfiguration configuration = 1; +} + +service QueryRuleConfiguration { + rpc GetRuleConfiguration (RuleConfigurationRequest) returns (GetRuleConfigResponse); +} + +service MutateRuleConfiguration { + rpc CreateRuleConfiguration (RuleConfiguration) returns (RuleConfiguration); + rpc UpdateRuleConfiguration (UpdateRuleRequest) returns (RuleConfiguration); + rpc DeleteRuleConfiguration (DeleteRuleConfigurationRequest) returns (RuleConfiguration); +} |