policy-condition.proto 1.48 KB
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;
  PolicyRuleConditionComparisonOperator polRuleConditionComparisonOperator = 2;
  monitoring.KpiValue kpiValue = 3;
}

// Operator to be used when comparing Kpis with condition values
enum PolicyRuleConditionComparisonOperator {
  EQUAL = 0;              // Kpi is equal with value
  NOT_EQUAL = 1;          // Kpi is not equal with value
  LESS_THAN = 2;          // Kpi is less than value
  LESS_THAN_EQUAL = 3;    // Kpi is less than or equal with value
  GREATER_THAN = 4;       // Kpi is greater than value
  GREATER_THAN_EQUAL = 5; // Kpi is less than or equal with value
}

// Operator to be used when evaluating each condition
enum PolicyRuleConditionEvaluationOperator {
  AND = 0;  // Logical AND operator
  OR = 1;   // Logical OR operator
}