{ "format": 1, "seat": "node-intrusion-prevention", "scope": "node", "grain": "seat-list", "decision": "novox/hq ADR 0121", "verbs": [ { "name": "status", "description": "Every jail on this machine with how many it is watching and holding now, and the totals since the jail started; one jail's detail when named.", "replaces": [ "fail2ban-client status" ], "input": { "properties": { "jail": { "description": "one jail (optional)", "type": "string" } }, "type": "object" } }, { "name": "banned", "description": "Every address banned on this machine right now, with the jail that holds it and when the ban ends.", "replaces": [ "fail2ban-client banned" ], "input": { "properties": { "jail": { "description": "one jail (optional)", "type": "string" } }, "type": "object" } }, { "name": "ban", "description": "Ban one address in one jail now, for the jail's ban time — an operator's act on the live ban list, which the mesh never writes itself.", "replaces": [ "fail2ban-client set banip" ], "input": { "properties": { "ip": { "description": "the address", "type": "string" }, "jail": { "description": "the jail to hold it", "type": "string" } }, "required": [ "ip", "jail" ], "type": "object" } }, { "name": "unban", "description": "Let one address go, from one jail or from every jail when none is named.", "replaces": [ "fail2ban-client unban", "fail2ban-client set unbanip" ], "input": { "properties": { "ip": { "description": "the address", "type": "string" }, "jail": { "description": "one jail (optional)", "type": "string" } }, "required": [ "ip" ], "type": "object" } } ] }