@grafana/openapi 13.2.4 → 13.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/api/openapi3.json +358 -247
  2. package/dist/apis/collections.grafana.app-v1alpha1.json +3 -14
  3. package/dist/apis/correlations.grafana.app-v0alpha1.json +411 -0
  4. package/dist/apis/dashboard.grafana.app-v0alpha1.json +865 -105
  5. package/dist/apis/dashboard.grafana.app-v1beta1.json +733 -6
  6. package/dist/apis/dashboard.grafana.app-v2.json +821 -194
  7. package/dist/apis/dashboard.grafana.app-v2alpha1.json +803 -208
  8. package/dist/apis/dashboard.grafana.app-v2beta1.json +985 -374
  9. package/dist/apis/folder.grafana.app-v1.json +644 -20
  10. package/dist/apis/folder.grafana.app-v1beta1.json +644 -20
  11. package/dist/apis/grafana-testdata-datasource.datasource.grafana.app-v0alpha1.json +3 -21
  12. package/dist/apis/historian.alerting.grafana.app-v0alpha1.json +411 -0
  13. package/dist/apis/iam.grafana.app-v0alpha1.json +2397 -748
  14. package/dist/apis/logsdrilldown.grafana.app-v1beta1.json +448 -0
  15. package/dist/apis/notifications.alerting.grafana.app-v0alpha1.json +596 -0
  16. package/dist/apis/notifications.alerting.grafana.app-v1beta1.json +596 -0
  17. package/dist/apis/playlist.grafana.app-v0alpha1.json +415 -0
  18. package/dist/apis/playlist.grafana.app-v1.json +415 -0
  19. package/dist/apis/preferences.grafana.app-v1.json +3 -9
  20. package/dist/apis/preferences.grafana.app-v1alpha1.json +3 -9
  21. package/dist/apis/provisioning.grafana.app-v0alpha1.json +636 -151
  22. package/dist/apis/provisioning.grafana.app-v1beta1.json +621 -100
  23. package/dist/apis/query.grafana.app-v0alpha1.json +14 -11
  24. package/dist/apis/quotas.grafana.app-v0alpha1.json +1 -2
  25. package/dist/apis/rules.alerting.grafana.app-v0alpha1.json +3027 -767
  26. package/dist/apis/rules.alerting.grafana.app-v1beta1.json +4541 -0
  27. package/dist/apis/search.grafana.app-v0alpha1.json +693 -0
  28. package/dist/apis/shorturl.grafana.app-v1beta1.json +411 -0
  29. package/package.json +3 -3
@@ -241,6 +241,43 @@
241
241
  }
242
242
  ]
243
243
  },
244
+ "/alertrules/search": {
245
+ "post": {
246
+ "tags": ["Search"],
247
+ "description": "Search AlertRule resources in a namespace.",
248
+ "operationId": "listAlertRuleSearchV0alpha1",
249
+ "parameters": [],
250
+ "requestBody": {
251
+ "description": "A SearchQuery describing what to match, sort and return.",
252
+ "content": {
253
+ "application/json": {
254
+ "schema": {
255
+ "$ref": "#/components/schemas/SearchQuery"
256
+ },
257
+ "example": {
258
+ "kind": "SearchQuery",
259
+ "apiVersion": "search.grafana.app/v0alpha1",
260
+ "facetLimit": 0,
261
+ "limit": 10
262
+ }
263
+ }
264
+ },
265
+ "required": true
266
+ },
267
+ "responses": {
268
+ "200": {
269
+ "description": "A SearchResults envelope.",
270
+ "content": {
271
+ "application/json": {
272
+ "schema": {
273
+ "$ref": "#/components/schemas/SearchResults"
274
+ }
275
+ }
276
+ }
277
+ }
278
+ }
279
+ }
280
+ },
244
281
  "/alertrules/{name}": {
245
282
  "get": {
246
283
  "tags": ["AlertRule"],
@@ -819,11 +856,11 @@
819
856
  }
820
857
  ]
821
858
  },
