@intentius/chant-lexicon-grafana 0.100.0 → 0.102.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 (240) hide show
  1. package/README.md +4 -4
  2. package/dist/actions/grafana.d.ts.map +1 -1
  3. package/dist/alerting-build.d.ts.map +1 -1
  4. package/dist/alerting.d.ts +22 -9
  5. package/dist/alerting.d.ts.map +1 -1
  6. package/dist/api/apply.d.ts.map +1 -1
  7. package/dist/api/bind.d.ts.map +1 -1
  8. package/dist/api/client.d.ts.map +1 -1
  9. package/dist/api/library-panels.d.ts +1 -1
  10. package/dist/api/library-panels.d.ts.map +1 -1
  11. package/dist/build.d.ts +29 -5
  12. package/dist/build.d.ts.map +1 -1
  13. package/dist/catalog.d.ts +1 -1
  14. package/dist/catalog.d.ts.map +1 -1
  15. package/dist/codegen/docs.d.ts.map +1 -1
  16. package/dist/composites/agent-dashboard.d.ts +81 -7
  17. package/dist/composites/agent-dashboard.d.ts.map +1 -1
  18. package/dist/composites/catalog.d.ts.map +1 -1
  19. package/dist/composites/index.d.ts +1 -1
  20. package/dist/composites/index.d.ts.map +1 -1
  21. package/dist/composites/red-dashboard.d.ts +1 -1
  22. package/dist/composites/red-dashboard.d.ts.map +1 -1
  23. package/dist/composites/shared.d.ts +4 -4
  24. package/dist/composites/shared.d.ts.map +1 -1
  25. package/dist/composites/slo-alert-rules.d.ts +6 -6
  26. package/dist/composites/slo-alert-rules.d.ts.map +1 -1
  27. package/dist/composites/slo-dashboard.d.ts +4 -4
  28. package/dist/composites/slo-dashboard.d.ts.map +1 -1
  29. package/dist/contact-point-check.d.ts +8 -0
  30. package/dist/contact-point-check.d.ts.map +1 -0
  31. package/dist/contact-point-secrets.d.ts +3 -2
  32. package/dist/contact-point-secrets.d.ts.map +1 -1
  33. package/dist/contact-point-settings.gen.d.ts +632 -0
  34. package/dist/contact-point-settings.gen.d.ts.map +1 -0
  35. package/dist/dashboard.d.ts +7 -3
  36. package/dist/dashboard.d.ts.map +1 -1
  37. package/dist/datasource-refs.d.ts +11 -0
  38. package/dist/datasource-refs.d.ts.map +1 -1
  39. package/dist/datasource-settings.d.ts +44 -0
  40. package/dist/datasource-settings.d.ts.map +1 -1
  41. package/dist/deep-observe.d.ts +3 -2
  42. package/dist/deep-observe.d.ts.map +1 -1
  43. package/dist/describe-resources.d.ts +2 -4
  44. package/dist/describe-resources.d.ts.map +1 -1
  45. package/dist/import/embedded.d.ts +5 -0
  46. package/dist/import/embedded.d.ts.map +1 -1
  47. package/dist/import/generator.d.ts +41 -13
  48. package/dist/import/generator.d.ts.map +1 -1
  49. package/dist/import/mappings.d.ts.map +1 -1
  50. package/dist/import/model.d.ts +22 -0
  51. package/dist/import/model.d.ts.map +1 -1
  52. package/dist/import/normalize.d.ts +1 -1
  53. package/dist/import/normalize.d.ts.map +1 -1
  54. package/dist/import/parser.d.ts +8 -0
  55. package/dist/import/parser.d.ts.map +1 -1
  56. package/dist/import/report.d.ts.map +1 -1
  57. package/dist/import/testdata/fixtures.d.ts.map +1 -1
  58. package/dist/import/v2.d.ts +4 -3
  59. package/dist/import/v2.d.ts.map +1 -1
  60. package/dist/index.d.ts +8 -6
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/init-templates.d.ts.map +1 -1
  63. package/dist/integrity.json +10 -8
  64. package/dist/k8s.d.ts +83 -2
  65. package/dist/k8s.d.ts.map +1 -1
  66. package/dist/library-panel.d.ts +95 -0
  67. package/dist/library-panel.d.ts.map +1 -0
  68. package/dist/lint/audit-catalog.d.ts +1 -1
  69. package/dist/lint/audit-catalog.d.ts.map +1 -1
  70. package/dist/lint/audit-lineage.d.ts +37 -0
  71. package/dist/lint/audit-lineage.d.ts.map +1 -0
  72. package/dist/lint/post-synth/graf114.d.ts +1 -1
  73. package/dist/lint/post-synth/graf116.d.ts +8 -0
  74. package/dist/lint/post-synth/graf116.d.ts.map +1 -0
  75. package/dist/lint/post-synth/graf117.d.ts +8 -0
  76. package/dist/lint/post-synth/graf117.d.ts.map +1 -0
  77. package/dist/lint/post-synth/index.d.ts.map +1 -1
  78. package/dist/lint/rules/uid-syntax.d.ts +1 -1
  79. package/dist/manifest.json +1 -1
  80. package/dist/meta.json +40 -0
  81. package/dist/okf/index.md +10 -0
  82. package/dist/okf/rules/GRAF001.md +1 -0
  83. package/dist/okf/rules/GRAF116.md +11 -0
  84. package/dist/okf/rules/GRAF117.md +11 -0
  85. package/dist/okf/types/AnnotationsListPanel.md +9 -0
  86. package/dist/okf/types/CandlestickPanel.md +9 -0
  87. package/dist/okf/types/DashboardListPanel.md +9 -0
  88. package/dist/okf/types/DataGridPanel.md +9 -0
  89. package/dist/okf/types/LibraryPanel.md +13 -0
  90. package/dist/okf/types/LibraryPanelRef.md +9 -0
  91. package/dist/okf/types/NewsPanel.md +9 -0
  92. package/dist/okf/types/OpenSearchQuery.md +9 -0
  93. package/dist/op/builders.d.ts.map +1 -1
  94. package/dist/panels.d.ts +23 -1
  95. package/dist/panels.d.ts.map +1 -1
  96. package/dist/pin.d.ts +1 -1
  97. package/dist/pin.d.ts.map +1 -1
  98. package/dist/plugin.d.ts.map +1 -1
  99. package/dist/promql-check.d.ts +2 -0
  100. package/dist/promql-check.d.ts.map +1 -1
  101. package/dist/query-models.d.ts +78 -0
  102. package/dist/query-models.d.ts.map +1 -1
  103. package/dist/query-syntax.d.ts +55 -0
  104. package/dist/query-syntax.d.ts.map +1 -0
  105. package/dist/query.d.ts +16 -8
  106. package/dist/query.d.ts.map +1 -1
  107. package/dist/rules/graf114.ts +1 -1
  108. package/dist/rules/graf116.ts +17 -0
  109. package/dist/rules/graf117.ts +17 -0
  110. package/dist/rules/uid-syntax.ts +2 -2
  111. package/dist/schema/annotationslist.gen.d.ts +13 -0
  112. package/dist/schema/annotationslist.gen.d.ts.map +1 -0
  113. package/dist/schema/candlestick.gen.d.ts +244 -0
  114. package/dist/schema/candlestick.gen.d.ts.map +1 -0
  115. package/dist/schema/dashboardlist.gen.d.ts +18 -0
  116. package/dist/schema/dashboardlist.gen.d.ts.map +1 -0
  117. package/dist/schema/datagrid.gen.d.ts +4 -0
  118. package/dist/schema/datagrid.gen.d.ts.map +1 -0
  119. package/dist/schema/index.d.ts +5 -0
  120. package/dist/schema/index.d.ts.map +1 -1
  121. package/dist/schema/news.gen.d.ts +8 -0
  122. package/dist/schema/news.gen.d.ts.map +1 -0
  123. package/dist/schema/table.gen.d.ts +37 -0
  124. package/dist/schema/table.gen.d.ts.map +1 -1
  125. package/dist/skill-defs.d.ts +1 -1
  126. package/dist/skill-defs.d.ts.map +1 -1
  127. package/dist/skills/chant-grafana-operations.md +3 -3
  128. package/dist/skills/chant-grafana-provisioning.md +1 -1
  129. package/dist/skills/chant-grafana.md +6 -3
  130. package/dist/spec/fetch-notifiers-cli.d.ts +3 -0
  131. package/dist/spec/fetch-notifiers-cli.d.ts.map +1 -0
  132. package/dist/spec/notifiers.d.ts +48 -0
  133. package/dist/spec/notifiers.d.ts.map +1 -0
  134. package/dist/spec/schemas.gen.d.ts.map +1 -1
  135. package/dist/validate-alerting.d.ts +12 -3
  136. package/dist/validate-alerting.d.ts.map +1 -1
  137. package/dist/validate-output.d.ts +11 -2
  138. package/dist/validate-output.d.ts.map +1 -1
  139. package/dist/validate.d.ts.map +1 -1
  140. package/dist/validation.d.ts +1 -1
  141. package/dist/variables.d.ts +4 -2
  142. package/dist/variables.d.ts.map +1 -1
  143. package/package.json +6 -3
  144. package/src/alerting-build.ts +1 -1
  145. package/src/alerting.ts +22 -33
  146. package/src/api/library-panels.ts +4 -2
  147. package/src/build.test.ts +95 -7
  148. package/src/build.ts +138 -25
  149. package/src/catalog.ts +16 -1
  150. package/src/codegen/docs.ts +3 -2
  151. package/src/composites/__snapshots__/agent-dashboard.snapshot.test.ts.snap +1581 -0
  152. package/src/composites/agent-dashboard.snapshot.test.ts +47 -0
  153. package/src/composites/agent-dashboard.ts +316 -8
  154. package/src/composites/catalog.ts +13 -7
  155. package/src/composites/composites.test.ts +160 -2
  156. package/src/composites/index.ts +1 -1
  157. package/src/composites/queries.e2e.test.ts +128 -2
  158. package/src/contact-point-check.test.ts +65 -0
  159. package/src/contact-point-check.ts +69 -0
  160. package/src/contact-point-secrets.ts +13 -39
  161. package/src/contact-point-settings.gen.ts +1096 -0
  162. package/src/dashboard.ts +7 -4
  163. package/src/datasource-refs.ts +24 -0
  164. package/src/datasource-settings.test.ts +1 -0
  165. package/src/datasource-settings.ts +49 -0
  166. package/src/deep-observe.test.ts +2 -2
  167. package/src/deep-observe.ts +4 -13
  168. package/src/describe-resources.test.ts +23 -28
  169. package/src/describe-resources.ts +39 -22
  170. package/src/export-resources.test.ts +1 -1
  171. package/src/generated/lexicon-grafana.json +40 -0
  172. package/src/import/embedded.test.ts +14 -2
  173. package/src/import/embedded.ts +22 -3
  174. package/src/import/generated-types.e2e.test.ts +10 -1
  175. package/src/import/generator.test.ts +109 -1
  176. package/src/import/generator.ts +328 -130
  177. package/src/import/mappings.ts +3 -2
  178. package/src/import/model.ts +22 -0
  179. package/src/import/normalize.ts +14 -1
  180. package/src/import/parser.test.ts +111 -14
  181. package/src/import/parser.ts +194 -44
  182. package/src/import/roundtrip.test.ts +54 -26
  183. package/src/import/v2.test.ts +2 -6
  184. package/src/import/v2.ts +6 -7
  185. package/src/index.ts +41 -3
  186. package/src/k8s.test.ts +77 -2
  187. package/src/k8s.ts +186 -2
  188. package/src/library-panel.ts +150 -0
  189. package/src/lint/audit-catalog.ts +22 -2
  190. package/src/lint/audit-lineage.test.ts +21 -0
  191. package/src/lint/audit-lineage.ts +46 -0
  192. package/src/lint/post-synth/graf114.ts +1 -1
  193. package/src/lint/post-synth/graf116.ts +17 -0
  194. package/src/lint/post-synth/graf117.ts +17 -0
  195. package/src/lint/post-synth/index.ts +4 -0
  196. package/src/lint/post-synth/post-synth.test.ts +19 -2
  197. package/src/lint/rules/rules.test.ts +2 -0
  198. package/src/lint/rules/uid-syntax.ts +2 -2
  199. package/src/load-cost.test.ts +5 -0
  200. package/src/op/activities/grafana-apply.e2e.test.ts +25 -21
  201. package/src/panels.ts +65 -1
  202. package/src/pin.ts +10 -0
  203. package/src/plugin.test.ts +14 -1
  204. package/src/plugin.ts +13 -2
  205. package/src/promql-check.ts +7 -13
  206. package/src/query-models.ts +79 -0
  207. package/src/query-syntax.test.ts +211 -0
  208. package/src/query-syntax.ts +137 -0
  209. package/src/query.test.ts +13 -2
  210. package/src/query.ts +23 -8
  211. package/src/schema/annotationslist.gen.ts +17 -0
  212. package/src/schema/candlestick.gen.ts +278 -0
  213. package/src/schema/dashboardlist.gen.ts +22 -0
  214. package/src/schema/datagrid.gen.ts +8 -0
  215. package/src/schema/index.ts +5 -0
  216. package/src/schema/news.gen.ts +12 -0
  217. package/src/schema/table.gen.ts +39 -0
  218. package/src/schema-overlay.test.ts +30 -1
  219. package/src/skills/chant-grafana-operations.md +3 -3
  220. package/src/skills/chant-grafana-provisioning.md +1 -1
  221. package/src/skills/chant-grafana.md +6 -3
  222. package/src/spec/fetch-notifiers-cli.ts +55 -0
  223. package/src/spec/notifiers.ts +158 -0
  224. package/src/spec/overlay/candlestick.overlay.json +44 -0
  225. package/src/spec/overlay/table.overlay.json +8 -1
  226. package/src/spec/schemas/annotationslist.jsonschema.json +65 -0
  227. package/src/spec/schemas/candlestick.jsonschema.json +553 -0
  228. package/src/spec/schemas/dashboardlist.jsonschema.json +72 -0
  229. package/src/spec/schemas/datagrid.jsonschema.json +19 -0
  230. package/src/spec/schemas/news.jsonschema.json +19 -0
  231. package/src/spec/schemas.gen.ts +6 -1
  232. package/src/typecheck.test.ts +90 -0
  233. package/src/validate-alerting.ts +31 -6
  234. package/src/validate-output.ts +49 -4
  235. package/src/validate.ts +8 -0
  236. package/src/validation.ts +1 -1
  237. package/src/variables.ts +4 -2
  238. package/dist/members.d.ts +0 -27
  239. package/dist/members.d.ts.map +0 -1
  240. package/src/members.ts +0 -68
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contact-point-check.d.ts","sourceRoot":"","sources":["../src/contact-point-check.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAiDD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,EAAE,CAM5G"}
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * The contact point settings Grafana stores encrypted, per integration: the
3
3
  * options marked `secure` by `GET /api/alert-notifiers?version=2` on
