| 
									
										
										
										
											2021-04-09 17:55:41 +08:00
										 |  |  | /*Package api contains base API implementation of unified alerting | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
 | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *Do not manually edit these files, please find ngalert/api/swagger-codegen/ for commands on how to generate them. | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2021-12-13 16:22:57 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-04-09 17:55:41 +08:00
										 |  |  | package api | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 	"net/http" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-04-09 17:55:41 +08:00
										 |  |  | 	"github.com/grafana/grafana/pkg/api/response" | 
					
						
							|  |  |  | 	"github.com/grafana/grafana/pkg/api/routing" | 
					
						
							|  |  |  | 	"github.com/grafana/grafana/pkg/models" | 
					
						
							| 
									
										
										
										
											2021-04-20 02:26:04 +08:00
										 |  |  | 	apimodels "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 	"github.com/grafana/grafana/pkg/services/ngalert/metrics" | 
					
						
							| 
									
										
										
										
											2021-12-13 16:22:57 +08:00
										 |  |  | 	"github.com/grafana/grafana/pkg/web" | 
					
						
							| 
									
										
										
										
											2021-04-09 17:55:41 +08:00
										 |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-13 16:22:57 +08:00
										 |  |  | type AlertmanagerApiForkingService interface { | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 	RouteCreateGrafanaSilence(*models.ReqContext) response.Response | 
					
						
							| 
									
										
										
										
											2021-12-13 16:22:57 +08:00
										 |  |  | 	RouteCreateSilence(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RouteDeleteAlertingConfig(*models.ReqContext) response.Response | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 	RouteDeleteGrafanaAlertingConfig(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RouteDeleteGrafanaSilence(*models.ReqContext) response.Response | 
					
						
							| 
									
										
										
										
											2021-12-13 16:22:57 +08:00
										 |  |  | 	RouteDeleteSilence(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RouteGetAMAlertGroups(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RouteGetAMAlerts(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RouteGetAMStatus(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RouteGetAlertingConfig(*models.ReqContext) response.Response | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 	RouteGetGrafanaAMAlertGroups(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RouteGetGrafanaAMAlerts(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RouteGetGrafanaAMStatus(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RouteGetGrafanaAlertingConfig(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RouteGetGrafanaSilence(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RouteGetGrafanaSilences(*models.ReqContext) response.Response | 
					
						
							| 
									
										
										
										
											2021-12-13 16:22:57 +08:00
										 |  |  | 	RouteGetSilence(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RouteGetSilences(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RoutePostAMAlerts(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RoutePostAlertingConfig(*models.ReqContext) response.Response | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 	RoutePostGrafanaAMAlerts(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RoutePostGrafanaAlertingConfig(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RoutePostTestGrafanaReceivers(*models.ReqContext) response.Response | 
					
						
							| 
									
										
										
										
											2021-12-13 16:22:57 +08:00
										 |  |  | 	RoutePostTestReceivers(*models.ReqContext) response.Response | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | func (f *ForkedAlertmanagerApi) RouteCreateGrafanaSilence(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	conf := apimodels.PostableSilence{} | 
					
						
							|  |  |  | 	if err := web.Bind(ctx.Req, &conf); err != nil { | 
					
						
							|  |  |  | 		return response.Error(http.StatusBadRequest, "bad request data", err) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	return f.forkRouteCreateGrafanaSilence(ctx, conf) | 
					
						
							| 
									
										
										
										
											2021-04-09 17:55:41 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-13 16:22:57 +08:00
										 |  |  | func (f *ForkedAlertmanagerApi) RouteCreateSilence(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	conf := apimodels.PostableSilence{} | 
					
						
							|  |  |  | 	if err := web.Bind(ctx.Req, &conf); err != nil { | 
					
						
							|  |  |  | 		return response.Error(http.StatusBadRequest, "bad request data", err) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	return f.forkRouteCreateSilence(ctx, conf) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (f *ForkedAlertmanagerApi) RouteDeleteAlertingConfig(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	return f.forkRouteDeleteAlertingConfig(ctx) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | func (f *ForkedAlertmanagerApi) RouteDeleteGrafanaAlertingConfig(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	return f.forkRouteDeleteGrafanaAlertingConfig(ctx) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (f *ForkedAlertmanagerApi) RouteDeleteGrafanaSilence(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	return f.forkRouteDeleteGrafanaSilence(ctx) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-13 16:22:57 +08:00
										 |  |  | func (f *ForkedAlertmanagerApi) RouteDeleteSilence(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	return f.forkRouteDeleteSilence(ctx) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (f *ForkedAlertmanagerApi) RouteGetAMAlertGroups(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	return f.forkRouteGetAMAlertGroups(ctx) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (f *ForkedAlertmanagerApi) RouteGetAMAlerts(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	return f.forkRouteGetAMAlerts(ctx) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (f *ForkedAlertmanagerApi) RouteGetAMStatus(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	return f.forkRouteGetAMStatus(ctx) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (f *ForkedAlertmanagerApi) RouteGetAlertingConfig(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	return f.forkRouteGetAlertingConfig(ctx) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | func (f *ForkedAlertmanagerApi) RouteGetGrafanaAMAlertGroups(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	return f.forkRouteGetGrafanaAMAlertGroups(ctx) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (f *ForkedAlertmanagerApi) RouteGetGrafanaAMAlerts(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	return f.forkRouteGetGrafanaAMAlerts(ctx) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (f *ForkedAlertmanagerApi) RouteGetGrafanaAMStatus(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	return f.forkRouteGetGrafanaAMStatus(ctx) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (f *ForkedAlertmanagerApi) RouteGetGrafanaAlertingConfig(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	return f.forkRouteGetGrafanaAlertingConfig(ctx) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (f *ForkedAlertmanagerApi) RouteGetGrafanaSilence(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	return f.forkRouteGetGrafanaSilence(ctx) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (f *ForkedAlertmanagerApi) RouteGetGrafanaSilences(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	return f.forkRouteGetGrafanaSilences(ctx) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-13 16:22:57 +08:00
										 |  |  | func (f *ForkedAlertmanagerApi) RouteGetSilence(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	return f.forkRouteGetSilence(ctx) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (f *ForkedAlertmanagerApi) RouteGetSilences(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	return f.forkRouteGetSilences(ctx) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (f *ForkedAlertmanagerApi) RoutePostAMAlerts(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	conf := apimodels.PostableAlerts{} | 
					
						
							|  |  |  | 	if err := web.Bind(ctx.Req, &conf); err != nil { | 
					
						
							|  |  |  | 		return response.Error(http.StatusBadRequest, "bad request data", err) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	return f.forkRoutePostAMAlerts(ctx, conf) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (f *ForkedAlertmanagerApi) RoutePostAlertingConfig(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	conf := apimodels.PostableUserConfig{} | 
					
						
							|  |  |  | 	if err := web.Bind(ctx.Req, &conf); err != nil { | 
					
						
							|  |  |  | 		return response.Error(http.StatusBadRequest, "bad request data", err) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	return f.forkRoutePostAlertingConfig(ctx, conf) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | func (f *ForkedAlertmanagerApi) RoutePostGrafanaAMAlerts(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	conf := apimodels.PostableAlerts{} | 
					
						
							|  |  |  | 	if err := web.Bind(ctx.Req, &conf); err != nil { | 
					
						
							|  |  |  | 		return response.Error(http.StatusBadRequest, "bad request data", err) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	return f.forkRoutePostGrafanaAMAlerts(ctx, conf) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (f *ForkedAlertmanagerApi) RoutePostGrafanaAlertingConfig(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	conf := apimodels.PostableUserConfig{} | 
					
						
							|  |  |  | 	if err := web.Bind(ctx.Req, &conf); err != nil { | 
					
						
							|  |  |  | 		return response.Error(http.StatusBadRequest, "bad request data", err) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	return f.forkRoutePostGrafanaAlertingConfig(ctx, conf) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (f *ForkedAlertmanagerApi) RoutePostTestGrafanaReceivers(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	conf := apimodels.TestReceiversConfigBodyParams{} | 
					
						
							|  |  |  | 	if err := web.Bind(ctx.Req, &conf); err != nil { | 
					
						
							|  |  |  | 		return response.Error(http.StatusBadRequest, "bad request data", err) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	return f.forkRoutePostTestGrafanaReceivers(ctx, conf) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-13 16:22:57 +08:00
										 |  |  | func (f *ForkedAlertmanagerApi) RoutePostTestReceivers(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	conf := apimodels.TestReceiversConfigBodyParams{} | 
					
						
							|  |  |  | 	if err := web.Bind(ctx.Req, &conf); err != nil { | 
					
						
							|  |  |  | 		return response.Error(http.StatusBadRequest, "bad request data", err) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	return f.forkRoutePostTestReceivers(ctx, conf) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (api *API) RegisterAlertmanagerApiEndpoints(srv AlertmanagerApiForkingService, m *metrics.API) { | 
					
						
							| 
									
										
										
										
											2021-04-09 17:55:41 +08:00
										 |  |  | 	api.RouteRegister.Group("", func(group routing.RouteRegister) { | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 		group.Post( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/grafana/api/v2/silences"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodPost, "/api/alertmanager/grafana/api/v2/silences"), | 
					
						
							|  |  |  | 			metrics.Instrument( | 
					
						
							|  |  |  | 				http.MethodPost, | 
					
						
							|  |  |  | 				"/api/alertmanager/grafana/api/v2/silences", | 
					
						
							|  |  |  | 				srv.RouteCreateGrafanaSilence, | 
					
						
							|  |  |  | 				m, | 
					
						
							|  |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 		group.Post( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/{Recipient}/api/v2/silences"), | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 			api.authorize(http.MethodPost, "/api/alertmanager/{Recipient}/api/v2/silences"), | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 			metrics.Instrument( | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				http.MethodPost, | 
					
						
							|  |  |  | 				"/api/alertmanager/{Recipient}/api/v2/silences", | 
					
						
							|  |  |  | 				srv.RouteCreateSilence, | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 				m, | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							|  |  |  | 		group.Delete( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/{Recipient}/config/api/v1/alerts"), | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 			api.authorize(http.MethodDelete, "/api/alertmanager/{Recipient}/config/api/v1/alerts"), | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 			metrics.Instrument( | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				http.MethodDelete, | 
					
						
							|  |  |  | 				"/api/alertmanager/{Recipient}/config/api/v1/alerts", | 
					
						
							|  |  |  | 				srv.RouteDeleteAlertingConfig, | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 				m, | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 		group.Delete( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/grafana/config/api/v1/alerts"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodDelete, "/api/alertmanager/grafana/config/api/v1/alerts"), | 
					
						
							|  |  |  | 			metrics.Instrument( | 
					
						
							|  |  |  | 				http.MethodDelete, | 
					
						
							|  |  |  | 				"/api/alertmanager/grafana/config/api/v1/alerts", | 
					
						
							|  |  |  | 				srv.RouteDeleteGrafanaAlertingConfig, | 
					
						
							|  |  |  | 				m, | 
					
						
							|  |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							|  |  |  | 		group.Delete( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/grafana/api/v2/silence/{SilenceId}"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodDelete, "/api/alertmanager/grafana/api/v2/silence/{SilenceId}"), | 
					
						
							|  |  |  | 			metrics.Instrument( | 
					
						
							|  |  |  | 				http.MethodDelete, | 
					
						
							|  |  |  | 				"/api/alertmanager/grafana/api/v2/silence/{SilenceId}", | 
					
						
							|  |  |  | 				srv.RouteDeleteGrafanaSilence, | 
					
						
							|  |  |  | 				m, | 
					
						
							|  |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 		group.Delete( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/{Recipient}/api/v2/silence/{SilenceId}"), | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 			api.authorize(http.MethodDelete, "/api/alertmanager/{Recipient}/api/v2/silence/{SilenceId}"), | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 			metrics.Instrument( | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				http.MethodDelete, | 
					
						
							|  |  |  | 				"/api/alertmanager/{Recipient}/api/v2/silence/{SilenceId}", | 
					
						
							|  |  |  | 				srv.RouteDeleteSilence, | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 				m, | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							|  |  |  | 		group.Get( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/{Recipient}/api/v2/alerts/groups"), | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 			api.authorize(http.MethodGet, "/api/alertmanager/{Recipient}/api/v2/alerts/groups"), | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 			metrics.Instrument( | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				http.MethodGet, | 
					
						
							|  |  |  | 				"/api/alertmanager/{Recipient}/api/v2/alerts/groups", | 
					
						
							|  |  |  | 				srv.RouteGetAMAlertGroups, | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 				m, | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							|  |  |  | 		group.Get( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/{Recipient}/api/v2/alerts"), | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 			api.authorize(http.MethodGet, "/api/alertmanager/{Recipient}/api/v2/alerts"), | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 			metrics.Instrument( | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				http.MethodGet, | 
					
						
							|  |  |  | 				"/api/alertmanager/{Recipient}/api/v2/alerts", | 
					
						
							|  |  |  | 				srv.RouteGetAMAlerts, | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 				m, | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							| 
									
										
										
										
											2021-06-16 00:14:02 +08:00
										 |  |  | 		group.Get( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/{Recipient}/api/v2/status"), | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 			api.authorize(http.MethodGet, "/api/alertmanager/{Recipient}/api/v2/status"), | 
					
						
							| 
									
										
										
										
											2021-06-16 00:14:02 +08:00
										 |  |  | 			metrics.Instrument( | 
					
						
							|  |  |  | 				http.MethodGet, | 
					
						
							|  |  |  | 				"/api/alertmanager/{Recipient}/api/v2/status", | 
					
						
							|  |  |  | 				srv.RouteGetAMStatus, | 
					
						
							|  |  |  | 				m, | 
					
						
							|  |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 		group.Get( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/{Recipient}/config/api/v1/alerts"), | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 			api.authorize(http.MethodGet, "/api/alertmanager/{Recipient}/config/api/v1/alerts"), | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 			metrics.Instrument( | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				http.MethodGet, | 
					
						
							|  |  |  | 				"/api/alertmanager/{Recipient}/config/api/v1/alerts", | 
					
						
							|  |  |  | 				srv.RouteGetAlertingConfig, | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 				m, | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 		group.Get( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/grafana/api/v2/alerts/groups"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodGet, "/api/alertmanager/grafana/api/v2/alerts/groups"), | 
					
						
							|  |  |  | 			metrics.Instrument( | 
					
						
							|  |  |  | 				http.MethodGet, | 
					
						
							|  |  |  | 				"/api/alertmanager/grafana/api/v2/alerts/groups", | 
					
						
							|  |  |  | 				srv.RouteGetGrafanaAMAlertGroups, | 
					
						
							|  |  |  | 				m, | 
					
						
							|  |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							|  |  |  | 		group.Get( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/grafana/api/v2/alerts"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodGet, "/api/alertmanager/grafana/api/v2/alerts"), | 
					
						
							|  |  |  | 			metrics.Instrument( | 
					
						
							|  |  |  | 				http.MethodGet, | 
					
						
							|  |  |  | 				"/api/alertmanager/grafana/api/v2/alerts", | 
					
						
							|  |  |  | 				srv.RouteGetGrafanaAMAlerts, | 
					
						
							|  |  |  | 				m, | 
					
						
							|  |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							|  |  |  | 		group.Get( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/grafana/api/v2/status"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodGet, "/api/alertmanager/grafana/api/v2/status"), | 
					
						
							|  |  |  | 			metrics.Instrument( | 
					
						
							|  |  |  | 				http.MethodGet, | 
					
						
							|  |  |  | 				"/api/alertmanager/grafana/api/v2/status", | 
					
						
							|  |  |  | 				srv.RouteGetGrafanaAMStatus, | 
					
						
							|  |  |  | 				m, | 
					
						
							|  |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							|  |  |  | 		group.Get( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/grafana/config/api/v1/alerts"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodGet, "/api/alertmanager/grafana/config/api/v1/alerts"), | 
					
						
							|  |  |  | 			metrics.Instrument( | 
					
						
							|  |  |  | 				http.MethodGet, | 
					
						
							|  |  |  | 				"/api/alertmanager/grafana/config/api/v1/alerts", | 
					
						
							|  |  |  | 				srv.RouteGetGrafanaAlertingConfig, | 
					
						
							|  |  |  | 				m, | 
					
						
							|  |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							|  |  |  | 		group.Get( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/grafana/api/v2/silence/{SilenceId}"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodGet, "/api/alertmanager/grafana/api/v2/silence/{SilenceId}"), | 
					
						
							|  |  |  | 			metrics.Instrument( | 
					
						
							|  |  |  | 				http.MethodGet, | 
					
						
							|  |  |  | 				"/api/alertmanager/grafana/api/v2/silence/{SilenceId}", | 
					
						
							|  |  |  | 				srv.RouteGetGrafanaSilence, | 
					
						
							|  |  |  | 				m, | 
					
						
							|  |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							|  |  |  | 		group.Get( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/grafana/api/v2/silences"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodGet, "/api/alertmanager/grafana/api/v2/silences"), | 
					
						
							|  |  |  | 			metrics.Instrument( | 
					
						
							|  |  |  | 				http.MethodGet, | 
					
						
							|  |  |  | 				"/api/alertmanager/grafana/api/v2/silences", | 
					
						
							|  |  |  | 				srv.RouteGetGrafanaSilences, | 
					
						
							|  |  |  | 				m, | 
					
						
							|  |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 		group.Get( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/{Recipient}/api/v2/silence/{SilenceId}"), | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 			api.authorize(http.MethodGet, "/api/alertmanager/{Recipient}/api/v2/silence/{SilenceId}"), | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 			metrics.Instrument( | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				http.MethodGet, | 
					
						
							|  |  |  | 				"/api/alertmanager/{Recipient}/api/v2/silence/{SilenceId}", | 
					
						
							|  |  |  | 				srv.RouteGetSilence, | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 				m, | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							|  |  |  | 		group.Get( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/{Recipient}/api/v2/silences"), | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 			api.authorize(http.MethodGet, "/api/alertmanager/{Recipient}/api/v2/silences"), | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 			metrics.Instrument( | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				http.MethodGet, | 
					
						
							|  |  |  | 				"/api/alertmanager/{Recipient}/api/v2/silences", | 
					
						
							|  |  |  | 				srv.RouteGetSilences, | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 				m, | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							|  |  |  | 		group.Post( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/{Recipient}/api/v2/alerts"), | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 			api.authorize(http.MethodPost, "/api/alertmanager/{Recipient}/api/v2/alerts"), | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 			metrics.Instrument( | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				http.MethodPost, | 
					
						
							|  |  |  | 				"/api/alertmanager/{Recipient}/api/v2/alerts", | 
					
						
							|  |  |  | 				srv.RoutePostAMAlerts, | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 				m, | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							|  |  |  | 		group.Post( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/{Recipient}/config/api/v1/alerts"), | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 			api.authorize(http.MethodPost, "/api/alertmanager/{Recipient}/config/api/v1/alerts"), | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 			metrics.Instrument( | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				http.MethodPost, | 
					
						
							|  |  |  | 				"/api/alertmanager/{Recipient}/config/api/v1/alerts", | 
					
						
							|  |  |  | 				srv.RoutePostAlertingConfig, | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 				m, | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 		group.Post( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/grafana/api/v2/alerts"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodPost, "/api/alertmanager/grafana/api/v2/alerts"), | 
					
						
							|  |  |  | 			metrics.Instrument( | 
					
						
							|  |  |  | 				http.MethodPost, | 
					
						
							|  |  |  | 				"/api/alertmanager/grafana/api/v2/alerts", | 
					
						
							|  |  |  | 				srv.RoutePostGrafanaAMAlerts, | 
					
						
							|  |  |  | 				m, | 
					
						
							|  |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							|  |  |  | 		group.Post( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/grafana/config/api/v1/alerts"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodPost, "/api/alertmanager/grafana/config/api/v1/alerts"), | 
					
						
							|  |  |  | 			metrics.Instrument( | 
					
						
							|  |  |  | 				http.MethodPost, | 
					
						
							|  |  |  | 				"/api/alertmanager/grafana/config/api/v1/alerts", | 
					
						
							|  |  |  | 				srv.RoutePostGrafanaAlertingConfig, | 
					
						
							|  |  |  | 				m, | 
					
						
							|  |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							|  |  |  | 		group.Post( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/grafana/config/api/v1/receivers/test"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodPost, "/api/alertmanager/grafana/config/api/v1/receivers/test"), | 
					
						
							|  |  |  | 			metrics.Instrument( | 
					
						
							|  |  |  | 				http.MethodPost, | 
					
						
							|  |  |  | 				"/api/alertmanager/grafana/config/api/v1/receivers/test", | 
					
						
							|  |  |  | 				srv.RoutePostTestGrafanaReceivers, | 
					
						
							|  |  |  | 				m, | 
					
						
							|  |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							| 
									
										
										
										
											2021-08-17 20:49:05 +08:00
										 |  |  | 		group.Post( | 
					
						
							|  |  |  | 			toMacaronPath("/api/alertmanager/{Recipient}/config/api/v1/receivers/test"), | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 			api.authorize(http.MethodPost, "/api/alertmanager/{Recipient}/config/api/v1/receivers/test"), | 
					
						
							| 
									
										
										
										
											2021-08-17 20:49:05 +08:00
										 |  |  | 			metrics.Instrument( | 
					
						
							|  |  |  | 				http.MethodPost, | 
					
						
							|  |  |  | 				"/api/alertmanager/{Recipient}/config/api/v1/receivers/test", | 
					
						
							|  |  |  | 				srv.RoutePostTestReceivers, | 
					
						
							|  |  |  | 				m, | 
					
						
							|  |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 	}) | 
					
						
							| 
									
										
										
										
											2021-04-09 17:55:41 +08:00
										 |  |  | } |