eslint-plugin-json-schema-validator
Version:
ESLint plugin that validates data using JSON Schema Validator.
1 lines • 1.55 kB
JSON
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/prometheus.rules","title":"Prometheus Rules","type":["object","null"],"properties":{"groups":{"type":["array","null"],"items":{"type":"object","properties":{"name":{"type":"string"},"interval":{"$ref":"#/definitions/duration"},"rules":{"type":["array","null"],"items":{"oneOf":[{"$ref":"#/definitions/recording_rule"},{"$ref":"#/definitions/alerting_rule"}]}}},"required":["name"],"additionalProperties":false}}},"additionalProperties":false,"definitions":{"duration":{"type":["string","null"],"pattern":"^[0-9]+(ms|[smhdwy])$"},"label_name":{"type":"string","pattern":"^[a-zA-Z_][a-zA-Z0-9_]*$"},"label_value":{"type":"string"},"labels":{"type":["object","null"],"patternProperties":{"^[a-zA-Z_][a-zA-Z0-9_]*$":{"$ref":"#/definitions/label_value"}},"additionalProperties":false},"tmpl_string":{"type":"string"},"annotations":{"type":["object","null"],"patternProperties":{"^[a-zA-Z_][a-zA-Z0-9_]*$":{"$ref":"#/definitions/tmpl_string"}},"additionalProperties":false},"recording_rule":{"type":"object","properties":{"record":{"type":"string"},"expr":{"type":"string"},"labels":{"$ref":"#/definitions/labels"}},"required":["record","expr"],"additionalProperties":false},"alerting_rule":{"type":"object","properties":{"alert":{"type":"string"},"expr":{"type":"string"},"for":{"$ref":"#/definitions/duration"},"labels":{"$ref":"#/definitions/labels"},"annotations":{"$ref":"#/definitions/annotations"}},"required":["alert","expr"],"additionalProperties":false}}}