Skip to content

Commit f70a585

Browse files
author
msftbot[bot]
authored
[ReleasePR alertsmanagement] Added new Prometheus Rule Groups type (#2060)
Create to sync Azure/azure-rest-api-specs#16613 [ReCreate this PR](https://github.com/azure-resource-manager-schemas/compare/main...AzureSDKAutomation:sdkAuto/alertsmanagement?expand=1)
2 parents 75a2c28 + 38bb2d9 commit f70a585

File tree

2 files changed

+251
-0
lines changed

2 files changed

+251
-0
lines changed
Lines changed: 248 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,248 @@
1+
{
2+
"id": "https://schema.management.azure.com/schemas/2021-07-22-preview/Microsoft.AlertsManagement.json#",
3+
"$schema": "http://json-schema.org/draft-04/schema#",
4+
"title": "Microsoft.AlertsManagement",
5+
"description": "Microsoft AlertsManagement Resource Types",
6+
"resourceDefinitions": {
7+
"prometheusRuleGroups": {
8+
"type": "object",
9+
"properties": {
10+
"apiVersion": {
11+
"type": "string",
12+
"enum": [
13+
"2021-07-22-preview"
14+
]
15+
},
16+
"location": {
17+
"type": "string",
18+
"description": "The geo-location where the resource lives"
19+
},
20+
"name": {
21+
"type": "string",
22+
"description": "The name of the rule group."
23+
},
24+
"properties": {
25+
"oneOf": [
26+
{
27+
"$ref": "#/definitions/PrometheusRuleGroupProperties"
28+
},
29+
{
30+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
31+
}
32+
],
33+
"description": "An alert rule."
34+
},
35+
"tags": {
36+
"oneOf": [
37+
{
38+
"type": "object",
39+
"additionalProperties": {
40+
"type": "string"
41+
},
42+
"properties": {}
43+
},
44+
{
45+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
46+
}
47+
],
48+
"description": "Resource tags."
49+
},
50+
"type": {
51+
"type": "string",
52+
"enum": [
53+
"Microsoft.AlertsManagement/prometheusRuleGroups"
54+
]
55+
}
56+
},
57+
"required": [
58+
"apiVersion",
59+
"location",
60+
"name",
61+
"properties",
62+
"type"
63+
],
64+
"description": "Microsoft.AlertsManagement/prometheusRuleGroups"
65+
}
66+
},
67+
"definitions": {
68+
"PrometheusRule": {
69+
"type": "object",
70+
"properties": {
71+
"actions": {
72+
"oneOf": [
73+
{
74+
"type": "array",
75+
"items": {
76+
"$ref": "#/definitions/PrometheusRuleGroupAction"
77+
}
78+
},
79+
{
80+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
81+
}
82+
],
83+
"description": "the array of actions that are performed when the alert rule becomes active, and when an alert condition is resolved."
84+
},
85+
"alert": {
86+
"type": "string",
87+
"description": "the name of the alert rule."
88+
},
89+
"annotations": {
90+
"oneOf": [
91+
{
92+
"type": "object",
93+
"additionalProperties": {
94+
"type": "string"
95+
},
96+
"properties": {}
97+
},
98+
{
99+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
100+
}
101+
],
102+
"description": "annotations for rule group"
103+
},
104+
"expression": {
105+
"type": "string",
106+
"description": "the expression to run for the rule."
107+
},
108+
"for": {
109+
"type": "string",
110+
"description": "the amount of time alert must be active before firing."
111+
},
112+
"labels": {
113+
"oneOf": [
114+
{
115+
"type": "object",
116+
"additionalProperties": {
117+
"type": "string"
118+
},
119+
"properties": {}
120+
},
121+
{
122+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
123+
}
124+
],
125+
"description": "labels for rule group"
126+
},
127+
"record": {
128+
"type": "string",
129+
"description": "the name of the recording rule."
130+
},
131+
"resolveConfiguration": {
132+
"oneOf": [
133+
{
134+
"$ref": "#/definitions/PrometheusRuleResolveConfiguration"
135+
},
136+
{
137+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
138+
}
139+
],
140+
"description": "Specifies the Prometheus alert rule configuration."
141+
},
142+
"severity": {
143+
"oneOf": [
144+
{
145+
"type": "integer"
146+
},
147+
{
148+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
149+
}
150+
],
151+
"description": "the severity of the alerts fired by the rule."
152+
}
153+
}
154+
},
155+
"PrometheusRuleGroupAction": {
156+
"type": "object",
157+
"properties": {
158+
"actionGroupId": {
159+
"type": "string",
160+
"description": "the id of the action group to use."
161+
},
162+
"actionProperties": {
163+
"oneOf": [
164+
{
165+
"type": "object",
166+
"additionalProperties": {
167+
"type": "string"
168+
},
169+
"properties": {}
170+
},
171+
{
172+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
173+
}
174+
],
175+
"description": "The properties of an action group object."
176+
}
177+
},
178+
"description": "An alert action."
179+
},
180+
"PrometheusRuleGroupProperties": {
181+
"type": "object",
182+
"properties": {
183+
"description": {
184+
"type": "string",
185+
"description": "the description of the Prometheus rule group that will be included in the alert email."
186+
},
187+
"interval": {
188+
"type": "string",
189+
"description": "the interval in which to run the Prometheus rule group represented in ISO 8601 duration format."
190+
},
191+
"rules": {
192+
"oneOf": [
193+
{
194+
"type": "array",
195+
"items": {
196+
"$ref": "#/definitions/PrometheusRule"
197+
}
198+
},
199+
{
200+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
201+
}
202+
],
203+
"description": "defines the rules in the Prometheus rule group."
204+
},
205+
"scopes": {
206+
"oneOf": [
207+
{
208+
"type": "array",
209+
"items": {
210+
"type": "string"
211+
}
212+
},
213+
{
214+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
215+
}
216+
],
217+
"description": "the list of resource id's that this rule group is scoped to."
218+
}
219+
},
220+
"required": [
221+
"rules",
222+
"scopes"
223+
],
224+
"description": "An alert rule."
225+
},
226+
"PrometheusRuleResolveConfiguration": {
227+
"type": "object",
228+
"properties": {
229+
"autoResolved": {
230+
"oneOf": [
231+
{
232+
"type": "boolean"
233+
},
234+
{
235+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
236+
}
237+
],
238+
"description": "the flag that indicates whether or not to auto resolve a fired alert."
239+
},
240+
"timeToResolve": {
241+
"type": "string",
242+
"description": "the duration a rule must evaluate as healthy before the fired alert is automatically resolved represented in ISO 8601 duration format."
243+
}
244+
},
245+
"description": "Specifies the Prometheus alert rule configuration."
246+
}
247+
}
248+
}

schemas/common/autogeneratedResources.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,9 @@
7070
{
7171
"$ref": "https://schema.management.azure.com/schemas/2021-04-01/Microsoft.AlertsManagement.json#/resourceDefinitions/smartDetectorAlertRules"
7272
},
73+
{
74+
"$ref": "https://schema.management.azure.com/schemas/2021-07-22-preview/Microsoft.AlertsManagement.json#/resourceDefinitions/prometheusRuleGroups"
75+
},
7376
{
7477
"$ref": "https://schema.management.azure.com/schemas/2021-08-08-preview/Microsoft.AlertsManagement.json#/resourceDefinitions/actionRules"
7578
},

0 commit comments

Comments
 (0)