Newer
Older
// 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