Alerting: Add notification policy provisioning file export (#70009)
* Alerting: Add notification policy provisioning file export - Add provisioning API endpoint for exporting notification policies. - Add option in notification policy view ellipsis dropdown for exporting. - Update various provisioning documentation.
This commit is contained in:
@@ -34,6 +34,7 @@ type ProvisioningApi interface {
|
||||
RouteGetMuteTiming(*contextmodel.ReqContext) response.Response
|
||||
RouteGetMuteTimings(*contextmodel.ReqContext) response.Response
|
||||
RouteGetPolicyTree(*contextmodel.ReqContext) response.Response
|
||||
RouteGetPolicyTreeExport(*contextmodel.ReqContext) response.Response
|
||||
RouteGetTemplate(*contextmodel.ReqContext) response.Response
|
||||
RouteGetTemplates(*contextmodel.ReqContext) response.Response
|
||||
RoutePostAlertRule(*contextmodel.ReqContext) response.Response
|
||||
@@ -113,6 +114,9 @@ func (f *ProvisioningApiHandler) RouteGetMuteTimings(ctx *contextmodel.ReqContex
|
||||
func (f *ProvisioningApiHandler) RouteGetPolicyTree(ctx *contextmodel.ReqContext) response.Response {
|
||||
return f.handleRouteGetPolicyTree(ctx)
|
||||
}
|
||||
func (f *ProvisioningApiHandler) RouteGetPolicyTreeExport(ctx *contextmodel.ReqContext) response.Response {
|
||||
return f.handleRouteGetPolicyTreeExport(ctx)
|
||||
}
|
||||
func (f *ProvisioningApiHandler) RouteGetTemplate(ctx *contextmodel.ReqContext) response.Response {
|
||||
// Parse Path Parameters
|
||||
nameParam := web.Params(ctx.Req)[":name"]
|
||||
@@ -360,6 +364,16 @@ func (api *API) RegisterProvisioningApiEndpoints(srv ProvisioningApi, m *metrics
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Get(
|
||||
toMacaronPath("/api/v1/provisioning/policies/export"),
|
||||
api.authorize(http.MethodGet, "/api/v1/provisioning/policies/export"),
|
||||
metrics.Instrument(
|
||||
http.MethodGet,
|
||||
"/api/v1/provisioning/policies/export",
|
||||
api.Hooks.Wrap(srv.RouteGetPolicyTreeExport),
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Get(
|
||||
toMacaronPath("/api/v1/provisioning/templates/{name}"),
|
||||
api.authorize(http.MethodGet, "/api/v1/provisioning/templates/{name}"),
|
||||
|
||||
Reference in New Issue
Block a user