From 2a7f04e6ee712ab5863dcce34b176b505ca59ab4 Mon Sep 17 00:00:00 2001 From: lootag <51933845+lootag@users.noreply.github.com> Date: Mon, 17 Feb 2025 10:29:29 +0100 Subject: [PATCH] Add grpc gateway annotations (#91) --- Test.Dockerfile | 29 ++ buf.lock | 8 - buf.yaml | 16 +- .../alerts/v3/alert_def_scheduling.proto | 26 -- .../alerts/v3/alert_def_severity.proto | 10 - .../activity_analysis/activity_analysis.proto | 13 - .../common/anomaly_alert_settings.proto | 10 - .../flow/flow_type_definition.proto | 48 --- .../logs/logs_anomaly_type_definition.proto | 26 -- .../logs/logs_immediate_type_definition.proto | 10 - .../logs/logs_new_value_type_definition.proto | 20 - ...logs_ratio_threshold_type_definition.proto | 34 -- .../logs/logs_threshold_type_definition.proto | 28 -- ...e_relative_threshold_type_definition.proto | 29 -- .../logs_unique_count_type_definition.proto | 24 -- .../metric_anomaly_type_definition.proto | 27 -- .../alert_def_type_definition/overrides.proto | 9 - .../tracing_immediate_type_definition.proto | 11 - .../alerts/v3/alert_defs_service.proto | 232 ------------ meta.yaml | 4 +- protofetch.toml | 6 + .../coralogixapis/alerts/v3/alert_def.proto | 36 +- .../v3/alert_def_notification_group.proto | 7 +- .../alerts/v3/alert_def_priority.proto | 0 .../alerts/v3/alert_def_scheduling.proto | 40 ++ .../alerts/v3/alert_def_severity.proto | 18 + .../alerts/v3/alert_def_type.proto | 0 .../activity_analysis/activity_analysis.proto | 22 ++ .../common/anomaly_alert_settings.proto | 19 + .../flow/flow_type_definition.proto | 78 ++++ .../anomaly/logs_anomaly_condition_type.proto | 0 .../logs/common/logs_filter.proto | 21 ++ .../logs/common/logs_timewindow.proto | 9 + .../logs/logs_anomaly_type_definition.proto | 50 +++ .../logs/logs_immediate_type_definition.proto | 18 + .../logs/logs_new_value_type_definition.proto | 35 ++ ...logs_ratio_threshold_type_definition.proto | 50 +++ .../logs/logs_threshold_type_definition.proto | 36 ++ ...e_relative_threshold_type_definition.proto | 45 +++ .../logs_unique_count_type_definition.proto | 39 ++ .../new_value/logs_new_value_timewindow.proto | 9 + .../ratio/logs_ratio_condition_type.proto | 0 .../logs/ratio/logs_ratio_group_by_for.proto | 0 .../logs/ratio/logs_ratio_timewindow.proto | 9 + .../logs_threshold_condition_type.proto | 0 .../logs_time_relative_compared_to.proto | 0 .../logs_time_relative_condition_type.proto | 0 .../logs_unique_value_timewindow.proto | 0 .../metric_anomaly_condition_type.proto | 0 .../metric/common/metric_timewindow.proto | 0 .../metric/common/metrics_filter.proto | 0 .../metric_anomaly_type_definition.proto | 44 +++ .../metric_threshold_type_definition.proto | 17 +- .../metric_threshold_condition_type.proto | 0 .../metric_threshold_missing_values.proto | 0 .../notification_destination.proto | 8 + .../alert_def_type_definition/overrides.proto | 16 + .../tracing/common/tracing_filter.proto | 0 .../tracing_threshold_condition_type.proto | 0 .../tracing_threshold_timewindow.proto | 0 .../tracing_immediate_type_definition.proto | 19 + .../tracing_threshold_type_definition.proto | 15 + .../undetected_values_management.proto | 9 + .../v3/alert_defs_internal_service.proto | 0 .../alerts/v3/alert_defs_service.proto | 351 ++++++++++++++++++ .../coralogixapis/alerts/v3/commons.proto | 0 .../alerts/v3/event/alert_event.proto | 0 .../alerts/v3/event/alert_event_payload.proto | 0 .../alerts/v3/event/alert_event_service.proto | 7 +- .../alerts/v3/event/payload/common.proto | 1 + .../v3/event/payload/flow/event_flow.proto | 0 .../event/payload/flow/event_flow_match.proto | 0 .../metric/event_metric_less_than.proto | 0 .../event_metric_less_than_or_equals.proto | 0 .../metric/event_metric_more_than.proto | 0 .../event_metric_more_than_or_equals.proto | 0 .../metric/event_metric_more_than_usual.proto | 0 ...vent_metric_more_than_usual_enriched.proto | 0 .../payload/new_value/event_new_value.proto | 0 .../payload/ratio/event_ratio_less_than.proto | 0 .../payload/ratio/event_ratio_more_than.proto | 0 .../event/payload/ratio_special_values.proto | 0 .../standard/event_standard_immediate.proto | 0 .../standard/event_standard_less_than.proto | 0 .../standard/event_standard_more_than.proto | 0 .../event_standard_more_than_usual.proto | 0 .../event_time_relative_less_than.proto | 0 .../event_time_relative_more_than.proto | 0 .../tracing/event_tracing_immediate.proto | 0 .../tracing/event_tracing_more_than.proto | 0 .../payload/tracing/span_time_range.proto | 0 .../unique_count/event_unique_count.proto | 0 .../logs_immediate_notification.proto | 1 - .../logs_threshold_notification.proto | 0 .../metric_threshold_notification.proto | 0 .../v3/notification/notification_event.proto | 1 - .../metric/event_metric_less_than_usual.proto | 0 ...vent_metric_less_than_usual_enriched.proto | 0 .../metric/event_metric_more_than_usual.proto | 0 ...vent_metric_more_than_usual_enriched.proto | 0 .../event_metric_unusual_prediction.proto | 0 .../metric/event_unusual_payload.proto | 0 .../metric/event_metric_less_than_usual.proto | 0 ...vent_metric_less_than_usual_enriched.proto | 0 .../metric/event_metric_more_than_usual.proto | 0 ...vent_metric_more_than_usual_enriched.proto | 0 .../metric/event_metric_unusual_payload.proto | 0 .../event_metric_unusual_prediction.proto | 0 .../event_standard_less_than_usual.proto | 0 ...nt_standard_less_than_usual_enriched.proto | 0 .../event_standard_more_than_usual.proto | 0 ...nt_standard_more_than_usual_enriched.proto | 0 .../event_standard_unusual_payload.proto | 0 113 files changed, 1066 insertions(+), 584 deletions(-) create mode 100644 Test.Dockerfile delete mode 100644 buf.lock delete mode 100644 com/coralogixapis/alerts/v3/alert_def_scheduling.proto delete mode 100644 com/coralogixapis/alerts/v3/alert_def_severity.proto delete mode 100644 com/coralogixapis/alerts/v3/alert_def_type_definition/activity_analysis/activity_analysis.proto delete mode 100644 com/coralogixapis/alerts/v3/alert_def_type_definition/common/anomaly_alert_settings.proto delete mode 100644 com/coralogixapis/alerts/v3/alert_def_type_definition/flow/flow_type_definition.proto delete mode 100644 com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_anomaly_type_definition.proto delete mode 100644 com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_immediate_type_definition.proto delete mode 100644 com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_new_value_type_definition.proto delete mode 100644 com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_ratio_threshold_type_definition.proto delete mode 100644 com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_threshold_type_definition.proto delete mode 100644 com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_time_relative_threshold_type_definition.proto delete mode 100644 com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_unique_count_type_definition.proto delete mode 100644 com/coralogixapis/alerts/v3/alert_def_type_definition/metric/metric_anomaly_type_definition.proto delete mode 100644 com/coralogixapis/alerts/v3/alert_def_type_definition/overrides.proto delete mode 100644 com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/tracing_immediate_type_definition.proto delete mode 100644 com/coralogixapis/alerts/v3/alert_defs_service.proto create mode 100644 protofetch.toml rename {com => src/com}/coralogixapis/alerts/v3/alert_def.proto (68%) rename {com => src/com}/coralogixapis/alerts/v3/alert_def_notification_group.proto (66%) rename {com => src/com}/coralogixapis/alerts/v3/alert_def_priority.proto (100%) create mode 100644 src/com/coralogixapis/alerts/v3/alert_def_scheduling.proto create mode 100644 src/com/coralogixapis/alerts/v3/alert_def_severity.proto rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type.proto (100%) create mode 100644 src/com/coralogixapis/alerts/v3/alert_def_type_definition/activity_analysis/activity_analysis.proto create mode 100644 src/com/coralogixapis/alerts/v3/alert_def_type_definition/common/anomaly_alert_settings.proto create mode 100644 src/com/coralogixapis/alerts/v3/alert_def_type_definition/flow/flow_type_definition.proto rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/logs/anomaly/logs_anomaly_condition_type.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_filter.proto (57%) rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_timewindow.proto (70%) create mode 100644 src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_anomaly_type_definition.proto create mode 100644 src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_immediate_type_definition.proto create mode 100644 src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_new_value_type_definition.proto create mode 100644 src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_ratio_threshold_type_definition.proto create mode 100644 src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_threshold_type_definition.proto create mode 100644 src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_time_relative_threshold_type_definition.proto create mode 100644 src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_unique_count_type_definition.proto rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/logs/new_value/logs_new_value_timewindow.proto (68%) rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_condition_type.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_group_by_for.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_timewindow.proto (71%) rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/logs/threshold/logs_threshold_condition_type.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/logs/time_relative/logs_time_relative_compared_to.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/logs/time_relative/logs_time_relative_condition_type.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/logs/unique_count/logs_unique_value_timewindow.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/metric/anomaly/metric_anomaly_condition_type.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/metric/common/metric_timewindow.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/metric/common/metrics_filter.proto (100%) create mode 100644 src/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/metric_anomaly_type_definition.proto rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/metric/metric_threshold_type_definition.proto (65%) rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/metric/threshold/metric_threshold_condition_type.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/metric/threshold/metric_threshold_missing_values.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/notification_destination.proto (73%) create mode 100644 src/com/coralogixapis/alerts/v3/alert_def_type_definition/overrides.proto rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/tracing/common/tracing_filter.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/tracing/threshold/tracing_threshold_condition_type.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/tracing/threshold/tracing_threshold_timewindow.proto (100%) create mode 100644 src/com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/tracing_immediate_type_definition.proto rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/tracing/tracing_threshold_type_definition.proto (57%) rename {com => src/com}/coralogixapis/alerts/v3/alert_def_type_definition/undetected_values_management.proto (63%) rename {com => src/com}/coralogixapis/alerts/v3/alert_defs_internal_service.proto (100%) create mode 100644 src/com/coralogixapis/alerts/v3/alert_defs_service.proto rename {com => src/com}/coralogixapis/alerts/v3/commons.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/alert_event.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/alert_event_payload.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/alert_event_service.proto (91%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/common.proto (86%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/flow/event_flow.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/flow/event_flow_match.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/metric/event_metric_less_than.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/metric/event_metric_less_than_or_equals.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/metric/event_metric_more_than.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/metric/event_metric_more_than_or_equals.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/metric/event_metric_more_than_usual.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/metric/event_metric_more_than_usual_enriched.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/new_value/event_new_value.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/ratio/event_ratio_less_than.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/ratio/event_ratio_more_than.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/ratio_special_values.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/standard/event_standard_immediate.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/standard/event_standard_less_than.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/standard/event_standard_more_than.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/standard/event_standard_more_than_usual.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/time_relative/event_time_relative_less_than.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/time_relative/event_time_relative_more_than.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/tracing/event_tracing_immediate.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/tracing/event_tracing_more_than.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/tracing/span_time_range.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/event/payload/unique_count/event_unique_count.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/notification/logs_immediate_notification.proto (69%) rename {com => src/com}/coralogixapis/alerts/v3/notification/logs_threshold_notification.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/notification/metric_threshold_notification.proto (100%) rename {com => src/com}/coralogixapis/alerts/v3/notification/notification_event.proto (95%) rename {com => src/com}/coralogixapis/alerts/v4/event/payload/metric/event_metric_less_than_usual.proto (100%) rename {com => src/com}/coralogixapis/alerts/v4/event/payload/metric/event_metric_less_than_usual_enriched.proto (100%) rename {com => src/com}/coralogixapis/alerts/v4/event/payload/metric/event_metric_more_than_usual.proto (100%) rename {com => src/com}/coralogixapis/alerts/v4/event/payload/metric/event_metric_more_than_usual_enriched.proto (100%) rename {com => src/com}/coralogixapis/alerts/v4/event/payload/metric/event_metric_unusual_prediction.proto (100%) rename {com => src/com}/coralogixapis/alerts/v4/event/payload/metric/event_unusual_payload.proto (100%) rename {com => src/com}/coralogixapis/alerts/v5/event/payload/metric/event_metric_less_than_usual.proto (100%) rename {com => src/com}/coralogixapis/alerts/v5/event/payload/metric/event_metric_less_than_usual_enriched.proto (100%) rename {com => src/com}/coralogixapis/alerts/v5/event/payload/metric/event_metric_more_than_usual.proto (100%) rename {com => src/com}/coralogixapis/alerts/v5/event/payload/metric/event_metric_more_than_usual_enriched.proto (100%) rename {com => src/com}/coralogixapis/alerts/v5/event/payload/metric/event_metric_unusual_payload.proto (100%) rename {com => src/com}/coralogixapis/alerts/v5/event/payload/metric/event_metric_unusual_prediction.proto (100%) rename {com => src/com}/coralogixapis/alerts/v5/event/payload/standard/event_standard_less_than_usual.proto (100%) rename {com => src/com}/coralogixapis/alerts/v5/event/payload/standard/event_standard_less_than_usual_enriched.proto (100%) rename {com => src/com}/coralogixapis/alerts/v5/event/payload/standard/event_standard_more_than_usual.proto (100%) rename {com => src/com}/coralogixapis/alerts/v5/event/payload/standard/event_standard_more_than_usual_enriched.proto (100%) rename {com => src/com}/coralogixapis/alerts/v5/event/payload/standard/event_standard_unusual_payload.proto (100%) diff --git a/Test.Dockerfile b/Test.Dockerfile new file mode 100644 index 0000000..2484f50 --- /dev/null +++ b/Test.Dockerfile @@ -0,0 +1,29 @@ +# FROM 529726762838.dkr.ecr.eu-north-1.amazonaws.com/debian:12.8 +FROM debian:12.8 + +RUN apt update && apt install -y curl git + +RUN curl -sSL "https://github.com/coralogix/protofetch/releases/download/v0.1.8/protofetch_$(uname -m)-unknown-linux-musl.tar.gz" -o "protofetch.tar.gz" +RUN tar -xvf "protofetch.tar.gz" -C / + +RUN curl -sSL "https://github.com/bufbuild/buf/releases/download/v1.47.2/buf-Linux-$(uname -m)" -o "/bin/buf" +RUN chmod +x "/bin/buf" + +ADD . /branch + +# Fetch the master branch, fetch dependencies and merge them +RUN --mount=type=ssh \ + --mount=type=secret,id=known_hosts,target=/root/.ssh/known_hosts \ + git clone git@github.com:coralogix/cx-api-alerts.git /master +WORKDIR /master +RUN --mount=type=ssh \ + --mount=type=secret,id=known_hosts,target=/root/.ssh/known_hosts \ + if [ -f "protofetch.toml" ]; then protofetch fetch -f; fi + +WORKDIR /branch +RUN --mount=type=ssh \ + --mount=type=secret,id=known_hosts,target=/root/.ssh/known_hosts \ + protofetch fetch -f + + +RUN buf lint \ No newline at end of file diff --git a/buf.lock b/buf.lock deleted file mode 100644 index 65d8f1f..0000000 --- a/buf.lock +++ /dev/null @@ -1,8 +0,0 @@ -# Generated by buf. DO NOT EDIT. -version: v1 -deps: - - remote: buf.build - owner: googleapis - repository: googleapis - commit: cc916c31859748a68fd229a3c8d7a2e8 - digest: shake256:469b049d0eb04203d5272062636c078decefc96fec69739159c25d85349c50c34c7706918a8b216c5c27f76939df48452148cff8c5c3ae77fa6ba5c25c1b8bf8 diff --git a/buf.yaml b/buf.yaml index 740de8e..c8c7f3a 100644 --- a/buf.yaml +++ b/buf.yaml @@ -1,13 +1,21 @@ -version: v1 -deps: - - buf.build/googleapis/googleapis +version: v2 +modules: + - path: src + - path: deps lint: use: - DEFAULT + ignore: + - deps except: - PACKAGE_DIRECTORY_MATCH - PACKAGE_SAME_DIRECTORY - allow_comment_ignores: true + - RPC_REQUEST_STANDARD_NAME + - RPC_RESPONSE_STANDARD_NAME + - FIELD_LOWER_SNAKE_CASE + - PACKAGE_DEFINED breaking: use: - WIRE + ignore: + - deps diff --git a/com/coralogixapis/alerts/v3/alert_def_scheduling.proto b/com/coralogixapis/alerts/v3/alert_def_scheduling.proto deleted file mode 100644 index 4b34e6a..0000000 --- a/com/coralogixapis/alerts/v3/alert_def_scheduling.proto +++ /dev/null @@ -1,26 +0,0 @@ -syntax = "proto3"; - -package com.coralogixapis.alerts.v3; - -import "google/protobuf/wrappers.proto"; - -message ActivitySchedule { - repeated DayOfWeek day_of_week = 1; - TimeOfDay start_time = 2; - TimeOfDay end_time = 3; -} -enum DayOfWeek { - DAY_OF_WEEK_MONDAY_OR_UNSPECIFIED = 0; - DAY_OF_WEEK_TUESDAY = 1; - DAY_OF_WEEK_WEDNESDAY = 2; - DAY_OF_WEEK_THURSDAY = 3; - DAY_OF_WEEK_FRIDAY = 4; - DAY_OF_WEEK_SATURDAY = 5; - DAY_OF_WEEK_SUNDAY = 6; -} -message TimeOfDay { - // Hours of day in 24 hour format. Should be from 0 to 23. - int32 hours = 1; - // Minutes of hour of day. Must be from 0 to 59. - int32 minutes = 2; -} diff --git a/com/coralogixapis/alerts/v3/alert_def_severity.proto b/com/coralogixapis/alerts/v3/alert_def_severity.proto deleted file mode 100644 index 9b86128..0000000 --- a/com/coralogixapis/alerts/v3/alert_def_severity.proto +++ /dev/null @@ -1,10 +0,0 @@ -syntax = "proto3"; - -package com.coralogixapis.alerts.v3; -import "google/protobuf/wrappers.proto"; -import "com/coralogixapis/alerts/v3/alert_def_priority.proto"; - -message AlertDefSeverity { - google.protobuf.Int32Value severity = 1; - AlertDefPriority priority = 2; -} diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/activity_analysis/activity_analysis.proto b/com/coralogixapis/alerts/v3/alert_def_type_definition/activity_analysis/activity_analysis.proto deleted file mode 100644 index 3c556d6..0000000 --- a/com/coralogixapis/alerts/v3/alert_def_type_definition/activity_analysis/activity_analysis.proto +++ /dev/null @@ -1,13 +0,0 @@ -syntax = "proto3"; - -package com.coralogixapis.alerts.v3; - -message ActivityAnalysis { - repeated string rules = 1; - ActivityAnalysisStatus status = 2; -} - -enum ActivityAnalysisStatus { - ACTIVITY_ANALYSIS_STATUS_ACTIVATE_OR_UNSPECIFIED = 0; - ACTIVITY_ANALYSIS_STATUS_MUTE = 1; -} diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/common/anomaly_alert_settings.proto b/com/coralogixapis/alerts/v3/alert_def_type_definition/common/anomaly_alert_settings.proto deleted file mode 100644 index 3ed3ae5..0000000 --- a/com/coralogixapis/alerts/v3/alert_def_type_definition/common/anomaly_alert_settings.proto +++ /dev/null @@ -1,10 +0,0 @@ -syntax = "proto3"; - -package com.coralogixapis.alerts.v3; - - -import "google/protobuf/wrappers.proto"; - -message AnomalyAlertSettings { - google.protobuf.FloatValue percentage_of_deviation = 1; -} diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/flow/flow_type_definition.proto b/com/coralogixapis/alerts/v3/alert_def_type_definition/flow/flow_type_definition.proto deleted file mode 100644 index 6e850ec..0000000 --- a/com/coralogixapis/alerts/v3/alert_def_type_definition/flow/flow_type_definition.proto +++ /dev/null @@ -1,48 +0,0 @@ -syntax = "proto3"; - -package com.coralogixapis.alerts.v3; - -import "google/protobuf/wrappers.proto"; - -message FlowType { - repeated FlowStages stages = 1 ; - google.protobuf.BoolValue enforce_suppression = 2; -} - -message FlowStages { - oneof flow_stages { - FlowStagesGroups flow_stages_groups = 10; - } - google.protobuf.Int64Value timeframe_ms = 3; - TimeframeType timeframe_type = 4; -} - -message FlowStagesGroups { - repeated FlowStagesGroup groups = 1; -} - -message FlowStagesGroup { - repeated FlowStagesGroupsAlertDefs alert_defs = 1; - NextOp next_op = 2; - AlertsOp alerts_op = 3; -} - -message FlowStagesGroupsAlertDefs { - google.protobuf.StringValue id = 1; - google.protobuf.BoolValue not = 2; -} - -enum NextOp { - NEXT_OP_AND_OR_UNSPECIFIED = 0; - NEXT_OP_OR = 1; -} - -enum AlertsOp { - ALERTS_OP_AND_OR_UNSPECIFIED = 0; - ALERTS_OP_OR = 1; -} - -enum TimeframeType { - TIMEFRAME_TYPE_UNSPECIFIED = 0; - TIMEFRAME_TYPE_UP_TO = 1; -} diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_anomaly_type_definition.proto b/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_anomaly_type_definition.proto deleted file mode 100644 index f6f6128..0000000 --- a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_anomaly_type_definition.proto +++ /dev/null @@ -1,26 +0,0 @@ -syntax = "proto3"; - -package com.coralogixapis.alerts.v3; - -import "google/protobuf/wrappers.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_filter.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_timewindow.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/anomaly/logs_anomaly_condition_type.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/common/anomaly_alert_settings.proto"; - -message LogsAnomalyType { - LogsFilter logs_filter = 1; - repeated LogsAnomalyRule rules = 2; - repeated google.protobuf.StringValue notification_payload_filter = 3; - google.protobuf.Int32Value evaluation_delay_ms = 4; - AnomalyAlertSettings anomaly_alert_settings = 5; -} -message LogsAnomalyRule { - LogsAnomalyCondition condition = 1; -} - -message LogsAnomalyCondition { - google.protobuf.DoubleValue minimum_threshold = 1; - LogsTimeWindow time_window = 2; - LogsAnomalyConditionType condition_type = 3; -} diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_immediate_type_definition.proto b/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_immediate_type_definition.proto deleted file mode 100644 index a603090..0000000 --- a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_immediate_type_definition.proto +++ /dev/null @@ -1,10 +0,0 @@ -syntax = "proto3"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_filter.proto"; -import "google/protobuf/wrappers.proto"; - -package com.coralogixapis.alerts.v3; - -message LogsImmediateType { - LogsFilter logs_filter = 1; - repeated google.protobuf.StringValue notification_payload_filter = 2; -} diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_new_value_type_definition.proto b/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_new_value_type_definition.proto deleted file mode 100644 index 4978fb3..0000000 --- a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_new_value_type_definition.proto +++ /dev/null @@ -1,20 +0,0 @@ -syntax = "proto3"; - -package com.coralogixapis.alerts.v3; - -import "google/protobuf/wrappers.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/new_value/logs_new_value_timewindow.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_filter.proto"; - -message LogsNewValueType { - LogsFilter logs_filter = 1; - repeated LogsNewValueRule rules = 2; - repeated google.protobuf.StringValue notification_payload_filter = 3; -} -message LogsNewValueRule { - LogsNewValueCondition condition = 1; -} -message LogsNewValueCondition { - google.protobuf.StringValue keypath_to_track = 1; - LogsNewValueTimeWindow time_window = 2; -} diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_ratio_threshold_type_definition.proto b/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_ratio_threshold_type_definition.proto deleted file mode 100644 index ac7cc2b..0000000 --- a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_ratio_threshold_type_definition.proto +++ /dev/null @@ -1,34 +0,0 @@ -syntax = "proto3"; - -package com.coralogixapis.alerts.v3; - -import "google/protobuf/wrappers.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_filter.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_timewindow.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/undetected_values_management.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_group_by_for.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_condition_type.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/overrides.proto"; - -message LogsRatioThresholdType { - LogsFilter numerator = 1; - google.protobuf.StringValue numerator_alias =2; - LogsFilter denominator = 3; - google.protobuf.StringValue denominator_alias = 4; - repeated LogsRatioRules rules = 5; - repeated google.protobuf.StringValue notification_payload_filter = 6; - LogsRatioGroupByFor group_by_for = 7; - UndetectedValuesManagement undetected_values_management = 8; - google.protobuf.BoolValue ignore_infinity = 9; - google.protobuf.Int32Value evaluation_delay_ms = 10; -} -message LogsRatioRules { - LogsRatioCondition condition = 1; - AlertDefOverride override = 2; -} - -message LogsRatioCondition { - google.protobuf.DoubleValue threshold = 1; - LogsRatioTimeWindow time_window = 2; - LogsRatioConditionType condition_type = 4; -} diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_threshold_type_definition.proto b/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_threshold_type_definition.proto deleted file mode 100644 index 8b3ab33..0000000 --- a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_threshold_type_definition.proto +++ /dev/null @@ -1,28 +0,0 @@ -syntax = "proto3"; - -package com.coralogixapis.alerts.v3; - -import "google/protobuf/wrappers.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_filter.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/undetected_values_management.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_timewindow.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/threshold/logs_threshold_condition_type.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/overrides.proto"; - -message LogsThresholdType { - LogsFilter logs_filter = 1; - UndetectedValuesManagement undetected_values_management = 2; - repeated LogsThresholdRule rules = 3; - repeated google.protobuf.StringValue notification_payload_filter = 4; - google.protobuf.Int32Value evaluation_delay_ms = 5; -} -message LogsThresholdRule { - LogsThresholdCondition condition = 1; - AlertDefOverride override = 2; -} - -message LogsThresholdCondition { - google.protobuf.DoubleValue threshold = 1; - LogsTimeWindow time_window = 2; - LogsThresholdConditionType condition_type = 3; -} diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_time_relative_threshold_type_definition.proto b/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_time_relative_threshold_type_definition.proto deleted file mode 100644 index 1a0cb92..0000000 --- a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_time_relative_threshold_type_definition.proto +++ /dev/null @@ -1,29 +0,0 @@ -syntax = "proto3"; - -package com.coralogixapis.alerts.v3; - -import "google/protobuf/wrappers.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_filter.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/time_relative/logs_time_relative_compared_to.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/undetected_values_management.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/time_relative/logs_time_relative_condition_type.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/overrides.proto"; - -message LogsTimeRelativeThresholdType { - LogsFilter logs_filter = 1; - repeated LogsTimeRelativeRule rules = 2; - google.protobuf.BoolValue ignore_infinity = 3; - repeated google.protobuf.StringValue notification_payload_filter = 4; - UndetectedValuesManagement undetected_values_management = 5; - google.protobuf.Int32Value evaluation_delay_ms = 6; -} -message LogsTimeRelativeRule { - LogsTimeRelativeCondition condition = 1; - AlertDefOverride override = 2; -} - -message LogsTimeRelativeCondition { - google.protobuf.DoubleValue threshold = 1; - LogsTimeRelativeComparedTo compared_to = 2; - LogsTimeRelativeConditionType condition_type = 4; -} diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_unique_count_type_definition.proto b/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_unique_count_type_definition.proto deleted file mode 100644 index 4d5c610..0000000 --- a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_unique_count_type_definition.proto +++ /dev/null @@ -1,24 +0,0 @@ -syntax = "proto3"; - -package com.coralogixapis.alerts.v3; - -import "google/protobuf/wrappers.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_filter.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/unique_count/logs_unique_value_timewindow.proto"; - -message LogsUniqueCountType { - LogsFilter logs_filter = 1; - repeated LogsUniqueCountRule rules = 2; - repeated google.protobuf.StringValue notification_payload_filter = 3; - google.protobuf.Int64Value max_unique_count_per_group_by_key = 4; - google.protobuf.StringValue unique_count_keypath = 5; -} - -message LogsUniqueCountRule { - LogsUniqueCountCondition condition = 1; -} - -message LogsUniqueCountCondition { - google.protobuf.Int64Value max_unique_count = 2; - LogsUniqueValueTimeWindow time_window = 3; -} diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/metric_anomaly_type_definition.proto b/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/metric_anomaly_type_definition.proto deleted file mode 100644 index 7d2798a..0000000 --- a/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/metric_anomaly_type_definition.proto +++ /dev/null @@ -1,27 +0,0 @@ -syntax = "proto3"; - -package com.coralogixapis.alerts.v3; - -import "google/protobuf/wrappers.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/metric/common/metric_timewindow.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/metric/common/metrics_filter.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/metric/anomaly/metric_anomaly_condition_type.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/common/anomaly_alert_settings.proto"; - -message MetricAnomalyType { - MetricFilter metric_filter = 1; - repeated MetricAnomalyRule rules = 2; - google.protobuf.Int32Value evaluation_delay_ms = 3; - AnomalyAlertSettings anomaly_alert_settings = 4; -} -message MetricAnomalyRule { - MetricAnomalyCondition condition = 1; -} - -message MetricAnomalyCondition { - google.protobuf.DoubleValue threshold = 1; - google.protobuf.UInt32Value for_over_pct = 2; - MetricTimeWindow of_the_last = 3; - google.protobuf.UInt32Value min_non_null_values_pct = 4; - MetricAnomalyConditionType condition_type = 5; -} diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/overrides.proto b/com/coralogixapis/alerts/v3/alert_def_type_definition/overrides.proto deleted file mode 100644 index 03b6404..0000000 --- a/com/coralogixapis/alerts/v3/alert_def_type_definition/overrides.proto +++ /dev/null @@ -1,9 +0,0 @@ -syntax = "proto3"; - -package com.coralogixapis.alerts.v3; - -import "com/coralogixapis/alerts/v3/alert_def_priority.proto"; - -message AlertDefOverride { - AlertDefPriority priority = 1; -} diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/tracing_immediate_type_definition.proto b/com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/tracing_immediate_type_definition.proto deleted file mode 100644 index f928aad..0000000 --- a/com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/tracing_immediate_type_definition.proto +++ /dev/null @@ -1,11 +0,0 @@ -syntax = "proto3"; - -package com.coralogixapis.alerts.v3; - -import "google/protobuf/wrappers.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/common/tracing_filter.proto"; - -message TracingImmediateType { - TracingFilter tracing_filter = 1; - repeated google.protobuf.StringValue notification_payload_filter = 2; -} diff --git a/com/coralogixapis/alerts/v3/alert_defs_service.proto b/com/coralogixapis/alerts/v3/alert_defs_service.proto deleted file mode 100644 index 418a9c2..0000000 --- a/com/coralogixapis/alerts/v3/alert_defs_service.proto +++ /dev/null @@ -1,232 +0,0 @@ -syntax = "proto3"; - -package com.coralogixapis.alerts.v3; - -import "google/protobuf/descriptor.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/wrappers.proto"; -import "google/protobuf/timestamp.proto"; -import "com/coralogixapis/alerts/v3/alert_def.proto"; -import "com/coralogixapis/alerts/v3/alert_def_type.proto"; - -message AuditLogDescription { - optional string description = 1; - } - -extend google.protobuf.MethodOptions { - optional AuditLogDescription audit_log_description = 5000; - } - -service AlertDefsService { - // Get Alert Def by non changing ID AKA UniqueIdentifier - rpc GetAlertDef(GetAlertDefRequest) returns (GetAlertDefResponse) { - option (audit_log_description).description = "get alert definition"; - option (google.api.http) = { - get: "/v3/alert-defs/{id}" - }; - } - - rpc GetAlertDefByVersionId(GetAlertDefByVersionIdRequest) returns (GetAlertDefByVersionIdResponse) { - option (audit_log_description).description = "get alert definition by alert version id"; - option (google.api.http) = { - get: "/v3/alert-defs/alertVersionId/{alert_version_id}" - }; - } - - rpc CreateAlertDef(CreateAlertDefRequest) returns (CreateAlertDefResponse){ - option (audit_log_description).description = "create alert definition"; - option (google.api.http) = { - post: "/v3/alert-defs" - body: "alertDef" - }; - } - - rpc ReplaceAlertDef(ReplaceAlertDefRequest) returns (ReplaceAlertDefResponse){ - option (audit_log_description).description = "replace alert definition"; - option (google.api.http) = { - put: "/v3/alert-defs" - body: "alertDef" - }; - } - -// rpc BatchGetAlertDef(BatchGetAlertDefRequest) returns (BatchGetAlertDefResponse){ -// option (audit_log_description).description = "batch get alert definitions"; -// option (google.api.http) = { -// get: "/v3/alertDefs:batchGet" -// }; -// } - - rpc ListAlertDefs(ListAlertDefsRequest) returns (ListAlertDefsResponse){ - option (audit_log_description).description = "get alert definitions list"; - option (google.api.http) = { - get: "/v3/alert-defs" - body: "*" - }; - } - - rpc DownloadAlerts(DownloadAlertsRequest) returns (stream DownloadAlertsResponse){ - option (audit_log_description).description = "Download alerts"; - option (google.api.http) = { - get: "/v3/alerts/download" - body: "*" - }; - } - - rpc DeleteAlertDef(DeleteAlertDefRequest) returns (DeleteAlertDefResponse){ - option (audit_log_description).description = "delete alert definitions"; - option (google.api.http) = { - delete: "/v3/alert-defs/{id}" - }; - } - -// rpc AtomicBatchExecuteAlert(AtomicBatchExecuteAlertRequest) returns (AtomicBatchExecuteAlertResponse) { -// option (audit_log_description).description = "atomic batch execute alert"; -// option (google.api.http) = { -// post: "/v3/alerts:atomicBatchExecute" -// body: "*" -// }; -// } - - -// rpc GetLimits(GetLimitsRequest) returns (GetLimitsResponse) { -// option (audit_log_description).description = "get limits"; -// option (google.api.http) = { -// get: "/v3/alerts:getLimits" -// }; -// } -// -// rpc ValidateAlert(ValidateAlertRequest) returns (ValidateAlertResponse) { -// option (audit_log_description).description = "validate alert"; -// option (google.api.http) = { -// post: "/v3/alerts:validate" -// body: "alert" -// }; -// } - - rpc SetActive(SetActiveRequest) returns (SetActiveResponse) { - option (audit_log_description).description = "disable or enable the alert definitions"; - option (google.api.http) = { - post: "/v3/alert-defs/{id}:SetActive" - }; - } -} - -enum OrderByDirection { - ORDER_BY_DIRECTION_ASC_OR_UNSPECIFIED = 0; - ORDER_BY_DIRECTION_DESC = 1; -} - -enum OrderByFields { - ORDER_BY_FIELDS_NAME_OR_UNSPECIFIED = 0; - ORDER_BY_FIELDS_ID = 1; - ORDER_BY_FIELDS_SEVERITY = 2; - ORDER_BY_FIELDS_CREATED_TIME = 3; - ORDER_BY_FIELDS_UPDATED_TIME = 4; -} - -message OrderBy { - OrderByFields field_name = 1; - OrderByDirection direction = 2; -} - -message GetAlertDefRequest { - google.protobuf.StringValue id = 1; // The Alert's non changing ID -} - -message GetAlertDefByVersionIdRequest { - google.protobuf.StringValue alert_version_id = 1; // The Alert's version ID -} - -message GetAlertDefResponse { - AlertDef alert_def = 1; -} - -message GetAlertDefByVersionIdResponse { - AlertDef alert_def = 1; -} - -message ListAlertDefsResponse { - repeated AlertDef alert_defs = 1; -} - -message ListAlertDefsRequest { -} - -message DownloadAlertsRequest { -} - - -message DownloadAlertsResponse { - bytes content = 1; -} - - -message BatchGetAlertDefRequest { - repeated google.protobuf.StringValue ids = 1 ; -} - -message BatchGetAlertDefResponse { - map alert_defs = 1; - repeated google.protobuf.StringValue not_found_ids =2; -} - -message DeleteAlertDefRequest { - google.protobuf.StringValue id = 1; -} -message DeleteAlertDefResponse { -} -message ReplaceAlertDefRequest { - AlertDefProperties alert_def_properties = 1; - google.protobuf.StringValue id = 2;// The AlertDef's Id to be replaced -} -message ReplaceAlertDefResponse { - AlertDef alert_def = 1; -} -message CreateAlertDefRequest{ - AlertDefProperties alert_def_properties = 1; -} -message CreateAlertDefResponse { - AlertDef alert_def = 1; -} -//message AtomicBatchExecuteAlertRequest { -// repeated AlertExecutionRequest requests = 1; -//} -//message AtomicBatchExecuteAlertResponse { -// repeated AlertExecutionResponse matching_responses = 1; -// //TODO: Where should this object be placed -// com.coralogix.api.ResponseStatus status = 2; -//} - -//message AlertExecutionRequest { -// oneof request { -// CreateAlertDefRequest create = 1; -// ReplaceAlertDefRequest replace = 2; -// DeleteAlertDefRequest delete = 3; -// } -//} -//message AlertExecutionResponse { -// oneof response { -// CreateAlertDefResponse create = 1; -// ReplaceAlertDefResponse replace = 2; -// DeleteAlertDefResponse delete = 3; -// } -//} -//message GetLimitsRequest {} -// -//message GetLimitsResponse { -// google.protobuf.StringValue company_id = 1; -// google.protobuf.Int32Value limit = 2; -// google.protobuf.Int32Value used = 3; -//} -//message ValidateAlertRequest { -// Alert alert = 1; -//} -//message ValidateAlertResponse { -// google.protobuf.BoolValue valid = 1; -//} -message SetActiveRequest{ - google.protobuf.StringValue id = 1; - google.protobuf.BoolValue active = 2; -} -message SetActiveResponse { -} diff --git a/meta.yaml b/meta.yaml index bfe3a5f..75a9bb5 100644 --- a/meta.yaml +++ b/meta.yaml @@ -2,5 +2,5 @@ CX_PRODUCT: apis deployable_type: library code_language: protobuf - tests: false - publish: false \ No newline at end of file + tests: true + publish: false diff --git a/protofetch.toml b/protofetch.toml new file mode 100644 index 0000000..8ae7f8b --- /dev/null +++ b/protofetch.toml @@ -0,0 +1,6 @@ +name = 'cx-api-alerts' +proto_out_dir = "./deps" + +[cx-api-common] +url = "github.com/coralogix/cx-api-common" +revision = "v1.0.9" diff --git a/com/coralogixapis/alerts/v3/alert_def.proto b/src/com/coralogixapis/alerts/v3/alert_def.proto similarity index 68% rename from com/coralogixapis/alerts/v3/alert_def.proto rename to src/com/coralogixapis/alerts/v3/alert_def.proto index ca5245e..0b4a382 100644 --- a/com/coralogixapis/alerts/v3/alert_def.proto +++ b/src/com/coralogixapis/alerts/v3/alert_def.proto @@ -20,14 +20,35 @@ import "com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/tracing_th import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_unique_count_type_definition.proto"; import "google/protobuf/timestamp.proto"; import "google/protobuf/wrappers.proto"; +import "protoc-gen-openapiv2/options/annotations.proto"; + /** * Represents An Existing or Created Alert Definition */ message AlertDef { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Alert Definition" + description: "This data structure represents an alert definition" + required: [ + "alert_def_properties", + "id", + "alert_version_id", + "created_time", + "updated_time" + ] + } + external_docs: { + url: "https://coralogix.com/docs/user-guides/data-transformation/enrichments/custom-enrichment/" + description: "Find out more about enrichments" + } + }; AlertDefProperties alert_def_properties = 1; - google.protobuf.StringValue id = 2; // This is the Alert Definition's Persistent ID (does not change on replace) , AKA UniqueIdentifier + + // This is the Alert Definition's Persistent ID (does not change on replace) , AKA UniqueIdentifier + google.protobuf.StringValue id = 2 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "1" }]; google.protobuf.StringValue alert_version_id = 20; // the old alertId google.protobuf.Timestamp created_time = 3; google.protobuf.Timestamp updated_time = 4; @@ -37,9 +58,16 @@ message AlertDef { * Represents The non generated alert definition properties (the ones that are set by the user) */ message AlertDefProperties { - google.protobuf.StringValue name = 1; - google.protobuf.StringValue description = 2; - google.protobuf.BoolValue enabled = 3; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Alert Definition Properties" + description: "User-configurable properties of an alert definition" + required: ["name", "enabled", "type", "type_definition"] + } + }; + google.protobuf.StringValue name = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "\"My Alert\"" }]; + google.protobuf.StringValue description = 2 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "\"Alert description\"" }]; + google.protobuf.BoolValue enabled = 3 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "true" }]; AlertDefPriority priority = 4; oneof schedule { ActivitySchedule active_on = 5; diff --git a/com/coralogixapis/alerts/v3/alert_def_notification_group.proto b/src/com/coralogixapis/alerts/v3/alert_def_notification_group.proto similarity index 66% rename from com/coralogixapis/alerts/v3/alert_def_notification_group.proto rename to src/com/coralogixapis/alerts/v3/alert_def_notification_group.proto index 3d92d99..8e86f52 100644 --- a/com/coralogixapis/alerts/v3/alert_def_notification_group.proto +++ b/src/com/coralogixapis/alerts/v3/alert_def_notification_group.proto @@ -5,10 +5,11 @@ package com.coralogixapis.alerts.v3; import "google/protobuf/wrappers.proto"; import "com/coralogixapis/alerts/v3/commons.proto"; import "com/coralogixapis/alerts/v3/alert_def_type_definition/notification_destination.proto"; +import "protoc-gen-openapiv2/options/annotations.proto"; message AlertDefIncidentSettings { oneof retriggering_period { - google.protobuf.UInt32Value minutes = 100; + google.protobuf.UInt32Value minutes = 100 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "10" }]; } NotifyOn notify_on = 2; } @@ -22,7 +23,7 @@ message AlertDefNotificationGroup { message AlertDefWebhooksSettings { oneof retriggering_period { - google.protobuf.UInt32Value minutes = 100; + google.protobuf.UInt32Value minutes = 100 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "10" }]; } optional NotifyOn notify_on = 1; IntegrationType integration = 2; @@ -30,7 +31,7 @@ message AlertDefWebhooksSettings { message IntegrationType { oneof integration_type { - google.protobuf.UInt32Value integration_id = 2; + google.protobuf.UInt32Value integration_id = 2 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "123" }]; Recipients recipients = 3; } } diff --git a/com/coralogixapis/alerts/v3/alert_def_priority.proto b/src/com/coralogixapis/alerts/v3/alert_def_priority.proto similarity index 100% rename from com/coralogixapis/alerts/v3/alert_def_priority.proto rename to src/com/coralogixapis/alerts/v3/alert_def_priority.proto diff --git a/src/com/coralogixapis/alerts/v3/alert_def_scheduling.proto b/src/com/coralogixapis/alerts/v3/alert_def_scheduling.proto new file mode 100644 index 0000000..68c3c0b --- /dev/null +++ b/src/com/coralogixapis/alerts/v3/alert_def_scheduling.proto @@ -0,0 +1,40 @@ +syntax = "proto3"; + +package com.coralogixapis.alerts.v3; + +import "protoc-gen-openapiv2/options/annotations.proto"; + +message ActivitySchedule { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Activity Schedule" + description: "Defines when an alert should be active based on days of the week and time windows" + required: ["day_of_week", "start_time", "end_time"] + } + }; + repeated DayOfWeek day_of_week = 1; + TimeOfDay start_time = 2; + TimeOfDay end_time = 3; +} +enum DayOfWeek { + DAY_OF_WEEK_MONDAY_OR_UNSPECIFIED = 0; + DAY_OF_WEEK_TUESDAY = 1; + DAY_OF_WEEK_WEDNESDAY = 2; + DAY_OF_WEEK_THURSDAY = 3; + DAY_OF_WEEK_FRIDAY = 4; + DAY_OF_WEEK_SATURDAY = 5; + DAY_OF_WEEK_SUNDAY = 6; +} +message TimeOfDay { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Time of Day" + description: "Represents a specific time in 24-hour format" + required: ["hours", "minutes"] + } + }; + // Hours of day in 24 hour format. Should be from 0 to 23. + int32 hours = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "14" }]; + // Minutes of hour of day. Must be from 0 to 59. + int32 minutes = 2 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "30" }]; +} diff --git a/src/com/coralogixapis/alerts/v3/alert_def_severity.proto b/src/com/coralogixapis/alerts/v3/alert_def_severity.proto new file mode 100644 index 0000000..7cc1f0e --- /dev/null +++ b/src/com/coralogixapis/alerts/v3/alert_def_severity.proto @@ -0,0 +1,18 @@ +syntax = "proto3"; + +package com.coralogixapis.alerts.v3; +import "google/protobuf/wrappers.proto"; +import "com/coralogixapis/alerts/v3/alert_def_priority.proto"; +import "protoc-gen-openapiv2/options/annotations.proto"; + +message AlertDefSeverity { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Alert Definition Severity" + description: "Defines the severity level and priority of an alert" + required: ["severity", "priority"] + } + }; + google.protobuf.Int32Value severity = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "3" }]; + AlertDefPriority priority = 2; +} diff --git a/com/coralogixapis/alerts/v3/alert_def_type.proto b/src/com/coralogixapis/alerts/v3/alert_def_type.proto similarity index 100% rename from com/coralogixapis/alerts/v3/alert_def_type.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type.proto diff --git a/src/com/coralogixapis/alerts/v3/alert_def_type_definition/activity_analysis/activity_analysis.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/activity_analysis/activity_analysis.proto new file mode 100644 index 0000000..869bc18 --- /dev/null +++ b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/activity_analysis/activity_analysis.proto @@ -0,0 +1,22 @@ +syntax = "proto3"; + +package com.coralogixapis.alerts.v3; + +import "protoc-gen-openapiv2/options/annotations.proto"; + +message ActivityAnalysis { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Activity Analysis" + description: "Configuration for activity analysis rules and status" + required: ["rules", "status"] + } + }; + repeated string rules = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "[\"rule1\", \"rule2\"]" }]; + ActivityAnalysisStatus status = 2; +} + +enum ActivityAnalysisStatus { + ACTIVITY_ANALYSIS_STATUS_ACTIVATE_OR_UNSPECIFIED = 0; + ACTIVITY_ANALYSIS_STATUS_MUTE = 1; +} diff --git a/src/com/coralogixapis/alerts/v3/alert_def_type_definition/common/anomaly_alert_settings.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/common/anomaly_alert_settings.proto new file mode 100644 index 0000000..d71ae12 --- /dev/null +++ b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/common/anomaly_alert_settings.proto @@ -0,0 +1,19 @@ +syntax = "proto3"; + +package com.coralogixapis.alerts.v3; + +import "protoc-gen-openapiv2/options/annotations.proto"; + + +import "google/protobuf/wrappers.proto"; + +message AnomalyAlertSettings { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Anomaly Alert Settings" + description: "Common settings for anomaly-based alerts" + required: ["percentage_of_deviation"] + } + }; + google.protobuf.FloatValue percentage_of_deviation = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "10.0" }]; +} diff --git a/src/com/coralogixapis/alerts/v3/alert_def_type_definition/flow/flow_type_definition.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/flow/flow_type_definition.proto new file mode 100644 index 0000000..4fd3e3b --- /dev/null +++ b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/flow/flow_type_definition.proto @@ -0,0 +1,78 @@ +syntax = "proto3"; + +package com.coralogixapis.alerts.v3; + +import "google/protobuf/wrappers.proto"; + +import "protoc-gen-openapiv2/options/annotations.proto"; + +message FlowType { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Flow Alert Type" + description: "Configuration for flow-based alerts with multiple stages" + required: ["stages"] + } + }; + repeated FlowStages stages = 1 ; + google.protobuf.BoolValue enforce_suppression = 2 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "true" }]; +} + +message FlowStages { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Flow Stages" + description: "Defines stages in a flow alert" + required: ["flow_stages", "timeframe_ms"] + } + }; + oneof flow_stages { + FlowStagesGroups flow_stages_groups = 10; + } + google.protobuf.Int64Value timeframe_ms = 3 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "60000" }]; + TimeframeType timeframe_type = 4; +} + +message FlowStagesGroups { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Flow Stages Groups" + description: "Groups of stages in a flow alert" + required: ["groups"] + } + }; + repeated FlowStagesGroup groups = 1; +} + +message FlowStagesGroup { + repeated FlowStagesGroupsAlertDefs alert_defs = 1; + NextOp next_op = 2; + AlertsOp alerts_op = 3; +} + +message FlowStagesGroupsAlertDefs { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Flow Stages Groups Alert Defs" + description: "Alert definitions for a flow stage group" + required: ["id", "not"] + } + }; + google.protobuf.StringValue id = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "1" }]; + google.protobuf.BoolValue not = 2 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "true" }]; +} + +enum NextOp { + NEXT_OP_AND_OR_UNSPECIFIED = 0; + NEXT_OP_OR = 1; +} + +enum AlertsOp { + ALERTS_OP_AND_OR_UNSPECIFIED = 0; + ALERTS_OP_OR = 1; +} + +enum TimeframeType { + TIMEFRAME_TYPE_UNSPECIFIED = 0; + TIMEFRAME_TYPE_UP_TO = 1; +} diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/anomaly/logs_anomaly_condition_type.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/anomaly/logs_anomaly_condition_type.proto similarity index 100% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/logs/anomaly/logs_anomaly_condition_type.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/anomaly/logs_anomaly_condition_type.proto diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_filter.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_filter.proto similarity index 57% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_filter.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_filter.proto index df74a4e..a89e1a2 100644 --- a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_filter.proto +++ b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_filter.proto @@ -4,17 +4,38 @@ package com.coralogixapis.alerts.v3; import "google/protobuf/wrappers.proto"; +import "protoc-gen-openapiv2/options/annotations.proto"; + message LogsFilter { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Logs Filter" + description: "Filter configuration for log-based alerts" + required: ["filter_type"] + } + }; oneof filter_type { LogsSimpleFilter simple_filter = 1; } } message LogsSimpleFilter { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Simple Logs Filter" + description: "Basic filter configuration using Lucene query and label filters" + } + }; google.protobuf.StringValue lucene_query = 1; LabelFilters label_filters = 2; } message LabelFilters { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Label Filters" + description: "Filters for application name, subsystem name, and log severities" + } + }; repeated LabelFilterType application_name = 1; repeated LabelFilterType subsystem_name = 2; repeated LogSeverity severities = 3; diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_timewindow.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_timewindow.proto similarity index 70% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_timewindow.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_timewindow.proto index 3f8cd60..55d1bee 100644 --- a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_timewindow.proto +++ b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_timewindow.proto @@ -2,7 +2,16 @@ syntax = "proto3"; package com.coralogixapis.alerts.v3; +import "protoc-gen-openapiv2/options/annotations.proto"; + message LogsTimeWindow { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Logs Time Window" + description: "Time window configuration for log-based alerts" + required: ["type"] + } + }; oneof type { LogsTimeWindowValue logs_time_window_specific_value = 1; } diff --git a/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_anomaly_type_definition.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_anomaly_type_definition.proto new file mode 100644 index 0000000..b824fa6 --- /dev/null +++ b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_anomaly_type_definition.proto @@ -0,0 +1,50 @@ +syntax = "proto3"; + +package com.coralogixapis.alerts.v3; + +import "google/protobuf/wrappers.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_filter.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_timewindow.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/anomaly/logs_anomaly_condition_type.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/common/anomaly_alert_settings.proto"; + +import "protoc-gen-openapiv2/options/annotations.proto"; + +message LogsAnomalyType { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Logs Anomaly Alert Type" + description: "Configuration for alerts triggered by anomalous log patterns" + required: ["logs_filter", "rules"] + } + }; + LogsFilter logs_filter = 1; + repeated LogsAnomalyRule rules = 2; + repeated google.protobuf.StringValue notification_payload_filter = 3 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "\"text\"" }]; + google.protobuf.Int32Value evaluation_delay_ms = 4 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "60000" }]; + AnomalyAlertSettings anomaly_alert_settings = 5; +} + +message LogsAnomalyRule { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Logs Anomaly Rule" + description: "Defines a rule for detecting log anomalies" + required: ["condition"] + } + }; + LogsAnomalyCondition condition = 1; +} + +message LogsAnomalyCondition { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Logs Anomaly Condition" + description: "Defines conditions for detecting log anomalies" + required: ["minimum_threshold", "time_window"] + } + }; + google.protobuf.DoubleValue minimum_threshold = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "10.0" }]; + LogsTimeWindow time_window = 2; + LogsAnomalyConditionType condition_type = 3; +} diff --git a/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_immediate_type_definition.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_immediate_type_definition.proto new file mode 100644 index 0000000..59a8070 --- /dev/null +++ b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_immediate_type_definition.proto @@ -0,0 +1,18 @@ +syntax = "proto3"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_filter.proto"; +import "google/protobuf/wrappers.proto"; +import "protoc-gen-openapiv2/options/annotations.proto"; + +package com.coralogixapis.alerts.v3; + +message LogsImmediateType { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Logs Immediate Alert Type" + description: "Configuration for immediate alerts triggered on log entries matching specific filters" + required: ["logs_filter"] + } + }; + LogsFilter logs_filter = 1; + repeated google.protobuf.StringValue notification_payload_filter = 2 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "\"text\"" }]; +} diff --git a/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_new_value_type_definition.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_new_value_type_definition.proto new file mode 100644 index 0000000..0b00c72 --- /dev/null +++ b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_new_value_type_definition.proto @@ -0,0 +1,35 @@ +syntax = "proto3"; + +package com.coralogixapis.alerts.v3; + +import "google/protobuf/wrappers.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/new_value/logs_new_value_timewindow.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_filter.proto"; +import "protoc-gen-openapiv2/options/annotations.proto"; + +message LogsNewValueType { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Logs New Value Alert Type" + description: "Configuration for alerts triggered by new values appearing in logs" + required: ["logs_filter", "rules"] + } + }; + LogsFilter logs_filter = 1; + repeated LogsNewValueRule rules = 2; + repeated google.protobuf.StringValue notification_payload_filter = 3 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "\"text\"" }]; +} +message LogsNewValueRule { + LogsNewValueCondition condition = 1; +} +message LogsNewValueCondition { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Logs New Value Condition" + description: "Defines conditions for detecting new values in logs" + required: ["keypath_to_track", "time_window"] + } + }; + google.protobuf.StringValue keypath_to_track = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "\"metadata.field\"" }]; + LogsNewValueTimeWindow time_window = 2; +} diff --git a/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_ratio_threshold_type_definition.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_ratio_threshold_type_definition.proto new file mode 100644 index 0000000..57d20ad --- /dev/null +++ b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_ratio_threshold_type_definition.proto @@ -0,0 +1,50 @@ +syntax = "proto3"; + +package com.coralogixapis.alerts.v3; + +import "google/protobuf/wrappers.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_filter.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_timewindow.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/undetected_values_management.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_group_by_for.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_condition_type.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/overrides.proto"; +import "protoc-gen-openapiv2/options/annotations.proto"; + +message LogsRatioThresholdType { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Logs Ratio Threshold Alert Type" + description: "Configuration for alerts based on the ratio between two log queries" + required: ["numerator", "denominator", "rules"] + } + }; + LogsFilter numerator = 1; + google.protobuf.StringValue numerator_alias =2 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "\"numerator_alias\"" }]; + LogsFilter denominator = 3; + google.protobuf.StringValue denominator_alias = 4; + repeated LogsRatioRules rules = 5; + repeated google.protobuf.StringValue notification_payload_filter = 6 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "\"text\"" }]; + LogsRatioGroupByFor group_by_for = 7; + UndetectedValuesManagement undetected_values_management = 8; + google.protobuf.BoolValue ignore_infinity = 9 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "true" }]; + google.protobuf.Int32Value evaluation_delay_ms = 10 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "60000" }]; +} + +message LogsRatioRules { + LogsRatioCondition condition = 1; + AlertDefOverride override = 2; +} + +message LogsRatioCondition { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Logs Ratio Condition" + description: "Defines conditions for ratio-based alerts" + required: ["threshold", "time_window"] + } + }; + google.protobuf.DoubleValue threshold = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "10.0" }]; + LogsRatioTimeWindow time_window = 2 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "10" }]; + LogsRatioConditionType condition_type = 4 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "\"GREATER_THAN\"" }]; +} diff --git a/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_threshold_type_definition.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_threshold_type_definition.proto new file mode 100644 index 0000000..acab8dd --- /dev/null +++ b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_threshold_type_definition.proto @@ -0,0 +1,36 @@ +syntax = "proto3"; + +package com.coralogixapis.alerts.v3; + +import "google/protobuf/wrappers.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_filter.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/undetected_values_management.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_timewindow.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/threshold/logs_threshold_condition_type.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/overrides.proto"; +import "protoc-gen-openapiv2/options/annotations.proto"; + +message LogsThresholdType { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Logs Threshold Alert Type" + description: "Configuration for alerts triggered when log counts exceed or fall below specified thresholds" + required: ["logs_filter", "rules"] + } + }; + LogsFilter logs_filter = 1; + UndetectedValuesManagement undetected_values_management = 2; + repeated LogsThresholdRule rules = 3; + repeated google.protobuf.StringValue notification_payload_filter = 4 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "\"text\"" }]; + google.protobuf.Int32Value evaluation_delay_ms = 5 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "60000" }]; +} +message LogsThresholdRule { + LogsThresholdCondition condition = 1; + AlertDefOverride override = 2; +} + +message LogsThresholdCondition { + google.protobuf.DoubleValue threshold = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "100.0" }]; + LogsTimeWindow time_window = 2; + LogsThresholdConditionType condition_type = 3; +} diff --git a/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_time_relative_threshold_type_definition.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_time_relative_threshold_type_definition.proto new file mode 100644 index 0000000..264196f --- /dev/null +++ b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_time_relative_threshold_type_definition.proto @@ -0,0 +1,45 @@ +syntax = "proto3"; + +package com.coralogixapis.alerts.v3; + +import "google/protobuf/wrappers.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_filter.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/time_relative/logs_time_relative_compared_to.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/undetected_values_management.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/time_relative/logs_time_relative_condition_type.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/overrides.proto"; +import "protoc-gen-openapiv2/options/annotations.proto"; + +message LogsTimeRelativeThresholdType { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Logs Time Relative Threshold Alert Type" + description: "Configuration for alerts comparing log counts between different time periods" + required: ["logs_filter", "rules"] + } + }; + LogsFilter logs_filter = 1; + repeated LogsTimeRelativeRule rules = 2; + google.protobuf.BoolValue ignore_infinity = 3 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "true" }]; + repeated google.protobuf.StringValue notification_payload_filter = 4 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "\"text\"" }]; + UndetectedValuesManagement undetected_values_management = 5; + google.protobuf.Int32Value evaluation_delay_ms = 6 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "60000" }]; +} + +message LogsTimeRelativeRule { + LogsTimeRelativeCondition condition = 1; + AlertDefOverride override = 2; +} + +message LogsTimeRelativeCondition { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Logs Time Relative Condition" + description: "Defines conditions for time-relative comparison alerts" + required: ["threshold", "compared_to"] + } + }; + google.protobuf.DoubleValue threshold = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "10.0" }]; + LogsTimeRelativeComparedTo compared_to = 2; + LogsTimeRelativeConditionType condition_type = 4; +} diff --git a/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_unique_count_type_definition.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_unique_count_type_definition.proto new file mode 100644 index 0000000..efb250d --- /dev/null +++ b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/logs_unique_count_type_definition.proto @@ -0,0 +1,39 @@ +syntax = "proto3"; + +package com.coralogixapis.alerts.v3; + +import "google/protobuf/wrappers.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/common/logs_filter.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/logs/unique_count/logs_unique_value_timewindow.proto"; +import "protoc-gen-openapiv2/options/annotations.proto"; + +message LogsUniqueCountType { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Logs Unique Count Alert Type" + description: "Configuration for alerts based on unique value counts in logs" + required: ["logs_filter", "rules", "unique_count_keypath"] + } + }; + LogsFilter logs_filter = 1; + repeated LogsUniqueCountRule rules = 2; + repeated google.protobuf.StringValue notification_payload_filter = 3 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "\"text\"" }]; + google.protobuf.Int64Value max_unique_count_per_group_by_key = 4 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "100" }]; + google.protobuf.StringValue unique_count_keypath = 5 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "\"unique_count\"" }]; +} + +message LogsUniqueCountRule { + LogsUniqueCountCondition condition = 1; +} + +message LogsUniqueCountCondition { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Logs Unique Count Condition" + description: "Defines conditions for unique count alerts" + required: ["max_unique_count", "time_window"] + } + }; + google.protobuf.Int64Value max_unique_count = 2; + LogsUniqueValueTimeWindow time_window = 3; +} diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/new_value/logs_new_value_timewindow.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/new_value/logs_new_value_timewindow.proto similarity index 68% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/logs/new_value/logs_new_value_timewindow.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/new_value/logs_new_value_timewindow.proto index 42249f5..24a0109 100644 --- a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/new_value/logs_new_value_timewindow.proto +++ b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/new_value/logs_new_value_timewindow.proto @@ -2,7 +2,16 @@ syntax = "proto3"; package com.coralogixapis.alerts.v3; +import "protoc-gen-openapiv2/options/annotations.proto"; + message LogsNewValueTimeWindow { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Logs New Value Time Window" + description: "Time window configuration for new value alerts" + required: ["type"] + } + }; oneof type { LogsNewValueTimeWindowValue logs_new_value_time_window_specific_value = 1; } diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_condition_type.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_condition_type.proto similarity index 100% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_condition_type.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_condition_type.proto diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_group_by_for.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_group_by_for.proto similarity index 100% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_group_by_for.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_group_by_for.proto diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_timewindow.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_timewindow.proto similarity index 71% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_timewindow.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_timewindow.proto index 5de70c0..806c922 100644 --- a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_timewindow.proto +++ b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/ratio/logs_ratio_timewindow.proto @@ -2,7 +2,16 @@ syntax = "proto3"; package com.coralogixapis.alerts.v3; +import "protoc-gen-openapiv2/options/annotations.proto"; + message LogsRatioTimeWindow { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Logs Ratio Time Window" + description: "Time window configuration for ratio alerts" + required: ["type"] + } + }; oneof type { LogsRatioTimeWindowValue logs_ratio_time_window_specific_value = 1; } diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/threshold/logs_threshold_condition_type.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/threshold/logs_threshold_condition_type.proto similarity index 100% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/logs/threshold/logs_threshold_condition_type.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/threshold/logs_threshold_condition_type.proto diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/time_relative/logs_time_relative_compared_to.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/time_relative/logs_time_relative_compared_to.proto similarity index 100% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/logs/time_relative/logs_time_relative_compared_to.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/time_relative/logs_time_relative_compared_to.proto diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/time_relative/logs_time_relative_condition_type.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/time_relative/logs_time_relative_condition_type.proto similarity index 100% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/logs/time_relative/logs_time_relative_condition_type.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/time_relative/logs_time_relative_condition_type.proto diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/unique_count/logs_unique_value_timewindow.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/unique_count/logs_unique_value_timewindow.proto similarity index 100% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/logs/unique_count/logs_unique_value_timewindow.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/logs/unique_count/logs_unique_value_timewindow.proto diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/anomaly/metric_anomaly_condition_type.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/anomaly/metric_anomaly_condition_type.proto similarity index 100% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/metric/anomaly/metric_anomaly_condition_type.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/anomaly/metric_anomaly_condition_type.proto diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/common/metric_timewindow.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/common/metric_timewindow.proto similarity index 100% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/metric/common/metric_timewindow.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/common/metric_timewindow.proto diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/common/metrics_filter.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/common/metrics_filter.proto similarity index 100% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/metric/common/metrics_filter.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/common/metrics_filter.proto diff --git a/src/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/metric_anomaly_type_definition.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/metric_anomaly_type_definition.proto new file mode 100644 index 0000000..9973fb7 --- /dev/null +++ b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/metric_anomaly_type_definition.proto @@ -0,0 +1,44 @@ +syntax = "proto3"; + +package com.coralogixapis.alerts.v3; + +import "google/protobuf/wrappers.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/metric/common/metric_timewindow.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/metric/common/metrics_filter.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/metric/anomaly/metric_anomaly_condition_type.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/common/anomaly_alert_settings.proto"; +import "protoc-gen-openapiv2/options/annotations.proto"; + + +message MetricAnomalyType { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Metric Anomaly Alert Type" + description: "Configuration for alerts triggered by anomalous metric patterns" + required: ["metric_source", "rules"] + } + }; + MetricFilter metric_filter = 1; + repeated MetricAnomalyRule rules = 2; + google.protobuf.Int32Value evaluation_delay_ms = 3 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "60000" }]; + AnomalyAlertSettings anomaly_alert_settings = 4; +} + +message MetricAnomalyRule { + MetricAnomalyCondition condition = 1; +} + +message MetricAnomalyCondition { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Metric Anomaly Condition" + description: "Defines conditions for detecting metric anomalies" + required: ["minimum_threshold", "time_window"] + } + }; + google.protobuf.DoubleValue threshold = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "10.0" }]; + google.protobuf.UInt32Value for_over_pct = 2 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "10" }]; + MetricTimeWindow of_the_last = 3 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "10" }]; + google.protobuf.UInt32Value min_non_null_values_pct = 4 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "10" }]; + MetricAnomalyConditionType condition_type = 5 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "\"GREATER_THAN\"" }]; +} diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/metric_threshold_type_definition.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/metric_threshold_type_definition.proto similarity index 65% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/metric/metric_threshold_type_definition.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/metric_threshold_type_definition.proto index 479a9dc..0f3274f 100644 --- a/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/metric_threshold_type_definition.proto +++ b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/metric_threshold_type_definition.proto @@ -9,8 +9,16 @@ import "com/coralogixapis/alerts/v3/alert_def_type_definition/metric/threshold/m import "com/coralogixapis/alerts/v3/alert_def_type_definition/metric/common/metrics_filter.proto"; import "com/coralogixapis/alerts/v3/alert_def_type_definition/metric/threshold/metric_threshold_condition_type.proto"; import "com/coralogixapis/alerts/v3/alert_def_type_definition/overrides.proto"; +import "protoc-gen-openapiv2/options/annotations.proto"; -message MetricThresholdType { +message MetricThresholdType { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Metric Threshold Alert Type" + description: "Configuration for alerts based on metric threshold violations" + required: ["metric_source", "rules"] + } + }; MetricFilter metric_filter = 1; repeated MetricThresholdRule rules = 2; UndetectedValuesManagement undetected_values_management = 3; @@ -24,6 +32,13 @@ message MetricThresholdRule { } message MetricThresholdCondition { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Metric Threshold Condition" + description: "Defines conditions for metric threshold alerts" + required: ["threshold", "time_window"] + } + }; google.protobuf.DoubleValue threshold = 1; google.protobuf.UInt32Value for_over_pct = 2; MetricTimeWindow of_the_last = 3; diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/threshold/metric_threshold_condition_type.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/threshold/metric_threshold_condition_type.proto similarity index 100% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/metric/threshold/metric_threshold_condition_type.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/threshold/metric_threshold_condition_type.proto diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/threshold/metric_threshold_missing_values.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/threshold/metric_threshold_missing_values.proto similarity index 100% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/metric/threshold/metric_threshold_missing_values.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/metric/threshold/metric_threshold_missing_values.proto diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/notification_destination.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/notification_destination.proto similarity index 73% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/notification_destination.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/notification_destination.proto index b87d7d0..bd71635 100644 --- a/com/coralogixapis/alerts/v3/alert_def_type_definition/notification_destination.proto +++ b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/notification_destination.proto @@ -3,7 +3,15 @@ import "com/coralogixapis/alerts/v3/commons.proto"; package com.coralogixapis.alerts.v3; +import "protoc-gen-openapiv2/options/annotations.proto"; message NotificationDestination { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Notification Destination" + description: "Configuration for where alert notifications should be sent" + required: ["destination"] + } + }; string connector_id = 1; optional string preset_id = 2; NotifyOn notify_on = 3; diff --git a/src/com/coralogixapis/alerts/v3/alert_def_type_definition/overrides.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/overrides.proto new file mode 100644 index 0000000..d7e460c --- /dev/null +++ b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/overrides.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; + +package com.coralogixapis.alerts.v3; + +import "com/coralogixapis/alerts/v3/alert_def_priority.proto"; +import "protoc-gen-openapiv2/options/annotations.proto"; + +message AlertDefOverride { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Alert Definition Override" + description: "Override settings for specific alert conditions" + } + }; + AlertDefPriority priority = 1; +} diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/common/tracing_filter.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/common/tracing_filter.proto similarity index 100% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/common/tracing_filter.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/common/tracing_filter.proto diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/threshold/tracing_threshold_condition_type.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/threshold/tracing_threshold_condition_type.proto similarity index 100% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/threshold/tracing_threshold_condition_type.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/threshold/tracing_threshold_condition_type.proto diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/threshold/tracing_threshold_timewindow.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/threshold/tracing_threshold_timewindow.proto similarity index 100% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/threshold/tracing_threshold_timewindow.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/threshold/tracing_threshold_timewindow.proto diff --git a/src/com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/tracing_immediate_type_definition.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/tracing_immediate_type_definition.proto new file mode 100644 index 0000000..efc40f1 --- /dev/null +++ b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/tracing_immediate_type_definition.proto @@ -0,0 +1,19 @@ +syntax = "proto3"; + +package com.coralogixapis.alerts.v3; + +import "google/protobuf/wrappers.proto"; +import "com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/common/tracing_filter.proto"; +import "protoc-gen-openapiv2/options/annotations.proto"; + +message TracingImmediateType { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Tracing Immediate Alert Type" + description: "Configuration for immediate alerts triggered on trace entries" + required: ["tracing_filter"] + } + }; + TracingFilter tracing_filter = 1; + repeated google.protobuf.StringValue notification_payload_filter = 2; +} diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/tracing_threshold_type_definition.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/tracing_threshold_type_definition.proto similarity index 57% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/tracing_threshold_type_definition.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/tracing_threshold_type_definition.proto index 9b4526e..de45616 100644 --- a/com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/tracing_threshold_type_definition.proto +++ b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/tracing_threshold_type_definition.proto @@ -6,8 +6,16 @@ import "google/protobuf/wrappers.proto"; import "com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/threshold/tracing_threshold_timewindow.proto"; import "com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/common/tracing_filter.proto"; import "com/coralogixapis/alerts/v3/alert_def_type_definition/tracing/threshold/tracing_threshold_condition_type.proto"; +import "protoc-gen-openapiv2/options/annotations.proto"; message TracingThresholdType { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Tracing Threshold Alert Type" + description: "Configuration for alerts based on trace count thresholds" + required: ["tracing_filter", "rules"] + } + }; TracingFilter tracing_filter = 1; repeated TracingThresholdRule rules = 2; repeated google.protobuf.StringValue notification_payload_filter = 3; @@ -17,6 +25,13 @@ message TracingThresholdRule { } message TracingThresholdCondition { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Tracing Threshold Condition" + description: "Defines conditions for trace threshold alerts" + required: ["threshold", "time_window"] + } + }; google.protobuf.DoubleValue span_amount = 1; TracingTimeWindow time_window = 2; TracingThresholdConditionType condition_type = 3; diff --git a/com/coralogixapis/alerts/v3/alert_def_type_definition/undetected_values_management.proto b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/undetected_values_management.proto similarity index 63% rename from com/coralogixapis/alerts/v3/alert_def_type_definition/undetected_values_management.proto rename to src/com/coralogixapis/alerts/v3/alert_def_type_definition/undetected_values_management.proto index c532c59..2bdbf9d 100644 --- a/com/coralogixapis/alerts/v3/alert_def_type_definition/undetected_values_management.proto +++ b/src/com/coralogixapis/alerts/v3/alert_def_type_definition/undetected_values_management.proto @@ -4,7 +4,16 @@ package com.coralogixapis.alerts.v3; import "google/protobuf/wrappers.proto"; +import "protoc-gen-openapiv2/options/annotations.proto"; + message UndetectedValuesManagement { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Undetected Values Management" + description: "Configuration for handling undetected values in alerts" + required: ["auto_retire_ratio"] + } + }; google.protobuf.BoolValue trigger_undetected_values = 1; optional AutoRetireTimeframe auto_retire_timeframe = 2; } diff --git a/com/coralogixapis/alerts/v3/alert_defs_internal_service.proto b/src/com/coralogixapis/alerts/v3/alert_defs_internal_service.proto similarity index 100% rename from com/coralogixapis/alerts/v3/alert_defs_internal_service.proto rename to src/com/coralogixapis/alerts/v3/alert_defs_internal_service.proto diff --git a/src/com/coralogixapis/alerts/v3/alert_defs_service.proto b/src/com/coralogixapis/alerts/v3/alert_defs_service.proto new file mode 100644 index 0000000..c86306e --- /dev/null +++ b/src/com/coralogixapis/alerts/v3/alert_defs_service.proto @@ -0,0 +1,351 @@ +syntax = "proto3"; + +package com.coralogixapis.alerts.v3; + +import "google/protobuf/descriptor.proto"; +import "google/api/annotations.proto"; +import "google/protobuf/wrappers.proto"; +import "com/coralogixapis/alerts/v3/alert_def.proto"; +import "com/coralogix/common/v1/audit_log.proto"; +import "protoc-gen-openapiv2/options/annotations.proto"; + +service AlertDefsService { + // Get Alert Def by non changing ID AKA UniqueIdentifier + rpc GetAlertDef(GetAlertDefRequest) returns (GetAlertDefResponse) { + option (com.coralogix.common.v1.audit_log_description).description = "get alert definition"; + option (google.api.http) = { + get: "/v3/alert-defs/{id}" + }; + } + + rpc GetAlertDefByVersionId(GetAlertDefByVersionIdRequest) returns (GetAlertDefByVersionIdResponse) { + option (com.coralogix.common.v1.audit_log_description).description = "get alert definition by alert version id"; + option (google.api.http) = { + get: "/v3/alert-defs/alertVersionId/{alert_version_id}" + }; + } + + rpc CreateAlertDef(CreateAlertDefRequest) returns (CreateAlertDefResponse){ + option (com.coralogix.common.v1.audit_log_description).description = "create alert definition"; + option (google.api.http) = { + post: "/v3/alert-defs" + body: "alert_def_properties" + }; + } + + rpc ReplaceAlertDef(ReplaceAlertDefRequest) returns (ReplaceAlertDefResponse){ + option (com.coralogix.common.v1.audit_log_description).description = "replace alert definition"; + option (google.api.http) = { + put: "/v3/alert-defs" + body: "*" + }; + } + +// rpc BatchGetAlertDef(BatchGetAlertDefRequest) returns (BatchGetAlertDefResponse){ +// option (com.coralogix.common.v1.audit_log_description).description = "batch get alert definitions"; +// option (google.api.http) = { +// get: "/v3/alertDefs:batchGet" +// }; +// } + + rpc ListAlertDefs(ListAlertDefsRequest) returns (ListAlertDefsResponse){ + option (com.coralogix.common.v1.audit_log_description).description = "get alert definitions list"; + option (google.api.http) = { + get: "/v3/alert-defs" + }; + } + + rpc DownloadAlerts(DownloadAlertsRequest) returns (stream DownloadAlertsResponse){ + option (com.coralogix.common.v1.audit_log_description).description = "Download alerts"; + option (google.api.http) = { + get: "/v3/alerts/download" + }; + } + + rpc DeleteAlertDef(DeleteAlertDefRequest) returns (DeleteAlertDefResponse){ + option (com.coralogix.common.v1.audit_log_description).description = "delete alert definitions"; + option (google.api.http) = { + delete: "/v3/alert-defs/{id}" + }; + } + +// rpc AtomicBatchExecuteAlert(AtomicBatchExecuteAlertRequest) returns (AtomicBatchExecuteAlertResponse) { +// option (com.coralogix.common.v1.audit_log_description).description = "atomic batch execute alert"; +// option (google.api.http) = { +// post: "/v3/alerts:atomicBatchExecute" +// body: "*" +// }; +// } + + +// rpc GetLimits(GetLimitsRequest) returns (GetLimitsResponse) { +// option (com.coralogix.common.v1.audit_log_description).description = "get limits"; +// option (google.api.http) = { +// get: "/v3/alerts:getLimits" +// }; +// } +// +// rpc ValidateAlert(ValidateAlertRequest) returns (ValidateAlertResponse) { +// option (com.coralogix.common.v1.audit_log_description).description = "validate alert"; +// option (google.api.http) = { +// post: "/v3/alerts:validate" +// body: "alert" +// }; +// } + + rpc SetActive(SetActiveRequest) returns (SetActiveResponse) { + option (com.coralogix.common.v1.audit_log_description).description = "disable or enable the alert definitions"; + option (google.api.http) = { + post: "/v3/alert-defs/{id}:setActive" + }; + } +} + +enum OrderByDirection { + ORDER_BY_DIRECTION_ASC_OR_UNSPECIFIED = 0; + ORDER_BY_DIRECTION_DESC = 1; +} + +enum OrderByFields { + ORDER_BY_FIELDS_NAME_OR_UNSPECIFIED = 0; + ORDER_BY_FIELDS_ID = 1; + ORDER_BY_FIELDS_SEVERITY = 2; + ORDER_BY_FIELDS_CREATED_TIME = 3; + ORDER_BY_FIELDS_UPDATED_TIME = 4; +} + +message OrderBy { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Order By" + description: "Specifies the field and direction for ordering results" + required: ["field_name", "direction"] + } + }; + OrderByFields field_name = 1; + OrderByDirection direction = 2; +} + +message GetAlertDefRequest { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Get Alert Definition Request" + description: "Request to retrieve an alert definition by ID" + required: ["id"] + } + }; + google.protobuf.StringValue id = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "\"alert-123\"" }]; +} + +message GetAlertDefByVersionIdRequest { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Get Alert Definition By Version ID Request" + description: "Request to retrieve an alert definition by version ID" + required: ["alert_version_id"] + } + }; + google.protobuf.StringValue alert_version_id = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "\"v1-123\"" }]; +} + +message GetAlertDefResponse { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Get Alert Definition Response" + description: "Response containing the requested alert definition" + required: ["alert_def"] + } + }; + AlertDef alert_def = 1; +} + +message GetAlertDefByVersionIdResponse { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Get Alert Definition By Version ID Response" + description: "Response containing the alert definition for the requested version" + required: ["alert_def"] + } + }; + AlertDef alert_def = 1; +} + +message ListAlertDefsResponse { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "List Alert Definitions Response" + description: "Response containing a list of alert definitions" + required: ["alert_defs"] + } + }; + repeated AlertDef alert_defs = 1; +} + +message ListAlertDefsRequest { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "List Alert Definitions Request" + description: "Request to retrieve a list of alert definitions" + } + }; +} + +message DownloadAlertsRequest { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Download Alerts Request" + description: "Request to download alerts data" + } + }; +} + + +message DownloadAlertsResponse { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Download Alerts Response" + description: "Response containing the downloaded alerts data" + required: ["content"] + } + }; + bytes content = 1; +} + + +message BatchGetAlertDefRequest { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Batch Get Alert Definitions Request" + description: "Request to retrieve multiple alert definitions by their IDs" + required: ["ids"] + } + }; + repeated google.protobuf.StringValue ids = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "[\"alert-123\", \"alert-456\"]" }]; +} + +message BatchGetAlertDefResponse { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Batch Get Alert Definitions Response" + description: "Response containing the requested alert definitions and any IDs that weren't found" + required: ["alert_defs", "not_found_ids"] + } + }; + map alert_defs = 1; + repeated google.protobuf.StringValue not_found_ids = 2 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "[\"alert-789\"]" }]; +} + +message DeleteAlertDefRequest { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Delete Alert Definition Request" + description: "Request to delete an alert definition by ID" + required: ["id"] + } + }; + google.protobuf.StringValue id = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "\"alert-123\"" }]; +} +message DeleteAlertDefResponse { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Delete Alert Definition Response" + description: "Response after deleting an alert definition" + } + }; +} +message ReplaceAlertDefRequest { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Replace Alert Definition Request" + description: "Request to replace an existing alert definition" + required: ["alert_def_properties", "id"] + } + }; + AlertDefProperties alert_def_properties = 1; + google.protobuf.StringValue id = 2 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "\"alert-123\"" }]; +} +message ReplaceAlertDefResponse { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Replace Alert Definition Response" + description: "Response containing the replaced alert definition" + required: ["alert_def"] + } + }; + AlertDef alert_def = 1; +} +message CreateAlertDefRequest{ + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Create Alert Definition Request" + description: "Request to create a new alert definition" + required: ["alert_def_properties"] + } + }; + AlertDefProperties alert_def_properties = 1; +} +message CreateAlertDefResponse { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Create Alert Definition Response" + description: "Response containing the newly created alert definition" + required: ["alert_def"] + } + }; + AlertDef alert_def = 1; +} +//message AtomicBatchExecuteAlertRequest { +// repeated AlertExecutionRequest requests = 1; +//} +//message AtomicBatchExecuteAlertResponse { +// repeated AlertExecutionResponse matching_responses = 1; +// //TODO: Where should this object be placed +// com.coralogix.api.ResponseStatus status = 2; +//} + +//message AlertExecutionRequest { +// oneof request { +// CreateAlertDefRequest create = 1; +// ReplaceAlertDefRequest replace = 2; +// DeleteAlertDefRequest delete = 3; +// } +//} +//message AlertExecutionResponse { +// oneof response { +// CreateAlertDefResponse create = 1; +// ReplaceAlertDefResponse replace = 2; +// DeleteAlertDefResponse delete = 3; +// } +//} +//message GetLimitsRequest {} +// +//message GetLimitsResponse { +// google.protobuf.StringValue company_id = 1; +// google.protobuf.Int32Value limit = 2; +// google.protobuf.Int32Value used = 3; +//} +//message ValidateAlertRequest { +// Alert alert = 1; +//} +//message ValidateAlertResponse { +// google.protobuf.BoolValue valid = 1; +//} +message SetActiveRequest{ + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Set Active Request" + description: "Request to enable or disable an alert definition" + required: ["id", "active"] + } + }; + google.protobuf.StringValue id = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "\"alert-123\"" }]; + google.protobuf.BoolValue active = 2 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { example: "true" }]; +} +message SetActiveResponse { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Set Active Response" + description: "Response after enabling or disabling an alert definition" + } + }; +} diff --git a/com/coralogixapis/alerts/v3/commons.proto b/src/com/coralogixapis/alerts/v3/commons.proto similarity index 100% rename from com/coralogixapis/alerts/v3/commons.proto rename to src/com/coralogixapis/alerts/v3/commons.proto diff --git a/com/coralogixapis/alerts/v3/event/alert_event.proto b/src/com/coralogixapis/alerts/v3/event/alert_event.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/alert_event.proto rename to src/com/coralogixapis/alerts/v3/event/alert_event.proto diff --git a/com/coralogixapis/alerts/v3/event/alert_event_payload.proto b/src/com/coralogixapis/alerts/v3/event/alert_event_payload.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/alert_event_payload.proto rename to src/com/coralogixapis/alerts/v3/event/alert_event_payload.proto diff --git a/com/coralogixapis/alerts/v3/event/alert_event_service.proto b/src/com/coralogixapis/alerts/v3/event/alert_event_service.proto similarity index 91% rename from com/coralogixapis/alerts/v3/event/alert_event_service.proto rename to src/com/coralogixapis/alerts/v3/event/alert_event_service.proto index 3edd10b..70d26d8 100644 --- a/com/coralogixapis/alerts/v3/event/alert_event_service.proto +++ b/src/com/coralogixapis/alerts/v3/event/alert_event_service.proto @@ -6,18 +6,19 @@ import "google/protobuf/descriptor.proto"; import "google/api/annotations.proto"; import "google/protobuf/wrappers.proto"; import "com/coralogixapis/alerts/v3/event/alert_event.proto"; -import "com/coralogixapis/alerts/v3/alert_defs_service.proto"; +import "com/coralogix/common/v1/audit_log.proto"; + service AlertEventService { rpc GetAlertEvent(GetAlertEventRequest) returns (GetAlertEventResponse) { - option (audit_log_description).description = "get alert event"; + option (com.coralogix.common.v1.audit_log_description).description = "get alert event"; option (google.api.http) = { get: "/v3/alert_event/{id}" }; } rpc GetAlertEventsStats(GetAlertEventStatsRequest) returns (GetAlertEventStatsResponse) { - option (audit_log_description).description = "get alert events stats"; + option (com.coralogix.common.v1.audit_log_description).description = "get alert events stats"; option (google.api.http) = { get: "/v3/alert_event_stats" }; diff --git a/com/coralogixapis/alerts/v3/event/payload/common.proto b/src/com/coralogixapis/alerts/v3/event/payload/common.proto similarity index 86% rename from com/coralogixapis/alerts/v3/event/payload/common.proto rename to src/com/coralogixapis/alerts/v3/event/payload/common.proto index b1b90d3..19dbc12 100644 --- a/com/coralogixapis/alerts/v3/event/payload/common.proto +++ b/src/com/coralogixapis/alerts/v3/event/payload/common.proto @@ -1,6 +1,7 @@ syntax = "proto3"; import "google/protobuf/wrappers.proto"; +package com.coralogixapis.alerts.v3; message CoralogixLogMetadata { google.protobuf.StringValue application_name = 1; diff --git a/com/coralogixapis/alerts/v3/event/payload/flow/event_flow.proto b/src/com/coralogixapis/alerts/v3/event/payload/flow/event_flow.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/flow/event_flow.proto rename to src/com/coralogixapis/alerts/v3/event/payload/flow/event_flow.proto diff --git a/com/coralogixapis/alerts/v3/event/payload/flow/event_flow_match.proto b/src/com/coralogixapis/alerts/v3/event/payload/flow/event_flow_match.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/flow/event_flow_match.proto rename to src/com/coralogixapis/alerts/v3/event/payload/flow/event_flow_match.proto diff --git a/com/coralogixapis/alerts/v3/event/payload/metric/event_metric_less_than.proto b/src/com/coralogixapis/alerts/v3/event/payload/metric/event_metric_less_than.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/metric/event_metric_less_than.proto rename to src/com/coralogixapis/alerts/v3/event/payload/metric/event_metric_less_than.proto diff --git a/com/coralogixapis/alerts/v3/event/payload/metric/event_metric_less_than_or_equals.proto b/src/com/coralogixapis/alerts/v3/event/payload/metric/event_metric_less_than_or_equals.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/metric/event_metric_less_than_or_equals.proto rename to src/com/coralogixapis/alerts/v3/event/payload/metric/event_metric_less_than_or_equals.proto diff --git a/com/coralogixapis/alerts/v3/event/payload/metric/event_metric_more_than.proto b/src/com/coralogixapis/alerts/v3/event/payload/metric/event_metric_more_than.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/metric/event_metric_more_than.proto rename to src/com/coralogixapis/alerts/v3/event/payload/metric/event_metric_more_than.proto diff --git a/com/coralogixapis/alerts/v3/event/payload/metric/event_metric_more_than_or_equals.proto b/src/com/coralogixapis/alerts/v3/event/payload/metric/event_metric_more_than_or_equals.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/metric/event_metric_more_than_or_equals.proto rename to src/com/coralogixapis/alerts/v3/event/payload/metric/event_metric_more_than_or_equals.proto diff --git a/com/coralogixapis/alerts/v3/event/payload/metric/event_metric_more_than_usual.proto b/src/com/coralogixapis/alerts/v3/event/payload/metric/event_metric_more_than_usual.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/metric/event_metric_more_than_usual.proto rename to src/com/coralogixapis/alerts/v3/event/payload/metric/event_metric_more_than_usual.proto diff --git a/com/coralogixapis/alerts/v3/event/payload/metric/event_metric_more_than_usual_enriched.proto b/src/com/coralogixapis/alerts/v3/event/payload/metric/event_metric_more_than_usual_enriched.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/metric/event_metric_more_than_usual_enriched.proto rename to src/com/coralogixapis/alerts/v3/event/payload/metric/event_metric_more_than_usual_enriched.proto diff --git a/com/coralogixapis/alerts/v3/event/payload/new_value/event_new_value.proto b/src/com/coralogixapis/alerts/v3/event/payload/new_value/event_new_value.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/new_value/event_new_value.proto rename to src/com/coralogixapis/alerts/v3/event/payload/new_value/event_new_value.proto diff --git a/com/coralogixapis/alerts/v3/event/payload/ratio/event_ratio_less_than.proto b/src/com/coralogixapis/alerts/v3/event/payload/ratio/event_ratio_less_than.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/ratio/event_ratio_less_than.proto rename to src/com/coralogixapis/alerts/v3/event/payload/ratio/event_ratio_less_than.proto diff --git a/com/coralogixapis/alerts/v3/event/payload/ratio/event_ratio_more_than.proto b/src/com/coralogixapis/alerts/v3/event/payload/ratio/event_ratio_more_than.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/ratio/event_ratio_more_than.proto rename to src/com/coralogixapis/alerts/v3/event/payload/ratio/event_ratio_more_than.proto diff --git a/com/coralogixapis/alerts/v3/event/payload/ratio_special_values.proto b/src/com/coralogixapis/alerts/v3/event/payload/ratio_special_values.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/ratio_special_values.proto rename to src/com/coralogixapis/alerts/v3/event/payload/ratio_special_values.proto diff --git a/com/coralogixapis/alerts/v3/event/payload/standard/event_standard_immediate.proto b/src/com/coralogixapis/alerts/v3/event/payload/standard/event_standard_immediate.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/standard/event_standard_immediate.proto rename to src/com/coralogixapis/alerts/v3/event/payload/standard/event_standard_immediate.proto diff --git a/com/coralogixapis/alerts/v3/event/payload/standard/event_standard_less_than.proto b/src/com/coralogixapis/alerts/v3/event/payload/standard/event_standard_less_than.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/standard/event_standard_less_than.proto rename to src/com/coralogixapis/alerts/v3/event/payload/standard/event_standard_less_than.proto diff --git a/com/coralogixapis/alerts/v3/event/payload/standard/event_standard_more_than.proto b/src/com/coralogixapis/alerts/v3/event/payload/standard/event_standard_more_than.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/standard/event_standard_more_than.proto rename to src/com/coralogixapis/alerts/v3/event/payload/standard/event_standard_more_than.proto diff --git a/com/coralogixapis/alerts/v3/event/payload/standard/event_standard_more_than_usual.proto b/src/com/coralogixapis/alerts/v3/event/payload/standard/event_standard_more_than_usual.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/standard/event_standard_more_than_usual.proto rename to src/com/coralogixapis/alerts/v3/event/payload/standard/event_standard_more_than_usual.proto diff --git a/com/coralogixapis/alerts/v3/event/payload/time_relative/event_time_relative_less_than.proto b/src/com/coralogixapis/alerts/v3/event/payload/time_relative/event_time_relative_less_than.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/time_relative/event_time_relative_less_than.proto rename to src/com/coralogixapis/alerts/v3/event/payload/time_relative/event_time_relative_less_than.proto diff --git a/com/coralogixapis/alerts/v3/event/payload/time_relative/event_time_relative_more_than.proto b/src/com/coralogixapis/alerts/v3/event/payload/time_relative/event_time_relative_more_than.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/time_relative/event_time_relative_more_than.proto rename to src/com/coralogixapis/alerts/v3/event/payload/time_relative/event_time_relative_more_than.proto diff --git a/com/coralogixapis/alerts/v3/event/payload/tracing/event_tracing_immediate.proto b/src/com/coralogixapis/alerts/v3/event/payload/tracing/event_tracing_immediate.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/tracing/event_tracing_immediate.proto rename to src/com/coralogixapis/alerts/v3/event/payload/tracing/event_tracing_immediate.proto diff --git a/com/coralogixapis/alerts/v3/event/payload/tracing/event_tracing_more_than.proto b/src/com/coralogixapis/alerts/v3/event/payload/tracing/event_tracing_more_than.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/tracing/event_tracing_more_than.proto rename to src/com/coralogixapis/alerts/v3/event/payload/tracing/event_tracing_more_than.proto diff --git a/com/coralogixapis/alerts/v3/event/payload/tracing/span_time_range.proto b/src/com/coralogixapis/alerts/v3/event/payload/tracing/span_time_range.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/tracing/span_time_range.proto rename to src/com/coralogixapis/alerts/v3/event/payload/tracing/span_time_range.proto diff --git a/com/coralogixapis/alerts/v3/event/payload/unique_count/event_unique_count.proto b/src/com/coralogixapis/alerts/v3/event/payload/unique_count/event_unique_count.proto similarity index 100% rename from com/coralogixapis/alerts/v3/event/payload/unique_count/event_unique_count.proto rename to src/com/coralogixapis/alerts/v3/event/payload/unique_count/event_unique_count.proto diff --git a/com/coralogixapis/alerts/v3/notification/logs_immediate_notification.proto b/src/com/coralogixapis/alerts/v3/notification/logs_immediate_notification.proto similarity index 69% rename from com/coralogixapis/alerts/v3/notification/logs_immediate_notification.proto rename to src/com/coralogixapis/alerts/v3/notification/logs_immediate_notification.proto index b253728..39d6fd2 100644 --- a/com/coralogixapis/alerts/v3/notification/logs_immediate_notification.proto +++ b/src/com/coralogixapis/alerts/v3/notification/logs_immediate_notification.proto @@ -1,6 +1,5 @@ syntax = "proto3"; package com.coralogixapis.alerts.v3; -import "google/protobuf/wrappers.proto"; message LogsImmediateNotification {} diff --git a/com/coralogixapis/alerts/v3/notification/logs_threshold_notification.proto b/src/com/coralogixapis/alerts/v3/notification/logs_threshold_notification.proto similarity index 100% rename from com/coralogixapis/alerts/v3/notification/logs_threshold_notification.proto rename to src/com/coralogixapis/alerts/v3/notification/logs_threshold_notification.proto diff --git a/com/coralogixapis/alerts/v3/notification/metric_threshold_notification.proto b/src/com/coralogixapis/alerts/v3/notification/metric_threshold_notification.proto similarity index 100% rename from com/coralogixapis/alerts/v3/notification/metric_threshold_notification.proto rename to src/com/coralogixapis/alerts/v3/notification/metric_threshold_notification.proto diff --git a/com/coralogixapis/alerts/v3/notification/notification_event.proto b/src/com/coralogixapis/alerts/v3/notification/notification_event.proto similarity index 95% rename from com/coralogixapis/alerts/v3/notification/notification_event.proto rename to src/com/coralogixapis/alerts/v3/notification/notification_event.proto index f358150..2ef42f0 100644 --- a/com/coralogixapis/alerts/v3/notification/notification_event.proto +++ b/src/com/coralogixapis/alerts/v3/notification/notification_event.proto @@ -9,7 +9,6 @@ import "com/coralogixapis/alerts/v3/alert_def_priority.proto"; import "com/coralogixapis/alerts/v3/notification/logs_immediate_notification.proto"; import "com/coralogixapis/alerts/v3/notification/logs_threshold_notification.proto"; import "com/coralogixapis/alerts/v3/notification/metric_threshold_notification.proto"; -import "com/coralogixapis/alerts/v3/alert_def.proto"; message AlertNotificationEvent { google.protobuf.Timestamp timestamp = 1; diff --git a/com/coralogixapis/alerts/v4/event/payload/metric/event_metric_less_than_usual.proto b/src/com/coralogixapis/alerts/v4/event/payload/metric/event_metric_less_than_usual.proto similarity index 100% rename from com/coralogixapis/alerts/v4/event/payload/metric/event_metric_less_than_usual.proto rename to src/com/coralogixapis/alerts/v4/event/payload/metric/event_metric_less_than_usual.proto diff --git a/com/coralogixapis/alerts/v4/event/payload/metric/event_metric_less_than_usual_enriched.proto b/src/com/coralogixapis/alerts/v4/event/payload/metric/event_metric_less_than_usual_enriched.proto similarity index 100% rename from com/coralogixapis/alerts/v4/event/payload/metric/event_metric_less_than_usual_enriched.proto rename to src/com/coralogixapis/alerts/v4/event/payload/metric/event_metric_less_than_usual_enriched.proto diff --git a/com/coralogixapis/alerts/v4/event/payload/metric/event_metric_more_than_usual.proto b/src/com/coralogixapis/alerts/v4/event/payload/metric/event_metric_more_than_usual.proto similarity index 100% rename from com/coralogixapis/alerts/v4/event/payload/metric/event_metric_more_than_usual.proto rename to src/com/coralogixapis/alerts/v4/event/payload/metric/event_metric_more_than_usual.proto diff --git a/com/coralogixapis/alerts/v4/event/payload/metric/event_metric_more_than_usual_enriched.proto b/src/com/coralogixapis/alerts/v4/event/payload/metric/event_metric_more_than_usual_enriched.proto similarity index 100% rename from com/coralogixapis/alerts/v4/event/payload/metric/event_metric_more_than_usual_enriched.proto rename to src/com/coralogixapis/alerts/v4/event/payload/metric/event_metric_more_than_usual_enriched.proto diff --git a/com/coralogixapis/alerts/v4/event/payload/metric/event_metric_unusual_prediction.proto b/src/com/coralogixapis/alerts/v4/event/payload/metric/event_metric_unusual_prediction.proto similarity index 100% rename from com/coralogixapis/alerts/v4/event/payload/metric/event_metric_unusual_prediction.proto rename to src/com/coralogixapis/alerts/v4/event/payload/metric/event_metric_unusual_prediction.proto diff --git a/com/coralogixapis/alerts/v4/event/payload/metric/event_unusual_payload.proto b/src/com/coralogixapis/alerts/v4/event/payload/metric/event_unusual_payload.proto similarity index 100% rename from com/coralogixapis/alerts/v4/event/payload/metric/event_unusual_payload.proto rename to src/com/coralogixapis/alerts/v4/event/payload/metric/event_unusual_payload.proto diff --git a/com/coralogixapis/alerts/v5/event/payload/metric/event_metric_less_than_usual.proto b/src/com/coralogixapis/alerts/v5/event/payload/metric/event_metric_less_than_usual.proto similarity index 100% rename from com/coralogixapis/alerts/v5/event/payload/metric/event_metric_less_than_usual.proto rename to src/com/coralogixapis/alerts/v5/event/payload/metric/event_metric_less_than_usual.proto diff --git a/com/coralogixapis/alerts/v5/event/payload/metric/event_metric_less_than_usual_enriched.proto b/src/com/coralogixapis/alerts/v5/event/payload/metric/event_metric_less_than_usual_enriched.proto similarity index 100% rename from com/coralogixapis/alerts/v5/event/payload/metric/event_metric_less_than_usual_enriched.proto rename to src/com/coralogixapis/alerts/v5/event/payload/metric/event_metric_less_than_usual_enriched.proto diff --git a/com/coralogixapis/alerts/v5/event/payload/metric/event_metric_more_than_usual.proto b/src/com/coralogixapis/alerts/v5/event/payload/metric/event_metric_more_than_usual.proto similarity index 100% rename from com/coralogixapis/alerts/v5/event/payload/metric/event_metric_more_than_usual.proto rename to src/com/coralogixapis/alerts/v5/event/payload/metric/event_metric_more_than_usual.proto diff --git a/com/coralogixapis/alerts/v5/event/payload/metric/event_metric_more_than_usual_enriched.proto b/src/com/coralogixapis/alerts/v5/event/payload/metric/event_metric_more_than_usual_enriched.proto similarity index 100% rename from com/coralogixapis/alerts/v5/event/payload/metric/event_metric_more_than_usual_enriched.proto rename to src/com/coralogixapis/alerts/v5/event/payload/metric/event_metric_more_than_usual_enriched.proto diff --git a/com/coralogixapis/alerts/v5/event/payload/metric/event_metric_unusual_payload.proto b/src/com/coralogixapis/alerts/v5/event/payload/metric/event_metric_unusual_payload.proto similarity index 100% rename from com/coralogixapis/alerts/v5/event/payload/metric/event_metric_unusual_payload.proto rename to src/com/coralogixapis/alerts/v5/event/payload/metric/event_metric_unusual_payload.proto diff --git a/com/coralogixapis/alerts/v5/event/payload/metric/event_metric_unusual_prediction.proto b/src/com/coralogixapis/alerts/v5/event/payload/metric/event_metric_unusual_prediction.proto similarity index 100% rename from com/coralogixapis/alerts/v5/event/payload/metric/event_metric_unusual_prediction.proto rename to src/com/coralogixapis/alerts/v5/event/payload/metric/event_metric_unusual_prediction.proto diff --git a/com/coralogixapis/alerts/v5/event/payload/standard/event_standard_less_than_usual.proto b/src/com/coralogixapis/alerts/v5/event/payload/standard/event_standard_less_than_usual.proto similarity index 100% rename from com/coralogixapis/alerts/v5/event/payload/standard/event_standard_less_than_usual.proto rename to src/com/coralogixapis/alerts/v5/event/payload/standard/event_standard_less_than_usual.proto diff --git a/com/coralogixapis/alerts/v5/event/payload/standard/event_standard_less_than_usual_enriched.proto b/src/com/coralogixapis/alerts/v5/event/payload/standard/event_standard_less_than_usual_enriched.proto similarity index 100% rename from com/coralogixapis/alerts/v5/event/payload/standard/event_standard_less_than_usual_enriched.proto rename to src/com/coralogixapis/alerts/v5/event/payload/standard/event_standard_less_than_usual_enriched.proto diff --git a/com/coralogixapis/alerts/v5/event/payload/standard/event_standard_more_than_usual.proto b/src/com/coralogixapis/alerts/v5/event/payload/standard/event_standard_more_than_usual.proto similarity index 100% rename from com/coralogixapis/alerts/v5/event/payload/standard/event_standard_more_than_usual.proto rename to src/com/coralogixapis/alerts/v5/event/payload/standard/event_standard_more_than_usual.proto diff --git a/com/coralogixapis/alerts/v5/event/payload/standard/event_standard_more_than_usual_enriched.proto b/src/com/coralogixapis/alerts/v5/event/payload/standard/event_standard_more_than_usual_enriched.proto similarity index 100% rename from com/coralogixapis/alerts/v5/event/payload/standard/event_standard_more_than_usual_enriched.proto rename to src/com/coralogixapis/alerts/v5/event/payload/standard/event_standard_more_than_usual_enriched.proto diff --git a/com/coralogixapis/alerts/v5/event/payload/standard/event_standard_unusual_payload.proto b/src/com/coralogixapis/alerts/v5/event/payload/standard/event_standard_unusual_payload.proto similarity index 100% rename from com/coralogixapis/alerts/v5/event/payload/standard/event_standard_unusual_payload.proto rename to src/com/coralogixapis/alerts/v5/event/payload/standard/event_standard_unusual_payload.proto