822
- "/recordingrules": {
859
+ "/configs": {
823
860
  "get": {
824
- "tags": ["RecordingRule"],
825
- "description": "list objects of kind RecordingRule",
826
- "operationId": "listRecordingRule",
861
+ "tags": ["Config"],
862
+ "description": "list or watch objects of kind Config",
863
+ "operationId": "listConfig",
827
864
  "parameters": [
828
865
  {
829
866
  "name": "continue",
@@ -895,17 +932,17 @@
895
932
  "content": {
896
933
  "application/json": {
897
934
  "schema": {
898
- "$ref": "#/components/schemas/RecordingRuleList"
935
+ "$ref": "#/components/schemas/ConfigList"
899
936
  }
900
937
  },
901
938
  "application/json;stream=watch": {
902
939
  "schema": {
903
- "$ref": "#/components/schemas/RecordingRuleList"
940
+ "$ref": "#/components/schemas/ConfigList"
904
941
  }
905
942
  },
906
943
  "application/yaml": {
907
944
  "schema": {
908
- "$ref": "#/components/schemas/RecordingRuleList"
945
+ "$ref": "#/components/schemas/ConfigList"
909
946
  }
910
947
  }
911
948
  }
@@ -915,13 +952,13 @@
915
952
  "x-kubernetes-group-version-kind": {
916
953
  "group": "rules.alerting.grafana.app",
917
954
  "version": "v0alpha1",
918
- "kind": "RecordingRule"
955
+ "kind": "Config"
919
956
  }
920
957
  },
921
958
  "post": {
922
- "tags": ["RecordingRule"],
923
- "description": "create a RecordingRule",
924
- "operationId": "createRecordingRule",
959
+ "tags": ["Config"],
960
+ "description": "create a Config",
961
+ "operationId": "createConfig",
925
962
  "parameters": [
926
963
  {
927
964
  "name": "dryRun",
@@ -955,12 +992,12 @@
955
992
  "content": {
956
993
  "application/json": {
957
994
  "schema": {
958
- "$ref": "#/components/schemas/RecordingRule"
995
+ "$ref": "#/components/schemas/Config"
959
996
  }
960
997
  },
961
998
  "application/yaml": {
962
999
  "schema": {
963
- "$ref": "#/components/schemas/RecordingRule"
1000
+ "$ref": "#/components/schemas/Config"
964
1001
  }
965
1002
  }
966
1003
  },
@@ -972,12 +1009,12 @@
972
1009
  "content": {
973
1010
  "application/json": {
974
1011
  "schema": {
975
- "$ref": "#/components/schemas/RecordingRule"
1012
+ "$ref": "#/components/schemas/Config"
976
1013
  }
977
1014
  },
978
1015
  "application/yaml": {
979
1016
  "schema": {
980
- "$ref": "#/components/schemas/RecordingRule"
1017
+ "$ref": "#/components/schemas/Config"
981
1018
  }
982
1019
  }
983
1020
  }
@@ -987,12 +1024,12 @@
987
1024
  "content": {
988
1025
  "application/json": {
989
1026
  "schema": {
990
- "$ref": "#/components/schemas/RecordingRule"
1027
+ "$ref": "#/components/schemas/Config"
991
1028
  }
992
1029
  },
993
1030
  "application/yaml": {
994
1031
  "schema": {
995
- "$ref": "#/components/schemas/RecordingRule"
1032
+ "$ref": "#/components/schemas/Config"
996
1033
  }
997
1034
  }
998
1035
  }
@@ -1002,12 +1039,12 @@
1002
1039
  "content": {
1003
1040
  "application/json": {
1004
1041
  "schema": {
1005
- "$ref": "#/components/schemas/RecordingRule"
1042
+ "$ref": "#/components/schemas/Config"
1006
1043
  }
1007
1044
  },
1008
1045
  "application/yaml": {
1009
1046
  "schema": {
1010
- "$ref": "#/components/schemas/RecordingRule"
1047
+ "$ref": "#/components/schemas/Config"
1011
1048
  }
1012
1049
  }
1013
1050
  }
@@ -1017,13 +1054,13 @@
1017
1054
  "x-kubernetes-group-version-kind": {
1018
1055
  "group": "rules.alerting.grafana.app",
1019
1056
  "version": "v0alpha1",
1020
- "kind": "RecordingRule"
1057
+ "kind": "Config"
1021
1058
  }
1022
1059
  },
1023
1060
  "delete": {
1024
- "tags": ["RecordingRule"],
1025
- "description": "delete collection of RecordingRule",
1026
- "operationId": "deletecollectionRecordingRule",
1061
+ "tags": ["Config"],
1062
+ "description": "delete collection of Config",
1063
+ "operationId": "deletecollectionConfig",
1027
1064
  "parameters": [
1028
1065
  {
1029
1066
  "name": "continue",
@@ -1173,7 +1210,7 @@
1173
1210
  "x-kubernetes-group-version-kind": {
1174
1211
  "group": "rules.alerting.grafana.app",
1175
1212
  "version": "v0alpha1",
1176
- "kind": "RecordingRule"
1213
+ "kind": "Config"
1177
1214
  }
1178
1215
  },
1179
1216
  "parameters": [
@@ -1188,23 +1225,60 @@
1188
1225
  }
1189
1226
  ]
1190
1227
  },
1191
- "/recordingrules/{name}": {
1228
+ "/configs/search": {
1229
+ "post": {
1230
+ "tags": ["Search"],
1231
+ "description": "Search Config resources in a namespace.",
1232
+ "operationId": "listConfigSearchV0alpha1",
1233
+ "parameters": [],
1234
+ "requestBody": {
1235
+ "description": "A SearchQuery describing what to match, sort and return.",
1236
+ "content": {
1237
+ "application/json": {
1238
+ "schema": {
1239
+ "$ref": "#/components/schemas/SearchQuery"
1240
+ },
1241
+ "example": {
1242
+ "kind": "SearchQuery",
1243
+ "apiVersion": "search.grafana.app/v0alpha1",
1244
+ "facetLimit": 0,
1245
+ "limit": 10
1246
+ }
1247
+ }
1248
+ },
1249
+ "required": true
1250
+ },
1251
+ "responses": {
1252
+ "200": {
1253
+ "description": "A SearchResults envelope.",
1254
+ "content": {
1255
+ "application/json": {
1256
+ "schema": {
1257
+ "$ref": "#/components/schemas/SearchResults"
1258
+ }
1259
+ }
1260
+ }
1261
+ }
1262
+ }
1263
+ }
1264
+ },
1265
+ "/configs/{name}": {
1192
1266
  "get": {
1193
- "tags": ["RecordingRule"],
1194
- "description": "read the specified RecordingRule",
1195
- "operationId": "getRecordingRule",
1267
+ "tags": ["Config"],
1268
+ "description": "read the specified Config",
1269
+ "operationId": "getConfig",
1196
1270
  "responses": {
1197
1271
  "200": {
1198
1272
  "description": "OK",
1199
1273
  "content": {
1200
1274
  "application/json": {
1201
1275
  "schema": {
1202
- "$ref": "#/components/schemas/RecordingRule"
1276
+ "$ref": "#/components/schemas/Config"
1203
1277
  }
1204
1278
  },
1205
1279
  "application/yaml": {
1206
1280
  "schema": {
1207
- "$ref": "#/components/schemas/RecordingRule"
1281
+ "$ref": "#/components/schemas/Config"
1208
1282
  }
1209
1283
  }
1210
1284
  }
@@ -1214,13 +1288,13 @@
1214
1288
  "x-kubernetes-group-version-kind": {
1215
1289
  "group": "rules.alerting.grafana.app",
1216
1290
  "version": "v0alpha1",
1217
- "kind": "RecordingRule"
1291
+ "kind": "Config"
1218
1292
  }
1219
1293
  },
1220
1294
  "put": {
1221
- "tags": ["RecordingRule"],
1222
- "description": "replace the specified RecordingRule",
1223
- "operationId": "replaceRecordingRule",
1295
+ "tags": ["Config"],
1296
+ "description": "replace the specified Config",
1297
+ "operationId": "replaceConfig",
1224
1298
  "parameters": [
1225
1299
  {
1226
1300
  "name": "dryRun",
@@ -1254,12 +1328,12 @@
1254
1328
  "content": {
1255
1329
  "application/json": {
1256
1330
  "schema": {
1257
- "$ref": "#/components/schemas/RecordingRule"
1331
+ "$ref": "#/components/schemas/Config"
1258
1332
  }
1259
1333
  },
1260
1334
  "application/yaml": {
1261
1335
  "schema": {
1262
- "$ref": "#/components/schemas/RecordingRule"
1336
+ "$ref": "#/components/schemas/Config"
1263
1337
  }
1264
1338
  }
1265
1339
  },
@@ -1271,12 +1345,12 @@
1271
1345
  "content": {
1272
1346
  "application/json": {
1273
1347
  "schema": {
1274
- "$ref": "#/components/schemas/RecordingRule"
1348
+ "$ref": "#/components/schemas/Config"
1275
1349
  }
1276
1350
  },
1277
1351
  "application/yaml": {
1278
1352
  "schema": {
1279
- "$ref": "#/components/schemas/RecordingRule"
1353
+ "$ref": "#/components/schemas/Config"
1280
1354
  }
1281
1355
  }
1282
1356
  }
@@ -1286,12 +1360,12 @@
1286
1360
  "content": {
1287
1361
  "application/json": {
1288
1362
  "schema": {
1289
- "$ref": "#/components/schemas/RecordingRule"
1363
+ "$ref": "#/components/schemas/Config"
1290
1364
  }
1291
1365
  },
1292
1366
  "application/yaml": {
1293
1367
  "schema": {
1294
- "$ref": "#/components/schemas/RecordingRule"
1368
+ "$ref": "#/components/schemas/Config"
1295
1369
  }
1296
1370
  }
1297
1371
  }
@@ -1301,13 +1375,13 @@
1301
1375
  "x-kubernetes-group-version-kind": {
1302
1376
  "group": "rules.alerting.grafana.app",
1303
1377
  "version": "v0alpha1",
1304
- "kind": "RecordingRule"
1378
+ "kind": "Config"
1305
1379
  }
1306
1380
  },
1307
1381
  "delete": {
1308
- "tags": ["RecordingRule"],
1309
- "description": "delete a RecordingRule",
1310
- "operationId": "deleteRecordingRule",
1382
+ "tags": ["Config"],
1383
+ "description": "delete a Config",
1384
+ "operationId": "deleteConfig",
1311
1385
  "parameters": [
1312
1386
  {
1313
1387
  "name": "dryRun",
@@ -1391,13 +1465,13 @@
1391
1465
  "x-kubernetes-group-version-kind": {
1392
1466
  "group": "rules.alerting.grafana.app",
1393
1467
  "version": "v0alpha1",
1394
- "kind": "RecordingRule"
1468
+ "kind": "Config"
1395
1469
  }
1396
1470
  },
1397
1471
  "patch": {
1398
- "tags": ["RecordingRule"],
1399
- "description": "partially update the specified RecordingRule",
1400
- "operationId": "updateRecordingRule",
1472
+ "tags": ["Config"],
1473
+ "description": "partially update the specified Config",
1474
+ "operationId": "updateConfig",
1401
1475
  "parameters": [
1402
1476
  {
1403
1477
  "name": "dryRun",
@@ -1467,12 +1541,12 @@
1467
1541
  "content": {
1468
1542
  "application/json": {
1469
1543
  "schema": {
1470
- "$ref": "#/components/schemas/RecordingRule"
1544
+ "$ref": "#/components/schemas/Config"
1471
1545
  }
1472
1546
  },
1473
1547
  "application/yaml": {
1474
1548
  "schema": {
1475
- "$ref": "#/components/schemas/RecordingRule"
1549
+ "$ref": "#/components/schemas/Config"
1476
1550
  }
1477
1551
  }
1478
1552
  }
@@ -1482,12 +1556,12 @@
1482
1556
  "content": {
1483
1557
  "application/json": {
1484
1558
  "schema": {
1485
- "$ref": "#/components/schemas/RecordingRule"
1559
+ "$ref": "#/components/schemas/Config"
1486
1560
  }
1487
1561
  },
1488
1562
  "application/yaml": {
1489
1563
  "schema": {
1490
- "$ref": "#/components/schemas/RecordingRule"
1564
+ "$ref": "#/components/schemas/Config"
1491
1565
  }
1492
1566
  }
1493
1567
  }
@@ -1497,14 +1571,14 @@
1497
1571
  "x-kubernetes-group-version-kind": {
1498
1572
  "group": "rules.alerting.grafana.app",
1499
1573
  "version": "v0alpha1",
1500
- "kind": "RecordingRule"
1574
+ "kind": "Config"
1501
1575
  }
1502
1576
  },
1503
1577
  "parameters": [
1504
1578
  {
1505
1579
  "name": "name",
1506
1580
  "in": "path",
1507
- "description": "name of the RecordingRule",
1581
+ "description": "name of the Config",
1508
1582
  "required": true,
1509
1583
  "schema": {
1510
1584
  "type": "string",
@@ -1522,23 +1596,23 @@
1522
1596
  }
1523
1597
  ]
1524
1598
  },
1525
- "/recordingrules/{name}/status": {
1599
+ "/configs/{name}/status": {
1526
1600
  "get": {
1527
- "tags": ["RecordingRule"],
1528
- "description": "read status of the specified RecordingRule",
1529
- "operationId": "getRecordingRuleStatus",
1601
+ "tags": ["Config"],
1602
+ "description": "read status of the specified Config",
1603
+ "operationId": "getConfigStatus",
1530
1604
  "responses": {
1531
1605
  "200": {
1532
1606
  "description": "OK",
1533
1607
  "content": {
1534
1608
  "application/json": {
1535
1609
  "schema": {
1536
- "$ref": "#/components/schemas/RecordingRule"
1610
+ "$ref": "#/components/schemas/Config"
1537
1611
  }
1538
1612
  },
1539
1613
  "application/yaml": {
1540
1614
  "schema": {
1541
- "$ref": "#/components/schemas/RecordingRule"
1615
+ "$ref": "#/components/schemas/Config"
1542
1616
  }
1543
1617
  }
1544
1618
  }
@@ -1548,13 +1622,13 @@
1548
1622
  "x-kubernetes-group-version-kind": {
1549
1623
  "group": "rules.alerting.grafana.app",
1550
1624
  "version": "v0alpha1",
1551
- "kind": "RecordingRule"
1625
+ "kind": "Config"
1552
1626
  }
1553
1627
  },
1554
1628
  "put": {
1555
- "tags": ["RecordingRule"],
1556
- "description": "replace status of the specified RecordingRule",
1557
- "operationId": "replaceRecordingRuleStatus",
1629
+ "tags": ["Config"],
1630
+ "description": "replace status of the specified Config",
1631
+ "operationId": "replaceConfigStatus",
1558
1632
  "parameters": [
1559
1633
  {
1560
1634
  "name": "dryRun",
@@ -1588,12 +1662,12 @@
1588
1662
  "content": {
1589
1663
  "application/json": {
1590
1664
  "schema": {
1591
- "$ref": "#/components/schemas/RecordingRule"
1665
+ "$ref": "#/components/schemas/Config"
1592
1666
  }
1593
1667
  },
1594
1668
  "application/yaml": {
1595
1669
  "schema": {
1596
- "$ref": "#/components/schemas/RecordingRule"
1670
+ "$ref": "#/components/schemas/Config"
1597
1671
  }
1598
1672
  }
1599
1673
  },
@@ -1605,12 +1679,12 @@
1605
1679
  "content": {
1606
1680
  "application/json": {
1607
1681
  "schema": {
1608
- "$ref": "#/components/schemas/RecordingRule"
1682
+ "$ref": "#/components/schemas/Config"
1609
1683
  }
1610
1684
  },
1611
1685
  "application/yaml": {
1612
1686
  "schema": {
1613
- "$ref": "#/components/schemas/RecordingRule"
1687
+ "$ref": "#/components/schemas/Config"
1614
1688
  }
1615
1689
  }
1616
1690
  }
@@ -1620,12 +1694,12 @@
1620
1694
  "content": {
1621
1695
  "application/json": {
1622
1696
  "schema": {
1623
- "$ref": "#/components/schemas/RecordingRule"
1697
+ "$ref": "#/components/schemas/Config"
1624
1698
  }
1625
1699
  },
1626
1700
  "application/yaml": {
1627
1701
  "schema": {
1628
- "$ref": "#/components/schemas/RecordingRule"
1702
+ "$ref": "#/components/schemas/Config"
1629
1703
  }
1630
1704
  }
1631
1705
  }
@@ -1635,13 +1709,13 @@
1635
1709
  "x-kubernetes-group-version-kind": {
1636
1710
  "group": "rules.alerting.grafana.app",
1637
1711
  "version": "v0alpha1",
1638
- "kind": "RecordingRule"
1712
+ "kind": "Config"
1639
1713
  }
1640
1714
  },
1641
1715
  "patch": {
1642
- "tags": ["RecordingRule"],
1643
- "description": "partially update status of the specified RecordingRule",
1644
- "operationId": "updateRecordingRuleStatus",
1716
+ "tags": ["Config"],
1717
+ "description": "partially update status of the specified Config",
1718
+ "operationId": "updateConfigStatus",
1645
1719
  "parameters": [
1646
1720
  {
1647
1721
  "name": "dryRun",
@@ -1711,12 +1785,12 @@
1711
1785
  "content": {
1712
1786
  "application/json": {
1713
1787
  "schema": {
1714
- "$ref": "#/components/schemas/RecordingRule"
1788
+ "$ref": "#/components/schemas/Config"
1715
1789
  }
1716
1790
  },
1717
1791
  "application/yaml": {
1718
1792
  "schema": {
1719
- "$ref": "#/components/schemas/RecordingRule"
1793
+ "$ref": "#/components/schemas/Config"
1720
1794
  }
1721
1795
  }
1722
1796
  }
@@ -1726,12 +1800,12 @@
1726
1800
  "content": {
1727
1801
  "application/json": {
1728
1802
  "schema": {
1729
- "$ref": "#/components/schemas/RecordingRule"
1803
+ "$ref": "#/components/schemas/Config"
1730
1804
  }
1731
1805
  },
1732
1806
  "application/yaml": {
1733
1807
  "schema": {
1734
- "$ref": "#/components/schemas/RecordingRule"
1808
+ "$ref": "#/components/schemas/Config"
1735
1809
  }
1736
1810
  }
1737
1811
  }
@@ -1741,14 +1815,14 @@
1741
1815
  "x-kubernetes-group-version-kind": {
1742
1816
  "group": "rules.alerting.grafana.app",
1743
1817
  "version": "v0alpha1",
1744
- "kind": "RecordingRule"
1818
+ "kind": "Config"
1745
1819
  }
1746
1820
  },
1747
1821
  "parameters": [
1748
1822
  {
1749
1823
  "name": "name",
1750
1824
  "in": "path",
1751
- "description": "name of the RecordingRule",
1825
+ "description": "name of the Config",
1752
1826
  "required": true,
1753
1827
  "schema": {
1754
1828
  "type": "string",
@@ -1766,11 +1840,11 @@
1766
1840
  }
1767
1841
  ]
1768
1842
  },
1769
- "/rulesequences": {
1843
+ "/recordingrules": {
1770
1844
  "get": {
1771
- "tags": ["RuleSequence"],
1772
- "description": "list or watch objects of kind RuleSequence",
1773
- "operationId": "listRuleSequence",
1845
+ "tags": ["RecordingRule"],
1846
+ "description": "list objects of kind RecordingRule",
1847
+ "operationId": "listRecordingRule",
1774
1848
  "parameters": [
1775
1849
  {
1776
1850
  "name": "continue",
@@ -1842,17 +1916,17 @@
1842
1916
  "content": {
1843
1917
  "application/json": {
1844
1918
  "schema": {
1845
- "$ref": "#/components/schemas/RuleSequenceList"
1919
+ "$ref": "#/components/schemas/RecordingRuleList"
1846
1920
  }
1847
1921
  },
1848
1922
  "application/json;stream=watch": {
1849
1923
  "schema": {
1850
- "$ref": "#/components/schemas/RuleSequenceList"
1924
+ "$ref": "#/components/schemas/RecordingRuleList"
1851
1925
  }
1852
1926
  },
1853
1927
  "application/yaml": {
1854
1928
  "schema": {
1855
- "$ref": "#/components/schemas/RuleSequenceList"
1929
+ "$ref": "#/components/schemas/RecordingRuleList"
1856
1930
  }
1857
1931
  }
1858
1932
  }
@@ -1862,13 +1936,13 @@
1862
1936
  "x-kubernetes-group-version-kind": {
1863
1937
  "group": "rules.alerting.grafana.app",
1864
1938
  "version": "v0alpha1",
1865
- "kind": "RuleSequence"
1939
+ "kind": "RecordingRule"
1866
1940
  }
1867
1941
  },
1868
1942
  "post": {
1869
- "tags": ["RuleSequence"],
1870
- "description": "create a RuleSequence",
1871
- "operationId": "createRuleSequence",
1943
+ "tags": ["RecordingRule"],
1944
+ "description": "create a RecordingRule",
1945
+ "operationId": "createRecordingRule",
1872
1946
  "parameters": [
1873
1947
  {
1874
1948
  "name": "dryRun",
@@ -1902,12 +1976,12 @@
1902
1976
  "content": {
1903
1977
  "application/json": {
1904
1978
  "schema": {
1905
- "$ref": "#/components/schemas/RuleSequence"
1979
+ "$ref": "#/components/schemas/RecordingRule"
1906
1980
  }
1907
1981
  },
1908
1982
  "application/yaml": {
1909
1983
  "schema": {
1910
- "$ref": "#/components/schemas/RuleSequence"
1984
+ "$ref": "#/components/schemas/RecordingRule"
1911
1985
  }
1912
1986
  }
1913
1987
  },
@@ -1919,12 +1993,12 @@
1919
1993
  "content": {
1920
1994
  "application/json": {
1921
1995
  "schema": {
1922
- "$ref": "#/components/schemas/RuleSequence"
1996
+ "$ref": "#/components/schemas/RecordingRule"
1923
1997
  }
1924
1998
  },
1925
1999
  "application/yaml": {
1926
2000
  "schema": {
1927
- "$ref": "#/components/schemas/RuleSequence"
2001
+ "$ref": "#/components/schemas/RecordingRule"
1928
2002
  }
1929
2003
  }
1930
2004
  }
@@ -1934,12 +2008,12 @@
1934
2008
  "content": {
1935
2009
  "application/json": {
1936
2010
  "schema": {
1937
- "$ref": "#/components/schemas/RuleSequence"
2011
+ "$ref": "#/components/schemas/RecordingRule"
1938
2012
  }
1939
2013
  },
1940
2014
  "application/yaml": {
1941
2015
  "schema": {
1942
- "$ref": "#/components/schemas/RuleSequence"
2016
+ "$ref": "#/components/schemas/RecordingRule"
1943
2017
  }
1944
2018
  }
1945
2019
  }
@@ -1949,12 +2023,12 @@
1949
2023
  "content": {
1950
2024
  "application/json": {
1951
2025
  "schema": {
1952
- "$ref": "#/components/schemas/RuleSequence"
2026
+ "$ref": "#/components/schemas/RecordingRule"
1953
2027
  }
1954
2028
  },
1955
2029
  "application/yaml": {
1956
2030
  "schema": {
1957
- "$ref": "#/components/schemas/RuleSequence"
2031
+ "$ref": "#/components/schemas/RecordingRule"
1958
2032
  }
1959
2033
  }
1960
2034
  }
@@ -1964,13 +2038,13 @@
1964
2038
  "x-kubernetes-group-version-kind": {
1965
2039
  "group": "rules.alerting.grafana.app",
1966
2040
  "version": "v0alpha1",
1967
- "kind": "RuleSequence"
2041
+ "kind": "RecordingRule"
1968
2042
  }
1969
2043
  },
1970
2044
  "delete": {
1971
- "tags": ["RuleSequence"],
1972
- "description": "delete collection of RuleSequence",
1973
- "operationId": "deletecollectionRuleSequence",
2045
+ "tags": ["RecordingRule"],
2046
+ "description": "delete collection of RecordingRule",
2047
+ "operationId": "deletecollectionRecordingRule",
1974
2048
  "parameters": [
1975
2049
  {
1976
2050
  "name": "continue",
@@ -2120,7 +2194,7 @@
2120
2194
  "x-kubernetes-group-version-kind": {
2121
2195
  "group": "rules.alerting.grafana.app",
2122
2196
  "version": "v0alpha1",
2123
- "kind": "RuleSequence"
2197
+ "kind": "RecordingRule"
2124
2198
  }
2125
2199
  },
2126
2200
  "parameters": [
@@ -2135,23 +2209,60 @@
2135
2209
  }
2136
2210
  ]
2137
2211
  },
2138
- "/rulesequences/{name}": {
2212
+ "/recordingrules/search": {
2213
+ "post": {
2214
+ "tags": ["Search"],
2215
+ "description": "Search RecordingRule resources in a namespace.",
2216
+ "operationId": "listRecordingRuleSearchV0alpha1",
2217
+ "parameters": [],
2218
+ "requestBody": {
2219
+ "description": "A SearchQuery describing what to match, sort and return.",
2220
+ "content": {
2221
+ "application/json": {
2222
+ "schema": {
2223
+ "$ref": "#/components/schemas/SearchQuery"
2224
+ },
2225
+ "example": {
2226
+ "kind": "SearchQuery",
2227
+ "apiVersion": "search.grafana.app/v0alpha1",
2228
+ "facetLimit": 0,
2229
+ "limit": 10
2230
+ }
2231
+ }
2232
+ },
2233
+ "required": true
2234
+ },
2235
+ "responses": {
2236
+ "200": {
2237
+ "description": "A SearchResults envelope.",
2238
+ "content": {
2239
+ "application/json": {
2240
+ "schema": {
2241
+ "$ref": "#/components/schemas/SearchResults"
2242
+ }
2243
+ }
2244
+ }
2245
+ }
2246
+ }
2247
+ }
2248
+ },
2249
+ "/recordingrules/{name}": {
2139
2250
  "get": {
2140
- "tags": ["RuleSequence"],
2141
- "description": "read the specified RuleSequence",
2142
- "operationId": "getRuleSequence",
2251
+ "tags": ["RecordingRule"],
2252
+ "description": "read the specified RecordingRule",
2253
+ "operationId": "getRecordingRule",
2143
2254
  "responses": {
2144
2255
  "200": {
2145
2256
  "description": "OK",
2146
2257
  "content": {
2147
2258
  "application/json": {
2148
2259
  "schema": {
2149
- "$ref": "#/components/schemas/RuleSequence"
2260
+ "$ref": "#/components/schemas/RecordingRule"
2150
2261
  }
2151
2262
  },
2152
2263
  "application/yaml": {
2153
2264
  "schema": {
2154
- "$ref": "#/components/schemas/RuleSequence"
2265
+ "$ref": "#/components/schemas/RecordingRule"
2155
2266
  }
2156
2267
  }
2157
2268
  }
@@ -2161,13 +2272,13 @@
2161
2272
  "x-kubernetes-group-version-kind": {
2162
2273
  "group": "rules.alerting.grafana.app",
2163
2274
  "version": "v0alpha1",
2164
- "kind": "RuleSequence"
2275
+ "kind": "RecordingRule"
2165
2276
  }
2166
2277
  },
2167
2278
  "put": {
2168
- "tags": ["RuleSequence"],
2169
- "description": "replace the specified RuleSequence",
2170
- "operationId": "replaceRuleSequence",
2279
+ "tags": ["RecordingRule"],
2280
+ "description": "replace the specified RecordingRule",
2281
+ "operationId": "replaceRecordingRule",
2171
2282
  "parameters": [
2172
2283
  {
2173
2284
  "name": "dryRun",
@@ -2201,12 +2312,12 @@
2201
2312
  "content": {
2202
2313
  "application/json": {
2203
2314
  "schema": {
2204
- "$ref": "#/components/schemas/RuleSequence"
2315
+ "$ref": "#/components/schemas/RecordingRule"
2205
2316
  }
2206
2317
  },
2207
2318
  "application/yaml": {
2208
2319
  "schema": {
2209
- "$ref": "#/components/schemas/RuleSequence"
2320
+ "$ref": "#/components/schemas/RecordingRule"
2210
2321
  }
2211
2322
  }
2212
2323
  },
@@ -2218,12 +2329,12 @@
2218
2329
  "content": {
2219
2330
  "application/json": {
2220
2331
  "schema": {
2221
- "$ref": "#/components/schemas/RuleSequence"
2332
+ "$ref": "#/components/schemas/RecordingRule"
2222
2333
  }
2223
2334
  },
2224
2335
  "application/yaml": {
2225
2336
  "schema": {
2226
- "$ref": "#/components/schemas/RuleSequence"
2337
+ "$ref": "#/components/schemas/RecordingRule"
2227
2338
  }
2228
2339
  }
2229
2340
  }
@@ -2233,12 +2344,12 @@
2233
2344
  "content": {
2234
2345
  "application/json": {
2235
2346
  "schema": {
2236
- "$ref": "#/components/schemas/RuleSequence"
2347
+ "$ref": "#/components/schemas/RecordingRule"
2237
2348
  }
2238
2349
  },
2239
2350
  "application/yaml": {
2240
2351
  "schema": {
2241
- "$ref": "#/components/schemas/RuleSequence"
2352
+ "$ref": "#/components/schemas/RecordingRule"
2242
2353
  }
2243
2354
  }
2244
2355
  }
@@ -2248,13 +2359,13 @@
2248
2359
  "x-kubernetes-group-version-kind": {
2249
2360
  "group": "rules.alerting.grafana.app",
2250
2361
  "version": "v0alpha1",
2251
- "kind": "RuleSequence"
2362
+ "kind": "RecordingRule"
2252
2363
  }
2253
2364
  },
2254
2365
  "delete": {
2255
- "tags": ["RuleSequence"],
2256
- "description": "delete a RuleSequence",
2257
- "operationId": "deleteRuleSequence",
2366
+ "tags": ["RecordingRule"],
2367
+ "description": "delete a RecordingRule",
2368
+ "operationId": "deleteRecordingRule",
2258
2369
  "parameters": [
2259
2370
  {
2260
2371
  "name": "dryRun",
@@ -2338,13 +2449,13 @@
2338
2449
  "x-kubernetes-group-version-kind": {
2339
2450
  "group": "rules.alerting.grafana.app",
2340
2451
  "version": "v0alpha1",
2341
- "kind": "RuleSequence"
2452
+ "kind": "RecordingRule"
2342
2453
  }
2343
2454
  },
2344
2455
  "patch": {
2345
- "tags": ["RuleSequence"],
2346
- "description": "partially update the specified RuleSequence",
2347
- "operationId": "updateRuleSequence",
2456
+ "tags": ["RecordingRule"],
2457
+ "description": "partially update the specified RecordingRule",
2458
+ "operationId": "updateRecordingRule",
2348
2459
  "parameters": [
2349
2460
  {
2350
2461
  "name": "dryRun",
@@ -2414,12 +2525,12 @@
2414
2525
  "content": {
2415
2526
  "application/json": {
2416
2527
  "schema": {
2417
- "$ref": "#/components/schemas/RuleSequence"
2528
+ "$ref": "#/components/schemas/RecordingRule"
2418
2529
  }
2419
2530
  },
2420
2531
  "application/yaml": {
2421
2532
  "schema": {
2422
- "$ref": "#/components/schemas/RuleSequence"
2533
+ "$ref": "#/components/schemas/RecordingRule"
2423
2534
  }
2424
2535
  }
2425
2536
  }
@@ -2429,12 +2540,12 @@
2429
2540
  "content": {
2430
2541
  "application/json": {
2431
2542
  "schema": {
2432
- "$ref": "#/components/schemas/RuleSequence"
2543
+ "$ref": "#/components/schemas/RecordingRule"
2433
2544
  }
2434
2545
  },
2435
2546
  "application/yaml": {
2436
2547
  "schema": {
2437
- "$ref": "#/components/schemas/RuleSequence"
2548
+ "$ref": "#/components/schemas/RecordingRule"
2438
2549
  }
2439
2550
  }
2440
2551
  }
@@ -2444,14 +2555,14 @@
2444
2555
  "x-kubernetes-group-version-kind": {
2445
2556
  "group": "rules.alerting.grafana.app",
2446
2557
  "version": "v0alpha1",
2447
- "kind": "RuleSequence"
2558
+ "kind": "RecordingRule"
2448
2559
  }
2449
2560
  },
2450
2561
  "parameters": [
2451
2562
  {
2452
2563
  "name": "name",
2453
2564
  "in": "path",
2454
- "description": "name of the RuleSequence",
2565
+ "description": "name of the RecordingRule",
2455
2566
  "required": true,
2456
2567
  "schema": {
2457
2568
  "type": "string",
@@ -2469,23 +2580,23 @@
2469
2580
  }
2470
2581
  ]
2471
2582
  },
2472
- "/rulesequences/{name}/status": {
2583
+ "/recordingrules/{name}/status": {
2473
2584
  "get": {
2474
- "tags": ["RuleSequence"],
2475
- "description": "read status of the specified RuleSequence",
2476
- "operationId": "getRuleSequenceStatus",
2585
+ "tags": ["RecordingRule"],
2586
+ "description": "read status of the specified RecordingRule",
2587
+ "operationId": "getRecordingRuleStatus",
2477
2588
  "responses": {
2478
2589
  "200": {
2479
2590
  "description": "OK",
2480
2591
  "content": {
2481
2592
  "application/json": {
2482
2593
  "schema": {
2483
- "$ref": "#/components/schemas/RuleSequence"
2594
+ "$ref": "#/components/schemas/RecordingRule"
2484
2595
  }
2485
2596
  },
2486
2597
  "application/yaml": {
2487
2598
  "schema": {
2488
- "$ref": "#/components/schemas/RuleSequence"
2599
+ "$ref": "#/components/schemas/RecordingRule"
2489
2600
  }
2490
2601
  }
2491
2602
  }
@@ -2495,13 +2606,13 @@
2495
2606
  "x-kubernetes-group-version-kind": {
2496
2607
  "group": "rules.alerting.grafana.app",
2497
2608
  "version": "v0alpha1",
2498
- "kind": "RuleSequence"
2609
+ "kind": "RecordingRule"
2499
2610
  }
2500
2611
  },
2501
2612
  "put": {
2502
- "tags": ["RuleSequence"],
2503
- "description": "replace status of the specified RuleSequence",
2504
- "operationId": "replaceRuleSequenceStatus",
2613
+ "tags": ["RecordingRule"],
2614
+ "description": "replace status of the specified RecordingRule",
2615
+ "operationId": "replaceRecordingRuleStatus",
2505
2616
  "parameters": [
2506
2617
  {
2507
2618
  "name": "dryRun",
@@ -2535,12 +2646,12 @@
2535
2646
  "content": {
2536
2647
  "application/json": {
2537
2648
  "schema": {
2538
- "$ref": "#/components/schemas/RuleSequence"
2649
+ "$ref": "#/components/schemas/RecordingRule"
2539
2650
  }
2540
2651
  },
2541
2652
  "application/yaml": {
2542
2653
  "schema": {
2543
- "$ref": "#/components/schemas/RuleSequence"
2654
+ "$ref": "#/components/schemas/RecordingRule"
2544
2655
  }
2545
2656
  }
2546
2657
  },
@@ -2552,12 +2663,12 @@
2552
2663
  "content": {
2553
2664
  "application/json": {
2554
2665
  "schema": {
2555
- "$ref": "#/components/schemas/RuleSequence"
2666
+ "$ref": "#/components/schemas/RecordingRule"
2556
2667
  }
2557
2668
  },
2558
2669
  "application/yaml": {
2559
2670
  "schema": {
2560
- "$ref": "#/components/schemas/RuleSequence"
2671
+ "$ref": "#/components/schemas/RecordingRule"
2561
2672
  }
2562
2673
  }
2563
2674
  }
@@ -2567,12 +2678,12 @@
2567
2678
  "content": {
2568
2679
  "application/json": {
2569
2680
  "schema": {
2570
- "$ref": "#/components/schemas/RuleSequence"
2681
+ "$ref": "#/components/schemas/RecordingRule"
2571
2682
  }
2572
2683
  },
2573
2684
  "application/yaml": {
2574
2685
  "schema": {
2575
- "$ref": "#/components/schemas/RuleSequence"
2686
+ "$ref": "#/components/schemas/RecordingRule"
2576
2687
  }
2577
2688
  }
2578
2689
  }
@@ -2582,13 +2693,13 @@
2582
2693
  "x-kubernetes-group-version-kind": {
2583
2694
  "group": "rules.alerting.grafana.app",
2584
2695
  "version": "v0alpha1",
2585
- "kind": "RuleSequence"
2696
+ "kind": "RecordingRule"
2586
2697
  }
2587
2698
  },
2588
2699
  "patch": {
2589
- "tags": ["RuleSequence"],
2590
- "description": "partially update status of the specified RuleSequence",
2591
- "operationId": "updateRuleSequenceStatus",
2700
+ "tags": ["RecordingRule"],
2701
+ "description": "partially update status of the specified RecordingRule",
2702
+ "operationId": "updateRecordingRuleStatus",
2592
2703
  "parameters": [
2593
2704
  {
2594
2705
  "name": "dryRun",
@@ -2658,12 +2769,12 @@
2658
2769
  "content": {
2659
2770
  "application/json": {
2660
2771
  "schema": {
2661
- "$ref": "#/components/schemas/RuleSequence"
2772
+ "$ref": "#/components/schemas/RecordingRule"
2662
2773
  }
2663
2774
  },
2664
2775
  "application/yaml": {
2665
2776
  "schema": {
2666
- "$ref": "#/components/schemas/RuleSequence"
2777
+ "$ref": "#/components/schemas/RecordingRule"
2667
2778
  }
2668
2779
  }
2669
2780
  }
@@ -2673,12 +2784,12 @@
2673
2784
  "content": {
2674
2785
  "application/json": {
2675
2786
  "schema": {
2676
- "$ref": "#/components/schemas/RuleSequence"
2787
+ "$ref": "#/components/schemas/RecordingRule"
2677
2788
  }
2678
2789
  },
2679
2790
  "application/yaml": {
2680
2791
  "schema": {
2681
- "$ref": "#/components/schemas/RuleSequence"
2792
+ "$ref": "#/components/schemas/RecordingRule"
2682
2793
  }
2683
2794
  }
2684
2795
  }
@@ -2688,14 +2799,14 @@
2688
2799
  "x-kubernetes-group-version-kind": {
2689
2800
  "group": "rules.alerting.grafana.app",
2690
2801
  "version": "v0alpha1",
2691
- "kind": "RuleSequence"
2802
+ "kind": "RecordingRule"
2692
2803
  }
2693
2804
  },
2694
2805
  "parameters": [
2695
2806
  {
2696
2807
  "name": "name",
2697
2808
  "in": "path",
2698
- "description": "name of the RuleSequence",
2809
+ "description": "name of the RecordingRule",
2699
2810
  "required": true,
2700
2811
  "schema": {
2701
2812
  "type": "string",
@@ -2713,19 +2824,148 @@
2713
2824
  }
2714
2825
  ]
2715
2826
  },
2716
- "/searchRules": {
2827
+ "/rulesequences": {
2828
+ "get": {
2829
+ "tags": ["RuleSequence"],
2830
+ "description": "list or watch objects of kind RuleSequence",
2831
+ "operationId": "listRuleSequence",
2832
+ "parameters": [
2833
+ {
2834
+ "name": "continue",
2835
+ "in": "query",
2836
+ "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
2837
+ "schema": {
2838
+ "type": "string",
2839
+ "uniqueItems": true
2840
+ }
2841
+ },
2842
+ {
2843
+ "name": "fieldSelector",
2844
+ "in": "query",
2845
+ "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
2846
+ "schema": {
2847
+ "type": "string",
2848
+ "uniqueItems": true
2849
+ }
2850
+ },
2851
+ {
2852
+ "name": "labelSelector",
2853
+ "in": "query",
2854
+ "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
2855
+ "schema": {
2856
+ "type": "string",
2857
+ "uniqueItems": true
2858
+ }
2859
+ },
2860
+ {
2861
+ "name": "limit",
2862
+ "in": "query",
2863
+ "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
2864
+ "schema": {
2865
+ "type": "integer",
2866
+ "uniqueItems": true
2867
+ }
2868
+ },
2869
+ {
2870
+ "name": "resourceVersion",
2871
+ "in": "query",
2872
+ "description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset",
2873
+ "schema": {
2874
+ "type": "string",
2875
+ "uniqueItems": true
2876
+ }
2877
+ },
2878
+ {
2879
+ "name": "timeoutSeconds",
2880
+ "in": "query",
2881
+ "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.",
2882
+ "schema": {
2883
+ "type": "integer",
2884
+ "uniqueItems": true
2885
+ }
2886
+ },
2887
+ {
2888
+ "name": "watch",
2889
+ "in": "query",
2890
+ "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.",
2891
+ "schema": {
2892
+ "type": "boolean",
2893
+ "uniqueItems": true
2894
+ }
2895
+ }
2896
+ ],
2897
+ "responses": {
2898
+ "200": {
2899
+ "description": "OK",
2900
+ "content": {
2901
+ "application/json": {
2902
+ "schema": {
2903
+ "$ref": "#/components/schemas/RuleSequenceList"
2904
+ }
2905
+ },
2906
+ "application/json;stream=watch": {
2907
+ "schema": {
2908
+ "$ref": "#/components/schemas/RuleSequenceList"
2909
+ }
2910
+ },
2911
+ "application/yaml": {
2912
+ "schema": {
2913
+ "$ref": "#/components/schemas/RuleSequenceList"
2914
+ }
2915
+ }
2916
+ }
2917
+ }
2918
+ },
2919
+ "x-kubernetes-action": "list",
2920
+ "x-kubernetes-group-version-kind": {
2921
+ "group": "rules.alerting.grafana.app",
2922
+ "version": "v0alpha1",
2923
+ "kind": "RuleSequence"
2924
+ }
2925
+ },
2717
2926
  "post": {
2718
- "operationId": "createSearchRules",
2927
+ "tags": ["RuleSequence"],
2928
+ "description": "create a RuleSequence",
2929
+ "operationId": "createRuleSequence",
2930
+ "parameters": [
2931
+ {
2932
+ "name": "dryRun",
2933
+ "in": "query",
2934
+ "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
2935
+ "schema": {
2936
+ "type": "string",
2937
+ "uniqueItems": true
2938
+ }
2939
+ },
2940
+ {
2941
+ "name": "fieldManager",
2942
+ "in": "query",
2943
+ "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.",
2944
+ "schema": {
2945
+ "type": "string",
2946
+ "uniqueItems": true
2947
+ }
2948
+ },
2949
+ {
2950
+ "name": "fieldValidation",
2951
+ "in": "query",
2952
+ "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.",
2953
+ "schema": {
2954
+ "type": "string",
2955
+ "uniqueItems": true
2956
+ }
2957
+ }
2958
+ ],
2719
2959
  "requestBody": {
2720
2960
  "content": {
2721
2961
  "application/json": {
2722
2962
  "schema": {
2723
- "$ref": "#/components/schemas/CreateSearchRulesRequestBody"
2963
+ "$ref": "#/components/schemas/RuleSequence"
2724
2964
  }
2725
2965
  },
2726
2966
  "application/yaml": {
2727
2967
  "schema": {
2728
- "$ref": "#/components/schemas/CreateSearchRulesRequestBody"
2968
+ "$ref": "#/components/schemas/RuleSequence"
2729
2969
  }
2730
2970
  }
2731
2971
  },
@@ -2737,129 +2977,1684 @@
2737
2977
  "content": {
2738
2978
  "application/json": {
2739
2979
  "schema": {
2740
- "$ref": "#/components/schemas/CreateSearchRulesResponse"
2980
+ "$ref": "#/components/schemas/RuleSequence"
2741
2981
  }
2742
2982
  },
2743
- "application/json;stream=watch": {
2983
+ "application/yaml": {
2984
+ "schema": {
2985
+ "$ref": "#/components/schemas/RuleSequence"
2986
+ }
2987
+ }
2988
+ }
2989
+ },
2990
+ "201": {
2991
+ "description": "Created",
2992
+ "content": {
2993
+ "application/json": {
2744
2994
  "schema": {
2745
- "$ref": "#/components/schemas/CreateSearchRulesResponse"
2995
+ "$ref": "#/components/schemas/RuleSequence"
2746
2996
  }
2747
2997
  },
2748
2998
  "application/yaml": {
2749
2999
  "schema": {
2750
- "$ref": "#/components/schemas/CreateSearchRulesResponse"
3000
+ "$ref": "#/components/schemas/RuleSequence"
2751
3001
  }
2752
3002
  }
2753
3003
  }
2754
- }
2755
- }
2756
- },
2757
- "parameters": []
2758
- }
2759
- },
2760
- "components": {
2761
- "schemas": {
2762
- "AlertRule": {
2763
- "type": "object",
2764
- "required": ["kind", "apiVersion", "metadata", "spec"],
2765
- "properties": {
2766
- "apiVersion": {
2767
- "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
2768
- "type": "string"
2769
3004
  },
2770
- "kind": {
2771
- "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
2772
- "type": "string"
2773
- },
2774
- "metadata": {
2775
- "default": {},
2776
- "allOf": [
2777
- {
2778
- "$ref": "#/components/schemas/ObjectMeta"
3005
+ "202": {
3006
+ "description": "Accepted",
3007
+ "content": {
3008
+ "application/json": {
3009
+ "schema": {
3010
+ "$ref": "#/components/schemas/RuleSequence"
3011
+ }
3012
+ },
3013
+ "application/yaml": {
3014
+ "schema": {
3015
+ "$ref": "#/components/schemas/RuleSequence"
3016
+ }
2779
3017
  }
2780
- ]
2781
- },
2782
- "spec": {
2783
- "$ref": "#/components/schemas/AlertRuleSpec"
2784
- },
2785
- "status": {
2786
- "$ref": "#/components/schemas/AlertRuleStatus"
3018
+ }
2787
3019
  }
2788
3020
  },
2789
- "x-kubernetes-group-version-kind": [
2790
- {
2791
- "group": "rules.alerting.grafana.app",
2792
- "kind": "AlertRule",
2793
- "version": "v0alpha1"
2794
- }
2795
- ]
2796
- },
2797
- "AlertRuleDatasourceUID": {
2798
- "type": "string",
2799
- "pattern": "^[a-zA-Z0-9_-]+$"
3021
+ "x-kubernetes-action": "post",
3022
+ "x-kubernetes-group-version-kind": {
3023
+ "group": "rules.alerting.grafana.app",
3024
+ "version": "v0alpha1",
3025
+ "kind": "RuleSequence"
3026
+ }
3027
+ },
3028
+ "delete": {
3029
+ "tags": ["RuleSequence"],
3030
+ "description": "delete collection of RuleSequence",
3031
+ "operationId": "deletecollectionRuleSequence",
3032
+ "parameters": [
3033
+ {
3034
+ "name": "continue",
3035
+ "in": "query",
3036
+ "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.",
3037
+ "schema": {
3038
+ "type": "string",
3039
+ "uniqueItems": true
3040
+ }
3041
+ },
3042
+ {
3043
+ "name": "dryRun",
3044
+ "in": "query",
3045
+ "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
3046
+ "schema": {
3047
+ "type": "string",
3048
+ "uniqueItems": true
3049
+ }
3050
+ },
3051
+ {
3052
+ "name": "fieldSelector",
3053
+ "in": "query",
3054
+ "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
3055
+ "schema": {
3056
+ "type": "string",
3057
+ "uniqueItems": true
3058
+ }
3059
+ },
3060
+ {
3061
+ "name": "gracePeriodSeconds",
3062
+ "in": "query",
3063
+ "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
3064
+ "schema": {
3065
+ "type": "integer",
3066
+ "uniqueItems": true
3067
+ }
3068
+ },
3069
+ {
3070
+ "name": "ignoreStoreReadErrorWithClusterBreakingPotential",
3071
+ "in": "query",
3072
+ "description": "if set to true, it will trigger an unsafe deletion of the resource in case the normal deletion flow fails with a corrupt object error. A resource is considered corrupt if it can not be retrieved from the underlying storage successfully because of a) its data can not be transformed e.g. decryption failure, or b) it fails to decode into an object. NOTE: unsafe deletion ignores finalizer constraints, skips precondition checks, and removes the object from the storage. WARNING: This may potentially break the cluster if the workload associated with the resource being unsafe-deleted relies on normal deletion flow. Use only if you REALLY know what you are doing. The default value is false, and the user must opt in to enable it",
3073
+ "schema": {
3074
+ "type": "boolean",
3075
+ "uniqueItems": true
3076
+ }
3077
+ },
3078
+ {
3079
+ "name": "labelSelector",
3080
+ "in": "query",
3081
+ "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
3082
+ "schema": {
3083
+ "type": "string",
3084
+ "uniqueItems": true
3085
+ }
3086
+ },
3087
+ {
3088
+ "name": "limit",
3089
+ "in": "query",
3090
+ "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.",
3091
+ "schema": {
3092
+ "type": "integer",
3093
+ "uniqueItems": true
3094
+ }
3095
+ },
3096
+ {
3097
+ "name": "orphanDependents",
3098
+ "in": "query",
3099
+ "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.",
3100
+ "schema": {
3101
+ "type": "boolean",
3102
+ "uniqueItems": true
3103
+ }
3104
+ },
3105
+ {
3106
+ "name": "propagationPolicy",
3107
+ "in": "query",
3108
+ "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.",
3109
+ "schema": {
3110
+ "type": "string",
3111
+ "uniqueItems": true
3112
+ }
3113
+ },
3114
+ {
3115
+ "name": "resourceVersion",
3116
+ "in": "query",
3117
+ "description": "resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset",
3118
+ "schema": {
3119
+ "type": "string",
3120
+ "uniqueItems": true
3121
+ }
3122
+ },
3123
+ {
3124
+ "name": "resourceVersionMatch",
3125
+ "in": "query",
3126
+ "description": "resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.\n\nDefaults to unset",
3127
+ "schema": {
3128
+ "type": "string",
3129
+ "uniqueItems": true
3130
+ }
3131
+ },
3132
+ {
3133
+ "name": "sendInitialEvents",
3134
+ "in": "query",
3135
+ "description": "`sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"k8s.io/initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched.\n\nWhen `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan\n is interpreted as \"data at least as new as the provided `resourceVersion`\"\n and the bookmark event is send when the state is synced\n to a `resourceVersion` at least as fresh as the one provided by the ListOptions.\n If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the\n bookmark event is send when the state is synced at least to the moment\n when request started being processed.\n- `resourceVersionMatch` set to any other value or unset\n Invalid error is returned.\n\nDefaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise.",
3136
+ "schema": {
3137
+ "type": "boolean",
3138
+ "uniqueItems": true
3139
+ }
3140
+ },
3141
+ {
3142
+ "name": "shardSelector",
3143
+ "in": "query",
3144
+ "description": "shardSelector restricts the list of returned objects using a CEL-based shard selector expression. The format uses the shardRange() function combined with || (logical OR) to specify one or more hash ranges:\n\n shardRange(object.metadata.uid, '0x0', '0x8000000000000000')\n shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')\n\nField paths use CEL-style object-rooted syntax (e.g. \"object.metadata.uid\"), NOT the fieldSelector format (\"metadata.uid\"). Currently supported paths:\n - object.metadata.uid\n - object.metadata.namespace\n\nhexStart and hexEnd are single-quoted CEL string literals with a '0x' prefix, defining the inclusive lower and exclusive upper bounds over the 64-bit FNV-1a hash space. The full range is [0x0, 0x10000000000000000), where the exclusive upper bound equals 2^64.\n\nExamples:\n 2-shard split:\n shard 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')\n shard 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')\n 4-shard split:\n shard 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')\n shard 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')\n shard 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')\n shard 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')\n\nThis is an alpha field and requires enabling the ShardedListAndWatch feature gate.",
3145
+ "schema": {
3146
+ "type": "string",
3147
+ "uniqueItems": true
3148
+ }
3149
+ },
3150
+ {
3151
+ "name": "timeoutSeconds",
3152
+ "in": "query",
3153
+ "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.",
3154
+ "schema": {
3155
+ "type": "integer",
3156
+ "uniqueItems": true
3157
+ }
3158
+ }
3159
+ ],
3160
+ "responses": {
3161
+ "200": {
3162
+ "description": "OK",
3163
+ "content": {
3164
+ "application/json": {
3165
+ "schema": {
3166
+ "$ref": "#/components/schemas/Status"
3167
+ }
3168
+ },
3169
+ "application/yaml": {
3170
+ "schema": {
3171
+ "$ref": "#/components/schemas/Status"
3172
+ }
3173
+ }
3174
+ }
3175
+ }
3176
+ },
3177
+ "x-kubernetes-action": "deletecollection",
3178
+ "x-kubernetes-group-version-kind": {
3179
+ "group": "rules.alerting.grafana.app",
3180
+ "version": "v0alpha1",
3181
+ "kind": "RuleSequence"
3182
+ }
3183
+ },
3184
+ "parameters": [
3185
+ {
3186
+ "name": "pretty",
3187
+ "in": "query",
3188
+ "description": "If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).",
3189
+ "schema": {
3190
+ "type": "string",
3191
+ "uniqueItems": true
3192
+ }
3193
+ }
3194
+ ]
3195
+ },
3196
+ "/rulesequences/search": {
3197
+ "post": {
3198
+ "tags": ["Search"],
3199
+ "description": "Search RuleSequence resources in a namespace.",
3200
+ "operationId": "listRuleSequenceSearchV0alpha1",
3201
+ "parameters": [],
3202
+ "requestBody": {
3203
+ "description": "A SearchQuery describing what to match, sort and return.",
3204
+ "content": {
3205
+ "application/json": {
3206
+ "schema": {
3207
+ "$ref": "#/components/schemas/SearchQuery"
3208
+ },
3209
+ "example": {
3210
+ "kind": "SearchQuery",
3211
+ "apiVersion": "search.grafana.app/v0alpha1",
3212
+ "facetLimit": 0,
3213
+ "limit": 10
3214
+ }
3215
+ }
3216
+ },
3217
+ "required": true
3218
+ },
3219
+ "responses": {
3220
+ "200": {
3221
+ "description": "A SearchResults envelope.",
3222
+ "content": {
3223
+ "application/json": {
3224
+ "schema": {
3225
+ "$ref": "#/components/schemas/SearchResults"
3226
+ }
3227
+ }
3228
+ }
3229
+ }
3230
+ }
3231
+ }
3232
+ },
3233
+ "/rulesequences/{name}": {
3234
+ "get": {
3235
+ "tags": ["RuleSequence"],
3236
+ "description": "read the specified RuleSequence",
3237
+ "operationId": "getRuleSequence",
3238
+ "responses": {
3239
+ "200": {
3240
+ "description": "OK",
3241
+ "content": {
3242
+ "application/json": {
3243
+ "schema": {
3244
+ "$ref": "#/components/schemas/RuleSequence"
3245
+ }
3246
+ },
3247
+ "application/yaml": {
3248
+ "schema": {
3249
+ "$ref": "#/components/schemas/RuleSequence"
3250
+ }
3251
+ }
3252
+ }
3253
+ }
3254
+ },
3255
+ "x-kubernetes-action": "get",
3256
+ "x-kubernetes-group-version-kind": {
3257
+ "group": "rules.alerting.grafana.app",
3258
+ "version": "v0alpha1",
3259
+ "kind": "RuleSequence"
3260
+ }
3261
+ },
3262
+ "put": {
3263
+ "tags": ["RuleSequence"],
3264
+ "description": "replace the specified RuleSequence",
3265
+ "operationId": "replaceRuleSequence",
3266
+ "parameters": [
3267
+ {
3268
+ "name": "dryRun",
3269
+ "in": "query",
3270
+ "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
3271
+ "schema": {
3272
+ "type": "string",
3273
+ "uniqueItems": true
3274
+ }
3275
+ },
3276
+ {
3277
+ "name": "fieldManager",
3278
+ "in": "query",
3279
+ "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.",
3280
+ "schema": {
3281
+ "type": "string",
3282
+ "uniqueItems": true
3283
+ }
3284
+ },
3285
+ {
3286
+ "name": "fieldValidation",
3287
+ "in": "query",
3288
+ "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.",
3289
+ "schema": {
3290
+ "type": "string",
3291
+ "uniqueItems": true
3292
+ }
3293
+ }
3294
+ ],
3295
+ "requestBody": {
3296
+ "content": {
3297
+ "application/json": {
3298
+ "schema": {
3299
+ "$ref": "#/components/schemas/RuleSequence"
3300
+ }
3301
+ },
3302
+ "application/yaml": {
3303
+ "schema": {
3304
+ "$ref": "#/components/schemas/RuleSequence"
3305
+ }
3306
+ }
3307
+ },
3308
+ "required": true
3309
+ },
3310
+ "responses": {
3311
+ "200": {
3312
+ "description": "OK",
3313
+ "content": {
3314
+ "application/json": {
3315
+ "schema": {
3316
+ "$ref": "#/components/schemas/RuleSequence"
3317
+ }
3318
+ },
3319
+ "application/yaml": {
3320
+ "schema": {
3321
+ "$ref": "#/components/schemas/RuleSequence"
3322
+ }
3323
+ }
3324
+ }
3325
+ },
3326
+ "201": {
3327
+ "description": "Created",
3328
+ "content": {
3329
+ "application/json": {
3330
+ "schema": {
3331
+ "$ref": "#/components/schemas/RuleSequence"
3332
+ }
3333
+ },
3334
+ "application/yaml": {
3335
+ "schema": {
3336
+ "$ref": "#/components/schemas/RuleSequence"
3337
+ }
3338
+ }
3339
+ }
3340
+ }
3341
+ },
3342
+ "x-kubernetes-action": "put",
3343
+ "x-kubernetes-group-version-kind": {
3344
+ "group": "rules.alerting.grafana.app",
3345
+ "version": "v0alpha1",
3346
+ "kind": "RuleSequence"
3347
+ }
3348
+ },
3349
+ "delete": {
3350
+ "tags": ["RuleSequence"],
3351
+ "description": "delete a RuleSequence",
3352
+ "operationId": "deleteRuleSequence",
3353
+ "parameters": [
3354
+ {
3355
+ "name": "dryRun",
3356
+ "in": "query",
3357
+ "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
3358
+ "schema": {
3359
+ "type": "string",
3360
+ "uniqueItems": true
3361
+ }
3362
+ },
3363
+ {
3364
+ "name": "gracePeriodSeconds",
3365
+ "in": "query",
3366
+ "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
3367
+ "schema": {
3368
+ "type": "integer",
3369
+ "uniqueItems": true
3370
+ }
3371
+ },
3372
+ {
3373
+ "name": "ignoreStoreReadErrorWithClusterBreakingPotential",
3374
+ "in": "query",
3375
+ "description": "if set to true, it will trigger an unsafe deletion of the resource in case the normal deletion flow fails with a corrupt object error. A resource is considered corrupt if it can not be retrieved from the underlying storage successfully because of a) its data can not be transformed e.g. decryption failure, or b) it fails to decode into an object. NOTE: unsafe deletion ignores finalizer constraints, skips precondition checks, and removes the object from the storage. WARNING: This may potentially break the cluster if the workload associated with the resource being unsafe-deleted relies on normal deletion flow. Use only if you REALLY know what you are doing. The default value is false, and the user must opt in to enable it",
3376
+ "schema": {
3377
+ "type": "boolean",
3378
+ "uniqueItems": true
3379
+ }
3380
+ },
3381
+ {
3382
+ "name": "orphanDependents",
3383
+ "in": "query",
3384
+ "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.",
3385
+ "schema": {
3386
+ "type": "boolean",
3387
+ "uniqueItems": true
3388
+ }
3389
+ },
3390
+ {
3391
+ "name": "propagationPolicy",
3392
+ "in": "query",
3393
+ "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.",
3394
+ "schema": {
3395
+ "type": "string",
3396
+ "uniqueItems": true
3397
+ }
3398
+ }
3399
+ ],
3400
+ "responses": {
3401
+ "200": {
3402
+ "description": "OK",
3403
+ "content": {
3404
+ "application/json": {
3405
+ "schema": {
3406
+ "$ref": "#/components/schemas/Status"
3407
+ }
3408
+ },
3409
+ "application/yaml": {
3410
+ "schema": {
3411
+ "$ref": "#/components/schemas/Status"
3412
+ }
3413
+ }
3414
+ }
3415
+ },
3416
+ "202": {
3417
+ "description": "Accepted",
3418
+ "content": {
3419
+ "application/json": {
3420
+ "schema": {
3421
+ "$ref": "#/components/schemas/Status"
3422
+ }
3423
+ },
3424
+ "application/yaml": {
3425
+ "schema": {
3426
+ "$ref": "#/components/schemas/Status"
3427
+ }
3428
+ }
3429
+ }
3430
+ }
3431
+ },
3432
+ "x-kubernetes-action": "delete",
3433
+ "x-kubernetes-group-version-kind": {
3434
+ "group": "rules.alerting.grafana.app",
3435
+ "version": "v0alpha1",
3436
+ "kind": "RuleSequence"
3437
+ }
3438
+ },
3439
+ "patch": {
3440
+ "tags": ["RuleSequence"],
3441
+ "description": "partially update the specified RuleSequence",
3442
+ "operationId": "updateRuleSequence",
3443
+ "parameters": [
3444
+ {
3445
+ "name": "dryRun",
3446
+ "in": "query",
3447
+ "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
3448
+ "schema": {
3449
+ "type": "string",
3450
+ "uniqueItems": true
3451
+ }
3452
+ },
3453
+ {
3454
+ "name": "fieldManager",
3455
+ "in": "query",
3456
+ "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).",
3457
+ "schema": {
3458
+ "type": "string",
3459
+ "uniqueItems": true
3460
+ }
3461
+ },
3462
+ {
3463
+ "name": "fieldValidation",
3464
+ "in": "query",
3465
+ "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.",
3466
+ "schema": {
3467
+ "type": "string",
3468
+ "uniqueItems": true
3469
+ }
3470
+ },
3471
+ {
3472
+ "name": "force",
3473
+ "in": "query",
3474
+ "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
3475
+ "schema": {
3476
+ "type": "boolean",
3477
+ "uniqueItems": true
3478
+ }
3479
+ }
3480
+ ],
3481
+ "requestBody": {
3482
+ "content": {
3483
+ "application/apply-patch+yaml": {
3484
+ "schema": {
3485
+ "$ref": "#/components/schemas/Patch"
3486
+ }
3487
+ },
3488
+ "application/json-patch+json": {
3489
+ "schema": {
3490
+ "$ref": "#/components/schemas/Patch"
3491
+ }
3492
+ },
3493
+ "application/merge-patch+json": {
3494
+ "schema": {
3495
+ "$ref": "#/components/schemas/Patch"
3496
+ }
3497
+ },
3498
+ "application/strategic-merge-patch+json": {
3499
+ "schema": {
3500
+ "$ref": "#/components/schemas/Patch"
3501
+ }
3502
+ }
3503
+ },
3504
+ "required": true
3505
+ },
3506
+ "responses": {
3507
+ "200": {
3508
+ "description": "OK",
3509
+ "content": {
3510
+ "application/json": {
3511
+ "schema": {
3512
+ "$ref": "#/components/schemas/RuleSequence"
3513
+ }
3514
+ },
3515
+ "application/yaml": {
3516
+ "schema": {
3517
+ "$ref": "#/components/schemas/RuleSequence"
3518
+ }
3519
+ }
3520
+ }
3521
+ },
3522
+ "201": {
3523
+ "description": "Created",
3524
+ "content": {
3525
+ "application/json": {
3526
+ "schema": {
3527
+ "$ref": "#/components/schemas/RuleSequence"
3528
+ }
3529
+ },
3530
+ "application/yaml": {
3531
+ "schema": {
3532
+ "$ref": "#/components/schemas/RuleSequence"
3533
+ }
3534
+ }
3535
+ }
3536
+ }
3537
+ },
3538
+ "x-kubernetes-action": "patch",
3539
+ "x-kubernetes-group-version-kind": {
3540
+ "group": "rules.alerting.grafana.app",
3541
+ "version": "v0alpha1",
3542
+ "kind": "RuleSequence"
3543
+ }
3544
+ },
3545
+ "parameters": [
3546
+ {
3547
+ "name": "name",
3548
+ "in": "path",
3549
+ "description": "name of the RuleSequence",
3550
+ "required": true,
3551
+ "schema": {
3552
+ "type": "string",
3553
+ "uniqueItems": true
3554
+ }
3555
+ },
3556
+ {
3557
+ "name": "pretty",
3558
+ "in": "query",
3559
+ "description": "If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).",
3560
+ "schema": {
3561
+ "type": "string",
3562
+ "uniqueItems": true
3563
+ }
3564
+ }
3565
+ ]
3566
+ },
3567
+ "/rulesequences/{name}/status": {
3568
+ "get": {
3569
+ "tags": ["RuleSequence"],
3570
+ "description": "read status of the specified RuleSequence",
3571
+ "operationId": "getRuleSequenceStatus",
3572
+ "responses": {
3573
+ "200": {
3574
+ "description": "OK",
3575
+ "content": {
3576
+ "application/json": {
3577
+ "schema": {
3578
+ "$ref": "#/components/schemas/RuleSequence"
3579
+ }
3580
+ },
3581
+ "application/yaml": {
3582
+ "schema": {
3583
+ "$ref": "#/components/schemas/RuleSequence"
3584
+ }
3585
+ }
3586
+ }
3587
+ }
3588
+ },
3589
+ "x-kubernetes-action": "get",
3590
+ "x-kubernetes-group-version-kind": {
3591
+ "group": "rules.alerting.grafana.app",
3592
+ "version": "v0alpha1",
3593
+ "kind": "RuleSequence"
3594
+ }
3595
+ },
3596
+ "put": {
3597
+ "tags": ["RuleSequence"],
3598
+ "description": "replace status of the specified RuleSequence",
3599
+ "operationId": "replaceRuleSequenceStatus",
3600
+ "parameters": [
3601
+ {
3602
+ "name": "dryRun",
3603
+ "in": "query",
3604
+ "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
3605
+ "schema": {
3606
+ "type": "string",
3607
+ "uniqueItems": true
3608
+ }
3609
+ },
3610
+ {
3611
+ "name": "fieldManager",
3612
+ "in": "query",
3613
+ "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.",
3614
+ "schema": {
3615
+ "type": "string",
3616
+ "uniqueItems": true
3617
+ }
3618
+ },
3619
+ {
3620
+ "name": "fieldValidation",
3621
+ "in": "query",
3622
+ "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.",
3623
+ "schema": {
3624
+ "type": "string",
3625
+ "uniqueItems": true
3626
+ }
3627
+ }
3628
+ ],
3629
+ "requestBody": {
3630
+ "content": {
3631
+ "application/json": {
3632
+ "schema": {
3633
+ "$ref": "#/components/schemas/RuleSequence"
3634
+ }
3635
+ },
3636
+ "application/yaml": {
3637
+ "schema": {
3638
+ "$ref": "#/components/schemas/RuleSequence"
3639
+ }
3640
+ }
3641
+ },
3642
+ "required": true
3643
+ },
3644
+ "responses": {
3645
+ "200": {
3646
+ "description": "OK",
3647
+ "content": {
3648
+ "application/json": {
3649
+ "schema": {
3650
+ "$ref": "#/components/schemas/RuleSequence"
3651
+ }
3652
+ },
3653
+ "application/yaml": {
3654
+ "schema": {
3655
+ "$ref": "#/components/schemas/RuleSequence"
3656
+ }
3657
+ }
3658
+ }
3659
+ },
3660
+ "201": {
3661
+ "description": "Created",
3662
+ "content": {
3663
+ "application/json": {
3664
+ "schema": {
3665
+ "$ref": "#/components/schemas/RuleSequence"
3666
+ }
3667
+ },
3668
+ "application/yaml": {
3669
+ "schema": {
3670
+ "$ref": "#/components/schemas/RuleSequence"
3671
+ }
3672
+ }
3673
+ }
3674
+ }
3675
+ },
3676
+ "x-kubernetes-action": "put",
3677
+ "x-kubernetes-group-version-kind": {
3678
+ "group": "rules.alerting.grafana.app",
3679
+ "version": "v0alpha1",
3680
+ "kind": "RuleSequence"
3681
+ }
3682
+ },
3683
+ "patch": {
3684
+ "tags": ["RuleSequence"],
3685
+ "description": "partially update status of the specified RuleSequence",
3686
+ "operationId": "updateRuleSequenceStatus",
3687
+ "parameters": [
3688
+ {
3689
+ "name": "dryRun",
3690
+ "in": "query",
3691
+ "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed",
3692
+ "schema": {
3693
+ "type": "string",
3694
+ "uniqueItems": true
3695
+ }
3696
+ },
3697
+ {
3698
+ "name": "fieldManager",
3699
+ "in": "query",
3700
+ "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).",
3701
+ "schema": {
3702
+ "type": "string",
3703
+ "uniqueItems": true
3704
+ }
3705
+ },
3706
+ {
3707
+ "name": "fieldValidation",
3708
+ "in": "query",
3709
+ "description": "fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.",
3710
+ "schema": {
3711
+ "type": "string",
3712
+ "uniqueItems": true
3713
+ }
3714
+ },
3715
+ {
3716
+ "name": "force",
3717
+ "in": "query",
3718
+ "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.",
3719
+ "schema": {
3720
+ "type": "boolean",
3721
+ "uniqueItems": true
3722
+ }
3723
+ }
3724
+ ],
3725
+ "requestBody": {
3726
+ "content": {
3727
+ "application/apply-patch+yaml": {
3728
+ "schema": {
3729
+ "$ref": "#/components/schemas/Patch"
3730
+ }
3731
+ },
3732
+ "application/json-patch+json": {
3733
+ "schema": {
3734
+ "$ref": "#/components/schemas/Patch"
3735
+ }
3736
+ },
3737
+ "application/merge-patch+json": {
3738
+ "schema": {
3739
+ "$ref": "#/components/schemas/Patch"
3740
+ }
3741
+ },
3742
+ "application/strategic-merge-patch+json": {
3743
+ "schema": {
3744
+ "$ref": "#/components/schemas/Patch"
3745
+ }
3746
+ }
3747
+ },
3748
+ "required": true
3749
+ },
3750
+ "responses": {
3751
+ "200": {
3752
+ "description": "OK",
3753
+ "content": {
3754
+ "application/json": {
3755
+ "schema": {
3756
+ "$ref": "#/components/schemas/RuleSequence"
3757
+ }
3758
+ },
3759
+ "application/yaml": {
3760
+ "schema": {
3761
+ "$ref": "#/components/schemas/RuleSequence"
3762
+ }
3763
+ }
3764
+ }
3765
+ },
3766
+ "201": {
3767
+ "description": "Created",
3768
+ "content": {
3769
+ "application/json": {
3770
+ "schema": {
3771
+ "$ref": "#/components/schemas/RuleSequence"
3772
+ }
3773
+ },
3774
+ "application/yaml": {
3775
+ "schema": {
3776
+ "$ref": "#/components/schemas/RuleSequence"
3777
+ }
3778
+ }
3779
+ }
3780
+ }
3781
+ },
3782
+ "x-kubernetes-action": "patch",
3783
+ "x-kubernetes-group-version-kind": {
3784
+ "group": "rules.alerting.grafana.app",
3785
+ "version": "v0alpha1",
3786
+ "kind": "RuleSequence"
3787
+ }
3788
+ },
3789
+ "parameters": [
3790
+ {
3791
+ "name": "name",
3792
+ "in": "path",
3793
+ "description": "name of the RuleSequence",
3794
+ "required": true,
3795
+ "schema": {
3796
+ "type": "string",
3797
+ "uniqueItems": true
3798
+ }
3799
+ },
3800
+ {
3801
+ "name": "pretty",
3802
+ "in": "query",
3803
+ "description": "If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).",
3804
+ "schema": {
3805
+ "type": "string",
3806
+ "uniqueItems": true
3807
+ }
3808
+ }
3809
+ ]
3810
+ },
3811
+ "/search/hybrid": {
3812
+ "get": {
3813
+ "description": "Experimental hybrid search for alert rules",
3814
+ "operationId": "getHybridSearchAlertRules",
3815
+ "responses": {
3816
+ "default": {
3817
+ "description": "Default Response."
3818
+ }
3819
+ }
3820
+ },
3821
+ "parameters": [
3822
+ {
3823
+ "name": "folder",
3824
+ "in": "query",
3825
+ "description": "Filter by the stored folder UID",
3826
+ "schema": {
3827
+ "type": "string",
3828
+ "uniqueItems": true
3829
+ }
3830
+ },
3831
+ {
3832
+ "name": "limit",
3833
+ "in": "query",
3834
+ "description": "Maximum number of results (default 50)",
3835
+ "schema": {
3836
+ "type": "integer",
3837
+ "uniqueItems": true
3838
+ }
3839
+ },
3840
+ {
3841
+ "name": "minRelevance",
3842
+ "in": "query",
3843
+ "description": "Minimum reranker relevance: lowest, low, medium, high, or highest. Cannot be combined with skipRerank",
3844
+ "schema": {
3845
+ "type": "string",
3846
+ "uniqueItems": true
3847
+ }
3848
+ },
3849
+ {
3850
+ "name": "query",
3851
+ "in": "query",
3852
+ "description": "Search text for lexical and semantic retrieval",
3853
+ "required": true,
3854
+ "schema": {
3855
+ "type": "string",
3856
+ "uniqueItems": true
3857
+ }
3858
+ },
3859
+ {
3860
+ "name": "semanticQuery",
3861
+ "in": "query",
3862
+ "description": "Optional text to embed for semantic retrieval instead of query",
3863
+ "schema": {
3864
+ "type": "string",
3865
+ "uniqueItems": true
3866
+ }
3867
+ },
3868
+ {
3869
+ "name": "skipRerank",
3870
+ "in": "query",
3871
+ "description": "Skip reranking and return the fused lexical and semantic ordering",
3872
+ "schema": {
3873
+ "type": "boolean",
3874
+ "uniqueItems": true
3875
+ }
3876
+ }
3877
+ ]
3878
+ },
3879
+ "/searchAlertRules": {
3880
+ "post": {
3881
+ "operationId": "listAlertRuleSearchRulesV0alpha1",
3882
+ "requestBody": {
3883
+ "content": {
3884
+ "application/json": {
3885
+ "schema": {
3886
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1RequestBody"
3887
+ }
3888
+ },
3889
+ "application/yaml": {
3890
+ "schema": {
3891
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1RequestBody"
3892
+ }
3893
+ }
3894
+ },
3895
+ "required": true
3896
+ },
3897
+ "responses": {
3898
+ "200": {
3899
+ "description": "OK",
3900
+ "content": {
3901
+ "application/json": {
3902
+ "schema": {
3903
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1Response"
3904
+ }
3905
+ },
3906
+ "application/json;stream=watch": {
3907
+ "schema": {
3908
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1Response"
3909
+ }
3910
+ },
3911
+ "application/yaml": {
3912
+ "schema": {
3913
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1Response"
3914
+ }
3915
+ }
3916
+ }
3917
+ }
3918
+ }
3919
+ },
3920
+ "parameters": []
3921
+ },
3922
+ "/searchRecordingRules": {
3923
+ "post": {
3924
+ "operationId": "listRecordingRuleSearchRulesV0alpha1",
3925
+ "requestBody": {
3926
+ "content": {
3927
+ "application/json": {
3928
+ "schema": {
3929
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1RequestBody"
3930
+ }
3931
+ },
3932
+ "application/yaml": {
3933
+ "schema": {
3934
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1RequestBody"
3935
+ }
3936
+ }
3937
+ },
3938
+ "required": true
3939
+ },
3940
+ "responses": {
3941
+ "200": {
3942
+ "description": "OK",
3943
+ "content": {
3944
+ "application/json": {
3945
+ "schema": {
3946
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1Response"
3947
+ }
3948
+ },
3949
+ "application/json;stream=watch": {
3950
+ "schema": {
3951
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1Response"
3952
+ }
3953
+ },
3954
+ "application/yaml": {
3955
+ "schema": {
3956
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1Response"
3957
+ }
3958
+ }
3959
+ }
3960
+ }
3961
+ }
3962
+ },
3963
+ "parameters": []
3964
+ }
3965
+ },
3966
+ "components": {
3967
+ "schemas": {
3968
+ "AlertRule": {
3969
+ "type": "object",
3970
+ "required": ["kind", "apiVersion", "metadata", "spec"],
3971
+ "properties": {
3972
+ "apiVersion": {
3973
+ "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
3974
+ "type": "string"
3975
+ },
3976
+ "kind": {
3977
+ "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
3978
+ "type": "string"
3979
+ },
3980
+ "metadata": {
3981
+ "default": {},
3982
+ "allOf": [
3983
+ {
3984
+ "$ref": "#/components/schemas/ObjectMeta"
3985
+ }
3986
+ ]
3987
+ },
3988
+ "spec": {
3989
+ "$ref": "#/components/schemas/AlertRuleSpec"
3990
+ },
3991
+ "status": {
3992
+ "$ref": "#/components/schemas/AlertRuleStatus"
3993
+ }
3994
+ },
3995
+ "x-kubernetes-group-version-kind": [
3996
+ {
3997
+ "group": "rules.alerting.grafana.app",
3998
+ "kind": "AlertRule",
3999
+ "version": "v0alpha1"
4000
+ }
4001
+ ]
4002
+ },
4003
+ "AlertRuleAlertRuleHealth": {
4004
+ "type": "string",
4005
+ "enum": ["Unknown", "OK", "Paused", "Error", "NoData"]
4006
+ },
4007
+ "AlertRuleAlertRuleInstanceTotals": {
4008
+ "description": "Count of alert instances per state. error also counts instances whose evaluation\nerrored but were mapped to another state via execErrState, so it can overlap.",
4009
+ "type": "object",
4010
+ "properties": {
4011
+ "error": {
4012
+ "type": "integer"
4013
+ },
4014
+ "firing": {
4015
+ "type": "integer"
4016
+ },
4017
+ "healthy": {
4018
+ "type": "integer"
4019
+ },
4020
+ "nodata": {
4021
+ "type": "integer"
4022
+ },
4023
+ "pending": {
4024
+ "type": "integer"
4025
+ },
4026
+ "recovering": {
4027
+ "type": "integer"
4028
+ }
4029
+ },
4030
+ "additionalProperties": false
4031
+ },
4032
+ "AlertRuleAlertRuleState": {
4033
+ "type": "string",
4034
+ "enum": ["Inactive", "Healthy", "Firing", "Pending", "Recovering"]
4035
+ },
4036
+ "AlertRuleAlertRuleStateReason": {
4037
+ "type": "string",
4038
+ "enum": ["Evaluated", "KeepLast"]
4039
+ },
4040
+ "AlertRuleDatasourceUID": {
4041
+ "type": "string",
4042
+ "pattern": "^[a-zA-Z0-9_-]+$"
4043
+ },
4044
+ "AlertRuleExecErrState": {
4045
+ "type": "string",
4046
+ "enum": ["Error", "Ok", "Alerting", "KeepLast"]
4047
+ },
4048
+ "AlertRuleExpression": {
4049
+ "type": "object",
4050
+ "required": ["model"],
4051
+ "properties": {
4052
+ "datasourceUID": {
4053
+ "$ref": "#/components/schemas/AlertRuleDatasourceUID"
4054
+ },
4055
+ "model": {
4056
+ "type": "object",
4057
+ "additionalProperties": {}
4058
+ },
4059
+ "queryType": {
4060
+ "description": "The type of query if this is a query expression",
4061
+ "type": "string"
4062
+ },
4063
+ "relativeTimeRange": {
4064
+ "$ref": "#/components/schemas/AlertRuleRelativeTimeRange"
4065
+ },
4066
+ "source": {
4067
+ "description": "Used to mark the expression to be used as the final source for the rule evaluation\nOnly one expression in a rule can be marked as the source\nFor AlertRules, this is the expression that will be evaluated against the alerting condition\nFor RecordingRules, this is the expression that will be recorded",
4068
+ "type": "boolean"
4069
+ }
4070
+ },
4071
+ "additionalProperties": false
4072
+ },
4073
+ "AlertRuleExpressionMap": {
4074
+ "type": "object",
4075
+ "additionalProperties": {
4076
+ "$ref": "#/components/schemas/AlertRuleExpression"
4077
+ }
4078
+ },
4079
+ "AlertRuleIntervalTrigger": {
4080
+ "type": "object",
4081
+ "required": ["interval"],
4082
+ "properties": {
4083
+ "interval": {
4084
+ "$ref": "#/components/schemas/AlertRulePromDuration"
4085
+ }
4086
+ },
4087
+ "additionalProperties": false
4088
+ },
4089
+ "AlertRuleList": {
4090
+ "type": "object",
4091
+ "required": ["metadata", "items"],
4092
+ "properties": {
4093
+ "apiVersion": {
4094
+ "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
4095
+ "type": "string"
4096
+ },
4097
+ "items": {
4098
+ "type": "array",
4099
+ "items": {
4100
+ "default": {},
4101
+ "allOf": [
4102
+ {
4103
+ "$ref": "#/components/schemas/AlertRule"
4104
+ }
4105
+ ]
4106
+ }
4107
+ },
4108
+ "kind": {
4109
+ "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
4110
+ "type": "string"
4111
+ },
4112
+ "metadata": {
4113
+ "default": {},
4114
+ "allOf": [
4115
+ {
4116
+ "$ref": "#/components/schemas/ListMeta"
4117
+ }
4118
+ ]
4119
+ }
4120
+ },
4121
+ "x-kubernetes-group-version-kind": [
4122
+ {
4123
+ "group": "rules.alerting.grafana.app",
4124
+ "kind": "AlertRuleList",
4125
+ "version": "v0alpha1"
4126
+ }
4127
+ ]
4128
+ },
4129
+ "AlertRuleNamedRoutingTree": {
4130
+ "type": "object",
4131
+ "required": ["type", "routingTree"],
4132
+ "properties": {
4133
+ "routingTree": {
4134
+ "type": "string"
4135
+ },
4136
+ "type": {
4137
+ "default": "NamedRoutingTree",
4138
+ "allOf": [
4139
+ {
4140
+ "$ref": "#/components/schemas/AlertRuleNotificationSettingsType"
4141
+ }
4142
+ ]
4143
+ }
4144
+ },
4145
+ "additionalProperties": false
4146
+ },
4147
+ "AlertRuleNoDataState": {
4148
+ "type": "string",
4149
+ "enum": ["NoData", "Ok", "Alerting", "KeepLast"]
4150
+ },
4151
+ "AlertRuleNotificationSettings": {
4152
+ "oneOf": [
4153
+ {
4154
+ "$ref": "#/components/schemas/AlertRuleSimplifiedRouting"
4155
+ },
4156
+ {
4157
+ "$ref": "#/components/schemas/AlertRuleNamedRoutingTree"
4158
+ }
4159
+ ]
4160
+ },
4161
+ "AlertRuleNotificationSettingsType": {
4162
+ "type": "string",
4163
+ "enum": ["SimplifiedRouting", "NamedRoutingTree"]
4164
+ },
4165
+ "AlertRuleOperatorState": {
4166
+ "type": "object",
4167
+ "required": ["lastEvaluation", "state"],
4168
+ "properties": {
4169
+ "descriptiveState": {
4170
+ "description": "descriptiveState is an optional more descriptive state field which has no requirements on format",
4171
+ "type": "string"
4172
+ },
4173
+ "details": {
4174
+ "description": "details contains any extra information that is operator-specific",
4175
+ "type": "object",
4176
+ "additionalProperties": true
4177
+ },
4178
+ "lastEvaluation": {
4179
+ "description": "lastEvaluation is the ResourceVersion last evaluated",
4180
+ "type": "string"
4181
+ },
4182
+ "state": {
4183
+ "description": "state describes the state of the lastEvaluation.\nIt is limited to three possible states for machine evaluation.",
4184
+ "type": "string",
4185
+ "enum": ["success", "in_progress", "failed"]
4186
+ }
4187
+ },
4188
+ "additionalProperties": false
4189
+ },
4190
+ "AlertRulePanelRef": {
4191
+ "type": "object",
4192
+ "required": ["dashboardUID", "panelID"],
4193
+ "properties": {
4194
+ "dashboardUID": {
4195
+ "type": "string",
4196
+ "minLength": 1,
4197
+ "pattern": "^[a-zA-Z0-9_-]+$"
4198
+ },
4199
+ "panelID": {
4200
+ "type": "integer",
4201
+ "minimum": 0
4202
+ }
4203
+ },
4204
+ "additionalProperties": false
4205
+ },
4206
+ "AlertRulePromDuration": {
4207
+ "type": "string",
4208
+ "pattern": "^((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?|0)$",
4209
+ "not": {
4210
+ "pattern": "hmuµn"
4211
+ }
4212
+ },
4213
+ "AlertRulePromDurationWMillis": {
4214
+ "type": "string",
4215
+ "pattern": "^((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?|0)$"
4216
+ },
4217
+ "AlertRuleRelativeTimeRange": {
4218
+ "type": "object",
4219
+ "required": ["from", "to"],
4220
+ "properties": {
4221
+ "from": {
4222
+ "$ref": "#/components/schemas/AlertRulePromDurationWMillis"
4223
+ },
4224
+ "to": {
4225
+ "$ref": "#/components/schemas/AlertRulePromDurationWMillis"
4226
+ }
4227
+ },
4228
+ "additionalProperties": false
4229
+ },
4230
+ "AlertRuleSimplifiedRouting": {
4231
+ "type": "object",
4232
+ "required": ["type", "receiver"],
4233
+ "properties": {
4234
+ "activeTimeIntervals": {
4235
+ "type": "array",
4236
+ "items": {
4237
+ "$ref": "#/components/schemas/AlertRuleTimeIntervalRef"
4238
+ }
4239
+ },
4240
+ "groupBy": {
4241
+ "type": "array",
4242
+ "items": {
4243
+ "type": "string"
4244
+ }
4245
+ },
4246
+ "groupInterval": {
4247
+ "$ref": "#/components/schemas/AlertRulePromDuration"
4248
+ },
4249
+ "groupWait": {
4250
+ "$ref": "#/components/schemas/AlertRulePromDuration"
4251
+ },
4252
+ "muteTimeIntervals": {
4253
+ "type": "array",
4254
+ "items": {
4255
+ "$ref": "#/components/schemas/AlertRuleTimeIntervalRef"
4256
+ }
4257
+ },
4258
+ "receiver": {
4259
+ "type": "string"
4260
+ },
4261
+ "repeatInterval": {
4262
+ "$ref": "#/components/schemas/AlertRulePromDuration"
4263
+ },
4264
+ "type": {
4265
+ "default": "SimplifiedRouting",
4266
+ "allOf": [
4267
+ {
4268
+ "$ref": "#/components/schemas/AlertRuleNotificationSettingsType"
4269
+ }
4270
+ ]
4271
+ }
4272
+ },
4273
+ "additionalProperties": false
2800
4274
  },
2801
- "AlertRuleExecErrState": {
2802
- "type": "string",
2803
- "enum": ["Error", "Ok", "Alerting", "KeepLast"]
4275
+ "AlertRuleSpec": {
4276
+ "type": "object",
4277
+ "required": ["title", "trigger", "noDataState", "execErrState", "expressions"],
4278
+ "properties": {
4279
+ "annotations": {
4280
+ "type": "object",
4281
+ "additionalProperties": {
4282
+ "$ref": "#/components/schemas/AlertRuleTemplateString"
4283
+ }
4284
+ },
4285
+ "execErrState": {
4286
+ "$ref": "#/components/schemas/AlertRuleExecErrState"
4287
+ },
4288
+ "expressions": {
4289
+ "$ref": "#/components/schemas/AlertRuleExpressionMap"
4290
+ },
4291
+ "for": {
4292
+ "type": "string"
4293
+ },
4294
+ "keepFiringFor": {
4295
+ "type": "string"
4296
+ },
4297
+ "labels": {
4298
+ "type": "object",
4299
+ "additionalProperties": {
4300
+ "$ref": "#/components/schemas/AlertRuleTemplateString"
4301
+ }
4302
+ },
4303
+ "missingSeriesEvalsToResolve": {
4304
+ "type": "integer",
4305
+ "minimum": 0
4306
+ },
4307
+ "noDataState": {
4308
+ "$ref": "#/components/schemas/AlertRuleNoDataState"
4309
+ },
4310
+ "notificationSettings": {
4311
+ "$ref": "#/components/schemas/AlertRuleNotificationSettings"
4312
+ },
4313
+ "panelRef": {
4314
+ "$ref": "#/components/schemas/AlertRulePanelRef"
4315
+ },
4316
+ "paused": {
4317
+ "type": "boolean"
4318
+ },
4319
+ "title": {
4320
+ "type": "string"
4321
+ },
4322
+ "trigger": {
4323
+ "$ref": "#/components/schemas/AlertRuleIntervalTrigger"
4324
+ }
4325
+ },
4326
+ "additionalProperties": false
2804
4327
  },
2805
- "AlertRuleExpression": {
4328
+ "AlertRuleStatus": {
2806
4329
  "type": "object",
2807
- "required": ["model"],
2808
4330
  "properties": {
2809
- "datasourceUID": {
2810
- "$ref": "#/components/schemas/AlertRuleDatasourceUID"
4331
+ "additionalFields": {
4332
+ "description": "additionalFields is reserved for future use",
4333
+ "type": "object",
4334
+ "additionalProperties": true
2811
4335
  },
2812
- "model": {
4336
+ "evaluationDuration": {
4337
+ "description": "duration of the last evaluation in seconds",
4338
+ "type": "number"
4339
+ },
4340
+ "health": {
4341
+ "$ref": "#/components/schemas/AlertRuleAlertRuleHealth"
4342
+ },
4343
+ "lastError": {
4344
+ "type": "string"
4345
+ },
4346
+ "lastEvaluationTime": {
4347
+ "type": "string",
4348
+ "format": "date-time"
4349
+ },
4350
+ "operatorStates": {
4351
+ "description": "operatorStates is a map of operator ID to operator state evaluations.\nAny operator which consumes this kind SHOULD add its state evaluation information to this field.",
2813
4352
  "type": "object",
2814
- "additionalProperties": {}
4353
+ "additionalProperties": {
4354
+ "$ref": "#/components/schemas/AlertRuleOperatorState"
4355
+ }
2815
4356
  },
2816
- "queryType": {
2817
- "description": "The type of query if this is a query expression",
4357
+ "state": {
4358
+ "$ref": "#/components/schemas/AlertRuleAlertRuleState"
4359
+ },
4360
+ "stateReason": {
4361
+ "$ref": "#/components/schemas/AlertRuleAlertRuleStateReason"
4362
+ },
4363
+ "totals": {
4364
+ "$ref": "#/components/schemas/AlertRuleAlertRuleInstanceTotals"
4365
+ }
4366
+ },
4367
+ "additionalProperties": false
4368
+ },
4369
+ "AlertRuleTemplateString": {
4370
+ "type": "string"
4371
+ },
4372
+ "AlertRuleTimeIntervalRef": {
4373
+ "type": "string"
4374
+ },
4375
+ "Config": {
4376
+ "type": "object",
4377
+ "required": ["kind", "apiVersion", "metadata", "spec"],
4378
+ "properties": {
4379
+ "apiVersion": {
4380
+ "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
2818
4381
  "type": "string"
2819
4382
  },
2820
- "relativeTimeRange": {
2821
- "$ref": "#/components/schemas/AlertRuleRelativeTimeRange"
4383
+ "kind": {
4384
+ "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
4385
+ "type": "string"
2822
4386
  },
2823
- "source": {
2824
- "description": "Used to mark the expression to be used as the final source for the rule evaluation\nOnly one expression in a rule can be marked as the source\nFor AlertRules, this is the expression that will be evaluated against the alerting condition\nFor RecordingRules, this is the expression that will be recorded",
2825
- "type": "boolean"
4387
+ "metadata": {
4388
+ "default": {},
4389
+ "allOf": [
4390
+ {
4391
+ "$ref": "#/components/schemas/ObjectMeta"
4392
+ }
4393
+ ]
4394
+ },
4395
+ "spec": {
4396
+ "$ref": "#/components/schemas/ConfigSpec"
4397
+ },
4398
+ "status": {
4399
+ "$ref": "#/components/schemas/ConfigStatus"
4400
+ }
4401
+ },
4402
+ "x-kubernetes-group-version-kind": [
4403
+ {
4404
+ "group": "rules.alerting.grafana.app",
4405
+ "kind": "Config",
4406
+ "version": "v0alpha1"
4407
+ }
4408
+ ]
4409
+ },
4410
+ "ConfigCondition": {
4411
+ "description": "Condition mirrors metav1.Condition. Inlined because the app-sdk codegen\nhere can't reference metav1.Condition from CUE. Field semantics are\nk8s-standard; reason values are produced by SyncReason in the syncer.",
4412
+ "type": "object",
4413
+ "required": ["type", "status", "lastTransitionTime", "reason"],
4414
+ "properties": {
4415
+ "lastTransitionTime": {
4416
+ "description": "RFC3339",
4417
+ "type": "string"
4418
+ },
4419
+ "message": {
4420
+ "type": "string"
4421
+ },
4422
+ "observedGeneration": {
4423
+ "type": "integer"
4424
+ },
4425
+ "reason": {
4426
+ "type": "string"
4427
+ },
4428
+ "status": {
4429
+ "type": "string",
4430
+ "enum": ["True", "False", "Unknown"]
4431
+ },
4432
+ "type": {
4433
+ "type": "string"
4434
+ }
4435
+ },
4436
+ "additionalProperties": false
4437
+ },
4438
+ "ConfigList": {
4439
+ "type": "object",
4440
+ "required": ["metadata", "items"],
4441
+ "properties": {
4442
+ "apiVersion": {
4443
+ "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
4444
+ "type": "string"
4445
+ },
4446
+ "items": {
4447
+ "type": "array",
4448
+ "items": {
4449
+ "default": {},
4450
+ "allOf": [
4451
+ {
4452
+ "$ref": "#/components/schemas/Config"
4453
+ }
4454
+ ]
4455
+ }
4456
+ },
4457
+ "kind": {
4458
+ "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
4459
+ "type": "string"
4460
+ },
4461
+ "metadata": {
4462
+ "default": {},
4463
+ "allOf": [
4464
+ {
4465
+ "$ref": "#/components/schemas/ListMeta"
4466
+ }
4467
+ ]
4468
+ }
4469
+ },
4470
+ "x-kubernetes-group-version-kind": [
4471
+ {
4472
+ "group": "rules.alerting.grafana.app",
4473
+ "kind": "ConfigList",
4474
+ "version": "v0alpha1"
4475
+ }
4476
+ ]
4477
+ },
4478
+ "ConfigOperatorState": {
4479
+ "type": "object",
4480
+ "required": ["lastEvaluation", "state"],
4481
+ "properties": {
4482
+ "descriptiveState": {
4483
+ "description": "descriptiveState is an optional more descriptive state field which has no requirements on format",
4484
+ "type": "string"
4485
+ },
4486
+ "details": {
4487
+ "description": "details contains any extra information that is operator-specific",
4488
+ "type": "object",
4489
+ "additionalProperties": true
4490
+ },
4491
+ "lastEvaluation": {
4492
+ "description": "lastEvaluation is the ResourceVersion last evaluated",
4493
+ "type": "string"
4494
+ },
4495
+ "state": {
4496
+ "description": "state describes the state of the lastEvaluation.\nIt is limited to three possible states for machine evaluation.",
4497
+ "type": "string",
4498
+ "enum": ["success", "in_progress", "failed"]
4499
+ }
4500
+ },
4501
+ "additionalProperties": false
4502
+ },
4503
+ "ConfigSpec": {
4504
+ "type": "object",
4505
+ "properties": {
4506
+ "externalRulerSync": {
4507
+ "type": "object",
4508
+ "properties": {
4509
+ "datasourceUid": {
4510
+ "description": "datasourceUid is the UID of the Mimir/Cortex Prometheus datasource to\nsync alert rules from. Empty means no sync is configured for the current\norg. The operator ini setting `unified_alerting.external_ruler_uid`\noverrides this when set; see status.externalRulerSync.origin.",
4511
+ "type": "string"
4512
+ },
4513
+ "pollInterval": {
4514
+ "description": "pollInterval sets how often this org's rules are re-synced from\ndatasourceUid. Empty defaults to 5m; must be between 1m and 1h. The\nworker checks orgs against a short internal baseline and only does\nreal work for an org once its own pollInterval has elapsed, so this\nis a lower bound, not a guarantee — an org's actual sync can lag\nslightly past its configured interval. Has no effect on the operator\nini path, which always uses the 5m default.",
4515
+ "type": "string"
4516
+ }
4517
+ },
4518
+ "additionalProperties": false
4519
+ }
4520
+ },
4521
+ "additionalProperties": false
4522
+ },
4523
+ "ConfigStatus": {
4524
+ "type": "object",
4525
+ "properties": {
4526
+ "additionalFields": {
4527
+ "description": "additionalFields is reserved for future use",
4528
+ "type": "object",
4529
+ "additionalProperties": true
4530
+ },
4531
+ "conditions": {
4532
+ "description": "Standard k8s-style condition list. Each binary-state feature owns one\ncondition type. Current types:\n - ExternalRulerSynced: True after a successful sync, False after a\n failed attempt, Unknown until the first attempt.",
4533
+ "type": "array",
4534
+ "items": {
4535
+ "$ref": "#/components/schemas/ConfigCondition"
4536
+ }
4537
+ },
4538
+ "externalRulerSync": {
4539
+ "type": "object",
4540
+ "properties": {
4541
+ "datasourceUid": {
4542
+ "description": "datasourceUid is the UID actually used on the last sync attempt; may lag\nspec until the next tick. When origin=ini, this is the ini override value.",
4543
+ "type": "string"
4544
+ },
4545
+ "lastAppliedHash": {
4546
+ "description": "lastAppliedHash is the upstream config hash from the last successful\nsync via this resource. The worker reads it back (API path only) to\nskip an unchanged re-apply across restarts and replicas, where an\nin-memory-only dedup cache would otherwise start empty. Internal\nbookkeeping; not user-facing.",
4547
+ "type": "string"
4548
+ },
4549
+ "origin": {
4550
+ "description": "origin records which source supplied datasourceUid on the last run. \"ini\"\n(grafana.ini's unified_alerting.external_ruler_uid) wins over \"api\"\n(spec.externalRulerSync.datasourceUid).",
4551
+ "type": "string",
4552
+ "enum": ["api", "ini"]
4553
+ }
4554
+ },
4555
+ "additionalProperties": false
4556
+ },
4557
+ "observedGeneration": {
4558
+ "description": "observedGeneration is the spec.generation last evaluated by the\ncontrollers writing this status.",
4559
+ "type": "integer"
4560
+ },
4561
+ "operatorStates": {
4562
+ "description": "operatorStates is a map of operator ID to operator state evaluations.\nAny operator which consumes this kind SHOULD add its state evaluation information to this field.",
4563
+ "type": "object",
4564
+ "additionalProperties": {
4565
+ "$ref": "#/components/schemas/ConfigOperatorState"
4566
+ }
2826
4567
  }
2827
4568
  },
2828
4569
  "additionalProperties": false
2829
4570
  },
2830
- "AlertRuleExpressionMap": {
4571
+ "ListAlertRuleSearchRulesV0alpha1FacetValue": {
2831
4572
  "type": "object",
2832
- "additionalProperties": {
2833
- "$ref": "#/components/schemas/AlertRuleExpression"
4573
+ "required": ["value", "count"],
4574
+ "properties": {
4575
+ "count": {
4576
+ "type": "integer"
4577
+ },
4578
+ "value": {
4579
+ "type": "string"
4580
+ }
2834
4581
  }
2835
4582
  },
2836
- "AlertRuleIntervalTrigger": {
4583
+ "ListAlertRuleSearchRulesV0alpha1RequestBody": {
2837
4584
  "type": "object",
2838
- "required": ["interval"],
2839
4585
  "properties": {
2840
- "interval": {
2841
- "$ref": "#/components/schemas/AlertRulePromDuration"
4586
+ "apiVersion": {
4587
+ "type": "string"
4588
+ },
4589
+ "continue": {
4590
+ "description": "Opaque token from the previous page.",
4591
+ "type": "string"
4592
+ },
4593
+ "facetLimit": {
4594
+ "description": "Per-facet term limit. Zero uses the default; larger values are clamped.",
4595
+ "type": "integer"
4596
+ },
4597
+ "facets": {
4598
+ "type": "array",
4599
+ "items": {
4600
+ "type": "string"
4601
+ }
4602
+ },
4603
+ "fields": {
4604
+ "type": "array",
4605
+ "items": {
4606
+ "type": "string"
4607
+ }
4608
+ },
4609
+ "kind": {
4610
+ "type": "string"
4611
+ },
4612
+ "labelSelector": {
4613
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1SearchLabelSelector"
4614
+ },
4615
+ "limit": {
4616
+ "description": "Page size. Zero uses the default; larger values are clamped.",
4617
+ "type": "integer"
4618
+ },
4619
+ "sort": {
4620
+ "type": "array",
4621
+ "items": {
4622
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1SearchSortField"
4623
+ }
4624
+ },
4625
+ "where": {
4626
+ "description": "Omitted where matches all authorised rules satisfying labelSelector.",
4627
+ "allOf": [
4628
+ {
4629
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1SearchWhereNode"
4630
+ }
4631
+ ]
2842
4632
  }
2843
- },
2844
- "additionalProperties": false
4633
+ }
2845
4634
  },
2846
- "AlertRuleList": {
4635
+ "ListAlertRuleSearchRulesV0alpha1Response": {
4636
+ "description": "SearchResults supplies its own metadata; omit listMeta.",
2847
4637
  "type": "object",
2848
- "required": ["metadata", "items"],
4638
+ "required": ["metadata", "items", "apiVersion", "kind"],
2849
4639
  "properties": {
2850
4640
  "apiVersion": {
2851
4641
  "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
2852
4642
  "type": "string"
2853
4643
  },
4644
+ "facets": {
4645
+ "description": "Counts use a bounded sample and are best-effort.",
4646
+ "type": "object",
4647
+ "additionalProperties": {
4648
+ "type": "array",
4649
+ "items": {
4650
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1FacetValue"
4651
+ }
4652
+ }
4653
+ },
2854
4654
  "items": {
2855
4655
  "type": "array",
2856
4656
  "items": {
2857
- "default": {},
2858
- "allOf": [
2859
- {
2860
- "$ref": "#/components/schemas/AlertRule"
2861
- }
2862
- ]
4657
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1SearchResultHit"
2863
4658
  }
2864
4659
  },
2865
4660
  "kind": {
@@ -2867,503 +4662,819 @@
2867
4662
  "type": "string"
2868
4663
  },
2869
4664
  "metadata": {
2870
- "default": {},
2871
- "allOf": [
2872
- {
2873
- "$ref": "#/components/schemas/ListMeta"
2874
- }
2875
- ]
4665
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1SearchResultsMetadata"
2876
4666
  }
2877
- },
2878
- "x-kubernetes-group-version-kind": [
2879
- {
2880
- "group": "rules.alerting.grafana.app",
2881
- "kind": "AlertRuleList",
2882
- "version": "v0alpha1"
4667
+ }
4668
+ },
4669
+ "ListAlertRuleSearchRulesV0alpha1SearchExistsLeaf": {
4670
+ "description": "Retained for generic schema compatibility; rejected by the compatibility handler.",
4671
+ "type": "object",
4672
+ "required": ["field"],
4673
+ "properties": {
4674
+ "field": {
4675
+ "type": "string"
2883
4676
  }
2884
- ]
4677
+ }
2885
4678
  },
2886
- "AlertRuleNamedRoutingTree": {
4679
+ "ListAlertRuleSearchRulesV0alpha1SearchFilterLeaf": {
2887
4680
  "type": "object",
2888
- "required": ["type", "routingTree"],
4681
+ "required": ["field", "operator", "values"],
2889
4682
  "properties": {
2890
- "routingTree": {
4683
+ "field": {
2891
4684
  "type": "string"
2892
4685
  },
2893
- "type": {
2894
- "$ref": "#/components/schemas/AlertRuleNotificationSettingsType"
4686
+ "operator": {
4687
+ "type": "string",
4688
+ "enum": ["In", "NotIn", "All"]
4689
+ },
4690
+ "values": {
4691
+ "type": "array",
4692
+ "items": {
4693
+ "type": "string"
4694
+ }
2895
4695
  }
2896
- },
2897
- "additionalProperties": false
4696
+ }
2898
4697
  },
2899
- "AlertRuleNoDataState": {
2900
- "type": "string",
2901
- "enum": ["NoData", "Ok", "Alerting", "KeepLast"]
4698
+ "ListAlertRuleSearchRulesV0alpha1SearchLabelSelector": {
4699
+ "description": "Selects metadata.labels, not alerting labels, and is ANDed with where.\nFilter alerting labels through the indexed \"labels\" field instead.",
4700
+ "type": "object",
4701
+ "properties": {
4702
+ "matchExpressions": {
4703
+ "type": "array",
4704
+ "items": {
4705
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1SearchLabelSelectorRequirement"
4706
+ }
4707
+ },
4708
+ "matchLabels": {
4709
+ "type": "object",
4710
+ "additionalProperties": {
4711
+ "type": "string"
4712
+ }
4713
+ }
4714
+ }
2902
4715
  },
2903
- "AlertRuleNotificationSettings": {
2904
- "oneOf": [
2905
- {
2906
- "$ref": "#/components/schemas/AlertRuleSimplifiedRouting"
4716
+ "ListAlertRuleSearchRulesV0alpha1SearchLabelSelectorRequirement": {
4717
+ "description": "Only In and NotIn are accepted by the compatibility handler.",
4718
+ "type": "object",
4719
+ "required": ["key", "operator"],
4720
+ "properties": {
4721
+ "key": {
4722
+ "type": "string"
2907
4723
  },
2908
- {
2909
- "$ref": "#/components/schemas/AlertRuleNamedRoutingTree"
4724
+ "operator": {
4725
+ "type": "string",
4726
+ "enum": ["In", "NotIn", "Exists", "DoesNotExist"]
4727
+ },
4728
+ "values": {
4729
+ "type": "array",
4730
+ "items": {
4731
+ "type": "string"
4732
+ }
2910
4733
  }
2911
- ]
4734
+ }
2912
4735
  },
2913
- "AlertRuleNotificationSettingsType": {
2914
- "type": "string",
2915
- "enum": ["SimplifiedRouting", "NamedRoutingTree"]
4736
+ "ListAlertRuleSearchRulesV0alpha1SearchRangeLeaf": {
4737
+ "description": "Retained for generic schema compatibility; rejected by the compatibility handler.",
4738
+ "type": "object",
4739
+ "required": ["field"],
4740
+ "properties": {
4741
+ "field": {
4742
+ "type": "string"
4743
+ },
4744
+ "gt": {
4745
+ "type": "number"
4746
+ },
4747
+ "gte": {
4748
+ "type": "number"
4749
+ },
4750
+ "lt": {
4751
+ "type": "number"
4752
+ },
4753
+ "lte": {
4754
+ "type": "number"
4755
+ }
4756
+ }
2916
4757
  },
2917
- "AlertRuleOperatorState": {
4758
+ "ListAlertRuleSearchRulesV0alpha1SearchRegexLeaf": {
4759
+ "description": "Supported on the \"labels\" field only, as \"key=<value regex>\": the key is\nliteral, and the value regex matches the whole label value, case-sensitively\nunless it starts with (?i). A missing label is matched as an empty value.",
2918
4760
  "type": "object",
2919
- "required": ["lastEvaluation", "state"],
4761
+ "required": ["field", "pattern"],
2920
4762
  "properties": {
2921
- "descriptiveState": {
2922
- "description": "descriptiveState is an optional more descriptive state field which has no requirements on format",
4763
+ "field": {
2923
4764
  "type": "string"
2924
4765
  },
2925
- "details": {
2926
- "description": "details contains any extra information that is operator-specific",
4766
+ "negate": {
4767
+ "type": "boolean"
4768
+ },
4769
+ "pattern": {
4770
+ "type": "string"
4771
+ }
4772
+ }
4773
+ },
4774
+ "ListAlertRuleSearchRulesV0alpha1SearchResultHit": {
4775
+ "type": "object",
4776
+ "required": ["resource"],
4777
+ "properties": {
4778
+ "fields": {
4779
+ "description": "Open to match the generic endpoint's unstructured field values.",
2927
4780
  "type": "object",
2928
4781
  "additionalProperties": true
2929
4782
  },
2930
- "lastEvaluation": {
2931
- "description": "lastEvaluation is the ResourceVersion last evaluated",
4783
+ "resource": {
4784
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1SearchResultResource"
4785
+ },
4786
+ "score": {
4787
+ "description": "Present only when a text query was evaluated.",
4788
+ "type": "number"
4789
+ }
4790
+ }
4791
+ },
4792
+ "ListAlertRuleSearchRulesV0alpha1SearchResultResource": {
4793
+ "description": "Namespace is implicit in the URL.",
4794
+ "type": "object",
4795
+ "required": ["group", "resource", "kind", "name"],
4796
+ "properties": {
4797
+ "group": {
2932
4798
  "type": "string"
2933
4799
  },
2934
- "state": {
2935
- "description": "state describes the state of the lastEvaluation.\nIt is limited to three possible states for machine evaluation.",
2936
- "type": "string",
2937
- "enum": ["success", "in_progress", "failed"]
4800
+ "kind": {
4801
+ "type": "string"
4802
+ },
4803
+ "name": {
4804
+ "type": "string"
4805
+ },
4806
+ "resource": {
4807
+ "type": "string"
2938
4808
  }
2939
- },
2940
- "additionalProperties": false
4809
+ }
2941
4810
  },
2942
- "AlertRulePanelRef": {
4811
+ "ListAlertRuleSearchRulesV0alpha1SearchResultsMetadata": {
2943
4812
  "type": "object",
2944
- "required": ["dashboardUID", "panelID"],
4813
+ "required": ["totalHits", "totalHitsRelation"],
2945
4814
  "properties": {
2946
- "dashboardUID": {
4815
+ "continue": {
4816
+ "description": "Opaque next-page token; clients must not construct it.",
4817
+ "type": "string"
4818
+ },
4819
+ "totalHits": {
4820
+ "description": "Interpret with totalHitsRelation, not as an exact count unconditionally.",
4821
+ "type": "integer"
4822
+ },
4823
+ "totalHitsRelation": {
4824
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1TotalHitsRelation"
4825
+ }
4826
+ }
4827
+ },
4828
+ "ListAlertRuleSearchRulesV0alpha1SearchSortField": {
4829
+ "description": "Defaults to ascending; only scalar fields with the sort capability are valid.",
4830
+ "type": "object",
4831
+ "required": ["field"],
4832
+ "properties": {
4833
+ "direction": {
2947
4834
  "type": "string",
2948
- "minLength": 1,
2949
- "pattern": "^[a-zA-Z0-9_-]+$"
4835
+ "enum": ["asc", "desc"]
4836
+ },
4837
+ "field": {
4838
+ "type": "string"
4839
+ }
4840
+ }
4841
+ },
4842
+ "ListAlertRuleSearchRulesV0alpha1SearchTextLeaf": {
4843
+ "description": "Omitted fields default to title. All whitespace-separated terms must match\nin any order; punctuation and short-term matching are backend-defined.",
4844
+ "type": "object",
4845
+ "required": ["value"],
4846
+ "properties": {
4847
+ "boost": {
4848
+ "description": "boost is a future per-leaf score multiplier. Setting it is rejected.",
4849
+ "type": "number"
4850
+ },
4851
+ "fields": {
4852
+ "type": "array",
4853
+ "items": {
4854
+ "type": "string"
4855
+ }
4856
+ },
4857
+ "value": {
4858
+ "type": "string"
4859
+ }
4860
+ }
4861
+ },
4862
+ "ListAlertRuleSearchRulesV0alpha1SearchWhereNode": {
4863
+ "description": "Exactly one key must be set. The compatibility handler accepts only a\ntext/filter/regex leaf or a top-level \"and\" of those leaves.",
4864
+ "type": "object",
4865
+ "properties": {
4866
+ "and": {
4867
+ "type": "array",
4868
+ "items": {
4869
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1SearchWhereNode"
4870
+ }
4871
+ },
4872
+ "exists": {
4873
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1SearchExistsLeaf"
4874
+ },
4875
+ "filter": {
4876
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1SearchFilterLeaf"
2950
4877
  },
2951
- "panelID": {
2952
- "type": "integer",
2953
- "minimum": 0
4878
+ "not": {
4879
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1SearchWhereNode"
4880
+ },
4881
+ "or": {
4882
+ "type": "array",
4883
+ "items": {
4884
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1SearchWhereNode"
4885
+ }
4886
+ },
4887
+ "range": {
4888
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1SearchRangeLeaf"
4889
+ },
4890
+ "regex": {
4891
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1SearchRegexLeaf"
4892
+ },
4893
+ "text": {
4894
+ "$ref": "#/components/schemas/ListAlertRuleSearchRulesV0alpha1SearchTextLeaf"
2954
4895
  }
2955
- },
2956
- "additionalProperties": false
2957
- },
2958
- "AlertRulePromDuration": {
2959
- "type": "string",
2960
- "pattern": "^((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?|0)$",
2961
- "not": {
2962
- "pattern": "hmuµn"
2963
4896
  }
2964
4897
  },
2965
- "AlertRulePromDurationWMillis": {
4898
+ "ListAlertRuleSearchRulesV0alpha1TotalHitsRelation": {
4899
+ "description": "\"eq\" means exact; \"lte\" means totalHits is an upper bound after authorisation.",
2966
4900
  "type": "string",
2967
- "pattern": "^((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?|0)$"
4901
+ "enum": ["eq", "lte"]
2968
4902
  },
2969
- "AlertRuleRelativeTimeRange": {
4903
+ "ListRecordingRuleSearchRulesV0alpha1FacetValue": {
2970
4904
  "type": "object",
2971
- "required": ["from", "to"],
4905
+ "required": ["value", "count"],
2972
4906
  "properties": {
2973
- "from": {
2974
- "$ref": "#/components/schemas/AlertRulePromDurationWMillis"
4907
+ "count": {
4908
+ "type": "integer"
2975
4909
  },
2976
- "to": {
2977
- "$ref": "#/components/schemas/AlertRulePromDurationWMillis"
4910
+ "value": {
4911
+ "type": "string"
2978
4912
  }
2979
- },
2980
- "additionalProperties": false
4913
+ }
2981
4914
  },
2982
- "AlertRuleSimplifiedRouting": {
4915
+ "ListRecordingRuleSearchRulesV0alpha1RequestBody": {
2983
4916
  "type": "object",
2984
- "required": ["type", "receiver"],
2985
4917
  "properties": {
2986
- "activeTimeIntervals": {
4918
+ "apiVersion": {
4919
+ "type": "string"
4920
+ },
4921
+ "continue": {
4922
+ "description": "Opaque token from the previous page.",
4923
+ "type": "string"
4924
+ },
4925
+ "facetLimit": {
4926
+ "description": "Per-facet term limit. Zero uses the default; larger values are clamped.",
4927
+ "type": "integer"
4928
+ },
4929
+ "facets": {
2987
4930
  "type": "array",
2988
4931
  "items": {
2989
- "$ref": "#/components/schemas/AlertRuleTimeIntervalRef"
4932
+ "type": "string"
2990
4933
  }
2991
4934
  },
2992
- "groupBy": {
4935
+ "fields": {
2993
4936
  "type": "array",
2994
4937
  "items": {
2995
4938
  "type": "string"
2996
4939
  }
2997
4940
  },
2998
- "groupInterval": {
2999
- "$ref": "#/components/schemas/AlertRulePromDuration"
4941
+ "kind": {
4942
+ "type": "string"
3000
4943
  },
3001
- "groupWait": {
3002
- "$ref": "#/components/schemas/AlertRulePromDuration"
4944
+ "labelSelector": {
4945
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1SearchLabelSelector"
3003
4946
  },
3004
- "muteTimeIntervals": {
4947
+ "limit": {
4948
+ "description": "Page size. Zero uses the default; larger values are clamped.",
4949
+ "type": "integer"
4950
+ },
4951
+ "sort": {
3005
4952
  "type": "array",
3006
4953
  "items": {
3007
- "$ref": "#/components/schemas/AlertRuleTimeIntervalRef"
4954
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1SearchSortField"
3008
4955
  }
3009
4956
  },
3010
- "receiver": {
3011
- "type": "string"
3012
- },
3013
- "repeatInterval": {
3014
- "$ref": "#/components/schemas/AlertRulePromDuration"
3015
- },
3016
- "type": {
3017
- "$ref": "#/components/schemas/AlertRuleNotificationSettingsType"
4957
+ "where": {
4958
+ "description": "Omitted where matches all authorised rules satisfying labelSelector.",
4959
+ "allOf": [
4960
+ {
4961
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1SearchWhereNode"
4962
+ }
4963
+ ]
3018
4964
  }
3019
- },
3020
- "additionalProperties": false
4965
+ }
3021
4966
  },
3022
- "AlertRuleSpec": {
4967
+ "ListRecordingRuleSearchRulesV0alpha1Response": {
3023
4968
  "type": "object",
3024
- "required": ["title", "trigger", "noDataState", "execErrState", "expressions"],
4969
+ "required": ["metadata", "items", "apiVersion", "kind"],
3025
4970
  "properties": {
3026
- "annotations": {
4971
+ "apiVersion": {
4972
+ "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
4973
+ "type": "string"
4974
+ },
4975
+ "facets": {
4976
+ "description": "Counts use a bounded sample and are best-effort.",
3027
4977
  "type": "object",
3028
4978
  "additionalProperties": {
3029
- "$ref": "#/components/schemas/AlertRuleTemplateString"
4979
+ "type": "array",
4980
+ "items": {
4981
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1FacetValue"
4982
+ }
3030
4983
  }
3031
4984
  },
3032
- "execErrState": {
3033
- "$ref": "#/components/schemas/AlertRuleExecErrState"
3034
- },
3035
- "expressions": {
3036
- "$ref": "#/components/schemas/AlertRuleExpressionMap"
4985
+ "items": {
4986
+ "type": "array",
4987
+ "items": {
4988
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1SearchResultHit"
4989
+ }
3037
4990
  },
3038
- "for": {
4991
+ "kind": {
4992
+ "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
3039
4993
  "type": "string"
3040
4994
  },
3041
- "keepFiringFor": {
4995
+ "metadata": {
4996
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1SearchResultsMetadata"
4997
+ }
4998
+ }
4999
+ },
5000
+ "ListRecordingRuleSearchRulesV0alpha1SearchExistsLeaf": {
5001
+ "description": "Retained for generic schema compatibility; rejected by the compatibility handler.",
5002
+ "type": "object",
5003
+ "required": ["field"],
5004
+ "properties": {
5005
+ "field": {
5006
+ "type": "string"
5007
+ }
5008
+ }
5009
+ },
5010
+ "ListRecordingRuleSearchRulesV0alpha1SearchFilterLeaf": {
5011
+ "type": "object",
5012
+ "required": ["field", "operator", "values"],
5013
+ "properties": {
5014
+ "field": {
3042
5015
  "type": "string"
3043
5016
  },
3044
- "labels": {
5017
+ "operator": {
5018
+ "type": "string",
5019
+ "enum": ["In", "NotIn", "All"]
5020
+ },
5021
+ "values": {
5022
+ "type": "array",
5023
+ "items": {
5024
+ "type": "string"
5025
+ }
5026
+ }
5027
+ }
5028
+ },
5029
+ "ListRecordingRuleSearchRulesV0alpha1SearchLabelSelector": {
5030
+ "description": "Selects metadata.labels, not alerting labels, and is ANDed with where.\nFilter alerting labels through the indexed \"labels\" field instead.",
5031
+ "type": "object",
5032
+ "properties": {
5033
+ "matchExpressions": {
5034
+ "type": "array",
5035
+ "items": {
5036
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1SearchLabelSelectorRequirement"
5037
+ }
5038
+ },
5039
+ "matchLabels": {
3045
5040
  "type": "object",
3046
5041
  "additionalProperties": {
3047
- "$ref": "#/components/schemas/AlertRuleTemplateString"
5042
+ "type": "string"
3048
5043
  }
5044
+ }
5045
+ }
5046
+ },
5047
+ "ListRecordingRuleSearchRulesV0alpha1SearchLabelSelectorRequirement": {
5048
+ "description": "Only In and NotIn are accepted by the compatibility handler.",
5049
+ "type": "object",
5050
+ "required": ["key", "operator"],
5051
+ "properties": {
5052
+ "key": {
5053
+ "type": "string"
3049
5054
  },
3050
- "missingSeriesEvalsToResolve": {
3051
- "type": "integer",
3052
- "minimum": 0
5055
+ "operator": {
5056
+ "type": "string",
5057
+ "enum": ["In", "NotIn", "Exists", "DoesNotExist"]
3053
5058
  },
3054
- "noDataState": {
3055
- "$ref": "#/components/schemas/AlertRuleNoDataState"
5059
+ "values": {
5060
+ "type": "array",
5061
+ "items": {
5062
+ "type": "string"
5063
+ }
5064
+ }
5065
+ }
5066
+ },
5067
+ "ListRecordingRuleSearchRulesV0alpha1SearchRangeLeaf": {
5068
+ "description": "Retained for generic schema compatibility; rejected by the compatibility handler.",
5069
+ "type": "object",
5070
+ "required": ["field"],
5071
+ "properties": {
5072
+ "field": {
5073
+ "type": "string"
3056
5074
  },
3057
- "notificationSettings": {
3058
- "$ref": "#/components/schemas/AlertRuleNotificationSettings"
5075
+ "gt": {
5076
+ "type": "number"
3059
5077
  },
3060
- "panelRef": {
3061
- "$ref": "#/components/schemas/AlertRulePanelRef"
5078
+ "gte": {
5079
+ "type": "number"
3062
5080
  },
3063
- "paused": {
3064
- "type": "boolean"
5081
+ "lt": {
5082
+ "type": "number"
3065
5083
  },
3066
- "title": {
5084
+ "lte": {
5085
+ "type": "number"
5086
+ }
5087
+ }
5088
+ },
5089
+ "ListRecordingRuleSearchRulesV0alpha1SearchRegexLeaf": {
5090
+ "description": "Supported on the \"labels\" field only, as \"key=<value regex>\": the key is\nliteral, and the value regex matches the whole label value, case-sensitively\nunless it starts with (?i). A missing label is matched as an empty value.",
5091
+ "type": "object",
5092
+ "required": ["field", "pattern"],
5093
+ "properties": {
5094
+ "field": {
3067
5095
  "type": "string"
3068
5096
  },
3069
- "trigger": {
3070
- "$ref": "#/components/schemas/AlertRuleIntervalTrigger"
5097
+ "negate": {
5098
+ "type": "boolean"
5099
+ },
5100
+ "pattern": {
5101
+ "type": "string"
3071
5102
  }
3072
- },
3073
- "additionalProperties": false
5103
+ }
3074
5104
  },
3075
- "AlertRuleStatus": {
5105
+ "ListRecordingRuleSearchRulesV0alpha1SearchResultHit": {
3076
5106
  "type": "object",
5107
+ "required": ["resource"],
3077
5108
  "properties": {
3078
- "additionalFields": {
3079
- "description": "additionalFields is reserved for future use",
5109
+ "fields": {
5110
+ "description": "Open to match the generic endpoint's unstructured field values.",
3080
5111
  "type": "object",
3081
5112
  "additionalProperties": true
3082
5113
  },
3083
- "operatorStates": {
3084
- "description": "operatorStates is a map of operator ID to operator state evaluations.\nAny operator which consumes this kind SHOULD add its state evaluation information to this field.",
3085
- "type": "object",
3086
- "additionalProperties": {
3087
- "$ref": "#/components/schemas/AlertRuleOperatorState"
3088
- }
5114
+ "resource": {
5115
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1SearchResultResource"
5116
+ },
5117
+ "score": {
5118
+ "description": "Present only when a text query was evaluated.",
5119
+ "type": "number"
3089
5120
  }
3090
- },
3091
- "additionalProperties": false
3092
- },
3093
- "AlertRuleTemplateString": {
3094
- "type": "string"
5121
+ }
3095
5122
  },
3096
- "AlertRuleTimeIntervalRef": {
3097
- "type": "string"
5123
+ "ListRecordingRuleSearchRulesV0alpha1SearchResultResource": {
5124
+ "description": "Namespace is implicit in the URL.",
5125
+ "type": "object",
5126
+ "required": ["group", "resource", "kind", "name"],
5127
+ "properties": {
5128
+ "group": {
5129
+ "type": "string"
5130
+ },
5131
+ "kind": {
5132
+ "type": "string"
5133
+ },
5134
+ "name": {
5135
+ "type": "string"
5136
+ },
5137
+ "resource": {
5138
+ "type": "string"
5139
+ }
5140
+ }
3098
5141
  },
3099
- "CreateSearchRulesFacetValue": {
3100
- "description": "#FacetValue is a single value/count pair in a facet breakdown.",
5142
+ "ListRecordingRuleSearchRulesV0alpha1SearchResultsMetadata": {
3101
5143
  "type": "object",
3102
- "required": ["value", "count"],
5144
+ "required": ["totalHits", "totalHitsRelation"],
3103
5145
  "properties": {
3104
- "count": {
5146
+ "continue": {
5147
+ "description": "Opaque next-page token; clients must not construct it.",
5148
+ "type": "string"
5149
+ },
5150
+ "totalHits": {
5151
+ "description": "Interpret with totalHitsRelation, not as an exact count unconditionally.",
3105
5152
  "type": "integer"
3106
5153
  },
5154
+ "totalHitsRelation": {
5155
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1TotalHitsRelation"
5156
+ }
5157
+ }
5158
+ },
5159
+ "ListRecordingRuleSearchRulesV0alpha1SearchSortField": {
5160
+ "description": "Defaults to ascending; only scalar fields with the sort capability are valid.",
5161
+ "type": "object",
5162
+ "required": ["field"],
5163
+ "properties": {
5164
+ "direction": {
5165
+ "type": "string",
5166
+ "enum": ["asc", "desc"]
5167
+ },
5168
+ "field": {
5169
+ "type": "string"
5170
+ }
5171
+ }
5172
+ },
5173
+ "ListRecordingRuleSearchRulesV0alpha1SearchTextLeaf": {
5174
+ "description": "Omitted fields default to title. All whitespace-separated terms must match\nin any order; punctuation and short-term matching are backend-defined.",
5175
+ "type": "object",
5176
+ "required": ["value"],
5177
+ "properties": {
5178
+ "boost": {
5179
+ "description": "boost is a future per-leaf score multiplier. Setting it is rejected.",
5180
+ "type": "number"
5181
+ },
5182
+ "fields": {
5183
+ "type": "array",
5184
+ "items": {
5185
+ "type": "string"
5186
+ }
5187
+ },
3107
5188
  "value": {
3108
5189
  "type": "string"
3109
5190
  }
3110
5191
  }
3111
5192
  },
3112
- "CreateSearchRulesRequestBody": {
5193
+ "ListRecordingRuleSearchRulesV0alpha1SearchWhereNode": {
5194
+ "description": "Exactly one key must be set. The compatibility handler accepts only a\ntext/filter/regex leaf or a top-level \"and\" of those leaves.",
3113
5195
  "type": "object",
3114
5196
  "properties": {
3115
- "continue": {
3116
- "type": "string"
3117
- },
3118
- "facets": {
5197
+ "and": {
3119
5198
  "type": "array",
3120
5199
  "items": {
3121
- "type": "string"
5200
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1SearchWhereNode"
3122
5201
  }
3123
5202
  },
3124
- "fields": {
3125
- "type": "array",
3126
- "items": {
3127
- "type": "string"
3128
- }
5203
+ "exists": {
5204
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1SearchExistsLeaf"
3129
5205
  },
3130
- "labelSelector": {
3131
- "type": "string"
5206
+ "filter": {
5207
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1SearchFilterLeaf"
3132
5208
  },
3133
- "limit": {
3134
- "type": "integer"
5209
+ "not": {
5210
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1SearchWhereNode"
3135
5211
  },
3136
- "sort": {
5212
+ "or": {
3137
5213
  "type": "array",
3138
5214
  "items": {
3139
- "$ref": "#/components/schemas/CreateSearchRulesSearchSortField"
5215
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1SearchWhereNode"
3140
5216
  }
3141
5217
  },
3142
- "where": {
3143
- "$ref": "#/components/schemas/CreateSearchRulesSearchWhereNode"
5218
+ "range": {
5219
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1SearchRangeLeaf"
5220
+ },
5221
+ "regex": {
5222
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1SearchRegexLeaf"
5223
+ },
5224
+ "text": {
5225
+ "$ref": "#/components/schemas/ListRecordingRuleSearchRulesV0alpha1SearchTextLeaf"
3144
5226
  }
3145
5227
  }
3146
5228
  },
3147
- "CreateSearchRulesResponse": {
3148
- "description": "listMeta is intentionally omitted: #SearchResults carries its\nown metadata (continue, totalHits).",
5229
+ "ListRecordingRuleSearchRulesV0alpha1TotalHitsRelation": {
5230
+ "description": "\"eq\" means exact; \"lte\" means totalHits is an upper bound after authorisation.",
5231
+ "type": "string",
5232
+ "enum": ["eq", "lte"]
5233
+ },
5234
+ "RecordingRule": {
3149
5235
  "type": "object",
3150
- "required": ["metadata", "items", "apiVersion", "kind"],
5236
+ "required": ["kind", "apiVersion", "metadata", "spec"],
3151
5237
  "properties": {
3152
5238
  "apiVersion": {
3153
5239
  "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
3154
5240
  "type": "string"
3155
5241
  },
3156
- "facets": {
3157
- "type": "object",
3158
- "additionalProperties": {
3159
- "type": "array",
3160
- "items": {
3161
- "$ref": "#/components/schemas/CreateSearchRulesFacetValue"
3162
- }
3163
- }
3164
- },
3165
- "items": {
3166
- "type": "array",
3167
- "items": {
3168
- "$ref": "#/components/schemas/CreateSearchRulesSearchResultHit"
3169
- }
3170
- },
3171
5242
  "kind": {
3172
5243
  "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
3173
5244
  "type": "string"
3174
5245
  },
3175
5246
  "metadata": {
3176
- "$ref": "#/components/schemas/CreateSearchRulesSearchResultsMetadata"
5247
+ "default": {},
5248
+ "allOf": [
5249
+ {
5250
+ "$ref": "#/components/schemas/ObjectMeta"
5251
+ }
5252
+ ]
5253
+ },
5254
+ "spec": {
5255
+ "$ref": "#/components/schemas/RecordingRuleSpec"
5256
+ },
5257
+ "status": {
5258
+ "$ref": "#/components/schemas/RecordingRuleStatus"
3177
5259
  }
3178
- }
5260
+ },
5261
+ "x-kubernetes-group-version-kind": [
5262
+ {
5263
+ "group": "rules.alerting.grafana.app",
5264
+ "kind": "RecordingRule",
5265
+ "version": "v0alpha1"
5266
+ }
5267
+ ]
3179
5268
  },
3180
- "CreateSearchRulesRuleSearchHitFields": {
3181
- "description": "#RuleSearchHitFields is the per-kind field payload returned on each hit.\nIt carries the union of alert- and recording-rule search fields; only the\nfields relevant to a hit's kind are populated. This maps to the kind's\ndeclared searchFields.",
5269
+ "RecordingRuleDatasourceUID": {
5270
+ "type": "string",
5271
+ "pattern": "^[a-zA-Z0-9_-]+$"
5272
+ },
5273
+ "RecordingRuleExpression": {
3182
5274
  "type": "object",
5275
+ "required": ["model"],
3183
5276
  "properties": {
3184
- "annotations": {
3185
- "description": "Alert-rule fields.",
3186
- "type": "object",
3187
- "additionalProperties": {
3188
- "type": "string"
3189
- }
3190
- },
3191
- "dashboardUID": {
3192
- "type": "string"
3193
- },
3194
- "datasourceUIDs": {
3195
- "type": "array",
3196
- "items": {
3197
- "type": "string"
3198
- }
3199
- },
3200
- "folder": {
3201
- "type": "string"
3202
- },
3203
- "for": {
3204
- "type": "string"
3205
- },
3206
- "interval": {
3207
- "type": "string"
3208
- },
3209
- "keepFiringFor": {
3210
- "type": "string"
5277
+ "datasourceUID": {
5278
+ "$ref": "#/components/schemas/RecordingRuleDatasourceUID"
3211
5279
  },
3212
- "labels": {
5280
+ "model": {
3213
5281
  "type": "object",
3214
- "additionalProperties": {
3215
- "type": "string"
3216
- }
3217
- },
3218
- "metric": {
3219
- "description": "Recording-rule fields.",
3220
- "type": "string"
5282
+ "additionalProperties": {}
3221
5283
  },
3222
- "notificationType": {
5284
+ "queryType": {
5285
+ "description": "The type of query if this is a query expression",
3223
5286
  "type": "string"
3224
5287
  },
3225
- "panelID": {
3226
- "type": "integer"
5288
+ "relativeTimeRange": {
5289
+ "$ref": "#/components/schemas/RecordingRuleRelativeTimeRange"
3227
5290
  },
3228
- "paused": {
5291
+ "source": {
5292
+ "description": "Used to mark the expression to be used as the final source for the rule evaluation\nOnly one expression in a rule can be marked as the source\nFor AlertRules, this is the expression that will be evaluated against the alerting condition\nFor RecordingRules, this is the expression that will be recorded",
3229
5293
  "type": "boolean"
3230
- },
3231
- "receiver": {
3232
- "type": "string"
3233
- },
3234
- "routingTree": {
5294
+ }
5295
+ },
5296
+ "additionalProperties": false
5297
+ },
5298
+ "RecordingRuleExpressionMap": {
5299
+ "type": "object",
5300
+ "additionalProperties": {
5301
+ "$ref": "#/components/schemas/RecordingRuleExpression"
5302
+ }
5303
+ },
5304
+ "RecordingRuleIntervalTrigger": {
5305
+ "type": "object",
5306
+ "required": ["interval"],
5307
+ "properties": {
5308
+ "interval": {
5309
+ "$ref": "#/components/schemas/RecordingRulePromDuration"
5310
+ }
5311
+ },
5312
+ "additionalProperties": false
5313
+ },
5314
+ "RecordingRuleList": {
5315
+ "type": "object",
5316
+ "required": ["metadata", "items"],
5317
+ "properties": {
5318
+ "apiVersion": {
5319
+ "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
3235
5320
  "type": "string"
3236
5321
  },
3237
- "targetDatasourceUID": {
3238
- "type": "string"
5322
+ "items": {
5323
+ "type": "array",
5324
+ "items": {
5325
+ "default": {},
5326
+ "allOf": [
5327
+ {
5328
+ "$ref": "#/components/schemas/RecordingRule"
5329
+ }
5330
+ ]
5331
+ }
3239
5332
  },
3240
- "title": {
5333
+ "kind": {
5334
+ "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
3241
5335
  "type": "string"
3242
5336
  },
3243
- "type": {
3244
- "type": "string"
5337
+ "metadata": {
5338
+ "default": {},
5339
+ "allOf": [
5340
+ {
5341
+ "$ref": "#/components/schemas/ListMeta"
5342
+ }
5343
+ ]
3245
5344
  }
3246
- }
5345
+ },
5346
+ "x-kubernetes-group-version-kind": [
5347
+ {
5348
+ "group": "rules.alerting.grafana.app",
5349
+ "kind": "RecordingRuleList",
5350
+ "version": "v0alpha1"
5351
+ }
5352
+ ]
5353
+ },
5354
+ "RecordingRuleMetricName": {
5355
+ "type": "string",
5356
+ "pattern": "^[a-zA-Z_:][a-zA-Z0-9_:]*$"
3247
5357
  },
3248
- "CreateSearchRulesSearchFilterLeaf": {
3249
- "description": "#SearchFilterLeaf matches a single field against a set of values.",
5358
+ "RecordingRuleOperatorState": {
3250
5359
  "type": "object",
3251
- "required": ["field", "operator", "values"],
5360
+ "required": ["lastEvaluation", "state"],
3252
5361
  "properties": {
3253
- "field": {
5362
+ "descriptiveState": {
5363
+ "description": "descriptiveState is an optional more descriptive state field which has no requirements on format",
3254
5364
  "type": "string"
3255
5365
  },
3256
- "operator": {
3257
- "type": "string",
3258
- "enum": ["In", "NotIn"]
5366
+ "details": {
5367
+ "description": "details contains any extra information that is operator-specific",
5368
+ "type": "object",
5369
+ "additionalProperties": true
3259
5370
  },
3260
- "values": {
3261
- "type": "array",
3262
- "items": {
3263
- "type": "string"
3264
- }
5371
+ "lastEvaluation": {
5372
+ "description": "lastEvaluation is the ResourceVersion last evaluated",
5373
+ "type": "string"
5374
+ },
5375
+ "state": {
5376
+ "description": "state describes the state of the lastEvaluation.\nIt is limited to three possible states for machine evaluation.",
5377
+ "type": "string",
5378
+ "enum": ["success", "in_progress", "failed"]
3265
5379
  }
5380
+ },
5381
+ "additionalProperties": false
5382
+ },
5383
+ "RecordingRulePromDuration": {
5384
+ "type": "string",
5385
+ "pattern": "^((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?|0)$",
5386
+ "not": {
5387
+ "pattern": "hmuµn"
3266
5388
  }
3267
5389
  },
3268
- "CreateSearchRulesSearchResultHit": {
3269
- "description": "#SearchResultHit is a single match: its identity, an optional relevance\nscore (present only when the query included free text), and the requested\nfields.",
5390
+ "RecordingRulePromDurationWMillis": {
5391
+ "type": "string",
5392
+ "pattern": "^((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?|0)$"
5393
+ },
5394
+ "RecordingRuleRecordingRuleHealth": {
5395
+ "type": "string",
5396
+ "enum": ["Unknown", "Recording", "Paused", "Error", "NoData"]
5397
+ },
5398
+ "RecordingRuleRelativeTimeRange": {
3270
5399
  "type": "object",
3271
- "required": ["resource", "fields"],
5400
+ "required": ["from", "to"],
3272
5401
  "properties": {
3273
- "fields": {
3274
- "$ref": "#/components/schemas/CreateSearchRulesRuleSearchHitFields"
3275
- },
3276
- "resource": {
3277
- "$ref": "#/components/schemas/CreateSearchRulesSearchResultResource"
5402
+ "from": {
5403
+ "$ref": "#/components/schemas/RecordingRulePromDurationWMillis"
3278
5404
  },
3279
- "score": {
3280
- "type": "number"
5405
+ "to": {
5406
+ "$ref": "#/components/schemas/RecordingRulePromDurationWMillis"
3281
5407
  }
3282
- }
5408
+ },
5409
+ "additionalProperties": false
3283
5410
  },
3284
- "CreateSearchRulesSearchResultResource": {
3285
- "description": "#SearchResultResource is the full identity of a hit.",
5411
+ "RecordingRuleSpec": {
3286
5412
  "type": "object",
3287
- "required": ["group", "resource", "kind", "name"],
5413
+ "required": ["title", "trigger", "metric", "expressions", "targetDatasourceUID"],
3288
5414
  "properties": {
3289
- "group": {
3290
- "type": "string"
5415
+ "expressions": {
5416
+ "$ref": "#/components/schemas/RecordingRuleExpressionMap"
3291
5417
  },
3292
- "kind": {
3293
- "type": "string"
5418
+ "labels": {
5419
+ "type": "object",
5420
+ "additionalProperties": {
5421
+ "$ref": "#/components/schemas/RecordingRuleTemplateString"
5422
+ }
5423
+ },
5424
+ "metric": {
5425
+ "$ref": "#/components/schemas/RecordingRuleMetricName"
5426
+ },
5427
+ "paused": {
5428
+ "type": "boolean"
5429
+ },
5430
+ "targetDatasourceUID": {
5431
+ "$ref": "#/components/schemas/RecordingRuleDatasourceUID"
3294
5432
  },
3295
- "name": {
5433
+ "title": {
3296
5434
  "type": "string"
3297
5435
  },
3298
- "resource": {
3299
- "type": "string"
5436
+ "trigger": {
5437
+ "$ref": "#/components/schemas/RecordingRuleIntervalTrigger"
3300
5438
  }
3301
- }
5439
+ },
5440
+ "additionalProperties": false
3302
5441
  },
3303
- "CreateSearchRulesSearchResultsMetadata": {
3304
- "description": "#SearchResultsMetadata carries the paging token and total authorised match\ncount.",
5442
+ "RecordingRuleStatus": {
3305
5443
  "type": "object",
3306
5444
  "properties": {
3307
- "continue": {
3308
- "type": "string"
5445
+ "additionalFields": {
5446
+ "description": "additionalFields is reserved for future use",
5447
+ "type": "object",
5448
+ "additionalProperties": true
3309
5449
  },
3310
- "totalHits": {
3311
- "type": "integer"
5450
+ "evaluationDuration": {
5451
+ "description": "duration of the last evaluation in seconds",
5452
+ "type": "number"
3312
5453
  },
3313
- "totalHitsRelation": {
3314
- "description": "Always read totalHits together with totalHitsRelation.",
3315
- "allOf": [
3316
- {
3317
- "$ref": "#/components/schemas/CreateSearchRulesTotalHitsRelation"
3318
- }
3319
- ]
3320
- }
3321
- }
3322
- },
3323
- "CreateSearchRulesSearchSortField": {
3324
- "description": "#SearchSortField selects a result ordering. A leading \"-\" denotes\ndescending. Each field must be declared sortable in the kind's manifest.",
3325
- "type": "string"
3326
- },
3327
- "CreateSearchRulesSearchTextLeaf": {
3328
- "description": "#SearchTextLeaf is a free-text search across one or more text-capable\nfields. When fields is omitted, the kind's default text field set is used.\nA match requires every whitespace-separated term of value to appear in the\nfield, in any order. How very short terms, punctuation, and common words are\nmatched is backend-defined and may change.",
3329
- "type": "object",
3330
- "required": ["value"],
3331
- "properties": {
3332
- "fields": {
3333
- "type": "array",
3334
- "items": {
3335
- "type": "string"
3336
- }
5454
+ "health": {
5455
+ "$ref": "#/components/schemas/RecordingRuleRecordingRuleHealth"
3337
5456
  },
3338
- "value": {
5457
+ "lastError": {
3339
5458
  "type": "string"
3340
- }
3341
- }
3342
- },
3343
- "CreateSearchRulesSearchWhereNode": {
3344
- "description": "#SearchWhereNode is a single node of the where query tree. A node has\nexactly one key naming its type. v1 supports a top-level \"and\" combinator\nplus the \"text\" and \"filter\" leaves; \"or\"/\"not\"/nesting and the \"range\"/\n\"exists\" leaves are future, additive extensions.",
3345
- "type": "object",
3346
- "properties": {
3347
- "and": {
3348
- "type": "array",
3349
- "items": {
3350
- "$ref": "#/components/schemas/CreateSearchRulesSearchWhereNode"
3351
- }
3352
5459
  },
3353
- "filter": {
3354
- "$ref": "#/components/schemas/CreateSearchRulesSearchFilterLeaf"
5460
+ "lastEvaluationTime": {
5461
+ "type": "string",
5462
+ "format": "date-time"
3355
5463
  },
3356
- "text": {
3357
- "$ref": "#/components/schemas/CreateSearchRulesSearchTextLeaf"
5464
+ "operatorStates": {
5465
+ "description": "operatorStates is a map of operator ID to operator state evaluations.\nAny operator which consumes this kind SHOULD add its state evaluation information to this field.",
5466
+ "type": "object",
5467
+ "additionalProperties": {
5468
+ "$ref": "#/components/schemas/RecordingRuleOperatorState"
5469
+ }
3358
5470
  }
3359
- }
5471
+ },
5472
+ "additionalProperties": false
3360
5473
  },
3361
- "CreateSearchRulesTotalHitsRelation": {
3362
- "description": "#TotalHitsRelation says how totalHits relates to the real number of matching\nrules the caller may see: \"eq\" when it is exact, \"lte\" when it is an upper\nbound because authorisation was applied after the search ranked its results.",
3363
- "type": "string",
3364
- "enum": ["eq", "lte"]
5474
+ "RecordingRuleTemplateString": {
5475
+ "type": "string"
3365
5476
  },
3366
- "RecordingRule": {
5477
+ "RuleSequence": {
3367
5478
  "type": "object",
3368
5479
  "required": ["kind", "apiVersion", "metadata", "spec"],
3369
5480
  "properties": {
@@ -3384,66 +5495,31 @@
3384
5495
  ]
3385
5496
  },
3386
5497
  "spec": {
3387
- "$ref": "#/components/schemas/RecordingRuleSpec"
5498
+ "$ref": "#/components/schemas/RuleSequenceSpec"
3388
5499
  },
3389
5500
  "status": {
3390
- "$ref": "#/components/schemas/RecordingRuleStatus"
5501
+ "$ref": "#/components/schemas/RuleSequenceStatus"
3391
5502
  }
3392
5503
  },
3393
5504
  "x-kubernetes-group-version-kind": [
3394
5505
  {
3395
5506
  "group": "rules.alerting.grafana.app",
3396
- "kind": "RecordingRule",
5507
+ "kind": "RuleSequence",
3397
5508
  "version": "v0alpha1"
3398
5509
  }
3399
5510
  ]
3400
5511
  },
3401
- "RecordingRuleDatasourceUID": {
3402
- "type": "string",
3403
- "pattern": "^[a-zA-Z0-9_-]+$"
3404
- },
3405
- "RecordingRuleExpression": {
3406
- "type": "object",
3407
- "required": ["model"],
3408
- "properties": {
3409
- "datasourceUID": {
3410
- "$ref": "#/components/schemas/RecordingRuleDatasourceUID"
3411
- },
3412
- "model": {
3413
- "type": "object",
3414
- "additionalProperties": {}
3415
- },
3416
- "queryType": {
3417
- "description": "The type of query if this is a query expression",
3418
- "type": "string"
3419
- },
3420
- "relativeTimeRange": {
3421
- "$ref": "#/components/schemas/RecordingRuleRelativeTimeRange"
3422
- },
3423
- "source": {
3424
- "description": "Used to mark the expression to be used as the final source for the rule evaluation\nOnly one expression in a rule can be marked as the source\nFor AlertRules, this is the expression that will be evaluated against the alerting condition\nFor RecordingRules, this is the expression that will be recorded",
3425
- "type": "boolean"
3426
- }
3427
- },
3428
- "additionalProperties": false
3429
- },
3430
- "RecordingRuleExpressionMap": {
3431
- "type": "object",
3432
- "additionalProperties": {
3433
- "$ref": "#/components/schemas/RecordingRuleExpression"
3434
- }
3435
- },
3436
- "RecordingRuleIntervalTrigger": {
5512
+ "RuleSequenceIntervalTrigger": {
3437
5513
  "type": "object",
3438
5514
  "required": ["interval"],
3439
5515
  "properties": {
3440
5516
  "interval": {
3441
- "$ref": "#/components/schemas/RecordingRulePromDuration"
5517
+ "$ref": "#/components/schemas/RuleSequencePromDuration"
3442
5518
  }
3443
5519
  },
3444
5520
  "additionalProperties": false
3445
5521
  },
3446
- "RecordingRuleList": {
5522
+ "RuleSequenceList": {
3447
5523
  "type": "object",
3448
5524
  "required": ["metadata", "items"],
3449
5525
  "properties": {
@@ -3457,7 +5533,7 @@
3457
5533
  "default": {},
3458
5534
  "allOf": [
3459
5535
  {
3460
- "$ref": "#/components/schemas/RecordingRule"
5536
+ "$ref": "#/components/schemas/RuleSequence"
3461
5537
  }
3462
5538
  ]
3463
5539
  }
@@ -3478,16 +5554,12 @@
3478
5554
  "x-kubernetes-group-version-kind": [
3479
5555
  {
3480
5556
  "group": "rules.alerting.grafana.app",
3481
- "kind": "RecordingRuleList",
5557
+ "kind": "RuleSequenceList",
3482
5558
  "version": "v0alpha1"
3483
5559
  }
3484
5560
  ]
3485
5561
  },
3486
- "RecordingRuleMetricName": {
3487
- "type": "string",
3488
- "pattern": "^[a-zA-Z_:][a-zA-Z0-9_:]*$"
3489
- },
3490
- "RecordingRuleOperatorState": {
5562
+ "RuleSequenceOperatorState": {
3491
5563
  "type": "object",
3492
5564
  "required": ["lastEvaluation", "state"],
3493
5565
  "properties": {
@@ -3512,128 +5584,287 @@
3512
5584
  },
3513
5585
  "additionalProperties": false
3514
5586
  },
3515
- "RecordingRulePromDuration": {
5587
+ "RuleSequencePromDuration": {
3516
5588
  "type": "string",
3517
5589
  "pattern": "^((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?|0)$",
3518
5590
  "not": {
3519
5591
  "pattern": "hmuµn"
3520
5592
  }
3521
5593
  },
3522
- "RecordingRulePromDurationWMillis": {
5594
+ "RuleSequenceRuleRef": {
5595
+ "type": "object",
5596
+ "required": ["name"],
5597
+ "properties": {
5598
+ "name": {
5599
+ "$ref": "#/components/schemas/RuleSequenceRuleUID"
5600
+ }
5601
+ },
5602
+ "additionalProperties": false
5603
+ },
5604
+ "RuleSequenceRuleUID": {
3523
5605
  "type": "string",
3524
- "pattern": "^((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?|0)$"
5606
+ "pattern": "^[a-zA-Z0-9_-]+$"
3525
5607
  },
3526
- "RecordingRuleRelativeTimeRange": {
5608
+ "RuleSequenceSpec": {
3527
5609
  "type": "object",
3528
- "required": ["from", "to"],
5610
+ "required": ["trigger", "recordingRules"],
3529
5611
  "properties": {
3530
- "from": {
3531
- "$ref": "#/components/schemas/RecordingRulePromDurationWMillis"
5612
+ "alertingRules": {
5613
+ "type": "array",
5614
+ "items": {
5615
+ "$ref": "#/components/schemas/RuleSequenceRuleRef"
5616
+ }
3532
5617
  },
3533
- "to": {
3534
- "$ref": "#/components/schemas/RecordingRulePromDurationWMillis"
5618
+ "recordingRules": {
5619
+ "type": "array",
5620
+ "items": {
5621
+ "$ref": "#/components/schemas/RuleSequenceRuleRef"
5622
+ }
5623
+ },
5624
+ "trigger": {
5625
+ "$ref": "#/components/schemas/RuleSequenceIntervalTrigger"
3535
5626
  }
3536
5627
  },
3537
5628
  "additionalProperties": false
3538
5629
  },
3539
- "RecordingRuleSpec": {
5630
+ "RuleSequenceStatus": {
3540
5631
  "type": "object",
3541
- "required": ["title", "trigger", "metric", "expressions", "targetDatasourceUID"],
3542
5632
  "properties": {
3543
- "expressions": {
3544
- "$ref": "#/components/schemas/RecordingRuleExpressionMap"
5633
+ "additionalFields": {
5634
+ "description": "additionalFields is reserved for future use",
5635
+ "type": "object",
5636
+ "additionalProperties": true
3545
5637
  },
3546
- "labels": {
5638
+ "operatorStates": {
5639
+ "description": "operatorStates is a map of operator ID to operator state evaluations.\nAny operator which consumes this kind SHOULD add its state evaluation information to this field.",
3547
5640
  "type": "object",
3548
5641
  "additionalProperties": {
3549
- "$ref": "#/components/schemas/RecordingRuleTemplateString"
5642
+ "$ref": "#/components/schemas/RuleSequenceOperatorState"
5643
+ }
5644
+ }
5645
+ },
5646
+ "additionalProperties": false
5647
+ },
5648
+ "Unstructured": {
5649
+ "type": "object",
5650
+ "additionalProperties": true,
5651
+ "x-kubernetes-preserve-unknown-fields": true
5652
+ },
5653
+ "ExistsPredicate": {
5654
+ "description": "ExistsPredicate is a future field-existence predicate. Modelled for schema stability; always rejected in v1.",
5655
+ "type": "object",
5656
+ "required": ["field"],
5657
+ "properties": {
5658
+ "field": {
5659
+ "type": "string",
5660
+ "default": ""
5661
+ }
5662
+ }
5663
+ },
5664
+ "FacetTerm": {
5665
+ "description": "FacetTerm is a single facet term and its count.",
5666
+ "type": "object",
5667
+ "required": ["value", "count"],
5668
+ "properties": {
5669
+ "count": {
5670
+ "type": "integer",
5671
+ "format": "int64",
5672
+ "default": 0
5673
+ },
5674
+ "value": {
5675
+ "type": "string",
5676
+ "default": ""
5677
+ }
5678
+ }
5679
+ },
5680
+ "FilterPredicate": {
5681
+ "description": "FilterPredicate is an exact / set-based predicate against a single field. Values are strings whatever the field's declared type, so a boolean field takes \"true\" or \"false\" and a numeric field takes the number written out.\n\nNumbers are held as float64, so only integers up to 2^53 are compared exactly. Past that, values a whole number apart share one representation, and a filter can both match a neighbour and miss the value asked for.",
5682
+ "type": "object",
5683
+ "required": ["field", "operator", "values"],
5684
+ "properties": {
5685
+ "field": {
5686
+ "type": "string",
5687
+ "default": ""
5688
+ },
5689
+ "operator": {
5690
+ "description": "Operator is \"In\", \"NotIn\" or \"All\" in v1. \"In\" matches any of the values, \"NotIn\" excludes all of them, and \"All\" requires the field to hold every value, which only a field holding a list of values can do.",
5691
+ "type": "string",
5692
+ "default": ""
5693
+ },
5694
+ "values": {
5695
+ "type": "array",
5696
+ "items": {
5697
+ "type": "string"
3550
5698
  }
5699
+ }
5700
+ }
5701
+ },
5702
+ "RangePredicate": {
5703
+ "description": "RangePredicate compares a numeric field against one or two bounds. At least one bound is required, gt cannot be combined with gte, and lt cannot be combined with lte. Boolean and string fields are rejected: only numbers have the order a range asks about. On an integer field a bound must be whole.\n\nBounds are held as float64, so only integers up to 2^53 are compared exactly. Past that, values a whole number apart share one representation, and a bound can both admit a neighbour and exclude the value asked for.",
5704
+ "type": "object",
5705
+ "required": ["field"],
5706
+ "properties": {
5707
+ "field": {
5708
+ "type": "string",
5709
+ "default": ""
3551
5710
  },
3552
- "metric": {
3553
- "$ref": "#/components/schemas/RecordingRuleMetricName"
5711
+ "gt": {
5712
+ "type": "number",
5713
+ "format": "double"
5714
+ },
5715
+ "gte": {
5716
+ "type": "number",
5717
+ "format": "double"
5718
+ },
5719
+ "lt": {
5720
+ "type": "number",
5721
+ "format": "double"
5722
+ },
5723
+ "lte": {
5724
+ "type": "number",
5725
+ "format": "double"
5726
+ }
5727
+ }
5728
+ },
5729
+ "RegexPredicate": {
5730
+ "description": "RegexPredicate matches a single field against a regular expression, one pattern per leaf the way a single Prometheus matcher works. Negate turns the leaf from =~ into !~.\n\nMatching is against the whole indexed term and is case-sensitive, so it is restricted to filterable keyword string fields that keep their original case. The pattern is a portable RE2 subset: literals, character classes, grouping, alternation, and greedy repetition. The backend is the source of truth for what the subset admits; it rejects unsupported syntax, fields that do not preserve case, and patterns that expand to too many terms with a 400.",
5731
+ "type": "object",
5732
+ "required": ["field", "pattern"],
5733
+ "properties": {
5734
+ "field": {
5735
+ "type": "string",
5736
+ "default": ""
5737
+ },
5738
+ "negate": {
5739
+ "description": "Negate inverts the match: the field must not match the pattern.",
5740
+ "type": "boolean"
5741
+ },
5742
+ "pattern": {
5743
+ "type": "string",
5744
+ "default": ""
5745
+ }
5746
+ }
5747
+ },
5748
+ "ResourceRef": {
5749
+ "description": "ResourceRef is the full identity of a returned item. Namespace is implicit from the URL and omitted.",
5750
+ "type": "object",
5751
+ "required": ["group", "resource", "kind", "name"],
5752
+ "properties": {
5753
+ "group": {
5754
+ "type": "string",
5755
+ "default": ""
5756
+ },
5757
+ "kind": {
5758
+ "type": "string",
5759
+ "default": ""
3554
5760
  },
3555
- "paused": {
3556
- "type": "boolean"
5761
+ "name": {
5762
+ "type": "string",
5763
+ "default": ""
3557
5764
  },
3558
- "targetDatasourceUID": {
3559
- "$ref": "#/components/schemas/RecordingRuleDatasourceUID"
5765
+ "resource": {
5766
+ "type": "string",
5767
+ "default": ""
5768
+ }
5769
+ }
5770
+ },
5771
+ "ResultItem": {
5772
+ "description": "ResultItem is one search or trash hit. The item shape is identical on both endpoints; only which fields the Fields map can carry differs.",
5773
+ "type": "object",
5774
+ "required": ["resource"],
5775
+ "properties": {
5776
+ "fields": {
5777
+ "description": "Fields holds the JSON values for the requested (or default) fields. Array-typed fields are returned as JSON arrays. Absent fields are omitted.",
5778
+ "$ref": "#/components/schemas/Unstructured"
3560
5779
  },
3561
- "title": {
3562
- "type": "string"
5780
+ "resource": {
5781
+ "default": {},
5782
+ "$ref": "#/components/schemas/ResourceRef"
3563
5783
  },
3564
- "trigger": {
3565
- "$ref": "#/components/schemas/RecordingRuleIntervalTrigger"
5784
+ "score": {
5785
+ "description": "Score is present only when a text query was evaluated. A pointer so a real score of 0 is still distinguishable from \"no text query\" (absent).",
5786
+ "type": "number",
5787
+ "format": "double"
3566
5788
  }
3567
- },
3568
- "additionalProperties": false
5789
+ }
3569
5790
  },
3570
- "RecordingRuleStatus": {
5791
+ "ResultsMetadata": {
5792
+ "description": "ResultsMetadata carries the pagination token and the total hit count.",
3571
5793
  "type": "object",
5794
+ "required": ["totalHits", "totalHitsRelation"],
3572
5795
  "properties": {
3573
- "additionalFields": {
3574
- "description": "additionalFields is reserved for future use",
3575
- "type": "object",
3576
- "additionalProperties": true
5796
+ "continue": {
5797
+ "type": "string"
3577
5798
  },
3578
- "operatorStates": {
3579
- "description": "operatorStates is a map of operator ID to operator state evaluations.\nAny operator which consumes this kind SHOULD add its state evaluation information to this field.",
3580
- "type": "object",
3581
- "additionalProperties": {
3582
- "$ref": "#/components/schemas/RecordingRuleOperatorState"
3583
- }
5799
+ "totalHits": {
5800
+ "description": "TotalHits counts the resources matching the query. Always read it together with TotalHitsRelation. When the relation is \"unknown\", this is a zero placeholder that must not be interpreted as a count.",
5801
+ "type": "integer",
5802
+ "format": "int64",
5803
+ "default": 0
5804
+ },
5805
+ "totalHitsRelation": {
5806
+ "description": "TotalHitsRelation is \"eq\" when TotalHits is exact and \"lte\" when it is an upper bound. \"unknown\" means no count is available and TotalHits must be ignored.",
5807
+ "type": "string",
5808
+ "default": ""
3584
5809
  }
3585
- },
3586
- "additionalProperties": false
3587
- },
3588
- "RecordingRuleTemplateString": {
3589
- "type": "string"
5810
+ }
3590
5811
  },
3591
- "RuleSequence": {
5812
+ "SearchQuery": {
5813
+ "description": "SearchQuery is the request body for POST .../{resource}/search, which searches one kind, and for POST .../namespaces/{namespace}/global/search, which searches several resource types at once.",
3592
5814
  "type": "object",
3593
- "required": ["kind", "apiVersion", "metadata", "spec"],
3594
5815
  "properties": {
3595
5816
  "apiVersion": {
3596
5817
  "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
3597
5818
  "type": "string"
3598
5819
  },
5820
+ "continue": {
5821
+ "description": "Continue is an opaque pagination token from a previous page.",
5822
+ "type": "string"
5823
+ },
5824
+ "facetLimit": {
5825
+ "description": "FacetLimit caps the number of terms returned per facet. It applies to every entry in Facets. Zero uses the server default; values above the server cap are clamped.",
5826
+ "type": "integer",
5827
+ "format": "int64"
5828
+ },
5829
+ "facets": {
5830
+ "type": "array",
5831
+ "items": {
5832
+ "type": "string"
5833
+ }
5834
+ },
5835
+ "fields": {
5836
+ "type": "array",
5837
+ "items": {
5838
+ "type": "string"
5839
+ }
5840
+ },
3599
5841
  "kind": {
3600
5842
  "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
3601
5843
  "type": "string"
3602
5844
  },
3603
- "metadata": {
3604
- "default": {},
3605
- "allOf": [
3606
- {
3607
- "$ref": "#/components/schemas/ObjectMeta"
3608
- }
3609
- ]
5845
+ "labelSelector": {
5846
+ "description": "LabelSelector filters on metadata.labels, ANDed with Where.",
5847
+ "$ref": "#/components/schemas/LabelSelector"
3610
5848
  },
3611
- "spec": {
3612
- "$ref": "#/components/schemas/RuleSequenceSpec"
5849
+ "limit": {
5850
+ "description": "Limit is the page size. Zero uses the default; values above the maximum are clamped.",
5851
+ "type": "integer",
5852
+ "format": "int64"
3613
5853
  },
3614
- "status": {
3615
- "$ref": "#/components/schemas/RuleSequenceStatus"
3616
- }
3617
- },
3618
- "x-kubernetes-group-version-kind": [
3619
- {
3620
- "group": "rules.alerting.grafana.app",
3621
- "kind": "RuleSequence",
3622
- "version": "v0alpha1"
3623
- }
3624
- ]
3625
- },
3626
- "RuleSequenceIntervalTrigger": {
3627
- "type": "object",
3628
- "required": ["interval"],
3629
- "properties": {
3630
- "interval": {
3631
- "$ref": "#/components/schemas/RuleSequencePromDuration"
5854
+ "sort": {
5855
+ "type": "array",
5856
+ "items": {
5857
+ "$ref": "#/components/schemas/SortField"
5858
+ }
5859
+ },
5860
+ "where": {
5861
+ "description": "Where is the search predicate tree. Omitting it matches everything the endpoint searches: all resources of the kind, or of every type the global search covers (subject to labelSelector and per-item authz).",
5862
+ "$ref": "#/components/schemas/WhereNode"
3632
5863
  }
3633
- },
3634
- "additionalProperties": false
5864
+ }
3635
5865
  },
3636
- "RuleSequenceList": {
5866
+ "SearchResults": {
5867
+ "description": "SearchResults is the response body for POST .../{resource}/search.",
3637
5868
  "type": "object",
3638
5869
  "required": ["metadata", "items"],
3639
5870
  "properties": {
@@ -3641,15 +5872,20 @@
3641
5872
  "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
3642
5873
  "type": "string"
3643
5874
  },
5875
+ "facets": {
5876
+ "description": "Facets holds term counts per requested facet field. Counts are computed over a bounded sample window, so they are best-effort/approximate.",
5877
+ "type": "object",
5878
+ "additionalProperties": {
5879
+ "type": "array",
5880
+ "items": {
5881
+ "$ref": "#/components/schemas/FacetTerm"
5882
+ }
5883
+ }
5884
+ },
3644
5885
  "items": {
3645
5886
  "type": "array",
3646
5887
  "items": {
3647
- "default": {},
3648
- "allOf": [
3649
- {
3650
- "$ref": "#/components/schemas/RuleSequence"
3651
- }
3652
- ]
5888
+ "$ref": "#/components/schemas/ResultItem"
3653
5889
  }
3654
5890
  },
3655
5891
  "kind": {
@@ -3658,106 +5894,83 @@
3658
5894
  },
3659
5895
  "metadata": {
3660
5896
  "default": {},
3661
- "allOf": [
3662
- {
3663
- "$ref": "#/components/schemas/ListMeta"
3664
- }
3665
- ]
3666
- }
3667
- },
3668
- "x-kubernetes-group-version-kind": [
3669
- {
3670
- "group": "rules.alerting.grafana.app",
3671
- "kind": "RuleSequenceList",
3672
- "version": "v0alpha1"
5897
+ "$ref": "#/components/schemas/ResultsMetadata"
3673
5898
  }
3674
- ]
5899
+ }
3675
5900
  },
3676
- "RuleSequenceOperatorState": {
5901
+ "SortField": {
5902
+ "description": "SortField names a field to sort by and a direction (\"asc\" or \"desc\"). V1 allows sorting only on scalar string and numeric fields that declare the sort capability.",
3677
5903
  "type": "object",
3678
- "required": ["lastEvaluation", "state"],
5904
+ "required": ["field"],
3679
5905
  "properties": {
3680
- "descriptiveState": {
3681
- "description": "descriptiveState is an optional more descriptive state field which has no requirements on format",
5906
+ "direction": {
3682
5907
  "type": "string"
3683
5908
  },
3684
- "details": {
3685
- "description": "details contains any extra information that is operator-specific",
3686
- "type": "object",
3687
- "additionalProperties": true
3688
- },
3689
- "lastEvaluation": {
3690
- "description": "lastEvaluation is the ResourceVersion last evaluated",
3691
- "type": "string"
3692
- },
3693
- "state": {
3694
- "description": "state describes the state of the lastEvaluation.\nIt is limited to three possible states for machine evaluation.",
5909
+ "field": {
3695
5910
  "type": "string",
3696
- "enum": ["success", "in_progress", "failed"]
5911
+ "default": ""
3697
5912
  }
3698
- },
3699
- "additionalProperties": false
3700
- },
3701
- "RuleSequencePromDuration": {
3702
- "type": "string",
3703
- "pattern": "^((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?|0)$",
3704
- "not": {
3705
- "pattern": "hmuµn"
3706
5913
  }
3707
5914
  },
3708
- "RuleSequenceRuleRef": {
5915
+ "TextPredicate": {
5916
+ "description": "TextPredicate is a free-text predicate against one or more text-capable fields. When Fields is empty it defaults to the kind's searchTextFields (currently [\"title\"]).",
3709
5917
  "type": "object",
3710
- "required": ["name"],
5918
+ "required": ["value"],
3711
5919
  "properties": {
3712
- "name": {
3713
- "$ref": "#/components/schemas/RuleSequenceRuleUID"
5920
+ "boost": {
5921
+ "description": "Boost is a future per-leaf score multiplier. Setting it is rejected in v1.",
5922
+ "type": "number",
5923
+ "format": "double"
5924
+ },
5925
+ "fields": {
5926
+ "type": "array",
5927
+ "items": {
5928
+ "type": "string"
5929
+ }
5930
+ },
5931
+ "value": {
5932
+ "type": "string",
5933
+ "default": ""
3714
5934
  }
3715
- },
3716
- "additionalProperties": false
3717
- },
3718
- "RuleSequenceRuleUID": {
3719
- "type": "string",
3720
- "pattern": "^[a-zA-Z0-9_-]+$"
5935
+ }
3721
5936
  },
3722
- "RuleSequenceSpec": {
5937
+ "WhereNode": {
5938
+ "description": "WhereNode is a single node of the where tree. Exactly one field must be set; the set field names the node's type. Combinators (and/or/not) compose other nodes, leaves (text/filter/range/regex/exists) are terminal predicates.\n\nAll node types are modelled so the schema is future-proof, but v1 only accepts a narrow subset (top-level single leaf or a single and of leaves; text, filter, range and regex leaves; In/NotIn/All filter operators). Everything else is rejected with 422 Unprocessable Entity by the validation layer. exists is sketched for a future version and always rejected today.",
3723
5939
  "type": "object",
3724
- "required": ["trigger", "recordingRules"],
3725
5940
  "properties": {
3726
- "alertingRules": {
5941
+ "and": {
5942
+ "description": "Combinators.",
3727
5943
  "type": "array",
3728
5944
  "items": {
3729
- "$ref": "#/components/schemas/RuleSequenceRuleRef"
5945
+ "$ref": "#/components/schemas/WhereNode"
3730
5946
  }
3731
5947
  },
3732
- "recordingRules": {
5948
+ "exists": {
5949
+ "$ref": "#/components/schemas/ExistsPredicate"
5950
+ },
5951
+ "filter": {
5952
+ "$ref": "#/components/schemas/FilterPredicate"
5953
+ },
5954
+ "not": {
5955
+ "$ref": "#/components/schemas/WhereNode"
5956
+ },
5957
+ "or": {
3733
5958
  "type": "array",
3734
5959
  "items": {
3735
- "$ref": "#/components/schemas/RuleSequenceRuleRef"
5960
+ "$ref": "#/components/schemas/WhereNode"
3736
5961
  }
3737
5962
  },
3738
- "trigger": {
3739
- "$ref": "#/components/schemas/RuleSequenceIntervalTrigger"
3740
- }
3741
- },
3742
- "additionalProperties": false
3743
- },
3744
- "RuleSequenceStatus": {
3745
- "type": "object",
3746
- "properties": {
3747
- "additionalFields": {
3748
- "description": "additionalFields is reserved for future use",
3749
- "type": "object",
3750
- "additionalProperties": true
5963
+ "range": {
5964
+ "$ref": "#/components/schemas/RangePredicate"
3751
5965
  },
3752
- "operatorStates": {
3753
- "description": "operatorStates is a map of operator ID to operator state evaluations.\nAny operator which consumes this kind SHOULD add its state evaluation information to this field.",
3754
- "type": "object",
3755
- "additionalProperties": {
3756
- "$ref": "#/components/schemas/RuleSequenceOperatorState"
3757
- }
5966
+ "regex": {
5967
+ "$ref": "#/components/schemas/RegexPredicate"
5968
+ },
5969
+ "text": {
5970
+ "description": "Leaves.",
5971
+ "$ref": "#/components/schemas/TextPredicate"
3758
5972
  }
3759
- },
3760
- "additionalProperties": false
5973
+ }
3761
5974
  },
3762
5975
  "APIResource": {
3763
5976
  "description": "APIResource specifies the name of a resource and whether it is namespaced.",
@@ -3909,6 +6122,53 @@
3909
6122
  "description": "FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.\n\nEach key is either a '.' representing the field itself, and will always map to an empty set, or a string representing a sub-field or item. The string will follow one of these four formats: 'f:<name>', where <name> is the name of a field in a struct, or key in a map 'v:<value>', where <value> is the exact json formatted value of a list item 'i:<index>', where <index> is position of a item in a list 'k:<keys>', where <keys> is a map of a list item's key fields to their unique values If a key maps to an empty Fields value, the field that key represents is part of the set.\n\nThe exact format is defined in sigs.k8s.io/structured-merge-diff",
3910
6123
  "type": "object"
3911
6124
  },
6125
+ "LabelSelector": {
6126
+ "description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
6127
+ "type": "object",
6128
+ "properties": {
6129
+ "matchExpressions": {
6130
+ "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
6131
+ "type": "array",
6132
+ "items": {
6133
+ "$ref": "#/components/schemas/LabelSelectorRequirement"
6134
+ },
6135
+ "x-kubernetes-list-type": "atomic"
6136
+ },
6137
+ "matchLabels": {
6138
+ "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
6139
+ "type": "object",
6140
+ "additionalProperties": {
6141
+ "type": "string"
6142
+ }
6143
+ }
6144
+ },
6145
+ "x-kubernetes-map-type": "atomic"
6146
+ },
6147
+ "LabelSelectorRequirement": {
6148
+ "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
6149
+ "type": "object",
6150
+ "required": ["key", "operator"],
6151
+ "properties": {
6152
+ "key": {
6153
+ "description": "key is the label key that the selector applies to.",
6154
+ "type": "string",
6155
+ "default": ""
6156
+ },
6157
+ "operator": {
6158
+ "description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.",
6159
+ "type": "string",
6160
+ "default": ""
6161
+ },
6162
+ "values": {
6163
+ "description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
6164
+ "type": "array",
6165
+ "items": {
6166
+ "type": "string"
6167
+ },
6168
+ "x-kubernetes-list-type": "atomic"
6169
+ }
6170
+ }
6171
+ },
3912
6172
  "ListMeta": {
3913
6173
  "description": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.",
3914
6174
  "type": "object",