| 
									
										
										
										
											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. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 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" | 
					
						
							| 
									
										
										
										
											2022-03-25 05:13:47 +08:00
										 |  |  | 	"github.com/grafana/grafana/pkg/middleware" | 
					
						
							| 
									
										
										
										
											2021-04-09 17:55:41 +08:00
										 |  |  | 	"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
										 |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | type RulerApi interface { | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 	RouteDeleteGrafanaRuleGroupConfig(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RouteDeleteNamespaceGrafanaRulesConfig(*models.ReqContext) response.Response | 
					
						
							| 
									
										
										
										
											2021-12-13 16:22:57 +08:00
										 |  |  | 	RouteDeleteNamespaceRulesConfig(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RouteDeleteRuleGroupConfig(*models.ReqContext) response.Response | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 	RouteGetGrafanaRuleGroupConfig(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RouteGetGrafanaRulesConfig(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RouteGetNamespaceGrafanaRulesConfig(*models.ReqContext) response.Response | 
					
						
							| 
									
										
										
										
											2021-12-13 16:22:57 +08:00
										 |  |  | 	RouteGetNamespaceRulesConfig(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RouteGetRulegGroupConfig(*models.ReqContext) response.Response | 
					
						
							|  |  |  | 	RouteGetRulesConfig(*models.ReqContext) response.Response | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 	RoutePostNameGrafanaRulesConfig(*models.ReqContext) response.Response | 
					
						
							| 
									
										
										
										
											2021-12-13 16:22:57 +08:00
										 |  |  | 	RoutePostNameRulesConfig(*models.ReqContext) response.Response | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | func (f *RulerApiHandler) RouteDeleteGrafanaRuleGroupConfig(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	// Parse Path Parameters
 | 
					
						
							| 
									
										
										
										
											2022-06-24 04:13:39 +08:00
										 |  |  | 	namespaceParam := web.Params(ctx.Req)[":Namespace"] | 
					
						
							|  |  |  | 	groupnameParam := web.Params(ctx.Req)[":Groupname"] | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | 	return f.handleRouteDeleteGrafanaRuleGroupConfig(ctx, namespaceParam, groupnameParam) | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | func (f *RulerApiHandler) RouteDeleteNamespaceGrafanaRulesConfig(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	// Parse Path Parameters
 | 
					
						
							| 
									
										
										
										
											2022-06-24 04:13:39 +08:00
										 |  |  | 	namespaceParam := web.Params(ctx.Req)[":Namespace"] | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | 	return f.handleRouteDeleteNamespaceGrafanaRulesConfig(ctx, namespaceParam) | 
					
						
							| 
									
										
										
										
											2021-04-09 17:55:41 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | func (f *RulerApiHandler) RouteDeleteNamespaceRulesConfig(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	// Parse Path Parameters
 | 
					
						
							| 
									
										
										
										
											2022-06-24 04:13:39 +08:00
										 |  |  | 	datasourceUIDParam := web.Params(ctx.Req)[":DatasourceUID"] | 
					
						
							|  |  |  | 	namespaceParam := web.Params(ctx.Req)[":Namespace"] | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | 	return f.handleRouteDeleteNamespaceRulesConfig(ctx, datasourceUIDParam, namespaceParam) | 
					
						
							| 
									
										
										
										
											2021-12-13 16:22:57 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | func (f *RulerApiHandler) RouteDeleteRuleGroupConfig(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	// Parse Path Parameters
 | 
					
						
							| 
									
										
										
										
											2022-06-24 04:13:39 +08:00
										 |  |  | 	datasourceUIDParam := web.Params(ctx.Req)[":DatasourceUID"] | 
					
						
							|  |  |  | 	namespaceParam := web.Params(ctx.Req)[":Namespace"] | 
					
						
							|  |  |  | 	groupnameParam := web.Params(ctx.Req)[":Groupname"] | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | 	return f.handleRouteDeleteRuleGroupConfig(ctx, datasourceUIDParam, namespaceParam, groupnameParam) | 
					
						
							| 
									
										
										
										
											2021-12-13 16:22:57 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | func (f *RulerApiHandler) RouteGetGrafanaRuleGroupConfig(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	// Parse Path Parameters
 | 
					
						
							| 
									
										
										
										
											2022-06-24 04:13:39 +08:00
										 |  |  | 	namespaceParam := web.Params(ctx.Req)[":Namespace"] | 
					
						
							|  |  |  | 	groupnameParam := web.Params(ctx.Req)[":Groupname"] | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | 	return f.handleRouteGetGrafanaRuleGroupConfig(ctx, namespaceParam, groupnameParam) | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | func (f *RulerApiHandler) RouteGetGrafanaRulesConfig(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	return f.handleRouteGetGrafanaRulesConfig(ctx) | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | func (f *RulerApiHandler) RouteGetNamespaceGrafanaRulesConfig(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	// Parse Path Parameters
 | 
					
						
							| 
									
										
										
										
											2022-06-24 04:13:39 +08:00
										 |  |  | 	namespaceParam := web.Params(ctx.Req)[":Namespace"] | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | 	return f.handleRouteGetNamespaceGrafanaRulesConfig(ctx, namespaceParam) | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | func (f *RulerApiHandler) RouteGetNamespaceRulesConfig(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	// Parse Path Parameters
 | 
					
						
							| 
									
										
										
										
											2022-06-24 04:13:39 +08:00
										 |  |  | 	datasourceUIDParam := web.Params(ctx.Req)[":DatasourceUID"] | 
					
						
							|  |  |  | 	namespaceParam := web.Params(ctx.Req)[":Namespace"] | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | 	return f.handleRouteGetNamespaceRulesConfig(ctx, datasourceUIDParam, namespaceParam) | 
					
						
							| 
									
										
										
										
											2021-12-13 16:22:57 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | func (f *RulerApiHandler) RouteGetRulegGroupConfig(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	// Parse Path Parameters
 | 
					
						
							| 
									
										
										
										
											2022-06-24 04:13:39 +08:00
										 |  |  | 	datasourceUIDParam := web.Params(ctx.Req)[":DatasourceUID"] | 
					
						
							|  |  |  | 	namespaceParam := web.Params(ctx.Req)[":Namespace"] | 
					
						
							|  |  |  | 	groupnameParam := web.Params(ctx.Req)[":Groupname"] | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | 	return f.handleRouteGetRulegGroupConfig(ctx, datasourceUIDParam, namespaceParam, groupnameParam) | 
					
						
							| 
									
										
										
										
											2021-12-13 16:22:57 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | func (f *RulerApiHandler) RouteGetRulesConfig(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	// Parse Path Parameters
 | 
					
						
							| 
									
										
										
										
											2022-06-24 04:13:39 +08:00
										 |  |  | 	datasourceUIDParam := web.Params(ctx.Req)[":DatasourceUID"] | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | 	return f.handleRouteGetRulesConfig(ctx, datasourceUIDParam) | 
					
						
							| 
									
										
										
										
											2021-12-13 16:22:57 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | func (f *RulerApiHandler) RoutePostNameGrafanaRulesConfig(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	// Parse Path Parameters
 | 
					
						
							| 
									
										
										
										
											2022-06-24 04:13:39 +08:00
										 |  |  | 	namespaceParam := web.Params(ctx.Req)[":Namespace"] | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | 	// Parse Request Body
 | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | 	conf := apimodels.PostableRuleGroupConfig{} | 
					
						
							|  |  |  | 	if err := web.Bind(ctx.Req, &conf); err != nil { | 
					
						
							|  |  |  | 		return response.Error(http.StatusBadRequest, "bad request data", err) | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | 	return f.handleRoutePostNameGrafanaRulesConfig(ctx, conf, namespaceParam) | 
					
						
							| 
									
										
										
										
											2022-02-05 01:42:04 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | func (f *RulerApiHandler) RoutePostNameRulesConfig(ctx *models.ReqContext) response.Response { | 
					
						
							|  |  |  | 	// Parse Path Parameters
 | 
					
						
							| 
									
										
										
										
											2022-06-24 04:13:39 +08:00
										 |  |  | 	datasourceUIDParam := web.Params(ctx.Req)[":DatasourceUID"] | 
					
						
							|  |  |  | 	namespaceParam := web.Params(ctx.Req)[":Namespace"] | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | 	// Parse Request Body
 | 
					
						
							| 
									
										
										
										
											2021-12-13 16:22:57 +08:00
										 |  |  | 	conf := apimodels.PostableRuleGroupConfig{} | 
					
						
							|  |  |  | 	if err := web.Bind(ctx.Req, &conf); err != nil { | 
					
						
							|  |  |  | 		return response.Error(http.StatusBadRequest, "bad request data", err) | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | 	return f.handleRoutePostNameRulesConfig(ctx, conf, datasourceUIDParam, namespaceParam) | 
					
						
							| 
									
										
										
										
											2021-12-13 16:22:57 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-18 15:08:08 +08:00
										 |  |  | func (api *API) RegisterRulerApiEndpoints(srv RulerApi, 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.Delete( | 
					
						
							|  |  |  | 			toMacaronPath("/api/ruler/grafana/api/v1/rules/{Namespace}/{Groupname}"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodDelete, "/api/ruler/grafana/api/v1/rules/{Namespace}/{Groupname}"), | 
					
						
							|  |  |  | 			metrics.Instrument( | 
					
						
							|  |  |  | 				http.MethodDelete, | 
					
						
							|  |  |  | 				"/api/ruler/grafana/api/v1/rules/{Namespace}/{Groupname}", | 
					
						
							|  |  |  | 				srv.RouteDeleteGrafanaRuleGroupConfig, | 
					
						
							|  |  |  | 				m, | 
					
						
							|  |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							|  |  |  | 		group.Delete( | 
					
						
							|  |  |  | 			toMacaronPath("/api/ruler/grafana/api/v1/rules/{Namespace}"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodDelete, "/api/ruler/grafana/api/v1/rules/{Namespace}"), | 
					
						
							|  |  |  | 			metrics.Instrument( | 
					
						
							|  |  |  | 				http.MethodDelete, | 
					
						
							|  |  |  | 				"/api/ruler/grafana/api/v1/rules/{Namespace}", | 
					
						
							|  |  |  | 				srv.RouteDeleteNamespaceGrafanaRulesConfig, | 
					
						
							|  |  |  | 				m, | 
					
						
							|  |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 		group.Delete( | 
					
						
							| 
									
										
										
										
											2022-05-05 19:58:32 +08:00
										 |  |  | 			toMacaronPath("/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodDelete, "/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}"), | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 			metrics.Instrument( | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				http.MethodDelete, | 
					
						
							| 
									
										
										
										
											2022-05-05 19:58:32 +08:00
										 |  |  | 				"/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}", | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				srv.RouteDeleteNamespaceRulesConfig, | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 				m, | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							|  |  |  | 		group.Delete( | 
					
						
							| 
									
										
										
										
											2022-05-05 19:58:32 +08:00
										 |  |  | 			toMacaronPath("/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}/{Groupname}"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodDelete, "/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}/{Groupname}"), | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 			metrics.Instrument( | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				http.MethodDelete, | 
					
						
							| 
									
										
										
										
											2022-05-05 19:58:32 +08:00
										 |  |  | 				"/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}/{Groupname}", | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				srv.RouteDeleteRuleGroupConfig, | 
					
						
							| 
									
										
										
										
											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/ruler/grafana/api/v1/rules/{Namespace}/{Groupname}"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodGet, "/api/ruler/grafana/api/v1/rules/{Namespace}/{Groupname}"), | 
					
						
							|  |  |  | 			metrics.Instrument( | 
					
						
							|  |  |  | 				http.MethodGet, | 
					
						
							|  |  |  | 				"/api/ruler/grafana/api/v1/rules/{Namespace}/{Groupname}", | 
					
						
							|  |  |  | 				srv.RouteGetGrafanaRuleGroupConfig, | 
					
						
							|  |  |  | 				m, | 
					
						
							|  |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							|  |  |  | 		group.Get( | 
					
						
							|  |  |  | 			toMacaronPath("/api/ruler/grafana/api/v1/rules"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodGet, "/api/ruler/grafana/api/v1/rules"), | 
					
						
							|  |  |  | 			metrics.Instrument( | 
					
						
							|  |  |  | 				http.MethodGet, | 
					
						
							|  |  |  | 				"/api/ruler/grafana/api/v1/rules", | 
					
						
							|  |  |  | 				srv.RouteGetGrafanaRulesConfig, | 
					
						
							|  |  |  | 				m, | 
					
						
							|  |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							|  |  |  | 		group.Get( | 
					
						
							|  |  |  | 			toMacaronPath("/api/ruler/grafana/api/v1/rules/{Namespace}"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodGet, "/api/ruler/grafana/api/v1/rules/{Namespace}"), | 
					
						
							|  |  |  | 			metrics.Instrument( | 
					
						
							|  |  |  | 				http.MethodGet, | 
					
						
							|  |  |  | 				"/api/ruler/grafana/api/v1/rules/{Namespace}", | 
					
						
							|  |  |  | 				srv.RouteGetNamespaceGrafanaRulesConfig, | 
					
						
							|  |  |  | 				m, | 
					
						
							|  |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 		group.Get( | 
					
						
							| 
									
										
										
										
											2022-05-05 19:58:32 +08:00
										 |  |  | 			toMacaronPath("/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodGet, "/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}"), | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 			metrics.Instrument( | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				http.MethodGet, | 
					
						
							| 
									
										
										
										
											2022-05-05 19:58:32 +08:00
										 |  |  | 				"/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}", | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				srv.RouteGetNamespaceRulesConfig, | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 				m, | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							|  |  |  | 		group.Get( | 
					
						
							| 
									
										
										
										
											2022-05-05 19:58:32 +08:00
										 |  |  | 			toMacaronPath("/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}/{Groupname}"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodGet, "/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}/{Groupname}"), | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 			metrics.Instrument( | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				http.MethodGet, | 
					
						
							| 
									
										
										
										
											2022-05-05 19:58:32 +08:00
										 |  |  | 				"/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}/{Groupname}", | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				srv.RouteGetRulegGroupConfig, | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 				m, | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							|  |  |  | 		group.Get( | 
					
						
							| 
									
										
										
										
											2022-05-05 19:58:32 +08:00
										 |  |  | 			toMacaronPath("/api/ruler/{DatasourceUID}/api/v1/rules"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodGet, "/api/ruler/{DatasourceUID}/api/v1/rules"), | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 			metrics.Instrument( | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				http.MethodGet, | 
					
						
							| 
									
										
										
										
											2022-05-05 19:58:32 +08:00
										 |  |  | 				"/api/ruler/{DatasourceUID}/api/v1/rules", | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				srv.RouteGetRulesConfig, | 
					
						
							| 
									
										
										
										
											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/ruler/grafana/api/v1/rules/{Namespace}"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodPost, "/api/ruler/grafana/api/v1/rules/{Namespace}"), | 
					
						
							|  |  |  | 			metrics.Instrument( | 
					
						
							|  |  |  | 				http.MethodPost, | 
					
						
							|  |  |  | 				"/api/ruler/grafana/api/v1/rules/{Namespace}", | 
					
						
							|  |  |  | 				srv.RoutePostNameGrafanaRulesConfig, | 
					
						
							|  |  |  | 				m, | 
					
						
							|  |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 		group.Post( | 
					
						
							| 
									
										
										
										
											2022-05-05 19:58:32 +08:00
										 |  |  | 			toMacaronPath("/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}"), | 
					
						
							|  |  |  | 			api.authorize(http.MethodPost, "/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}"), | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 			metrics.Instrument( | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				http.MethodPost, | 
					
						
							| 
									
										
										
										
											2022-05-05 19:58:32 +08:00
										 |  |  | 				"/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}", | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 				srv.RoutePostNameRulesConfig, | 
					
						
							| 
									
										
										
										
											2021-05-01 00:28:06 +08:00
										 |  |  | 				m, | 
					
						
							| 
									
										
										
										
											2021-04-29 04:59:15 +08:00
										 |  |  | 			), | 
					
						
							|  |  |  | 		) | 
					
						
							| 
									
										
										
										
											2022-03-25 05:13:47 +08:00
										 |  |  | 	}, middleware.ReqSignedIn) | 
					
						
							| 
									
										
										
										
											2021-04-09 17:55:41 +08:00
										 |  |  | } |