diff --git a/pkg/services/ngalert/api/tooling/api.json b/pkg/services/ngalert/api/tooling/api.json index 8a42f15fce5..dc8dd4dc60b 100644 --- a/pkg/services/ngalert/api/tooling/api.json +++ b/pkg/services/ngalert/api/tooling/api.json @@ -1371,6 +1371,21 @@ }, "type": "array" }, + "MessageTemplate": { + "properties": { + "Name": { + "type": "string" + }, + "Template": { + "type": "string" + }, + "provenance": { + "$ref": "#/definitions/Provenance" + } + }, + "type": "object", + "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" + }, "MessageTemplateContent": { "properties": { "Template": { @@ -1380,6 +1395,13 @@ "type": "object", "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" }, + "MessageTemplates": { + "items": { + "$ref": "#/definitions/MessageTemplate" + }, + "type": "array", + "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" + }, "MonthRange": { "properties": { "Begin": { @@ -1417,6 +1439,30 @@ "type": "object", "x-go-package": "github.com/prometheus/alertmanager/config" }, + "MuteTiming": { + "properties": { + "name": { + "type": "string", + "x-go-name": "Name" + }, + "time_intervals": { + "items": { + "$ref": "#/definitions/TimeInterval" + }, + "type": "array", + "x-go-name": "TimeIntervals" + } + }, + "type": "object", + "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" + }, + "MuteTimings": { + "items": { + "$ref": "#/definitions/MuteTiming" + }, + "type": "array", + "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" + }, "NamespaceConfigResponse": { "additionalProperties": { "items": { @@ -1427,6 +1473,10 @@ "type": "object", "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" }, + "NotFound": { + "type": "object", + "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" + }, "NotifierConfig": { "properties": { "send_resolved": { @@ -2890,6 +2940,7 @@ "x-go-package": "github.com/prometheus/alertmanager/timeinterval" }, "URL": { + "description": "The general form represented is:\n\n[scheme:][//[userinfo@]host][/]path[?query][#fragment]\n\nURLs that do not start with a slash after the scheme are interpreted as:\n\nscheme:opaque[?query][#fragment]\n\nNote that the Path field is stored in decoded form: /%47%6f%2f becomes /Go/.\nA consequence is that it is impossible to tell which slashes in the Path were\nslashes in the raw URL and which were %2f. This distinction is rarely important,\nbut when it is, the code should use RawPath, an optional field which only gets\nset if the default encoding is different from Path.\n\nURL's String method uses the EscapedPath method to obtain the path. See the\nEscapedPath method for more details.", "properties": { "ForceQuery": { "type": "boolean" @@ -2922,9 +2973,9 @@ "$ref": "#/definitions/Userinfo" } }, - "title": "URL is a custom URL type that allows validation at configuration load time.", + "title": "A URL represents a parsed URL (technically, a URI reference).", "type": "object", - "x-go-package": "github.com/prometheus/common/config" + "x-go-package": "net/url" }, "Userinfo": { "description": "The Userinfo type is an immutable encapsulation of username and\npassword details for a URL. An existing Userinfo value is guaranteed\nto have a username set (potentially empty, as allowed by RFC 2396),\nand optionally a password.", @@ -3147,11 +3198,12 @@ "x-go-package": "github.com/prometheus/alertmanager/api/v2/models" }, "alertGroups": { - "description": "AlertGroups alert groups", "items": { "$ref": "#/definitions/alertGroup" }, - "type": "array" + "type": "array", + "x-go-name": "AlertGroups", + "x-go-package": "github.com/prometheus/alertmanager/api/v2/models" }, "alertStatus": { "description": "AlertStatus alert status", @@ -3333,14 +3385,14 @@ "type": "object" }, "gettableAlerts": { + "description": "GettableAlerts gettable alerts", "items": { "$ref": "#/definitions/gettableAlert" }, - "type": "array", - "x-go-name": "GettableAlerts", - "x-go-package": "github.com/prometheus/alertmanager/api/v2/models" + "type": "array" }, "gettableSilence": { + "description": "GettableSilence gettable silence", "properties": { "comment": { "description": "comment", @@ -3392,16 +3444,15 @@ "status", "updatedAt" ], - "type": "object", - "x-go-name": "GettableSilence", - "x-go-package": "github.com/prometheus/alertmanager/api/v2/models" + "type": "object" }, "gettableSilences": { - "description": "GettableSilences gettable silences", "items": { "$ref": "#/definitions/gettableSilence" }, - "type": "array" + "type": "array", + "x-go-name": "GettableSilences", + "x-go-package": "github.com/prometheus/alertmanager/api/v2/models" }, "labelSet": { "additionalProperties": { @@ -3530,7 +3581,6 @@ "x-go-package": "github.com/prometheus/alertmanager/api/v2/models" }, "postableSilence": { - "description": "PostableSilence postable silence", "properties": { "comment": { "description": "comment", @@ -3570,7 +3620,9 @@ "matchers", "startsAt" ], - "type": "object" + "type": "object", + "x-go-name": "PostableSilence", + "x-go-package": "github.com/prometheus/alertmanager/api/v2/models" }, "receiver": { "properties": { diff --git a/pkg/services/ngalert/api/tooling/definitions/api.go b/pkg/services/ngalert/api/tooling/definitions/api.go index 014d6fadb45..c865234b92d 100644 --- a/pkg/services/ngalert/api/tooling/definitions/api.go +++ b/pkg/services/ngalert/api/tooling/definitions/api.go @@ -29,9 +29,6 @@ type ValidationError struct { Msg string `json:"msg"` } -// swagger:model -type Ack struct{} - type Backend int const ( diff --git a/pkg/services/ngalert/api/tooling/definitions/provisioning_contactpoints.go b/pkg/services/ngalert/api/tooling/definitions/provisioning_contactpoints.go index 32c42932a79..804a32b089b 100644 --- a/pkg/services/ngalert/api/tooling/definitions/provisioning_contactpoints.go +++ b/pkg/services/ngalert/api/tooling/definitions/provisioning_contactpoints.go @@ -23,7 +23,7 @@ import ( // - application/json // // Responses: -// 202: Accepted +// 202: Ack // 400: ValidationError // swagger:route PUT /api/provisioning/contact-points/{ID} provisioning RoutePutContactpoint @@ -34,7 +34,7 @@ import ( // - application/json // // Responses: -// 202: Accepted +// 202: Ack // 400: ValidationError // swagger:route DELETE /api/provisioning/contact-points/{ID} provisioning RouteDeleteContactpoints @@ -45,9 +45,16 @@ import ( // - application/json // // Responses: -// 202: Accepted +// 202: Ack // 400: ValidationError +// swagger:parameters RoutePutContactpoint RouteDeleteContactpoints +type ContactPointUIDReference struct { + // ContactPointUID should be the contact point UID identifier + // in:path + ID string +} + // swagger:parameters RoutePostContactpoints RoutePutContactpoint type ContactPointPayload struct { // in:body diff --git a/pkg/services/ngalert/api/tooling/definitions/provisioning_mute_timings.go b/pkg/services/ngalert/api/tooling/definitions/provisioning_mute_timings.go index fd937890ced..c5720206e82 100644 --- a/pkg/services/ngalert/api/tooling/definitions/provisioning_mute_timings.go +++ b/pkg/services/ngalert/api/tooling/definitions/provisioning_mute_timings.go @@ -7,7 +7,7 @@ import prometheus "github.com/prometheus/alertmanager/config" // Get all the mute timings. // // Responses: -// 200: []MuteTiming +// 200: MuteTimings // 400: ValidationError // swagger:route GET /api/provisioning/mute-timings/{name} provisioning RouteGetMuteTiming @@ -18,6 +18,17 @@ import prometheus "github.com/prometheus/alertmanager/config" // 200: MuteTiming // 400: ValidationError +// swagger:model type MuteTiming struct { prometheus.MuteTimeInterval } + +// swagger:model +type MuteTimings []MuteTiming + +// swagger:parameters RouteGetTemplate RouteGetMuteTiming +type RouteGetMuteTimingParam struct { + // Template Name + // in:path + Name string `json:"name"` +} diff --git a/pkg/services/ngalert/api/tooling/definitions/provisioning_policies.go b/pkg/services/ngalert/api/tooling/definitions/provisioning_policies.go index e9df6997a9e..da0b2246395 100644 --- a/pkg/services/ngalert/api/tooling/definitions/provisioning_policies.go +++ b/pkg/services/ngalert/api/tooling/definitions/provisioning_policies.go @@ -16,7 +16,7 @@ package definitions // - application/json // // Responses: -// 202: Accepted +// 202: Ack // 400: ValidationError // swagger:parameters RoutePutPolicyTree diff --git a/pkg/services/ngalert/api/tooling/definitions/provisioning_templates.go b/pkg/services/ngalert/api/tooling/definitions/provisioning_templates.go index f4aee44bbe6..8ec4210721f 100644 --- a/pkg/services/ngalert/api/tooling/definitions/provisioning_templates.go +++ b/pkg/services/ngalert/api/tooling/definitions/provisioning_templates.go @@ -14,7 +14,7 @@ import ( // Get all message templates. // // Responses: -// 200: []MessageTemplate +// 200: MessageTemplate // 400: ValidationError // swagger:route GET /api/provisioning/templates/{name} provisioning RouteGetTemplate @@ -33,7 +33,7 @@ import ( // - application/json // // Responses: -// 202: Accepted +// 202: Ack // 400: ValidationError // swagger:route DELETE /api/provisioning/templates/{name} provisioning RouteDeleteTemplate @@ -41,14 +41,25 @@ import ( // Delete a template. // // Responses: -// 204: Accepted +// 204: Ack +// swagger:parameters RouteGetTemplate RoutePutTemplate RouteDeleteTemplate +type RouteGetTemplateParam struct { + // Template Name + // in:path + Name string `json:"name"` +} + +// swagger:model type MessageTemplate struct { Name string Template string Provenance models.Provenance `json:"provenance,omitempty"` } +// swagger:model +type MessageTemplates []MessageTemplate + type MessageTemplateContent struct { Template string } diff --git a/pkg/services/ngalert/api/tooling/definitions/shared.go b/pkg/services/ngalert/api/tooling/definitions/shared.go index 4e90032c4e7..1b2677311d3 100644 --- a/pkg/services/ngalert/api/tooling/definitions/shared.go +++ b/pkg/services/ngalert/api/tooling/definitions/shared.go @@ -1,3 +1,7 @@ package definitions +// swagger:model type NotFound struct{} + +// swagger:model +type Ack struct{} diff --git a/pkg/services/ngalert/api/tooling/post.json b/pkg/services/ngalert/api/tooling/post.json index 784f2b19055..a3c445e9374 100644 --- a/pkg/services/ngalert/api/tooling/post.json +++ b/pkg/services/ngalert/api/tooling/post.json @@ -1371,6 +1371,21 @@ }, "type": "array" }, + "MessageTemplate": { + "properties": { + "Name": { + "type": "string" + }, + "Template": { + "type": "string" + }, + "provenance": { + "$ref": "#/definitions/Provenance" + } + }, + "type": "object", + "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" + }, "MessageTemplateContent": { "properties": { "Template": { @@ -1380,6 +1395,13 @@ "type": "object", "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" }, + "MessageTemplates": { + "items": { + "$ref": "#/definitions/MessageTemplate" + }, + "type": "array", + "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" + }, "MonthRange": { "properties": { "Begin": { @@ -1417,6 +1439,30 @@ "type": "object", "x-go-package": "github.com/prometheus/alertmanager/config" }, + "MuteTiming": { + "properties": { + "name": { + "type": "string", + "x-go-name": "Name" + }, + "time_intervals": { + "items": { + "$ref": "#/definitions/TimeInterval" + }, + "type": "array", + "x-go-name": "TimeIntervals" + } + }, + "type": "object", + "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" + }, + "MuteTimings": { + "items": { + "$ref": "#/definitions/MuteTiming" + }, + "type": "array", + "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" + }, "NamespaceConfigResponse": { "additionalProperties": { "items": { @@ -1427,6 +1473,10 @@ "type": "object", "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" }, + "NotFound": { + "type": "object", + "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" + }, "NotifierConfig": { "properties": { "send_resolved": { @@ -3121,6 +3171,7 @@ "x-go-package": "github.com/prometheus/alertmanager/api/v2/models" }, "alertGroup": { + "description": "AlertGroup alert group", "properties": { "alerts": { "description": "alerts", @@ -3142,9 +3193,7 @@ "labels", "receiver" ], - "type": "object", - "x-go-name": "AlertGroup", - "x-go-package": "github.com/prometheus/alertmanager/api/v2/models" + "type": "object" }, "alertGroups": { "description": "AlertGroups alert groups", @@ -3529,7 +3578,6 @@ "x-go-package": "github.com/prometheus/alertmanager/api/v2/models" }, "postableSilence": { - "description": "PostableSilence postable silence", "properties": { "comment": { "description": "comment", @@ -3569,7 +3617,9 @@ "matchers", "startsAt" ], - "type": "object" + "type": "object", + "x-go-name": "PostableSilence", + "x-go-package": "github.com/prometheus/alertmanager/api/v2/models" }, "receiver": { "properties": { @@ -4841,7 +4891,10 @@ ], "responses": { "202": { - "$ref": "#/responses/Accepted" + "description": "Ack", + "schema": { + "$ref": "#/definitions/Ack" + } }, "400": { "description": "ValidationError", @@ -4862,9 +4915,21 @@ "application/json" ], "operationId": "RouteDeleteContactpoints", + "parameters": [ + { + "description": "ContactPointUID should be the contact point UID identifier", + "in": "path", + "name": "ID", + "required": true, + "type": "string" + } + ], "responses": { "202": { - "$ref": "#/responses/Accepted" + "description": "Ack", + "schema": { + "$ref": "#/definitions/Ack" + } }, "400": { "description": "ValidationError", @@ -4884,6 +4949,13 @@ ], "operationId": "RoutePutContactpoint", "parameters": [ + { + "description": "ContactPointUID should be the contact point UID identifier", + "in": "path", + "name": "ID", + "required": true, + "type": "string" + }, { "in": "body", "name": "Body", @@ -4894,7 +4966,10 @@ ], "responses": { "202": { - "$ref": "#/responses/Accepted" + "description": "Ack", + "schema": { + "$ref": "#/definitions/Ack" + } }, "400": { "description": "ValidationError", @@ -4914,7 +4989,10 @@ "operationId": "RouteGetMuteTimings", "responses": { "200": { - "$ref": "#/responses/MuteTiming" + "description": "MuteTimings", + "schema": { + "$ref": "#/definitions/MuteTimings" + } }, "400": { "description": "ValidationError", @@ -4932,9 +5010,22 @@ "/api/provisioning/mute-timings/{name}": { "get": { "operationId": "RouteGetMuteTiming", + "parameters": [ + { + "description": "Template Name", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "x-go-name": "Name" + } + ], "responses": { "200": { - "$ref": "#/responses/MuteTiming" + "description": "MuteTiming", + "schema": { + "$ref": "#/definitions/MuteTiming" + } }, "400": { "description": "ValidationError", @@ -4987,7 +5078,10 @@ ], "responses": { "202": { - "$ref": "#/responses/Accepted" + "description": "Ack", + "schema": { + "$ref": "#/definitions/Ack" + } }, "400": { "description": "ValidationError", @@ -5007,7 +5101,10 @@ "operationId": "RouteGetTemplates", "responses": { "200": { - "$ref": "#/responses/MessageTemplate" + "description": "MessageTemplate", + "schema": { + "$ref": "#/definitions/MessageTemplate" + } }, "400": { "description": "ValidationError", @@ -5025,9 +5122,22 @@ "/api/provisioning/templates/{name}": { "delete": { "operationId": "RouteDeleteTemplate", + "parameters": [ + { + "description": "Template Name", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "x-go-name": "Name" + } + ], "responses": { "204": { - "$ref": "#/responses/Accepted" + "description": "Ack", + "schema": { + "$ref": "#/definitions/Ack" + } } }, "summary": "Delete a template.", @@ -5037,12 +5147,28 @@ }, "get": { "operationId": "RouteGetTemplate", + "parameters": [ + { + "description": "Template Name", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "x-go-name": "Name" + } + ], "responses": { "200": { - "$ref": "#/responses/MessageTemplate" + "description": "MessageTemplate", + "schema": { + "$ref": "#/definitions/MessageTemplate" + } }, "404": { - "$ref": "#/responses/NotFound" + "description": "NotFound", + "schema": { + "$ref": "#/definitions/NotFound" + } } }, "summary": "Get a message template.", @@ -5056,6 +5182,14 @@ ], "operationId": "RoutePutTemplate", "parameters": [ + { + "description": "Template Name", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "x-go-name": "Name" + }, { "in": "body", "name": "Body", @@ -5066,7 +5200,10 @@ ], "responses": { "202": { - "$ref": "#/responses/Accepted" + "description": "Ack", + "schema": { + "$ref": "#/definitions/Ack" + } }, "400": { "description": "ValidationError", diff --git a/pkg/services/ngalert/api/tooling/spec.json b/pkg/services/ngalert/api/tooling/spec.json index 3baaec8446c..d10fd315e2e 100644 --- a/pkg/services/ngalert/api/tooling/spec.json +++ b/pkg/services/ngalert/api/tooling/spec.json @@ -1164,7 +1164,10 @@ ], "responses": { "202": { - "$ref": "#/responses/Accepted" + "description": "Ack", + "schema": { + "$ref": "#/definitions/Ack" + } }, "400": { "description": "ValidationError", @@ -1186,6 +1189,13 @@ "summary": "Update an existing contact point.", "operationId": "RoutePutContactpoint", "parameters": [ + { + "type": "string", + "description": "ContactPointUID should be the contact point UID identifier", + "name": "ID", + "in": "path", + "required": true + }, { "name": "Body", "in": "body", @@ -1196,7 +1206,10 @@ ], "responses": { "202": { - "$ref": "#/responses/Accepted" + "description": "Ack", + "schema": { + "$ref": "#/definitions/Ack" + } }, "400": { "description": "ValidationError", @@ -1215,9 +1228,21 @@ ], "summary": "Delete a contact point.", "operationId": "RouteDeleteContactpoints", + "parameters": [ + { + "type": "string", + "description": "ContactPointUID should be the contact point UID identifier", + "name": "ID", + "in": "path", + "required": true + } + ], "responses": { "202": { - "$ref": "#/responses/Accepted" + "description": "Ack", + "schema": { + "$ref": "#/definitions/Ack" + } }, "400": { "description": "ValidationError", @@ -1237,7 +1262,10 @@ "operationId": "RouteGetMuteTimings", "responses": { "200": { - "$ref": "#/responses/MuteTiming" + "description": "MuteTimings", + "schema": { + "$ref": "#/definitions/MuteTimings" + } }, "400": { "description": "ValidationError", @@ -1255,9 +1283,22 @@ ], "summary": "Get a mute timing.", "operationId": "RouteGetMuteTiming", + "parameters": [ + { + "type": "string", + "x-go-name": "Name", + "description": "Template Name", + "name": "name", + "in": "path", + "required": true + } + ], "responses": { "200": { - "$ref": "#/responses/MuteTiming" + "description": "MuteTiming", + "schema": { + "$ref": "#/definitions/MuteTiming" + } }, "400": { "description": "ValidationError", @@ -1310,7 +1351,10 @@ ], "responses": { "202": { - "$ref": "#/responses/Accepted" + "description": "Ack", + "schema": { + "$ref": "#/definitions/Ack" + } }, "400": { "description": "ValidationError", @@ -1330,7 +1374,10 @@ "operationId": "RouteGetTemplates", "responses": { "200": { - "$ref": "#/responses/MessageTemplate" + "description": "MessageTemplate", + "schema": { + "$ref": "#/definitions/MessageTemplate" + } }, "400": { "description": "ValidationError", @@ -1348,12 +1395,28 @@ ], "summary": "Get a message template.", "operationId": "RouteGetTemplate", + "parameters": [ + { + "type": "string", + "x-go-name": "Name", + "description": "Template Name", + "name": "name", + "in": "path", + "required": true + } + ], "responses": { "200": { - "$ref": "#/responses/MessageTemplate" + "description": "MessageTemplate", + "schema": { + "$ref": "#/definitions/MessageTemplate" + } }, "404": { - "$ref": "#/responses/NotFound" + "description": "NotFound", + "schema": { + "$ref": "#/definitions/NotFound" + } } } }, @@ -1367,6 +1430,14 @@ "summary": "Updates an existing template.", "operationId": "RoutePutTemplate", "parameters": [ + { + "type": "string", + "x-go-name": "Name", + "description": "Template Name", + "name": "name", + "in": "path", + "required": true + }, { "name": "Body", "in": "body", @@ -1377,7 +1448,10 @@ ], "responses": { "202": { - "$ref": "#/responses/Accepted" + "description": "Ack", + "schema": { + "$ref": "#/definitions/Ack" + } }, "400": { "description": "ValidationError", @@ -1393,9 +1467,22 @@ ], "summary": "Delete a template.", "operationId": "RouteDeleteTemplate", + "parameters": [ + { + "type": "string", + "x-go-name": "Name", + "description": "Template Name", + "name": "name", + "in": "path", + "required": true + } + ], "responses": { "204": { - "$ref": "#/responses/Accepted" + "description": "Ack", + "schema": { + "$ref": "#/definitions/Ack" + } } } } @@ -3389,6 +3476,21 @@ }, "$ref": "#/definitions/Matchers" }, + "MessageTemplate": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Template": { + "type": "string" + }, + "provenance": { + "$ref": "#/definitions/Provenance" + } + }, + "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" + }, "MessageTemplateContent": { "type": "object", "properties": { @@ -3398,6 +3500,13 @@ }, "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" }, + "MessageTemplates": { + "type": "array", + "items": { + "$ref": "#/definitions/MessageTemplate" + }, + "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" + }, "MonthRange": { "type": "object", "title": "A MonthRange is an inclusive range between [1, 12] where 1 = January.", @@ -3435,6 +3544,30 @@ }, "x-go-package": "github.com/prometheus/alertmanager/config" }, + "MuteTiming": { + "type": "object", + "properties": { + "name": { + "type": "string", + "x-go-name": "Name" + }, + "time_intervals": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeInterval" + }, + "x-go-name": "TimeIntervals" + } + }, + "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" + }, + "MuteTimings": { + "type": "array", + "items": { + "$ref": "#/definitions/MuteTiming" + }, + "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" + }, "NamespaceConfigResponse": { "type": "object", "additionalProperties": { @@ -3445,6 +3578,10 @@ }, "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" }, + "NotFound": { + "type": "object", + "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" + }, "NotifierConfig": { "type": "object", "title": "NotifierConfig contains base options common across all notifier configurations.", @@ -5139,6 +5276,7 @@ "x-go-package": "github.com/prometheus/alertmanager/api/v2/models" }, "alertGroup": { + "description": "AlertGroup alert group", "type": "object", "required": [ "alerts", @@ -5161,8 +5299,6 @@ "$ref": "#/definitions/receiver" } }, - "x-go-name": "AlertGroup", - "x-go-package": "github.com/prometheus/alertmanager/api/v2/models", "$ref": "#/definitions/alertGroup" }, "alertGroups": { @@ -5553,7 +5689,6 @@ "x-go-package": "github.com/prometheus/alertmanager/api/v2/models" }, "postableSilence": { - "description": "PostableSilence postable silence", "type": "object", "required": [ "comment", @@ -5594,6 +5729,8 @@ "x-go-name": "StartsAt" } }, + "x-go-name": "PostableSilence", + "x-go-package": "github.com/prometheus/alertmanager/api/v2/models", "$ref": "#/definitions/postableSilence" }, "receiver": { diff --git a/public/api-merged.json b/public/api-merged.json index 5f9b1aaf466..5fdc053a4d9 100644 --- a/public/api-merged.json +++ b/public/api-merged.json @@ -1793,944 +1793,6 @@ } } }, - "/alertmanager/grafana/api/v2/alerts": { - "get": { - "description": "get alertmanager alerts", - "tags": ["alertmanager"], - "operationId": "RouteGetGrafanaAMAlerts", - "parameters": [ - { - "type": "boolean", - "default": true, - "x-go-name": "Active", - "description": "Show active alerts", - "name": "active", - "in": "query" - }, - { - "type": "boolean", - "default": true, - "x-go-name": "Silenced", - "description": "Show silenced alerts", - "name": "silenced", - "in": "query" - }, - { - "type": "boolean", - "default": true, - "x-go-name": "Inhibited", - "description": "Show inhibited alerts", - "name": "inhibited", - "in": "query" - }, - { - "type": "array", - "items": { - "type": "string" - }, - "x-go-name": "Matchers", - "description": "A list of matchers to filter alerts by", - "name": "filter", - "in": "query" - }, - { - "type": "string", - "x-go-name": "Receivers", - "description": "A regex matching receivers to filter alerts by", - "name": "receiver", - "in": "query" - } - ], - "responses": { - "200": { - "description": "gettableAlerts", - "schema": { - "$ref": "#/definitions/gettableAlerts" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - }, - "post": { - "description": "create alertmanager alerts", - "tags": ["alertmanager"], - "operationId": "RoutePostGrafanaAMAlerts", - "parameters": [ - { - "name": "PostableAlerts", - "in": "body", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/postableAlert" - } - } - } - ], - "responses": { - "200": { - "description": "Ack", - "schema": { - "$ref": "#/definitions/Ack" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - } - }, - "/alertmanager/grafana/api/v2/alerts/groups": { - "get": { - "description": "get alertmanager alerts", - "tags": ["alertmanager"], - "operationId": "RouteGetGrafanaAMAlertGroups", - "parameters": [ - { - "type": "boolean", - "default": true, - "x-go-name": "Active", - "description": "Show active alerts", - "name": "active", - "in": "query" - }, - { - "type": "boolean", - "default": true, - "x-go-name": "Silenced", - "description": "Show silenced alerts", - "name": "silenced", - "in": "query" - }, - { - "type": "boolean", - "default": true, - "x-go-name": "Inhibited", - "description": "Show inhibited alerts", - "name": "inhibited", - "in": "query" - }, - { - "type": "array", - "items": { - "type": "string" - }, - "x-go-name": "Matchers", - "description": "A list of matchers to filter alerts by", - "name": "filter", - "in": "query" - }, - { - "type": "string", - "x-go-name": "Receivers", - "description": "A regex matching receivers to filter alerts by", - "name": "receiver", - "in": "query" - } - ], - "responses": { - "200": { - "description": "alertGroups", - "schema": { - "$ref": "#/definitions/alertGroups" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - } - }, - "/alertmanager/grafana/api/v2/silence/{SilenceId}": { - "get": { - "description": "get silence", - "tags": ["alertmanager"], - "operationId": "RouteGetGrafanaSilence", - "parameters": [ - { - "type": "string", - "name": "SilenceId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "gettableSilence", - "schema": { - "$ref": "#/definitions/gettableSilence" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - }, - "delete": { - "description": "delete silence", - "tags": ["alertmanager"], - "operationId": "RouteDeleteGrafanaSilence", - "parameters": [ - { - "type": "string", - "name": "SilenceId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "Ack", - "schema": { - "$ref": "#/definitions/Ack" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - } - }, - "/alertmanager/grafana/api/v2/silences": { - "get": { - "description": "get silences", - "tags": ["alertmanager"], - "operationId": "RouteGetGrafanaSilences", - "parameters": [ - { - "type": "array", - "items": { - "type": "string" - }, - "x-go-name": "Filter", - "name": "filter", - "in": "query" - } - ], - "responses": { - "200": { - "description": "gettableSilences", - "schema": { - "$ref": "#/definitions/gettableSilences" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - }, - "post": { - "description": "create silence", - "tags": ["alertmanager"], - "operationId": "RouteCreateGrafanaSilence", - "parameters": [ - { - "name": "Silence", - "in": "body", - "schema": { - "$ref": "#/definitions/postableSilence" - } - } - ], - "responses": { - "201": { - "description": "gettableSilence", - "schema": { - "$ref": "#/definitions/gettableSilence" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - } - }, - "/alertmanager/grafana/api/v2/status": { - "get": { - "description": "get alertmanager status and configuration", - "tags": ["alertmanager"], - "operationId": "RouteGetGrafanaAMStatus", - "responses": { - "200": { - "description": "GettableStatus", - "schema": { - "$ref": "#/definitions/GettableStatus" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - } - }, - "/alertmanager/grafana/config/api/v1/alerts": { - "get": { - "description": "gets an Alerting config", - "tags": ["alertmanager"], - "operationId": "RouteGetGrafanaAlertingConfig", - "responses": { - "200": { - "description": "GettableUserConfig", - "schema": { - "$ref": "#/definitions/GettableUserConfig" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - }, - "post": { - "description": "sets an Alerting config", - "tags": ["alertmanager"], - "operationId": "RoutePostGrafanaAlertingConfig", - "parameters": [ - { - "name": "Body", - "in": "body", - "schema": { - "$ref": "#/definitions/PostableUserConfig" - } - } - ], - "responses": { - "201": { - "description": "Ack", - "schema": { - "$ref": "#/definitions/Ack" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - }, - "delete": { - "description": "deletes the Alerting config for a tenant", - "tags": ["alertmanager"], - "operationId": "RouteDeleteGrafanaAlertingConfig", - "responses": { - "200": { - "description": "Ack", - "schema": { - "$ref": "#/definitions/Ack" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - } - }, - "/alertmanager/grafana/config/api/v1/receivers/test": { - "post": { - "tags": ["alertmanager"], - "summary": "Test Grafana managed receivers without saving them.", - "operationId": "RoutePostTestGrafanaReceivers", - "parameters": [ - { - "name": "Body", - "in": "body", - "schema": { - "$ref": "#/definitions/TestReceiversConfigBodyParams" - } - } - ], - "responses": { - "200": { - "description": "Ack", - "schema": { - "$ref": "#/definitions/Ack" - } - }, - "207": { - "description": "MultiStatus", - "schema": { - "$ref": "#/definitions/MultiStatus" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - }, - "403": { - "description": "PermissionDenied", - "schema": { - "$ref": "#/definitions/PermissionDenied" - } - }, - "404": { - "description": "AlertManagerNotFound", - "schema": { - "$ref": "#/definitions/AlertManagerNotFound" - } - }, - "408": { - "description": "Failure", - "schema": { - "$ref": "#/definitions/Failure" - } - }, - "409": { - "description": "AlertManagerNotReady", - "schema": { - "$ref": "#/definitions/AlertManagerNotReady" - } - } - } - } - }, - "/alertmanager/{DatasourceUID}/api/v2/alerts": { - "get": { - "description": "get alertmanager alerts", - "tags": ["alertmanager"], - "operationId": "RouteGetAMAlerts", - "parameters": [ - { - "type": "boolean", - "default": true, - "x-go-name": "Active", - "description": "Show active alerts", - "name": "active", - "in": "query" - }, - { - "type": "boolean", - "default": true, - "x-go-name": "Silenced", - "description": "Show silenced alerts", - "name": "silenced", - "in": "query" - }, - { - "type": "boolean", - "default": true, - "x-go-name": "Inhibited", - "description": "Show inhibited alerts", - "name": "inhibited", - "in": "query" - }, - { - "type": "array", - "items": { - "type": "string" - }, - "x-go-name": "Matchers", - "description": "A list of matchers to filter alerts by", - "name": "filter", - "in": "query" - }, - { - "type": "string", - "x-go-name": "Receivers", - "description": "A regex matching receivers to filter alerts by", - "name": "receiver", - "in": "query" - }, - { - "type": "string", - "description": "DatasoureUID should be the datasource UID identifier", - "name": "DatasourceUID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "gettableAlerts", - "schema": { - "$ref": "#/definitions/gettableAlerts" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - }, - "post": { - "description": "create alertmanager alerts", - "tags": ["alertmanager"], - "operationId": "RoutePostAMAlerts", - "parameters": [ - { - "name": "PostableAlerts", - "in": "body", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/postableAlert" - } - } - }, - { - "type": "string", - "description": "DatasoureUID should be the datasource UID identifier", - "name": "DatasourceUID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "Ack", - "schema": { - "$ref": "#/definitions/Ack" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - } - }, - "/alertmanager/{DatasourceUID}/api/v2/alerts/groups": { - "get": { - "description": "get alertmanager alerts", - "tags": ["alertmanager"], - "operationId": "RouteGetAMAlertGroups", - "parameters": [ - { - "type": "boolean", - "default": true, - "x-go-name": "Active", - "description": "Show active alerts", - "name": "active", - "in": "query" - }, - { - "type": "boolean", - "default": true, - "x-go-name": "Silenced", - "description": "Show silenced alerts", - "name": "silenced", - "in": "query" - }, - { - "type": "boolean", - "default": true, - "x-go-name": "Inhibited", - "description": "Show inhibited alerts", - "name": "inhibited", - "in": "query" - }, - { - "type": "array", - "items": { - "type": "string" - }, - "x-go-name": "Matchers", - "description": "A list of matchers to filter alerts by", - "name": "filter", - "in": "query" - }, - { - "type": "string", - "x-go-name": "Receivers", - "description": "A regex matching receivers to filter alerts by", - "name": "receiver", - "in": "query" - }, - { - "type": "string", - "description": "DatasoureUID should be the datasource UID identifier", - "name": "DatasourceUID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "alertGroups", - "schema": { - "$ref": "#/definitions/alertGroups" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - } - }, - "/alertmanager/{DatasourceUID}/api/v2/silence/{SilenceId}": { - "get": { - "description": "get silence", - "tags": ["alertmanager"], - "operationId": "RouteGetSilence", - "parameters": [ - { - "type": "string", - "name": "SilenceId", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "DatasoureUID should be the datasource UID identifier", - "name": "DatasourceUID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "gettableSilence", - "schema": { - "$ref": "#/definitions/gettableSilence" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - }, - "delete": { - "description": "delete silence", - "tags": ["alertmanager"], - "operationId": "RouteDeleteSilence", - "parameters": [ - { - "type": "string", - "name": "SilenceId", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "DatasoureUID should be the datasource UID identifier", - "name": "DatasourceUID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "Ack", - "schema": { - "$ref": "#/definitions/Ack" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - } - }, - "/alertmanager/{DatasourceUID}/api/v2/silences": { - "get": { - "description": "get silences", - "tags": ["alertmanager"], - "operationId": "RouteGetSilences", - "parameters": [ - { - "type": "array", - "items": { - "type": "string" - }, - "x-go-name": "Filter", - "name": "filter", - "in": "query" - }, - { - "type": "string", - "description": "DatasoureUID should be the datasource UID identifier", - "name": "DatasourceUID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "gettableSilences", - "schema": { - "$ref": "#/definitions/gettableSilences" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - }, - "post": { - "description": "create silence", - "tags": ["alertmanager"], - "operationId": "RouteCreateSilence", - "parameters": [ - { - "name": "Silence", - "in": "body", - "schema": { - "$ref": "#/definitions/postableSilence" - } - }, - { - "type": "string", - "description": "DatasoureUID should be the datasource UID identifier", - "name": "DatasourceUID", - "in": "path", - "required": true - } - ], - "responses": { - "201": { - "description": "gettableSilence", - "schema": { - "$ref": "#/definitions/gettableSilence" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - } - }, - "/alertmanager/{DatasourceUID}/api/v2/status": { - "get": { - "description": "get alertmanager status and configuration", - "tags": ["alertmanager"], - "operationId": "RouteGetAMStatus", - "parameters": [ - { - "type": "string", - "description": "DatasoureUID should be the datasource UID identifier", - "name": "DatasourceUID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "GettableStatus", - "schema": { - "$ref": "#/definitions/GettableStatus" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - } - }, - "/alertmanager/{DatasourceUID}/config/api/v1/alerts": { - "get": { - "description": "gets an Alerting config", - "tags": ["alertmanager"], - "operationId": "RouteGetAlertingConfig", - "parameters": [ - { - "type": "string", - "description": "DatasoureUID should be the datasource UID identifier", - "name": "DatasourceUID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "GettableUserConfig", - "schema": { - "$ref": "#/definitions/GettableUserConfig" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - }, - "post": { - "description": "sets an Alerting config", - "tags": ["alertmanager"], - "operationId": "RoutePostAlertingConfig", - "parameters": [ - { - "name": "Body", - "in": "body", - "schema": { - "$ref": "#/definitions/PostableUserConfig" - } - }, - { - "type": "string", - "description": "DatasoureUID should be the datasource UID identifier", - "name": "DatasourceUID", - "in": "path", - "required": true - } - ], - "responses": { - "201": { - "description": "Ack", - "schema": { - "$ref": "#/definitions/Ack" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - }, - "delete": { - "description": "deletes the Alerting config for a tenant", - "tags": ["alertmanager"], - "operationId": "RouteDeleteAlertingConfig", - "parameters": [ - { - "type": "string", - "description": "DatasoureUID should be the datasource UID identifier", - "name": "DatasourceUID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "Ack", - "schema": { - "$ref": "#/definitions/Ack" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - } - }, - "/alertmanager/{DatasourceUID}/config/api/v1/receivers/test": { - "post": { - "tags": ["alertmanager"], - "summary": "Test Grafana managed receivers without saving them.", - "operationId": "RoutePostTestReceivers", - "parameters": [ - { - "name": "Body", - "in": "body", - "schema": { - "$ref": "#/definitions/TestReceiversConfigBodyParams" - } - }, - { - "type": "string", - "description": "DatasoureUID should be the datasource UID identifier", - "name": "DatasourceUID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "Ack", - "schema": { - "$ref": "#/definitions/Ack" - } - }, - "207": { - "description": "MultiStatus", - "schema": { - "$ref": "#/definitions/MultiStatus" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - }, - "403": { - "description": "PermissionDenied", - "schema": { - "$ref": "#/definitions/PermissionDenied" - } - }, - "404": { - "description": "AlertManagerNotFound", - "schema": { - "$ref": "#/definitions/AlertManagerNotFound" - } - }, - "408": { - "description": "Failure", - "schema": { - "$ref": "#/definitions/Failure" - } - }, - "409": { - "description": "AlertManagerNotReady", - "schema": { - "$ref": "#/definitions/AlertManagerNotReady" - } - } - } - } - }, "/alerts": { "get": { "tags": ["legacy_alerts"], @@ -6918,361 +5980,6 @@ } } }, - "/prometheus/grafana/api/v1/alerts": { - "get": { - "description": "gets the current alerts", - "tags": ["prometheus"], - "operationId": "RouteGetGrafanaAlertStatuses", - "parameters": [ - { - "type": "boolean", - "default": false, - "x-go-name": "IncludeInternalLabels", - "description": "Include Grafana specific labels as part of the response.", - "name": "includeInternalLabels", - "in": "query" - } - ], - "responses": { - "200": { - "description": "AlertResponse", - "schema": { - "$ref": "#/definitions/AlertResponse" - } - } - } - } - }, - "/prometheus/grafana/api/v1/rules": { - "get": { - "description": "gets the evaluation statuses of all rules", - "tags": ["prometheus"], - "operationId": "RouteGetGrafanaRuleStatuses", - "parameters": [ - { - "type": "boolean", - "default": false, - "x-go-name": "IncludeInternalLabels", - "description": "Include Grafana specific labels as part of the response.", - "name": "includeInternalLabels", - "in": "query" - }, - { - "type": "string", - "description": "Filter the list of rules to those that belong to the specified dashboard UID.", - "name": "DashboardUID", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "description": "Filter the list of rules to those that belong to the specified panel ID. Dashboard UID must be specified.", - "name": "PanelID", - "in": "query" - } - ], - "responses": { - "200": { - "description": "RuleResponse", - "schema": { - "$ref": "#/definitions/RuleResponse" - } - } - } - } - }, - "/prometheus/{DatasourceUID}/api/v1/alerts": { - "get": { - "description": "gets the current alerts", - "tags": ["prometheus"], - "operationId": "RouteGetAlertStatuses", - "parameters": [ - { - "type": "string", - "description": "DatasoureUID should be the datasource UID identifier", - "name": "DatasourceUID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "AlertResponse", - "schema": { - "$ref": "#/definitions/AlertResponse" - } - } - } - } - }, - "/prometheus/{DatasourceUID}/api/v1/rules": { - "get": { - "description": "gets the evaluation statuses of all rules", - "tags": ["prometheus"], - "operationId": "RouteGetRuleStatuses", - "parameters": [ - { - "type": "string", - "description": "DatasoureUID should be the datasource UID identifier", - "name": "DatasourceUID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "RuleResponse", - "schema": { - "$ref": "#/definitions/RuleResponse" - } - } - } - } - }, - "/provisioning/contact-points": { - "get": { - "tags": ["provisioning"], - "summary": "Get all the contact points.", - "operationId": "RouteGetContactpoints", - "responses": { - "200": { - "description": "Route", - "schema": { - "$ref": "#/definitions/Route" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - }, - "post": { - "consumes": ["application/json"], - "tags": ["provisioning"], - "summary": "Create a contact point.", - "operationId": "RoutePostContactpoints", - "parameters": [ - { - "name": "Body", - "in": "body", - "schema": { - "$ref": "#/definitions/EmbeddedContactPoint" - } - } - ], - "responses": { - "202": { - "$ref": "#/responses/Accepted" - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - } - }, - "/provisioning/contact-points/{ID}": { - "put": { - "consumes": ["application/json"], - "tags": ["provisioning"], - "summary": "Update an existing contact point.", - "operationId": "RoutePutContactpoint", - "parameters": [ - { - "name": "Body", - "in": "body", - "schema": { - "$ref": "#/definitions/EmbeddedContactPoint" - } - } - ], - "responses": { - "202": { - "$ref": "#/responses/Accepted" - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - }, - "delete": { - "consumes": ["application/json"], - "tags": ["provisioning"], - "summary": "Delete a contact point.", - "operationId": "RouteDeleteContactpoints", - "responses": { - "202": { - "$ref": "#/responses/Accepted" - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - } - }, - "/provisioning/mute-timings": { - "get": { - "tags": ["provisioning"], - "summary": "Get all the mute timings.", - "operationId": "RouteGetMuteTimings", - "responses": { - "200": { - "$ref": "#/responses/MuteTiming" - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - } - }, - "/provisioning/mute-timings/{name}": { - "get": { - "tags": ["provisioning"], - "summary": "Get a mute timing.", - "operationId": "RouteGetMuteTiming", - "responses": { - "200": { - "$ref": "#/responses/MuteTiming" - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - } - }, - "/provisioning/policies": { - "get": { - "tags": ["provisioning"], - "summary": "Get the notification policy tree.", - "operationId": "RouteGetPolicyTree", - "responses": { - "200": { - "description": "Route", - "schema": { - "$ref": "#/definitions/Route" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - }, - "put": { - "consumes": ["application/json"], - "tags": ["provisioning"], - "summary": "Sets the notification policy tree.", - "operationId": "RoutePutPolicyTree", - "parameters": [ - { - "name": "Body", - "in": "body", - "schema": { - "$ref": "#/definitions/Route" - } - } - ], - "responses": { - "202": { - "$ref": "#/responses/Accepted" - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - } - }, - "/provisioning/templates": { - "get": { - "tags": ["provisioning"], - "summary": "Get all message templates.", - "operationId": "RouteGetTemplates", - "responses": { - "200": { - "$ref": "#/responses/MessageTemplate" - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - } - }, - "/provisioning/templates/{name}": { - "get": { - "tags": ["provisioning"], - "summary": "Get a message template.", - "operationId": "RouteGetTemplate", - "responses": { - "200": { - "$ref": "#/responses/MessageTemplate" - }, - "404": { - "$ref": "#/responses/NotFound" - } - } - }, - "put": { - "consumes": ["application/json"], - "tags": ["provisioning"], - "summary": "Updates an existing template.", - "operationId": "RoutePutTemplate", - "parameters": [ - { - "name": "Body", - "in": "body", - "schema": { - "$ref": "#/definitions/MessageTemplateContent" - } - } - ], - "responses": { - "202": { - "$ref": "#/responses/Accepted" - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - }, - "delete": { - "tags": ["provisioning"], - "summary": "Delete a template.", - "operationId": "RouteDeleteTemplate", - "responses": { - "204": { - "$ref": "#/responses/Accepted" - } - } - } - }, "/recording-rules": { "get": { "tags": ["recording_rules", "enterprise"], @@ -7885,368 +6592,6 @@ } } }, - "/ruler/grafana/api/v1/rules": { - "get": { - "description": "List rule groups", - "produces": ["application/json"], - "tags": ["ruler"], - "operationId": "RouteGetGrafanaRulesConfig", - "parameters": [ - { - "type": "string", - "name": "DashboardUID", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "name": "PanelID", - "in": "query" - } - ], - "responses": { - "202": { - "description": "NamespaceConfigResponse", - "schema": { - "$ref": "#/definitions/NamespaceConfigResponse" - } - } - } - } - }, - "/ruler/grafana/api/v1/rules/{Namespace}": { - "get": { - "description": "Get rule groups by namespace", - "produces": ["application/json"], - "tags": ["ruler"], - "operationId": "RouteGetNamespaceGrafanaRulesConfig", - "parameters": [ - { - "type": "string", - "name": "Namespace", - "in": "path", - "required": true - } - ], - "responses": { - "202": { - "description": "NamespaceConfigResponse", - "schema": { - "$ref": "#/definitions/NamespaceConfigResponse" - } - } - } - }, - "post": { - "description": "Creates or updates a rule group", - "consumes": ["application/json", "application/yaml"], - "tags": ["ruler"], - "operationId": "RoutePostNameGrafanaRulesConfig", - "parameters": [ - { - "type": "string", - "name": "Namespace", - "in": "path", - "required": true - }, - { - "name": "Body", - "in": "body", - "schema": { - "$ref": "#/definitions/PostableRuleGroupConfig" - } - } - ], - "responses": { - "202": { - "description": "Ack", - "schema": { - "$ref": "#/definitions/Ack" - } - } - } - }, - "delete": { - "description": "Delete namespace", - "tags": ["ruler"], - "operationId": "RouteDeleteNamespaceGrafanaRulesConfig", - "parameters": [ - { - "type": "string", - "name": "Namespace", - "in": "path", - "required": true - } - ], - "responses": { - "202": { - "description": "Ack", - "schema": { - "$ref": "#/definitions/Ack" - } - } - } - } - }, - "/ruler/grafana/api/v1/rules/{Namespace}/{Groupname}": { - "get": { - "description": "Get rule group", - "produces": ["application/json"], - "tags": ["ruler"], - "operationId": "RouteGetGrafanaRuleGroupConfig", - "parameters": [ - { - "type": "string", - "name": "Namespace", - "in": "path", - "required": true - }, - { - "type": "string", - "name": "Groupname", - "in": "path", - "required": true - } - ], - "responses": { - "202": { - "description": "RuleGroupConfigResponse", - "schema": { - "$ref": "#/definitions/RuleGroupConfigResponse" - } - } - } - }, - "delete": { - "description": "Delete rule group", - "tags": ["ruler"], - "operationId": "RouteDeleteGrafanaRuleGroupConfig", - "parameters": [ - { - "type": "string", - "name": "Namespace", - "in": "path", - "required": true - }, - { - "type": "string", - "name": "Groupname", - "in": "path", - "required": true - } - ], - "responses": { - "202": { - "description": "Ack", - "schema": { - "$ref": "#/definitions/Ack" - } - } - } - } - }, - "/ruler/{DatasourceUID}/api/v1/rules": { - "get": { - "description": "List rule groups", - "produces": ["application/json"], - "tags": ["ruler"], - "operationId": "RouteGetRulesConfig", - "parameters": [ - { - "type": "string", - "description": "DatasoureUID should be the datasource UID identifier", - "name": "DatasourceUID", - "in": "path", - "required": true - }, - { - "type": "string", - "name": "DashboardUID", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "name": "PanelID", - "in": "query" - } - ], - "responses": { - "202": { - "description": "NamespaceConfigResponse", - "schema": { - "$ref": "#/definitions/NamespaceConfigResponse" - } - } - } - } - }, - "/ruler/{DatasourceUID}/api/v1/rules/{Namespace}": { - "get": { - "description": "Get rule groups by namespace", - "produces": ["application/json"], - "tags": ["ruler"], - "operationId": "RouteGetNamespaceRulesConfig", - "parameters": [ - { - "type": "string", - "description": "DatasoureUID should be the datasource UID identifier", - "name": "DatasourceUID", - "in": "path", - "required": true - }, - { - "type": "string", - "name": "Namespace", - "in": "path", - "required": true - } - ], - "responses": { - "202": { - "description": "NamespaceConfigResponse", - "schema": { - "$ref": "#/definitions/NamespaceConfigResponse" - } - } - } - }, - "post": { - "description": "Creates or updates a rule group", - "consumes": ["application/json", "application/yaml"], - "tags": ["ruler"], - "operationId": "RoutePostNameRulesConfig", - "parameters": [ - { - "type": "string", - "description": "DatasoureUID should be the datasource UID identifier", - "name": "DatasourceUID", - "in": "path", - "required": true - }, - { - "type": "string", - "name": "Namespace", - "in": "path", - "required": true - }, - { - "name": "Body", - "in": "body", - "schema": { - "$ref": "#/definitions/PostableRuleGroupConfig" - } - } - ], - "responses": { - "202": { - "description": "Ack", - "schema": { - "$ref": "#/definitions/Ack" - } - } - } - }, - "delete": { - "description": "Delete namespace", - "tags": ["ruler"], - "operationId": "RouteDeleteNamespaceRulesConfig", - "parameters": [ - { - "type": "string", - "description": "DatasoureUID should be the datasource UID identifier", - "name": "DatasourceUID", - "in": "path", - "required": true - }, - { - "type": "string", - "name": "Namespace", - "in": "path", - "required": true - } - ], - "responses": { - "202": { - "description": "Ack", - "schema": { - "$ref": "#/definitions/Ack" - } - } - } - } - }, - "/ruler/{DatasourceUID}/api/v1/rules/{Namespace}/{Groupname}": { - "get": { - "description": "Get rule group", - "produces": ["application/json"], - "tags": ["ruler"], - "operationId": "RouteGetRulegGroupConfig", - "parameters": [ - { - "type": "string", - "description": "DatasoureUID should be the datasource UID identifier", - "name": "DatasourceUID", - "in": "path", - "required": true - }, - { - "type": "string", - "name": "Namespace", - "in": "path", - "required": true - }, - { - "type": "string", - "name": "Groupname", - "in": "path", - "required": true - } - ], - "responses": { - "202": { - "description": "RuleGroupConfigResponse", - "schema": { - "$ref": "#/definitions/RuleGroupConfigResponse" - } - } - } - }, - "delete": { - "description": "Delete rule group", - "tags": ["ruler"], - "operationId": "RouteDeleteRuleGroupConfig", - "parameters": [ - { - "type": "string", - "description": "DatasoureUID should be the datasource UID identifier", - "name": "DatasourceUID", - "in": "path", - "required": true - }, - { - "type": "string", - "name": "Namespace", - "in": "path", - "required": true - }, - { - "type": "string", - "name": "Groupname", - "in": "path", - "required": true - } - ], - "responses": { - "202": { - "description": "Ack", - "schema": { - "$ref": "#/definitions/Ack" - } - } - } - } - }, "/saml/acs": { "post": { "tags": ["saml", "enterprise"], @@ -9863,184 +8208,6 @@ } } } - }, - "/v1/eval": { - "post": { - "description": "Test rule", - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["testing"], - "operationId": "RouteEvalQueries", - "parameters": [ - { - "name": "Body", - "in": "body", - "schema": { - "$ref": "#/definitions/EvalQueriesPayload" - } - } - ], - "responses": { - "200": { - "description": "EvalQueriesResponse", - "schema": { - "$ref": "#/definitions/EvalQueriesResponse" - } - } - } - } - }, - "/v1/ngalert/admin_config": { - "get": { - "produces": ["application/json"], - "tags": ["configuration"], - "summary": "Get the NGalert configuration of the user's organization, returns 404 if no configuration is present.", - "operationId": "RouteGetNGalertConfig", - "responses": { - "200": { - "description": "GettableNGalertConfig", - "schema": { - "$ref": "#/definitions/GettableNGalertConfig" - } - }, - "404": { - "description": "Failure", - "schema": { - "$ref": "#/definitions/Failure" - } - }, - "500": { - "description": "Failure", - "schema": { - "$ref": "#/definitions/Failure" - } - } - } - }, - "post": { - "consumes": ["application/json"], - "tags": ["configuration"], - "summary": "Creates or updates the NGalert configuration of the user's organization. If no value is sent for alertmanagersChoice, it defaults to \"all\".", - "operationId": "RoutePostNGalertConfig", - "parameters": [ - { - "name": "Body", - "in": "body", - "schema": { - "$ref": "#/definitions/PostableNGalertConfig" - } - } - ], - "responses": { - "201": { - "description": "Ack", - "schema": { - "$ref": "#/definitions/Ack" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - }, - "delete": { - "consumes": ["application/json"], - "tags": ["configuration"], - "summary": "Deletes the NGalert configuration of the user's organization.", - "operationId": "RouteDeleteNGalertConfig", - "responses": { - "200": { - "description": "Ack", - "schema": { - "$ref": "#/definitions/Ack" - } - }, - "500": { - "description": "Failure", - "schema": { - "$ref": "#/definitions/Failure" - } - } - } - } - }, - "/v1/ngalert/alertmanagers": { - "get": { - "produces": ["application/json"], - "tags": ["configuration"], - "summary": "Get the discovered and dropped Alertmanagers of the user's organization based on the specified configuration.", - "operationId": "RouteGetAlertmanagers", - "responses": { - "200": { - "description": "GettableAlertmanagers", - "schema": { - "$ref": "#/definitions/GettableAlertmanagers" - } - } - } - } - }, - "/v1/rule/test/grafana": { - "post": { - "description": "Test a rule against Grafana ruler", - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["testing"], - "operationId": "RouteTestRuleGrafanaConfig", - "parameters": [ - { - "name": "Body", - "in": "body", - "schema": { - "$ref": "#/definitions/TestRulePayload" - } - } - ], - "responses": { - "200": { - "description": "TestRuleResponse", - "schema": { - "$ref": "#/definitions/TestRuleResponse" - } - } - } - } - }, - "/v1/rule/test/{DatasourceUID}": { - "post": { - "description": "Test a rule against external data source ruler", - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["testing"], - "operationId": "RouteTestRuleConfig", - "parameters": [ - { - "type": "string", - "description": "DatasoureUID should be the datasource UID identifier", - "name": "DatasourceUID", - "in": "path", - "required": true - }, - { - "name": "Body", - "in": "body", - "schema": { - "$ref": "#/definitions/TestRulePayload" - } - } - ], - "responses": { - "200": { - "description": "TestRuleResponse", - "schema": { - "$ref": "#/definitions/TestRuleResponse" - } - } - } - } } }, "definitions": { @@ -13240,6 +11407,13 @@ "alertmanager_config": { "$ref": "#/definitions/GettableApiAlertingConfig" }, + "template_file_provenances": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Provenance" + }, + "x-go-name": "TemplateFileProvenances" + }, "template_files": { "type": "object", "additionalProperties": { @@ -14056,6 +12230,21 @@ "$ref": "#/definitions/Matcher" } }, + "MessageTemplate": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Template": { + "type": "string" + }, + "provenance": { + "$ref": "#/definitions/Provenance" + } + }, + "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" + }, "MessageTemplateContent": { "type": "object", "properties": { @@ -14065,6 +12254,13 @@ }, "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" }, + "MessageTemplates": { + "type": "array", + "items": { + "$ref": "#/definitions/MessageTemplate" + }, + "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" + }, "Metadata": { "description": "Metadata contains user accesses for a given resource\nEx: map[string]bool{\"create\":true, \"delete\": true}", "type": "object", @@ -14153,6 +12349,30 @@ }, "x-go-package": "github.com/prometheus/alertmanager/config" }, + "MuteTiming": { + "type": "object", + "properties": { + "name": { + "type": "string", + "x-go-name": "Name" + }, + "time_intervals": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeInterval" + }, + "x-go-name": "TimeIntervals" + } + }, + "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" + }, + "MuteTimings": { + "type": "array", + "items": { + "$ref": "#/definitions/MuteTiming" + }, + "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" + }, "NamespaceConfigResponse": { "type": "object", "additionalProperties": { @@ -14217,6 +12437,10 @@ }, "x-go-package": "github.com/grafana/grafana/pkg/api/dtos" }, + "NotFound": { + "type": "object", + "x-go-package": "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" + }, "NotificationTestCommand": { "type": "object", "properties": { @@ -16910,8 +15134,9 @@ "x-go-package": "github.com/grafana/grafana/pkg/api/dtos" }, "URL": { + "description": "The general form represented is:\n\n[scheme:][//[userinfo@]host][/]path[?query][#fragment]\n\nURLs that do not start with a slash after the scheme are interpreted as:\n\nscheme:opaque[?query][#fragment]\n\nNote that the Path field is stored in decoded form: /%47%6f%2f becomes /Go/.\nA consequence is that it is impossible to tell which slashes in the Path were\nslashes in the raw URL and which were %2f. This distinction is rarely important,\nbut when it is, the code should use RawPath, an optional field which only gets\nset if the default encoding is different from Path.\n\nURL's String method uses the EscapedPath method to obtain the path. See the\nEscapedPath method for more details.", "type": "object", - "title": "URL is a custom URL type that allows validation at configuration load time.", + "title": "A URL represents a parsed URL (technically, a URI reference).", "properties": { "ForceQuery": { "type": "boolean" @@ -16944,7 +15169,7 @@ "$ref": "#/definitions/Userinfo" } }, - "x-go-package": "github.com/prometheus/common/config" + "x-go-package": "net/url" }, "UpdateAlertNotificationCommand": { "type": "object", @@ -18020,14 +16245,14 @@ } }, "gettableAlerts": { + "description": "GettableAlerts gettable alerts", "type": "array", "items": { "$ref": "#/definitions/gettableAlert" - }, - "x-go-name": "GettableAlerts", - "x-go-package": "github.com/prometheus/alertmanager/api/v2/models" + } }, "gettableSilence": { + "description": "GettableSilence gettable silence", "type": "object", "required": ["comment", "createdBy", "endsAt", "matchers", "startsAt", "id", "status", "updatedAt"], "properties": { @@ -18070,9 +16295,7 @@ "format": "date-time", "x-go-name": "UpdatedAt" } - }, - "x-go-name": "GettableSilence", - "x-go-package": "github.com/prometheus/alertmanager/api/v2/models" + } }, "gettableSilences": { "type": "array", @@ -18200,7 +16423,6 @@ "x-go-package": "github.com/prometheus/alertmanager/api/v2/models" }, "postableSilence": { - "description": "PostableSilence postable silence", "type": "object", "required": ["comment", "createdBy", "endsAt", "matchers", "startsAt"], "properties": { @@ -18234,10 +16456,11 @@ "format": "date-time", "x-go-name": "StartsAt" } - } + }, + "x-go-name": "PostableSilence", + "x-go-package": "github.com/prometheus/alertmanager/api/v2/models" }, "receiver": { - "description": "Receiver receiver", "type": "object", "required": ["name"], "properties": { @@ -18246,7 +16469,9 @@ "type": "string", "x-go-name": "Name" } - } + }, + "x-go-name": "Receiver", + "x-go-package": "github.com/prometheus/alertmanager/api/v2/models" }, "silence": { "description": "Silence silence",