package models import "time" type Alert struct { ID int64 `json:"id"` Fingerprint string `json:"fingerprint"` Name string `json:"name"` Status string `json:"status"` // "firing" or "resolved" Labels map[string]string `json:"labels"` Annotations map[string]string `json:"annotations"` StartsAt time.Time `json:"starts_at"` EndsAt *time.Time `json:"ends_at,omitempty"` GeneratorURL string `json:"generator_url"` ReceivedAt time.Time `json:"received_at"` // Populated when the alert has been acknowledged. AcknowledgedByID *int64 `json:"acknowledged_by_id,omitempty"` AcknowledgedByUser *string `json:"acknowledged_by,omitempty"` AcknowledgedAt *time.Time `json:"acknowledged_at,omitempty"` // ResolutionSource records why a resolved alert left the firing state: // "alertmanager" for a real resolved webhook, "expiry" when the sweeper // inferred it after the alert stopped being refreshed. ResolutionSource *string `json:"resolution_source,omitempty"` ArchivedAt *time.Time `json:"archived_at,omitempty"` }