{ "title": "selectors", "type": "object", "required": [ "selectors" ], "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "selectors": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "default": { "oneOf": [ { "type": "string", "pattern": "\\{\\{.*\\}\\}" }, { "type": "boolean" } ], "additionalProperties": false }, "definition": { "oneOf": [ { "$ref": "#/$defs/definition_block" }, { "type": "string" }, { "$ref": "#/$defs/union_block" } ] } }, "additionalProperties": false }, "minItems": 1 } }, "additionalProperties": false, "$defs": { "boolean_or_jinja_string": { "oneOf": [ { "$ref": "#/$defs/jinja_string" }, { "type": "boolean" } ], "additionalProperties": false }, "definition_block": { "type": "object", "properties": { "children": { "$ref": "#/$defs/boolean_or_jinja_string" }, "children_depth": { "type": "number" }, "childrens_parents": { "$ref": "#/$defs/boolean_or_jinja_string" }, "indirect_selection": { "type": "string", "enum": [ "buildable", "cautious", "eager" ] }, "method": { "type": "string", "enum": [ "config", "exposure", "file", "fqn", "group", "metric", "package", "path", "result", "source", "source_status", "state", "tag", "test_name", "test_type", "wildcard" ] }, "parents": { "$ref": "#/$defs/boolean_or_jinja_string" }, "parents_depth": { "type": "number" }, "value": { "type": "string" } }, "additionalProperties": true }, "exclude_block": { "type": "array", "items": { "anyOf": [ { "$ref": "#/$defs/intersection_block" }, { "$ref": "#/$defs/definition_block" } ] } }, "intersection_block": { "type": "array", "items": { "$ref": "#/$defs/definition_block" } }, "jinja_string": { "type": "string", "pattern": "\\{\\{.*\\}\\}" }, "union_block": { "type": "array", "items": { "anyOf": [ { "$ref": "#/$defs/intersection_block" }, { "$ref": "#/$defs/definition_block" }, { "$ref": "#/$defs/exclude_block" } ] } } } }