2025-04-01 10:38:02 +09:00

19 lines
852 B
TypeScript

import { AlertmanagerChoice, GrafanaAlertingConfiguration } from 'app/plugins/datasource/alertmanager/types';
// if we have either "internal" or "both" configured this means the internal Alertmanager is receiving Grafana-managed alerts
export const isInternalAlertmanagerInterestedInAlerts = (config?: GrafanaAlertingConfiguration): boolean => {
if (!config) {
// The backend doesn't have a configuration record in a new Grafana instance until the user has interacted with the configuration page.
// For that reason, in case of no configuration, we assume that the internal Alertmanager is interested in alerts.
return true;
}
switch (config.alertmanagersChoice) {
case AlertmanagerChoice.Internal:
case AlertmanagerChoice.All:
return true;
case AlertmanagerChoice.External:
default:
return false;
}
};