| syntax = "proto3"; |
| |
| option go_package = "github.com/opencord/voltha/protos/go/voltha"; |
| |
| package voltha; |
| |
| import "meta.proto"; |
| import "google/api/annotations.proto"; |
| |
| message ConfigEventType { |
| enum ConfigEventType { |
| add = 0; // A new config has been added |
| remove = 1; // A config has been removed |
| update = 2; // A config has been updated |
| } |
| } |
| |
| message ConfigEvent { |
| ConfigEventType.ConfigEventType type = 1; |
| |
| string hash = 2; // hash for this change, can be used for quick lookup |
| string data = 3; // the actual new data, in json format |
| } |
| |
| message KpiEventType { |
| enum KpiEventType { |
| slice = 0; // slice: a set of path/metric data for same time-stamp |
| ts = 1; // time-series: array of data for same metric |
| } |
| } |
| |
| /* |
| * Struct to convey a dictionary of metric->value pairs. Typically used in |
| * pure shared-timestamp or shared-timestamp + shared object prefix situations. |
| */ |
| message MetricValuePairs { |
| |
| // Metric / value pairs. |
| map<string, float> metrics = 1; |
| |
| } |
| |
| |
| message KpiEvent { |
| |
| KpiEventType.KpiEventType type = 1; |
| |
| // Fields used when for slice: |
| |
| float ts = 2; // UTC time-stamp of data in slice mode (seconds since epoc) |
| |
| map<string, MetricValuePairs> prefixes = 3; |
| |
| } |
| |
| /* |
| * Identify to the area of the system impacted by the alarm |
| */ |
| message AlarmEventType { |
| enum AlarmEventType { |
| COMMUNICATION = 0; |
| ENVIRONMENT = 1; |
| EQUIPMENT = 2; |
| SERVICE = 3; |
| PROCESSING = 4; |
| SECURITY = 5; |
| } |
| } |
| |
| /* |
| * Identify to the functional category originating the alarm |
| */ |
| message AlarmEventCategory { |
| enum AlarmEventCategory { |
| PON = 0; |
| OLT = 1; |
| ONT = 2; |
| ONU = 3; |
| } |
| } |
| |
| /* |
| * Active state of the alarm |
| */ |
| message AlarmEventState { |
| enum AlarmEventState { |
| RAISED = 0; |
| CLEARED = 1; |
| } |
| } |
| |
| /* |
| * Identify the overall impact of the alarm on the system |
| */ |
| message AlarmEventSeverity { |
| enum AlarmEventSeverity { |
| INDETERMINATE = 0; |
| WARNING = 1; |
| MINOR = 2; |
| MAJOR = 3; |
| CRITICAL = 4; |
| } |
| } |
| |
| /* |
| * |
| */ |
| message AlarmEvent { |
| // Unique ID for this alarm. e.g. voltha.some_olt.1234 |
| string id = 1; |
| |
| // Refers to the area of the system impacted by the alarm |
| AlarmEventType.AlarmEventType type = 2; |
| |
| // Refers to functional category of the alarm |
| AlarmEventCategory.AlarmEventCategory category = 3; |
| |
| // Current active state of the alarm |
| AlarmEventState.AlarmEventState state = 4; |
| |
| // Overall impact of the alarm on the system |
| AlarmEventSeverity.AlarmEventSeverity severity = 5; |
| |
| // Timestamp at which the alarm was first raised |
| float raised_ts = 6; |
| |
| // Timestamp at which the alarm was reported |
| float reported_ts = 7; |
| |
| // Timestamp at which the alarm has changed since it was raised |
| float changed_ts = 8; |
| |
| // Identifier of the originating resource of the alarm |
| string resource_id = 9; |
| |
| // Textual explanation of the alarm |
| string description = 10; |
| |
| // Key/Value storage for extra information that may give context to the alarm |
| map<string, string> context = 11; |
| |
| // logical device id |
| string logical_device_id = 12; |
| } |