mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Alerting: Add version segment to all provisioning routes (#49121)
Co-authored-by: Jean-Philippe Quémémer <jeanphilippe.quemener@grafana.com>
This commit is contained in:
@@ -179,28 +179,28 @@ func (api *API) authorize(method, path string) web.Handler {
|
||||
return middleware.ReqOrgAdmin
|
||||
|
||||
// Grafana-only Provisioning Read Paths
|
||||
case http.MethodGet + "/api/provisioning/policies",
|
||||
http.MethodGet + "/api/provisioning/contact-points",
|
||||
http.MethodGet + "/api/provisioning/templates",
|
||||
http.MethodGet + "/api/provisioning/templates/{name}",
|
||||
http.MethodGet + "/api/provisioning/mute-timings",
|
||||
http.MethodGet + "/api/provisioning/mute-timings/{name}",
|
||||
http.MethodGet + "/api/provisioning/alert-rules/{UID}":
|
||||
case http.MethodGet + "/api/v1/provisioning/policies",
|
||||
http.MethodGet + "/api/v1/provisioning/contact-points",
|
||||
http.MethodGet + "/api/v1/provisioning/templates",
|
||||
http.MethodGet + "/api/v1/provisioning/templates/{name}",
|
||||
http.MethodGet + "/api/v1/provisioning/mute-timings",
|
||||
http.MethodGet + "/api/v1/provisioning/mute-timings/{name}",
|
||||
http.MethodGet + "/api/v1/provisioning/alert-rules/{UID}":
|
||||
return middleware.ReqSignedIn
|
||||
|
||||
case http.MethodPut + "/api/provisioning/policies",
|
||||
http.MethodPost + "/api/provisioning/contact-points",
|
||||
http.MethodPut + "/api/provisioning/contact-points/{UID}",
|
||||
http.MethodDelete + "/api/provisioning/contact-points/{UID}",
|
||||
http.MethodPut + "/api/provisioning/templates/{name}",
|
||||
http.MethodDelete + "/api/provisioning/templates/{name}",
|
||||
http.MethodPost + "/api/provisioning/mute-timings",
|
||||
http.MethodPut + "/api/provisioning/mute-timings/{name}",
|
||||
http.MethodDelete + "/api/provisioning/mute-timings/{name}",
|
||||
http.MethodPost + "/api/provisioning/alert-rules",
|
||||
http.MethodPut + "/api/provisioning/alert-rules/{UID}",
|
||||
http.MethodDelete + "/api/provisioning/alert-rules/{UID}",
|
||||
http.MethodPut + "/api/provisioning/folder/{FolderUID}/rule-groups/{Group}":
|
||||
case http.MethodPut + "/api/v1/provisioning/policies",
|
||||
http.MethodPost + "/api/v1/provisioning/contact-points",
|
||||
http.MethodPut + "/api/v1/provisioning/contact-points/{UID}",
|
||||
http.MethodDelete + "/api/v1/provisioning/contact-points/{UID}",
|
||||
http.MethodPut + "/api/v1/provisioning/templates/{name}",
|
||||
http.MethodDelete + "/api/v1/provisioning/templates/{name}",
|
||||
http.MethodPost + "/api/v1/provisioning/mute-timings",
|
||||
http.MethodPut + "/api/v1/provisioning/mute-timings/{name}",
|
||||
http.MethodDelete + "/api/v1/provisioning/mute-timings/{name}",
|
||||
http.MethodPost + "/api/v1/provisioning/alert-rules",
|
||||
http.MethodPut + "/api/v1/provisioning/alert-rules/{UID}",
|
||||
http.MethodDelete + "/api/v1/provisioning/alert-rules/{UID}",
|
||||
http.MethodPut + "/api/v1/provisioning/folder/{FolderUID}/rule-groups/{Group}":
|
||||
return middleware.ReqEditorRole
|
||||
}
|
||||
|
||||
|
@@ -141,201 +141,201 @@ func (f *ForkedProvisioningApi) RoutePutTemplate(ctx *models.ReqContext) respons
|
||||
func (api *API) RegisterProvisioningApiEndpoints(srv ProvisioningApiForkingService, m *metrics.API) {
|
||||
api.RouteRegister.Group("", func(group routing.RouteRegister) {
|
||||
group.Delete(
|
||||
toMacaronPath("/api/provisioning/alert-rules/{UID}"),
|
||||
api.authorize(http.MethodDelete, "/api/provisioning/alert-rules/{UID}"),
|
||||
toMacaronPath("/api/v1/provisioning/alert-rules/{UID}"),
|
||||
api.authorize(http.MethodDelete, "/api/v1/provisioning/alert-rules/{UID}"),
|
||||
metrics.Instrument(
|
||||
http.MethodDelete,
|
||||
"/api/provisioning/alert-rules/{UID}",
|
||||
"/api/v1/provisioning/alert-rules/{UID}",
|
||||
srv.RouteDeleteAlertRule,
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Delete(
|
||||
toMacaronPath("/api/provisioning/contact-points/{UID}"),
|
||||
api.authorize(http.MethodDelete, "/api/provisioning/contact-points/{UID}"),
|
||||
toMacaronPath("/api/v1/provisioning/contact-points/{UID}"),
|
||||
api.authorize(http.MethodDelete, "/api/v1/provisioning/contact-points/{UID}"),
|
||||
metrics.Instrument(
|
||||
http.MethodDelete,
|
||||
"/api/provisioning/contact-points/{UID}",
|
||||
"/api/v1/provisioning/contact-points/{UID}",
|
||||
srv.RouteDeleteContactpoints,
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Delete(
|
||||
toMacaronPath("/api/provisioning/mute-timings/{name}"),
|
||||
api.authorize(http.MethodDelete, "/api/provisioning/mute-timings/{name}"),
|
||||
toMacaronPath("/api/v1/provisioning/mute-timings/{name}"),
|
||||
api.authorize(http.MethodDelete, "/api/v1/provisioning/mute-timings/{name}"),
|
||||
metrics.Instrument(
|
||||
http.MethodDelete,
|
||||
"/api/provisioning/mute-timings/{name}",
|
||||
"/api/v1/provisioning/mute-timings/{name}",
|
||||
srv.RouteDeleteMuteTiming,
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Delete(
|
||||
toMacaronPath("/api/provisioning/templates/{name}"),
|
||||
api.authorize(http.MethodDelete, "/api/provisioning/templates/{name}"),
|
||||
toMacaronPath("/api/v1/provisioning/templates/{name}"),
|
||||
api.authorize(http.MethodDelete, "/api/v1/provisioning/templates/{name}"),
|
||||
metrics.Instrument(
|
||||
http.MethodDelete,
|
||||
"/api/provisioning/templates/{name}",
|
||||
"/api/v1/provisioning/templates/{name}",
|
||||
srv.RouteDeleteTemplate,
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Get(
|
||||
toMacaronPath("/api/provisioning/alert-rules/{UID}"),
|
||||
api.authorize(http.MethodGet, "/api/provisioning/alert-rules/{UID}"),
|
||||
toMacaronPath("/api/v1/provisioning/alert-rules/{UID}"),
|
||||
api.authorize(http.MethodGet, "/api/v1/provisioning/alert-rules/{UID}"),
|
||||
metrics.Instrument(
|
||||
http.MethodGet,
|
||||
"/api/provisioning/alert-rules/{UID}",
|
||||
"/api/v1/provisioning/alert-rules/{UID}",
|
||||
srv.RouteGetAlertRule,
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Get(
|
||||
toMacaronPath("/api/provisioning/contact-points"),
|
||||
api.authorize(http.MethodGet, "/api/provisioning/contact-points"),
|
||||
toMacaronPath("/api/v1/provisioning/contact-points"),
|
||||
api.authorize(http.MethodGet, "/api/v1/provisioning/contact-points"),
|
||||
metrics.Instrument(
|
||||
http.MethodGet,
|
||||
"/api/provisioning/contact-points",
|
||||
"/api/v1/provisioning/contact-points",
|
||||
srv.RouteGetContactpoints,
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Get(
|
||||
toMacaronPath("/api/provisioning/mute-timings/{name}"),
|
||||
api.authorize(http.MethodGet, "/api/provisioning/mute-timings/{name}"),
|
||||
toMacaronPath("/api/v1/provisioning/mute-timings/{name}"),
|
||||
api.authorize(http.MethodGet, "/api/v1/provisioning/mute-timings/{name}"),
|
||||
metrics.Instrument(
|
||||
http.MethodGet,
|
||||
"/api/provisioning/mute-timings/{name}",
|
||||
"/api/v1/provisioning/mute-timings/{name}",
|
||||
srv.RouteGetMuteTiming,
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Get(
|
||||
toMacaronPath("/api/provisioning/mute-timings"),
|
||||
api.authorize(http.MethodGet, "/api/provisioning/mute-timings"),
|
||||
toMacaronPath("/api/v1/provisioning/mute-timings"),
|
||||
api.authorize(http.MethodGet, "/api/v1/provisioning/mute-timings"),
|
||||
metrics.Instrument(
|
||||
http.MethodGet,
|
||||
"/api/provisioning/mute-timings",
|
||||
"/api/v1/provisioning/mute-timings",
|
||||
srv.RouteGetMuteTimings,
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Get(
|
||||
toMacaronPath("/api/provisioning/policies"),
|
||||
api.authorize(http.MethodGet, "/api/provisioning/policies"),
|
||||
toMacaronPath("/api/v1/provisioning/policies"),
|
||||
api.authorize(http.MethodGet, "/api/v1/provisioning/policies"),
|
||||
metrics.Instrument(
|
||||
http.MethodGet,
|
||||
"/api/provisioning/policies",
|
||||
"/api/v1/provisioning/policies",
|
||||
srv.RouteGetPolicyTree,
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Get(
|
||||
toMacaronPath("/api/provisioning/templates/{name}"),
|
||||
api.authorize(http.MethodGet, "/api/provisioning/templates/{name}"),
|
||||
toMacaronPath("/api/v1/provisioning/templates/{name}"),
|
||||
api.authorize(http.MethodGet, "/api/v1/provisioning/templates/{name}"),
|
||||
metrics.Instrument(
|
||||
http.MethodGet,
|
||||
"/api/provisioning/templates/{name}",
|
||||
"/api/v1/provisioning/templates/{name}",
|
||||
srv.RouteGetTemplate,
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Get(
|
||||
toMacaronPath("/api/provisioning/templates"),
|
||||
api.authorize(http.MethodGet, "/api/provisioning/templates"),
|
||||
toMacaronPath("/api/v1/provisioning/templates"),
|
||||
api.authorize(http.MethodGet, "/api/v1/provisioning/templates"),
|
||||
metrics.Instrument(
|
||||
http.MethodGet,
|
||||
"/api/provisioning/templates",
|
||||
"/api/v1/provisioning/templates",
|
||||
srv.RouteGetTemplates,
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Post(
|
||||
toMacaronPath("/api/provisioning/alert-rules"),
|
||||
api.authorize(http.MethodPost, "/api/provisioning/alert-rules"),
|
||||
toMacaronPath("/api/v1/provisioning/alert-rules"),
|
||||
api.authorize(http.MethodPost, "/api/v1/provisioning/alert-rules"),
|
||||
metrics.Instrument(
|
||||
http.MethodPost,
|
||||
"/api/provisioning/alert-rules",
|
||||
"/api/v1/provisioning/alert-rules",
|
||||
srv.RoutePostAlertRule,
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Post(
|
||||
toMacaronPath("/api/provisioning/contact-points"),
|
||||
api.authorize(http.MethodPost, "/api/provisioning/contact-points"),
|
||||
toMacaronPath("/api/v1/provisioning/contact-points"),
|
||||
api.authorize(http.MethodPost, "/api/v1/provisioning/contact-points"),
|
||||
metrics.Instrument(
|
||||
http.MethodPost,
|
||||
"/api/provisioning/contact-points",
|
||||
"/api/v1/provisioning/contact-points",
|
||||
srv.RoutePostContactpoints,
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Post(
|
||||
toMacaronPath("/api/provisioning/mute-timings"),
|
||||
api.authorize(http.MethodPost, "/api/provisioning/mute-timings"),
|
||||
toMacaronPath("/api/v1/provisioning/mute-timings"),
|
||||
api.authorize(http.MethodPost, "/api/v1/provisioning/mute-timings"),
|
||||
metrics.Instrument(
|
||||
http.MethodPost,
|
||||
"/api/provisioning/mute-timings",
|
||||
"/api/v1/provisioning/mute-timings",
|
||||
srv.RoutePostMuteTiming,
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Put(
|
||||
toMacaronPath("/api/provisioning/alert-rules/{UID}"),
|
||||
api.authorize(http.MethodPut, "/api/provisioning/alert-rules/{UID}"),
|
||||
toMacaronPath("/api/v1/provisioning/alert-rules/{UID}"),
|
||||
api.authorize(http.MethodPut, "/api/v1/provisioning/alert-rules/{UID}"),
|
||||
metrics.Instrument(
|
||||
http.MethodPut,
|
||||
"/api/provisioning/alert-rules/{UID}",
|
||||
"/api/v1/provisioning/alert-rules/{UID}",
|
||||
srv.RoutePutAlertRule,
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Put(
|
||||
toMacaronPath("/api/provisioning/folder/{FolderUID}/rule-groups/{Group}"),
|
||||
api.authorize(http.MethodPut, "/api/provisioning/folder/{FolderUID}/rule-groups/{Group}"),
|
||||
toMacaronPath("/api/v1/provisioning/folder/{FolderUID}/rule-groups/{Group}"),
|
||||
api.authorize(http.MethodPut, "/api/v1/provisioning/folder/{FolderUID}/rule-groups/{Group}"),
|
||||
metrics.Instrument(
|
||||
http.MethodPut,
|
||||
"/api/provisioning/folder/{FolderUID}/rule-groups/{Group}",
|
||||
"/api/v1/provisioning/folder/{FolderUID}/rule-groups/{Group}",
|
||||
srv.RoutePutAlertRuleGroup,
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Put(
|
||||
toMacaronPath("/api/provisioning/contact-points/{UID}"),
|
||||
api.authorize(http.MethodPut, "/api/provisioning/contact-points/{UID}"),
|
||||
toMacaronPath("/api/v1/provisioning/contact-points/{UID}"),
|
||||
api.authorize(http.MethodPut, "/api/v1/provisioning/contact-points/{UID}"),
|
||||
metrics.Instrument(
|
||||
http.MethodPut,
|
||||
"/api/provisioning/contact-points/{UID}",
|
||||
"/api/v1/provisioning/contact-points/{UID}",
|
||||
srv.RoutePutContactpoint,
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Put(
|
||||
toMacaronPath("/api/provisioning/mute-timings/{name}"),
|
||||
api.authorize(http.MethodPut, "/api/provisioning/mute-timings/{name}"),
|
||||
toMacaronPath("/api/v1/provisioning/mute-timings/{name}"),
|
||||
api.authorize(http.MethodPut, "/api/v1/provisioning/mute-timings/{name}"),
|
||||
metrics.Instrument(
|
||||
http.MethodPut,
|
||||
"/api/provisioning/mute-timings/{name}",
|
||||
"/api/v1/provisioning/mute-timings/{name}",
|
||||
srv.RoutePutMuteTiming,
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Put(
|
||||
toMacaronPath("/api/provisioning/policies"),
|
||||
api.authorize(http.MethodPut, "/api/provisioning/policies"),
|
||||
toMacaronPath("/api/v1/provisioning/policies"),
|
||||
api.authorize(http.MethodPut, "/api/v1/provisioning/policies"),
|
||||
metrics.Instrument(
|
||||
http.MethodPut,
|
||||
"/api/provisioning/policies",
|
||||
"/api/v1/provisioning/policies",
|
||||
srv.RoutePutPolicyTree,
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Put(
|
||||
toMacaronPath("/api/provisioning/templates/{name}"),
|
||||
api.authorize(http.MethodPut, "/api/provisioning/templates/{name}"),
|
||||
toMacaronPath("/api/v1/provisioning/templates/{name}"),
|
||||
api.authorize(http.MethodPut, "/api/v1/provisioning/templates/{name}"),
|
||||
metrics.Instrument(
|
||||
http.MethodPut,
|
||||
"/api/provisioning/templates/{name}",
|
||||
"/api/v1/provisioning/templates/{name}",
|
||||
srv.RoutePutTemplate,
|
||||
m,
|
||||
),
|
||||
|
@@ -6,7 +6,7 @@ import (
|
||||
"github.com/grafana/grafana/pkg/services/ngalert/models"
|
||||
)
|
||||
|
||||
// swagger:route GET /api/provisioning/alert-rules/{UID} provisioning RouteGetAlertRule
|
||||
// swagger:route GET /api/v1/provisioning/alert-rules/{UID} provisioning RouteGetAlertRule
|
||||
//
|
||||
// Get a specific alert rule by UID.
|
||||
//
|
||||
@@ -14,7 +14,7 @@ import (
|
||||
// 200: AlertRule
|
||||
// 400: ValidationError
|
||||
|
||||
// swagger:route POST /api/provisioning/alert-rules provisioning RoutePostAlertRule
|
||||
// swagger:route POST /api/v1/provisioning/alert-rules provisioning RoutePostAlertRule
|
||||
//
|
||||
// Create a new alert rule.
|
||||
//
|
||||
@@ -22,7 +22,7 @@ import (
|
||||
// 201: AlertRule
|
||||
// 400: ValidationError
|
||||
|
||||
// swagger:route PUT /api/provisioning/alert-rules/{UID} provisioning RoutePutAlertRule
|
||||
// swagger:route PUT /api/v1/provisioning/alert-rules/{UID} provisioning RoutePutAlertRule
|
||||
//
|
||||
// Update an existing alert rule.
|
||||
//
|
||||
@@ -33,7 +33,7 @@ import (
|
||||
// 200: AlertRule
|
||||
// 400: ValidationError
|
||||
|
||||
// swagger:route DELETE /api/provisioning/alert-rules/{UID} provisioning RouteDeleteAlertRule
|
||||
// swagger:route DELETE /api/v1/provisioning/alert-rules/{UID} provisioning RouteDeleteAlertRule
|
||||
//
|
||||
// Delete a specific alert rule by UID.
|
||||
//
|
||||
@@ -110,7 +110,7 @@ func NewAlertRule(rule models.AlertRule, provenance models.Provenance) AlertRule
|
||||
}
|
||||
}
|
||||
|
||||
// swagger:route PUT /api/provisioning/folder/{FolderUID}/rule-groups/{Group} provisioning RoutePutAlertRuleGroup
|
||||
// swagger:route PUT /api/v1/provisioning/folder/{FolderUID}/rule-groups/{Group} provisioning RoutePutAlertRuleGroup
|
||||
//
|
||||
// Update the interval of a rule group.
|
||||
//
|
||||
|
@@ -7,7 +7,7 @@ import (
|
||||
"github.com/grafana/grafana/pkg/services/ngalert/notifier/channels"
|
||||
)
|
||||
|
||||
// swagger:route GET /api/provisioning/contact-points provisioning RouteGetContactpoints
|
||||
// swagger:route GET /api/v1/provisioning/contact-points provisioning RouteGetContactpoints
|
||||
//
|
||||
// Get all the contact points.
|
||||
//
|
||||
@@ -15,7 +15,7 @@ import (
|
||||
// 200: Route
|
||||
// 400: ValidationError
|
||||
|
||||
// swagger:route POST /api/provisioning/contact-points provisioning RoutePostContactpoints
|
||||
// swagger:route POST /api/v1/provisioning/contact-points provisioning RoutePostContactpoints
|
||||
//
|
||||
// Create a contact point.
|
||||
//
|
||||
@@ -26,7 +26,7 @@ import (
|
||||
// 202: Ack
|
||||
// 400: ValidationError
|
||||
|
||||
// swagger:route PUT /api/provisioning/contact-points/{UID} provisioning RoutePutContactpoint
|
||||
// swagger:route PUT /api/v1/provisioning/contact-points/{UID} provisioning RoutePutContactpoint
|
||||
//
|
||||
// Update an existing contact point.
|
||||
//
|
||||
@@ -37,7 +37,7 @@ import (
|
||||
// 202: Ack
|
||||
// 400: ValidationError
|
||||
|
||||
// swagger:route DELETE /api/provisioning/contact-points/{UID} provisioning RouteDeleteContactpoints
|
||||
// swagger:route DELETE /api/v1/provisioning/contact-points/{UID} provisioning RouteDeleteContactpoints
|
||||
//
|
||||
// Delete a contact point.
|
||||
//
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package definitions
|
||||
|
||||
// swagger:route GET /api/provisioning/mute-timings provisioning RouteGetMuteTimings
|
||||
// swagger:route GET /api/v1/provisioning/mute-timings provisioning RouteGetMuteTimings
|
||||
//
|
||||
// Get all the mute timings.
|
||||
//
|
||||
@@ -8,7 +8,7 @@ package definitions
|
||||
// 200: MuteTimings
|
||||
// 400: ValidationError
|
||||
|
||||
// swagger:route GET /api/provisioning/mute-timings/{name} provisioning RouteGetMuteTiming
|
||||
// swagger:route GET /api/v1/provisioning/mute-timings/{name} provisioning RouteGetMuteTiming
|
||||
//
|
||||
// Get a mute timing.
|
||||
//
|
||||
@@ -16,7 +16,7 @@ package definitions
|
||||
// 200: MuteTimeInterval
|
||||
// 400: ValidationError
|
||||
|
||||
// swagger:route POST /api/provisioning/mute-timings provisioning RoutePostMuteTiming
|
||||
// swagger:route POST /api/v1/provisioning/mute-timings provisioning RoutePostMuteTiming
|
||||
//
|
||||
// Create a new mute timing.
|
||||
//
|
||||
@@ -27,7 +27,7 @@ package definitions
|
||||
// 201: MuteTimeInterval
|
||||
// 400: ValidationError
|
||||
|
||||
// swagger:route PUT /api/provisioning/mute-timings/{name} provisioning RoutePutMuteTiming
|
||||
// swagger:route PUT /api/v1/provisioning/mute-timings/{name} provisioning RoutePutMuteTiming
|
||||
//
|
||||
// Replace an existing mute timing.
|
||||
//
|
||||
@@ -38,7 +38,7 @@ package definitions
|
||||
// 200: MuteTimeInterval
|
||||
// 400: ValidationError
|
||||
|
||||
// swagger:route DELETE /api/provisioning/mute-timings/{name} provisioning RouteDeleteMuteTiming
|
||||
// swagger:route DELETE /api/v1/provisioning/mute-timings/{name} provisioning RouteDeleteMuteTiming
|
||||
//
|
||||
// Delete a mute timing.
|
||||
//
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package definitions
|
||||
|
||||
// swagger:route GET /api/provisioning/policies provisioning RouteGetPolicyTree
|
||||
// swagger:route GET /api/v1/provisioning/policies provisioning RouteGetPolicyTree
|
||||
//
|
||||
// Get the notification policy tree.
|
||||
//
|
||||
@@ -8,7 +8,7 @@ package definitions
|
||||
// 200: Route
|
||||
// 400: ValidationError
|
||||
|
||||
// swagger:route PUT /api/provisioning/policies provisioning RoutePutPolicyTree
|
||||
// swagger:route PUT /api/v1/provisioning/policies provisioning RoutePutPolicyTree
|
||||
//
|
||||
// Sets the notification policy tree.
|
||||
//
|
||||
|
@@ -4,7 +4,7 @@ import (
|
||||
"github.com/grafana/grafana/pkg/services/ngalert/models"
|
||||
)
|
||||
|
||||
// swagger:route GET /api/provisioning/templates provisioning RouteGetTemplates
|
||||
// swagger:route GET /api/v1/provisioning/templates provisioning RouteGetTemplates
|
||||
//
|
||||
// Get all message templates.
|
||||
//
|
||||
@@ -12,7 +12,7 @@ import (
|
||||
// 200: MessageTemplate
|
||||
// 400: ValidationError
|
||||
|
||||
// swagger:route GET /api/provisioning/templates/{name} provisioning RouteGetTemplate
|
||||
// swagger:route GET /api/v1/provisioning/templates/{name} provisioning RouteGetTemplate
|
||||
//
|
||||
// Get a message template.
|
||||
//
|
||||
@@ -20,7 +20,7 @@ import (
|
||||
// 200: MessageTemplate
|
||||
// 404: NotFound
|
||||
|
||||
// swagger:route PUT /api/provisioning/templates/{name} provisioning RoutePutTemplate
|
||||
// swagger:route PUT /api/v1/provisioning/templates/{name} provisioning RoutePutTemplate
|
||||
//
|
||||
// Updates an existing template.
|
||||
//
|
||||
@@ -31,7 +31,7 @@ import (
|
||||
// 202: Ack
|
||||
// 400: ValidationError
|
||||
|
||||
// swagger:route DELETE /api/provisioning/templates/{name} provisioning RouteDeleteTemplate
|
||||
// swagger:route DELETE /api/v1/provisioning/templates/{name} provisioning RouteDeleteTemplate
|
||||
//
|
||||
// Delete a template.
|
||||
//
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -46,7 +46,7 @@ func TestProvisioning(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("when provisioning notification policies", func(t *testing.T) {
|
||||
url := fmt.Sprintf("http://%s/api/provisioning/policies", grafanaListedAddr)
|
||||
url := fmt.Sprintf("http://%s/api/v1/provisioning/policies", grafanaListedAddr)
|
||||
body := `
|
||||
{
|
||||
"receiver": "grafana-default-email",
|
||||
@@ -138,7 +138,7 @@ func TestProvisioning(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("when provisioning contactpoints", func(t *testing.T) {
|
||||
url := fmt.Sprintf("http://%s/api/provisioning/contact-points", grafanaListedAddr)
|
||||
url := fmt.Sprintf("http://%s/api/v1/provisioning/contact-points", grafanaListedAddr)
|
||||
body := `
|
||||
{
|
||||
"name": "my-contact-point",
|
||||
@@ -231,7 +231,7 @@ func TestProvisioning(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("when provisioning templates", func(t *testing.T) {
|
||||
url := fmt.Sprintf("http://%s/api/provisioning/templates", grafanaListedAddr)
|
||||
url := fmt.Sprintf("http://%s/api/v1/provisioning/templates", grafanaListedAddr)
|
||||
|
||||
t.Run("un-authenticated GET should 401", func(t *testing.T) {
|
||||
req := createTestRequest("GET", url, "", "")
|
||||
@@ -275,7 +275,7 @@ func TestProvisioning(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("when provisioning mute timings", func(t *testing.T) {
|
||||
url := fmt.Sprintf("http://%s/api/provisioning/mute-timings", grafanaListedAddr)
|
||||
url := fmt.Sprintf("http://%s/api/v1/provisioning/mute-timings", grafanaListedAddr)
|
||||
|
||||
t.Run("un-authenticated GET should 401", func(t *testing.T) {
|
||||
req := createTestRequest("GET", url, "", "")
|
||||
|
Reference in New Issue
Block a user