{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "additionalProperties": false, "required": [ "runes" ], "properties": { "runes": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "rune", "unique_id", "restrictions", "restrictions_as_english" ], "properties": { "rune": { "type": "string", "description": "Base64 encoded rune" }, "unique_id": { "type": "string", "description": "Unique id assigned when the rune was generated; this is always a u64 for commando runes" }, "restrictions": { "type": "array", "description": "The restrictions on what commands this rune can authorize", "items": { "type": "object", "additionalProperties": false, "required": [ "alternatives", "english" ], "properties": { "alternatives": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "fieldname", "value", "condition", "english" ], "properties": { "fieldname": { "type": "string", "description": "The field this restriction applies to; see commando-rune(7)" }, "value": { "type": "string", "description": "The value accepted for this field" }, "condition": { "type": "string", "description": "The way to compare fieldname and value" }, "english": { "type": "string", "description": "English readable description of this alternative" } } } }, "english": { "type": "string", "description": "English readable summary of alternatives above" } } } }, "restrictions_as_english": { "type": "string", "description": "English readable description of the restrictions array above" }, "stored": { "type": "boolean", "enum": [ false ], "description": "This is false if the rune does not appear in our datastore (only possible when `rune` is specified)" }, "blacklisted": { "type": "boolean", "enum": [ true ], "description": "The rune has been blacklisted; see commando-blacklist(7)" }, "last_used": { "type": "number", "description": "The last time this rune was successfully used", "added": "23.11" }, "our_rune": { "type": "boolean", "enum": [ false ], "description": "This is not a rune for this node (only possible when `rune` is specified)" } } } } } }