From 5e2a661dec71ae9d98092b487d844574f0b9ad6a Mon Sep 17 00:00:00 2001 From: Yuri Tseretyan Date: Tue, 28 Feb 2023 16:21:41 -0500 Subject: [PATCH] Alerting: update API models to user NoDataState and ExecutionErrorState from definitions instead of models (#63824) --- pkg/services/ngalert/api/api_provisioning_test.go | 4 ++-- pkg/services/ngalert/api/compat.go | 8 ++++---- .../api/tooling/definitions/provisioning_alert_rules.go | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkg/services/ngalert/api/api_provisioning_test.go b/pkg/services/ngalert/api/api_provisioning_test.go index 2e9f3097a2b..1f8dabae157 100644 --- a/pkg/services/ngalert/api/api_provisioning_test.go +++ b/pkg/services/ngalert/api/api_provisioning_test.go @@ -1034,8 +1034,8 @@ func createTestAlertRule(title string, orgID int64) definitions.ProvisionedAlert RuleGroup: "my-cool-group", FolderUID: "folder-uid", For: model.Duration(60), - NoDataState: models.OK, - ExecErrState: models.OkErrState, + NoDataState: definitions.OK, + ExecErrState: definitions.OkErrState, } } diff --git a/pkg/services/ngalert/api/compat.go b/pkg/services/ngalert/api/compat.go index 1c37c9c0786..1191b84d82b 100644 --- a/pkg/services/ngalert/api/compat.go +++ b/pkg/services/ngalert/api/compat.go @@ -21,8 +21,8 @@ func AlertRuleFromProvisionedAlertRule(a definitions.ProvisionedAlertRule) (mode Condition: a.Condition, Data: a.Data, Updated: a.Updated, - NoDataState: a.NoDataState, - ExecErrState: a.ExecErrState, + NoDataState: models.NoDataState(a.NoDataState), // TODO there must be a validation + ExecErrState: models.ExecutionErrorState(a.ExecErrState), // TODO there must be a validation For: time.Duration(a.For), Annotations: a.Annotations, Labels: a.Labels, @@ -43,8 +43,8 @@ func ProvisionedAlertRuleFromAlertRule(rule models.AlertRule, provenance models. Condition: rule.Condition, Data: rule.Data, Updated: rule.Updated, - NoDataState: rule.NoDataState, - ExecErrState: rule.ExecErrState, + NoDataState: definitions.NoDataState(rule.NoDataState), // TODO there may be a validation + ExecErrState: definitions.ExecutionErrorState(rule.ExecErrState), // TODO there may be a validation Annotations: rule.Annotations, Labels: rule.Labels, Provenance: definitions.Provenance(provenance), // TODO validate enum conversion? diff --git a/pkg/services/ngalert/api/tooling/definitions/provisioning_alert_rules.go b/pkg/services/ngalert/api/tooling/definitions/provisioning_alert_rules.go index 94704fb5f38..2527101a3de 100644 --- a/pkg/services/ngalert/api/tooling/definitions/provisioning_alert_rules.go +++ b/pkg/services/ngalert/api/tooling/definitions/provisioning_alert_rules.go @@ -123,9 +123,9 @@ type ProvisionedAlertRule struct { // readonly: true Updated time.Time `json:"updated,omitempty"` // required: true - NoDataState models.NoDataState `json:"noDataState"` + NoDataState NoDataState `json:"noDataState"` // required: true - ExecErrState models.ExecutionErrorState `json:"execErrState"` + ExecErrState ExecutionErrorState `json:"execErrState"` // required: true For model.Duration `json:"for"` // example: {"runbook_url": "https://supercoolrunbook.com/page/13"}