From bbd0fbe9d0c692d2f3dd4459790dcce6468f4b49 Mon Sep 17 00:00:00 2001 From: Alexander Akhmetov Date: Tue, 18 Nov 2025 15:56:54 +0100 Subject: [PATCH] Alerting: Update documentation for Prometheus list rules API (#114057) --- pkg/services/ngalert/api/tooling/api.json | 89 +++++++- .../ngalert/api/tooling/definitions/prom.go | 83 ++++++- pkg/services/ngalert/api/tooling/post.json | 206 +++++++++++++++++- pkg/services/ngalert/api/tooling/spec.json | 206 +++++++++++++++++- public/api-merged.json | 89 +++++++- public/openapi3.json | 89 +++++++- 6 files changed, 751 insertions(+), 11 deletions(-) diff --git a/pkg/services/ngalert/api/tooling/api.json b/pkg/services/ngalert/api/tooling/api.json index 7eae1a55974..1a003d00365 100644 --- a/pkg/services/ngalert/api/tooling/api.json +++ b/pkg/services/ngalert/api/tooling/api.json @@ -1530,6 +1530,12 @@ }, "type": "array" }, + "msteamsv2_configs": { + "items": { + "$ref": "#/definitions/MSTeamsV2Config" + }, + "type": "array" + }, "name": { "description": "A unique identifier for this receiver.", "type": "string" @@ -2114,6 +2120,32 @@ "title": "InspectType is a type for the Inspect property of a Notice.", "type": "integer" }, + "IntegrationStatus": { + "properties": { + "lastNotifyAttempt": { + "description": "A timestamp indicating the last attempt to deliver a notification regardless of the outcome.\nFormat: date-time", + "format": "date-time", + "type": "string" + }, + "lastNotifyAttemptDuration": { + "description": "Duration of the last attempt to deliver a notification in humanized format (`1s` or `15ms`, etc).", + "type": "string" + }, + "lastNotifyAttemptError": { + "description": "Error string for the last attempt to deliver a notification. Empty if the last attempt was successful.", + "type": "string" + }, + "name": { + "description": "Name of the integration.", + "type": "string" + }, + "sendResolved": { + "description": "Whether the integration is configured to send resolved notifications.", + "type": "boolean" + } + }, + "type": "object" + }, "InternalDataLink": { "description": "InternalDataLink definition to allow Explore links to be constructed in the backend", "properties": { @@ -2263,6 +2295,29 @@ }, "type": "object" }, + "MSTeamsV2Config": { + "properties": { + "http_config": { + "$ref": "#/definitions/HTTPClientConfig" + }, + "send_resolved": { + "type": "boolean" + }, + "text": { + "type": "string" + }, + "title": { + "type": "string" + }, + "webhook_url": { + "$ref": "#/definitions/SecretURL" + }, + "webhook_url_file": { + "type": "string" + } + }, + "type": "object" + }, "MatchRegexps": { "additionalProperties": { "type": "string" @@ -2803,6 +2858,12 @@ }, "type": "array" }, + "msteamsv2_configs": { + "items": { + "$ref": "#/definitions/MSTeamsV2Config" + }, + "type": "array" + }, "name": { "description": "A unique identifier for this receiver.", "type": "string" @@ -3557,6 +3618,12 @@ }, "type": "array" }, + "msteamsv2_configs": { + "items": { + "$ref": "#/definitions/MSTeamsV2Config" + }, + "type": "array" + }, "name": { "description": "A unique identifier for this receiver.", "type": "string" @@ -3643,6 +3710,26 @@ "title": "ReceiverExport is the provisioned file export of alerting.ReceiverV1.", "type": "object" }, + "ReceiverStatus": { + "properties": { + "active": { + "description": "Whether the receiver is used in a route or not.", + "type": "boolean" + }, + "integrations": { + "description": "Integrations configured for this receiver.", + "items": { + "$ref": "#/definitions/IntegrationStatus" + }, + "type": "array" + }, + "name": { + "description": "Name of the receiver.", + "type": "string" + } + }, + "type": "object" + }, "Record": { "properties": { "from": { @@ -7314,7 +7401,7 @@ "description": "", "schema": { "items": { - "$ref": "#/definitions/Receiver" + "$ref": "#/definitions/ReceiverStatus" }, "type": "array" } diff --git a/pkg/services/ngalert/api/tooling/definitions/prom.go b/pkg/services/ngalert/api/tooling/definitions/prom.go index b11ef6fc62b..128c69787c0 100644 --- a/pkg/services/ngalert/api/tooling/definitions/prom.go +++ b/pkg/services/ngalert/api/tooling/definitions/prom.go @@ -377,10 +377,89 @@ type GetGrafanaRuleStatusesParams struct { // Filter the list of rules to those that belong to the specified dashboard UID. // in: query // required: false - DashboardUID string + DashboardUID string `json:"dashboard_uid"` // Filter the list of rules to those that belong to the specified panel ID. Dashboard UID must be specified. // in: query // required: false - PanelID int64 + PanelID int64 `json:"panel_id"` + + // Filter the list of rules to those that belong to the specified folder UID. + // in: query + // required: false + FolderUID string `json:"folder_uid"` + + // Filter the list of rules to those that belong to the specified rule group(s). Can be specified multiple times. + // in: query + // required: false + RuleGroup []string `json:"rule_group"` + + // Filter the list of rules to those that reference the specified receiver/contact point. + // in: query + // required: false + ReceiverName string `json:"receiver_name"` + + // Search rules by title (case insensitive substring match). + // in: query + // required: false + SearchRuleName string `json:"search.rule_name"` + + // Search rules by rule group name (case insensitive substring match). + // in: query + // required: false + SearchRuleGroup string `json:"search.rule_group"` + + // Filter the list of rules to those whose titles exactly match the specified values. Can be specified multiple times. + // in: query + // required: false + RuleName []string `json:"rule_name"` + + // Filter by rule type: "alerting" or "recording". + // in: query + // required: false + RuleType string `json:"rule_type"` + + // Filter by alert state: "normal" (or "inactive"), "pending", "alerting" (or "firing"), "nodata", "error", "recovering". + // in: query + // required: false + State []string `json:"state"` + + // Filter by rule health: "ok", "error", "nodata". + // in: query + // required: false + Health []string `json:"health"` + + // Limit the number of alert instances per rule. + // in: query + // required: false + // default: -1 + LimitAlerts int64 `json:"limit_alerts"` + + // Limit the number of rules per group. + // in: query + // required: false + // default: -1 + LimitRules int64 `json:"limit_rules"` + + // Limit the number of rule groups returned. + // in: query + // required: false + // default: -1 + GroupLimit int64 `json:"group_limit"` + + // Limit the total number of rules returned across all groups. Returns complete groups until the limit is met or exceeded. + // in: query + // required: false + // default: -1 + RuleLimit int64 `json:"rule_limit"` + + // Continuation token for pagination. Use the value returned in the previous response's "groupNextToken" field. + // in: query + // required: false + GroupNextToken string `json:"group_next_token"` + + // Filter by label matchers encoded as JSON representations of Prometheus matchers (for example, {"type":0,"name":"severity","value":"critical"}). Provide one matcher per query string value. + // in: query + // required: false + Matchers []string `json:"matcher"` } diff --git a/pkg/services/ngalert/api/tooling/post.json b/pkg/services/ngalert/api/tooling/post.json index 84e4a4826d5..a73d76c2151 100644 --- a/pkg/services/ngalert/api/tooling/post.json +++ b/pkg/services/ngalert/api/tooling/post.json @@ -1530,6 +1530,12 @@ }, "type": "array" }, + "msteamsv2_configs": { + "items": { + "$ref": "#/definitions/MSTeamsV2Config" + }, + "type": "array" + }, "name": { "description": "A unique identifier for this receiver.", "type": "string" @@ -2114,6 +2120,32 @@ "title": "InspectType is a type for the Inspect property of a Notice.", "type": "integer" }, + "IntegrationStatus": { + "properties": { + "lastNotifyAttempt": { + "description": "A timestamp indicating the last attempt to deliver a notification regardless of the outcome.\nFormat: date-time", + "format": "date-time", + "type": "string" + }, + "lastNotifyAttemptDuration": { + "description": "Duration of the last attempt to deliver a notification in humanized format (`1s` or `15ms`, etc).", + "type": "string" + }, + "lastNotifyAttemptError": { + "description": "Error string for the last attempt to deliver a notification. Empty if the last attempt was successful.", + "type": "string" + }, + "name": { + "description": "Name of the integration.", + "type": "string" + }, + "sendResolved": { + "description": "Whether the integration is configured to send resolved notifications.", + "type": "boolean" + } + }, + "type": "object" + }, "InternalDataLink": { "description": "InternalDataLink definition to allow Explore links to be constructed in the backend", "properties": { @@ -2263,6 +2295,29 @@ }, "type": "object" }, + "MSTeamsV2Config": { + "properties": { + "http_config": { + "$ref": "#/definitions/HTTPClientConfig" + }, + "send_resolved": { + "type": "boolean" + }, + "text": { + "type": "string" + }, + "title": { + "type": "string" + }, + "webhook_url": { + "$ref": "#/definitions/SecretURL" + }, + "webhook_url_file": { + "type": "string" + } + }, + "type": "object" + }, "MatchRegexps": { "additionalProperties": { "type": "string" @@ -2803,6 +2858,12 @@ }, "type": "array" }, + "msteamsv2_configs": { + "items": { + "$ref": "#/definitions/MSTeamsV2Config" + }, + "type": "array" + }, "name": { "description": "A unique identifier for this receiver.", "type": "string" @@ -3557,6 +3618,12 @@ }, "type": "array" }, + "msteamsv2_configs": { + "items": { + "$ref": "#/definitions/MSTeamsV2Config" + }, + "type": "array" + }, "name": { "description": "A unique identifier for this receiver.", "type": "string" @@ -3643,6 +3710,26 @@ "title": "ReceiverExport is the provisioned file export of alerting.ReceiverV1.", "type": "object" }, + "ReceiverStatus": { + "properties": { + "active": { + "description": "Whether the receiver is used in a route or not.", + "type": "boolean" + }, + "integrations": { + "description": "Integrations configured for this receiver.", + "items": { + "$ref": "#/definitions/IntegrationStatus" + }, + "type": "array" + }, + "name": { + "description": "Name of the receiver.", + "type": "string" + } + }, + "type": "object" + }, "Record": { "properties": { "from": { @@ -7314,15 +7401,128 @@ { "description": "Filter the list of rules to those that belong to the specified dashboard UID.", "in": "query", - "name": "DashboardUID", + "name": "dashboard_uid", "type": "string" }, { "description": "Filter the list of rules to those that belong to the specified panel ID. Dashboard UID must be specified.", "format": "int64", "in": "query", - "name": "PanelID", + "name": "panel_id", "type": "integer" + }, + { + "description": "Filter the list of rules to those that belong to the specified folder UID.", + "in": "query", + "name": "folder_uid", + "type": "string" + }, + { + "description": "Filter the list of rules to those that belong to the specified rule group(s). Can be specified multiple times.", + "in": "query", + "items": { + "type": "string" + }, + "name": "rule_group", + "type": "array" + }, + { + "description": "Filter the list of rules to those that reference the specified receiver/contact point.", + "in": "query", + "name": "receiver_name", + "type": "string" + }, + { + "description": "Search rules by title (case insensitive substring match).", + "in": "query", + "name": "search.rule_name", + "type": "string" + }, + { + "description": "Search rules by rule group name (case insensitive substring match).", + "in": "query", + "name": "search.rule_group", + "type": "string" + }, + { + "description": "Filter the list of rules to those whose titles exactly match the specified values. Can be specified multiple times.", + "in": "query", + "items": { + "type": "string" + }, + "name": "rule_name", + "type": "array" + }, + { + "description": "Filter by rule type: \"alerting\" or \"recording\".", + "in": "query", + "name": "rule_type", + "type": "string" + }, + { + "description": "Filter by alert state: \"normal\" (or \"inactive\"), \"pending\", \"alerting\" (or \"firing\"), \"nodata\", \"error\", \"recovering\".", + "in": "query", + "items": { + "type": "string" + }, + "name": "state", + "type": "array" + }, + { + "description": "Filter by rule health: \"ok\", \"error\", \"nodata\".", + "in": "query", + "items": { + "type": "string" + }, + "name": "health", + "type": "array" + }, + { + "default": -1, + "description": "Limit the number of alert instances per rule.", + "format": "int64", + "in": "query", + "name": "limit_alerts", + "type": "integer" + }, + { + "default": -1, + "description": "Limit the number of rules per group.", + "format": "int64", + "in": "query", + "name": "limit_rules", + "type": "integer" + }, + { + "default": -1, + "description": "Limit the number of rule groups returned.", + "format": "int64", + "in": "query", + "name": "group_limit", + "type": "integer" + }, + { + "default": -1, + "description": "Limit the total number of rules returned across all groups. Returns complete groups until the limit is met or exceeded.", + "format": "int64", + "in": "query", + "name": "rule_limit", + "type": "integer" + }, + { + "description": "Continuation token for pagination. Use the value returned in the previous response's \"groupNextToken\" field.", + "in": "query", + "name": "group_next_token", + "type": "string" + }, + { + "description": "Filter by label matchers encoded as JSON representations of Prometheus matchers (for example, {\"type\":0,\"name\":\"severity\",\"value\":\"critical\"}). Provide one matcher per query string value.", + "in": "query", + "items": { + "type": "string" + }, + "name": "matcher", + "type": "array" } ], "responses": { @@ -9798,7 +9998,7 @@ "description": "", "schema": { "items": { - "$ref": "#/definitions/Receiver" + "$ref": "#/definitions/ReceiverStatus" }, "type": "array" } diff --git a/pkg/services/ngalert/api/tooling/spec.json b/pkg/services/ngalert/api/tooling/spec.json index 0617865b8d2..b590bb3edd7 100644 --- a/pkg/services/ngalert/api/tooling/spec.json +++ b/pkg/services/ngalert/api/tooling/spec.json @@ -1825,14 +1825,127 @@ { "type": "string", "description": "Filter the list of rules to those that belong to the specified dashboard UID.", - "name": "DashboardUID", + "name": "dashboard_uid", "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", + "name": "panel_id", + "in": "query" + }, + { + "type": "string", + "description": "Filter the list of rules to those that belong to the specified folder UID.", + "name": "folder_uid", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "description": "Filter the list of rules to those that belong to the specified rule group(s). Can be specified multiple times.", + "name": "rule_group", + "in": "query" + }, + { + "type": "string", + "description": "Filter the list of rules to those that reference the specified receiver/contact point.", + "name": "receiver_name", + "in": "query" + }, + { + "type": "string", + "description": "Search rules by title (case insensitive substring match).", + "name": "search.rule_name", + "in": "query" + }, + { + "type": "string", + "description": "Search rules by rule group name (case insensitive substring match).", + "name": "search.rule_group", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "description": "Filter the list of rules to those whose titles exactly match the specified values. Can be specified multiple times.", + "name": "rule_name", + "in": "query" + }, + { + "type": "string", + "description": "Filter by rule type: \"alerting\" or \"recording\".", + "name": "rule_type", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "description": "Filter by alert state: \"normal\" (or \"inactive\"), \"pending\", \"alerting\" (or \"firing\"), \"nodata\", \"error\", \"recovering\".", + "name": "state", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "description": "Filter by rule health: \"ok\", \"error\", \"nodata\".", + "name": "health", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "default": -1, + "description": "Limit the number of alert instances per rule.", + "name": "limit_alerts", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "default": -1, + "description": "Limit the number of rules per group.", + "name": "limit_rules", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "default": -1, + "description": "Limit the number of rule groups returned.", + "name": "group_limit", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "default": -1, + "description": "Limit the total number of rules returned across all groups. Returns complete groups until the limit is met or exceeded.", + "name": "rule_limit", + "in": "query" + }, + { + "type": "string", + "description": "Continuation token for pagination. Use the value returned in the previous response's \"groupNextToken\" field.", + "name": "group_next_token", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "description": "Filter by label matchers encoded as JSON representations of Prometheus matchers (for example, {\"type\":0,\"name\":\"severity\",\"value\":\"critical\"}). Provide one matcher per query string value.", + "name": "matcher", "in": "query" } ], @@ -5834,6 +5947,12 @@ "$ref": "#/definitions/MSTeamsConfig" } }, + "msteamsv2_configs": { + "type": "array", + "items": { + "$ref": "#/definitions/MSTeamsV2Config" + } + }, "name": { "description": "A unique identifier for this receiver.", "type": "string" @@ -6417,6 +6536,32 @@ "format": "int64", "title": "InspectType is a type for the Inspect property of a Notice." }, + "IntegrationStatus": { + "type": "object", + "properties": { + "lastNotifyAttempt": { + "description": "A timestamp indicating the last attempt to deliver a notification regardless of the outcome.\nFormat: date-time", + "type": "string", + "format": "date-time" + }, + "lastNotifyAttemptDuration": { + "description": "Duration of the last attempt to deliver a notification in humanized format (`1s` or `15ms`, etc).", + "type": "string" + }, + "lastNotifyAttemptError": { + "description": "Error string for the last attempt to deliver a notification. Empty if the last attempt was successful.", + "type": "string" + }, + "name": { + "description": "Name of the integration.", + "type": "string" + }, + "sendResolved": { + "description": "Whether the integration is configured to send resolved notifications.", + "type": "boolean" + } + } + }, "InternalDataLink": { "description": "InternalDataLink definition to allow Explore links to be constructed in the backend", "type": "object", @@ -6566,6 +6711,29 @@ } } }, + "MSTeamsV2Config": { + "type": "object", + "properties": { + "http_config": { + "$ref": "#/definitions/HTTPClientConfig" + }, + "send_resolved": { + "type": "boolean" + }, + "text": { + "type": "string" + }, + "title": { + "type": "string" + }, + "webhook_url": { + "$ref": "#/definitions/SecretURL" + }, + "webhook_url_file": { + "type": "string" + } + } + }, "MatchRegexps": { "type": "object", "title": "MatchRegexps represents a map of Regexp.", @@ -7108,6 +7276,12 @@ "$ref": "#/definitions/MSTeamsConfig" } }, + "msteamsv2_configs": { + "type": "array", + "items": { + "$ref": "#/definitions/MSTeamsV2Config" + } + }, "name": { "description": "A unique identifier for this receiver.", "type": "string" @@ -7863,6 +8037,12 @@ "$ref": "#/definitions/MSTeamsConfig" } }, + "msteamsv2_configs": { + "type": "array", + "items": { + "$ref": "#/definitions/MSTeamsV2Config" + } + }, "name": { "description": "A unique identifier for this receiver.", "type": "string" @@ -7947,6 +8127,26 @@ } } }, + "ReceiverStatus": { + "type": "object", + "properties": { + "active": { + "description": "Whether the receiver is used in a route or not.", + "type": "boolean" + }, + "integrations": { + "description": "Integrations configured for this receiver.", + "type": "array", + "items": { + "$ref": "#/definitions/IntegrationStatus" + } + }, + "name": { + "description": "Name of the receiver.", + "type": "string" + } + } + }, "Record": { "type": "object", "required": [ @@ -9851,7 +10051,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/definitions/Receiver" + "$ref": "#/definitions/ReceiverStatus" } } } diff --git a/public/api-merged.json b/public/api-merged.json index a168fed65c0..589d1f2a222 100644 --- a/public/api-merged.json +++ b/public/api-merged.json @@ -16543,6 +16543,12 @@ "$ref": "#/definitions/MSTeamsConfig" } }, + "msteamsv2_configs": { + "type": "array", + "items": { + "$ref": "#/definitions/MSTeamsV2Config" + } + }, "name": { "description": "A unique identifier for this receiver.", "type": "string" @@ -17352,6 +17358,32 @@ "format": "int64", "title": "InspectType is a type for the Inspect property of a Notice." }, + "IntegrationStatus": { + "type": "object", + "properties": { + "lastNotifyAttempt": { + "description": "A timestamp indicating the last attempt to deliver a notification regardless of the outcome.\nFormat: date-time", + "type": "string", + "format": "date-time" + }, + "lastNotifyAttemptDuration": { + "description": "Duration of the last attempt to deliver a notification in humanized format (`1s` or `15ms`, etc).", + "type": "string" + }, + "lastNotifyAttemptError": { + "description": "Error string for the last attempt to deliver a notification. Empty if the last attempt was successful.", + "type": "string" + }, + "name": { + "description": "Name of the integration.", + "type": "string" + }, + "sendResolved": { + "description": "Whether the integration is configured to send resolved notifications.", + "type": "boolean" + } + } + }, "InternalDataLink": { "description": "InternalDataLink definition to allow Explore links to be constructed in the backend", "type": "object", @@ -17749,6 +17781,29 @@ } } }, + "MSTeamsV2Config": { + "type": "object", + "properties": { + "http_config": { + "$ref": "#/definitions/HTTPClientConfig" + }, + "send_resolved": { + "type": "boolean" + }, + "text": { + "type": "string" + }, + "title": { + "type": "string" + }, + "webhook_url": { + "$ref": "#/definitions/SecretURL" + }, + "webhook_url_file": { + "type": "string" + } + } + }, "ManagerKind": { "description": "It can be a user or a tool or a generic API client.\n+enum", "type": "string", @@ -18972,6 +19027,12 @@ "$ref": "#/definitions/MSTeamsConfig" } }, + "msteamsv2_configs": { + "type": "array", + "items": { + "$ref": "#/definitions/MSTeamsV2Config" + } + }, "name": { "description": "A unique identifier for this receiver.", "type": "string" @@ -20055,6 +20116,12 @@ "$ref": "#/definitions/MSTeamsConfig" } }, + "msteamsv2_configs": { + "type": "array", + "items": { + "$ref": "#/definitions/MSTeamsV2Config" + } + }, "name": { "description": "A unique identifier for this receiver.", "type": "string" @@ -20139,6 +20206,26 @@ } } }, + "ReceiverStatus": { + "type": "object", + "properties": { + "active": { + "description": "Whether the receiver is used in a route or not.", + "type": "boolean" + }, + "integrations": { + "description": "Integrations configured for this receiver.", + "type": "array", + "items": { + "$ref": "#/definitions/IntegrationStatus" + } + }, + "name": { + "description": "Name of the receiver.", + "type": "string" + } + } + }, "Record": { "type": "object", "required": [ @@ -25508,7 +25595,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/definitions/Receiver" + "$ref": "#/definitions/ReceiverStatus" } } }, diff --git a/public/openapi3.json b/public/openapi3.json index 1a3473953d5..706b89abb32 100644 --- a/public/openapi3.json +++ b/public/openapi3.json @@ -1757,7 +1757,7 @@ "application/json": { "schema": { "items": { - "$ref": "#/components/schemas/Receiver" + "$ref": "#/components/schemas/ReceiverStatus" }, "type": "array" } @@ -6030,6 +6030,12 @@ }, "type": "array" }, + "msteamsv2_configs": { + "items": { + "$ref": "#/components/schemas/MSTeamsV2Config" + }, + "type": "array" + }, "name": { "description": "A unique identifier for this receiver.", "type": "string" @@ -6840,6 +6846,32 @@ "title": "InspectType is a type for the Inspect property of a Notice.", "type": "integer" }, + "IntegrationStatus": { + "properties": { + "lastNotifyAttempt": { + "description": "A timestamp indicating the last attempt to deliver a notification regardless of the outcome.\nFormat: date-time", + "format": "date-time", + "type": "string" + }, + "lastNotifyAttemptDuration": { + "description": "Duration of the last attempt to deliver a notification in humanized format (`1s` or `15ms`, etc).", + "type": "string" + }, + "lastNotifyAttemptError": { + "description": "Error string for the last attempt to deliver a notification. Empty if the last attempt was successful.", + "type": "string" + }, + "name": { + "description": "Name of the integration.", + "type": "string" + }, + "sendResolved": { + "description": "Whether the integration is configured to send resolved notifications.", + "type": "boolean" + } + }, + "type": "object" + }, "InternalDataLink": { "description": "InternalDataLink definition to allow Explore links to be constructed in the backend", "properties": { @@ -7237,6 +7269,29 @@ }, "type": "object" }, + "MSTeamsV2Config": { + "properties": { + "http_config": { + "$ref": "#/components/schemas/HTTPClientConfig" + }, + "send_resolved": { + "type": "boolean" + }, + "text": { + "type": "string" + }, + "title": { + "type": "string" + }, + "webhook_url": { + "$ref": "#/components/schemas/SecretURL" + }, + "webhook_url_file": { + "type": "string" + } + }, + "type": "object" + }, "ManagerKind": { "description": "It can be a user or a tool or a generic API client.\n+enum", "title": "ManagerKind is the type of manager, which is responsible for managing the resource.", @@ -8459,6 +8514,12 @@ }, "type": "array" }, + "msteamsv2_configs": { + "items": { + "$ref": "#/components/schemas/MSTeamsV2Config" + }, + "type": "array" + }, "name": { "description": "A unique identifier for this receiver.", "type": "string" @@ -9541,6 +9602,12 @@ }, "type": "array" }, + "msteamsv2_configs": { + "items": { + "$ref": "#/components/schemas/MSTeamsV2Config" + }, + "type": "array" + }, "name": { "description": "A unique identifier for this receiver.", "type": "string" @@ -9627,6 +9694,26 @@ "title": "ReceiverExport is the provisioned file export of alerting.ReceiverV1.", "type": "object" }, + "ReceiverStatus": { + "properties": { + "active": { + "description": "Whether the receiver is used in a route or not.", + "type": "boolean" + }, + "integrations": { + "description": "Integrations configured for this receiver.", + "items": { + "$ref": "#/components/schemas/IntegrationStatus" + }, + "type": "array" + }, + "name": { + "description": "Name of the receiver.", + "type": "string" + } + }, + "type": "object" + }, "Record": { "properties": { "from": {