4
- * `grafana/grafana:13.2.2` (commit 1bea008f; the same list on 12.4.11).
5
- * Nested settings are dotted paths (`tlsConfig.clientKey`).
4
+ * `grafana/grafana:13.2.2` (the same list on 12.4.11), read from the table
5
+ * `just fetch-notifiers` writes. Nested settings are dotted paths
6
+ * (`tlsConfig.clientKey`).
6
7
  *
7
8
  * GRAF002 flags a literal at one of these paths, and the importer replaces
8
9
  * the `[REDACTED]` that an export without secrets writes there.
@@ -1 +1 @@
1
- {"version":3,"file":"contact-point-secrets.d.ts","sourceRoot":"","sources":["../src/contact-point-secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAoCpF,CAAC;AAEH,gIAAgI;AAChI,eAAO,MAAM,cAAc,QAAsF,CAAC;AAElH,kEAAkE;AAClE,eAAO,MAAM,QAAQ,eAAe,CAAC;AAErC,qGAAqG;AACrG,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAQxG"}
1
+ {"version":3,"file":"contact-point-secrets.d.ts","sourceRoot":"","sources":["../src/contact-point-secrets.ts"],"names":[],"mappings":"AAOA;;;;;;;;;GASG;AACH,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAErF,CAAC;AAEF,gIAAgI;AAChI,eAAO,MAAM,cAAc,QAAsF,CAAC;AAElH,kEAAkE;AAClE,eAAO,MAAM,QAAQ,eAAe,CAAC;AAErC,qGAAqG;AACrG,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAQxG"}
@@ -0,0 +1,632 @@
1
+ /** DingDing: Sends HTTP POST request to DingDing */
2
+ export interface DingdingSettings {
3
+ /** Secret: write it as $__env{NAME} or $__file{/path}. */
4
+ url: string;
5
+ msgType?: "link" | "actionCard";
6
+ /** Templated title of the message. */
7
+ title?: string;
8
+ /** Custom DingDing message. You can use template variables. */
9
+ message?: string;
10
+ }
11
+ /** Discord: Sends notifications to Discord */
12
+ export interface DiscordSettings {
13
+ /** Templated title of the message. */
14
+ title?: string;
15
+ /** Mention a group using @ or a user using <@ID> when notifying in a channel. */
16
+ message?: string;
17
+ /** Secret: write it as $__env{NAME} or $__file{/path}. */
18
+ url: string;
19
+ avatar_url?: string;
20
+ /** Use the username configured in Discord's webhook settings. Otherwise, the username will be 'Grafana'. */
21
+ use_discord_username?: boolean;
22
+ /** Show the message inside the embed instead of above it. Note: mentions (@ or <@ID>) in the message will not trigger Discord notifications when this is enabled, as Discord only pings for mentions in the main message content. */
23
+ use_embed_description?: boolean;
24
+ }
25
+ /** Email: Sends notifications using Grafana server configured SMTP settings */
26
+ export interface EmailSettings {
27
+ /** Send a single email to all recipients. */
28
+ singleEmail?: boolean;
29
+ /** You can enter multiple email addresses using a ";", "\n" or "," separator. */
30
+ addresses: string;
31
+ /** Optional message. You can use templates to customize this field. Using a custom message will replace the default message. */
32
+ message?: string;
33
+ /** Optional subject. You can use templates to customize this field. */
34
+ subject?: string;
35
+ }
36
+ /** Google Chat: Sends notifications to Google Chat via webhooks based on the official JSON message format */
37
+ export interface GooglechatSettings {
38
+ /** Secret: write it as $__env{NAME} or $__file{/path}. */
39
+ url: string;
40
+ /** Templated title of the message. */
41
+ title?: string;
42
+ message?: string;
43
+ /** Hide open URL button. */
44
+ hide_open_button?: boolean;
45
+ /** Hide version info. */
46
+ hide_version_info?: boolean;
47
+ }
48
+ /** Jira: Creates Jira issues from alerts */
49
+ export interface JiraSettings {
50
+ /** Supported v2 or v3 APIs. */
51
+ api_url: string;
52
+ /** Username to use for Jira authentication. Secret: write it as $__env{NAME} or $__file{/path}. */
53
+ user?: string;
54
+ /** Password to use for Jira authentication. Secret: write it as $__env{NAME} or $__file{/path}. */
55
+ password?: string;
56
+ /** Personal Access Token that is used as a bearer authorization header. Secret: write it as $__env{NAME} or $__file{/path}. */
57
+ api_token?: string;
58
+ /** The project key associated with the relevant Jira project. */
59
+ project: string;
60
+ /** The type of the Jira issue (e.g., Bug, Task, Story). You can use templates to customize this field. */
61
+ issue_type: string;
62
+ /** The summary of the Jira issue. You can use templates to customize this field. Maximum length is 255 characters. */
63
+ summary?: string;
64
+ /** The description of the Jira issue. You can use templates to customize this field. Maximum length is 32767 characters. */
65
+ description?: string;
66
+ /** Labels to assign to the Jira issue. You can use templates to customize this field. */
67
+ labels?: string[];
68
+ /** The priority of the Jira issue (e.g., High, Medium, Low). You can use templates to customize this field. */
69
+ priority?: string;
70
+ /** Name of the workflow transition to resolve an issue. The target status must have the category "done". If not set, the issue will not be resolved. */
71
+ resolve_transition?: string;
72
+ /** Name of the workflow transition to resolve an issue. The target status must not have the category "done". If not set, the issue will not be reopened. */
73
+ reopen_transition?: string;
74
+ /** Reopen the issue when it is not older than this value in minutes. Otherwise, create a new issue. */
75
+ reopen_duration?: string;
76
+ /** If reopen transition is defined, ignore issues with that resolution. */
77
+ wont_fix_resolution?: string;
78
+ /** Id of the custom field where the deduplication key should be stored. Otherwise, it is added to labels in format 'ALERT($KEY).'. */
79
+ dedup_key_field?: string;
80
+ /** Custom field data to set on the Jira issue. */
81
+ fields?: Record<string, string>;
82
+ }
83
+ /** Kafka REST Proxy: Sends notifications to Kafka Rest Proxy */
84
+ export interface KafkaSettings {
85
+ /** Hint: If you are directly using v3 APIs hosted on a Confluent Kafka Server, you must append /kafka to the URL here. Example: https://localhost:8082/kafka. */
86
+ kafkaRestProxy: string;
87
+ kafkaTopic: string;
88
+ username?: string;
89
+ /** The password to use when making a call to the Kafka REST Proxy. Secret: write it as $__env{NAME} or $__file{/path}. */
90
+ password?: string;
91
+ /** The API version to use when contacting the Kafka REST Server. By default v2 will be used. */
92
+ apiVersion?: "v2" | "v3";
93
+ /** v3 APIs require a clusterID to be specified. */
94
+ kafkaClusterId?: string;
95
+ /** Templated description of the Kafka message. */
96
+ description?: string;
97
+ /** Custom details to include with the message. You can use template variables. */
98
+ details?: string;
99
+ }
100
+ /** LINE: Send notifications to LINE notify. This integration is deprecated and will be removed in a future release. */
101
+ export interface LineSettings {
102
+ /** Secret: write it as $__env{NAME} or $__file{/path}. */
103
+ token: string;
104
+ /** Templated title of the message. */
105
+ title?: string;
106
+ /** Templated description of the message. */
107
+ description?: string;
108
+ }
109
+ /** TLS configuration options */
110
+ export interface MqttSettingsTlsConfig {
111
+ /** Do not verify the broker's certificate chain and host name. */
112
+ insecureSkipVerify?: boolean;
113
+ /** Certificate in PEM format to use when verifying the broker's certificate chain. Secret: write it as $__env{NAME} or $__file{/path}. */
114
+ caCertificate?: string;
115
+ /** Client certificate in PEM format to use when connecting to the broker. Secret: write it as $__env{NAME} or $__file{/path}. */
116
+ clientCertificate?: string;
117
+ /** Client key in PEM format to use when connecting to the broker. Secret: write it as $__env{NAME} or $__file{/path}. */
118
+ clientKey?: string;
119
+ }
120
+ /** MQTT: Sends notifications to an MQTT broker */
121
+ export interface MqttSettings {
122
+ /** The URL of the MQTT broker. */
123
+ brokerUrl: string;
124
+ /** The topic to which the message will be sent. */
125
+ topic: string;
126
+ /** If set to 'json', the notification message is the default JSON payload, and the Message field sets only the message field in the payload. If set to 'text', the Message field defines the entire payload. The default is 'json'. */
127
+ messageFormat?: "json" | "text";
128
+ /** The client ID to use when connecting to the MQTT broker. If blank, a random client ID is used. */
129
+ clientId?: string;
130
+ /** In 'json' Message format, sets the message field of the default JSON payload. In 'text' Message format, defines the entire payload. */
131
+ message?: string;
132
+ /** The username to use when connecting to the MQTT broker. */
133
+ username?: string;
134
+ /** The password to use when connecting to the MQTT broker. Secret: write it as $__env{NAME} or $__file{/path}. */
135
+ password?: string;
136
+ /** The quality of service to use when sending the message. */
137
+ qos?: "0" | "1" | "2" | 0 | 1 | 2;
138
+ /** If set to true, the message will be retained by the broker. */
139
+ retain?: boolean;
140
+ /** TLS configuration options. */
141
+ tlsConfig?: MqttSettingsTlsConfig;
142
+ }
143
+ /** Grafana IRM: Sends alerts to Grafana IRM */
144
+ export interface OncallSettings {
145
+ url: string;
146
+ httpMethod?: "POST" | "PUT";
147
+ username?: string;
148
+ /** Secret: write it as $__env{NAME} or $__file{/path}. */
149
+ password?: string;
150
+ /** Optionally provide a scheme for the Authorization Request Header. Default is Bearer. */
151
+ authorization_scheme?: string;
152
+ /** Credentials for the Authorization Request header. Only one of HTTP Basic Authentication or Authorization Request Header can be set. Secret: write it as $__env{NAME} or $__file{/path}. */
153
+ authorization_credentials?: string;
154
+ /** Max alerts to include in a notification. Remaining alerts in the same batch will be ignored above this number. 0 means no limit. */
155
+ maxAlerts?: string;
156
+ /** Templated title of the message. */
157
+ title?: string;
158
+ /** Custom message. You can use template variables. */
159
+ message?: string;
160
+ }
161
+ /** If the API key belongs to a team, this field is ignored. */
162
+ export interface OpsgenieSettingsRespondersItem {
163
+ /** team, teams, user, escalation, schedule or a template. */
164
+ type: string;
165
+ /** Name of the responder. Must be specified if ID and Username are empty or if the type is 'teams'. */
166
+ name?: string;
167
+ /** ID of the responder. Must be specified if name and Username are empty. */
168
+ id?: string;
169
+ /** User name of the responder. Must be specified if ID and Name are empty. */
170
+ username?: string;
171
+ }
172
+ /** OpsGenie: Sends notifications to OpsGenie */
173
+ export interface OpsgenieSettings {
174
+ /** Secret: write it as $__env{NAME} or $__file{/path}. */
175
+ apiKey: string;
176
+ apiUrl: string;
177
+ /** Alert text limited to 130 characters. */
178
+ message?: string;
179
+ /** A description of the incident. */
180
+ description?: string;
181
+ /** Automatically close alerts in OpsGenie once the alert goes back to ok. */
182
+ autoClose?: boolean;
183
+ /** Allow the alert priority to be set using the og_priority label. */
184
+ overridePriority?: boolean;
185
+ /** Send the common annotations to Opsgenie as either Extra Properties, Tags or both. */
186
+ sendTagsAs?: "tags" | "details" | "both";
187
+ /** If the API key belongs to a team, this field is ignored. */
188
+ responders?: OpsgenieSettingsRespondersItem[];
189
+ }
190
+ /** PagerDuty: Sends notifications to PagerDuty */
191
+ export interface PagerdutySettings {
192
+ /** Secret: write it as $__env{NAME} or $__file{/path}. */
193
+ integrationKey: string;
194
+ /** Severity of the event. It must be critical, error, warning, info - otherwise, the default is set which is critical. You can use templates. */
195
+ severity?: string;
196
+ /** The class/type of the event, for example 'ping failure' or 'cpu load'. */
197
+ class?: string;
198
+ /** Component of the source machine that is responsible for the event, for example mysql or eth0. */
199
+ component?: string;
200
+ /** Logical grouping of components of a service, for example 'app-stack'. */
201
+ group?: string;
202
+ /** You can use templates for summary. */
203
+ summary?: string;
204
+ /** The unique location of the affected system, preferably a hostname or FQDN. You can use templates. */
205
+ source?: string;
206
+ /** The name of the monitoring client that is triggering this event. You can use templates. */
207
+ client?: string;
208
+ /** The URL of the monitoring client that is triggering this event. You can use templates. */
209
+ client_url?: string;
210
+ /** A set of arbitrary key/value pairs that provide further detail about the incident. */
211
+ details?: Record<string, string>;
212
+ /** The URL to send API requests to. */
213
+ url?: string;
214
+ }
215
+ /** Alertmanager: Sends notifications to Alertmanager */
216
+ export interface PrometheusAlertmanagerSettings {
217
+ url: string;
218
+ basicAuthUser?: string;
219
+ /** Secret: write it as $__env{NAME} or $__file{/path}. */
220
+ basicAuthPassword?: string;
221
+ }
222
+ /** Pushover: Sends HTTP POST request to the Pushover API */
223
+ export interface PushoverSettings {
224
+ /** Secret: write it as $__env{NAME} or $__file{/path}. */
225
+ apiToken: string;
226
+ /** Secret: write it as $__env{NAME} or $__file{/path}. */
227
+ userKey: string;
228
+ device?: string;
229
+ priority?: "2" | "1" | "0" | "-1" | "-2" | 2 | 1 | 0 | -1 | -2;
230
+ okPriority?: "2" | "1" | "0" | "-1" | "-2" | 2 | 1 | 0 | -1 | -2;
231
+ /** How often (in seconds) the Pushover servers will send the same alerting or OK notification to the user. */
232
+ retry?: string;
233
+ /** How many seconds the alerting or OK notification will continue to be retried. */
234
+ expire?: string;
235
+ sound?: "default" | "pushover" | "bike" | "bugle" | "cashregister" | "classical" | "cosmic" | "falling" | "gamelan" | "incoming" | "intermission" | "magic" | "mechanical" | "pianobar" | "siren" | "spacealarm" | "tugboat" | "alien" | "climb" | "persistent" | "echo" | "updown" | "none";
236
+ okSound?: "default" | "pushover" | "bike" | "bugle" | "cashregister" | "classical" | "cosmic" | "falling" | "gamelan" | "incoming" | "intermission" | "magic" | "mechanical" | "pianobar" | "siren" | "spacealarm" | "tugboat" | "alien" | "climb" | "persistent" | "echo" | "updown" | "none";
237
+ title?: string;
238
+ message?: string;
239
+ }
240
+ /** Sensu Go: Sends HTTP POST request to a Sensu Go API */
241
+ export interface SensugoSettings {
242
+ url: string;
243
+ /** API key to auth to Sensu Go backend. Secret: write it as $__env{NAME} or $__file{/path}. */
244
+ apikey: string;
245
+ entity?: string;
246
+ check?: string;
247
+ handler?: string;
248
+ namespace?: string;
249
+ message?: string;
250
+ }
251
+ /** Slack: Sends notifications to Slack */
252
+ export interface SlackSettings {
253
+ /** Specify channel, private group, or IM channel (can be an encoded ID or a name) - required unless you provide a webhook. */
254
+ recipient?: string;
255
+ /** Provide a Slack API token (starts with "xoxb") - required unless you provide a webhook. Secret: write it as $__env{NAME} or $__file{/path}. */
256
+ token?: string;
257
+ /** Set the username for the bot's message. */
258
+ username?: string;
259
+ /** Provide an emoji to use as the icon for the bot's message. Overrides the icon URL. */
260
+ icon_emoji?: string;
261
+ /** Provide a URL to an image to use as the icon for the bot's message. */
262
+ icon_url?: string;
263
+ /** Mention one or more users (comma separated) when notifying in a channel, by ID (you can copy this from the user's Slack profile). */
264
+ mentionUsers?: string;
265
+ /** Mention one or more groups (comma separated) when notifying in a channel (you can copy this from the group's Slack profile URL). */
266
+ mentionGroups?: string;
267
+ /** Mention whole channel or just active members when notifying. */
268
+ mentionChannel?: "" | "here" | "channel";
269
+ /** Optionally provide a Slack incoming webhook URL for sending messages, in this case the token isn't necessary. Secret: write it as $__env{NAME} or $__file{/path}. */
270
+ url?: string;
271
+ /** Optionally provide a custom Slack message API endpoint for non-webhook requests, default is https://slack.com/api/chat.postMessage. */
272
+ endpointUrl?: string;
273
+ /** Templated color of the slack message. */
274
+ color?: string;
275
+ /** Templated title of the slack message. */
276
+ title?: string;
277
+ /** Body of the slack message. */
278
+ text?: string;
279
+ /** Templated footer of the slack message. */
280
+ footer?: string;
281
+ }
282
+ /** Configures AWS's Signature Verification 4 signing process to sign requests */
283
+ export interface SnsSettingsSigv4 {
284
+ /** The AWS region. If blank, the region from the default credentials chain is used. */
285
+ region?: string;
286
+ /** The AWS API access key. Secret: write it as $__env{NAME} or $__file{/path}. */
287
+ access_key?: string;
288
+ /** The AWS API secret key. Secret: write it as $__env{NAME} or $__file{/path}. */
289
+ secret_key?: string;
290
+ /** Named AWS profile used to authenticate. */
291
+ profile?: string;
292
+ /** AWS Role ARN, an alternative to using AWS API keys. */
293
+ role_arn?: string;
294
+ }
295
+ /** AWS SNS: Sends notifications to AWS Simple Notification Service */
296
+ export interface SnsSettings {
297
+ api_url?: string;
298
+ /** Configures AWS's Signature Verification 4 signing process to sign requests. */
299
+ sigv4?: SnsSettingsSigv4;
300
+ /** If you don't specify this value, you must specify a value for the phone_number or target_arn. If you are using a FIFO SNS topic you should set a message group interval longer than 5 minutes to prevent messages with the same group key being deduplicated by the SNS default deduplication window. */
301
+ topic_arn?: string;
302
+ /** Phone number if message is delivered via SMS in E.164 format. If you don't specify this value, you must specify a value for the topic_arn or target_arn. */
303
+ phone_number?: string;
304
+ /** The mobile platform endpoint ARN if message is delivered via mobile notifications. If you don't specify this value, you must specify a value for the topic_arn or phone_number. */
305
+ target_arn?: string;
306
+ /** Optional subject. By default, this field uses the default title template and can be customized with templates and custom messages. It cannot be an empty string. */
307
+ subject?: string;
308
+ /** Optional message. By default, this field uses the default message template and can be customized with templates and custom messages. */
309
+ message?: string;
310
+ /** SNS message attributes. */
311
+ attributes?: Record<string, string>;
312
+ }
313
+ /** Microsoft Teams: Sends notifications using Incoming Webhook connector to Microsoft Teams */
314
+ export interface TeamsSettings {
315
+ url: string;
316
+ /** Templated title of the Teams message. */
317
+ title?: string;
318
+ /** Section title for the Teams message. Leave blank for none. */
319
+ sectiontitle?: string;
320
+ message?: string;
321
+ }
322
+ /** Telegram: Sends notifications to Telegram */
323
+ export interface TelegramSettings {
324
+ /** Secret: write it as $__env{NAME} or $__file{/path}. */
325
+ bottoken: string;
326
+ /** Integer Telegram Chat Identifier. */
327
+ chatid: string;
328
+ /** Integer Telegram Message Thread Identifier. */
329
+ message_thread_id?: string;
330
+ message?: string;
331
+ /** Mode for parsing entities in the message text. Default is 'HTML'. */
332
+ parse_mode?: "None" | "HTML" | "Markdown" | "MarkdownV2";
333
+ /** Disables link previews for links in this message. */
334
+ disable_web_page_preview?: boolean;
335
+ /** Protects the contents of the sent message from forwarding and saving. */
336
+ protect_content?: boolean;
337
+ /** Sends the message silently. Users will receive a notification with no sound. */
338
+ disable_notifications?: boolean;
339
+ }
340
+ /** Threema Gateway: Sends notifications to Threema using Threema Gateway (Basic IDs) */
341
+ export interface ThreemaSettings {
342
+ /** Your 8 character Threema Gateway Basic ID (starting with a *). */
343
+ gateway_id: string;
344
+ /** The 8 character Threema ID that should receive the alerts. */
345
+ recipient_id: string;
346
+ /** Your Threema Gateway API secret. Secret: write it as $__env{NAME} or $__file{/path}. */
347
+ api_secret: string;
348
+ /** Templated title of the message. */
349
+ title?: string;
350
+ /** Templated description of the message. */
351
+ description?: string;
352
+ }
353
+ /** VictorOps: Sends notifications to VictorOps */
354
+ export interface VictoropsSettings {
355
+ /** Secret: write it as $__env{NAME} or $__file{/path}. */
356
+ url: string;
357
+ messageType?: "CRITICAL" | "WARNING";
358
+ /** Templated title to display. */
359
+ title?: string;
360
+ /** Templated description of the message. */
361
+ description?: string;
362
+ }
363
+ /** Cisco Webex Teams: Sends notifications to Cisco Webex Teams */
364
+ export interface WebexSettings {
365
+ /** API endpoint at which we'll send webhooks to. */
366
+ api_url?: string;
367
+ /** The room ID to send messages to. */
368
+ room_id: string;
369
+ /** Non-expiring access token of the bot that will post messages on our behalf. Secret: write it as $__env{NAME} or $__file{/path}. */
370
+ bot_token: string;
371
+ /** Notification template to use. Markdown is supported. */
372
+ message?: string;
373
+ }
374
+ /** Optionally provide a templated payload. Overrides 'Message' and 'Title' field. */
375
+ export interface WebhookSettingsPayload {
376
+ /** Custom payload template. */
377
+ template: string;
378
+ /** Optionally provide a variables to be used in the payload template. They will be available in the template as `.Vars.<variable_name>`. */
379
+ vars?: Record<string, string>;
380
+ }
381
+ /** TLS configuration options */
382
+ export interface WebhookSettingsTlsConfig {
383
+ /** Do not verify the server's certificate chain and host name. */
384
+ insecureSkipVerify?: boolean;
385
+ /** Certificate in PEM format to use when verifying the server's certificate chain. Secret: write it as $__env{NAME} or $__file{/path}. */
386
+ caCertificate?: string;
387
+ /** Client certificate in PEM format to use when connecting to the server. Secret: write it as $__env{NAME} or $__file{/path}. */
388
+ clientCertificate?: string;
389
+ /** Client key in PEM format to use when connecting to the server. Secret: write it as $__env{NAME} or $__file{/path}. */
390
+ clientKey?: string;
391
+ }
392
+ /** HMAC signature configuration options */
393
+ export interface WebhookSettingsHmacConfig {
394
+ /** Secret: write it as $__env{NAME} or $__file{/path}. */
395
+ secret: string;
396
+ /** The header in which the HMAC signature will be included. */
397
+ header?: string;
398
+ /** If set, the timestamp will be included in the HMAC signature. The value should be the name of the header to use. */
399
+ timestampHeader?: string;
400
+ }
401
+ /** Optional TLS configuration options for OAuth2 requests. */
402
+ export interface WebhookSettingsHttpConfigOauth2TlsConfig {
403
+ /** Do not verify the server's certificate chain and host name. */
404
+ insecureSkipVerify?: boolean;
405
+ /** Certificate in PEM format to use when verifying the server's certificate chain. Secret: write it as $__env{NAME} or $__file{/path}. */
406
+ caCertificate?: string;
407
+ /** Client certificate in PEM format to use when connecting to the server. Secret: write it as $__env{NAME} or $__file{/path}. */
408
+ clientCertificate?: string;
409
+ /** Client key in PEM format to use when connecting to the server. Secret: write it as $__env{NAME} or $__file{/path}. */
410
+ clientKey?: string;
411
+ }
412
+ /** Optional proxy configuration. */
413
+ export interface WebhookSettingsHttpConfigOauth2ProxyConfig {
414
+ /** HTTP proxy server to use to connect to the targets. */
415
+ proxy_url?: string;
416
+ /** Use environment HTTP_PROXY, HTTPS_PROXY and NO_PROXY to determine proxies. */
417
+ proxy_from_environment?: boolean;
418
+ /** Comma-separated list of addresses that should not use a proxy. */
419
+ no_proxy?: string;
420
+ /** Optional headers to send to proxies during CONNECT requests. */
421
+ proxy_connect_header?: Record<string, string>;
422
+ }
423
+ /** OAuth2 configuration options */
424
+ export interface WebhookSettingsHttpConfigOauth2 {
425
+ /** URL for the access token endpoint. */
426
+ token_url: string;
427
+ /** Client ID to use when authenticating. */
428
+ client_id: string;
429
+ /** Client secret to use when authenticating. Secret: write it as $__env{NAME} or $__file{/path}. */
430
+ client_secret: string;
431
+ /** Optional scopes to request when obtaining an access token. */
432
+ scopes?: string[];
433
+ /** Optional parameters to append to the access token request. */
434
+ endpoint_params?: Record<string, string>;
435
+ /** Optional TLS configuration options for OAuth2 requests. */
436
+ tls_config?: WebhookSettingsHttpConfigOauth2TlsConfig;
437
+ /** Optional proxy configuration. */
438
+ proxy_config?: WebhookSettingsHttpConfigOauth2ProxyConfig;
439
+ }
440
+ /** Common HTTP client options. */
441
+ export interface WebhookSettingsHttpConfig {
442
+ /** OAuth2 configuration options. */
443
+ oauth2?: WebhookSettingsHttpConfigOauth2;
444
+ }
445
+ /** Webhook: Sends HTTP POST request to a URL */
446
+ export interface WebhookSettings {
447
+ url: string;
448
+ httpMethod?: "POST" | "PUT";
449
+ username?: string;
450
+ /** Secret: write it as $__env{NAME} or $__file{/path}. */
451
+ password?: string;
452
+ /** Optionally provide a scheme for the Authorization Request Header. Default is Bearer. */
453
+ authorization_scheme?: string;
454
+ /** Credentials for the Authorization Request header. Only one of HTTP Basic Authentication or Authorization Request Header can be set. Secret: write it as $__env{NAME} or $__file{/path}. */
455
+ authorization_credentials?: string;
456
+ /** Optionally provide extra headers to be used in the request. */
457
+ headers?: Record<string, string>;
458
+ /** Max alerts to include in a notification. Remaining alerts in the same batch will be ignored above this number. 0 means no limit. */
459
+ maxAlerts?: string;
460
+ /** Templated title of the message. */
461
+ title?: string;
462
+ /** Templated message to be used in the payload's "message" field. */
463
+ message?: string;
464
+ /** Optionally provide a templated payload. Overrides 'Message' and 'Title' field. */
465
+ payload?: WebhookSettingsPayload;
466
+ /** TLS configuration options. */
467
+ tlsConfig?: WebhookSettingsTlsConfig;
468
+ /** HMAC signature configuration options. */
469
+ hmacConfig?: WebhookSettingsHmacConfig;
470
+ /** Common HTTP client options. */
471
+ http_config?: WebhookSettingsHttpConfig;
472
+ }
473
+ /** Sets the `Authorization` header with the configured username and password. */
474
+ export interface WechatSettingsHttpConfigBasicAuth {
475
+ username?: string;
476
+ /** Secret: write it as $__env{NAME} or $__file{/path}. */
477
+ password?: string;
478
+ }
479
+ /** The HTTP authorization credentials for the targets. */
480
+ export interface WechatSettingsHttpConfigAuthorization {
481
+ type?: string;
482
+ /** Secret: write it as $__env{NAME} or $__file{/path}. */
483
+ credentials?: string;
484
+ }
485
+ /** Configures the TLS settings. */
486
+ export interface WechatSettingsHttpConfigTlsConfig {
487
+ /** ServerName extension to indicate the name of the server. */
488
+ server_name?: string;
489
+ /** Disable validation of the server certificate. */
490
+ insecure_skip_verify?: boolean;
491
+ min_version?: string;
492
+ max_version?: string;
493
+ }
494
+ /** Configures the TLS settings. */
495
+ export interface WechatSettingsHttpConfigOauth2TlsConfig {
496
+ /** ServerName extension to indicate the name of the server. */
497
+ server_name?: string;
498
+ /** Disable validation of the server certificate. */
499
+ insecure_skip_verify?: boolean;
500
+ min_version?: string;
501
+ max_version?: string;
502
+ }
503
+ /** Configures the OAuth2 settings. */
504
+ export interface WechatSettingsHttpConfigOauth2 {
505
+ /** The OAuth2 client ID. */
506
+ client_id: string;
507
+ /** The OAuth2 client secret. Secret: write it as $__env{NAME} or $__file{/path}. */
508
+ client_secret: string;
509
+ /** The OAuth2 token exchange URL. */
510
+ token_url: string;
511
+ /** Comma-separated list of scopes. */
512
+ scopes?: string[];
513
+ endpoint_params?: Record<string, string>;
514
+ /** Configures the TLS settings. */
515
+ tls_config?: WechatSettingsHttpConfigOauth2TlsConfig;
516
+ /** HTTP proxy server to use to connect to the targets. */
517
+ proxy_url?: string;
518
+ /** Comma-separated list of domains for which the proxy should not be used. */
519
+ no_proxy?: string;
520
+ /** Makes use of net/http ProxyFromEnvironment function to determine proxies. */
521
+ proxy_from_environment?: boolean;
522
+ /** Headers to send to proxies during CONNECT requests. */
523
+ proxy_connect_header?: Record<string, string>;
524
+ }
525
+ /** Note that `basic_auth` and `bearer_token` options are mutually exclusive. */
526
+ export interface WechatSettingsHttpConfig {
527
+ /** Sets the `Authorization` header with the configured username and password. */
528
+ basic_auth?: WechatSettingsHttpConfigBasicAuth;
529
+ /** The HTTP authorization credentials for the targets. */
530
+ authorization?: WechatSettingsHttpConfigAuthorization;
531
+ /** Whether the client should follow HTTP 3xx redirects. */
532
+ follow_redirects?: boolean;
533
+ /** Whether the client should configure HTTP2. */
534
+ enable_http2?: boolean;
535
+ /** Headers to inject in the requests. */
536
+ http_headers?: Record<string, string>;
537
+ /** HTTP proxy server to use to connect to the targets. */
538
+ proxy_url?: string;
539
+ /** Comma-separated list of domains for which the proxy should not be used. */
540
+ no_proxy?: string;
541
+ /** Makes use of net/http ProxyFromEnvironment function to determine proxies. */
542
+ proxy_from_environment?: boolean;
543
+ /** Headers to send to proxies during CONNECT requests. */
544
+ proxy_connect_header?: Record<string, string>;
545
+ /** Configures the TLS settings. */
546
+ tls_config?: WechatSettingsHttpConfigTlsConfig;
547
+ /** Configures the OAuth2 settings. */
548
+ oauth2?: WechatSettingsHttpConfigOauth2;
549
+ }
550
+ /** WeChat: Sends notifications to WeChat */
551
+ export interface WechatSettings {
552
+ api_url?: string;
553
+ /** The API key to use when talking to the WeChat API. Secret: write it as $__env{NAME} or $__file{/path}. */
554
+ api_secret?: string;
555
+ /** The corp id for authentication. */
556
+ corp_id?: string;
557
+ /** API request data as defined by the WeChat API. */
558
+ message?: string;
559
+ /** Type of the message type. */
560
+ message_type?: "text" | "markdown";
561
+ agent_id?: string;
562
+ to_user?: string;
563
+ to_party?: string;
564
+ to_tag?: string;
565
+ /** Note that `basic_auth` and `bearer_token` options are mutually exclusive. */
566
+ http_config?: WechatSettingsHttpConfig;
567
+ }
568
+ /** WeCom: Send alerts generated by Grafana to WeCom */
569
+ export interface WecomSettings {
570
+ /** Required if using GroupRobot. Secret: write it as $__env{NAME} or $__file{/path}. */
571
+ url?: string;
572
+ /** Required if using APIAPP, see https://work.weixin.qq.com/wework_admin/frame#apps create ApiApp. */
573
+ agent_id?: string;
574
+ /** Required if using APIAPP, see https://work.weixin.qq.com/wework_admin/frame#profile. */
575
+ corp_id?: string;
576
+ /** Required if using APIAPP. Secret: write it as $__env{NAME} or $__file{/path}. */
577
+ secret?: string;
578
+ msgtype?: "text" | "markdown";
579
+ /** Custom WeCom message. You can use template variables. */
580
+ message?: string;
581
+ /** Templated title of the message. */
582
+ title?: string;
583
+ touser?: string;
584
+ }
585
+ /** The settings type of each integration, by the `type` a contact point receiver uses. */
586
+ export interface ContactPointSettingsByType {
587
+ dingding: DingdingSettings;
588
+ discord: DiscordSettings;
589
+ email: EmailSettings;
590
+ googlechat: GooglechatSettings;
591
+ jira: JiraSettings;
592
+ kafka: KafkaSettings;
593
+ line: LineSettings;
594
+ mqtt: MqttSettings;
595
+ oncall: OncallSettings;
596
+ opsgenie: OpsgenieSettings;
597
+ pagerduty: PagerdutySettings;
598
+ "prometheus-alertmanager": PrometheusAlertmanagerSettings;
599
+ pushover: PushoverSettings;
600
+ sensugo: SensugoSettings;
601
+ slack: SlackSettings;
602
+ sns: SnsSettings;
603
+ teams: TeamsSettings;
604
+ telegram: TelegramSettings;
605
+ threema: ThreemaSettings;
606
+ victorops: VictoropsSettings;
607
+ webex: WebexSettings;
608
+ webhook: WebhookSettings;
609
+ wechat: WechatSettings;
610
+ wecom: WecomSettings;
611
+ }
612
+ export type NotifierOptionKind = "string" | "number" | "boolean" | "select" | "map" | "strings" | "object" | "objects";
613
+ export interface NotifierOptionSchema {
614
+ key: string;
615
+ kind: NotifierOptionKind;
616
+ /** Required whenever the integration is used (not only given another option). */
617
+ required?: true;
618
+ /** Grafana stores it encrypted: write it as `$__env{NAME}` or `$__file{/path}`. */
619
+ secure?: true;
620
+ values?: readonly string[];
621
+ /** The keys of an `object` or `objects` option. */
622
+ options?: readonly NotifierOptionSchema[];
623
+ }
624
+ export interface NotifierSchema {
625
+ name: string;
626
+ /** False when Grafana lists the integration but no longer creates it. */
627
+ creatable: boolean;
628
+ deprecated?: true;
629
+ options: readonly NotifierOptionSchema[];
630
+ }
631
+ export declare const CONTACT_POINT_NOTIFIERS: Readonly<Record<keyof ContactPointSettingsByType, NotifierSchema>>;
632
+ //# sourceMappingURL=contact-point-settings.gen.d.ts.map