/*Package api contains base API implementation of unified alerting * * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) * * Need to remove unused imports. */ package api import ( "net/http" "github.com/go-macaron/binding" apimodels "github.com/grafana/alerting-api/pkg/api" "github.com/grafana/grafana/pkg/api/response" "github.com/grafana/grafana/pkg/api/routing" "github.com/grafana/grafana/pkg/infra/log" "github.com/grafana/grafana/pkg/models" ) type AlertmanagerApiService interface { RouteCreateSilence(*models.ReqContext, apimodels.SilenceBody) response.Response RouteDeleteAlertingConfig(*models.ReqContext) response.Response RouteDeleteSilence(*models.ReqContext) response.Response RouteGetAMAlertGroups(*models.ReqContext) response.Response RouteGetAMAlerts(*models.ReqContext) response.Response RouteGetAlertingConfig(*models.ReqContext) response.Response RouteGetSilence(*models.ReqContext) response.Response RouteGetSilences(*models.ReqContext) response.Response RoutePostAMAlerts(*models.ReqContext, apimodels.PostableAlerts) response.Response RoutePostAlertingConfig(*models.ReqContext, apimodels.PostableUserConfig) response.Response } type AlertmanagerApiBase struct { log log.Logger } func (api *API) RegisterAlertmanagerApiEndpoints(srv AlertmanagerApiService) { api.RouteRegister.Group("", func(group routing.RouteRegister) { group.Post(toMacaronPath("/alertmanager/{Recipient}/api/v2/silences"), binding.Bind(apimodels.SilenceBody{}), routing.Wrap(srv.RouteCreateSilence)) group.Delete(toMacaronPath("/alertmanager/{Recipient}/config/api/v1/alerts"), routing.Wrap(srv.RouteDeleteAlertingConfig)) group.Delete(toMacaronPath("/alertmanager/{Recipient}/api/v2/silence/{SilenceId}"), routing.Wrap(srv.RouteDeleteSilence)) group.Get(toMacaronPath("/alertmanager/{Recipient}/api/v2/alerts/groups"), routing.Wrap(srv.RouteGetAMAlertGroups)) group.Get(toMacaronPath("/alertmanager/{Recipient}/api/v2/alerts"), routing.Wrap(srv.RouteGetAMAlerts)) group.Get(toMacaronPath("/alertmanager/{Recipient}/config/api/v1/alerts"), routing.Wrap(srv.RouteGetAlertingConfig)) group.Get(toMacaronPath("/alertmanager/{Recipient}/api/v2/silence/{SilenceId}"), routing.Wrap(srv.RouteGetSilence)) group.Get(toMacaronPath("/alertmanager/{Recipient}/api/v2/silences"), routing.Wrap(srv.RouteGetSilences)) group.Post(toMacaronPath("/alertmanager/{Recipient}/api/v2/alerts"), binding.Bind(apimodels.PostableAlerts{}), routing.Wrap(srv.RoutePostAMAlerts)) group.Post(toMacaronPath("/alertmanager/{Recipient}/config/api/v1/alerts"), binding.Bind(apimodels.PostableUserConfig{}), routing.Wrap(srv.RoutePostAlertingConfig)) }) } func (base AlertmanagerApiBase) RouteCreateSilence(c *models.ReqContext, body apimodels.SilenceBody) response.Response { recipient := c.Params(":Recipient") base.log.Info("RouteCreateSilence: ", "Recipient", recipient) base.log.Info("RouteCreateSilence: ", "body", body) return response.Error(http.StatusNotImplemented, "", nil) } func (base AlertmanagerApiBase) RouteDeleteAlertingConfig(c *models.ReqContext) response.Response { recipient := c.Params(":Recipient") base.log.Info("RouteDeleteAlertingConfig: ", "Recipient", recipient) return response.Error(http.StatusNotImplemented, "", nil) } func (base AlertmanagerApiBase) RouteDeleteSilence(c *models.ReqContext) response.Response { silenceId := c.Params(":SilenceId") base.log.Info("RouteDeleteSilence: ", "SilenceId", silenceId) recipient := c.Params(":Recipient") base.log.Info("RouteDeleteSilence: ", "Recipient", recipient) return response.Error(http.StatusNotImplemented, "", nil) } func (base AlertmanagerApiBase) RouteGetAMAlertGroups(c *models.ReqContext) response.Response { recipient := c.Params(":Recipient") base.log.Info("RouteGetAMAlertGroups: ", "Recipient", recipient) return response.Error(http.StatusNotImplemented, "", nil) } func (base AlertmanagerApiBase) RouteGetAMAlerts(c *models.ReqContext) response.Response { recipient := c.Params(":Recipient") base.log.Info("RouteGetAMAlerts: ", "Recipient", recipient) return response.Error(http.StatusNotImplemented, "", nil) } func (base AlertmanagerApiBase) RouteGetAlertingConfig(c *models.ReqContext) response.Response { recipient := c.Params(":Recipient") base.log.Info("RouteGetAlertingConfig: ", "Recipient", recipient) return response.Error(http.StatusNotImplemented, "", nil) } func (base AlertmanagerApiBase) RouteGetSilence(c *models.ReqContext) response.Response { silenceId := c.Params(":SilenceId") base.log.Info("RouteGetSilence: ", "SilenceId", silenceId) recipient := c.Params(":Recipient") base.log.Info("RouteGetSilence: ", "Recipient", recipient) return response.Error(http.StatusNotImplemented, "", nil) } func (base AlertmanagerApiBase) RouteGetSilences(c *models.ReqContext) response.Response { recipient := c.Params(":Recipient") base.log.Info("RouteGetSilences: ", "Recipient", recipient) return response.Error(http.StatusNotImplemented, "", nil) } func (base AlertmanagerApiBase) RoutePostAMAlerts(c *models.ReqContext, body apimodels.PostableAlerts) response.Response { recipient := c.Params(":Recipient") base.log.Info("RoutePostAMAlerts: ", "Recipient", recipient) base.log.Info("RoutePostAMAlerts: ", "body", body) return response.Error(http.StatusNotImplemented, "", nil) } func (base AlertmanagerApiBase) RoutePostAlertingConfig(c *models.ReqContext, body apimodels.PostableUserConfig) response.Response { recipient := c.Params(":Recipient") base.log.Info("RoutePostAlertingConfig: ", "Recipient", recipient) base.log.Info("RoutePostAlertingConfig: ", "body", body) return response.Error(http.StatusNotImplemented, "", nil) }