// Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package policy; import "monitoring.proto"; // Condition message PolicyRuleCondition { monitoring.KpiId kpiId = 1; NumericalOperator numericalOperator = 2; monitoring.KpiValue kpiValue = 3; } // Operator to be used when comparing Kpis with condition values enum NumericalOperator { POLICYRULE_CONDITION_NUMERICAL_UNDEFINED = 0; // Kpi numerical operator undefined POLICYRULE_CONDITION_NUMERICAL_EQUAL = 1; // Kpi is equal with value POLICYRULE_CONDITION_NUMERICAL_NOT_EQUAL = 2; // Kpi is not equal with value POLICYRULE_CONDITION_NUMERICAL_LESS_THAN = 3; // Kpi is less than value POLICYRULE_CONDITION_NUMERICAL_LESS_THAN_EQUAL = 4; // Kpi is less than or equal with value POLICYRULE_CONDITION_NUMERICAL_GREATER_THAN = 5; // Kpi is greater than value POLICYRULE_CONDITION_NUMERICAL_GREATER_THAN_EQUAL = 6; // Kpi is less than or equal with value } // Operator to be used when evaluating each condition enum BooleanOperator { POLICYRULE_CONDITION_BOOLEAN_UNDEFINED = 0; // Boolean operator undefined POLICYRULE_CONDITION_BOOLEAN_AND = 1; // Boolean AND operator POLICYRULE_CONDITION_BOOLEAN_OR = 2; // Boolean OR operator }