Alerting: update API models to user NoDataState and ExecutionErrorState from definitions instead of models (#63824)

This commit is contained in:
Yuri Tseretyan 2023-02-28 16:21:41 -05:00 committed by GitHub
parent 69aba3eed3
commit 5e2a661dec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 8 deletions

View File

@ -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,
}
}

View File

@ -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?

View File

@ -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"}